Setxkbmap für eine einfache Neuzuordnung verwenden (ähnlich wie xmodmap)

13

Nachdem ich die Tastatur mit xmodmap neu zugeordnet habe, sind einige Probleme aufgetreten: Die Einstellungen werden nach 2-20 Minuten nach dem Anwenden nach dem Zufallsprinzip zurückgesetzt. Googelte es doch ohne hilfe: irgendwas setzt sie zurück, aber alle erwähnungen gelten für xfce, während ich unter Ubuntu 14.04 mit gewohnter einheit bin.

Ich habe Sätze wie 'benutze xkb, vergiss xmodmap' gesehen, aber ich habe immer noch keine Ahnung, wie das geht. Es ist entweder klassifiziert oder sehr kompliziert, da die Menge an Informationen wesentlich geringer ist als bei xmodmap.

Hier ist meine Liste der Anpassungen:

xmodmap -e "keycode 84 = Down"
xmodmap -e "keycode 79 = Home"
xmodmap -e "keycode 80 = Up"
xmodmap -e "keycode 83 = Left"
xmodmap -e "keycode 85 = Right"
xmodmap -e "keycode 87 = End"
xmodmap -e "keycode 90 = Insert"
xmodmap -e "keycode 91 = Delete"
xmodmap -e "keycode 89 = Next"
xmodmap -e "keycode 81 = Prior"

Wobei Keycodes die entsprechenden Tasten auf dem Nummernblock sind, mit numlock = off (im Grunde ersetze ich KP_Del durch Delete, KP_Home durch Home usw. - frag nicht warum)

Kann jemand helfen, einen Weg zu finden, dies mit xkb zu tun - mindestens einer der Zeilen? Und wo finde ich die "Namen" der Schlüssel für andere, damit ich den Rest anhand eines Beispiels machen kann?

Den Drobiazko
quelle
5
Ja. Hatte genau das gleiche Problem. Siehe hier: rlog.rgtti.com/2014/05/01/… und askubuntu.com/questions/422650/… . Wenn Sie in der Lage sind, zu erfahren, wie Sie xkbSystemdateien ohne erneutes Schreiben verwenden können, geben Sie hier eine Antwort ein ... Sie werden mit zig Millionen positiven Stimmen belohnt.
Rmano
Wow - endlich eine xkb-Remap-Anleitung, die die Dinge klarer macht ... Aber ich kann nichts über das Remapping von Home's, Delete's und Up- & Down-Arows sehen. Es geht immer um griechische oder spanische Buchstaben. Bisher bin ich in die andere Richtung gegangen und habe versucht, zu verhindern, dass das System meine Xmodmap-Einstellungen überschreibt (Rezept 3 von hier: programmingiroiro.blogspot.com/2013/03/… )
Den Drobiazko,
1
Schlechte Idee - danach ist kein Layoutwechsel mehr möglich (
Den Drobiazko

Antworten:

4

Sie können der allgemeinen Idee in meiner Antwort zu einem ähnlichen Problem folgen ; Wenn Sie immer noch das Layout wechseln möchten (obwohl es immer noch ziemlich kaputt ist ), sollten Sie ein neues Layout oder eine neue Variante definieren .

Beachten Sie, dass die Vorlage zum Kopieren und Ändern für die Bearbeitung einer Tastatur etwas schwierig zu finden ist. In meiner Tastatur ist die Geometrie beispielsweise "pc105"; Dies ist in definiert /usr/share/X11/xkb/symbols/pc. Wenn Sie sich das ansehen, ist Folgendes enthalten :

[...]
key <SPCE> {        [        space          ]       };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> {        [ BackSpace, BackSpace  ]       };
[...]

Die Tastatur ist in der Datei definiert /usr/share/X11/xkb/symbols/keypad

[...] 
default  partial hidden keypad_keys
xkb_symbols "x11" {
   include "keypad(operators)"

   key  <KP7> {        [  KP_Home,     KP_7    ]       };
   key  <KP8> {        [  KP_Up,       KP_8    ]       };
[...]

Für den Namen der Schlüsselsymbole (Keysims) sollten Sie am besten in die Datei schauen /usr/include/X11/keysymdef.h. Möglicherweise müssen Sie die Entwicklungspakete installiert haben, um sie zu installieren (oder durch Installation x11proto-core-dev):

[...]
/* Cursor control & motion */

#define XK_Home                          0xff50
#define XK_Left                          0xff51  /* Move left, left arrow */
#define XK_Up                            0xff52  /* Move up, up arrow */
[...]

Der Keysym-Name ist der Name, den Sie einmal aus der Zeichenfolge "XK_" entfernt haben.

Rmano
quelle