Verwenden von setxkbmap für eine einfache Neuzuordnung (ähnlich wie xmodmap)

Verwenden von setxkbmap für eine einfache Neuzuordnung (ähnlich wie xmodmap)

Ich hatte einige Probleme, nachdem ich die Tastatur mit xmodmap neu zugeordnet hatte: Die Einstellungen wurden 2 bis 20 Minuten nach der Anwendung zufällig zurückgesetzt. Ich habe danach gegoogelt, aber es hat nicht geholfen: Irgendetwas setzt sie zurück, aber alle Erwähnungen beziehen sich auf xfce, während ich das normale 14.04 Ubuntu mit Unity verwende.

Ich habe Sätze wie „Verwenden Sie xkb, vergessen Sie xmodmap“ gesehen, habe aber immer noch keine Ahnung, wie das geht. Es ist entweder geheim oder sehr kompliziert, da die Menge an Informationen dazu deutlich geringer ist als für die xmodmap-Methode.

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 die Tastencodes den entsprechenden Tasten auf dem Nummernblock entsprechen, wobei Numlock ausgeschaltet ist (grundsätzlich ersetze ich KP_Del durch Delete, KP_Home durch Home usw. – fragen Sie nicht, warum))

Kann mir jemand helfen, einen Weg zu finden, dies mit xkb zu tun – zumindest eine der Zeilen? Und wo finde ich die „Namen“ der Schlüssel für andere, damit ich den Rest anhand eines Beispiels erledigen kann?

Antwort1

Sie können der allgemeinen Idee folgen, die inmeine Antwort zu einem ähnlichen Problem; wenn Sie immer noch das Layout wechseln möchten (obwohlnoch ganz kaputt) Du solltestein 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. Bei meiner Tastatur ist die Geometrie beispielsweise „pc105“; diese ist in definiert /usr/share/X11/xkb/symbols/pc. Wenn Sie sich das ansehen, finden Sieenthalten:

[...]
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    ]       };
[...]

Die Namen der Tastensymbole (Keysims) finden Sie am besten in der Datei /usr/include/X11/keysymdef.h; dazu müssen möglicherweise die Entwicklungspakete installiert sein (oder Sie können sie durch Installieren von x11proto-core-dev) installieren:

[...]
/* 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, den Sie haben, nachdem Sie die Zeichenfolge „XK_“ entfernt haben.

verwandte Informationen