Post by vmech » 12 Nov 2023, 12:18
Как избавиться от мигания лампочки - я не знаю. По идее это сам Autohotkey постоянно обновляет её состояние, из за команды
SetCapsLockState.
Лично мне здесь видится 4 пути:
- Закомментировать функцию SetCapsLockState вовсе. Но тогда любая другая программа или скрипт может отключить лампочку, и уже будет непонятно - работает именно этот скрипт, или нет.
- Оставить всё как есть, НО добавить в самом начале скрипта функцию SetStoreCapsLockMode(0). Эффект, предположительно, будет как в п.1.
- Если добавить постоянный ToolTip как индикатор, то SetCapsLockState можно смело закомментировать - важность управления лампочкой отойдёт на задний план.
- Использовать другую кнопку, например ScrollLock - неплохой кандидат, и реализовать засыпание скрипта (Suspend), а не просто остановку таймера. Но лампочка всё равно будет мигать, только уже соседняя А иконка скрипта в трэе хоть и будет меняться от текущего режима (сон/работа), но мне она кажется малоинформативной. Хотя и иконку можно сменить на другую, но это будет уже совсем другая история.
Как добавить тултип:
Code: Select all
#Requires Autohotkey v2.0
vk14::
{
Static trigger := 0,
procKeySend := ()=>(Send('{vkC0 down}'), Sleep(10), Send('{vkC0 up}'))
SetCapsLockState(trigger ^= 1),
SetTimer(procKeySend, trigger && 50),
trigger && ( procKeySend(), ToolTip('РАБОТАЕТ') ) || ToolTip()
}
Дальше экспериментируй сам - лыжи то твои
ЗЫ. В функции
ToolTip можно задать координаты на экране, где подсказка будет отображаться, например
ToolTip('РАБОТАЕТ', 800, 600).
Как избавиться от мигания лампочки - я не знаю. По идее это сам Autohotkey постоянно обновляет её состояние, из за команды [c]SetCapsLockState[/c].
Лично мне здесь видится 4 пути:
[list=1]
[*] Закомментировать функцию [c]SetCapsLockState[/c] вовсе. Но тогда любая другая программа или скрипт может отключить лампочку, и уже будет непонятно - работает именно этот скрипт, или нет.
[*] Оставить всё как есть, НО добавить в самом начале скрипта функцию [c]SetStoreCapsLockMode(0)[/c]. Эффект, предположительно, будет как в п.1.
[*] Если добавить постоянный [c]ToolTip[/c] как индикатор, то [c]SetCapsLockState[/c] можно смело закомментировать - важность управления лампочкой отойдёт на задний план.
[*] Использовать другую кнопку, например [kbd]ScrollLock[/kbd] - неплохой кандидат, и реализовать засыпание скрипта ([c]Suspend[/c]), а не просто остановку таймера. Но лампочка всё равно будет мигать, только уже соседняя :lol: А иконка скрипта в трэе хоть и будет меняться от текущего режима (сон/работа), но мне она кажется малоинформативной. Хотя и иконку можно сменить на другую, но это будет уже совсем другая история.
[/list]
Как добавить тултип:
[code]
#Requires Autohotkey v2.0
vk14::
{
Static trigger := 0,
procKeySend := ()=>(Send('{vkC0 down}'), Sleep(10), Send('{vkC0 up}'))
SetCapsLockState(trigger ^= 1),
SetTimer(procKeySend, trigger && 50),
trigger && ( procKeySend(), ToolTip('РАБОТАЕТ') ) || ToolTip()
}
[/code]
Дальше экспериментируй сам - лыжи то твои ;)
ЗЫ. В функции [c]ToolTip[/c] можно задать координаты на экране, где подсказка будет отображаться, например [c]ToolTip('РАБОТАЕТ', 800, 600)[/c].