Changing non-printing keys in keyboard layout

Dirk Wallenstein halsmit at t-online.de
Mon May 9 08:19:58 PDT 2011


On Mon, May 09, 2011 at 05:56:42PM +0300, Dotan Cohen wrote:
> On Mon, May 9, 2011 at 17:26, Dirk Wallenstein <halsmit at t-online.de> wrote:
> > On Mon, May 09, 2011 at 02:56:03PM +0300, Dotan Cohen wrote:
> >> I seem to have a problem with the modifier keys affecting other
> >> layouts. For instance, in ~/symbols/pc I have added these lines to the
> >> bottom:
> >>
> >> partial  modifier_keys
> >> xkb_symbols "noah" {
> >>    modifier_map Lock { <AB05> };
> >> };
> >>
> >> However, now the B key is Caps Lock in the standard US keyboard layout
> >> as well! How can I restrict this change only to the Noah variant?
> >> Would I be better off making Noah not a variant of US but rather it's
> >> own separate layout?
> > Do you include the "noah" symbols from somewhere else?
> > Isn't it simply this?:
> >
> >    xkb_symbols "noah" {
> >        include "us"
> >        modifier_map Lock { <AB05> };
> >    };
> >
> 
> I'm sorry, I'm not sure that I follow you. From where else should I
> have included the "noah" symbols? This is what I have done (the
> unshown parts of the files have not been touched):
> 
> ✈demios:~$ tail /usr/share/X11/xkb/symbols/us -n 68
> xkb_symbols "noah" {
>   name[Group1]= "USA - Noah Ergonomic";
>   include "pc(noah)"
>     key <TLDE> { [ 5,             percent     ] };
>     key <AE01> { [ 4,             dollar      ] };
>     key <AE02> { [ 3,             numbersign  ] };
>     key <AE03> { [ 2,             at          ] };
>     key <AE04> { [ 1,             exclam      ] };
>     key <AE05> { [ Escape                     ] };
>     key <AE06> { [ grave,         asciitilde  ] };
>     key <AE07> { [ minus,         underscore  ] };
>     key <AE08> { [ equal,         plus        ] };
>     key <AE09> { [ 6,             asciicircum ] };
>     key <AE10> { [ 7,             ampersand   ] };
>     key <AE11> { [ 8,             asterisk    ] };
>     key <AE12> { [ 9,             parenleft   ] };
>     key <BKSP> { [ 0,             parenright  ] };
> 
>     key <TAB>  { [ q,             Q           ] };
>     key <AD01> { [ w,             W           ] };
>     key <AD02> { [ e,             E           ] };
>     key <AD03> { [ r,             R           ] };
>     key <AD04> { [ t,             T           ] };
>     key <AD05> { [ Tab,           Tab         ] };
>     key <AD06> { [ bracketleft,   braceleft   ] };
>     key <AD07> { [ bracketright,  braceright  ] };
>     key <AD08> { [ y,             Y           ] };
>     key <AD09> { [ u,             U           ] };
>     key <AD10> { [ i,             I           ] };
>     key <AD11> { [ o,             O           ] };
>     key <AD12> { [ p,             P           ] };
>     key <BKSL> { [ slash,         question    ] };
> 
>     key <CAPS> { [ a,             A           ] };
>     key <AC01> { [ s,             S           ] };
>     key <AC02> { [ d,             D           ] };
>     key <AC03> { [ f,             F           ] };
>     key <AC04> { [ g,             G           ] };
>     key <AC05> { [ Return                     ] };
>     key <AC06> { [ apostrophe,    quotedbl    ] };
>     key <AC07> { [ Return                     ] };
>     key <AC08> { [ h,             H           ] };
>     key <AC09> { [ j,             J           ] };
>     key <AC10> { [ k,             K           ] };
>     key <AC11> { [ l,             L           ] };
>     key <RTRN> { [ semicolon,     colon       ] };
> 
>     key <LFSH> { [ z,             Z           ] };
>     key <AB01> { [ x,             X           ] };
>     key <AB02> { [ c,             C           ] };
>     key <AB03> { [ v,             V           ] };
>     key <AB04> { [ b,             B           ] };
>     key <AB05> { [ Backspace,     Caps_Lock   ] };
>     key <AB06> { [ Super_L,       Super_R     ] };//test these
>     key <AB07> { [ backslash,     bar         ] };
>     key <AB08> { [ n,             N           ] };
>     key <AB09> { [ m,             M           ] };
>     key <AB10> { [ comma,         less        ] };
>     key <RTSH> { [ period,        greater     ] };
> 
>     key <LCTL> { [ Control_L                  ] };
>     key <LWIN> { [ Alt_L                      ] };
>     key <LALT> { [ Shift_L                    ] };
>     key <SPCE> { [ space                      ] };
>     key <RALT> { [ Shift_R                    ] };
>     key <RWIN> { [ Alt_R                      ] };//test this
>     key <RCTL> { [ Control_R                  ] };
> };
> ✈demios:~$
> ✈demios:~$ tail /usr/share/X11/xkb/symbols/pc -n 4
> partial  modifier_keys
> xkb_symbols "noah" {
>    modifier_map Lock { <AB05> };
> };
> ✈demios:~$

I have some holes concerning how a final keymap gets assembled, I'm
afraid.  Are you aware of the registration in the *.dir files and such?
Maybe add hints to the us additions:
    partial alphanumeric_keys modifier_keys
If that doesn't help I would recommend the xkeyboard-config mailing
list:
http://listserv.bat.ru/xkb/List.html

-- 
Cheers,
  Dirk



More information about the xorg mailing list