FS#36689 - [kbd] Broken keymaps with kbd 2.0.0

Attached to Project: Arch Linux
Opened by Nicky726 (Nicky726) - Tuesday, 27 August 2013, 07:50 GMT
Last edited by Tobias Powalowski (tpowa) - Tuesday, 08 October 2013, 07:44 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 8
Private No

Details

Description:
After upgrade of kbd to 2.0.0, some keymaps are broken in some ways (virtual console only, including password prompt for encrypted volumes when keymap hook is used). I was using cz-qwertz, which now cannot write capital letters with shift. When experimenting with other czech keymaps, i found other problems like not printing correct diacritcs characters, or printing numbers without shift modifier instead of with shift. cz-us-qwertz seems to be the most working, however some chars with diacritics print as squares and altgr, or alt+ctrl modifier is not working.
My setup uses LUKS encrypted root unlocked on boot (keymap, encrypt hooks), in which case it seems like user is providing wrong password. However, the problem is not cryptsetup related.

Additional info:
* package version(s)
- kbd 2.0.0-1
* config and/or log files etc.
$ localectl
System Locale: LANG=cs_CZ.UTF8
VC Keymap: cz-us-qwertz
X11 Layout: cz,us
X11 Model: pc105
X11 Options: terminate:ctrl_alt_bksp,grp:shifts_toggle,grp_led:scroll

Steps to reproduce:
in virtual console: localectl set-keymap cz-qwertz, try to write capital letter using shift+letter, observe no letter being printed, instead of capital letter.

Related forum thread: https://bbs.archlinux.org/viewtopic.php?id=168839
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Tuesday, 08 October 2013, 07:44 GMT
Reason for closing:  Fixed
Additional comments about closing:  2.0.0-2
Comment by Jakub Klinkovský (lahwaacz) - Monday, 02 September 2013, 12:11 GMT
Note that cz-us-qwertz uses

keycode 42 = Shift
...
keycode 54 = Shift

whereas cz-qwertz uses

keycode 42 = ShiftL
...
keycode 54 = ShiftL
Comment by Pablo Lezaeta (Jristz) - Tuesday, 03 September 2013, 00:05 GMT
As far I can read is a side effect of kdb 2.0 so is more like a 'Intentional Uptream Bug'.
And some guys in IRC mention that is downtream responsability fix that problems and send the fix to uptream because is too much changes from last version to 2.0 to track...
Comment by Jakub Klinkovský (lahwaacz) - Tuesday, 03 September 2013, 11:53 GMT
@Jristz: Could you provide some link as a reference? I haven't found even a changelog - the ChangeLog file in git repo has last entry for version 1.15.5, maybe another bug?
Comment by Pablo Lezaeta (Jristz) - Tuesday, 03 September 2013, 23:01 GMT
The only reason that not have kdb 2.0 in the changelog is a simple tl;dr from the devs, reading the git log clue around 15000-30000 changes... not put 2.0 in Changelog was intentional from the devs, IRC is your friend in sertain cases

http://lists.altlinux.org/pipermail/kbd/2013-August/000410.html
Comment by Petar Šegina (Mr. Pjer) - Friday, 06 September 2013, 23:33 GMT
I can confirm this for croat.

Haven't been able to boot my LUKS install as well. Reverting back to 1.5 fixed it.

On the Croatian layout most things work. The đšžćč keys aren't recognized properly and are instead replaced with completely different keys.

This broke my system completely and I believe it may break others.
Comment by Tobias Powalowski (tpowa) - Monday, 09 September 2013, 07:18 GMT
Response from upstream:
09.09.2013 10:31, Tobias Powalowski wrote:
> Hi,
> got another bug:
> https://bugs.archlinux.org/task/36689

I think its a bug in kbd code. Unfortunately with so many apologies
regressions are inevitable.

Can you send me the affected keymap and screenshot of right and wrong
results ?
Comment by Alois Nespor (anespor) - Monday, 09 September 2013, 09:38 GMT
for me works correctly only cz-us-qwertz, another are buggy
Comment by Alexey Gladkov (legion) - Monday, 09 September 2013, 09:44 GMT
Yes, but I don't use ArchLinux and I have no cz-us-qwertz/cz-qwertz.
Comment by Alois Nespor (anespor) - Monday, 09 September 2013, 09:48 GMT
What can I do to detect error/bug?
Comment by Alexey Gladkov (legion) - Monday, 09 September 2013, 09:57 GMT
I want to reproduce the bug. You can add what I asked for?
Comment by Alois Nespor (anespor) - Monday, 09 September 2013, 10:12 GMT
This is picture with wrong results - simply i cannot write capital letters with shift. No characters, nothing is displayed.
Comment by Silvestr Hašek (ETNyx) - Monday, 09 September 2013, 10:13 GMT
Alexey: are you asking for these files?(attachment). For the record both are broken for me.
Comment by Jakub Klinkovský (lahwaacz) - Monday, 09 September 2013, 10:23 GMT
This won't obviously fix the bug, but I figured that the quickest way to "fix" this issue for me is to rewrite the map from scratch - so here it is: https://github.com/lahwaacz/keymaps-czech-console
It is not meant to replace existing cz.map (or cz-qwertz.map in Arch), it is missing some features - see the README.
Comment by Jakub Klinkovský (lahwaacz) - Monday, 09 September 2013, 11:32 GMT
For the record, the Shift+<letter> (writing capital letter) does not work only in the following Czech keymap: cz.map, both qwertz and qwerty layout (the files are located under kbd-git/data/keymaps/i386/{qwertz,qwerty} respectively, note that Arch installs qwertz/cz.map as qwertz/cz-qwertz.map - see the comment in PKGBUILD).

Switching consoles with Ctrl+Alt+F{1..12} does not work in any Czech keymap (that are cz-cp1250, cz-lat2-prog, cz-lat2, cz, cz-us-qwertz, cz-qwertz), only Alt+F{1..12} works. Not sure if this is intentional or not, but the default us keymap supports it.

Also note that in cz-us-qwertz, essential bindingns Ctrl+z and Ctrl+y do not work. This is not related to the kbd-2.0.0 version, it is a bug in the keymap itself (and pretty old one). It is probably not reported elsewhere.
Comment by Alexey Gladkov (legion) - Monday, 07 October 2013, 14:20 GMT
Can someone test http://git.altlinux.org/people/legion/packages/kbd.git (master branch) with {qwertz,qwerty}/cz.map ?

P.S. I like your keymaps-czech-console :) It looks much better than cz.map.
Comment by Jakub Klinkovský (lahwaacz) - Monday, 07 October 2013, 20:35 GMT
After quick test, this fixes both Shift+<letter> for all Czech keymaps. However, the Ctrl+Alt+F{1..12} combination problem is fixed only for {qwertz,qwerty}/cz.map and remains for the others: cz-cp1250, cz-lat2-prog, cz-lat2, cz, cz-us-qwertz.

Note that this was all tested in qemu, it might also be relevant.

Edit: clarified which problems are fixed for which keymaps
Comment by Alexey Gladkov (legion) - Monday, 07 October 2013, 20:49 GMT
So bug fixed. I understand you correctly?
Comment by Pablo Lezaeta (Jristz) - Monday, 07 October 2013, 21:03 GMT
I think this is partially fix'd, so the bugtracker have fixed but oppened at same time??

or can by splitted in another bug rellated to the remains for the others: cz-cp1250, cz-lat2-prog, cz-lat2, cz, cz-us-qwertz...
Comment by Jakub Klinkovský (lahwaacz) - Tuesday, 08 October 2013, 06:44 GMT
I've just looked at the code of all Czech keymaps that don't switch console on Ctrl+Alt+F{1..12} (cz-cp1250, cz-lat2-prog, cz-lat2, cz-us-qwertz) and found that the combination Ctrl+Alt+F{1..12} is not bound at all - it just wasn't in the design I guess... So this is definitely not related to this bug and you can indeed consider it fixed.

Loading...