The Linux Kernel
6.1.0
  • A guide to the Kernel Development Process
  • Submitting patches: the essential guide to getting your code into the kernel
  • Code of conduct
  • Kernel Maintainer Handbook
  • All development-process docs
  • Core API Documentation
  • The Linux driver implementer’s API guide
  • Kernel subsystem documentation
    • 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
    • Frame Buffer
    • fpga
    • Human Interface Devices (HID)
    • I2C/SMBus Subsystem
    • Industrial I/O
    • ISDN
    • InfiniBand
    • LEDs
    • NetLabel
    • Networking
    • 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
    • Linux PECI Subsystem
  • Locking in the kernel
  • Linux kernel licensing rules
  • How to write kernel documentation
  • Development tools for the kernel
  • Kernel Testing Guide
  • Kernel Hacking Guides
  • Linux Tracing Technologies
  • fault-injection
  • Kernel Livepatching
  • Rust
  • The Linux kernel user’s and administrator’s guide
  • The kernel build system
  • Reporting issues
  • User-space tools
  • The Linux kernel user-space API guide
  • The Linux kernel firmware guide
  • Open Firmware and Devicetree
  • CPU Architectures
  • Unsorted Documentation
  • Translations
The Linux Kernel
  • »
  • Kernel subsystem documentation »
  • 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
Previous Next

© Copyright The kernel development community.

Built with Sphinx using a theme provided by Read the Docs.