diff options
author | hselasky <hselasky@FreeBSD.org> | 2014-01-28 08:49:00 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2014-01-28 08:49:00 +0000 |
commit | f1267848bf1bff85d055c6f5d67ccddd5c3783ae (patch) | |
tree | 822b505f7a3d117d68bb81ce70781a430b54a6c1 | |
parent | caab93f6314fd8f49d5513d44e57afded482e421 (diff) | |
download | FreeBSD-src-f1267848bf1bff85d055c6f5d67ccddd5c3783ae.zip FreeBSD-src-f1267848bf1bff85d055c6f5d67ccddd5c3783ae.tar.gz |
Revert r260622:
To be implemented a bit differently.
-rw-r--r-- | sys/dev/usb/input/ukbd.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/sys/dev/usb/input/ukbd.c b/sys/dev/usb/input/ukbd.c index 6bc1468..dd4b329 100644 --- a/sys/dev/usb/input/ukbd.c +++ b/sys/dev/usb/input/ukbd.c @@ -197,7 +197,6 @@ struct ukbd_softc { #define UKBD_FLAG_NUMLOCK 0x00080000 #define UKBD_FLAG_CAPSLOCK 0x00100000 #define UKBD_FLAG_SCROLLLOCK 0x00200000 -#define UKBD_FLAG_VALID_KEYS 0x00400000 int sc_mode; /* input mode (K_XLATE,K_RAW,K_CODE) */ int sc_state; /* shift/lock key state */ @@ -513,41 +512,6 @@ ukbd_interrupt(struct ukbd_softc *sc) n_mod = sc->sc_ndata.modifiers; o_mod = sc->sc_odata.modifiers; - - /* - * Don't output any modifier keys before we see a valid - * non-modifier key press. This prevents so-called "ghost - * keyboards" keeping modifier keys pressed while not actually - * seen as a real keyboard. - */ - if (sc->sc_flags & UKBD_FLAG_VALID_KEYS) - goto kfound; - - for (i = 0; i != UKBD_NKEYCODE; i++) { - key = sc->sc_ndata.keycode[i]; - switch (key) { - case 0xe0: - case 0xe4: - case 0xe1: - case 0xe5: - case 0xe2: - case 0xe6: - case 0xe3: - case 0xe7: - case 0x00: - case KEY_ERROR: - break; - default: - sc->sc_flags |= UKBD_FLAG_VALID_KEYS; - goto kfound; - } - } - DPRINTF("Keeping modifiers buffered\n"); - - /* keep modifiers in buffer */ - sc->sc_ndata.modifiers = n_mod = 0; - -kfound: if (n_mod != o_mod) { for (i = 0; i < UKBD_NMOD; i++) { if ((n_mod & ukbd_mods[i].mask) != |