Ввод
Каждый интерактивный элемент в vrOS можно сфокусировать, у каждого есть подпись, и каждый стоит в заданном порядке обхода. Ничто не доступно только по наведению. Ничто не срабатывает от одного взгляда. Разрушительные действия — всегда два шага, никогда не одно удержание взглядом и никогда не то, что в фокусе по умолчанию.
| Способ | Наведение | Подтверждение | Прокрутка | Текст |
|---|---|---|---|---|
| Луч и контроллер | луч | триггер | стик или перетаскивание | VR-клавиатура |
| Взгляд и подтверждение (спроектировано, в сборке нет) | взгляд | назначенная кнопка или DWELL по желанию | стик | VR-клавиатура |
| Только геймпад | обход фокуса (крестовина или стик) | A | стик | крестовина ходит по клавишам, A нажимает |
| ПК | мышь | клик | колесо | ваша обычная клавиатура |
Цели попадания измеряются в градусах, а не в пикселях: минимум 2,0 градуса для луча, 3,0 градуса, когда включено наведение взглядом, и не меньше 0,75 градуса между целями для взгляда. Когда меняется набор включённых способов ввода, поверхность перестраивается на меньшее число более крупных элементов. То же самое происходит при масштабе UI 1,25x и выше.
Луч и контроллер
Заголовок раздела «Луч и контроллер»Наводите лучом, нажимайте триггер, чтобы кликнуть. Стик прокручивает.
Клик и перетаскивание различаются ещё до того, как хоть одно событие дойдёт до ОС. Нажатие триггера взводит небольшую угловую мёртвую зону; отпускание внутри неё даёт чистый клик в точке нажатия, а выход за неё начинает перетаскивание из точки нажатия, ничего не теряя по пути. Мёртвая зона (0,30 градуса) и допуск быстрого клика (0,80 градуса) находятся в разделе НАСТРОЙКИ → Специальные возможности.
Привязки живут в SteamVR, а не в жестах, которые придумывает vrOS. На поставляемых настройках двойное нажатие лицевой кнопки на левом контроллере показывает и скрывает клавиатуру, а такое же нажатие на правом контроллере показывает и скрывает Даш; какая это физическая кнопка, зависит от профиля вашего контроллера. Раздел «Управление» в настройках показывает слова привязки, которые сообщает SteamVR, и может открыть редактор привязок SteamVR. На ПК, где VR-среда не запущена, эта кнопка приглушена, а не скрыта.
Взгляд и подтверждение
Заголовок раздела «Взгляд и подтверждение»Взгляд заложен в проект повсюду: раскладки держат порог в 3,0 градуса, захват фокуса использует гистерезис, чтобы дрожание не могло мигать фокусом, и ничто не двигается и не анимируется под взглядом — фиксация никогда не должна догонять свою цель. DWELL, когда он появится, будет по желанию, 800 мс и 1600 мс для всего разрушительного.
Только геймпад
Заголовок раздела «Только геймпад»Обход идёт сверху вниз. Влево и вправо меняют значение шагами по 5%. Стрелки останавливаются на концах списка; Tab идёт по кругу. Клик и фокус не спорят: клик срабатывает, не отбирая видимое кольцо, но переносит курсор обхода на то, по чему вы кликнули, поэтому следующее нажатие крестовины окружит соседний элемент, а не отправит вас туда, где кольцо было в последний раз.
Мышь и клавиатура на ПК
Заголовок раздела «Мышь и клавиатура на ПК»Окно на ПК показывает те же поверхности с плотностью рабочего стола — строки 52 пкс, цели 28 пкс, рамки 1 пкс, — и наведение возвращается в виде подсказок и действий в строке, всегда с равноценной заменой через правый клик или клавиатуру рядом. См. приложение на ПК.
Кто владеет вводом
Заголовок раздела «Кто владеет вводом»vrOS передаёт клики вашего контроллера и нажатия ваших VR-клавиш в ваше собственное окно в фокусе — так же, как это делает экранная клавиатура или клиент удалённого рабочего стола. Одно явное правило решает, когда ему это позволено.
В тот момент, когда вы касаетесь физической мыши или клавиатуры, vrOS уступает. Никакой борьбы за курсор, никакой кражи фокуса, никаких случайных внедрённых событий. Он и стартует в этом состоянии: пока вы намеренно не кликнете что-нибудь в VR, vrOS не внедряет вообще ничего.
Что передаёт управление
Заголовок раздела «Что передаёт управление»- Любое настоящее физическое событие мыши — кнопка, колесо, один пиксель движения — переводит ввод на ПК тем же самым событием.
- Текстовые клавиши передают управление. Одиночные модификаторы, F-клавиши, стрелки и Escape — нет, поэтому назначенная в VR макроклавиша не утащит ваш курсор обратно на стол.
- Настоящий ввод отличается от внедрённого. На Windows — по документированным флагам внедрения плюс собственной метке vrOS на каждом событии, которое он отправляет. На Linux — по идентичности устройства: всё, что не является собственным виртуальным устройством vrOS, — это вы.
- Передача посреди перетаскивания завершается чисто. Любая кнопка, которую удерживает vrOS, получает корректное отпускание, и эти отпускания — последние события, которые он отправляет. Ноль внедрённых событий после уступки.
Что забирает ввод обратно
Заголовок раздела «Что забирает ввод обратно»Только явное нажатие триггера на панели захвата. Движение контроллера никогда не возвращает ввод, наведение — тоже. Нажимающая рука должна отслеживаться и быть в работе, поэтому контроллер, оставленный на столе, не может рвануть курсор случайно задетым триггером.
Сначала оба канала должны затихнуть, а насколько — зависит от того, что вы только что делали:
| Что вы делали | Возврат заблокирован на |
|---|---|
| Задели мышь (несколько пкс, без клика) | 400 мс |
| Пользовались мышью (около 40 пкс пути за 300 мс либо любой клик или колесо) | 1 с |
| Печатали | 3,5 с |
У печати самое длинное окно, потому что паузы на чтение и раздумье в одну-три секунды нормальны, а отдать курсор посреди фразы хуже, чем подождать.
Что продолжает работать, пока вводом владеет ваш стол
Заголовок раздела «Что продолжает работать, пока вводом владеет ваш стол»Лучи продолжают работать на собственных поверхностях vrOS. Вы можете передвинуть панель, потянуть ползунок или изменить настройку контроллером, не снимая рук с клавиатуры, — ничего из этого не внедряет ничего в другое окно, поэтому ничего из этого не обращается к арбитру.
VR-клавиатура остаётся на месте, но становится инертной для захваченных окон: никакого состояния клавиш, никакого звука клика, никакой отдачи. Клавиша, которая ничего не печатает, не должна ощущаться так, будто напечатала. Набор в собственные текстовые поля vrOS продолжает работать, а набранный слог переживает передачу — см. VR-клавиатуру.
Чип ввода
Заголовок раздела «Чип ввода»Текущий режим виден всегда — точкой и словом внизу рейла, и на Даше, и в окне на ПК. Окно на ПК показывает только два установившихся режима; ПЕРЕДАЧА появляется на Даше.
| Чип | Значение |
|---|---|
| VR | VR-указатель может внедрять ввод. Ваши нажатия триггера доходят до захваченного окна. |
| ПК | Вводом владеет ваш стол. vrOS не внедряет ничего. |
| ПЕРЕДАЧА | Вводом владеет ваш стол, и блокировка возврата ещё идёт. Нажатие триггера пока ничего не делает. |
Смысл несёт слово; цвет точки только подкрепляет его. Если клики в захваченном окне ничего не делают, сначала прочитайте чип — см. Устранение неполадок.