[PATCH] XKB-Config.xml: update for current releases

Peter Hutterer peter.hutterer at who-t.net
Mon Nov 1 20:17:07 PDT 2010


On Mon, Nov 01, 2010 at 07:42:09PM -0700, Alan Coopersmith wrote:
> - Document xorg.conf.d keyboard matches instead of kbd driver entries
>   in xorg.conf
> - Update to current xkb-config file names & paths, and link to the
>   xkb-config project site
> - Add an example of enabling the ctrl-alt-bksp zapping sequence
> 
> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>

Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

Cheers,
  Peter

> ---
>  general/input/XKB-Config.xml |  103 +++++++++++++++++++++++++++++------------
>  1 files changed, 73 insertions(+), 30 deletions(-)
> 
> diff --git a/general/input/XKB-Config.xml b/general/input/XKB-Config.xml
> index 118f189..9326c79 100644
> --- a/general/input/XKB-Config.xml
> +++ b/general/input/XKB-Config.xml
> @@ -1,6 +1,6 @@
>  <?xml version="1.0" encoding="UTF-8"?>
> -<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
> -          "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
> +<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
> +          "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
>  ]>
>  
>  <article>
> @@ -17,13 +17,17 @@
>  	<surname>Pascal</surname>
>        </author>
>      </authorgroup>
> -    <pubdate>25 November 2002</pubdate>
> +    <pubdate>November 2010</pubdate>
>  
>      <abstract>
>  
>        <para>
>  This document describes how to configure Xorg XKB from a user's point
>  of view. It covers basic configuration syntax and gives also a few examples.
> +This version covers Xorg server versions 1.8 and later, used with the
> +data files from the <ulink
> +url="http://www.freedesktop.org/wiki/Software/XKeyboardConfig"
> +>xkeyboard-config</ulink> project.
>        </para>
>  
>      </abstract>
> @@ -40,6 +44,15 @@ you might need. Unless you have a completely atypical keyboard you really don't
>  need to touch any of the xkb configuration files.
>      </para>
>  
> +    <para>
> +Some desktop environments now provide integrated graphical configuration
> +tools for setting XKB configuration as part of your desktop session.  The
> +instructions in this document are provided for those without such support,
> +those who need to configure XKB before the session startup (such as at the
> +login screen), or those who need to perform more advanced configuration
> +than those tools provide.
> +    </para>
> +
>    </sect1>
>  
>    <sect1>
> @@ -98,13 +111,21 @@ files of rules to be used for keyboard mapping composition
>      </para>
>  
>      <para>
> -The proper rules file depends on your vendor. In reality, the commonest
> -file of rules is <filename>xorg</filename>. For each rules file there is a
> -description file named
> +The rules file used depends on your system.  The rules files commonly
> +used with Xorg are provided by <package>xkeyboard-config</package>.
> +On Linux systems, the <filename>evdev</filename> rules are most
> +commonly used, on other systems the <filename>base</filename> rules
> +are used.  Some additional rules files exist for historical reasons,
> +but are no longer widely used.  In general, it's best to simply not
> +specify the rules file, in order to use the default rules selected
> +automatically by the X server.
> +    </para>
> +    <para>
> +For each rules file there is a description file named
>  <filename>&lt;<replaceable>vendor-rules</replaceable>&gt;.lst</filename>,
> -for instance <filename>xorg.lst</filename> which is located in
> +for instance <filename>base.lst</filename> which is located in
>  the xkb configuration subdirectory <filename>rules</filename>
> -(for example <filename>/etc/X11/xkb/rules</filename>).
> +(for example <filename>/usr/share/X11/xkb/rules</filename>).
>      </para>
>  
>      <sect2>
> @@ -112,16 +133,16 @@ the xkb configuration subdirectory <filename>rules</filename>
>  
>        <para>
>  Let's say you want to configure a PC-style American keyboard with 104
> -keys as described in <filename>xorg.lst</filename>.  This can be done by simply
> -writing several lines from below to your <filename>xorg.conf</filename>
> -configuration file (previously known
> -as <filename>/etc/X11/XF86Config-4</filename>
> -or <filename>/etc/X11/XF86Config</filename>):
> +keys as described in <filename>base.lst</filename>.  This can be done
> +by simply writing several lines from below to a new configuration file
> +in <filename>/etc/X11/xorg.conf.d</filename>, such
> +as <filename>/etc/X11/xorg.conf.d/90-custom-kbd.conf</filename>.
>  
> - 	<screen>
> -Section "InputDevice"
> -    Identifier "Keyboard1"
> -    Driver "kbd"
> +
> +	<screen>
> +Section "InputClass"
> +    Identifier "keyboard defaults"
> +    MatchIsKeyboard "on"
>  
>      Option "XkbModel" "pc104"
>      Option "XkbLayout" "us"
> @@ -143,13 +164,35 @@ Of course, this can be also done at runtime using the utility
>  The shell command loading the same keyboard mapping would look like:
>  
>  	<screen>
> -setxkbmap -rules xorg -model pc104 -layout us -option ""
> +setxkbmap -model pc104 -layout us -option ""
>  	</screen>
>  
>  The configuration and the shell command would be very analogous
>  for most other layouts (internationalized mappings).
>        </para>
>  
> +      <para>
> +If you wanted to enable the <keycombo action='simul'><keycap>Ctrl</keycap>
> +<keycap>Alt</keycap><keycap>Backspace</keycap></keycombo> sequence to kill
> +the X server by default, you could create a configuration snippet
> +<filename>/etc/X11/xorg.conf.d/90-zap.conf</filename> containing:
> +
> +	<screen>
> +Section "InputClass"
> +    Identifier "keyboard defaults"
> +    MatchIsKeyboard "on"
> +
> +    Option "XKbOptions" "terminate:ctrl_alt_bksp"
> +EndSection
> +	</screen>
> +
> +This would be equivalent to running the shell command:
> +
> +	<screen>
> +setxkbmap -option "terminate:ctrl_alt_bksp"
> +	</screen>
> +      </para>
> +
>      </sect2>
>  
>      <sect2>
> @@ -175,9 +218,9 @@ combination for switching among them.
>  Then the configuration snippet could look like this:
>  
>  	<screen>
> -Section "InputDevice"
> -    Identifier "Keyboard1"
> -    Driver "kbd"
> +Section "InputClass"
> +    Identifier "Logitech Cordless"
> +    MatchIsKeyboard   "on"
>  
>      Option "XkbModel" "logicordless"
>      Option "XkbLayout" "us,cz,de"
> @@ -190,7 +233,7 @@ Of course, this can be also done at runtime using the utility
>  The shell command loading the same keyboard mapping would look like:
>  
>  	<screen>
> -setxkbmap -rules xorg -model logicordless -layout "us,cz,de" \
> +setxkbmap -model logicordless -layout "us,cz,de" \
>           -option "grp:alt_shift_toggle"
>  	</screen>
>  
> @@ -208,9 +251,9 @@ the czech keyboard mapping to use another variant but basic.
>  The configuration snippet then changes into:
>  
>  	<screen>
> -Section "InputDevice"
> -    Identifier "Keyboard1"
> -    Driver "kbd"
> +Section "InputClass"
> +    Identifier "Logitech Cordless"
> +    MatchIsKeyboard   "on"
>  
>      Option "XkbModel" "logicordless"
>      Option "XkbLayout" "us,cz,de"
> @@ -230,7 +273,7 @@ variant with an enhanced definition of the backslash key).
>  Analogously, the loading runtime will change to:
>  
>  	<screen>
> -setxkbmap -rules xorg -model logicordless -layout "us,cz,de" \
> +setxkbmap -model logicordless -layout "us,cz,de" \
>           -variant ",bksl," -option "grp:alt_shift_toggle"
>  	</screen>
>  
> @@ -328,11 +371,11 @@ each key produce in order to preserve compatibility with XKB-unware clients
>  Look at the following example:
>  
>  	<screen>
> -Section "InputDevice"
> -    Identifier "Keyboard0"
> -    Driver "kbd"
> +Section "InputClass"
> +    Identifier        "keyboard defaults"
> +    MatchIsKeyboard   "on"
>  
> -    Option "XkbKeycodes" "xorg"
> +    Option "XkbKeycodes" "xfree86"
>      Option "XkbTypes"    "default"
>      Option "XkbSymbols"  "en_US(pc104)+de+swapcaps"
>      Option "XkbGeometry" "pc(pc104)"
> -- 
> 1.7.3.2


More information about the xorg-devel mailing list