"empty" model/layout for xkb

Sergey Udaltsov sergey.udaltsov at gmail.com
Tue Feb 2 17:03:57 PST 2010


Jeremy,

I just tried

setxkbmap -model "" -layout "" -option "" -print
xkb_keymap {
	xkb_keycodes  { include "evdev"	};
	xkb_types     { include "complete"	};
	xkb_geometry  { include "pc(pc104)"	};
};

The values for keycodes, types, geometry are taken from rules/evdev
! model =  keycodes
...
*		=	evdev
...
! model = types
...
*             =       complete
...
! model         =       geometry
...
  *             =       pc(pc104)

Since there are no default symbols - nothing is used, and that makes
xkbdomp very unhappy. You should explicitly specify empty symbols
section, I guess. Same applies to compat.

And I do not see any aliases!

Sergey

On Tue, Feb 2, 2010 at 2:11 PM, Dan Nicholson <dbn.lists at gmail.com> wrote:
> 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