Merge pull request #5076 from bonzini/master

udev input: support controlling the menu with a TV remote control
This commit is contained in:
Twinaphex 2017-06-21 23:35:22 +02:00 committed by GitHub
commit 8068bcccbe
3 changed files with 16 additions and 3 deletions

View File

@ -392,7 +392,7 @@ static void udev_input_handle_hotplug(udev_input_t *udev)
{
device_handle_cb cb;
enum udev_input_dev_type dev_type = UDEV_INPUT_KEYBOARD;
const char *val_keyboard = NULL;
const char *val_key = NULL;
const char *val_mouse = NULL;
const char *val_touchpad = NULL;
const char *action = NULL;
@ -403,14 +403,15 @@ static void udev_input_handle_hotplug(udev_input_t *udev)
if (!dev)
return;
val_keyboard = udev_device_get_property_value(dev, "ID_INPUT_KEYBOARD");
val_key = udev_device_get_property_value(dev, "ID_INPUT_KEY");
val_mouse = udev_device_get_property_value(dev, "ID_INPUT_MOUSE");
val_touchpad = udev_device_get_property_value(dev, "ID_INPUT_TOUCHPAD");
action = udev_device_get_action(dev);
devnode = udev_device_get_devnode(dev);
if (val_keyboard && string_is_equal_fast(val_keyboard, "1", 1) && devnode)
if (val_key && string_is_equal_fast(val_key, "1", 1) && devnode)
{
/* EV_KEY device, can be a keyboard or a remote control device. */
dev_type = UDEV_INPUT_KEYBOARD;
cb = udev_handle_keyboard;
}

View File

@ -189,6 +189,8 @@ const struct input_key_map input_config_key_map[] = {
{ "subtract", RETROK_KP_MINUS },
{ "kp_plus", RETROK_KP_PLUS },
{ "kp_minus", RETROK_KP_MINUS },
{ "volume-", RETROK_VOLUMEDOWN },
{ "volume+", RETROK_VOLUMEUP },
{ "f1", RETROK_F1 },
{ "f2", RETROK_F2 },
{ "f3", RETROK_F3 },
@ -1087,6 +1089,13 @@ const struct rarch_key_map rarch_key_map_linux[] = {
{ KEY_EURO, RETROK_EURO },
#endif
{ KEY_UNDO, RETROK_UNDO },
{ KEY_VOLUMEDOWN, RETROK_VOLUMEDOWN },
{ KEY_VOLUMEUP, RETROK_VOLUMEUP },
/* Extra keys for remote controls. */
{ KEY_OK, RETROK_RETURN },
{ KEY_BACK, RETROK_BACKSPACE },
{ 0, RETROK_UNKNOWN },
};
#endif

View File

@ -422,6 +422,9 @@ enum retro_key
RETROK_EURO = 321,
RETROK_UNDO = 322,
RETROK_VOLUMEDOWN = 323,
RETROK_VOLUMEUP = 324,
RETROK_LAST,
RETROK_DUMMY = INT_MAX /* Ensure sizeof(enum) == sizeof(int) */