summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-01-28 08:49:00 +0000
committerhselasky <hselasky@FreeBSD.org>2014-01-28 08:49:00 +0000
commitf1267848bf1bff85d055c6f5d67ccddd5c3783ae (patch)
tree822b505f7a3d117d68bb81ce70781a430b54a6c1
parentcaab93f6314fd8f49d5513d44e57afded482e421 (diff)
downloadFreeBSD-src-f1267848bf1bff85d055c6f5d67ccddd5c3783ae.zip
FreeBSD-src-f1267848bf1bff85d055c6f5d67ccddd5c3783ae.tar.gz
Revert r260622:
To be implemented a bit differently.
-rw-r--r--sys/dev/usb/input/ukbd.c36
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) !=
OpenPOWER on IntegriCloud