Eu gostaria de usar ctrl + h como Seta para a esquerda e assim por diante (estilo vim) em todo o sistema operacional (todos os aplicativos). Eu uso o gnome 3.16.4.
O resultado xev para a seqüência de press-releases de ctrl + h é:
KeyPress event, serial 37, synthetic NO, window 0x3000001,
root 0xf6, subw 0x0, time 8058713, (-860,225), root:(166,344),
state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x3000001,
root 0xf6, subw 0x0, time 8058895, (-860,225), root:(166,344),
state 0x4, keycode 43 (keysym 0x68, h), same_screen YES,
XLookupString gives 1 bytes: (08) "
XmbLookupString gives 1 bytes: (08) "
XFilterEvent returns: False
KeyRelease event (...)
e para h uma linha é a seguinte:
XLookupString gives 1 bytes: (68) "h"
A seta para a esquerda é simples:
keycode 113 (keysym 0xff51, Left)
Actualização
Justificativa para CTRL
Primeiramente eu queria atribuir fn + h , j , k , l mas parece ser impossível de maneira de software. windows + l e windows + h também estão em uso como logout e janela mínima, respectivamente. Alt esquerdo parece a melhor opção, mas em alguns programas funciona como letras adicionais (codificação) (por exemplo, vim e gvim vêem teclas distintas quando alt é pressionado).
Eu sei que vou perder algumas funcionalidades usando ctrl , mas até agora eu nunca usei atalhos padrão ctrl + hjkl em um terminal (eu uso o modo vi) mapeamento definido em .inputrc)
xev Alt + h versão:
KeyPress event, serial 37, synthetic NO, window 0x1e00001,
root 0xf6, subw 0x0, time 2180657, (434,71), root:(484,158),
state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x1e00001,
root 0xf6, subw 0x0, time 2180851, (434,71), root:(484,158),
state 0x8, keycode 43 (keysym 0x68, h), same_screen YES,
XLookupString gives 1 bytes: (68) "h"
XmbLookupString gives 1 bytes: (68) "h"
XFilterEvent returns: False