Re: [dwm] key bindings / french layout - another XKB variant

From: Marcin Cieslak <saper_AT_system.pl>
Date: Fri, 12 Oct 2007 16:00:06 +0200

Xavier wrote:

> I see, thanks for the information, it's clearer now.
> That's an interesting alternative, but Riccardo's Xmodmap already fit my
> needs perfectly, so I just used that. I also like that it can be loaded as
> simple user if I wanted to put it on other box.
> Maybe that's also possible with a custom layout though, I don't know.

Attached there is a patch to XKB French layout (on my system it's in the
/usr/local/share/X11/xkb/symbols, your's probably different)

cd /usr/local/share/X11/xkb/symbols
patch < /attached/patch/file
xkbcomp fr :0

To turn it on "live" (without restarting X):

setxkbmap fr(altdigits)

To have it permament update your xorg.conf file in section "InputDevice":

         Option "XkbLayout" "fr(altdigits)"

XKB is very powerful although not very good documented, here is example
what I use:

Section "InputDevice"
        Identifier "Keyboard0"
        Driver "kbd"
        Option "XkbModel" "pc101"
        Option "XkbLayout" "pl,de,ru,fr(altdigits)"
        Option "XkbOptions"
"ctrl:swapcaps,grp:ctrls_toggle,grpled:scroll,altwin:left_meta_win,lv3:ralt"
EndSection

- I get Polish, German, Russian and your modified French
- Swapped Caps Lock and left Ctrl
- Two Ctrls (i.e. old CapsLock+right Ctrl) pressed at once switch the
layout to the next one
- Left windows key is Meta (I am using this as a switch for dwm)
- Right alt switches level 3 group (i.e. I get my Polish letters with
right alt+key)

This puts your alternative French layout as one of the standard layouts
in the system. Also you have nice possibility to switch layouts, not
that easy when using Xmodmap.

You may wish to submit this to X.org and see your layout default on your
system after the next X.org update :-)

--Marcin

--- fr.orig Fri Oct 12 15:40:08 2007
+++ fr Fri Oct 12 15:47:14 2007
@@ -46,6 +46,24 @@
 };
 
 partial alphanumeric_keys
+xkb_symbols "altdigits" {
+
+ include "fr(basic)"
+
+ key <AE01> { [ 1, ampersand, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, eacute, asciitilde, oneeighth ] };
+ key <AE03> { [ 3, quotedbl, numbersign, sterling ] };
+ key <AE04> { [ 4, apostrophe, braceleft, dollar ] };
+ key <AE05> { [ 5, parenleft, bracketleft, threeeighths ] };
+ key <AE06> { [ 6, minus, bar, fiveeighths ] };
+ key <AE07> { [ 7, egrave, grave, seveneighths ] };
+ key <AE08> { [ 8, underscore, backslash, trademark ] };
+ key <AE09> { [ 9, ccedilla, asciicircum, plusminus ] };
+ key <AE10> { [ 0, agrave, at, degree ] };
+};
+
+
+partial alphanumeric_keys
 xkb_symbols "Sundeadkeys" {
 
     // Modifies the basic French layout to use the Sun dead keys
Received on Wed Oct 17 2007 - 17:41:41 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:00:14 UTC