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.