View Single Post
Old 04-01-2007, 12:18 AM   #2
hudson
Stunt Programmer
hudson has a complete set of Star Wars action figures.hudson has a complete set of Star Wars action figures.hudson has a complete set of Star Wars action figures.hudson has a complete set of Star Wars action figures.hudson has a complete set of Star Wars action figures.
 
hudson's Avatar
 
Posts: 31
Karma: 449
Join Date: Mar 2007
Location: Washington, DC
Device: iRex iLiad, Sony PRS500, Treo 650
Lightbulb USB keyboard application

Following up on my own query, I realized that cat was line buffering the output from the event device file, so I instead I wrote an event decoder that generates synthetic X events via the Xtest extension (attached). You should be able to drop this into /mnt/free/documents or wherever and have an icon to launch the USB keyboard interface. Plug in the keyboard before running so that /dev/input/event0 is already allocated. It may be possible to rebuild the kdrive tinyX server to use the evdev interface (or it may already be enabled). Either of those would allow the use of a USB keyboard without any problems.

The keyboard appears to be correct when I use the usbkbd.c modules, but the mouse is as if the data[] array in the usb_mouse.c usb_mouse_irq() function is shifted by one array position. That doesn't explain the crash with the full HID driver, but I'm less inclined to hunt it down now that I have it working.

In the tarfile is the full source, as well as a pre-compiled version with the pre-compiled kernel modules for the 2.4.19-rmk7 kernel used in the iRex 2.9.1 firmware. No guarantees that it will work for you, but it works great for me with the mrxvt application.
Attached Files
File Type: bz2 evkb.tar.bz2 (55.8 KB, 978 views)
hudson is offline   Reply With Quote