The Linux Kernel

6.5.0

Quick search

Contents

  • 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
  • Driver implementer's API guide
  • Kernel subsystem documentation
    • Human interfaces
      • Input Documentation
      • Human Interface Devices (HID)
      • Sound Subsystem Documentation
      • GPU Driver Developer's Guide
      • Frame Buffer
    • Storage interfaces
  • 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

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
  • 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.0.1 & Alabaster 0.7.12 | Page source