Lines Matching +full:0 +full:x10700
38 module_param_array_named(map, js, charp, &js_nargs, 0);
45 #define ANALOG_RUDDER 0x00004
46 #define ANALOG_THROTTLE 0x00008
47 #define ANALOG_AXES_STD 0x0000f
48 #define ANALOG_BTNS_STD 0x000f0
50 #define ANALOG_BTNS_CHF 0x00100
51 #define ANALOG_HAT1_CHF 0x00200
52 #define ANALOG_HAT2_CHF 0x00400
53 #define ANALOG_HAT_FCS 0x00800
54 #define ANALOG_HATS_ALL 0x00e00
55 #define ANALOG_BTN_TL 0x01000
56 #define ANALOG_BTN_TR 0x02000
57 #define ANALOG_BTN_TL2 0x04000
58 #define ANALOG_BTN_TR2 0x08000
59 #define ANALOG_BTNS_TLR 0x03000
60 #define ANALOG_BTNS_TLR2 0x0c000
61 #define ANALOG_BTNS_GAMEPAD 0x0f000
63 #define ANALOG_HBTN_CHF 0x10000
64 #define ANALOG_ANY_CHF 0x10700
65 #define ANALOG_SAITEK 0x20000
66 #define ANALOG_EXTENSIONS 0x7ff00
67 #define ANALOG_GAMEPAD 0x80000
89 static unsigned char analog_chf[] = { 0xf, 0x0, 0x1, 0x9, 0x2, 0x4, 0xc, 0x8, 0x3, 0x5, 0xb, 0x7, 0…
125 for (i = 0; i < 4; i++) in analog_decode()
131 for (i = j = 0; i < 6; i++) in analog_decode()
132 if (analog->mask & (0x10 << i)) in analog_decode()
136 for (i = 0; i < 4; i++) in analog_decode()
140 input_report_key(dev, analog_pads[0], axes[2] < (initial[2] >> 1)); in analog_decode()
148 for (i = j = 0; i < 4; i++) in analog_decode()
152 for (i = j = 0; i < 3; i++) in analog_decode()
186 i = 0; in analog_cooked_read()
207 for (--i; i >= 0; i--) { in analog_cooked_read()
209 for (j = 0; j < 4; j++) in analog_cooked_read()
220 int t = 1, i = 0; in analog_button_read()
226 port->buttons = (~u >> 4) & 0xf; in analog_button_read()
227 return 0; in analog_button_read()
230 port->buttons = 0; in analog_button_read()
232 while ((~u & 0xf0) && (i < 16) && t) { in analog_button_read()
233 port->buttons |= 1 << analog_chf[(~u >> 4) & 0xf]; in analog_button_read()
234 if (!saitek) return 0; in analog_button_read()
254 char saitek = !!(port->analog[0].mask & ANALOG_SAITEK); in analog_poll()
255 char chf = !!(port->analog[0].mask & ANALOG_ANY_CHF); in analog_poll()
260 port->buttons = port->buttons ? (1 << analog_chf[port->buttons]) : 0; in analog_poll()
274 for (i = 0; i < 2; i++) in analog_poll()
288 return 0; in analog_open()
314 tx = ~0; in analog_calibrate_timer()
316 for (i = 0; i < 50; i++) { in analog_calibrate_timer()
319 for (t = 0; t < 50; t++) { in analog_calibrate_timer()
383 input_dev->id.version = 0x0100; in analog_init_device()
391 input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); in analog_init_device()
393 for (i = j = 0; i < 4; i++) in analog_init_device()
398 y = (port->axes[0] + port->axes[1]) >> 1; in analog_init_device()
400 z = z > 0 ? z : -z; in analog_init_device()
417 for (i = j = 0; i < 3; i++) in analog_init_device()
419 for (x = 0; x < 2; x++) { in analog_init_device()
421 input_set_abs_params(input_dev, t, -1, 1, 0, 0); in analog_init_device()
424 for (i = j = 0; i < 4; i++) in analog_init_device()
425 if (analog->mask & (0x10 << i)) in analog_init_device()
429 for (i = 0; i < 2; i++) in analog_init_device()
433 for (i = 0; i < 4; i++) in analog_init_device()
436 for (i = 0; i < 4; i++) in analog_init_device()
448 return 0; in analog_init_device()
464 if ((port->mask & 3) != 3 && port->mask != 0xc) { in analog_init_masks()
472 i = analog_options[0]; /* FIXME !!! - need to specify options for different ports */ in analog_init_masks()
474 analog[0].mask = i & 0xfffff; in analog_init_masks()
476 analog[0].mask &= ~(ANALOG_AXES_STD | ANALOG_HAT_FCS | ANALOG_BTNS_GAMEPAD) in analog_init_masks()
480 analog[0].mask &= ~(ANALOG_HAT2_CHF) in analog_init_masks()
481 | ((analog[0].mask & ANALOG_HBTN_CHF) ? 0 : ANALOG_HAT2_CHF); in analog_init_masks()
483 analog[0].mask &= ~(ANALOG_THROTTLE | ANALOG_BTN_TR | ANALOG_BTN_TR2) in analog_init_masks()
484 | ((~analog[0].mask & ANALOG_HAT_FCS) >> 8) in analog_init_masks()
485 | ((~analog[0].mask & ANALOG_HAT_FCS) << 2) in analog_init_masks()
486 | ((~analog[0].mask & ANALOG_HAT_FCS) << 4); in analog_init_masks()
488 analog[0].mask &= ~(ANALOG_THROTTLE | ANALOG_RUDDER) in analog_init_masks()
489 | (((~analog[0].mask & ANALOG_BTNS_TLR ) >> 10) in analog_init_masks()
490 & ((~analog[0].mask & ANALOG_BTNS_TLR2) >> 12)); in analog_init_masks()
492 analog[1].mask = ((i >> 20) & 0xff) | ((i >> 12) & 0xf0000); in analog_init_masks()
494 analog[1].mask &= (analog[0].mask & ANALOG_EXTENSIONS) ? ANALOG_GAMEPAD in analog_init_masks()
495 : (((ANALOG_BTNS_STD | port->mask) & ~analog[0].mask) | ANALOG_GAMEPAD); in analog_init_masks()
499 for (i = 0; i < 4; i++) max[i] = port->axes[i] << 1; in analog_init_masks()
501 if ((analog[0].mask & 0x7) == 0x7) max[2] = (max[0] + max[1]) >> 1; in analog_init_masks()
502 if ((analog[0].mask & 0xb) == 0xb) max[3] = (max[0] + max[1]) >> 1; in analog_init_masks()
503 if ((analog[0].mask & ANALOG_BTN_TL) && !(analog[0].mask & ANALOG_BTN_TL2)) max[2] >>= 1; in analog_init_masks()
504 if ((analog[0].mask & ANALOG_BTN_TR) && !(analog[0].mask & ANALOG_BTN_TR2)) max[3] >>= 1; in analog_init_masks()
505 if ((analog[0].mask & ANALOG_HAT_FCS)) max[3] >>= 1; in analog_init_masks()
510 for (i = 0; i < 4; i++) in analog_init_masks()
513 return -!(analog[0].mask || analog[1].mask); in analog_init_masks()
531 port->mask = (gameport_read(gameport) ^ t) & t & 0xf; in analog_init_port()
534 for (i = 0; i < ANALOG_INIT_RETRIES; i++) { in analog_init_port()
540 u = v = 0; in analog_init_port()
554 analog_options[0] |= /* FIXME - more than one port */ in analog_init_port()
556 return 0; in analog_init_port()
564 for (i = 0; i < ANALOG_INIT_RETRIES; i++) in analog_init_port()
567 for (i = 0; i < 4; i++) in analog_init_port()
573 return 0; in analog_init_port()
600 for (i = 0; i < 2; i++) in analog_connect()
607 return 0; in analog_connect()
609 fail3: while (--i >= 0) in analog_connect()
623 for (i = 0; i < 2; i++) in analog_disconnect()
629 port->bads, port->reads, port->reads ? (port->bads * 100 / port->reads) : 0, in analog_disconnect()
640 { "none", 0x00000000 },
641 { "auto", 0x000000ff },
642 { "2btn", 0x0000003f },
643 { "y-joy", 0x0cc00033 },
644 { "y-pad", 0x8cc80033 },
645 { "fcs", 0x000008f7 },
646 { "chf", 0x000002ff },
647 { "fullchf", 0x000007ff },
648 { "gamepad", 0x000830f3 },
649 { "gamepad8", 0x0008f0f3 },
650 { NULL, 0 }
658 for (i = 0; i < js_nargs; i++) { in analog_parse_options()
660 for (j = 0; analog_types[j].name; j++) in analog_parse_options()
667 analog_options[i] = simple_strtoul(js[i], &end, 0); in analog_parse_options()
670 analog_options[i] = 0xff; in analog_parse_options()
677 analog_options[i] = 0xff; in analog_parse_options()