Specifications
Contents
Contents i
1 An Introduction to Linux Input 1
1.1 Current State of Input Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Overview of the Diploma Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Drivers and Interfaces 5
2.1 Input Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Keyboard Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 USB Input Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Bluetooth Input Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Event Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Advanced Configuration and Power Interface . . . . . . . . . . . . . . . . . . . 11
Button Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Input Event Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Subsystem Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.7 Other Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Requirements Specification 16
3.1 Required Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Input Event Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
ACPI Event Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Specific Event Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Output Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Unattended Input Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Elimination of Barriers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Unified Data Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Permanent Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Independent Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Performance Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Quality Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Security Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
i