Writing an Input Module
The samPLE module introduced here is called idiom (Input Device for Intercepting Output of Mice), The samPLE module registers itself with the USB kernel subsystem as a mouse driver and with the input management subsystem as a keyboard driver. idiom translates mouse movement events into keyboard input events: it reports arrow events to the input system according to how the physical mouse is moved.