| /linux/drivers/input/serio/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only11 	  		* standard AT keyboard and PS/2 mouse *
 25 	  communicate with keyboard, mouse, etc.
 30 	tristate "i8042 PC Keyboard controller"
 34 	  i8042 is the chip over which the standard AT keyboard and PS/2
 59 	tristate "ct82c710 Aux port controller"
 72 	tristate "Q40 keyboard controller"
 76 	tristate "Parallel port keyboard adapter"
 80 	  an additional AT keyboard, XT keyboard or PS/2 mouse.
 90 	tristate "Acorn RiscPC keyboard controller"
 [all …]
 
 | 
| H A D | rpckbd.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later3  *  Copyright (c) 2000-2001 Vojtech Pavlik
 8  * Acorn RiscPC PS/2 keyboard controller driver for Linux/ARM
 23 MODULE_DESCRIPTION("Acorn RiscPC PS/2 keyboard controller driver");
 64 	struct rpckbd_data *rpckbd = port->port_data;  in rpckbd_open()
 66 	/* Reset the keyboard state machine. */  in rpckbd_open()
 71 	if (request_irq(rpckbd->rx_irq, rpckbd_rx, 0, "rpckbd", port) != 0) {  in rpckbd_open()
 72 		printk(KERN_ERR "rpckbd.c: Could not allocate keyboard receive IRQ\n");  in rpckbd_open()
 73 		return -EBUSY;  in rpckbd_open()
 76 	if (request_irq(rpckbd->tx_irq, rpckbd_tx, 0, "rpckbd", port) != 0) {  in rpckbd_open()
 [all …]
 
 | 
| H A D | q40kbd.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later3  *  Copyright (c) 2000-2001 Vojtech Pavlik
 6  *	Richard Zidlicky <Richard.Zidlicky@stud.informatik.uni-erlangen.de>
 10  * Q40 PS/2 keyboard controller driver for Linux/m68k
 30 MODULE_DESCRIPTION("Q40 PS/2 keyboard controller driver");
 43 	guard(spinlock_irqsave)(&q40kbd->lock);  in q40kbd_interrupt()
 46 		serio_interrupt(q40kbd->port, master_inb(KEYCODE_REG), 0);  in q40kbd_interrupt()
 48 	master_outb(-1, KEYBOARD_UNLOCK_REG);  in q40kbd_interrupt()
 54  * q40kbd_flush() flushes all data that may be in the keyboard buffers
 61 	guard(spinlock_irqsave)(&q40kbd->lock);  in q40kbd_flush()
 [all …]
 
 | 
| /linux/drivers/hid/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only22 	  most commonly used to refer to the USB-HID specification, but other
 27 	  removed from the HID bus by the transport-layer drivers, such as
 58 	to work on raw hid events when they want to, and avoid using transport-specific
 64 	tristate "User-space I/O driver support for HID subsystem"
 67 	Say Y here if you want to provide HID I/O Drivers from user-space.
 68 	This allows to write I/O drivers in user-space and feed the data from
 71 	user-space device.
 73 	This driver cannot be used to parse HID-reports in user-space and write
 74 	special HID-drivers. You should use hidraw for that.
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/input/ | 
| H A D | pine64,pinephone-keyboard.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/input/pine64,pinephone-keyboard.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Pine64 PinePhone keyboard
 10   - Samuel Holland <samuel@sholland.org>
 13   A keyboard accessory is available for the Pine64 PinePhone and PinePhone Pro.
 19     const: pine64,pinephone-keyboard
 27   vbat-supply:
 28     description: Supply for the keyboard MCU
 [all …]
 
 | 
| H A D | nvidia,tegra20-kbc.txt | 1 * Tegra keyboard controller2 The key controller has maximum 24 pins to make matrix keypad. Any pin
 7 - compatible: "nvidia,tegra20-kbc"
 8 - reg: Register base address of KBC.
 9 - interrupts: Interrupt number for the KBC.
 10 - nvidia,kbc-row-pins: The KBC pins which are configured as row. This is an
 12 - nvidia,kbc-col-pins: The KBC pins which are configured as column. This is an
 14 - linux,keymap: The keymap for keys as described in the binding document
 15   devicetree/bindings/input/matrix-keymap.txt.
 16 - clocks: Must contain one entry, for the module clock.
 [all …]
 
 | 
| H A D | google,cros-ec-keyb.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)3 ---
 5 $id: http://devicetree.org/schemas/input/google,cros-ec-keyb.yaml#
 6 $schema: http://devicetree.org/meta-schemas/core.yaml#
 8 title: ChromeOS EC Keyboard
 11   - Simon Glass <sjg@chromium.org>
 12   - Benson Leung <bleung@chromium.org>
 15   Google's ChromeOS EC Keyboard is a simple matrix keyboard
 16   implemented on a separate EC (Embedded Controller) device. It provides
 24       - description: ChromeOS EC with only buttons/switches
 [all …]
 
 | 
| H A D | spear-keyboard.txt | 1 * SPEAr keyboard controller4 - compatible: "st,spear300-kbd"
 7 matrix-keyboard bindings:
 8 - autorepeat: bool: enables key autorepeat
 9 - st,mode: keyboard mode: 0 - 9x9, 1 - 6x6, 2 - 2x2
 14 	compatible = "st,spear300-kbd";
 
 | 
| /linux/Documentation/input/devices/ | 
| H A D | atarikbd.rst | 2 Intelligent Keyboard (ikbd) Protocol9 The Atari Corp. Intelligent Keyboard (ikbd) is a general purpose keyboard
 10 controller that is flexible enough that it can be used in a variety of
 11 products without modification. The keyboard, with its microcontroller,
 12 provides a convenient connection point for a mouse and switch-type joysticks.
 13 The ikbd processor also maintains a time-of-day clock with one second
 18 The ikbd communicates with the main processor over a high speed bi-directional
 20 different applications of the keyboard,  joysticks, or mouse. Limited use of
 21 the controller is possible in applications in which only a unidirectional
 24 Keyboard  chapter
 [all …]
 
 | 
| /linux/drivers/hid/surface-hid/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0+14 	  by the Surface Aggregator Module (i.e. the embedded controller) on
 15 	  7th-generation Microsoft Surface devices, i.e. Surface Book 3 and
 17 	  integrated touchpad and keyboard.
 20 	  integrated touchpad and keyboard, on 7th generation Microsoft Surface
 24 	tristate "HID keyboard transport driver for Surface System Aggregator Module"
 30 	  by the Surface Aggregator Module (i.e. the embedded controller) on
 32 	  integrated keyboard on those devices.
 34 	  Say M or Y here, if you want support for the integrated keyboard on
 
 | 
| /linux/Documentation/driver-api/media/ | 
| H A D | rc-core.rst | 1 .. SPDX-License-Identifier: GPL-2.03 Remote Controller devices
 4 -------------------------
 6 Remote Controller core
 9 The remote controller core implements infrastructure to receive and send
 10 remote controller keyboard keystrokes and mouse events.
 12 Every time a key is pressed on a remote controller, a scan code is produced.
 15 a normal keyboard or mouse is handled internally on Linux\ [#f1]_. So, the
 16 remote controller core is implemented on the top of the linux input/evdev
 21    The main difference is that, on keyboard events, the keyboard controller
 [all …]
 
 | 
| /linux/drivers/staging/nvec/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.03 	tristate "NV Tegra Embedded Controller SMBus Interface"
 8 	    controller.
 11 	    called mfd-nvec
 14 	tristate "Keyboard on nVidia compliant EC"
 17 	  Say Y here to enable support for a keyboard connected to
 18 	  a nVidia compliant embedded controller.
 21 	  called keyboard-nvec
 28 	  to a nVidia compliant embedded controller.
 31 	  called serio-nvec-ps2
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/pinctrl/ | 
| H A D | awinic,aw9523-pinctrl.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/pinctrl/awinic,aw9523-pinctrl.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 10   - AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
 13   The Awinic AW9523/AW9523B I2C GPIO Expander featuring 16 multi-function
 18     const: awinic,aw9523-pinctrl
 23   '#gpio-cells':
 26       include/dt-bindings/gpio/gpio.h
 29   gpio-controller: true
 [all …]
 
 | 
| /linux/arch/arm/boot/dts/ | 
| H A D | cros-ec-keyboard.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only3  * Keyboard dts fragment for devices that use cros-ec-keyboard
 8 #include <dt-bindings/input/input.h>
 9 #include <dt-bindings/input/cros-ec-keyboard.h>
 12 	keyboard_controller: keyboard-controller {
 13 		compatible = "google,cros-ec-keyb";
 14 		keypad,num-rows = <8>;
 15 		keypad,num-columns = <13>;
 16 		google,needs-ghost-filter;
 
 | 
| /linux/drivers/platform/chrome/wilco_ec/ | 
| H A D | keyboard_leds.c | 1 // SPDX-License-Identifier: GPL-2.03  * Keyboard backlight LED driver for the Wilco Embedded Controller
 14 #include <linux/platform_data/wilco-ec.h>
 23 	struct led_classdev keyboard;  member
 33  * struct wilco_keyboard_leds_msg - Message to/from EC for keyboard LED control.
 40  * @percent: Brightness in 0-100. Only meaningful in PWM mode.
 71 		dev_err(ec->dev,  in send_kbbl_msg()
 72 			"Failed sending keyboard LEDs command: %d\n", ret);  in send_kbbl_msg()
 96 		dev_err(ec->dev,  in set_kbbl()
 97 			"EC reported failure sending keyboard LEDs command: %d\n",  in set_kbbl()
 [all …]
 
 | 
| /linux/Documentation/leds/ | 
| H A D | well-known-leds.txt | 1 -*- org -*-17 Notice there's a list of functions in include/dt-bindings/leds/common.h .
 24 player. For example, a game controller with 4 LEDs, may be programmed with "x---"
 25 to indicate player 1, "-x--" to indicate player 2 etcetera where "x" means on.
 27 of a game controller using the function "player".
 31 Good: "input*:*:player-{1,2,3,4,5}
 38 Legacy: "shift-key-light" (Motorola Droid 4, capslock)
 40 Set of common keyboard LEDs, going back to PC AT or so.
 45 Frontlight/backlight of main keyboard.
 47 Legacy: "button-backlight" (Motorola Droid 4)
 [all …]
 
 | 
| /linux/drivers/input/keyboard/ | 
| H A D | opencores-kbd.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later3  * OpenCores Keyboard Controller Driver
 6  * Copyright 2007-2009 HV Sistemas S.L.
 28 	struct input_dev *input = opencores_kbd->input;  in opencores_kbd_isr()
 31 	c = readb(opencores_kbd->addr);  in opencores_kbd_isr()
 46 		return -EINVAL;  in opencores_kbd_probe()
 48 	opencores_kbd = devm_kzalloc(&pdev->dev, sizeof(*opencores_kbd),  in opencores_kbd_probe()
 51 		return -ENOMEM;  in opencores_kbd_probe()
 53 	input = devm_input_allocate_device(&pdev->dev);  in opencores_kbd_probe()
 55 		dev_err(&pdev->dev, "failed to allocate input device\n");  in opencores_kbd_probe()
 [all …]
 
 | 
| H A D | amikbd.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later3  *  Copyright (c) 2000-2001 Vojtech Pavlik
 10  * Amiga keyboard driver for Linux/m68k
 18 #include <linux/keyboard.h>
 26 MODULE_DESCRIPTION("Amiga keyboard driver");
 156 	[0] = KERN_ALERT "amikbd: Ctrl-Amiga-Amiga reset warning!!\n",
 157 	[1] = KERN_WARNING "amikbd: keyboard lost sync\n",
 158 	[2] = KERN_WARNING "amikbd: keyboard buffer overflow\n",
 159 	[3] = KERN_WARNING "amikbd: keyboard controller failure\n",
 160 	[4] = KERN_ERR "amikbd: keyboard selftest failure\n",
 [all …]
 
 | 
| H A D | tegra-kbc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later3  * Keyboard class input driver for the NVIDIA Tegra SoC internal matrix
 4  * keyboard controller
 6  * Copyright (c) 2009-2011, NVIDIA Corporation.
 156 			val = readl(kbc->mmio + KBC_KP_ENT0_0 + i);  in tegra_kbc_report_keys()
 165 			keycodes[num_down] = kbc->keycode[scancode];  in tegra_kbc_report_keys()
 167 			if ((keycodes[num_down] == KEY_FN) && kbc->use_fn_map)  in tegra_kbc_report_keys()
 177 	 * Matrix keyboard designs are prone to keyboard ghosting.  in tegra_kbc_report_keys()
 178 	 * Ghosting occurs if there are 3 keys such that -  in tegra_kbc_report_keys()
 182 	if (kbc->use_ghost_filter && num_down >= 3) {  in tegra_kbc_report_keys()
 [all …]
 
 | 
| /linux/drivers/platform/surface/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only3 # Microsoft Surface Platform-Specific Drivers
 7 	bool "Microsoft Surface Platform-Specific Device Drivers"
 11 	  Say Y here to get to see options for platform-specific device drivers
 29 	  be called surface3-wmi.
 47 	  on 5th- and 6th-generation Microsoft Surface devices (including
 52 	  translation layer between the SSAM controller and ACPI.
 55 	  thermal sensor access, and real-time clock information, depending on
 59 	tristate "Surface System Aggregator Module User-Space Interface"
 62 	  Provides a misc-device interface to the Surface System Aggregator
 [all …]
 
 | 
| /linux/arch/mips/cobalt/ | 
| H A D | setup.c | 8  * Copyright (C) 1996, 1997, 2004, 05 by Ralf Baechle (ralf@linux-mips.org)42  * Cobalt doesn't have PS/2 keyboard/mouse interfaces,
 43  * keyboard controller is never used.
 44  * Also PCI-ISA bridge DMA controller is never used.
 53 	{	/* keyboard */
 94  * Better boot loaders (CoLo) pass a command line too :-)
 109 		if (i < (argc - 1))  in prom_init()
 
 | 
| /linux/arch/mips/sni/ | 
| H A D | reset.c | 1 // SPDX-License-Identifier: GPL-2.014  * This routine reboots the machine by asking the keyboard
 15  * controller to pulse the reset-line low. We try that for a while,
 32 	/* This does a normal via the keyboard controller like a PC.  in sni_machine_restart()
 
 | 
| /linux/Documentation/userspace-api/media/rc/ | 
| H A D | rc-tables.rst | 1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later6 Remote controller tables
 19 The modules register the remote as keyboard within the linux input
 20 layer. This means that the IR key strokes will look like normal keyboard
 30 .. flat-table:: IR default keymapping
 31     :header-rows:  0
 32     :stub-columns: 0
 36     -  .. row 1
 38        -  Key code
 40        -  Meaning
 [all …]
 
 | 
| /linux/drivers/gpio/ | 
| H A D | gpiolib-acpi-quirks.c | 1 // SPDX-License-Identifier: GPL-2.017 #include "gpiolib-acpi.h"
 19 static int run_edge_events_on_boot = -1;
 22 		 "Run edge _AEI event-handlers at boot: 0=no, 1=yes, -1=auto");
 27 		 "controller@pin combos on which to ignore the ACPI wake flag "
 28 		 "ignore_wake=controller@pin[,controller@pin[,...]]");
 33 		 "controller@pin combos on which to ignore interrupt "
 34 		 "ignore_interrupt=controller@pin[,controller@pin[,...]]");
 76 	const char *ignore_list, *controller, *pin_str;  in acpi_gpio_in_ignore_list()  local
 92 	controller = ignore_list;  in acpi_gpio_in_ignore_list()
 [all …]
 
 | 
| /linux/arch/mips/jazz/ | 
| H A D | reset.c | 1 // SPDX-License-Identifier: GPL-2.06  * stabbing at the keyboard controller ...
 11 #define KBD_STAT_IBF		0x02	/* Keyboard input buffer full */
 18 		status = jazz_kh->command;  in jazz_write_output()
 20 	jazz_kh->data = val;  in jazz_write_output()
 28 		status = jazz_kh->command;  in jazz_write_command()
 30 	jazz_kh->command = val;  in jazz_write_command()
 35 	return jazz_kh->command;  in jazz_read_status()
 
 |