Hi Rob,
Hi T.C.,
Are you aware that in kernel 2.6, there's an input layer which pretty much maps to the keyboard events provided to X11? I don't know all the details, but basically my new TV capture card with IR remote (saa7134-based) doesn't need to use lirc to capture and decode the button presses. I'm not sure about the status of the other IR remote devices, whether they're being ported to the input layer.
Yessir, I am well aware. This is actually one of the reason's I am doing this work. Yes, most IR devices are being ported to the input layer. I am using a Hauppauge pvr-250 and Nexus-S interfaces successfully.
In fact, lirc in cvs (0.7pre7, last I checked) now has input layer support. I havne't figured out how to map them to freevo events yet....
Yes, lirc has some support for input event devices. I was actually using lirc for this up until now. For lirc you need a special lircd.conf that contains the keycodes (or IR codes, I forget) and perhaps change a hardcoded value for the device (/dev/input/eventX).
So, I see 3 ways that Freevo can use the kernel input layer for IR remotes.
1) Simply alter the keymap for the remote so existing keyboard handlers will pick up the keys, right now that's just pygame's input support. We _should_ be allowed to map the remote keys into Freevo's pygame keymap but unfortunately pygame only defines a small number of keys, the ones for keyboards. For example there's no pygame key for KEY_MENU, KEY_CHANNELUP, KEY_PAUSE, etc. The way around this is to change the keymap on your remote to be the same key names as your keyboard so pygame doesn't filter them out. I have asked someone to actually test this and I was told that mplayer also picks them up (maybe there's something we can disable there) and that causes problems.
2) Use lirc's input event support. This is an easy switch. Unfortunately lirc can be a pain in the ass and it is good to be able to drop a dependency if the user's hardware is supported by other means.
3) Write an input layer / event device plugin for Freevo. This is what I've been working on and there's at least 3 people actively using it now. There are tools available to set/get your remote's keymap and I will be providing Freevo helpers to do so. We can also make keymaps for known remotes available in Freevo or on the web site. There are some caveats with using this plugin if there's another keyboard handler running (SDL or DirectFB). If both handlers pick up the same key you will get double events to Freevo. This plugin is used successfully alongside pygame/SDL kb handler if none of the remote keys match a pygame key, also with DirectFB the kb driver can be disabled. It is also possible for Freevo to request exclusive access to the device to others don't pick it up. I will be experimenting with method 1 above as well, but in some cases the user will not have pygame or directfb, maybe they're using a pvr-350 tv-out or we get real dxr3 support.
Anyhow, I'm about 1/2 done the work on this so I'll commit something this evening.
-Rob
------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel
