[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CVS: cvs.openbsd.org: src
- To: source-changes_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org
- Subject: CVS: cvs.openbsd.org: src
- From: Aaron Campbell <aaron_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org>
- Date: Fri, 24 Nov 2000 07:05:27 -0700 (MST)
- Reply-to: Aaron Campbell <aaron_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org>
CVSROOT: /cvs
Module name: src
Changes by: aaron_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org 2000/11/24 07:05:27
Modified files:
sys/dev/wscons : wskbd.c
Log message:
Better key repeat logic. When we're in repeat mode, with the exception of
modifier keys (SHIFT, CTRL, ALT, etc.), and a key "up" event is received,
only delete the key repeat timeout if the key that generated the "up"
event is the key currently being repeated. When a key "down" event is
received, the opposite -- only delete the key repeat if the key that generated
the "down" event is _not_ the key currently being repeated.
Playing here is a bit dangerous since we are constraining the conditions in
which a timeout(9) is deleted (we don't want to mistakenly get stuck in a
non-legitamite key repeat).
Using timeout(9) for this is kind of gross. I guess it is done here to avoid
key repeat code in all of the actual hardware keyboard drivers.
There is still a bug here. If you have a key held down and detach your
keyboard (by either unplugging it or doing a KVM switch), the timeout is not
deleted and the key continues to repeat until it gets the keyboard back and
receives an interrupt. Perhaps we should not be ignoring typematic keys after
all?
Visit your host, monkey.org