"empty" model/layout for xkb

Dan Nicholson dbn.lists at gmail.com
Tue Feb 2 06:11:08 PST 2010


On Tue, Feb 2, 2010 at 6:09 AM, Sergey Udaltsov
<sergey.udaltsov at gmail.com> wrote:
> Dan
>
> Well, these changes look a bit odd, but ok, let's have them. Could you
> please create a bug in bugzilla and attach your patch there. Just for
> accountability sake.

I think Jeremy was more asking why they weren't working as expected.
He still gets aliases set in the variant even though he's trying to
disable that.

--
Dan

>
> Thanks,
>
> Sergey
>
> On Tue, Feb 2, 2010 at 2:06 PM, Dan Nicholson <dbn.lists at gmail.com> wrote:
>> On Tue, Jan 26, 2010 at 12:36 PM, Jeremy Huddleston
>> <jeremyhu at freedesktop.org> wrote:
>>> I'm trying to modify xkeyboard-config to create an "empty" xbk rules set.  This way, we can set "empty" as the default in XQuartz and have a clean slate.
>>>
>>> I'm having a bit of trouble getting this to work.  Firstly, I can't seem to figure out how to NOT set the +aliases(qwerty) variant on the keycodes.  Secondly, it doesn't seem to recognize my empty symbols file.
>>>
>>> Can someone fill me in on what I'm missing?
>>
>> I was guessing the same as Peter where base was adding the aliases for
>> all fallbacks, but it looks like you're trying to handle that. Sergey,
>> do you have any ideas with the xkb-config changes below?
>>
>> --
>> Dan
>>
>>>
>>> Thanks,
>>> Jeremy
>>>
>>>
>>> diff --git a/keycodes/Makefile.am b/keycodes/Makefile.am
>>> index c289e14..68c9a54 100644
>>> --- a/keycodes/Makefile.am
>>> +++ b/keycodes/Makefile.am
>>> @@ -6,6 +6,7 @@ dist_keycodes_DATA = \
>>>  aliases \
>>>  amiga \
>>>  ataritt \
>>> +empty \
>>>  evdev \
>>>  fujitsu \
>>>  hp \
>>> diff --git a/keycodes/empty b/keycodes/empty
>>> new file mode 100644
>>> index 0000000..eedc943
>>> --- /dev/null
>>> +++ b/keycodes/empty
>>> @@ -0,0 +1,4 @@
>>> +default xkb_keycodes "empty" {
>>> +    minimum= 8;
>>> +    maximum= 255;
>>> +};
>>> diff --git a/rules/base.m_k.part b/rules/base.m_k.part
>>> index dd0c391..6d5eda0 100644
>>> --- a/rules/base.m_k.part
>>> +++ b/rules/base.m_k.part
>>> @@ -1,5 +1,6 @@
>>>   amiga                =       amiga(de)
>>>   ataritt      =       ataritt(de)
>>> +  empty         =       empty
>>>   sun4         =       sun(type4_euro)
>>>   sun5         =       sun(type5_euro)
>>>   sun6         =       sun(type6_usb)
>>> diff --git a/rules/base.ml_s.part b/rules/base.ml_s.part
>>> index 1c16b6b..31e5d33 100644
>>> --- a/rules/base.ml_s.part
>>> +++ b/rules/base.ml_s.part
>>> @@ -3,6 +3,8 @@
>>>   amiga                $nonlatin               =       xfree68_vndr/amiga(usa1)+%l%(v):2
>>>   amiga                *                       =       xfree68_vndr/amiga(usa1)+%l%(v)
>>>   classmate    us                      =       pc+%l(classmate)
>>> +  empty         *                       =       empty
>>> +  *             empty                   =       empty
>>>   sun4         $nonlatin               =       latin+sun_vndr/us(type4)+%l%(v):2
>>>   sun4         *                       =       latin+sun_vndr/us(type4)+%l%(v)
>>>   sun5         $nonlatin               =       latin+sun_vndr/us(type5)+%l%(v):2
>>> diff --git a/symbols/Makefile.am b/symbols/Makefile.am
>>> index d22d6c3..7724984 100644
>>> --- a/symbols/Makefile.am
>>> +++ b/symbols/Makefile.am
>>> @@ -30,7 +30,7 @@ terminate \
>>>  tj tm tr \
>>>  ua us uz vn \
>>>  za \
>>> -altwin capslock compose ctrl eurosign group inet \
>>> +altwin capslock compose ctrl empty eurosign group inet \
>>>  keypad kpdl level3 level5 nbsp olpc shift srvr_ctrl typo
>>>
>>>  dir_data = $(dist_symbols_DATA)
>>> diff --git a/symbols/empty b/symbols/empty
>>> new file mode 100644
>>> index 0000000..72eb127
>>> --- /dev/null
>>> +++ b/symbols/empty
>>> @@ -0,0 +1,6 @@
>>> +// $XKeyboardConfig$
>>> +
>>> +default
>>> +xkb_symbols "basic" {
>>> +    name[Group1]= "Empty";
>>> +};
>>>
>>>
>>> In my DDX, I'm doing this to set the rules:
>>>
>>> +    XkbRMLVOSet rmlvo = { .rules = "base", .model = "empty", .layout = "empty",
>>> +                          .variant = NULL, .options = NULL };
>>> +    /* We need to really have rules... or something... */
>>> +    XkbSetRulesDflts(&rmlvo);
>>>
>>> These changes result in:
>>>
>>> xkb_keymap {
>>> xkb_keycodes "empty+aliases(qwerty)" {
>>>    minimum = 8;
>>>    maximum = 255;
>>>    virtual indicator 1 = "Caps Lock";
>>>    virtual indicator 2 = "Num Lock";
>>>    virtual indicator 3 = "Shift Lock";
>>>    virtual indicator 4 = "Group 2";
>>>    virtual indicator 5 = "Mouse Keys";
>>>    virtual indicator 6 = "Scroll Lock";
>>> };
>>>
>>> xkb_types "complete" {
>>> ...
>>> };
>>>
>>> xkb_compatibility "complete" {
>>> ...
>>> }
>>>
>>> xkb_symbols "unknown" {
>>>
>>>    key     <> {
>>>        symbols[Group1]= [               a,               A ],
>>>        symbols[Group2]= [           aring,           Aring ]
>>>    };
>>>    modifier_map Mod2 { <> };
>>>    modifier_map Shift { <> };
>>>    modifier_map Lock { <> };
>>>    modifier_map Mod1 { <> };
>>>    modifier_map Control { <> };
>>>    modifier_map Shift { <> };
>>>    modifier_map Mod1 { <> };
>>>    modifier_map Control { <> };
>>>    modifier_map Mod2 { <> };
>>> };
>>>
>>> };
>>>
>>>
>>> _______________________________________________
>>> xorg-devel mailing list
>>> xorg-devel at lists.x.org
>>> http://lists.x.org/mailman/listinfo/xorg-devel
>>>
>>>
>>
>


More information about the xorg-devel mailing list