[linux-dvb] Hauppauge Nova-TD-500 84xxx remote control
pongo_bob at yahoo.co.uk
Wed Dec 17 13:14:43 CET 2008
I used the following kludge :
The code for handling the remote is missing in linux/drivers/media/dvb/dvb-usb/dib0700_devices.c. Around line 1402 in you need to add
.rc_interval = DEFAULT_RC_INTERVAL,
.rc_key_map = dib0700_rc_keys,
.rc_key_map_size = ARRAY_SIZE(dib0700_rc_keys),
.rc_query = dib0700_rc_query
pinched from the remotes above.
This enables the remote if you recompile and reload the module you should see a new input device in dmesg, in my case I can cat /dev/input/event4 and see the key presses.
Unfortunately , the code in dib0700_rc_query always returns the last key pressed so you get an event every 150mS with the same key in it. So on to the next kludge :
At the top of dib0700_rc_query I added:
static int toggle;
and after i = dib0700_ctrl_rd( blah blah) :
if ( key == toggle )
toggle = key;
This checks if the key fetched from the remote is the same as the last and returns if it is thus dumping all the repeats from dib0700_ctrl_rd;
Now you should find that UP , DOWN , LEFT and RIGHT keys work ok but not much else.
Kludge No.3 coming up :
Starting around line 612 in dib0700_devices.c are the key mappings for the Hauppauge remote. I changed the mapping for KEY_OK to KEY_ENTER so now I can navigate menus and select items.
And that is as far as I've got ..
More information about the linux-dvb