Note: This series turns from: http://www.ourunix.org/post/290.html
The input Subsystem Learning series is the first Linux driver that I have encountered in the actual development process, so it is necessary to record it. Since the beginning did not touch the input subsystem, some of the data is also used for reference network, this series of articles is My learning experience and set hundreds of the product of the director.
The input subsystem learns a series of articles that mainly include the following:
Input Subsystem Theory Section
Input Subsystem Introduction
Input subsystem structure diagram
Input device-driven tiering in Linux
Input subsystem Device driver layer implementation principle
Software Design Process
Design-related APIs
Assigning an input device
Registering an input device
Drive implementation-Event support
Drive implementation-reporting events
Releasing and Unregistering devices
Example analysis (key-driven)
Analysis of important functions of code implementation
Input_allocate_device ()
Registration function Input_register_device ()
Input_report_key () Reporting events to the subsystem
Handler Registration Analysis
Key Data Structures
Register Input_handler
Register Input_handle
Subsystem
subsystem initialization function Input_init ()
Evdev input event-driven analysis
Initialization of the Evdev
Linux input Subsystem (5)-Learning Framework