Модераторы Varset 241 Опубликовано 9 июля, 2024 Модераторы Поделиться #1 Опубликовано 9 июля, 2024 Обсуждение всевозможных способов управления шлемом, не считая контроллеров: мышь, эмуляторы мыши, клавиатура, тачпад, ADB и прочие другие. Ссылка на комментарий Поделиться на другие сайты Поделиться
JustaJumbo 1 Опубликовано 9 июля, 2024 Поделиться #2 Опубликовано 9 июля, 2024 Пока коллекционирую банальности и изобретаю велосипеды. Подумал тут: "Если с контроллерами геморно через АПИ, что можно сделать без них?" Тапы шлем, действительно не слышит: из инпутов есть только разъем наушников, да кнопки питания с громкостью. Тачскрин (INPUT_PROP_DIRECT) как бы тоже есть, но по ивентам судя, он не координатный - "одна большая кнопка". $ ls -l /dev/input crw-rw---- 1 root input 13, 64 1970-05-04 21:16 event0 crw-rw---- 1 root input 13, 65 1970-05-04 21:16 event1 crw-rw---- 1 root input 13, 66 1970-05-04 21:16 event2 crw-rw---- 1 root input 13, 67 2024-07-07 09:07 event3 crw-rw---- 1 root input 13, 68 2024-07-08 02:00 event4 $ getevent -lp add device 1: /dev/input/event4 name: "Device 0x4CBCE9E9E8D710A4" events: KEY (0001): KEY_FORWARD input props: INPUT_PROP_DIRECT add device 2: /dev/input/event3 name: "anorak-max98388-snd-card AK4333 Headphone" events: SW (0005): SW_HEADPHONE_INSERT SW_LINEOUT_INSERT SW_JACK_PHYSICAL_INS input props: <none> add device 3: /dev/input/event2 name: "pmic_resin" events: KEY (0001): KEY_VOLUMEDOWN input props: <none> add device 4: /dev/input/event1 name: "pmic_pwrkey" events: KEY (0001): KEY_POWER input props: <none> add device 5: /dev/input/event0 name: "gpio-keys" events: KEY (0001): KEY_VOLUMEUP input props: <none> И главное, при снятии шлема окна пропадают, точнее сворачиваются в угол, если правильно понял изменения range. Пока фантазируется, без АПИ придется победить минимум три вещи: - включить "безконтроллерный" режим (белая точка и громкость, как "клик"), - развернутые окна (обмануть, что шлем на голове), - навести точку на нужное место и кликнуть на громкость. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Модераторы Varset 241 Опубликовано 9 июля, 2024 Автор Модераторы Поделиться #3 Опубликовано 9 июля, 2024 Мой список Keyevents, работающих на шлеме: "key_home": " adb shell input keyevent 3 "key_volume_up": " adb shell input keyevent 24 "key_volume_down": " adb shell input keyevent 25 "key_power": " adb shell input keyevent 26 "key_enter": " adb shell input keyevent 66 "key_menu": " adb shell input keyevent 82 key_settings": " adb shell input keyevent 176 "key_sleep": " adb shell input keyevent 223 "key_wakeup": " adb shell input keyevent 224 "key_soft_sleep": " adb shell input keyevent 276 Ссылка на комментарий Поделиться на другие сайты Поделиться
Модераторы Varset 241 Опубликовано 10 июля, 2024 Автор Модераторы Поделиться #4 Опубликовано 10 июля, 2024 Перебрал все возможные "устройства" в команде adb shell input: dpad keyboard mouse touchpad gamepad touchnavigation joystick touchscreen stylus trackball а также пробовал tap и press, и также пробовал подключать физическую мышь, но увы - никаких нажатий по заданным координатам. Проверялось с включенной опцией "Отображать нажатия" в меню {} Для разработчиков. Нажатия лучами фиксируются нормально. Ссылка на комментарий Поделиться на другие сайты Поделиться
Модераторы Varset 241 Опубликовано 11 июля, 2024 Автор Модераторы Поделиться #5 Опубликовано 11 июля, 2024 Попробовал использовать для этого дела scrcpy. Он прекрасно мапит (форвардит) и мышь по UHID: scrcpy --no-video --no-audio --mouse=uhid --mouse-bind=++++ Вероятнее всего и клавиатуру тоже, но я пока не придумал, как ее использовать. Но вот с нажатиями пока не срастается. Мышь появляется, все хорошо, (то есть та, которая в данный момент подключена к ПК, физическая) работает, нажимает кнопки в шлеме на панели и т.д.. Но по координатам кликать не хочет. Во-1, мышь перестает работать, когда убирается фокус с окна scrcpy на ПК - она переключается обратно на ПК, и во-2, даже после команды форвардинга мыши, на шлеме она появляется только тогда, когда физическую мышь немного подвигаешь. А команда, например, adb shell input source tap 350 550 идет сразу вслед за командой бинда мыши в scrcpy. Правда, я не первый такой умный: https://github.com/Genymobile/scrcpy/issues/579 Йеееееее!!!! С клавиатурой сработало. Только нужно дваждый нажать кнопку Tab, а затем Enter. p.s. Все оказалось гораздо проще, scrcpy не нужен: adb shell input keyevent 61 ping localhost -n 2 1>nul adb shell input keyevent 61 ping localhost -n 2 1>nul adb shell input keyevent 61 ping localhost -n 2 1>nul adb shell input keyevent 66 Ссылка на комментарий Поделиться на другие сайты Поделиться
JustaJumbo 1 Опубликовано 9 августа, 2024 Поделиться #6 Опубликовано 9 августа, 2024 (изменено) Занимательный способ добраться до начинки на примере патчера для Битсейбера напрямую из браузера, работает через WebUSB . https://mbf.bsquest.xyz/ Исходники: https://github.com/Lauriethefish/ModsBeforeFriday Подробно по проекту не лазил, но например вот доступ к файловой системе, операции выгрузки-загрузки апк и прочие адб команды: ./ModsBeforeFriday-main/mbf-res-man/src/adb.rs Изменено 9 августа, 2024 пользователем JustaJumbo Ссылка на комментарий Поделиться на другие сайты Поделиться
Модераторы Varset 241 Опубликовано 9 августа, 2024 Автор Модераторы Поделиться #7 Опубликовано 9 августа, 2024 4 часа назад, JustaJumbo сказал: напрямую из браузера, работает через WebUSB Интересный проект... Вот тоже многообещающая штука: WebADB По возможностям стандартная и довольно куцая пока что, но в теории можно реализовать удаленное управление и настройку устройств. Ссылка на комментарий Поделиться на другие сайты Поделиться
Модераторы Varset 241 Опубликовано 9 августа, 2024 Автор Модераторы Поделиться #8 Опубликовано 9 августа, 2024 Кстати говоря, новый MQDH с кастингом творит что-то невероятное: Причем шлем при этом может находиться в любом положении, хоть "вверх дном": MQDH при кастинге развернет его как надо, мордой вперед. И управление там такое: Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти