1

Тема: AHK: колесо мыши перестаёт работать при подключении планшета.

Приветствую.

При подключении планшета перестаёт работать скрол мыши. У меня на постоянке висит большой скрипт, в том числе на скрол, и всё работает хорошо ровно до тех пор, пока я не подключу планшет. При этом, если выгрузить АХК скрипт, колесо вновь начинает работать. Изначально было Send {WheelUp}, перепробывал все варианты Send, попробывал через Click WheelUp - не помогает. Скрол не работает во всей системе, в любой программе. Windows 7 x64, ahk 1.1.24. Прошу хотя бы подсказать, в какую сторону смотреть, у меня нет никаких идей.

Кусок кода для примера:

$WheelUp::
SetTitleMatchMode, 2
CoordMode, Mouse, Screen
MouseGetPos, WUxpos, WUypos, WUid
WinGetClass, WUclass, ahk_id %WUid%

	if ((WUclass = "Shell_TrayWnd") or (WUclass = "WindowsForms10.Window.8.app.0.33c0d9d")) && (WUxpos < 1920 && WUxpos > 0 && WUypos < 1080 && WUypos > 1040)
		{ 
		Send {Volume_Up 3}	
		Return 
		}			
	else
		Send {WheelUp}
Return

2

Re: AHK: колесо мыши перестаёт работать при подключении планшета.

ToyRobot пишет:

ahk 1.1.24. Прошу хотя бы подсказать, в какую сторону смотреть

Обновить AHK?

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

3 (изменено: ToyRobot, 2021-06-03 17:51:15)

Re: AHK: колесо мыши перестаёт работать при подключении планшета.

Обновил - не помогло. Вписал в скрипт MsgBox на WheelUp, чтобы понять, что происходит. Не подключая планшет всё работает как ожидается - сначала выскакивает сообщение, затем срабатывает WheelUp. При подключении планшета MsgBox уходит в бесконечный цикл, т.е. выскакивает сообщение, я кликаю окей, оно тут-же выскакивает заново (без скролла) и так далее. Выдергиваю планшет - цикл заканчивается. При этом на самом планшете нет скролла и ничего внутри не настроено на скролл. Пробовал включать скрипты после подключения планшета - не помогло. Единственное, что приходит в голову - это распознать подключение планшета в скрипте и перейти на PgUp PgDn, фиг с ним, не принципиально, планшет не постоянно у меня включен.

Соответственно, вопрос, может ли АХК распознать подключение планшета?

$WheelUp::
SetTitleMatchMode, 2
CoordMode, Mouse, Screen
MouseGetPos, WUxpos, WUypos, WUid
WinGetClass, WUclass, ahk_id %WUid%

	if ((WUclass = "Shell_TrayWnd") or (WUclass = "WindowsForms10.Window.8.app.0.33c0d9d")) && (WUxpos < 1920 && WUxpos > 0 && WUypos < 1080 && WUypos > 1040)
		{ 
		Send {Volume_Up 3}
		Return 
		}			
	else
		{
		MsgBox Up
		Send {WheelUp}
		}
Return

4

Re: AHK: колесо мыши перестаёт работать при подключении планшета.

Для начала я бы попробовал изменить условия срабатывания горячей клавиши через #If, вместо того, чтобы посылать саму себя.

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

5 (изменено: ToyRobot, 2021-06-03 18:52:28)

Re: AHK: колесо мыши перестаёт работать при подключении планшета.

teadrinker

Точно, спасибо!
Если добавить тильду в начале хоткея, то часть с else мне вообще не нужна. Скрол везде работает даже при подключенном планшете (и звук увеличивается при наведении мыши на панель задач). Вопрос закрыт, благодарю за помощь.

Скрипт в итоге выглядит так:

~$WheelUp::
SetTitleMatchMode, 2
CoordMode, Mouse, Screen
MouseGetPos, WUxpos, WUypos, WUid
WinGetClass, WUclass, ahk_id %WUid%

	if ((WUclass = "Shell_TrayWnd") or (WUclass = "WindowsForms10.Window.8.app.0.33c0d9d")) && (WUxpos < 

1920 && WUxpos > 0 && WUypos < 1080 && WUypos > 1040)
	
		Send {Volume_Up 3}
				
Return

6

Re: AHK: колесо мыши перестаёт работать при подключении планшета.

$ перед WheelUp скорее всего не нужен.

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