Script Autohotkey rendant les clés «collantes»


2

Cela fait presque un an que j'utilise avec succès un script AHK qui mappe Ctrl-C et Alt-ESV (un raccourci Excel) sur des combinaisons touche-Win, et mappe Ctrl-Supp vers Ctrl-Espace, Ctrl-- (ligne de suppression) .

Cependant, de temps en temps (et de plus en plus fréquemment), l'ordinateur pense que la touche Win ou Ctrl est toujours enfoncée. J'ai passé beaucoup de temps à chercher une solution et rien ne fonctionnait pour moi, y compris diverses réécritures de scripts, ainsi que la désinstallation et la réinstallation de AHK.

Voici mon script:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

;map ctrl-c, ctrl-v, and ctrl-e-s-v (paste values) to win-key combos
#a::Send ^c
#s::Send ^v
#q::Send !e,{s},{v}{Enter}

*CapsLock::Send {Media_Play_Pause}
Return  ;disable CapsLock permanently

;map win-x to ctrl-alt-/ - shortcut to open 'everything.exe', then close it automatically when it's not in focus
#x::
Send ^!/
Sleep, 1000
WinWaitNotActive, ahk_class EVERYTHING
WinClose, ahk_class EVERYTHING
return

;win-z to prt scn
#z::Send {PrintScreen}

;map ctrl-del to select whole line and delete it
~^Del::
Send +{space}
Send ^-
Send {Left}
return

Edit: cette personne a eu le même problème que moi, bien qu'aucune des corrections suggérées dans ce fil ne m'aide.

Réponses:


3

Rien ne dit si cela résoudra le problème, mais vous pouvez essayer ce script.

; Always run your script as admin
if not A_IsAdmin
{
   Run *RunAs "%A_ScriptFullPath%"  ; Requires v1.0.92.01+
   ExitApp
}
#SingleInstance, Force
#NoEnv
SetBatchLines, -1
SetKeyDelay, 50

;There's a command for disabling CapsLock permanently
SetCapsLockState, AlwaysOff 

return

$#a::^c
$#s::^v
$#z::PrintScreen
$#q::SendEvent, ^!v!v{Enter}
$#x::
    Send ^!/
    Sleep, 1000
    WinWaitNotActive, ahk_class EVERYTHING
    WinClose, ahk_class EVERYTHING
return

$~^Del::SendEvent, +{space}^-{Left}

Testé tous les rempas (sauf win + x) et ils semblent bien fonctionner. Je n'ai pas été capable de dupliquer le problème de modificateur que vous rencontrez.

Faites-moi savoir si cela résout le problème. Sinon, nous pouvons essayer de régler le feu.


2
Merci - au-delà de ce que je cherchais! J'ai appliqué vos modifications et exécuté en tant qu'administrateur, et jusqu'à présent, le bogue ne s'est pas reproduit. Je suis toujours curieux de savoir quel changement spécifique est à l'origine du bogue, quelque chose d'un jour de pluie.
Josh Friedlander

1
Aucune idée de la cause du bogue, mais vous n'êtes certainement pas la première personne à avoir signalé ce problème. Je suis généralement sur le subreddit AHK répondant à des questions comme celle-ci. Si cela ne fonctionnait pas, l'étape suivante aurait forcé la montée des clés. ¯ \ _ (ツ) _ / ¯ Je suis content d'entendre que tout fonctionne comme prévu.
GroggyOtter

@GroggyOtter - peut-être si vous pouvez perdre un mot sur quelle partie du code peut éventuellement faire la différence et pourquoi.
miroxlav
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.