Bug 1586149

Summary: Caps lock maps to CtrlL_Lock
Product: [Fedora] Fedora Reporter: Jaroslav Škarvada <jskarvad>
Component: console-setupAssignee: Vitezslav Crhonek <vcrhonek>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: vcrhonek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: console-setup-1.184-2.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1842849 (view as bug list) Environment:
Last Closed: 2018-07-23 12:51:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1842849    

Description Jaroslav Škarvada 2018-06-05 15:15:21 UTC
Description of problem:
AFAIK it's workaround for some old kernel bug. Is it still needed? Wasn't the original bug already fixed?

Version-Release number of selected component (if applicable):
kbd-2.0.4-5.fc28.x86_64

How reproducible:
Always 

Steps to Reproduce:
1. loadkeys /usr/lib/kbd/keymaps/xkb/us.map.gz && dumpkeys | grep 58 | head -1
2.
3.

Actual results:
keycode  58 = CtrlL_Lock      

Expected results:
keycode  58 = Caps_Lock

Additional info:
On the other hand the legacy works:
# loadkeys /usr/lib/kbd/keymaps/legacy/i386/qwerty/us.map.gz && dumpkeys | grep 58 | head -1
keycode  58 = Caps_Lock

Comment 1 Vitezslav Crhonek 2018-06-21 09:09:19 UTC
keymaps in /usr/lib/kbd/keymaps/xkb/ are generated from xkb layouts by console-setup during the build of kbd, more specifically by /bin/ckbcomp. The substitution of Caps_Lock/CtrlL_Lock is done there and the reason behind it is
http://bugzilla.kernel.org/show_bug.cgi?id=7746#c21
(and you're right, it's closed).

I'll take closer look at it.

Comment 2 Vitezslav Crhonek 2018-06-28 08:45:26 UTC
Fine, I'm going to remove the substitution of Caps_Lock/CtrlL_Lock from console-setup.

To summarize it - the kernel is still not fixed. Without CtrlL_Lock on keycode 58 you won't be able to capitalize accented letters by Caps Lock (for example with czech keymap - turning on Caps Lock and hitting key '2' won't produce 'Ě', but 'ě'). On the other hand, this is exactly how legacy keymap (/lib/kbd/keymaps/legacy/i386/qwertz/cz.map.gz) works and you can produce 'Ě' with dead key anyway. This change should also fix problems with Caps Lock LED.

I'll rebuild both packages in Rawhide.

Comment 3 Vitezslav Crhonek 2018-07-23 12:51:22 UTC
The keymap is fixed in latest kbd build in Rawhide (kbd-2.0.4-7.fc29).