1

Тема: AHK: CapsLock мешает скрипту

У меня есть скрипт на спам клавиш, но когда включен CapsLock то вместе с этой клавишей спамится и сам CapsLock.
Как можно сделать так чтобы CapsLock не спамился c другими клавишами даже если он включен.
У меня сам CapsLock заскриптован на спам, поэтому просто выключить его нажатием не получится.

#UseHook
e::
while GetKeyState(A_ThisHotkey, "P")
   Send % A_ThisHotkey
Return

2

Re: AHK: CapsLock мешает скрипту

Попробуйте SetCapsLockState AlwaysOff.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: CapsLock мешает скрипту

teadrinkerСпасибо, это очень помогло.
Но есть маленький нюанс, что бы команда SetCapsLockState AlwaysOFF сработала и отключила CapsLock нужно нажать два раза на клавишу для спама.
Может есть возможность сделать так что бы она сработала с первого нажатия.

4

Re: AHK: CapsLock мешает скрипту

Ставьте SetCapsLockState AlwaysOFF в самом начале скрипта.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: dizzlight, 2023-09-15 18:17:46)

Re: AHK: CapsLock мешает скрипту

teadrinker Да это то что надо, спасибо.

У меня есть скрип на отключение скрипта по кнопке и когда я отключаю скрипт то CapsLock перестает работать.

END::Suspend Toggle ; вкл/выкл

А это сам скрипт на спам CapsLock.

capslock::
   While GetKeyState("capslock", "P")
	Send {capslock}
	Sleep 1
Return

Что добавить или изменить чтобы при отключение скрипта CapsLock работал.

6

Re: AHK: CapsLock мешает скрипту

Как-то так, наверно:

#UseHook
End::
   Suspend
   HotKey, CapsLock, % A_IsSuspended ? "Off" : "On"
Return

CapsLock::
   While GetKeyState("CapsLock", "P") {
      Send {CapsLock}
      Sleep 10
   }
Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7 (изменено: dizzlight, 2023-09-15 01:34:14)

Re: AHK: CapsLock мешает скрипту

teadrinker Когда нажимаю END то CapsLock работает как обычно это то что я и хотел, но как только я нажму спам другой клавиши то CapsLock опять перестает работать когда я нажимаю END.

8

Re: AHK: CapsLock мешает скрипту

Ну, горячие клавиши так устроены, что работают только с теми комбинациями, которые изначально прописаны. Когда спамится какая-то ещё клавиша, то получается, что она добавляется в комбинацию, и горячие клавиши могут перестать работать. Иногда это можно обойти, но нужно разбираться с каждым случаем в отдельности.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9 (изменено: dizzlight, 2023-09-15 18:17:07)

Re: AHK: CapsLock мешает скрипту

teadrinker Вот этот скрипт если поспамить 1 а потом нажать END чтобы отключить AHK то CapsLock не работает вообще, с остальными комбинациями все хорошо.

#UseHook
1::
SetCapsLockState AlwaysOFF
while GetKeyState(A_ThisHotkey, "P")
   Send % A_ThisHotkey
Return

10

Re: AHK: CapsLock мешает скрипту

dizzlight, пользуйтесь тегом code для оформления кода.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: CapsLock мешает скрипту

teadrinker Прошу прощения, изменил.

12

Re: AHK: CapsLock мешает скрипту

dizzlight пишет:

нажать END чтобы отключить AHK то CapsLock не работает вообще

Ну да, мы же его отключаем тоже. Как именно он должен работать?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13

Re: AHK: CapsLock мешает скрипту

teadrinker А что можно добавить к скрипту чтобы CapsLock работал после нажатия END?

14

Re: AHK: CapsLock мешает скрипту

Что он должен делать?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

15 (изменено: dizzlight, 2023-09-16 22:51:01)

Re: AHK: CapsLock мешает скрипту

teadrinker Что бы CapsLock работал после нажатия END.

16

Re: AHK: CapsLock мешает скрипту

А что CapsLock должен делать после нажатия END?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

17

Re: AHK: CapsLock мешает скрипту

teadrinker Чтобы включал и выключал ввод текста в верхнем регистре, а то если использовать скрипт на спам клавиши 1 то после нажатия END, CapsLock вообще перестает реагировать.

18

Re: AHK: CapsLock мешает скрипту

Попробуйте так:

#UseHook
SetCapslockState, AlwaysOff

End::
   Suspend
   HotKey, CapsLock, % A_IsSuspended ? "Off" : "On"
   SetCapslockState, % A_IsSuspended ? "Off" : "AlwaysOff"
Return

CapsLock::
   While GetKeyState("CapsLock", "P") {
      Send {CapsLock}
      Sleep 10
   }
Return

1::
   while GetKeyState(A_ThisHotkey, "P") {
      Send % A_ThisHotkey
   }
Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

19

Re: AHK: CapsLock мешает скрипту

teadrinker Все прекрасно работает, огромное вам спасибо.