2 votes

Emulation des touches directionnelles du vi avec AutoHotKey

Actuellement, j'utilise le code suivant pour changer la disposition du clavier :

// vim.ahk
CapsLock::Send, {CTRLDOWN}{SHIFTDOWN}{SHIFTUP}{CTRLUP}{CTRLUP}
    return
!^CapsLock::CapsLock

CapsLock & j  :: Send {Down}
CapsLock & k  :: Send {Up}
CapsLock & h  :: Send {Left}
CapsLock & l  :: Send {right}
CapsLock & p  :: Send {PGUP}
CapsLock & `; :: Send {PGDN}
CapsLock & ^  :: Send {home}
CapsLock & $  :: Send {end}

Ce code est-il suffisamment stable ? Le problème est que parfois CapsLock s'allume de manière indésirable

Mise à jour : J'ai découvert que CapsLock s'allume lorsqu'on l'appuie sur n'importe quelle touche, sauf les touches ci-dessus. ( hkll;pae )

2voto

Amit Tiwari Points 31

Ajoutez ceci au début de votre script.

SetCapsLockState, AlwaysOff

!^CapsLock::CapsLock

Il devrait arrêter tous les événements Capslock que vous ne créez pas.

http://www.autohotkey.com/docs/commands/SetNumScrollCapsLockState.htm

0voto

fohrums Points 452

J'ai arrêté de jouer avec le CapsLock comme modificateur pour des raisons de cohérence ( vous allez être tellement perdu sans elle sur le pc d'une autre personne ). Ainsi, au lieu de CapsLock J'utilise ALT+SHIFT (!+) modificateurs parce qu'il n'est pas courant mais suffisamment confortable pour être facilement accessible. J'ai pu reproduire les touches fléchées up/down/left/right (kjhl) w/ AutoHotkey comme Vim le fait, mais je ne pouvais pas naviguer ces touches en utilisant Windows ALT+TAB (voir ci-dessous comment j'ai accidentellement trouvé une solution).

Puis, je suis accidentellement tombé sur une solution permettant d'utiliser les touches de navigation de Vim tout en utilisant Windows ALT+TAB sans qu'elles disparaissent. Je ne suis pas en mesure de l'expliquer mais cela fonctionne tout simplement et je vais poster ma configuration actuelle et vous montrer la différence avec ma découverte accidentelle.

AHK VIM-NAVIGATION HOTKEY

Si ces clés ne vous conviennent pas, veuillez les modifier à votre convenance. Je préfère simplement avoir shortnavigation-keys (up/down/left/right) correspondant à vim et avait mis la personnalisation uniquement pour le longnavigation-keys (home/end/pgup/pgdn)

!+[::SendInput, {Escape} !+k::SendInput, {Up} !+j::SendInput, {Down} !+h::SendInput, {Left} !+l::SendInput, {Right} !+p::SendInput, {Home} !+u::SendInput, {End} !+o::SendInput, {PgUp} !+i::SendInput, {PgDn} !+0::SendInput, ^{Tab} ; tabmove-forward !+9::SendInput, !^{Tab} ; idk why, but doesn't tabmove-backward

WIN ALT+TAB w/ VIM-NAVIGATIONKEYS ( menu statique, en raison d'une autre pression préalable sur le raccourci clavier. )

  • activer !+9::SendInput, !^{Tab}
    • Une fois après avoir appuyé sur ALT+SHIFT+9, continuez à maintenir ALT+SHIFT et la navigation en utilisant kjhl :D

WIN ALT+TAB w/ VIM-NAVIGATIONKEYS ( ne peut pas, parce que le menu ferme )

  • ALT+TAB
    • Maintenez maintenant Alt et Shift et commencez à utiliser les touches de navigation imitées de vim. qui est kjhl vous remarquez que la fenêtre disparaît :(

NOTE

  • Les touches communes sont des touches typiques utilisées pour des fonctions de base telles que couper/copier/coller et changer de tabulation, qui n'utilisent qu'une combinaison d'un modificateur et d'une seule pression sur une touche, sauf s'il s'agit de la navigation dans le bureau virtuel de Windows.
    • Par exemple, la commutation de Windows Virtual Desktop utilise CTRL+WIN+LEFT/RIGHT.
    • c'est une bonne idée de continuer à utiliser les touches de raccourci normales et de ne pas trop les personnaliser, sauf si vous pouvez prouver que votre façon de faire est meilleure
  • Quelle est la différence entre les touches de navigation courtes et longues ?
    • touches de navigation courtes : haut/bas/gauche/droite
    • longnaviation-keys : home/end/pgup/pgdn

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X