Comment puis-je lier ma clé de verrouillage à une commande de shell de poisson et désactiver sa fonctionnalité de bascule-majuscules?

9

Je suis récemment passé à la coquille de poisson, et sa saisie semi-automatique est vraiment sympa.

Cependant, je me retrouve à vouloir tabutiliser la fonctionnalité complete_autocomplete, par opposition à quand elle n'est pas ambiguë. Les touches avant et fin le font toutes les deux, mais elles sont hors de portée de mes doigts dans une position de frappe normale.

J'adorerais utiliser la Capslockclé pour cela, car je n'ai jamais utilisé cette clé mais elle est dans une position aussi agréable.

J'ai essayé setxkbmap -option caps:nonemais cela semble désactiver capslockcomplètement la clé. Je suppose que je pourrais le lier à la touche avant ou à la fin, mais je ne sais pas comment faire cela non plus.

De plus, je n'arrive pas à trouver une liaison clé dans la coquille de poisson pour 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
la source
Je pense que vous devrez trouver un outil de remappage au niveau du système pour Ubuntu, car les programmes utilisateur ne peuvent généralement pas supprimer le comportement de verrouillage des majuscules par défaut.
Nick Sweeting
Je suppose que vous pouvez utiliser xbindkeys pour définir le comportement de verrouillage des majuscules par défaut, lui dire d'envoyer un événement différent et de gérer cet événement dans le poisson?
XtrmJosh
Peut-être lié: askubuntu.com/questions/82837/…
Elder Geek
Vous pourrez peut-être écrire un démon Python pour gérer cela. Quelques informations de base ici: stackoverflow.com/questions/22367358/…
Nandakumar Edamana

Réponses:

2

Tout d'abord, consultez le manuel, car je pense que Ctrl+ se Fterminera également automatiquement. Vous pouvez le voir taper helpdu poisson.

Si vous souhaitez poursuivre le mappage, exécutez xevet appuyez sur capslockpour obtenir le code clé. Le mien a 66 ans:

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

Créez maintenant un script (ie ~ / xmodmap.sh) avec la permission 755 et le texte suivant:

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

Exécutez le script et il convertira le capslocken Endclé.

Pour rendre cela permanent, ajoutez cette commande aux applications de démarrage:

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

Je l'ai essayé avec la coquille de poisson et il exécute automatiquement la commande.

J'utilise Alt Grpour mapper certaines touches à des positions plus proches: personnaliser la disposition du clavier, y compris les touches de navigation

Katu
la source
C'est PRESQUE ce que je veux :)
mavix