XRInputSourceEvent
Ограниченное использование
Эта функция не относится к Baseline, так как не работает в некоторых из наиболее широко используемых браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Интерфейс XRInputSourceEvent API WebXR Device описывает событие, произошедшее на устройстве ввода пользователя WebXR, например, контроллере руки, системе отслеживания взгляда или системе отслеживания движения. Более конкретно, они представляют собой изменение состояния XRInputSource.
Чтобы узнать больше о обработке ввода в проекте WebXR, см. статью Ввод и источники ввода.
Конструктор
XRInputSourceEvent()-
Создаёт и возвращает новый объект
XRInputSourceEventс свойствами, соответствующими значениям в предоставленном словареeventInitDict.
Свойства экземпляра
-
frameТолько для чтения -
Объект
XRFrame, предоставляющий необходимую информацию о кадре события во время его возникновения. Этот кадр мог быть рендерен в прошлом, а не в текущем. Поскольку это кадр события, а не кадр анимации, вы не можете вызвать методXRFramegetViewerPose()для него; используйте вместо этогоgetPose(). -
inputSourceТолько для чтения -
Объект
XRInputSource, указывающий, какой источник ввода сгенерировал событие ввода.
Методы экземпляра
Интерфейс XRInputSourceEvent не определяет никаких методов; однако несколько методов унаследованы от родительского интерфейса Event.
Типы событий
select-
Отправляется в
XRSession, когда отправляющий источник ввода полностью завершил основное действие. selectend-
Отправляется в
XRSession, когда текущее основное действие заканчивается или когда источник ввода с текущим основным действием отключён от системы. selectstart-
Отправляется в
XRSession, когда источник ввода начинает своё основное действие, указывая, что пользователь начал ввод типа команды, например, нажатие на спусковой крючок или кнопку, произнесение голосового команды, нажатие на сенсорную панель и т. п. squeeze-
Отправляется в
XRSession, когда отправляющий источник ввода полностью завершил основное действие сжатия. squeezeend-
Отправляется в
XRSession, когда текущее основное действие сжатия заканчивается или когда источник ввода с текущим основным действием сжатия отключён. squeezestart-
Отправляется в
XRSession, когда источник ввода начинает своё основное действие сжатия, указывая, что пользователь начал сжимать или захватывать контроллер.
Примеры
Код ниже устанавливает обработчики для событий основного действия, чтобы определить, когда пользователь нажимает на объекты в сцене.
xrSession.addEventListener("select", (event) => {
let targetRayPose = event.frame.getPose(
event.inputSource.targetRaySpace,
myRefSpace,
);
if (targetRayPose) {
let hit = myHitTest(targetRayPose.transform);
if (hit) {
/* handle the hit */
}
}
});
Спецификации
| Спецификация |
|---|
| WebXR Device API # xrinputsourceevent-interface |
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
XRInputSourceEvent |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
XRInputSourceEvent |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
frame |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
inputSource |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XRInputSourceEvent