| /Linux-v5.15/Documentation/input/ | 
| D | gamepad.rst | 44     4 buttons in diamonds-shape (on the right side). The buttons are48     4 buttons (on the left side) that point up, down, left and right.
 50     Different constellations, but most-times 2 buttons: SELECT - START
 52     special system-button. It often looks different to the other buttons and
 60     Not all devices provide them, but the upper buttons are normally named
 61     Left- and Right-Triggers, the lower buttons Z-Left and Z-Right.
 83 the buttons from this protocol. However, they try to do this in a compatible
 84 fashion. For example, the "Nintendo Wii Nunchuk" provides two trigger buttons
 86 analog stick and two trigger buttons on the right side.
 101   Every gamepad device has at least 2 action buttons. This means, that every
 [all …]
 
 | 
| D | gameport-programming.rst | 75 	int my_cooked_read(struct gameport *gameport, int *axes, int *buttons)81 		buttons[0] = my_mmio[4];
 175 Read the buttons and ns558 oneshot bits. If set to NULL, inb(io) will be
 180 	int (*cooked_read)(struct gameport *, int *axes, int *buttons);
 184 and buttons[0] with four bits representing the buttons.
 
 | 
| D | event-codes.rst | 41   - Used to describe state changes of keyboards, buttons, or other key-like373 device but do not have physical buttons associated with the trackstick
 375 visual/haptic areas for left, middle, right buttons intended to be used
 378 If INPUT_PROP_TOPBUTTONPAD is set, userspace should emulate buttons
 405 further buttons of the device. REL_WHEEL and REL_HWHEEL should be used to report
 437 BTN_{STYLUS,STYLUS2} should be used to report buttons on the tool itself. Any
 438 button may be used for buttons on the tablet except BTN_{MOUSE,LEFT}.
 439 BTN_{0,1,2,etc} are good generic codes for unlabeled buttons. Do not use
 440 meaningful buttons, like BTN_FORWARD, unless the button is labeled for that
 
 | 
| /Linux-v5.15/drivers/input/joystick/ | 
| D | maplecontrol.c | 29 	unsigned short buttons;  in dc_pad_callback()  local35 	buttons = ~le16_to_cpup((__le16 *)(res + 8));  in dc_pad_callback()
 38 		(buttons & 0x0010 ? -1 : 0) + (buttons & 0x0020 ? 1 : 0));  in dc_pad_callback()
 40 		(buttons & 0x0040 ? -1 : 0) + (buttons & 0x0080 ? 1 : 0));  in dc_pad_callback()
 42 		(buttons & 0x1000 ? -1 : 0) + (buttons & 0x2000 ? 1 : 0));  in dc_pad_callback()
 44 		(buttons & 0x4000 ? -1 : 0) + (buttons & 0x8000 ? 1 : 0));  in dc_pad_callback()
 46 	input_report_key(dev, BTN_C,      buttons & 0x0001);  in dc_pad_callback()
 47 	input_report_key(dev, BTN_B,      buttons & 0x0002);  in dc_pad_callback()
 48 	input_report_key(dev, BTN_A,      buttons & 0x0004);  in dc_pad_callback()
 49 	input_report_key(dev, BTN_START,  buttons & 0x0008);  in dc_pad_callback()
 [all …]
 
 | 
| D | analog.c | 96 	short *buttons;  member112 	int buttons;  member
 121 static void analog_decode(struct analog *analog, int *axes, int *initial, int buttons)  in analog_decode()  argument
 129 				buttons |= 1 << (i + 14);  in analog_decode()
 135 			input_report_key(dev, analog->buttons[j++], (buttons >> i) & 1);  in analog_decode()
 139 			input_report_key(dev, analog->buttons[j++], (buttons >> (i + 10)) & 1);  in analog_decode()
 157 				((buttons >> ((i << 2) + 7)) & 1) - ((buttons >> ((i << 2) + 9)) & 1));  in analog_decode()
 159 				((buttons >> ((i << 2) + 8)) & 1) - ((buttons >> ((i << 2) + 6)) & 1));  in analog_decode()
 228 		port->buttons = (~u >> 4) & 0xf;  in analog_button_read()
 232 	port->buttons = 0;  in analog_button_read()
 [all …]
 
 | 
| D | twidjoy.c | 14  * The Twiddler is a one-handed chording keyboard featuring twelve buttons on15  * the front, six buttons on the top, and a built-in tilt sensor. The buttons
 16  * on the front, which are grouped as four rows of three buttons, are pressed
 18  * at the same time) and the buttons on the top are for the thumb. The tilt
 26  * controller with amazing 18 buttons :-)
 58 	int buttons[3];  member
 104 			input_report_key(dev, bp->buttons[i], i+1 == value);  in twidjoy_process_packet()
 199 			set_bit(bp->buttons[i], input_dev->keybit);  in twidjoy_connect()
 
 | 
| D | joydump.c | 37 	int axes[4], buttons;  in joydump_connect()  local57 		gameport_cooked_read(gameport, axes, &buttons);  in joydump_connect()
 61 		printk(KERN_INFO "joydump: | Buttons %02x.                             |\n", buttons);  in joydump_connect()
 
 | 
| /Linux-v5.15/drivers/mfd/ | 
| D | ucb1x00-assabet.c | 42 	static struct gpio_keys_button buttons[6];  in ucb1x00_assabet_add()  local45 	memset(buttons, 0, sizeof(buttons));  in ucb1x00_assabet_add()
 48 	for (i = 0; i < ARRAY_SIZE(buttons); i++) {  in ucb1x00_assabet_add()
 49 		buttons[i].code = BTN_0 + i;  in ucb1x00_assabet_add()
 50 		buttons[i].gpio = ucb->gpio.base + i;  in ucb1x00_assabet_add()
 51 		buttons[i].type = EV_KEY;  in ucb1x00_assabet_add()
 52 		buttons[i].can_disable = true;  in ucb1x00_assabet_add()
 55 	keys.buttons = buttons;  in ucb1x00_assabet_add()
 56 	keys.nbuttons = ARRAY_SIZE(buttons);  in ucb1x00_assabet_add()
 
 | 
| /Linux-v5.15/Documentation/input/devices/ | 
| D | xpad.rst | 10 Due to backwards compatibility all buttons are reported as digital.12 have only digital face buttons.
 23 The number of buttons/axes reported varies based on 3 things:
 28   module configuration for "Map D-PAD to buttons rather than axes for unknown
 33 If you said Y it will map the d-pad to buttons, which is needed for dance
 47 axes and 10 buttons.
 54 All of the 10 buttons work (in digital mode). The six buttons on the
 66 When using a known dance pad, jstest will report 6 axes and 14 buttons.
 73 Known dance pads automatically map the d-pad to buttons and will work
 77 of buttons, see section 0.3 - Unknown Controllers
 [all …]
 
 | 
| /Linux-v5.15/drivers/input/mouse/ | 
| D | logibm.c | 64 	unsigned char buttons;  in logibm_interrupt()  local73 	buttons = inb(LOGIBM_DATA_PORT);  in logibm_interrupt()
 74 	dy |= (buttons & 0xf) << 4;  in logibm_interrupt()
 75 	buttons = ~buttons >> 5;  in logibm_interrupt()
 79 	input_report_key(logibm_dev, BTN_RIGHT,  buttons & 1);  in logibm_interrupt()
 80 	input_report_key(logibm_dev, BTN_MIDDLE, buttons & 2);  in logibm_interrupt()
 81 	input_report_key(logibm_dev, BTN_LEFT,   buttons & 4);  in logibm_interrupt()
 
 | 
| D | atarimouse.c | 65 	int buttons, dx, dy;  in atamouse_interrupt()  local67 	buttons = (buf[0] & 1) | ((buf[0] & 2) << 1);  in atamouse_interrupt()
 69 	buttons |= atari_mouse_buttons & 2;  in atamouse_interrupt()
 70 	atari_mouse_buttons = buttons;  in atamouse_interrupt()
 80 	input_report_key(atamouse_dev, BTN_LEFT,   buttons & 0x4);  in atamouse_interrupt()
 81 	input_report_key(atamouse_dev, BTN_MIDDLE, buttons & 0x2);  in atamouse_interrupt()
 82 	input_report_key(atamouse_dev, BTN_RIGHT,  buttons & 0x1);  in atamouse_interrupt()
 
 | 
| D | maplemouse.c | 29 	int buttons, relx, rely, relz;  in dc_mouse_callback()  local35 	buttons = ~res[8];  in dc_mouse_callback()
 40 	input_report_key(dev, BTN_LEFT,   buttons & 4);  in dc_mouse_callback()
 41 	input_report_key(dev, BTN_MIDDLE, buttons & 9);  in dc_mouse_callback()
 42 	input_report_key(dev, BTN_RIGHT,  buttons & 2);  in dc_mouse_callback()
 
 | 
| D | inport.c | 72 	unsigned char buttons;  in inport_interrupt()  local84 	buttons = inb(INPORT_DATA_PORT);  in inport_interrupt()
 86 	input_report_key(inport_dev, BTN_MIDDLE, buttons & 1);  in inport_interrupt()
 87 	input_report_key(inport_dev, BTN_LEFT,   buttons & 2);  in inport_interrupt()
 88 	input_report_key(inport_dev, BTN_RIGHT,  buttons & 4);  in inport_interrupt()
 
 | 
| /Linux-v5.15/drivers/input/keyboard/ | 
| D | cros_ec_keyb.c | 45  * @bs_idev: The input device for non-matrix buttons and switches (or NULL).90 	/* Buttons */
 206  * cros_ec_keyb_report_bs - Report non-matrixed buttons or switches
 208  * This takes a bitmap of buttons or switches from the EC and reports events,
 213  * @mask: A bitmap of buttons from the EC.
 279 					&ckdev->ec->event_data.data.buttons);  in cros_ec_keyb_work()
 387  * kernel.  Note that we don't query for buttons because they are more
 432  * cros_ec_keyb_register_bs - Register non-matrix buttons/switches
 434  * Handles all the bits of the keyboard driver related to non-matrix buttons
 438  * If this device has no support for buttons and switches we'll return no error
 [all …]
 
 | 
| D | gpio_keys_polled.c | 3  *  Driver for buttons on GPIO lines not capable of generating interrupts101 			gpio_keys_button_event(input, &pdata->buttons[i],  in gpio_keys_polled_poll()
 104 			gpio_keys_polled_check_state(input, &pdata->buttons[i],  in gpio_keys_polled_poll()
 161 	pdata->buttons = button;  in gpio_keys_polled_get_devtree_pdata()
 208 		const struct gpio_keys_button *button = &pdata->buttons[i];  in gpio_keys_polled_set_abs_params()
 280 		const struct gpio_keys_button *button = &pdata->buttons[i];  in gpio_keys_polled_probe()
 369 	/* report initial state of the buttons */  in gpio_keys_polled_probe()
 371 		gpio_keys_polled_check_state(input, &pdata->buttons[i],  in gpio_keys_polled_probe()
 390 MODULE_DESCRIPTION("Polled GPIO Buttons driver");
 
 | 
| D | tca6416-keypad.c | 51 	struct tca6416_button buttons[];  member106 			struct tca6416_button *button = &chip->buttons[pin_index];  in tca6416_keys_scan()
 219 	chip = kzalloc(struct_size(chip, buttons, pdata->nbuttons), GFP_KERNEL);  in tca6416_keypad_probe()
 253 		chip->buttons[i] = pdata->buttons[i];  in tca6416_keypad_probe()
 254 		type = (pdata->buttons[i].type) ?: EV_KEY;  in tca6416_keypad_probe()
 255 		input_set_capability(input, type, pdata->buttons[i].code);  in tca6416_keypad_probe()
 
 | 
| D | gpio_keys.c | 41 	unsigned int release_delay;	/* in msecs, for IRQ-only buttons */45 	unsigned int software_debounce;	/* in msecs, for GPIO-driven buttons */
 146  * input events anymore. Note that one can only disable buttons
 151  * disabling buttons at the same time.
 184  * gpio_keys_attr_show_helper() - fill in stringified bitmap of buttons
 188  * @only_disabled: does caller want only those buttons that are
 189  *                 currently disabled or all buttons that can be
 192  * This function writes buttons that can be disabled to @buf. If
 193  * @only_disabled is true, then @buf contains only those buttons
 232  * gpio_keys_attr_store_helper() - enable/disable buttons based on given bitmap
 [all …]
 
 | 
| D | Kconfig | 17 	tristate "ADC Ladder Buttons"20 	  This driver implements support for buttons connected
 23 	  Say Y here if your device has such buttons connected to an ADC.  Your
 25 	  for mapping voltages to buttons.
 231 	tristate "GPIO Buttons"
 234 	  This driver implements support for buttons connected
 237 	  Say Y here if your device has buttons connected
 246 	tristate "Polled GPIO buttons"
 249 	  This driver implements support for buttons connected
 252 	  Say Y here if your device has buttons connected
 [all …]
 
 | 
| /Linux-v5.15/drivers/misc/ibmasm/ | 
| D | remote.c | 125 		unsigned char buttons = input->mouse_buttons;  in print_input()  local128 			(buttons) ? " -- buttons:" : "",  in print_input()
 129 			(buttons & REMOTE_BUTTON_LEFT) ? "left " : "",  in print_input()
 130 			(buttons & REMOTE_BUTTON_MIDDLE) ? "middle " : "",  in print_input()
 131 			(buttons & REMOTE_BUTTON_RIGHT) ? "right" : ""  in print_input()
 146 	unsigned char buttons = input->mouse_buttons;  in send_mouse_event()  local
 150 	input_report_key(dev, BTN_LEFT, buttons & REMOTE_BUTTON_LEFT);  in send_mouse_event()
 151 	input_report_key(dev, BTN_MIDDLE, buttons & REMOTE_BUTTON_MIDDLE);  in send_mouse_event()
 152 	input_report_key(dev, BTN_RIGHT, buttons & REMOTE_BUTTON_RIGHT);  in send_mouse_event()
 
 | 
| /Linux-v5.15/include/linux/ | 
| D | gpio_keys.h | 41  * @buttons:		pointer to array of &gpio_keys_button structures42  *			describing buttons attached to the device
 43  * @nbuttons:		number of elements in @buttons array
 51 	const struct gpio_keys_button *buttons;  member
 
 | 
| /Linux-v5.15/drivers/input/ | 
| D | mousedev.c | 55 	unsigned long buttons;  member90 	unsigned long buttons;  member
 253 		set_bit(index, &mousedev->packet.buttons);  in mousedev_key_event()
 254 		set_bit(index, &mousedev_mix->packet.buttons);  in mousedev_key_event()
 256 		clear_bit(index, &mousedev->packet.buttons);  in mousedev_key_event()
 257 		clear_bit(index, &mousedev_mix->packet.buttons);  in mousedev_key_event()
 276 		if (client->ready && p->buttons != mousedev->packet.buttons) {  in mousedev_notify_readers()
 300 		p->buttons = mousedev->packet.buttons;  in mousedev_notify_readers()
 303 		    p->buttons != client->last_buttons)  in mousedev_notify_readers()
 330 			set_bit(0, &mousedev->packet.buttons);  in mousedev_touchpad_touch()
 [all …]
 
 | 
| /Linux-v5.15/drivers/media/rc/keymaps/ | 
| D | rc-reddo.c | 20  * 2) Reddo remote has less buttons. Missing buttons are: colored buttons,21  *    navigation buttons and main power button.
 
 | 
| /Linux-v5.15/Documentation/ABI/obsolete/ | 
| D | sysfs-driver-hid-roccat-kovaplus | 66 		press of a button. A profile is split in settings and buttons.69 		buttons back to the mouse. The data has to be 23 bytes long.
 81 		press of a button. A profile is split in settings and buttons.
 83 		When read, these files return the respective profile buttons.
 93 		press of a button. A profile is split in settings and buttons.
 109 		press of a button. A profile is split in settings and buttons.
 
 | 
| D | sysfs-driver-hid-roccat-pyra | 55 		press of a button. A profile is split in settings and buttons.58 		buttons back to the mouse. The data has to be 19 bytes long.
 70 		press of a button. A profile is split in settings and buttons.
 72 		When read, these files return the respective profile buttons.
 82 		press of a button. A profile is split in settings and buttons.
 98 		press of a button. A profile is split in settings and buttons.
 
 | 
| /Linux-v5.15/drivers/input/misc/ | 
| D | soc_button_array.c | 37  * Some of the buttons like volume up/down are auto repeat, while others39  * buttons into them based on whether the key should be auto repeat.
 50  * used for the power and home buttons. The intend of this AML code is to
 51  * disable these buttons when the lid is closed.
 180 		/* These devices often use cheap buttons, use 50 ms debounce */  in soc_button_device_create()
 190 	gpio_keys_pdata->buttons = gpio_keys;  in soc_button_device_create()
 250 	 * input reports and some buttons should generate wakeups where as  in soc_button_parse_btn_desc()
 348 	/* There are package.count - 1 buttons + 1 terminating empty entry */  in soc_button_get_button_info()
 446  * Definition of buttons on the tablet. The ACPI index of each button
 475  * devices use MSHW0040 for power and volume buttons, however the way they
 
 |