【问题标题】:ReactVR global key press event listenerReactVR 全局按键事件监听器
【发布时间】:2023-03-04 18:18:01
【问题描述】:

如何在 ReactVR 应用程序中检测用户何时单击某个特定键?我有一个捕捉这个事件的功能,但是当我把它放在View 像这样的<View onInput={(e) => this.handleInput(e)}> 组件上时,只有当我将光标放在这个视图内的某个组件上并且我想知道这一点而不管用户光标位置或还有什么。

【问题讨论】:

    标签: events input keyboard react-360


    【解决方案1】:

    你发现了吗?我也想做类似的事情。

    现在我在镜头前制作了一个巨大的隐形<View>,并在那里使用了onInput。我会看看我是否能找到更好的解决方案,但现在这就是我正在做的事情。

    编辑:还有一些进展(不知道你走了多远)

    handle(e) { 
      console.log('Event', e.nativeEvent.inputEvent)
    }
    
    <View 
      onInput={e => this.handle(e)}
      style={{
        transform: [{translate: [0, 0, -1]}],
        layoutOrigin: [0.5, 0.5]
      }}
    </View>
    

    我的View 很小,但你可以玩style

    文档说我可以使用event.type,但这对我不起作用。我在this issue 中读到了nativeEvent

    您可以看到许多属性,例如:

    • 类型
    • 键(用于键盘事件)
    • viewportX 和 viewportY(用于鼠标事件)

    等等。

    文档没有那么深入。我建议大量阅读 Github 问题。希望文档和生态系统能够更快地发展。目前最好的选择是 *,并传播我们所掌握的知识。

    【讨论】: