diff --git a/input/drivers/dinput.c b/input/drivers/dinput.c index b4ab37aebe..add7cad1ca 100644 --- a/input/drivers/dinput.c +++ b/input/drivers/dinput.c @@ -265,9 +265,14 @@ static void dinput_poll(void *data) } } else + { /* Shifts only when window focused */ dinput_keyboard_mods(di, RETROKMOD_SHIFT); + /* Ignore 'unknown/undefined' key */ + di->state[RETROK_UNKNOWN] = 0; + } + /* Left alt keyup when unfocused, to prevent alt-tab sticky */ dinput_keyboard_mods(di, RETROKMOD_ALT); } diff --git a/input/drivers/winraw_input.c b/input/drivers/winraw_input.c index 3c0a13db89..334249925d 100644 --- a/input/drivers/winraw_input.c +++ b/input/drivers/winraw_input.c @@ -500,6 +500,7 @@ static LRESULT CALLBACK winraw_callback( /* Ignored scancodes */ switch (mcode) { + case RETROK_UNKNOWN: case 0xE11D: case 0xE02A: case 0xE036: