diff options
| author | qz150045 <none@none> | 2007-02-28 22:31:55 -0800 |
|---|---|---|
| committer | qz150045 <none@none> | 2007-02-28 22:31:55 -0800 |
| commit | e57f74747b59ee40e5f12184b3da66d31999238c (patch) | |
| tree | 0adb2782bf02e00d56b8a06b1f86f0e29d643a5f /usr/src | |
| parent | 802444998caed0d514e19b9fcf966c62e328e01a (diff) | |
| download | illumos-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.c | 9 |
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; } } } |
