diff options
Diffstat (limited to 'xorg-server/xkeyboard-config/docs/README.config')
-rw-r--r-- | xorg-server/xkeyboard-config/docs/README.config | 390 |
1 files changed, 195 insertions, 195 deletions
diff --git a/xorg-server/xkeyboard-config/docs/README.config b/xorg-server/xkeyboard-config/docs/README.config index 4a068867d..215449a01 100644 --- a/xorg-server/xkeyboard-config/docs/README.config +++ b/xorg-server/xkeyboard-config/docs/README.config @@ -1,195 +1,195 @@ - The XKB Configuration Guide - - Kamil Toman, Ivan U. Pascal - - 25 November 2002 - - Abstract - - This document describes how to configure XFree86 XKB from a user's - point a few. It converts basic configuration syntax and gives also - a few examples. - -1. Overview - -The XKB configuration is decomposed into a number of components. Selecting -proper parts and combining them back you can achieve most of configurations -you might need. Unless you have a completely atypical keyboard you really -don't need to touch any of xkb configuration files. - -2. Selecting XKB Configuration - -The easiest and the most natural way how to specify a keyboard mapping is to -use rules component. As its name suggests it describes a number of general -rules how to combine all bits and pieces into a valid and useful keyboard -mapping. All you need to do is to select a suitable rules file and then to -feed it with a few parameters that will adjust the keyboard behaviour to ful- -fill your needs. - -The parameters are: - - o XkbRules - files of rules to be used for keyboard mapping composition - - o XkbModel - name of model of your keyboard type - - o XkbLayout - layout(s) you intend to use - - o XkbVariant - variant(s) of layout you intend to use - - o XkbOptions - extra xkb configuration options - -The proper rules file depends on your vendor. In reality, the commonest file -of rules is xfree86. For each rules file there is a description file named -<vendor-rules>.lst, for instance xfree86.lst which is located in xkb configu- -ration subdirectory rules (for example /etc/X11/xkb/rules). - -2.1 Basic Configuration - -Let's say you want to configure a PC style America keyboard with 104 keys as -described in xfree86.lst. It can be done by simply writing several lines from -below to you XFree86 configuration file (often found as /etc/X11/XF86Config-4 -or /etc/X11/XF86Config): - - Section "InputDevice" - Identifier "Keyboard1" - Driver "Keyboard" - - Option "XkbModel" "pc104" - Option "XkbLayout" "us" - Option "XKbOptions" "" - EndSection - -The values of parameters XkbModel and XkbLayout are really not surprising. -The parameters XkbOptions has been explicitly set to empty set of parameters. -The parameter XkbVariant has been left out. That means the default variant -named basic is loaded. - -Of course, this can be also done at runtime using utility setxkbmap. Shell -command loading the same keyboard mapping would look like: - - setxkbmap -rules xfree86 -model pc104 -layout us -option "" - -The configuration and the shell command would be very analogical for most -other layouts (internationalized mappings). - -2.2 Advanced Configuration - -Since XFree86 4.3.x you can use multi-layouts xkb configuration. What does -it mean? Basically it allows to load up to four different keyboard layouts at -a time. Each such layout would reside in its own group. The groups (unlike -complete keyboard remapping) can be switched very fast from one to another by -a combination of keys. - -Let's say you want to configure your new Logitech cordless desktop keyboard, -you intend to use three different layouts at the same time - us, czech and -german (in this order), and that you are used to Alt-Shift combination for -switching among them. - -Then the configuration snippet could look like this: - - Section "InputDevice" - Identifier "Keyboard1" - Driver "Keyboard" - - Option "XkbModel" "logicordless" - Option "XkbLayout" "us,cz,de" - Option "XKbOptions" "grp:alt_shift_toggle" - EndSection - -Of course, this can be also done at runtime using utility setxkbmap. Shell -command loading the same keyboard mapping would look like: - - setxkbmap -rules xfree86 -model logicordless -layout "us,cz,de" \ - -option "grp:alt_shift_toggle" - -2.3 Even More Advanced Configuration - -Okay, let's say you are more demanding. You do like the example above but you -want it to change a bit. Let's imagine you want the czech keyboard mapping to -use another variant but basic. The configuration snippet then changes into: - - Section "InputDevice" - Identifier "Keyboard1" - Driver "Keyboard" - - Option "XkbModel" "logicordless" - Option "XkbLayout" "us,cz,de" - Option "XkbVariant" ",bksl," - Option "XKbOptions" "grp:alt_shift_toggle" - EndSection - -That's seems tricky but it is not. The logic for settings of variants is the -same as for layouts, that means the first and the third variant settings are -left out (set to basic), the second is set to bksl (a special variant with an -enhanced definition of the backslash key). - -Analogically, the loading runtime will change to: - - setxkmap -rules xfree86 -model logicordless -layout "us,cz,de" \ - -variant ",bksl," -option "grp:alt_shift_toggle" - -2.4 Basic Global Options - -See rules/*.lst files. - -3. Direct XKB Configuration - -Generally, you can directly prescribe what configuration of each of basic xkb -components should be used to form the resulting keyboard mapping. This -method is rather "brute force". You precisely need to know the structure and -the meaning of all of used configuration components. - -This method also exposes all xkb configuration details directly into XFree86 -configuration file which is a not very fortunate fact. In rare occasions it -may be needed, though. So how does it work? - -3.1 Basic Components - -There are five basic components used to form a keyboard mapping: - - o key codes - a translation of the scan codes produced by the keyboard - into a suitable symbolic form - - o types - a specification of what various combinations of modifiers pro- - duce - - o key symbols - a translation of symbolic key codes into actual symbols - - o geometry - a description of physical keyboard geometry - - o compatibility maps - a specification of what action should each key pro- - duce in order to preserve compatibility with XKB-unware clients - -3.2 Example Configuration - -Look at the following example: - - Section "InputDevice" - Identifier "Keyboard0" - Driver "Keyboard" - - Option "XkbKeycodes" "xfree86" - Option "XkbTypes" "default" - Option "XkbSymbols" "en_US(pc104)+de+swapcaps" - Option "XkbGeometry" "pc(pc104)" - Option "XkbCompat" "basic+pc+iso9995" - EndSection - -This configuration sets the standard XFree86 default interpretation of key- -board keycodes, sets the default modificator types. The symbol table is com- -posed of extended US keyboard layout in its variant for pc keyboards with 104 -keys plus all keys for german layout are redefined respectively. Also the -logical meaning of Caps-lock and Control keys is swapped. The standard key- -board geometry (physical look) is set to pc style keyboard with 104 keys. The -compatibility map is set to allow basic shifting, to allow Alt keys to be -interpreted and also to allow iso9995 group shifting. - -4. Keymap XKB Configuration - -It is the formerly used way to configure xkb. The user included a special -keymap file which specified the direct xkb configuration. This method has -been obsoleted by previously described rules files which are far more flexi- -ble and allow simpler and more intuitive syntax. It is preserved merely for -compatibility reasons. Avoid using it if it is possible. - - Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/XKB-Config.sgml,v 1.4 dawes Exp $ + The XKB Configuration Guide
+
+ Kamil Toman, Ivan U. Pascal
+
+ 25 November 2002
+
+ Abstract
+
+ This document describes how to configure XFree86 XKB from a user's
+ point a few. It converts basic configuration syntax and gives also
+ a few examples.
+
+1. Overview
+
+The XKB configuration is decomposed into a number of components. Selecting
+proper parts and combining them back you can achieve most of configurations
+you might need. Unless you have a completely atypical keyboard you really
+don't need to touch any of xkb configuration files.
+
+2. Selecting XKB Configuration
+
+The easiest and the most natural way how to specify a keyboard mapping is to
+use rules component. As its name suggests it describes a number of general
+rules how to combine all bits and pieces into a valid and useful keyboard
+mapping. All you need to do is to select a suitable rules file and then to
+feed it with a few parameters that will adjust the keyboard behaviour to ful-
+fill your needs.
+
+The parameters are:
+
+ o XkbRules - files of rules to be used for keyboard mapping composition
+
+ o XkbModel - name of model of your keyboard type
+
+ o XkbLayout - layout(s) you intend to use
+
+ o XkbVariant - variant(s) of layout you intend to use
+
+ o XkbOptions - extra xkb configuration options
+
+The proper rules file depends on your vendor. In reality, the commonest file
+of rules is xfree86. For each rules file there is a description file named
+<vendor-rules>.lst, for instance xfree86.lst which is located in xkb configu-
+ration subdirectory rules (for example /etc/X11/xkb/rules).
+
+2.1 Basic Configuration
+
+Let's say you want to configure a PC style America keyboard with 104 keys as
+described in xfree86.lst. It can be done by simply writing several lines from
+below to you XFree86 configuration file (often found as /etc/X11/XF86Config-4
+or /etc/X11/XF86Config):
+
+ Section "InputDevice"
+ Identifier "Keyboard1"
+ Driver "Keyboard"
+
+ Option "XkbModel" "pc104"
+ Option "XkbLayout" "us"
+ Option "XKbOptions" ""
+ EndSection
+
+The values of parameters XkbModel and XkbLayout are really not surprising.
+The parameters XkbOptions has been explicitly set to empty set of parameters.
+The parameter XkbVariant has been left out. That means the default variant
+named basic is loaded.
+
+Of course, this can be also done at runtime using utility setxkbmap. Shell
+command loading the same keyboard mapping would look like:
+
+ setxkbmap -rules xfree86 -model pc104 -layout us -option ""
+
+The configuration and the shell command would be very analogical for most
+other layouts (internationalized mappings).
+
+2.2 Advanced Configuration
+
+Since XFree86 4.3.x you can use multi-layouts xkb configuration. What does
+it mean? Basically it allows to load up to four different keyboard layouts at
+a time. Each such layout would reside in its own group. The groups (unlike
+complete keyboard remapping) can be switched very fast from one to another by
+a combination of keys.
+
+Let's say you want to configure your new Logitech cordless desktop keyboard,
+you intend to use three different layouts at the same time - us, czech and
+german (in this order), and that you are used to Alt-Shift combination for
+switching among them.
+
+Then the configuration snippet could look like this:
+
+ Section "InputDevice"
+ Identifier "Keyboard1"
+ Driver "Keyboard"
+
+ Option "XkbModel" "logicordless"
+ Option "XkbLayout" "us,cz,de"
+ Option "XKbOptions" "grp:alt_shift_toggle"
+ EndSection
+
+Of course, this can be also done at runtime using utility setxkbmap. Shell
+command loading the same keyboard mapping would look like:
+
+ setxkbmap -rules xfree86 -model logicordless -layout "us,cz,de" \
+ -option "grp:alt_shift_toggle"
+
+2.3 Even More Advanced Configuration
+
+Okay, let's say you are more demanding. You do like the example above but you
+want it to change a bit. Let's imagine you want the czech keyboard mapping to
+use another variant but basic. The configuration snippet then changes into:
+
+ Section "InputDevice"
+ Identifier "Keyboard1"
+ Driver "Keyboard"
+
+ Option "XkbModel" "logicordless"
+ Option "XkbLayout" "us,cz,de"
+ Option "XkbVariant" ",bksl,"
+ Option "XKbOptions" "grp:alt_shift_toggle"
+ EndSection
+
+That's seems tricky but it is not. The logic for settings of variants is the
+same as for layouts, that means the first and the third variant settings are
+left out (set to basic), the second is set to bksl (a special variant with an
+enhanced definition of the backslash key).
+
+Analogically, the loading runtime will change to:
+
+ setxkmap -rules xfree86 -model logicordless -layout "us,cz,de" \
+ -variant ",bksl," -option "grp:alt_shift_toggle"
+
+2.4 Basic Global Options
+
+See rules/*.lst files.
+
+3. Direct XKB Configuration
+
+Generally, you can directly prescribe what configuration of each of basic xkb
+components should be used to form the resulting keyboard mapping. This
+method is rather "brute force". You precisely need to know the structure and
+the meaning of all of used configuration components.
+
+This method also exposes all xkb configuration details directly into XFree86
+configuration file which is a not very fortunate fact. In rare occasions it
+may be needed, though. So how does it work?
+
+3.1 Basic Components
+
+There are five basic components used to form a keyboard mapping:
+
+ o key codes - a translation of the scan codes produced by the keyboard
+ into a suitable symbolic form
+
+ o types - a specification of what various combinations of modifiers pro-
+ duce
+
+ o key symbols - a translation of symbolic key codes into actual symbols
+
+ o geometry - a description of physical keyboard geometry
+
+ o compatibility maps - a specification of what action should each key pro-
+ duce in order to preserve compatibility with XKB-unware clients
+
+3.2 Example Configuration
+
+Look at the following example:
+
+ Section "InputDevice"
+ Identifier "Keyboard0"
+ Driver "Keyboard"
+
+ Option "XkbKeycodes" "xfree86"
+ Option "XkbTypes" "default"
+ Option "XkbSymbols" "en_US(pc104)+de+swapcaps"
+ Option "XkbGeometry" "pc(pc104)"
+ Option "XkbCompat" "basic+pc+iso9995"
+ EndSection
+
+This configuration sets the standard XFree86 default interpretation of key-
+board keycodes, sets the default modificator types. The symbol table is com-
+posed of extended US keyboard layout in its variant for pc keyboards with 104
+keys plus all keys for german layout are redefined respectively. Also the
+logical meaning of Caps-lock and Control keys is swapped. The standard key-
+board geometry (physical look) is set to pc style keyboard with 104 keys. The
+compatibility map is set to allow basic shifting, to allow Alt keys to be
+interpreted and also to allow iso9995 group shifting.
+
+4. Keymap XKB Configuration
+
+It is the formerly used way to configure xkb. The user included a special
+keymap file which specified the direct xkb configuration. This method has
+been obsoleted by previously described rules files which are far more flexi-
+ble and allow simpler and more intuitive syntax. It is preserved merely for
+compatibility reasons. Avoid using it if it is possible.
+
+ Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/XKB-Config.sgml,v 1.4 dawes Exp $
|