The Linux Kernel
5.19.0
  • 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
  • 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
    • Linux Input Subsystem kernel API
      • 1. Creating an input device driver
      • 2. Programming gameport drivers
      • 3. Keyboard notifier
    • 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
  • Assembler Annotations
  • CPU Architectures
  • Kernel tools
  • Unsorted Documentation
  • Atomic Types
  • Atomic bitops
  • Memory Barriers
  • Translations
The Linux Kernel
  • »
  • The Linux Input Documentation »
  • Linux Input Subsystem kernel API
  • View page 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
Previous Next

© Copyright The kernel development community.

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