#autohotkey
#автоотключение
Вопрос:
Я пытаюсь написать скрипт autohotkey, который отслеживает текущее местоположение мыши X, и если моя мышь переместится на мой 4-й монитор, он должен переключить сцену в OBS Studio … и если я верну мышь на свой основной монитор, он должен переключить сцену обратно.
У меня есть несколько работающий пример, но с проблемами, и мне нужна помощь в их решении.
Вот моя попытка:
SetTimer, GetMonitorMouse, 20
GetMonitorMouse()
{
MouseGetPos, x, y
SysGet, Mon1, Monitor, 2
SysGet, Mon2, Monitor, 3
SysGet, Mon3, Monitor, 1
SysGet, Mon4, Monitor, 4
if(x >= 1806)
controlSend,,{NumPad2}, ahk_class Qt5QWindowIcon
Else
controlSend,,{NumPad1}, ahk_class Qt5QWindowIcon
}
Esc::ExitApp
Я определенно сделал это неправильно, потому что это запускает горячие клавиши в разных положениях X в зависимости от того, какая программа находится на переднем плане. Это действительно не имеет смысла.
- Мне нужно, чтобы это было исправлено.
- Мне нужно сделать так, чтобы он запускал горячую клавишу только в том случае, если обнаружит, что я действительно переместил мышь на другой монитор. В настоящее время он срабатывает один раз каждые 20 мс, что происходит очень быстро и сбивает меня с толку, когда я что-то печатаю (заглавные буквы становятся строчными и т.д. И т.п.). Простое увеличение ms не решит эту проблему, мне нужно, чтобы она была более разумной.
- Необязательно — Нужно выяснить, как заставить «CTRL SomeHotKey» или «CTRL SomeHotKey» работать, потому что клавиши иногда вводятся в приложение переднего плана, которое я пытаюсь использовать (это бесполезно).).
Вот моя настройка монитора:
Моя настройка нескольких мониторов
Любая помощь будет с благодарностью! Спасибо!
Ответ №1:
Ну, я обнаружил, что есть плагин для OBS под названием «Автоматическое переключение сцен», который делает это в 1000 раз лучше, чем любой скрипт autohotkey (не ненавидящий).