Bug 51955 - Sticky+LatchLock fails as of Ubuntu 12.04 (1.11.3)
Summary: Sticky+LatchLock fails as of Ubuntu 12.04 (1.11.3)
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/Input/XKB (show other bugs)
Version: unspecified
Hardware: All All
: medium normal
Assignee: Daniel Stone
QA Contact: Xorg Project Team
Depends on:
Reported: 2012-07-10 18:06 UTC by Steven Edwards
Modified: 2014-04-05 11:26 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Note You need to log in before you can comment on or make changes to this bug.
Description Steven Edwards 2012-07-10 18:06:06 UTC
Pressing a modifier key twice should 'lock' the key so that all subsequent key presses automagically become [mod]+[key]; this has worked as far back as Hardy Heron, but breaks in Precise Pangolin.

e.g., Shift, Shift, abc123 should equal ABC!@# instead of abc123.

The xkbwatch tool from x11-xkb-utils is the best way to see this--it shows that no modifier key can ever reach the locked state.  This is a huge deal for people with mobility impairments who type with one finger, a pen, or, like me, a mouthstick.

XKB is the sole reason I was able to switch from Windows to Linux; it is very critical to my daily use.  (Emacs is horrible without being able to lock modifier keys.)
Comment 1 Steven Edwards 2012-07-12 15:02:10 UTC
I added and upgraded from the xorg-edgers PPA in the hopes this had been fixed prior to this bug report.  Sadly, it hasn't.
Comment 2 Daniel Stone 2012-08-08 17:34:45 UTC
Hmm, have you got a custom layout with latching shift? This isn't in the default xkeyboard-config dataset ...
Comment 3 Steven Edwards 2012-08-08 21:18:47 UTC
(In reply to comment #2)
> Hmm, have you got a custom layout with latching shift? This isn't in the
> default xkeyboard-config dataset ...

I don't have a custom layout, no.  I installed the standard 12.04 and Shift never locked--it only latches.  Will it lock for you?
Comment 4 Steven Edwards 2012-09-22 10:24:28 UTC
Fails in the 12.10 beta, too. :(
Comment 5 Matthias Clasen 2013-04-14 14:09:01 UTC
I am seeing this problem on Fedora 19 as well.
Comment 6 Peter Hutterer 2013-04-15 05:07:16 UTC
commit 0f537da72d414ed84e3cd14e3bb7e08565136bd7
Author: Andreas Wettstein <wettstein509@solnet.ch>
Date:   Sun Mar 3 20:25:44 2013 +0100

    xkb: Fixes to LatchMods/LatchGroup
Comment 7 Steven Edwards 2014-03-31 20:40:43 UTC
Slashdot's Sticky Keys post made me revisit this bug report, which I noticed had been changed to Resolved/Fixed.

I quickly downloaded Ubuntu 13.10, which uses xorg-server 1.14.3, but it still fails.

Peter, would you be willing to give me instructions on setting up a development box for Xorg?

Using different distros, I have narrowed the bug to somewhere between xorg-server versions 1.10.4 and 1.11.3--possibly even 1.10.6 and 1.11.1--but I can't tell which commit introduced it.

If I knew how to set up a virtualbox image to build Xorg on (e.g., what to use as a base system and which dependencies to install), I would happily bisect this bug and patch it myself.  Can you help me with that?
Comment 8 Alan Coopersmith 2014-03-31 20:43:36 UTC
Comment 9 Steven Edwards 2014-04-01 09:19:31 UTC
Thank you, Alex.

The RequiredPackages* page shows me everything I to build X on Ubuntu 11.10, which is the last version of Ubuntu without this bug.  I will install 11.10 in Virtualbox and start bisecting.

* http://www.x.org/wiki/RequiredPackages/
Comment 10 Peter Hutterer 2014-04-04 05:09:28 UTC
(In reply to comment #7)
> I quickly downloaded Ubuntu 13.10, which uses xorg-server 1.14.3, but it
> still fails.

quick check shows that this patch isn't in 1.14.3 or on any other 1.14 release, sorry. Your best bet is to just take that patch, apply it to your .deb source and test it. It's going to be a lot harder setting up a whole tree.
Comment 11 Steven Edwards 2014-04-05 11:26:03 UTC
Thank you, Peter.  The bug no longer exists in 1.15.0.

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.