# [solved] Patch für xkeyboard-config funktioniert nicht.

## musv

Guten Abend, 

nachdem ich hier rausgefunden hatte, dass meine Tilde nicht mehr funktioniert, gab's nach reichlicher Diskussion die Einigung, ein neues Profil "legacy" einzuführen, was das frühere Standardtastaturverhalten wiederherstellt. 

Also dachte ich mir mal, wird ja nicht so schwer sein. Geändert hat sich das Verhalten von xkeyboard-config Version 2.6 -> 2.7

```
cd /usr/portage/x11-misc/xkeyboard-config/

ebuild xkeyboard-config-2.6.ebuild unpack

ebuild xkeyboard-config-2.7.ebuild unpack

diff /var/tmp/portage/x11-misc/xkeyboard-config-2.6/work/xkeyboard-config-2.6/symbols/de\

 /var/tmp/portage/x11-misc/xkeyboard-config-2.7/work/xkeyboard-config-2.7/symbols/de
```

Und sieheguck:

```
29c29

<     key <AD12>   { [      plus,   asterisk,   dead_tilde,  dead_macron ]   };

---

>     key <AD12>   { [      plus,   asterisk,   asciitilde,  macron ]   };
```

Die XkbVariants werden als Sections abgebildet. Mal kurz einen Blick auf die Nodeadkeys geworfen, um rauszufinden, wie's gehen müsste:

```
partial alphanumeric_keys

xkb_symbols "nodeadkeys" {

    // modify the basic German layout to not have any dead keys

    include "de(basic)"

    name[Group1]="German (eliminate dead keys)";

    key <TLDE>  { [asciicircum,    degree,      notsign,      notsign ] };

    key <AE12>  { [     acute,      grave,      cedilla,      cedilla ] };

    key <AD11>  { [udiaeresis, Udiaeresis,    diaeresis,    diaeresis ] };

    key <AD12>  { [      plus,   asterisk,   asciitilde,       macron ] };

    key <AC10>  { [odiaeresis, Odiaeresis,  doubleacute,  doubleacute ] };

    key <AC11>  { [adiaeresis, Adiaeresis,  asciicircum,  asciicircum ] };

    key <BKSL>  { [numbersign, apostrophe,        grave,        grave ] };

};
```

und einen Patch erstellt, um in 2.7 ein XkbVariant legacy zu erstellen, was mir meine Deadkey-Tilde wiederbringen soll:

```
--- de.orig   2012-12-08 22:06:07.860317844 +0100

+++ de   2012-12-08 22:11:41.293621380 +0100

@@ -50,6 +50,17 @@

 };

 

 partial alphanumeric_keys

+xkb_symbols "legacy" {

+

+   // previous standard German layout with tilde as dead key

+

+    include "de(basic)"

+    name[Group1]="German (dead tilde)";

+

+   key <AD12>   { [      plus,   asterisk,   dead_tilde,  dead_macron ]   };

+};

+

+partial alphanumeric_keys

 xkb_symbols "nodeadkeys" {

 

     // modify the basic German layout to not have any dead keys
```

Compiliert, installiert. Änderung in der Symboldatei (/usr/share/X11/xkb/symbols/de) ist wie gewünscht vorhanden. Jetzt müsste ich noch die xorg.conf.d/10-evdev.conf anpassen:

```
Section "InputClass"

        Identifier "Keyboard"

        MatchIsKeyboard "on"

        MatchDevicePath "/dev/input/event*"

        Driver "evdev"

        Option "AutoRepeat"    "500 30"

        Option "XkbRules"   "xorg"

        Option "XkbModel"   "pc105"

        Option "XkbLayout"  "de"

#        Option "XkbOptions"        "grp:toogle,grp_led:scroll"

        Option "XkbVariant" "legacy"

#        Option "XkbVariant" ",legacy"

       Option "CoreKeyboard"

EndSection
```

Nachdem ich dann den X-Server neugestartet hab, stelle ich fest: Es funktioniert nicht! Die Tilde ist kein Deadkey. Gut, wäre wohl etwas zu einfach gewesen. Aber:

```
[    10.848] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event2)

[    10.848] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"

[    10.848] (**) AT Translated Set 2 keyboard: Applying InputClass "Keyboard"

[    10.848] (II) Using input driver 'evdev' for 'AT Translated Set 2 keyboard'

[    10.848] (**) Option "CoreKeyboard"

[    10.848] (**) AT Translated Set 2 keyboard: always reports core events

[    10.848] (**) evdev: AT Translated Set 2 keyboard: Device: "/dev/input/event2"

[    10.848] (--) evdev: AT Translated Set 2 keyboard: Vendor 0x1 Product 0x1

[    10.848] (--) evdev: AT Translated Set 2 keyboard: Found keys

[    10.848] (II) evdev: AT Translated Set 2 keyboard: Configuring as keyboard

[    10.848] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input2/event2"

[    10.848] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 9)

[    10.848] (**) Option "xkb_rules" "evdev"

[    10.848] (**) Option "xkb_model" "pc105"

[    10.848] (**) Option "xkb_layout" "de"

[    10.848] (**) Option "xkb_variant" ",legacy"

```

Sieht alles ordentlich aus. Er akzeptiert das "legacy". Warum funktioniert es dann nicht? Wo fehlt mir noch das letzte Stück Wissen?Last edited by musv on Mon Dec 10, 2012 8:18 pm; edited 1 time in total

----------

## firefly

sicher, dass der ausschnitt aus der Xorg.0.log mit deiner xorg.conf version passt?

Denn in der log Auszug steht ", legacy" für XkbVariant

in der Config ist aber die variante ohne das komma.

----------

## musv

Jupp, das passt schon. 

Komischerweise funktioniert das Ganze heute. Wahrscheinlich hat der Rechner nur mal einen Tag Pause gebraucht.  :Smile: 

----------

