HIAndroid is a project that combines an application and a custom kernel to convert Android devices into USB HID devices. With our implementation, you plug your device into a computer and it functions as a keyboard. HIAndroid is unique from solutions offered on the Play Store because it does not require third party drivers to be installed on the other machine. Instead, it uses a generic HID descriptor to appear as a USB keyboard for immediate support in Windows, Mac, and Linux operating systems.
I co-developed HIAndroid with Charlie Waters for a class project at St. Lawrence University. Our implementation targets Google's Nexus 7 devices, but with a patched kernel the application will work on any Android system. The application contains a software keyboard for live input. Macros can be created with an editor or recorded from live input, and played back later with various timing options.