"empty" model/layout for xkb

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


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