Автоматический запуск Oculus Link/Airlink с помощью ADB
Oculus Link/Airlink можно запускать автоматически, при подсоединении кабеля. Не нужно нажимать никаких кнопок, Oculus Dash запустится сам.
Демонстрация того, как это работает:
Хитрость в том, что при подсоединении USB кабеля в Windows пишется событие в журнал. К этому событию можно привязать задачу, например выполнение батника.
А в батнике прописать команду-другую.
Команды управления Link/Airlink:
Включение Oculus Link:
adb shell am start "xrstreamingclient://?launch_location=ODH&alink=true&adaptiveSrcLatencyMs=100&maxAdaptiveSrcLatencyMs=400&posePerSecond=500&sessionId=ODH"
Отключение Oculus Link:
adb shell am force-stop com.oculus.xrstreamingclient
Включение AirLink:
adb shell am broadcast -a "com.oculus.systemux.action.TOGGLE_AIRLINK" --ez enable_airlink 1
Отключение AirLink:
adb shell am broadcast -a "com.oculus.systemux.action.TOGGLE_AIRLINK" --ez enable_airlink 0
Но есть два нюанса:
1. Событие пишется в журнал не только при подключении, но и при отключении кабеля. Но можно сделать проверку на запущенный OculusDash или OculusClient, и если запущен — не выполнять команду.
2. Событие пишется при подключении любого устройства к USB, а не только шлема. Но опять же можно сделать проверку (через devcon или еще как-то) на наличие устройства Oculus Device в Диспетчере устройств, например.
Все это при желании решается достаточно просто.
Можно по подробнее про событие с примерами в журнале Windows?