Bug#722566: console-setup: Alt and Shift stick if some key combination pressed
Package: console-setup
Version: 1.88
Severity: important
Hello.
I have two languages in my system, to swich layouts Alt+Shift combination used.
If I press and release Alt+Shift+Ctrl sometimes (depends on order of releasing)
I get broken keyboard. To reproduce press this order:
Ctrl, Alt, Shift and release this order: Ctrl, Alt, Shift. If Shift released
first - keyboard is ok, if no - keyboard is broken.
I found, problem is broken keymaps (compiled by ckbcomp). man keymaps(5) says:
Note that you should be very careful when binding the modifier keys, otherwise
you can end up with an unusable keyboard mapping. If you for example define a
key to have Control in its first column and leave the rest of the columns to
be VoidSymbols, you're in trouble. This is because pressing the key puts
Control modifier in effect and the following actions are looked up from the
fifth column (see the table above). So, when you release the key, the action
from the fifth column is taken. It has VoidSymbol in it, so nothing happens.
This means that the Control modifier is still in effect, although you have
released the key. Re-pressing and releasing the key has no effect. To avoid
this, you should always define all the columns to have the same modifier
symbol.
This problem is exactly the same.
After deleting unimportant lines for Alt and Shift modificator in keymaps it
work fine:
alt keycode 42 = ShiftL_Lock
alt shiftl keycode 42 = ShiftR_Lock
alt shiftr keycode 42 = ShiftR_Lock
alt shiftl shiftr keycode 42 = ShiftL_Lock
shift keycode 56 = ShiftL_Lock
shift shiftl keycode 56 = ShiftR_Lock
shift shiftr keycode 56 = ShiftR_Lock
shift shiftl shiftr keycode 56 = ShiftL_Lock
So, it looks like initial problem is broken ckbcomp.
My keyboard file:
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"
BACKSPACE="guess"
-- System Information:
Debian Release: 7.1
APT prefers stable
APT policy: (700, 'stable'), (600, 'unstable'), (500, 'stable-updates')
Architecture: amd64 (x86_64)
Kernel: Linux 3.9-0.bpo.1-amd64 (SMP w/4 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages console-setup depends on:
ii console-setup-linux 1.88
ii debconf 1.5.49
ii keyboard-configuration 1.88
ii xkb-data 2.5.1-3
console-setup recommends no packages.
Versions of packages console-setup suggests:
ii locales 2.13-38
ii lsb-base 4.1+Debian8+deb7u1
Versions of packages keyboard-configuration depends on:
ii debconf 1.5.49
ii initscripts 2.88dsf-41
ii liblocale-gettext-perl 1.05-7+b1
Versions of packages console-setup-linux depends on:
ii kbd 1.15.3-9
ii keyboard-configuration 1.88
console-setup-linux suggests no packages.
Versions of packages console-setup is related to:
pn console-common <none>
pn console-data <none>
pn console-tools <none>
ii kbd 1.15.3-9
-- debconf-show failed
Reply to: