The Linux Kernel
5.16.0-rc1
The Linux kernel user’s and administrator’s guide
Kernel Build System
The Linux kernel firmware guide
Open Firmware and Devicetree
The Linux kernel user-space API guide
Working with the kernel development community
Development tools for the kernel
How to write kernel documentation
Kernel Hacking Guides
Linux Tracing Technologies
Kernel Maintainer Handbook
fault-injection
Kernel Livepatching
The Linux driver implementer’s API guide
Core API Documentation
locking
Accounting
Block
cdrom
Linux CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
Integrated Drive Electronics (IDE)
Frame Buffer
fpga
Human Interface Devices (HID)
I2C/SMBus Subsystem
Industrial I/O
ISDN
InfiniBand
LEDs
NetLabel
Linux Networking Documentation
pcmcia
Power Management
TCM Virtual Device
timers
Serial Peripheral Interface (SPI)
1-Wire Subsystem
Linux Watchdog Support
Linux Virtualization Support
The Linux Input Documentation
Linux Input Subsystem userspace API
1. Introduction
2. Input event codes
3. Multi-touch (MT) Protocol
4. Linux Gamepad Specification
5. Force feedback for Linux
6. Linux Joystick support
7. uinput module
8. The userio Protocol
Linux Input Subsystem kernel API
Driver-specific documentation
Linux Hardware Monitoring
Linux GPU Driver Developer’s Guide
Security Documentation
Linux Sound Subsystem Documentation
Linux Kernel Crypto API
Filesystems in the Linux kernel
Linux Memory Management Documentation
BPF Documentation
USB support
Linux PCI Bus Subsystem
Linux SCSI Subsystem
Assorted Miscellaneous Devices Documentation
Linux Scheduler
MHI
Assembler Annotations
CPU Architectures
Unsorted Documentation
Atomic Types
Atomic bitops
Memory Barriers
General notification mechanism
Translations
The Linux Kernel
»
The Linux Input Documentation
»
Linux Input Subsystem userspace API
View page source
Linux Input Subsystem userspace API
¶
Table of Contents
1. Introduction
1.1. Architecture
1.2. Simple Usage
1.3. Detailed Description
1.4. Verifying if it works
1.5. Event interface
2. Input event codes
2.1. Event types
2.2. Event codes
2.3. Device properties
2.4. Guidelines
3. Multi-touch (MT) Protocol
3.1. Introduction
3.2. Protocol Usage
3.3. Protocol Example A
3.4. Protocol Example B
3.5. Event Usage
3.6. Event Semantics
3.7. Event Computation
3.8. Finger Tracking
3.9. Gestures
3.10. Notes
4. Linux Gamepad Specification
4.1. Introduction
4.2. Geometry
4.3. Detection
4.4. Events
5. Force feedback for Linux
5.1. Introduction
5.2. Instructions to the user
5.3. Instructions to the developer
6. Linux Joystick support
6.1. Introduction
6.2. Usage
6.3. Hardware-specific driver information
6.4. Troubleshooting
6.5. FAQ
6.6. Programming Interface
7. uinput module
7.1. Introduction
7.2. Interface
7.3. libevdev
7.4. Examples
8. The userio Protocol
8.1. Introduction
8.2. Usage overview
8.3. Command Structure
8.4. Commands
8.5. Userspace tools