summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorqz150045 <none@none>2007-02-28 22:31:55 -0800
committerqz150045 <none@none>2007-02-28 22:31:55 -0800
commite57f74747b59ee40e5f12184b3da66d31999238c (patch)
tree0adb2782bf02e00d56b8a06b1f86f0e29d643a5f /usr/src
parent802444998caed0d514e19b9fcf966c62e328e01a (diff)
downloadillumos-joyent-e57f74747b59ee40e5f12184b3da66d31999238c.tar.gz
6526932 shift key press is buffered by kernel driver and not sent to X immediately
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/kbtrans/kbtrans_streams.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/usr/src/uts/common/io/kbtrans/kbtrans_streams.c b/usr/src/uts/common/io/kbtrans/kbtrans_streams.c
index c613cba52a..f5b6a4a1d9 100644
--- a/usr/src/uts/common/io/kbtrans/kbtrans_streams.c
+++ b/usr/src/uts/common/io/kbtrans/kbtrans_streams.c
@@ -463,15 +463,13 @@ kbtrans_streams_key(
upper->kbtrans_streams_abort1_key = key;
return;
}
-
+ /* Shift key needs to be sent to upper immediately */
if (key == (kbtrans_key_t)kp->k_newabort1 ||
key == (kbtrans_key_t)kp->k_newabort1a) {
upper->kbtrans_streams_abort_state =
NEW_ABORT_ABORT1_RECEIVED;
upper->kbtrans_streams_new_abort1_key = key;
- return;
}
-
break;
case ABORT_ABORT1_RECEIVED:
upper->kbtrans_streams_abort_state = ABORT_NORMAL;
@@ -491,12 +489,11 @@ kbtrans_streams_key(
if (state == KEY_PRESSED &&
key == (kbtrans_key_t)kp->k_newabort2) {
abort_sequence_enter((char *)NULL);
- return;
- } else {
kbtrans_processkey(lower,
upper->kbtrans_streams_callback,
upper->kbtrans_streams_new_abort1_key,
- KEY_PRESSED);
+ KEY_RELEASED);
+ return;
}
}
}