[linux-dvb] Hauppauge IR remote codes & basic C programming
Simon Baxter
linuxtv at nzbaxters.com
Thu Apr 27 16:05:43 CEST 2006
>> Darren Salt has done some great work getting extra buttons working, but
>> I'd like to understand better how the IR codes are processed and end up
>> recognised by the modules. Specifically I need more granular codes from
>> my remote, as it conflicts with my TV remote.
> I have a Nova-T card and this is what I did to get the right
> keys bound to the remote:
>
> 1. look in the file /usr/src/linux/driver/media/dvb/ttpci/budget-ci.c
> there is a key_map array defined, like this...
>
> /* from reading the following remotes:
> Zenith Universal 7 / TV Mode 807 / VCR Mode 837
> Hauppauge (from NOVA-CI-s box product)
> i've taken a "middle of the road" approach and note the differences
> */
> static u16 key_map[64] = {
> /* 0x0X */
> KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8,
> ...
>
> 2. replace all the KEY_xxx constants with the number 0, ie
>
> static u16 key_map[64] = {
> /* 0x0X */
> 0, 0, 0, 0, 0, 0, 0, 0, 0,
>
> and so on.
>
> 3. re-compile the kernel (!) and reboot
>
> 4. press each key on your remote in turn, each press should generate a
> line in /var/log/messages - like this:
> DVB: no key for 2a!
>
> where "2a" will be different for each key - this is the hex value of the
> key's position in the key_map array
>
> 5. replace the 0's you put in the key_map array with KEY_xxx constants
> appropriate to the key on your remote
> eg if pressing 1 on the remote generates the message "no key for 2a!",
> then set entry 42 in the key_map array to KEY_1
>
> 6. re-compile and reboot again
I think I'm going about this all the wrong way.
The problem I'm having is when I hit VOL-UP and VOL-DOWN on my Phillips TV
remote, it also triggers FF and REW on VDR. I'd been trying to get more
granularity, so a key stroke from the Hauppauge remote would generate a
different, perhaps longer string.
I ran a 'input-event' test, hit the various remote buttons and can confirm
the IR receiver is differentiating between FF/REW and VOLUP/DOWN.
Maybe there's a problem with VDR?
I'll put a question to the VDR forum...
More information about the linux-dvb
mailing list