Переключение сцены в OBS Studio с помощью горячих клавиш в зависимости от текущего положения мыши на мониторе

#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 в зависимости от того, какая программа находится на переднем плане. Это действительно не имеет смысла.

  1. Мне нужно, чтобы это было исправлено.
  2. Мне нужно сделать так, чтобы он запускал горячую клавишу только в том случае, если обнаружит, что я действительно переместил мышь на другой монитор. В настоящее время он срабатывает один раз каждые 20 мс, что происходит очень быстро и сбивает меня с толку, когда я что-то печатаю (заглавные буквы становятся строчными и т.д. И т.п.). Простое увеличение ms не решит эту проблему, мне нужно, чтобы она была более разумной.
  3. Необязательно — Нужно выяснить, как заставить «CTRL SomeHotKey» или «CTRL SomeHotKey» работать, потому что клавиши иногда вводятся в приложение переднего плана, которое я пытаюсь использовать (это бесполезно).).

Вот моя настройка монитора:

Моя настройка нескольких мониторов

Любая помощь будет с благодарностью! Спасибо!

Ответ №1:

Ну, я обнаружил, что есть плагин для OBS под названием «Автоматическое переключение сцен», который делает это в 1000 раз лучше, чем любой скрипт autohotkey (не ненавидящий).

Автоматическое переключение сцен