aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2007-07-25 06:48:33 +0000
committerWarner Losh <imp@FreeBSD.org>2007-07-25 06:48:33 +0000
commit3b62e837c9260196df01b8823d246f766e00ef26 (patch)
tree48d4f362449f7bca63b1052b877bb4570ff6e9ec /sys/dev/usb
parent8a639d8fb646b06b44d3a8b9075ab4aedee5794e (diff)
Notes
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/ukbd.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/usb/ukbd.c b/sys/dev/usb/ukbd.c
index 2db97ff54fe83..78a274ae1d3ac 100644
--- a/sys/dev/usb/ukbd.c
+++ b/sys/dev/usb/ukbd.c
@@ -787,6 +787,15 @@ ukbd_interrupt(keyboard_t *kbd, void *arg)
}
}
ADDKEY1(key | KEY_PRESS);
+ /*
+ * If any other key is presently down, force its repeat to be
+ * well in the future (100s). This makes the last key to be
+ * pressed do the autorepeat.
+ */
+ for (j = 0; j < NKEYCODE; j++) {
+ if (j != i)
+ state->ks_ntime[j] = now + 100 * 1000;
+ }
pfound:
;
}