Bug 34318 - Regression: caps lock as control is broken with xkeyboard-config 2.1 (bisected)
Summary: Regression: caps lock as control is broken with xkeyboard-config 2.1 (bisected)
Status: RESOLVED DUPLICATE of bug 30898
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: xkb
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-15 19:46 UTC by Nick Bowler
Modified: 2011-02-18 05:24 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Nick Bowler 2011-02-15 19:46:37 UTC
After installing xkeyboard-config 2.1, my caps lock key (which is set as a
third control key) is not functioning as a control key.  Instead, it is
behaving as a stupid caps lock key.

I set my caps lock to control with:

 xmodmap -e 'remove lock = Caps_Lock' -e 'add control = Caps_Lock'

after which the xmodmap output looks like:

  shift       Shift_L (0x32),  Shift_R (0x3e)
  lock      
  control     Control_L (0x25),  Caps_Lock (0x42),  Control_R (0x69)
  mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
  mod2        Num_Lock (0x4d)
  mod3      
  mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
  mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

This worked fine with xkeyboard-config 2.0.  Bisection reveals the following,
and reverting the implicated commit solves the issue:

1371636923fc2dce373cdbc9bee30287ebfddf51 is the first bad commit
commit 1371636923fc2dce373cdbc9bee30287ebfddf51
Author: Sergey V. Udaltsov <svu@gnome.org>
Date:   Tue Jan 11 13:39:54 2011 +0000

    fixing "both shifts together"
    
    https://bugs.freedesktop.org/show_bug.cgi?id=30898

:040000 040000 9f0bdba65f7e6b5d1ef5c0b12366164f9ee15514 b4292def41d23297a13a091c660152562c165389 M	compat
:040000 040000 7eb276a9229c1e9c537b4758f249a88e08548994 0389064d1ed336fc09d9eef697623d803d283d0d M	symbols

git bisect start
# bad: [d6e26092800736873c88dbb19ea70746d5f1e217] One more layout switcher: LeftCtrl+LeftWin/RightCtrl+Menu
git bisect bad d6e26092800736873c88dbb19ea70746d5f1e217
# good: [0f05dd36a90a05e4f33353bcee0cb3c780f18633] Updated translations
git bisect good 0f05dd36a90a05e4f33353bcee0cb3c780f18633
# good: [85157ad78fd4075d91bbd9bb6fc4ed65de8fb2fe] Fixed "both shifts as caps" behavior,
git bisect good 85157ad78fd4075d91bbd9bb6fc4ed65de8fb2fe
# good: [ea0a5fc4d5d6cf39085b648b23df03171e8b2aea] Some useful mappings enabled in evdev section
git bisect good ea0a5fc4d5d6cf39085b648b23df03171e8b2aea
# bad: [1371636923fc2dce373cdbc9bee30287ebfddf51] fixing "both shifts together"
git bisect bad 1371636923fc2dce373cdbc9bee30287ebfddf51
# good: [f63135343532bb6dca7d57d4bd922d361eadfb8e] removed dupes
git bisect good f63135343532bb6dca7d57d4bd922d361eadfb8e
# good: [8cc4dd7aac9c386507052071d748f9d7b6b342e8] assign action for keysym Shift_L by default
git bisect good 8cc4dd7aac9c386507052071d748f9d7b6b342e8
Comment 1 Sergey V. Udaltsov 2011-02-17 15:53:25 UTC

*** This bug has been marked as a duplicate of bug 30898 ***
Comment 2 Stephan Hilb 2011-02-18 05:24:01 UTC
I don't think you should use the keysym Caps_Lock for some behavior other than a Lock (because the Caps_Lock keysym now has its own action defined). Please modify your xmodmap-line to the following:

xmodmap -e 'remove lock = Caps_Lock' -e 'keysym Caps_Lock = Control_L' -e 'add control = Control_L'

With this you get a proper keysym displayed in xev when pressing your key and you don't mess with the Caps_Lock keysym.


But there is an even simplier solution: use the xkb-option “ctrl:nocaps”. It does the same as your xmodmapline: replacing capslock with a control key.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.