Utilizzo di setxkbmap per un semplice rimappare (simile a xmodmap)


13

Ho riscontrato alcuni problemi dopo aver rimappato la tastiera con xmodmap: le impostazioni vengono ripristinate casualmente dopo 2-20 minuti dall'applicazione. Ho cercato su Google ma nessun aiuto: qualcosa li reimposta, ma tutte le menzioni si applicano a xfce, mentre io sono sotto il solito 14.04 Ubuntu con unità.

Ho visto frasi come "usa xkb, dimentica xmodmap", ma non ho ancora idea di come farlo. È classificato o molto complicato, perché la quantità di informazioni è significativamente più piccola rispetto a quella xmodmap.

Ecco il mio elenco di personalizzazioni:

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"

dove i codici chiave sono tasti corrispondenti sul tastierino numerico, con numlock = off (sostanzialmente, sto sostituendo KP_Del con Delete, KP_Home con Home ecc. - non chiedere perché))

Qualcuno può aiutare a trovare un modo per farlo usando xkb - almeno una delle linee? E dove trovare i "nomi" delle chiavi per altri in modo che io possa fare il resto con l'esempio?


5
Sì. Aveva esattamente lo stesso problema. Vedi qui: rlog.rgtti.com/2014/05/01/… e askubuntu.com/questions/422650/… . Se riesci a trovare come usare xkbsenza riscrivere i file di sistema, scrivi una risposta qui ... sarai ricompensato da miliardi di voti.
Rmano,

Caspita - finalmente una guida di rimappatura xkb che rende le cose più chiare ... Ma non riesco a vedere nulla sul rimappare Home, Delete e Up & Down-arows. Riguarda sempre alcune lettere greche o spagnole. Finora sono andato dall'altra parte, cercando di impedire al sistema di ignorare le mie impostazioni Xmodmap (ricetta n. 3 da qui: Programmingiroiro.blogspot.com/2013/03/… )
Den Drobiazko,

1

Risposte:


4

Puoi seguire l'idea generale vista nella mia risposta su un problema simile ; se vuoi ancora cambiare layout (anche se ancora abbastanza rotto ) dovresti definire un nuovo layout o variante .

Si noti che il modello da copiare e modificare per la modifica di una tastiera è un po 'difficile da trovare. Nella mia tastiera, ad esempio, la geometria è "pc105"; questo è definito in /usr/share/X11/xkb/symbols/pc. Se lo guardi, include :

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

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

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

La tastiera è definita nel file /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    ]       };
[...]

Per il nome dei simboli chiave (keysims), il posto migliore dove cercare è nel file /usr/include/X11/keysymdef.h; potrebbe essere necessario avere i pacchetti di sviluppo installati per averlo (o installarlo installando 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 */
[...]

il nome keysym è quello che hai rimosso una volta la stringa "XK_".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.