The Linux USB Input Subsystem, Part I
In the previous section, we saw that the device drivers basically sat between the hardware and the input core, translating hardware events, usually interrupts, into input events. To make use of those input events, we use handlers, which provide a user-space interface.
The input subsystem includes most of the handlers you'll likely need: a keyboard handler to provide a console, a mouse handler for applications like the X Window System, a joystick handler for games and also a touchscreen handler. There is also a general-purpose handler called the event handler, which basically provides input events to user space. This means you almost never need to write a handler in the kernel, because you can do the same thing with the event handler and equivalent code in user space. This API discussion is covered in the second part of this article.
I'd like to thank Greg Kroah-Hartman and Vojtech Pavlik for their assistance with this article.
Brad Hards is the technical director for Sigma Bravo, a small professional services company in Canberra. In addition to Linux, his technical focus includes aircraft system integration and certification, GPS and electronic warfare. Comments on this article can be sent to firstname.lastname@example.org.
- Readers' Choice Awards 2013
- Linux Kernel News - November 2013
- December 2013 Issue of Linux Journal: Readers' Choice
- Mars Needs Women
- RSS Feeds
- Raspberry Pi: the Perfect Home Server
- Sublime Text: One Editor to Rule Them All?
- Advanced Hard Drive Caching Techniques
- Web Administration Scripts
- IBM Will Minimize Impact of Future Disasters
- thanks for share, great
8 hours 14 min ago
- There are factors which are
13 hours 13 min ago
- Gnome 3 ?
13 hours 58 min ago
- Reply to comment | Linux Journal
18 hours 6 min ago
- "Redis RethinkDB 4.5%" on Best NoSQL Databases
1 day 4 hours ago
- on the ground
1 day 10 hours ago
- I was able to read the whole
1 day 12 hours ago
- since i have read the title i
1 day 15 hours ago
- Belanja Online Cari Voucher Diskon
1 day 15 hours ago
- The kernel doesn't really
2 days 3 hours ago