Lirc - inject driver - hidraw & SoundGraph iMON 2.4GHz LT/GT
I've had some troubles with the lirc (Linux Infrared Remote Control). I was using a SoundGraph iMON 2.4GHz LT, and then I upgraded (to squeeze I think) my system, suddenly the imon was taken my the kernel hid system, and I couldn't associate the remote. And building lirc from source didn't really work at the time, so I bought a Windows Media Center Remote Control. Unfortunately It appeared as both a mouse and a keyboard, setting up 2 remotes is annoying. So I thought: Why not just make a driver that just accepts ir-codes, and then a daemon that pushes keycodes from the remote into the lirc daemon.
The inject driver is an udp socket simply receiving 8 byte codes and using them as a ir-code.
The resulting patch was first posted to the lirc mailing list in late august 2011 (original post here). Nothing really has come of this. But I use it on a daily basis, So I've packed it as a debian package and put it in my repository.
hidraw - inject daemon
Given that the daemon now could accept udp literal ir-codes, then you could have several daemons injecting ir-codes into the system, eg. one for each hid device. I then wrote such a daemon and put in the repository under the name "lirc-hidraw-inject". You can run the daemon in the foreground with debug like this:
/usr/bin/lirc-hidraw --debug /dev/input/event15
Then you press a key and you get output like this:
INFO: 0000000400000003 INFO: 0000000400000003 INFO: 0000000000000003
imon - inject daemon
The SoundGraph iMON 2.4GHz LT/GT, is a small rf-based remote. It has a (IMO) a nice formfactor, and does not require line of sight to the dongle. Unfortunately it's discontinued. However as long as it works I'll keep using it.
The important part is:
begin remote name inject bits 64 repeat 250000 toggle_bit_mask 0x0 begin codes KEY_ZOOM 0x0000270004 KEY_T 0x00005A0004 end codes end remote
And just fill in the codes section with keys as defined in /usr/include/input.h with the output of the daemon with --debug