[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#343929: marked as done (Corrected Keys for Cherry CyMotion Master Linux)



Your message dated Sun, 13 Jan 2008 16:32:06 +0000
with message-id <E1JE5kk-0004M8-Az@ries.debian.org>
and subject line Bug#343929: fixed in xkeyboard-config 1.1~cvs.20080104.1-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Package: xlibs
Version: 6.8.2.dfsg.1-11
Severity: wishlist
Tags: patch

I did a new symbols layout for the Cherry CyMotion Master Linux. As it
is simmiliar to the XPress I think that the XPress definition is just
wrong for several keys.

I simpely whould like to have a more easier way to select the keyboard
as to use:
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"de"
	Option		"XkbVariant"	"nodeadkeys"
	Option		"XkbSymbols"	"pc/pc(pc105)+pc/de(nodeadkeys)+level3(ralt_switch_multikey)+inet(cherrybluec)"

Here is the patch to adjust it:
diff -ru xkb.orig/rules/xorg.lst xkb/rules/xorg.lst
- --- xkb.orig/rules/xorg.lst	2005-12-18 20:39:37.000000000 +0100
+++ xkb/rules/xorg.lst	2005-12-18 20:41:30.000000000 +0100
@@ -33,6 +33,7 @@
   cherryblue	Cherry Blue Line CyBo@rd
   cherrybluea	Cherry Blue Line CyBo@rd (alternate option)
   cherryblueb   Cherry CyMotion Master XPress
+  cherrybluec   Cherry CyMotion Master Linux
   chicony	Chicony Internet Keyboard
   chicony9885	Chicony KB-9885
   compaqeak8	Compaq Easy Access Keyboard
diff -ru xkb.orig/rules/xorg.xml xkb/rules/xorg.xml
- --- xkb.orig/rules/xorg.xml	2005-12-18 20:39:45.000000000 +0100
+++ xkb/rules/xorg.xml	2005-12-18 20:41:11.000000000 +0100
@@ -293,6 +293,12 @@
     </model>
     <model>
       <configItem>
+        <name>cherrybluec</name>
+        <description>Cherry CyMotion Master Linux</description>
+      </configItem>
+    </model>
+    <model>
+      <configItem>
         <name>cherrybluea</name>
         <description>Cherry Blue Line CyBo@rd (alternate option)</description>
         <description xml:lang="cs">Cherry Blue Line CyBo@rd (alternativní volba)</description>
diff -ru xkb.orig/symbols/inet xkb/symbols/inet
- --- xkb.orig/symbols/inet	2005-12-18 20:42:00.000000000 +0100
+++ xkb/symbols/inet	2005-12-18 21:01:54.000000000 +0100
@@ -357,6 +357,49 @@
 };
 
 partial alphanumeric_keys
+xkb_symbols "cherrybluec" {
+    name[Group1]= "Cherry CyMotion Master Linux";
+
+    key <I0B>	{	[ XF86ScrollUp		]	};
+    key <I12>   {       [ XF86ScrollDown        ]       };
+    key <I17>   {       [ XF86Cut               ]       };
+    key <I18>   {       [ XF86Copy              ]       };
+    key <I0A>   {       [ XF86Paste             ]       };
+    key <I71>   {       [ XF86Launch0           ]       };
+    key <I2C>   {       [ XF86Launch1           ]       };
+    key <I72>   {       [ XF86Launch2           ]       };
+    key <I07>   {       [ XF86ApplicationRight  ]       };
+    key <I08>   {       [ XF86ApplicationLeft   ]       };
+    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
+    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
+    key <I20>   {       [ XF86AudioMute         ]       };
+    key <I6D>   {       [ XF86AudioMedia        ]       };
+    key <I67>   {       [ XF86Refresh           ]       };
+    key <I10>   {       [ XF86AudioPrev         ]       };
+    key <I19>   {       [ XF86AudioNext         ]       };
+    key <I70>   {       [ XF86Eject             ]       };
+    key <I32>   {       [ XF86HomePage          ]       };
+    key <I6A>   {       [ XF86Back              ]       };
+    key <I69>   {       [ XF86Forward           ]       };
+    key <I68>   {       [ XF86Stop              ]       };
+    key <FK16>  {       [ XF86Reload            ]       };
+    key <I65>   {       [ XF86Search            ]       };
+    key <I66>   {       [ XF86MyComputer        ]       };
+    key <I02>   {       [ XF86HomePage          ]       };
+    key <I6C>   {       [ XF86Mail              ]       };
+    key <PRSC>  {       [ XF86Terminal          ]       };
+    key <I21>   {       [ XF86Calculator        ]       };
+    key <I1E>   {       [ XF86AudioRaiseVolume  ]       };
+    key <I26>   {       [ XF86AudioMute         ]       };
+    key <I25>   {       [ XF86AudioLowerVolume  ]       };
+    key <XFER>  {       [ XF86Go                ]       };
+    key <I24>   {       [ XF86AudioStop         ]	};
+    key <I22>   {       [ XF86AudioPlay, XF86AudioPause ] };
+    key <I63>   {       [ XF86WakeUp            ]	};
+    key <I5F>   {       [ XF86Standby           ]	};
+};
+
+partial alphanumeric_keys
 xkb_symbols "cherrybluea" {
     name[Group1]= "Cherry Blue Line CyBo@rd (alternate option)";
 


- -- Package-specific info:
Keyboard-related contents of X.Org X server log file
/var/log/Xorg.0.log:
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Default Screen" (0)
(**) |   |-->Monitor "Monitor"
(**) |   |-->Device "Generic Video Card"
(**) |-->Input Device "Keyboard"
(**) Option "XkbSymbols" "pc/pc(pc102)+pc/de(nodeadkeys)+level3(ralt_switch_multikey)"
(**) XKB: symbols: "pc/pc(pc102)+pc/de(nodeadkeys)+level3(ralt_switch_multikey)"
(**) Option "XkbRules" "xfree86"
(**) XKB: rules: "xfree86"
(**) Option "XkbModel" "pc102"
(**) XKB: model: "pc102"
(**) Option "XkbLayout" "de"
(**) XKB: layout: "de"
(**) Option "XkbVariant" "nodeadkeys"
(**) XKB: variant: "nodeadkeys"
(==) Keyboard: CustomKeycode disabled
(**) |-->Input Device "Mouse"
(WW) `fonts.dir' not found (or not valid) in "/usr/local/share/fonts".
	Entry deleted from font path.
	(Run 'mkfontdir' on "/usr/local/share/fonts").
(WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts".
- --
(II) LoadModule: "nvidia"
(II) Loading /usr/X11R6/lib/modules/drivers/nvidia_drv.o
(II) Module nvidia: vendor="NVIDIA Corporation"
	compiled for 4.0.2, module version = 1.0.7174
	Module class: XFree86 Video Driver
(II) LoadModule: "keyboard"
(II) Loading /usr/X11R6/lib/modules/input/keyboard_drv.o
(II) Module keyboard: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 0.4
(II) LoadModule: "mouse"
(II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o
- --
Symbol __glXgetActiveScreen from module /usr/X11R6/lib/modules/extensions/libdri.a is unresolved!
Symbol __glXgetActiveScreen from module /usr/X11R6/lib/modules/extensions/libdri.a is unresolved!
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension LBX
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
- --
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
(II) Initializing extension GLX
(**) Keyboard: Core Keyboard
(**) Option "Protocol" "standard"
(**) Keyboard: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xfree86"
(**) Keyboard: XkbRules: "xfree86"
(**) Option "XkbModel" "pc102"
(**) Keyboard: XkbModel: "pc102"
(**) Option "XkbLayout" "de"
(**) Keyboard: XkbLayout: "de"
(**) Option "XkbVariant" "nodeadkeys"
(**) Keyboard: XkbVariant: "nodeadkeys"
(**) Option "XkbSymbols" "pc/pc(pc102)+pc/de(nodeadkeys)+level3(ralt_switch_multikey)"
(**) Keyboard: XkbSymbols: "pc/pc(pc102)+pc/de(nodeadkeys)+level3(ralt_switch_multikey)"
(**) Option "CustomKeycodes" "off"
(**) Keyboard: CustomKeycodes disabled
(**) Option "Protocol" "ImPS/2"
(**) Mouse: Device: "/dev/psaux"
(**) Mouse: Protocol: "ImPS/2"
(**) Option "CorePointer"
(**) Mouse: Core Pointer
- --
(**) Mouse: Emulate3Buttons, Emulate3Timeout: 50
(**) Option "ZAxisMapping" "4 5"
(**) Mouse: ZAxisMapping: buttons 4 and 5
(**) Mouse: Buttons: 5
(II) XINPUT: Adding extended input device "Mouse" (type: MOUSE)
(II) XINPUT: Adding extended input device "Keyboard" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)
(II) Mouse: ps2EnableDataReporting: succeeded
Warning: font renderer for ".pcf" already registered at priority 0
Warning: font renderer for ".pcf.Z" already registered at priority 0
Warning: font renderer for ".pcf.gz" already registered at priority 0
- --
(==) RandR enabled
(II) Initializing extension GLX
(II) Mouse: ps2EnableDataReporting: succeeded
Could not init font path element /usr/lib/X11/fonts/Speedo, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo, removing from list!
(EE) Error loading keymap /usr/X11R6/lib/X11/xkb/compiled/server-0.xkm
(WW) Open APM failed (/dev/apm_bios) (No such device)
(II) NVIDIA(0): Setting mode "1600x1200"
(II) Mouse: ps2EnableDataReporting: succeeded
(WW) Open APM failed (/dev/apm_bios) (No such device)
(II) NVIDIA(0): Setting mode "1600x1200"

Keyboard-related contents of X.Org X server log file
/var/log/Xorg.1.log:
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Default Screen" (0)
(**) |   |-->Monitor "Monitor"
(**) |   |-->Device "Generic Video Card"
(**) |-->Input Device "Keyboard"
(**) Option "XkbSymbols" "pc/pc(pc105)+pc/de(nodeadkeys)+level3(ralt_switch_multikey)+inet(cherrybluec)"
(**) XKB: symbols: "pc/pc(pc105)+pc/de(nodeadkeys)+level3(ralt_switch_multikey)+inet(cherrybluec)"
(**) Option "XkbRules" "xorg"
(**) XKB: rules: "xorg"
(**) Option "XkbModel" "pc105"
(**) XKB: model: "pc105"
(**) Option "XkbLayout" "de"
(**) XKB: layout: "de"
(**) Option "XkbVariant" "nodeadkeys"
(**) XKB: variant: "nodeadkeys"
(==) Keyboard: CustomKeycode disabled
(**) |-->Input Device "Mouse"
(WW) `fonts.dir' not found (or not valid) in "/usr/local/share/fonts".
	Entry deleted from font path.
	(Run 'mkfontdir' on "/usr/local/share/fonts").
(WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts".
- --
(II) LoadModule: "nvidia"
(II) Loading /usr/X11R6/lib/modules/drivers/nvidia_drv.o
(II) Module nvidia: vendor="NVIDIA Corporation"
	compiled for 4.0.2, module version = 1.0.7174
	Module class: XFree86 Video Driver
(II) LoadModule: "keyboard"
(II) Loading /usr/X11R6/lib/modules/input/keyboard_drv.o
(II) Module keyboard: vendor="X.Org Foundation"
	compiled for 6.8.2, module version = 1.0.0
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 0.4
(II) LoadModule: "mouse"
(II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o
- --
Symbol __glXgetActiveScreen from module /usr/X11R6/lib/modules/extensions/libdri.a is unresolved!
Symbol __glXgetActiveScreen from module /usr/X11R6/lib/modules/extensions/libdri.a is unresolved!
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension LBX
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
- --
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
(II) Initializing extension GLX
(**) Keyboard: Core Keyboard
(**) Option "Protocol" "standard"
(**) Keyboard: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xorg"
(**) Keyboard: XkbRules: "xorg"
(**) Option "XkbModel" "pc105"
(**) Keyboard: XkbModel: "pc105"
(**) Option "XkbLayout" "de"
(**) Keyboard: XkbLayout: "de"
(**) Option "XkbVariant" "nodeadkeys"
(**) Keyboard: XkbVariant: "nodeadkeys"
(**) Option "XkbSymbols" "pc/pc(pc105)+pc/de(nodeadkeys)+level3(ralt_switch_multikey)+inet(cherrybluec)"
(**) Keyboard: XkbSymbols: "pc/pc(pc105)+pc/de(nodeadkeys)+level3(ralt_switch_multikey)+inet(cherrybluec)"
(**) Option "CustomKeycodes" "off"
(**) Keyboard: CustomKeycodes disabled
(**) Option "Protocol" "ImPS/2"
(**) Mouse: Device: "/dev/psaux"
(**) Mouse: Protocol: "ImPS/2"
(**) Option "CorePointer"
(**) Mouse: Core Pointer
- --
(**) Mouse: Emulate3Buttons, Emulate3Timeout: 50
(**) Option "ZAxisMapping" "4 5"
(**) Mouse: ZAxisMapping: buttons 4 and 5
(**) Mouse: Buttons: 5
(II) XINPUT: Adding extended input device "Mouse" (type: MOUSE)
(II) XINPUT: Adding extended input device "Keyboard" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)
(II) Mouse: ps2EnableDataReporting: succeeded
Warning: font renderer for ".pcf" already registered at priority 0
Warning: font renderer for ".pcf.Z" already registered at priority 0
Warning: font renderer for ".pcf.gz" already registered at priority 0

X.Org X server log files on system:
- -rw-r--r-- 1 root root 35037 2005-12-18 21:04 /var/log/Xorg.1.log
- -rw-r--r-- 1 root root 36914 2005-12-18 21:05 /var/log/Xorg.0.log

Compiled XKB description for X server ":0.0":
xkb_keymap {
xkb_keycodes "xfree86+aliases(qwertz)" {
    minimum = 8;
    maximum = 255;
     <ESC> = 9;
    <AE01> = 10;
    <AE02> = 11;
    <AE03> = 12;
    <AE04> = 13;
    <AE05> = 14;
    <AE06> = 15;
    <AE07> = 16;
    <AE08> = 17;
    <AE09> = 18;
    <AE10> = 19;
    <AE11> = 20;
    <AE12> = 21;
    <BKSP> = 22;
     <TAB> = 23;
    <AD01> = 24;
    <AD02> = 25;
    <AD03> = 26;
    <AD04> = 27;
    <AD05> = 28;
    <AD06> = 29;
    <AD07> = 30;
    <AD08> = 31;
    <AD09> = 32;
    <AD10> = 33;
    <AD11> = 34;
    <AD12> = 35;
    <RTRN> = 36;
    <LCTL> = 37;
    <AC01> = 38;
    <AC02> = 39;
    <AC03> = 40;
    <AC04> = 41;
    <AC05> = 42;
    <AC06> = 43;
    <AC07> = 44;
    <AC08> = 45;
    <AC09> = 46;
    <AC10> = 47;
    <AC11> = 48;
    <TLDE> = 49;
    <LFSH> = 50;
    <BKSL> = 51;
    <AB01> = 52;
    <AB02> = 53;
    <AB03> = 54;
    <AB04> = 55;
    <AB05> = 56;
    <AB06> = 57;
    <AB07> = 58;
    <AB08> = 59;
    <AB09> = 60;
    <AB10> = 61;
    <RTSH> = 62;
    <KPMU> = 63;
    <LALT> = 64;
    <SPCE> = 65;
    <CAPS> = 66;
    <FK01> = 67;
    <FK02> = 68;
    <FK03> = 69;
    <FK04> = 70;
    <FK05> = 71;
    <FK06> = 72;
    <FK07> = 73;
    <FK08> = 74;
    <FK09> = 75;
    <FK10> = 76;
    <NMLK> = 77;
    <SCLK> = 78;
     <KP7> = 79;
     <KP8> = 80;
     <KP9> = 81;
    <KPSU> = 82;
     <KP4> = 83;
     <KP5> = 84;
     <KP6> = 85;
    <KPAD> = 86;
     <KP1> = 87;
     <KP2> = 88;
     <KP3> = 89;
     <KP0> = 90;
    <KPDL> = 91;
    <SYRQ> = 92;
    <MDSW> = 93;
    <LSGT> = 94;
    <FK11> = 95;
    <FK12> = 96;
    <HOME> = 97;
      <UP> = 98;
    <PGUP> = 99;
    <LEFT> = 100;
    <RGHT> = 102;
     <END> = 103;
    <DOWN> = 104;
    <PGDN> = 105;
     <INS> = 106;
    <DELE> = 107;
    <KPEN> = 108;
    <RCTL> = 109;
    <PAUS> = 110;
    <PRSC> = 111;
    <KPDV> = 112;
    <RALT> = 113;
     <BRK> = 114;
    <LWIN> = 115;
    <RWIN> = 116;
    <MENU> = 117;
    <FK13> = 118;
    <FK14> = 119;
    <FK15> = 120;
    <FK16> = 121;
    <FK17> = 122;
    <KPDC> = 123;
    <LVL3> = 124;
     <ALT> = 125;
    <KPEQ> = 126;
    <SUPR> = 127;
    <HYPR> = 128;
    <XFER> = 129;
     <I02> = 130;
    <NFER> = 131;
     <I04> = 132;
    <AE13> = 133;
     <I06> = 134;
     <I07> = 135;
     <I08> = 136;
     <I09> = 137;
     <I0A> = 138;
     <I0B> = 139;
     <I0C> = 140;
     <I0D> = 141;
     <I0E> = 142;
     <I0F> = 143;
     <I10> = 144;
     <I11> = 145;
     <I12> = 146;
     <I13> = 147;
     <I14> = 148;
     <I15> = 149;
     <I16> = 150;
     <I17> = 151;
     <I18> = 152;
     <I19> = 153;
     <I1A> = 154;
     <I1B> = 155;
    <META> = 156;
     <K59> = 157;
     <I1E> = 158;
     <I1F> = 159;
     <I20> = 160;
     <I21> = 161;
     <I22> = 162;
     <I23> = 163;
     <I24> = 164;
     <I25> = 165;
     <I26> = 166;
     <I27> = 167;
     <I28> = 168;
     <I29> = 169;
     <K5A> = 170;
     <I2B> = 171;
     <I2C> = 172;
     <I2D> = 173;
     <I2E> = 174;
     <I2F> = 175;
     <I30> = 176;
     <I31> = 177;
     <I32> = 178;
     <I33> = 179;
     <I34> = 180;
     <K5B> = 181;
     <K5D> = 182;
     <K5E> = 183;
     <K5F> = 184;
     <I39> = 185;
     <I3A> = 186;
     <I3B> = 187;
     <I3C> = 188;
     <K62> = 189;
     <K63> = 190;
     <K64> = 191;
     <K65> = 192;
     <K66> = 193;
     <I42> = 194;
     <I43> = 195;
     <I44> = 196;
     <I45> = 197;
     <K67> = 198;
     <K68> = 199;
     <K69> = 200;
     <K6A> = 201;
     <I4A> = 202;
     <K6B> = 203;
     <K6C> = 204;
     <K6D> = 205;
     <K6E> = 206;
     <K6F> = 207;
    <HKTG> = 208;
     <K71> = 209;
     <K72> = 210;
    <AB11> = 211;
     <I54> = 212;
     <I55> = 213;
     <I56> = 214;
     <I57> = 215;
     <I58> = 216;
     <I59> = 217;
     <I5A> = 218;
     <K74> = 219;
     <K75> = 220;
     <K76> = 221;
     <I5E> = 222;
     <I5F> = 223;
     <I60> = 224;
     <I61> = 225;
     <I62> = 226;
     <I63> = 227;
     <I64> = 228;
     <I65> = 229;
     <I66> = 230;
     <I67> = 231;
     <I68> = 232;
     <I69> = 233;
     <I6A> = 234;
     <I6B> = 235;
     <I6C> = 236;
     <I6D> = 237;
     <I6E> = 238;
     <I6F> = 239;
     <I70> = 240;
     <I71> = 241;
     <I72> = 242;
     <I73> = 243;
     <I74> = 244;
     <I75> = 245;
     <I76> = 246;
     <I77> = 247;
     <I78> = 248;
     <I79> = 249;
     <I7A> = 250;
     <I7B> = 251;
     <I7C> = 252;
     <I7D> = 253;
     <I7E> = 254;
     <I7F> = 255;
    indicator 1 = "Caps Lock";
    indicator 2 = "Num Lock";
    indicator 3 = "Scroll Lock";
    virtual indicator 4 = "Shift Lock";
    virtual indicator 5 = "Group 2";
    virtual indicator 6 = "Mouse Keys";
    alias <HZTG> = <TLDE>;
    alias <HNGL> = <FK16>;
    alias <HJCV> = <FK17>;
    alias  <I01> = <XFER>;
    alias  <I03> = <NFER>;
    alias  <I05> = <AE13>;
    alias  <K5C> = <KPEQ>;
    alias  <K70> = <HKTG>;
    alias  <K73> = <AB11>;
    alias <LMTA> = <LWIN>;
    alias <RMTA> = <RWIN>;
    alias <COMP> = <MENU>;
    alias <POWR> =  <I0C>;
    alias <MUTE> =  <I0D>;
    alias <VOL-> =  <I0E>;
    alias <VOL+> =  <I0F>;
    alias <HELP> =  <I10>;
    alias <STOP> =  <I11>;
    alias <AGAI> =  <I12>;
    alias <PROP> =  <I13>;
    alias <UNDO> =  <I14>;
    alias <FRNT> =  <I15>;
    alias <COPY> =  <I16>;
    alias <OPEN> =  <I17>;
    alias <PAST> =  <I18>;
    alias <FIND> =  <I19>;
    alias  <CUT> =  <I1A>;
    alias <ALGR> = <RALT>;
    alias <LatQ> = <AD01>;
    alias <LatW> = <AD02>;
    alias <LatE> = <AD03>;
    alias <LatR> = <AD04>;
    alias <LatT> = <AD05>;
    alias <LatZ> = <AD06>;
    alias <LatU> = <AD07>;
    alias <LatI> = <AD08>;
    alias <LatO> = <AD09>;
    alias <LatP> = <AD10>;
    alias <LatA> = <AC01>;
    alias <LatS> = <AC02>;
    alias <LatD> = <AC03>;
    alias <LatF> = <AC04>;
    alias <LatG> = <AC05>;
    alias <LatH> = <AC06>;
    alias <LatJ> = <AC07>;
    alias <LatK> = <AC08>;
    alias <LatL> = <AC09>;
    alias <LatY> = <AB01>;
    alias <LatX> = <AB02>;
    alias <LatC> = <AB03>;
    alias <LatV> = <AB04>;
    alias <LatB> = <AB05>;
    alias <LatN> = <AB06>;
    alias <LatM> = <AB07>;
};

xkb_types "complete" {

    virtual_modifiers NumLock,Alt,LevelThree,AltGr,Meta,Super,Hyper,ScrollLock;

    type "ONE_LEVEL" {
        modifiers= none;
        level_name[Level1]= "Any";
    };
    type "TWO_LEVEL" {
        modifiers= Shift;
        map[Shift]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
    };
    type "ALPHABETIC" {
        modifiers= Shift+Lock;
        map[Shift]= Level2;
        map[Lock]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Caps";
    };
    type "KEYPAD" {
        modifiers= Shift+NumLock;
        map[Shift]= Level2;
        map[NumLock]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Number";
    };
    type "SHIFT+ALT" {
        modifiers= Shift+Alt;
        map[Shift+Alt]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift+Alt";
    };
    type "PC_BREAK" {
        modifiers= Control;
        map[Control]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Control";
    };
    type "PC_SYSRQ" {
        modifiers= Alt;
        map[Alt]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Alt";
    };
    type "CTRL+ALT" {
        modifiers= Control+Alt;
        map[Control+Alt]= Level2;
        level_name[Level1]= "Base";
        level_name[Level2]= "Ctrl+Alt";
    };
    type "THREE_LEVEL" {
        modifiers= Shift+LevelThree;
        map[Shift]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Level3";
    };
    type "FOUR_LEVEL" {
        modifiers= Shift+LevelThree;
        map[Shift]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };
    type "FOUR_LEVEL_ALPHABETIC" {
        modifiers= Shift+Lock+LevelThree;
        map[Shift]= Level2;
        map[Lock]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[Lock+LevelThree]= Level4;
        map[Shift+Lock+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };
    type "FOUR_LEVEL_SEMIALPHABETIC" {
        modifiers= Shift+Lock+LevelThree;
        map[Shift]= Level2;
        map[Lock]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[Lock+LevelThree]= Level3;
        preserve[Lock+LevelThree]= Lock;
        map[Shift+Lock+LevelThree]= Level4;
        preserve[Shift+Lock+LevelThree]= Lock;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };
    type "FOUR_LEVEL_KEYPAD" {
        modifiers= Shift+NumLock+LevelThree;
        map[Shift]= Level2;
        map[NumLock]= Level2;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[NumLock+LevelThree]= Level4;
        map[Shift+NumLock+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Number";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Alt Number";
    };
    type "SERBIAN_CAPS" {
        modifiers= Shift+Lock+LevelThree;
        map[Shift]= Level2;
        map[Lock]= Level4;
        preserve[Lock]= Lock;
        map[LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[Lock+LevelThree]= Level3;
        preserve[Lock+LevelThree]= Lock;
        map[Shift+Lock+LevelThree]= Level3;
        level_name[Level1]= "Base";
        level_name[Level2]= "Shift";
        level_name[Level3]= "AltGr Base";
        level_name[Level4]= "Shift AltGr";
    };
};

xkb_compatibility "complete" {

    virtual_modifiers NumLock,Alt,LevelThree,AltGr,Meta,Super,Hyper,ScrollLock;

    interpret.useModMapMods= AnyLevel;
    interpret.repeat= False;
    interpret.locking= False;
    interpret ISO_Level2_Latch+Exactly(Shift) {
        useModMapMods=level1;
        action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
    };
    interpret Shift_Lock+AnyOf(Shift+Lock) {
        action= LockMods(modifiers=Shift);
    };
    interpret Num_Lock+AnyOf(all) {
        virtualModifier= NumLock;
        action= LockMods(modifiers=NumLock);
    };
    interpret ISO_Lock+AnyOf(all) {
        action= ISOLock(modifiers=modMapMods,affect=all);
    };
    interpret ISO_Level3_Shift+AnyOf(all) {
        virtualModifier= LevelThree;
        useModMapMods=level1;
        action= SetMods(modifiers=LevelThree,clearLocks);
    };
    interpret ISO_Level3_Latch+AnyOf(all) {
        virtualModifier= LevelThree;
        useModMapMods=level1;
        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
    };
    interpret ISO_Level3_Lock+AnyOf(all) {
        virtualModifier= LevelThree;
        useModMapMods=level1;
        action= LockMods(modifiers=LevelThree);
    };
    interpret Alt_L+AnyOf(all) {
        virtualModifier= Alt;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Alt_R+AnyOf(all) {
        virtualModifier= Alt;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Meta_L+AnyOf(all) {
        virtualModifier= Meta;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Meta_R+AnyOf(all) {
        virtualModifier= Meta;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Super_L+AnyOf(all) {
        virtualModifier= Super;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Super_R+AnyOf(all) {
        virtualModifier= Super;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Hyper_L+AnyOf(all) {
        virtualModifier= Hyper;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Hyper_R+AnyOf(all) {
        virtualModifier= Hyper;
        useModMapMods=level1;
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    interpret Scroll_Lock+AnyOf(all) {
        virtualModifier= ScrollLock;
        action= LockMods(modifiers=modMapMods);
    };
    interpret Mode_switch+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= SetGroup(group=+1);
    };
    interpret ISO_Level3_Shift+AnyOfOrNone(all) {
        action= SetMods(modifiers=LevelThree,clearLocks);
    };
    interpret ISO_Level3_Latch+AnyOfOrNone(all) {
        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
    };
    interpret ISO_Level3_Lock+AnyOfOrNone(all) {
        action= LockMods(modifiers=LevelThree);
    };
    interpret ISO_Group_Latch+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= LatchGroup(group=2);
    };
    interpret ISO_Next_Group+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= LockGroup(group=+1);
    };
    interpret ISO_Prev_Group+AnyOfOrNone(all) {
        virtualModifier= AltGr;
        useModMapMods=level1;
        action= LockGroup(group=-1);
    };
    interpret ISO_First_Group+AnyOfOrNone(all) {
        action= LockGroup(group=1);
    };
    interpret ISO_Last_Group+AnyOfOrNone(all) {
        action= LockGroup(group=2);
    };
    interpret KP_1+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+1);
    };
    interpret KP_End+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+1);
    };
    interpret KP_2+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=+1);
    };
    interpret KP_Down+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=+1);
    };
    interpret KP_3+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+1);
    };
    interpret KP_Next+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+1);
    };
    interpret KP_4+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+0);
    };
    interpret KP_Left+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=+0);
    };
    interpret KP_6+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+0);
    };
    interpret KP_Right+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=+0);
    };
    interpret KP_7+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=-1);
    };
    interpret KP_Home+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=-1,y=-1);
    };
    interpret KP_8+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=-1);
    };
    interpret KP_Up+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+0,y=-1);
    };
    interpret KP_9+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=-1);
    };
    interpret KP_Prior+AnyOfOrNone(all) {
        repeat= True;
        action= MovePtr(x=+1,y=-1);
    };
    interpret KP_5+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default);
    };
    interpret KP_Begin+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default);
    };
    interpret KP_F2+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=1);
    };
    interpret KP_Divide+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=1);
    };
    interpret KP_F3+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=2);
    };
    interpret KP_Multiply+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=2);
    };
    interpret KP_F4+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=3);
    };
    interpret KP_Subtract+AnyOfOrNone(all) {
        repeat= True;
        action= SetPtrDflt(affect=button,button=3);
    };
    interpret KP_Separator+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default,count=2);
    };
    interpret KP_Add+AnyOfOrNone(all) {
        repeat= True;
        action= PtrBtn(button=default,count=2);
    };
    interpret KP_0+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=lock);
    };
    interpret KP_Insert+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=lock);
    };
    interpret KP_Decimal+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=unlock);
    };
    interpret KP_Delete+AnyOfOrNone(all) {
        repeat= True;
        action= LockPtrBtn(button=default,affect=unlock);
    };
    interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
        action= PtrBtn(button=default);
    };
    interpret Pointer_Button1+AnyOfOrNone(all) {
        action= PtrBtn(button=1);
    };
    interpret Pointer_Button2+AnyOfOrNone(all) {
        action= PtrBtn(button=2);
    };
    interpret Pointer_Button3+AnyOfOrNone(all) {
        action= PtrBtn(button=3);
    };
    interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
        action= PtrBtn(button=default,count=2);
    };
    interpret Pointer_DblClick1+AnyOfOrNone(all) {
        action= PtrBtn(button=1,count=2);
    };
    interpret Pointer_DblClick2+AnyOfOrNone(all) {
        action= PtrBtn(button=2,count=2);
    };
    interpret Pointer_DblClick3+AnyOfOrNone(all) {
        action= PtrBtn(button=3,count=2);
    };
    interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
        action= LockPtrBtn(button=default,affect=both);
    };
    interpret Pointer_Drag1+AnyOfOrNone(all) {
        action= LockPtrBtn(button=1,affect=both);
    };
    interpret Pointer_Drag2+AnyOfOrNone(all) {
        action= LockPtrBtn(button=2,affect=both);
    };
    interpret Pointer_Drag3+AnyOfOrNone(all) {
        action= LockPtrBtn(button=3,affect=both);
    };
    interpret Pointer_EnableKeys+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeys);
    };
    interpret Pointer_Accelerate+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeysAccel);
    };
    interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
        action= SetPtrDflt(affect=button,button=+1);
    };
    interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
        action= SetPtrDflt(affect=button,button=-1);
    };
    interpret AccessX_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=AccessXKeys);
    };
    interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=AccessXFeedback);
    };
    interpret RepeatKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=RepeatKeys);
    };
    interpret SlowKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=SlowKeys);
    };
    interpret BounceKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=BounceKeys);
    };
    interpret StickyKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=StickyKeys);
    };
    interpret MouseKeys_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeys);
    };
    interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=MouseKeysAccel);
    };
    interpret Overlay1_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=Overlay1);
    };
    interpret Overlay2_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=Overlay2);
    };
    interpret AudibleBell_Enable+AnyOfOrNone(all) {
        action= LockControls(controls=AudibleBell);
    };
    interpret Terminate_Server+AnyOfOrNone(all) {
        action= Terminate();
    };
    interpret Alt_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Alt,clearLocks);
    };
    interpret Alt_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Alt,clearLocks);
    };
    interpret Meta_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Meta,clearLocks);
    };
    interpret Meta_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Alt,clearLocks);
    };
    interpret Super_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Super,clearLocks);
    };
    interpret Super_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Super,clearLocks);
    };
    interpret Hyper_L+AnyOfOrNone(all) {
        action= SetMods(modifiers=Hyper,clearLocks);
    };
    interpret Hyper_R+AnyOfOrNone(all) {
        action= SetMods(modifiers=Hyper,clearLocks);
    };
    interpret XF86_Switch_VT_1+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=1,!same);
    };
    interpret XF86_Switch_VT_2+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=2,!same);
    };
    interpret XF86_Switch_VT_3+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=3,!same);
    };
    interpret XF86_Switch_VT_4+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=4,!same);
    };
    interpret XF86_Switch_VT_5+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=5,!same);
    };
    interpret XF86_Switch_VT_6+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=6,!same);
    };
    interpret XF86_Switch_VT_7+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=7,!same);
    };
    interpret XF86_Switch_VT_8+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=8,!same);
    };
    interpret XF86_Switch_VT_9+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=9,!same);
    };
    interpret XF86_Switch_VT_10+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=10,!same);
    };
    interpret XF86_Switch_VT_11+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=11,!same);
    };
    interpret XF86_Switch_VT_12+AnyOfOrNone(all) {
        repeat= True;
        action= SwitchScreen(screen=12,!same);
    };
    interpret XF86_Ungrab+AnyOfOrNone(all) {
        repeat= True;
        action= Private(type=0x86,data[0]=0x55,data[1]=0x6e,data[2]=0x67,data[3]=0x72,data[4]=0x61,data[5]=0x62,data[6]=0x00);
    };
    interpret XF86_ClearGrab+AnyOfOrNone(all) {
        repeat= True;
        action= Private(type=0x86,data[0]=0x43,data[1]=0x6c,data[2]=0x73,data[3]=0x47,data[4]=0x72,data[5]=0x62,data[6]=0x00);
    };
    interpret XF86_Next_VMode+AnyOfOrNone(all) {
        repeat= True;
        action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
    };
    interpret XF86_Prev_VMode+AnyOfOrNone(all) {
        repeat= True;
        action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
    };
    interpret Any+Exactly(Lock) {
        action= LockMods(modifiers=Lock);
    };
    interpret Any+AnyOf(all) {
        action= SetMods(modifiers=modMapMods,clearLocks);
    };
    group 2 = AltGr;
    group 3 = AltGr;
    group 4 = AltGr;
    indicator "Caps Lock" {
        !allowExplicit;
        whichModState= locked;
        modifiers= Lock;
    };
    indicator "Num Lock" {
        !allowExplicit;
        whichModState= locked;
        modifiers= NumLock;
    };
    indicator "Scroll Lock" {
        whichModState= locked;
        modifiers= ScrollLock;
    };
    indicator "Shift Lock" {
        !allowExplicit;
        whichModState= locked;
        modifiers= Shift;
    };
    indicator "Group 2" {
        !allowExplicit;
        groups= 0xfe;
    };
    indicator "Mouse Keys" {
        indicatorDrivesKeyboard;
        controls= mouseKeys;
    };
};

xkb_symbols "pc/pc(pc102)+pc/de(nodeadkeys)" {

    name[group1]="German";

    key  <ESC> {         [          Escape ] };
    key <AE01> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               1,          exclam,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [     onesuperior,      exclamdown ]
    };
    key <AE02> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               2,        quotedbl,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [     twosuperior,       oneeighth ]
    };
    key <AE03> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               3,         section,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [   threesuperior,        sterling ]
    };
    key <AE04> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               4,          dollar,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [             bar,      onequarter ]
    };
    key <AE05> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               5,         percent,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [             bar,         onehalf ]
    };
    key <AE06> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               6,       ampersand,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [       brokenbar,   threequarters ]
    };
    key <AE07> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               7,           slash,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [       braceleft,    seveneighths ]
    };
    key <AE08> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               8,       parenleft,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [     bracketleft,       trademark ]
    };
    key <AE09> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               9,      parenright,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [    bracketright,       plusminus ]
    };
    key <AE10> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               0,           equal,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [      braceright,          degree ]
    };
    key <AE11> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [          ssharp,        question,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [       backslash,    questiondown ]
    };
    key <AE12> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [           acute,           grave,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [         cedilla,     dead_ogonek ]
    };
    key <BKSP> {
        type= "CTRL+ALT",
        symbols[Group1]= [       BackSpace, Terminate_Server ]
    };
    key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
    key <AD01> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               q,               Q,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [              at,     Greek_OMEGA ]
    };
    key <AD02> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               w,               W,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [         lstroke,         Lstroke ]
    };
    key <AD03> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               e,               E,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [        EuroSign ]
    };
    key <AD04> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               r,               R,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [       paragraph,      registered ]
    };
    key <AD05> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               t,               T,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [          tslash,          Tslash ]
    };
    key <AD06> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               z,               Z,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [       leftarrow,             yen ]
    };
    key <AD07> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               u,               U,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [       downarrow,         uparrow ]
    };
    key <AD08> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               i,               I,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [      rightarrow,        idotless ]
    };
    key <AD09> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               o,               O,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [          oslash,        Ooblique ]
    };
    key <AD10> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               p,               P,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [           thorn,           THORN ]
    };
    key <AD11> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [      udiaeresis,      Udiaeresis,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [       diaeresis,  dead_abovering ]
    };
    key <AD12> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [            plus,        asterisk,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [      asciitilde,          macron ]
    };
    key <RTRN> {         [          Return ] };
    key <LCTL> {         [       Control_L ] };
    key <AC01> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               a,               A,        NoSymbol,        NoSymbol ]
    };
    key <AC02> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               s,               S,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [          ssharp,         section ]
    };
    key <AC03> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               d,               D,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [             eth,             ETH ]
    };
    key <AC04> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               f,               F,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [         dstroke,     ordfeminine ]
    };
    key <AC05> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               g,               G,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [             eng,             ENG ]
    };
    key <AC06> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               h,               H,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [         hstroke,         Hstroke ]
    };
    key <AC07> {
        type= "ALPHABETIC",
        symbols[Group1]= [               j,               J ]
    };
    key <AC08> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               k,               K,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [             kra,       ampersand ]
    };
    key <AC09> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               l,               L,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [         lstroke,         Lstroke ]
    };
    key <AC10> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [      odiaeresis,      Odiaeresis,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [           acute, dead_doubleacute ]
    };
    key <AC11> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [      adiaeresis,      Adiaeresis,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [     asciicircum,      dead_caron ]
    };
    key <TLDE> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [     asciicircum,          degree,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [         notsign ]
    };
    key <LFSH> {         [         Shift_L ] };
    key <BKSL> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [      numbersign,      apostrophe,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [           grave,      dead_breve ]
    };
    key <AB01> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               y,               Y,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [   guillemotleft,            less ]
    };
    key <AB02> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               x,               X,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [  guillemotright,         greater ]
    };
    key <AB03> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               c,               C,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [            cent,       copyright ]
    };
    key <AB04> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               v,               V,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [ leftdoublequotemark,           grave ]
    };
    key <AB05> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               b,               B,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [ rightdoublequotemark,      apostrophe ]
    };
    key <AB06> {
        type= "ALPHABETIC",
        symbols[Group1]= [               n,               N ]
    };
    key <AB07> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               m,               M,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [              mu,       masculine ]
    };
    key <AB08> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [           comma,       semicolon,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [  horizconnector,        multiply ]
    };
    key <AB09> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [          period,           colon,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [  periodcentered,        division ]
    };
    key <AB10> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [           minus,      underscore,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [   dead_belowdot,   dead_abovedot ]
    };
    key <RTSH> {         [         Shift_R ] };
    key <KPMU> {
        type= "CTRL+ALT",
        symbols[Group1]= [     KP_Multiply,  XF86_ClearGrab ]
    };
    key <LALT> {         [           Alt_L,          Meta_L ] };
    key <SPCE> {         [           space ] };
    key <CAPS> {         [       Caps_Lock ] };
    key <FK01> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F1, XF86_Switch_VT_1 ]
    };
    key <FK02> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F2, XF86_Switch_VT_2 ]
    };
    key <FK03> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F3, XF86_Switch_VT_3 ]
    };
    key <FK04> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F4, XF86_Switch_VT_4 ]
    };
    key <FK05> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F5, XF86_Switch_VT_5 ]
    };
    key <FK06> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F6, XF86_Switch_VT_6 ]
    };
    key <FK07> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F7, XF86_Switch_VT_7 ]
    };
    key <FK08> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F8, XF86_Switch_VT_8 ]
    };
    key <FK09> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F9, XF86_Switch_VT_9 ]
    };
    key <FK10> {
        type= "CTRL+ALT",
        symbols[Group1]= [             F10, XF86_Switch_VT_10 ]
    };
    key <NMLK> {         [        Num_Lock, Pointer_EnableKeys ] };
    key <SCLK> {         [     Scroll_Lock ] };
    key  <KP7> {         [         KP_Home,            KP_7 ] };
    key  <KP8> {         [           KP_Up,            KP_8 ] };
    key  <KP9> {         [        KP_Prior,            KP_9 ] };
    key <KPSU> {
        type= "CTRL+ALT",
        symbols[Group1]= [     KP_Subtract, XF86_Prev_VMode ]
    };
    key  <KP4> {         [         KP_Left,            KP_4 ] };
    key  <KP5> {         [        KP_Begin,            KP_5 ] };
    key  <KP6> {         [        KP_Right,            KP_6 ] };
    key <KPAD> {
        type= "CTRL+ALT",
        symbols[Group1]= [          KP_Add, XF86_Next_VMode ]
    };
    key  <KP1> {         [          KP_End,            KP_1 ] };
    key  <KP2> {         [         KP_Down,            KP_2 ] };
    key  <KP3> {         [         KP_Next,            KP_3 ] };
    key  <KP0> {         [       KP_Insert,            KP_0 ] };
    key <KPDL> {         [       KP_Delete,      KP_Decimal ] };
    key <LSGT> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [            less,         greater,        NoSymbol,        NoSymbol ],
        symbols[Group2]= [             bar,       brokenbar ]
    };
    key <FK11> {
        type= "CTRL+ALT",
        symbols[Group1]= [             F11, XF86_Switch_VT_11 ]
    };
    key <FK12> {
        type= "CTRL+ALT",
        symbols[Group1]= [             F12, XF86_Switch_VT_12 ]
    };
    key <HOME> {         [            Home ] };
    key   <UP> {         [              Up ] };
    key <PGUP> {         [           Prior ] };
    key <LEFT> {         [            Left ] };
    key <RGHT> {         [           Right ] };
    key  <END> {         [             End ] };
    key <DOWN> {         [            Down ] };
    key <PGDN> {         [            Next ] };
    key  <INS> {         [          Insert ] };
    key <DELE> {         [          Delete ] };
    key <KPEN> {         [        KP_Enter ] };
    key <RCTL> {         [       Control_R ] };
    key <PAUS> {
        type= "PC_BREAK",
        symbols[Group1]= [           Pause,           Break ]
    };
    key <PRSC> {
        type= "PC_SYSRQ",
        symbols[Group1]= [           Print,         Execute ]
    };
    key <KPDV> {
        type= "CTRL+ALT",
        symbols[Group1]= [       KP_Divide,     XF86_Ungrab ]
    };
    key <RALT> {
        type= "TWO_LEVEL",
        symbols[Group1]= [     Mode_switch,       Multi_key ]
    };
    key <LWIN> {         [         Super_L ] };
    key <RWIN> {         [         Super_R ] };
    key <MENU> {         [            Menu ] };
    key <LVL3> {         [ ISO_Level3_Shift ] };
    key  <ALT> {         [        NoSymbol,           Alt_L ] };
    key <KPEQ> {         [        KP_Equal ] };
    key <SUPR> {         [        NoSymbol,         Super_L ] };
    key <HYPR> {         [        NoSymbol,         Hyper_L ] };
    key  <I07> {         [ XF86ApplicationRight ] };
    key  <I08> {         [ XF86ApplicationLeft ] };
    key  <I0A> {         [       XF86Paste ] };
    key  <I10> {         [   XF86AudioPrev ] };
    key  <I17> {         [         XF86Cut ] };
    key  <I18> {         [        XF86Copy ] };
    key  <I19> {         [   XF86AudioNext ] };
    key <META> {         [        NoSymbol,          Meta_L ] };
    key  <I20> {         [   XF86AudioMute ] };
    key  <I21> {         [  XF86Calculator ] };
    key  <I22> {         [   XF86AudioPlay ] };
    key  <I24> {         [   XF86AudioStop ] };
    key  <I2C> {         [     XF86Launch1 ] };
    key  <I2E> {         [ XF86AudioLowerVolume ] };
    key  <I30> {         [ XF86AudioRaiseVolume ] };
    key  <I32> {         [    XF86HomePage ] };
    key  <I5F> {         [    XF86PowerOff ] };
    key  <I63> {         [      XF86WakeUp ] };
    key  <I65> {         [      XF86Search ] };
    key  <I67> {         [     XF86Refresh ] };
    key  <I68> {         [        XF86Stop ] };
    key  <I69> {         [     XF86Forward ] };
    key  <I6A> {         [        XF86Back ] };
    key  <I6C> {         [        XF86Mail ] };
    key  <I6D> {         [  XF86AudioMedia ] };
    key  <I70> {         [       XF86Eject ] };
    key  <I71> {         [     XF86Launch0 ] };
    key  <I72> {         [     XF86Launch2 ] };
    modifier_map Control { <LCTL> };
    modifier_map Shift { <LFSH> };
    modifier_map Shift { <RTSH> };
    modifier_map Mod1 { <LALT> };
    modifier_map Lock { <CAPS> };
    modifier_map Mod2 { <NMLK> };
    modifier_map Control { <RCTL> };
    modifier_map Mod5 { <RALT> };
    modifier_map Mod1 { <ALT> };
};

xkb_geometry "pc(pc102)" {

    width=       470;
    height=      210;

    alias <AC00> = <CAPS>;
    alias <AA00> = <LCTL>;

    baseColor=   "white";
    labelColor=  "black";
    xfont=       "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
    description= "Generic 102";

    shape "NORM" {
        corner= 1,
        { [  18,  18 ] },
        { [   2,   1 ], [  16,  16 ] }
    };
    shape "BKSP" {
        corner= 1,
        { [  38,  18 ] },
        { [   2,   1 ], [  36,  16 ] }
    };
    shape "TABK" {
        corner= 1,
        { [  28,  18 ] },
        { [   2,   1 ], [  26,  16 ] }
    };
    shape "BKSL" {
        corner= 1,
        { [  28,  18 ] },
        { [   2,   1 ], [  26,  16 ] }
    };
    shape "RTRN" {
        corner= 1,
        { [  16,   0 ], [  43,   0 ], [  43,  37 ], [   2,  37 ],
          [   2,  19 ], [  16,  19 ] },
        { [  18,   1 ], [  41,   1 ], [  41,  36 ], [   4,  36 ],
          [   4,  20 ], [  18,  20 ] }
    };
    shape "CAPS" {
        corner= 1,
        { [  33,  18 ] },
        { [   2,   1 ], [  31,  16 ] }
    };
    shape "LFSH" {
        corner= 1,
        { [  25,  18 ] },
        { [   2,   1 ], [  23,  16 ] }
    };
    shape "RTSH" {
        corner= 1,
        { [  49,  18 ] },
        { [   2,   1 ], [  47,  16 ] }
    };
    shape "MODK" {
        corner= 1,
        { [  27,  18 ] },
        { [   2,   1 ], [  25,  16 ] }
    };
    shape "SPCE" {
        corner= 1,
        { [ 134,  18 ] },
        { [   2,   1 ], [ 132,  16 ] }
    };
    shape "KP0" {
        corner= 1,
        { [  37,  18 ] },
        { [   2,   1 ], [  35,  16 ] }
    };
    shape "KPAD" {
        corner= 1,
        { [  18,  37 ] },
        { [   2,   1 ], [  16,  35 ] }
    };
    shape "LEDS" { { [  75,  20 ] } };
    shape "LED" { { [   5,   1 ] } };
    section "Function" {
        key.color= "grey20";
        priority=  7;
        top=       52;
        left=      19;
        width=     351;
        height=    19;
        row {
            top=  1;
            left= 1;
            keys {
                {  <ESC>, "TABK",   1 },
                { <FK01>, "NORM",  10, color="white" },
                { <FK02>, "NORM",   1, color="white" },
                { <FK03>, "NORM",   1, color="white" },
                { <FK04>, "NORM",   1, color="white" },
                { <FK05>, "NORM",  11, color="white" },
                { <FK06>, "NORM",   1, color="white" },
                { <FK07>, "NORM",   1, color="white" },
                { <FK08>, "NORM",   1, color="white" },
                { <FK09>, "NORM",  11, color="white" },
                { <FK10>, "NORM",   1, color="white" },
                { <FK11>, "NORM",   1, color="white" },
                { <FK12>, "NORM",   1, color="white" },
                { <PRSC>, "NORM",   8, color="white" },
                { <SCLK>, "NORM",   1, color="white" },
                { <PAUS>, "NORM",   1, color="white" }
            };
        };
    }; // End of "Function" section

    section "Alpha" {
        key.color= "white";
        priority=  8;
        top=       91;
        left=      19;
        width=     286;
        height=    95;
        row {
            top=  1;
            left= 1;
            keys {
                { <TLDE>, "NORM",   1 }, { <AE01>, "NORM",   1 },
                { <AE02>, "NORM",   1 }, { <AE03>, "NORM",   1 },
                { <AE04>, "NORM",   1 }, { <AE05>, "NORM",   1 },
                { <AE06>, "NORM",   1 }, { <AE07>, "NORM",   1 },
                { <AE08>, "NORM",   1 }, { <AE09>, "NORM",   1 },
                { <AE10>, "NORM",   1 }, { <AE11>, "NORM",   1 },
                { <AE12>, "NORM",   1 }, { <BKSL>, "NORM",   1 },
                { <BKSP>, "NORM",   1, color="grey20" }
            };
        };
        row {
            top=  20;
            left= 1;
            keys {
                {  <TAB>, "TABK",   1, color="grey20" },
                { <AD01>, "NORM",   1 }, { <AD02>, "NORM",   1 },
                { <AD03>, "NORM",   1 }, { <AD04>, "NORM",   1 },
                { <AD05>, "NORM",   1 }, { <AD06>, "NORM",   1 },
                { <AD07>, "NORM",   1 }, { <AD08>, "NORM",   1 },
                { <AD09>, "NORM",   1 }, { <AD10>, "NORM",   1 },
                { <AD11>, "NORM",   1 }, { <AD12>, "NORM",   1 },
                { <RTRN>, "RTRN", -15, color="grey20" }
            };
        };
        row {
            top=  39;
            left= 1;
            keys {
                { <CAPS>, "CAPS",   1, color="grey20" },
                { <AC01>, "NORM",   1 }, { <AC02>, "NORM",   1 },
                { <AC03>, "NORM",   1 }, { <AC04>, "NORM",   1 },
                { <AC05>, "NORM",   1 }, { <AC06>, "NORM",   1 },
                { <AC07>, "NORM",   1 }, { <AC08>, "NORM",   1 },
                { <AC09>, "NORM",   1 }, { <AC10>, "NORM",   1 },
                { <AC11>, "NORM",   1 }
            };
        };
        row {
            top=  58;
            left= 1;
            keys {
                { <LFSH>, "LFSH",   1, color="grey20" },
                { <LSGT>, "NORM",   1 }, { <AB01>, "NORM",   1 },
                { <AB02>, "NORM",   1 }, { <AB03>, "NORM",   1 },
                { <AB04>, "NORM",   1 }, { <AB05>, "NORM",   1 },
                { <AB06>, "NORM",   1 }, { <AB07>, "NORM",   1 },
                { <AB08>, "NORM",   1 }, { <AB09>, "NORM",   1 },
                { <AB10>, "NORM",   1 },
                { <RTSH>, "RTSH",   1, color="grey20" }
            };
        };
        row {
            top=  77;
            left= 1;
            keys {
                { <LCTL>, "MODK",   1, color="grey20" },
                { <LALT>, "MODK",  20, color="grey20" },
                { <SPCE>, "SPCE",   1 },
                { <RALT>, "MODK",   1, color="grey20" },
                { <RCTL>, "MODK",  20, color="grey20" }
            };
        };
    }; // End of "Alpha" section

    section "Editing" {
        key.color= "grey20";
        priority=  9;
        top=       91;
        left=      312;
        width=     58;
        height=    95;
        row {
            top=  1;
            left= 1;
            keys {
                {  <INS>, "NORM",   1 }, { <HOME>, "NORM",   1 },
                { <PGUP>, "NORM",   1 }
            };
        };
        row {
            top=  20;
            left= 1;
            keys {
                { <DELE>, "NORM",   1 }, {  <END>, "NORM",   1 },
                { <PGDN>, "NORM",   1 }
            };
        };
        row {
            top=  58;
            left= 20;
            keys {
                {   <UP>, "NORM",   1 }
            };
        };
        row {
            top=  77;
            left= 1;
            keys {
                { <LEFT>, "NORM",   1 }, { <DOWN>, "NORM",   1 },
                { <RGHT>, "NORM",   1 }
            };
        };
    }; // End of "Editing" section

    section "Keypad" {
        key.color= "grey20";
        priority=  10;
        top=       91;
        left=      376;
        width=     77;
        height=    95;
        row {
            top=  1;
            left= 1;
            keys {
                { <NMLK>, "NORM",   1 }, { <KPDV>, "NORM",   1 },
                { <KPMU>, "NORM",   1 }, { <KPSU>, "NORM",   1 }
            };
        };
        row {
            top=  20;
            left= 1;
            keys {
                {  <KP7>, "NORM",   1, color="white" },
                {  <KP8>, "NORM",   1, color="white" },
                {  <KP9>, "NORM",   1, color="white" },
                { <KPAD>, "KPAD",   1 }
            };
        };
        row {
            top=  39;
            left= 1;
            keys {
                {  <KP4>, "NORM",   1, color="white" },
                {  <KP5>, "NORM",   1, color="white" },
                {  <KP6>, "NORM",   1, color="white" }
            };
        };
        row {
            top=  58;
            left= 1;
            keys {
                {  <KP1>, "NORM",   1, color="white" },
                {  <KP2>, "NORM",   1, color="white" },
                {  <KP3>, "NORM",   1, color="white" },
                { <KPEN>, "KPAD",   1 }
            };
        };
        row {
            top=  77;
            left= 1;
            keys {
                {  <KP0>, "KP0",   1, color="white" },
                { <KPDL>, "NORM",   1, color="white" }
            };
        };
    }; // End of "Keypad" section

    solid "LedPanel" {
        top=      52;
        left=     377;
        priority= 0;
        color= "grey10";
        shape= "LEDS";
    };
    indicator "Num Lock" {
        top=      67;
        left=     382;
        priority= 1;
        onColor= "green";
        offColor= "green30";
        shape= "LED";
    };
    indicator "Caps Lock" {
        top=      67;
        left=     407;
        priority= 2;
        onColor= "green";
        offColor= "green30";
        shape= "LED";
    };
    indicator "Scroll Lock" {
        top=      67;
        left=     433;
        priority= 3;
        onColor= "green";
        offColor= "green30";
        shape= "LED";
    };
    text "NumLockLabel" {
        top=      55;
        left=     378;
        priority= 4;
        width=  19.8;
        height=  10;
        XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
        text=  "Num\nLock";
    };
    text "CapsLockLabel" {
        top=      55;
        left=     403;
        priority= 5;
        width=  26.4;
        height=  10;
        XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
        text=  "Caps\nLock";
    };
    text "ScrollLockLabel" {
        top=      55;
        left=     428;
        priority= 6;
        width=  39.6;
        height=  10;
        XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
        text=  "Scroll\nLock";
    };
};

};


- -- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (800, 'unstable'), (700, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.4.31
Locale: LANG=de_DE, LC_CTYPE=de_DE (charmap=ISO-8859-1) (ignored: LC_ALL set to de_DE)

Versions of packages xlibs depends on:
ii  libice6                  6.8.2.dfsg.1-11 Inter-Client Exchange library
ii  libsm6                   6.8.2.dfsg.1-11 X Window System Session Management
ii  libx11-6                 6.8.2.dfsg.1-11 X Window System protocol client li
ii  libxext6                 6.8.2.dfsg.1-11 X Window System miscellaneous exte
ii  libxi6                   6.8.2.dfsg.1-11 X Window System Input extension li
ii  libxmu6                  6.8.2.dfsg.1-11 X Window System miscellaneous util
ii  libxmuu1                 6.8.2.dfsg.1-11 lightweight X Window System miscel
ii  libxp6                   6.8.2.dfsg.1-11 X Window System printing extension
ii  libxpm4                  6.8.2.dfsg.1-11 X pixmap library
ii  libxrandr2               6.8.2.dfsg.1-11 X Window System Resize, Rotate and
ii  libxt6                   6.8.2.dfsg.1-11 X Toolkit Intrinsics
ii  libxtrap6                6.8.2.dfsg.1-11 X Window System protocol-trapping 
ii  libxtst6                 6.8.2.dfsg.1-11 X Window System event recording an
ii  xlibs-data               6.8.2.dfsg.1-11 X Window System client data

xlibs recommends no packages.

- -- no debconf information

- -- 
Klaus Ethgen                            http://www.ethgen.de/
pub  2048R/D1A4EDE5 2000-02-26 Klaus Ethgen <Klaus@Ethgen.de>
Fingerprint: D7 67 71 C4 99 A6 D4 FE  EA 40 30 57 3C 88 26 2B
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iQEVAwUBQ6XDi5+OKpjRpO3lAQK/FggAkTeHxPj+JyP2STRLQsqO6+YZefBcFs6+
2YY+N+yReJIIMgc089+SXZxYqGs9k3AhhFxkUcihnGoGyxaAMG7s4TW9xxAztV+S
8oEq5lVZJuo9k0DfrVuHaB0q7g2HklcbiDSIcFyj18VKHtkF+ryLqx6ImKIOjVPF
Wk36hvSTJaojzUtpY/8VPPqarZTNPkeG0w4sz9w/UObkLw84Ne1sf8KFmJNRez9T
ulbLLEmZ0QCnxKhY+5UnCoUQFP80VgzljFGnyA2pbxq09G5tToGvl5Vb8GeePBxP
g6N0JJSmZmTYqzijk5VwHOhqEMHsStnLcZLV1EUVJEJS5SUZmOFr0Q==
=iSEt
-----END PGP SIGNATURE-----


--- End Message ---
--- Begin Message ---
Source: xkeyboard-config
Source-Version: 1.1~cvs.20080104.1-1

We believe that the bug you reported is fixed in the latest version of
xkeyboard-config, which is due to be installed in the Debian FTP archive:

xkb-data_1.1~cvs.20080104.1-1_all.deb
  to pool/main/x/xkeyboard-config/xkb-data_1.1~cvs.20080104.1-1_all.deb
xkeyboard-config_1.1~cvs.20080104.1-1.diff.gz
  to pool/main/x/xkeyboard-config/xkeyboard-config_1.1~cvs.20080104.1-1.diff.gz
xkeyboard-config_1.1~cvs.20080104.1-1.dsc
  to pool/main/x/xkeyboard-config/xkeyboard-config_1.1~cvs.20080104.1-1.dsc
xkeyboard-config_1.1~cvs.20080104.1.orig.tar.gz
  to pool/main/x/xkeyboard-config/xkeyboard-config_1.1~cvs.20080104.1.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 343929@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Mohammed Adnène Trojette <adn+deb@diwi.org> (supplier of updated xkeyboard-config package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Sun, 13 Jan 2008 15:33:54 +0100
Source: xkeyboard-config
Binary: xkb-data
Architecture: source all
Version: 1.1~cvs.20080104.1-1
Distribution: unstable
Urgency: low
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Changed-By: Mohammed Adnène Trojette <adn+deb@diwi.org>
Description: 
 xkb-data   - X Keyboard Extension (XKB) configuration data
Closes: 324647 343929 366180 395883 410628 410903 438940 442942 444035 451622 453675 456942 457927
Changes: 
 xkeyboard-config (1.1~cvs.20080104.1-1) unstable; urgency=low
 .
   * New upstream CVS snapshot from January 4th 2008:
      + fixed Latin American layout. (Closes: #444035)
      + fixed Cherry CyMotion Master Linux layout. (Closes: #343929)
      + fixed HP Compaq nx9020 layout. (Closes: #395883)
      + split Serbia and Montenegro. (Closes: #451622)
      + added fr(nodeadkeys) to mac. (Closes: #456942)
      + fixed mapping for shift+backslash in "il" keyboard. (Closes: #457927)
      + added English quotation marks to intl keymaps. (Closes: #453675)
   * debian/control:
      + bumped Standards-Version to 3.7.3.
      + used Vcs-Git and Vcs-Browser fields.
      + use a Homepage field.
   * Refreshed resync_rules_base.diff. (Closes: #442942)
   * Documented the creation of a custom layout in README.Debian and
     made /usr/share/X11/xkb/rules/base.xml a symlink to
     /etc/X11/xkb/base.xml.
     (Closes: #410628, #410903, #438940)
   * Documented how to remove conffiles left in /etc/X11/xkb/ in
     README.Debian. (Closes: #366180)
   * New patch: add_void_definition_pl-324647.diff
      + don't use rules/latin's definitions for alt+{w,q,f}.
        (Closes: #324647)
Files: 
 10d02c59169d3756e088c4c500942783 932 x11 extra xkeyboard-config_1.1~cvs.20080104.1-1.dsc
 d415dd467119dd768d8fcf05d72b2a1a 825009 x11 extra xkeyboard-config_1.1~cvs.20080104.1.orig.tar.gz
 06e801fa141901736cd647c0498e676c 93745 x11 extra xkeyboard-config_1.1~cvs.20080104.1-1.diff.gz
 a85855c70c6e71c7071d438efff3079a 617730 x11 extra xkb-data_1.1~cvs.20080104.1-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHijhROU3FkQ7XBOoRAtJRAJ9zhzPS414Da/kTTg4+oXQjkOKekgCeKgus
6Ovqj5t3K+FjkIEChkPnWyw=
=PLPL
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: