diff --git a/input/linuxraw_input.c b/input/linuxraw_input.c index a1c5af9e53..4ba292043c 100644 --- a/input/linuxraw_input.c +++ b/input/linuxraw_input.c @@ -250,11 +250,17 @@ static void linuxraw_input_poll(void *data) { linuxraw_input_t *linuxraw = (linuxraw_input_t*)data; uint8_t c; + uint16_t t; while (read(0, &c, 1)) { bool pressed = !(c & 0x80); c &= ~0x80; + + // ignore extended scancodes + if (!c) + read(0, &t, 2); + linuxraw->state[c] = pressed; }