xkb: led activated when it should not be?

Andriy Gapon avg at icyb.net.ua
Fri Jun 20 04:48:58 PDT 2008


I use xorg server from FreeBSD port, so I believe that I see a
regression that happened on 1.4 branch between 1.4 and 1.4.2
(1.4.0=>1.4.1 most probably).

My custom XKB configuration is quite unusual, but I believe that the
issue could be reproduced with a simple configuration where e.g. CAPS
and LCTL are swapped.

More details follow.

I have very customized xkb configuration where Caps Lock key is used as
layout switch key and Pause/Break is used for original Caps Lock
functions. I use this configuration for quite a while and everything
used to be ok.

After the upgrade the keys continue to work as expected. The only issue
is that now both Caps Lock and Pause/Break affect state of Caps Lock
LED. And this is quite annoying.

Here's relevant snippets from my XKB config:
partial modifier_keys

xkb_symbols "multi_scrl_caps" {
...
  replace key <PAUS> { type="ONE_LEVEL", [ Caps_Lock ], actions= [
LockMods(modifiers=Lock) ] };
  replace key <BRK>  { type="ONE_LEVEL", [ Caps_Lock ], actions= [
LockMods(modifiers=Lock) ] };
...

  replace modifier_map Lock { Caps_Lock };

};
...

partial modifier_keys
xkb_symbols "caps" {

    replace key <CAPS> {
        type = "CTRL+SHIFT",
        //                  Base,     Ctrl,     Shift
        symbols[Group1] = [ NoSymbol, NoSymbol, NoSymbol ],
        symbols[Group2] = [ NoSymbol, NoSymbol, NoSymbol ],
        symbols[Group3] = [ NoSymbol, NoSymbol, NoSymbol ],
        actions[Group1] = [ NoAction(), LockGroup(group=+1),
LockGroup(group=+2) ],
        actions[Group2] = [ SetGroup(group=+2), LockGroup(group=+1),
LockGroup(group=+2) ],
        actions[Group3] = [ SetGroup(group=+1), LockGroup(group=+1),
LockGroup(group=+2) ]
    };

};

BTW, what's strange too is that if I use xkbvleds then it reflects Caps
Lock LED changes caused by "new"/remapped Caps Lock button but it
doesn't respond to the "old"/normal Caps Lock button. But physical LED
responds to both.


-- 
Andriy Gapon




More information about the xorg mailing list