Wyłącz wadliwy klawisz strzałki w prawo za pomocą przycisku autohotkey


0

Zepsułem trochę wody na klawiaturze, a teraz okresowo prawy klawisz strzałki jest aktywowany bez naciskania go (np. Pliki PDF przeskakują o jedną stronę do przodu, YouTube pomija 5 sekund itp.). Użyłem internetowego keyloggera ( http://unixpapa.com/js/testkey.html ), aby sprawdzić, czy jest to klawisz strzałki w prawo (keyCode = 39) z szybkim klawiszem i kluczem. Dlatego próbowałem go wyłączyć za pomocą Autohotkey, takiego jak:

Right::return

(zgodnie z tym rozwiązaniem ) Ale bezskutecznie. Idealnie, chciałbym mieć zarejestrowaną strzałkę w prawo tylko, jeśli jest naciśnięta dłużej niż np. 0,5 s, ale w najgorszym przypadku akceptuję jej całkowite wyłączenie (wtedy mogę zmienić mapę Shift+Left::Right)

Każda pomoc jest mile widziana!

Edycja: W tej chwili mój skrypt wygląda następująco:

    #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.

    SC063::Pause
    +BS::Del
    ^BS::run, taskmgr
    Right::return

Czy próbowałeś fizycznie usunąć klucz?
— Burgi,

Usunąłem plastikowy przycisk, ale nadal trwa. Mam laptopa Thinkpad, w którym pod plastikową obudową znajduje się jakiś gumowy przedmiot ( zdjęcie ) - nie jestem pewien, czy mogę go usunąć bez całkowitego zniszczenia.
— Andarin

Czy próbowałeś użyć suszarki do włosów, aby upewnić się, że jest naprawdę sucha?
— Kody Brown

Podczas majstrowania przy obejściach upewnij się, że masz nową klawiaturę na zamówienie. W serwisie eBay kosztują tylko około 10 USD i instalacja zajmuje tylko kilka minut.
— Mika

Nie zalogowałem się przez jakiś czas, ale teraz czytam twoje odpowiedzi. Dziękuję za Twój czas. Zamówiłem nową klawiaturę (moja klawiatura była / jest naprawdę sucha, niestety ...)
— Andarin

Odpowiedzi:


0

Popieram sugestię suszarki do włosów (ostrożnie). Możesz także spróbować umieścić go w dużej torbie ryżu przez noc, aby usunąć wilgoć.

Zwrot przycisk jest {Enter}, jak w jednym z następujących poniżej. Zwrot jest inaczej interpretowany jako zwrot z podprogramu, a nie klawisz Enter.

Right::{Enter}
Right::Send {Enter}
Right::SendInput {Enter}

Send instrukcje nie są konieczne, ale przydają się, jeśli potrzebujesz wykonać specjalne kombinacje.

Aby sprawdzić czas, możesz monitorować naciśnięcia klawiszy w górę i w dół, aby określić różnicę czasu, a następnie wysłać tylko wtedy, gdy czas jest większy niż ustawiona wartość (500 ms = pół sekundy).

Right::                      
    timedown := A_TickCount
    ; no tilde on hotkey definition and no SendInput {Right} here
    ; means the keystroke down will get discarded
return

Right Up::
    timeUp := A_TickCount

    ; interval between down and up has to be half second or more, otherwise ignore
    if ((timeUp - timeDown) >= 500)     
        SendInput {Right}
return

Oczywiście możesz uprościć powyższe i pozbyć się TimeUp, właśnie dla jasności ...

Right Up::
    if ((A_TickCount - timeDown) >= 500)     
        SendInput {Right}
return

Aby całkowicie zmienić przypisanie:

Right::return        ; ignores all right button presses by doing nothing and returning
+Left::Right         ; send right if Shift+Left is detected

lub...

Right::return        ; ignores all right button presses by doing nothing and returning
 +Right::Right        ; send right if Shift+Right is detected

Ponadto, jeśli nadal masz problemy, możesz również użyć AutoHotkey jako rejestratora kluczy, który powie ci wszystkie naciśnięcia klawiszy, w tym te, które może zignorować i kolejność ich przetwarzania. Otwieranie uruchomionego programu za pomocą ikony na pasku zadań i wybierz Widok> Historia kluczy.


Dziękuję za bardzo szczegółową odpowiedź - i przepraszamy za odpowiedź tak późno. Wypróbuję to dziś wieczorem! (Przepraszam, nie mogę dać +1, ale nie mam wystarczającej reputacji)
— Andarin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.