"empty" model/layout for xkb
Sergey Udaltsov
sergey.udaltsov at gmail.com
Tue Feb 2 06:09:23 PST 2010
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.
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