¿Cómo puedo vincular mi clave de bloqueo de mayúsculas a un comando de shell de pez y deshabilitar su funcionalidad de alternar mayúsculas?

9

Recientemente me cambié a la concha de pescado, y su autocompletado es realmente agradable.

Sin embargo, me encuentro con ganas de usar tabla función complete_autocomplete, a diferencia de cuando no es ambigua. Las teclas de avance y fin hacen esto, pero están fuera del alcance de mis dedos en una posición de escritura normal.

Me encantaría usar la Capslockclave para esto, ya que nunca la uso, pero está en una posición tan agradable.

Lo he intentado setxkbmap -option caps:nonepero parece deshabilitar la capslockclave por completo. Supongo que podría vincularlo con la tecla de avance o finalización, pero tampoco estoy seguro de cómo hacerlo.

Además, parece que no puedo encontrar un enlace clave en la concha de pescado para capslock:

cowpig@gerty:~$ bind -K
b2
backspace
btab
dc
down
end
enter
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
f12
f13
f14
f15
f16
f17
f18
f19
f20
home
ic
left
npage
ppage
right
sdc
send
sf
shome
sic
sleft
snext
sprevious
sr
sright
up
mavix
fuente
Creo que tendrá que encontrar una herramienta de reasignación a nivel de sistema para Ubuntu, ya que los programas de usuario generalmente no pueden suprimir el comportamiento predeterminado de bloqueo de mayúsculas.
Nick Sweeting
¿Supongo que puede usar xbindkeys para establecer el comportamiento predeterminado de bloqueo de mayúsculas, decirle que envíe un evento diferente y manejar ese evento en fish?
XtrmJosh
Posiblemente relacionado: askubuntu.com/questions/82837/…
Elder Geek
Es posible que pueda escribir un demonio Python para manejar esto. Alguna información básica aquí: stackoverflow.com/questions/22367358/…
Nandakumar Edamana

Respuestas:

2

Primero, consulte el manual porque creo que Ctrl+ Ftambién se completará automáticamente. Puedes verlo escribiendo helpen peces.

Si desea continuar con la asignación, ejecute xevy presione capslockpara obtener el código clave. El mío es 66:

enter code hereKeyRelease event, serial 37, synthetic NO, window 0x5200001,
root 0x4b7, subw 0x0, time 6149967, (918,609), root:(984,661),
state 0x10, keycode 66 (keysym 0xff57, End), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes: 
XFilterEvent returns: False

Ahora cree un script (es decir, ~ / xmodmap.sh) con el permiso 755 y el siguiente texto:

#/bin/bash
xmodmap -e "keycode 66 = End"
xmodmap -e "clear Lock"

Ejecute el script y lo convertirá capslocken la Endclave.

Para hacer esto permanente, agregue este comando a las aplicaciones de inicio:

/bin/bash -c "sleep 7 && /home/myusername/xmodmap.sh"

Lo probé con la concha de pez y completa automáticamente el comando.

Utilizo Alt Grpara asignar algunas teclas a posiciones más cercanas: personalizar la distribución del teclado, incluidas las teclas de navegación

Katu
fuente
Esto es casi lo que quiero :)
mavix