Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -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;
}
}