Commit a4c1cbc7 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB (12600): dvb-usb-remote: return KEY_RESERVED if there's free space for new keys

The input subsystem checks if get_keycode works for a scan code. Due to that,
we need to return a valid value when there's some space at the table that
can be used by a scancode.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent b77f0a76
...@@ -22,6 +22,19 @@ static int dvb_usb_getkeycode(struct input_dev *dev, ...@@ -22,6 +22,19 @@ static int dvb_usb_getkeycode(struct input_dev *dev,
*keycode = keymap[i].event; *keycode = keymap[i].event;
return 0; return 0;
} }
/*
* If is there extra space, returns KEY_RESERVED,
* otherwise, input core won't let dvb_usb_setkeycode
* to work
*/
for (i = 0; i < d->props.rc_key_map_size; i++)
if (keymap[i].event == KEY_RESERVED ||
keymap[i].event == KEY_UNKNOWN) {
*keycode = KEY_RESERVED;
return 0;
}
return -EINVAL; return -EINVAL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment