Cannot create xkb layout - Possible bug and regression in xkbcomp or xkb?

cheater cheater cheater00 at gmail.com
Wed Dec 5 10:44:53 PST 2012


By the way, here's the related section of dumpkeys:



keycode 103 = Up
    alt    keycode 103 = KeyboardSignal
    alt    shiftl    keycode 103 = KeyboardSignal
    alt    shiftr    keycode 103 = KeyboardSignal
    alt    shiftl    shiftr    keycode 103 = KeyboardSignal
    alt    ctrll    keycode 103 = KeyboardSignal
    alt    shiftl    ctrll    keycode 103 = KeyboardSignal
    alt    shiftr    ctrll    keycode 103 = KeyboardSignal
    alt    shiftl    shiftr    ctrll    keycode 103 = KeyboardSignal
keycode 104 = Prior
    shift    keycode 104 = Scroll_Backward
    shift    shiftl    keycode 104 = Scroll_Backward
    shift    shiftr    keycode 104 = Scroll_Backward
    shift    shiftl    shiftr    keycode 104 = Scroll_Backward
    shift    ctrll    keycode 104 = Scroll_Backward
    shift    shiftl    ctrll    keycode 104 = Scroll_Backward
    shift    shiftr    ctrll    keycode 104 = Scroll_Backward
    shift    shiftl    shiftr    ctrll    keycode 104 = Scroll_Backward
keycode 105 = Left
    alt    keycode 105 = Decr_Console
    alt    shiftl    keycode 105 = Decr_Console
    alt    shiftr    keycode 105 = Decr_Console
    alt    shiftl    shiftr    keycode 105 = Decr_Console
    alt    ctrll    keycode 105 = Decr_Console
    alt    shiftl    ctrll    keycode 105 = Decr_Console
    alt    shiftr    ctrll    keycode 105 = Decr_Console
    alt    shiftl    shiftr    ctrll    keycode 105 = Decr_Console
keycode 106 = Right
    alt    keycode 106 = Incr_Console
    alt    shiftl    keycode 106 = Incr_Console
    alt    shiftr    keycode 106 = Incr_Console
    alt    shiftl    shiftr    keycode 106 = Incr_Console
    alt    ctrll    keycode 106 = Incr_Console
    alt    shiftl    ctrll    keycode 106 = Incr_Console
    alt    shiftr    ctrll    keycode 106 = Incr_Console
    alt    shiftl    shiftr    ctrll    keycode 106 = Incr_Console
keycode 107 = Select
keycode 108 = Down



Note that the arrows are still what they were. They're clearly
remapped in the layout:
https://bitbucket.org/cheater/us_split_logitech_k400/commits/5f777c7dfe1a4b176b3409c71030ad8f

On the other hand, the same layout remaps the k key to type h and that shows:



keycode  37 = +h
    shift    keycode  37 = +H
    control    keycode  37 = BackSpace
    shift    control    keycode  37 = BackSpace
    altgr    control    keycode  37 = BackSpace
    shift    altgr    control    keycode  37 = BackSpace
    alt    keycode  37 = Meta_h
    shift    alt    keycode  37 = Meta_H
    altgr    alt    keycode  37 = Meta_h
    shift    altgr    alt    keycode  37 = Meta_h
    control    alt    keycode  37 = Meta_BackSpace
    shift    control    alt    keycode  37 = Meta_BackSpace
    altgr    control    alt    keycode  37 = Meta_BackSpace
    shift    altgr    control    alt    keycode  37 = Meta_BackSpace



although after this line it starts showing incorrect values. So it
seems like this is a deeper bug. Can anyone comment on that? Is there
anyone in specific I could contact about the xkb codebase?

The listing continues with some erroneous and some correct values:



    shiftl    keycode  37 = +k
    shift    shiftl    keycode  37 = +K
    altgr    shiftl    keycode  37 = +k
    shift    altgr    shiftl    keycode  37 = +k
    control    shiftl    keycode  37 = Control_k
    shift    control    shiftl    keycode  37 = Control_k
    altgr    control    shiftl    keycode  37 = Control_k
    shift    altgr    control    shiftl    keycode  37 = Control_k
    alt    shiftl    keycode  37 = Meta_k
    shift    alt    shiftl    keycode  37 = Meta_K
    altgr    alt    shiftl    keycode  37 = Meta_k
    shift    altgr    alt    shiftl    keycode  37 = Meta_k
    control    alt    shiftl    keycode  37 = Meta_Control_k
    shift    control    alt    shiftl    keycode  37 = Meta_Control_k
    altgr    control    alt    shiftl    keycode  37 = Meta_Control_k
    shift    altgr    control    alt    shiftl    keycode  37 = Meta_Control_k
    shiftr    keycode  37 = +k
    shift    shiftr    keycode  37 = +K
    altgr    shiftr    keycode  37 = +k
    shift    altgr    shiftr    keycode  37 = +k
    control    shiftr    keycode  37 = Control_k
    shift    control    shiftr    keycode  37 = Control_k
    altgr    control    shiftr    keycode  37 = Control_k
    shift    altgr    control    shiftr    keycode  37 = Control_k
    alt    shiftr    keycode  37 = Meta_k
    shift    alt    shiftr    keycode  37 = Meta_K
    altgr    alt    shiftr    keycode  37 = Meta_k
    shift    altgr    alt    shiftr    keycode  37 = Meta_k
    control    alt    shiftr    keycode  37 = Meta_Control_k
    shift    control    alt    shiftr    keycode  37 = Meta_Control_k
    altgr    control    alt    shiftr    keycode  37 = Meta_Control_k
    shift    altgr    control    alt    shiftr    keycode  37 = Meta_Control_k
    shift    shiftl    shiftr    keycode  37 = +H
    control    shiftl    shiftr    keycode  37 = BackSpace
    shift    control    shiftl    shiftr    keycode  37 = BackSpace
    altgr    control    shiftl    shiftr    keycode  37 = BackSpace
    shift    altgr    control    shiftl    shiftr    keycode  37 =
BackSpace
    alt    shiftl    shiftr    keycode  37 = Meta_h
    shift    alt    shiftl    shiftr    keycode  37 = Meta_H
    altgr    alt    shiftl    shiftr    keycode  37 = Meta_h
    shift    altgr    alt    shiftl    shiftr    keycode  37 = Meta_h
    control    alt    shiftl    shiftr    keycode  37 = Meta_BackSpace
    shift    control    alt    shiftl    shiftr    keycode  37 = Meta_BackSpace
    altgr    control    alt    shiftl    shiftr    keycode  37 = Meta_BackSpace
    shift    altgr    control    alt    shiftl    shiftr    keycode
37 = Meta_BackSpace
    ctrll    keycode  37 = +H
    altgr    ctrll    keycode  37 = +H
    shift    altgr    ctrll    keycode  37 = +H
    control    ctrll    keycode  37 = BackSpace
    shift    control    ctrll    keycode  37 = BackSpace
    altgr    control    ctrll    keycode  37 = BackSpace
    shift    altgr    control    ctrll    keycode  37 = BackSpace
    alt    ctrll    keycode  37 = Meta_h
    shift    alt    ctrll    keycode  37 = Meta_H
    altgr    alt    ctrll    keycode  37 = Meta_h
    shift    altgr    alt    ctrll    keycode  37 = Meta_h
    control    alt    ctrll    keycode  37 = Meta_BackSpace
    shift    control    alt    ctrll    keycode  37 = Meta_BackSpace
    altgr    control    alt    ctrll    keycode  37 = Meta_BackSpace
    shift    altgr    control    alt    ctrll    keycode  37 = Meta_BackSpace
    shiftl    ctrll    keycode  37 = +K
    shift    shiftl    ctrll    keycode  37 = +k
    altgr    shiftl    ctrll    keycode  37 = +K
    shift    altgr    shiftl    ctrll    keycode  37 = +K
    control    shiftl    ctrll    keycode  37 = Control_k
    shift    control    shiftl    ctrll    keycode  37 = Control_k
    altgr    control    shiftl    ctrll    keycode  37 = Control_k
    shift    altgr    control    shiftl    ctrll    keycode  37 =
Control_k
    alt    shiftl    ctrll    keycode  37 = Meta_k
    shift    alt    shiftl    ctrll    keycode  37 = Meta_K
    altgr    alt    shiftl    ctrll    keycode  37 = Meta_k
    shift    altgr    alt    shiftl    ctrll    keycode  37 = Meta_k
    control    alt    shiftl    ctrll    keycode  37 = Meta_Control_k
    shift    control    alt    shiftl    ctrll    keycode  37 = Meta_Control_k
    altgr    control    alt    shiftl    ctrll    keycode  37 = Meta_Control_k
    shift    altgr    control    alt    shiftl    ctrll    keycode  37
= Meta_Control_k
    shiftr    ctrll    keycode  37 = +K
    shift    shiftr    ctrll    keycode  37 = +k
    altgr    shiftr    ctrll    keycode  37 = +K
    shift    altgr    shiftr    ctrll    keycode  37 = +K
    control    shiftr    ctrll    keycode  37 = Control_k
    shift    control    shiftr    ctrll    keycode  37 = Control_k
    altgr    control    shiftr    ctrll    keycode  37 = Control_k
    shift    altgr    control    shiftr    ctrll    keycode  37 =
Control_k
    alt    shiftr    ctrll    keycode  37 = Meta_k
    shift    alt    shiftr    ctrll    keycode  37 = Meta_K
    altgr    alt    shiftr    ctrll    keycode  37 = Meta_k
    shift    altgr    alt    shiftr    ctrll    keycode  37 = Meta_k
    control    alt    shiftr    ctrll    keycode  37 = Meta_Control_k
    shift    control    alt    shiftr    ctrll    keycode  37 = Meta_Control_k
    altgr    control    alt    shiftr    ctrll    keycode  37 = Meta_Control_k
    shift    altgr    control    alt    shiftr    ctrll    keycode  37
= Meta_Control_k
    shiftl    shiftr    ctrll    keycode  37 = +H
    altgr    shiftl    shiftr    ctrll    keycode  37 = +H
    shift    altgr    shiftl    shiftr    ctrll    keycode  37 = +H
    control    shiftl    shiftr    ctrll    keycode  37 = BackSpace
    shift    control    shiftl    shiftr    ctrll    keycode  37 =
BackSpace
    altgr    control    shiftl    shiftr    ctrll    keycode  37 =
BackSpace
    shift    altgr    control    shiftl    shiftr    ctrll    keycode
37 = BackSpace
    alt    shiftl    shiftr    ctrll    keycode  37 = Meta_h
    shift    alt    shiftl    shiftr    ctrll    keycode  37 = Meta_H
    altgr    alt    shiftl    shiftr    ctrll    keycode  37 = Meta_h
    shift    altgr    alt    shiftl    shiftr    ctrll    keycode  37
= Meta_h
    control    alt    shiftl    shiftr    ctrll    keycode  37 = Meta_BackSpace
    shift    control    alt    shiftl    shiftr    ctrll    keycode
37 = Meta_BackSpace
    altgr    control    alt    shiftl    shiftr    ctrll    keycode
37 = Meta_BackSpace
    shift    altgr    control    alt    shiftl    shiftr    ctrll
keycode  37 = Meta_BackSpace


On Wed, Dec 5, 2012 at 1:45 PM, cheater cheater <cheater00 at gmail.com> wrote:
> Hi,
> I have recently tried updating a layout I have, called us_split. In
> its basic form it's like the us qwerty layout with a small mod. This
> is to make a specific keyboard (Logitech k400) more usable. The idea
> is to make the up arrow into right shift, down and right arrows into
> right ctrl, right control into right alt, and left arrow into left
> meta. It makes much more sense when you see the keyboard:
>
> http://i.imgur.com/jkfQY.jpg
>
> I call the new fork us_split_k400. It can be found at:
> https://bitbucket.org/cheater/us_split_logitech_k400
>
> the original can be found at:
> https://bitbucket.org/cheater/us_split
>
> the specific diff can be found at:
>
> https://bitbucket.org/cheater/us_split_logitech_k400/commits/5f777c7dfe1a4b176b3409c71030ad8f
>
> I have found the following issues:
>
> 1. Even without the changes above, my layout has regressed. In
> specific: us_split hard-wires caps to esc. That is, if you press the
> button to the left of A, you get esc. This isn't recognized anymore. I
> believe on this pc I have first installed the layout while running a
> fairly early beta of ubuntu 12.04. I have just reinstalled it (using
> python install.py) and the esc key to the left of A is simply gone. On
> the other hand, mapping compose onto the original esc key to the left
> of F1 works as it did before.
>
> 2. in us_split_k400, the arrows and right control don't bear
> remapping. In specific, only setting the right arrow to control_r
> worked. The rest didn't do anything. However, the layout worked
> correctly in a tty after I did sudo loadkeys us_split_k400.
>
> 3. The caps-as-esc key developed VERY weird behaviour: it was esc AND
> caps at the same time. So if you pressed it, you got esc, but the
> status of caps lock changed as well. Again, this worked under
> teletype.
>
>
> I would appreciate any and all tips. This is driving me nuts, and I
> think it might be representative of a deeper problem. I have no idea
> where to start, but if anyone would like me to perform any tests I'd
> love to help out.
>
> Thanks


More information about the xorg mailing list