Jak nadpisać przycisku HOME i MAIL na klawiaturze - funkcjami “przycisz” i “zgłośnij”?
Mam tylko takie klawisze dodatkowe na klawiaturze i chcę je wykorzystać do regulacji głośności.
Jak nadpisać przycisku HOME i MAIL na klawiaturze - funkcjami “przycisz” i “zgłośnij”?
Mam tylko takie klawisze dodatkowe na klawiaturze i chcę je wykorzystać do regulacji głośności.
Witaj
Ja stosuję AutoHotKey.
Należy sprawdzić jaki jest kod klawisza, wtedy można użyć skryptu nadpisującego funkcję klawisza
W razie czego pisz
Pozdrawiam serdecznie
Juliusz
Logitech powinien oferować programowanie klawiszy.
Zainstalowałem.
Tam jest tylko instrukcja jako program?
Potrzebuję właśnie złapać kod tych klawiszy i też komendę do ściszania oraz zgłaśniania.
Jak można?
Przydałoby się coś jak to dla JS (tam jest LaunchMail
a drugie nie wiem bo nowa karta się otwiera).
Komendy mam:
^+Left::SoundSet,-5
^+Right::SoundSet,+5
(kiedyś autohotkey się bawiłem ale bardzo dawno temu)
Już mam!:
Browser_Home::SoundSet,-5
Launch_Mail::SoundSet,+5
Ale pytanie:
Jak zrobić, żeby przytrzymanie klawisza ściszało dalej? Żebym nie musiał klikać wielokrotnie jak chcę mocno ściszyć?
Już pisałem jak to zrobić
Tzn. jak odszukać kod klawisza
Dawno nie zaglądałem na Multimedia Key
Powinno działać jako ciągle wciśnięty
Remapped keys will auto-repeat while being held down (except keys remapped to become mouse buttons).
Może opcja KeyPress i GetKeyState
https://autohotkey.com/board/topic/83006-solved-mute-on-keypress-volume-down-on-longer-key-hold/
Dla tego działa przytrzymanie:
+Left::SoundSet,-5
+Right::SoundSet,+5
Ale dla tego co chcę używać (z HOME i MAIL), to nie działa przytrzymanie.
Tylko jak tego użyć? Przerobisz ten mój kod?
Ustaw Twoje klawisze bez przecinka
Browser_Home::SoundSet -5
Launch_Mail::SoundSet +5
Zrobiłem jak napisałeś i nic się nie zmieniło.
Browser_Home::
Sleep, 250
If (GetKeyState(A_ThisHotkey, "P"))
While (GetKeyState(A_ThisHotkey, "P"))
{
Send, {Volume_Down}
Sleep, 50
}
Else
Send {Volume_Mute}
Return
Launch_Mail::
Sleep, 250
If (GetKeyState(A_ThisHotkey, "P"))
While (GetKeyState(A_ThisHotkey, "P"))
{
Send, {Volume_Up}
Sleep, 50
}
Return
Ogólnie działa.
Był lekki lag ale zmniejszyłem 250 na 50 i jest ok.
Teraz jest ok. Dzięki.
Chociaż występuje ciekawy niechciany efekt:
Sytuacja:
Dziwny efekt ale nic wielkiego, w losowych sytuacjach może nieco rozproszyć uwagę od rzeczy którą robię.
Browser_Home::
Sleep, 50
If (GetKeyState(A_ThisHotkey, "P"))
While (GetKeyState(A_ThisHotkey, "P"))
{
Send, {Volume_Down}
Sleep, 50
}
Else If (GetKeyState("Launch_Mail", "P"))
{
Send {Launch_Mail}
}
Else
Send {Volume_Mute}
Return
Launch_Mail::
Sleep, 50
If (GetKeyState(A_ThisHotkey, "P"))
While (GetKeyState(A_ThisHotkey, "P"))
{
Send, {Volume_Up}
Sleep, 50
}
Else If (GetKeyState("Browser_Home", "P"))
{
Send {Browser_Home}
}
Return
Nie pomogło.
Sprawdzałem na zwykłym klawiszu.
Inaczej działają od klawiszy multimedialnych, chodzi o przerwania
Zamień w obu Else If
{
Send {Launch_Mail}
Return
}
i tu
{
Send {Browser_Home}
Return
}
Gdy nie zadziała to usuń w obu całą linię Send i zostaw tylko Return
Wyłącz skrypt zanim zrobisz edycję
Ani tak ani tak nie pomaga.
Jakoś przeżyję, trudno.
Ale jak masz jeszcze pomysły to będę próbował.
AWARIA AWARIA!!
Jak wejdę w grę np. Among Us i tam używam skrótów, to autohotkey tam nie działa - otwiera się mail i strona domowa przeglądarki.
A w sumie najbardziej po to mi to było bo tak mam volume2 które sprawia że mogę regulować głośność kręcąc kółkiem myszy nad paskiem zadań Windows-a.
Wychodzi na to, że trzeba dodać komendę #If
#If (typing) && WinActive("Among Us")
Browser_Home::
Sleep, 50
If (GetKeyState(A_ThisHotkey, "P"))
While (GetKeyState(A_ThisHotkey, "P"))
{
Send, {Volume_Down}
Sleep, 50
}
Else If (GetKeyState("Launch_Mail", "P"))
{
Send {Launch_Mail}
}
Else
Send {Volume_Mute}
Return
#If
#If (typing) && WinActive("Among Us")
Launch_Mail::
Sleep, 50
If (GetKeyState(A_ThisHotkey, "P"))
While (GetKeyState(A_ThisHotkey, "P"))
{
Send, {Volume_Up}
Sleep, 50
}
Else If (GetKeyState("Browser_Home", "P"))
{
Send {Browser_Home}
}
Return
#If
Zakładam, że okno gry to Among Us, a sugerowałem się innym skryptem do gry
https://www.autohotkey.com/boards/viewtopic.php?f=76&t=85470&hilit=among+us
Możliwe, że trzeba będzie zmodyfikować
Uruchom skrypt z prawami administratora. Wtedy powinien działać w grze. Przynajmniej ja tak miałem z AHK.
O, pomogło.
A da się żeby skrypt autohotkey uruchamiał się na starcie jako admin bez pytania o pozwolenie?