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 215449a01..4a068867d 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 $ |