Logo

The Linux Kernel

6.15.0-rc5

Quick search

Contents

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
  • Subsystems
    • Core subsystems
    • Human interfaces
      • Input 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

This Page

  • Show Source

Linux Input Subsystem kernel API¶

Table of Contents

  • 1. Creating an input device driver
    • 1.1. The simplest example
    • 1.2. What the example does
    • 1.3. dev->open() and dev->close()
    • 1.4. Inhibiting input devices
    • 1.5. Basic event types
    • 1.6. BITS_TO_LONGS(), BIT_WORD(), BIT_MASK()
    • 1.7. The id* and name fields
    • 1.8. The keycode, keycodemax, keycodesize fields
    • 1.9. dev->getkeycode() and dev->setkeycode()
    • 1.10. Key autorepeat
    • 1.11. Other event types, handling output events
    • 1.12. Polled input devices
  • 2. Programming gameport drivers
    • 2.1. A basic classic gameport
    • 2.2. Memory mapped gameport
    • 2.3. Cooked mode gameport
    • 2.4. More complex gameports
    • 2.5. Unregistering a gameport
    • 2.6. The gameport structure
  • 3. Keyboard notifier
©The kernel development community. | Powered by Sphinx 5.3.0 & Alabaster 0.7.16 | Page source