The Linux Kernel
Development process
Submitting patches
Code of conduct
Maintainer handbook
All development-process docs
Core API
Driver APIs
Subsystems
Core subsystems
Human interfaces
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
Human Interface Devices (HID)
Sound Subsystem Documentation
GPU Driver Developer’s Guide
Frame Buffer
LEDs
Networking interfaces
Storage interfaces
Other subsystems
Locking
Licensing rules
Writing documentation
Development tools
Testing guide
Hacking guide
Tracing
Fault injection
Livepatching
Rust
Administration
Build system
Reporting issues
Userspace tools
Userspace API
Firmware
Firmware and Devicetree
CPU architectures
Unsorted documentation
Translations
The Linux Kernel
Kernel subsystem documentation
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