如何在 ChromeOS/Android 上使用触摸板进行缩放?
How to do pinch-and-zoom with a touchpad on ChromeOS/Android?
我有一个 Android 应用程序,我在 Chromebook 上 运行。当用户触摸设备屏幕时,我有一些视图可以通过捏合缩放手势进行缩放,这些在 Chromebook 上运行良好。我也在尝试使用触摸板进行捏合缩放。
我可以三指拖动可滚动元素。我可以用两根手指拖动,它会在拖动有意义的屏幕元素周围拖动。我仍然收到悬停事件并且事件声称有两个指针,所以这一切都很好。但是,一旦手指开始朝相反的方向移动,事件流就会停止。
有什么方法可以获得未过滤的所有输入事件流,以便我可以看到发生了什么?我觉得仿真层尽最大努力使一切成为 "just work"(这是一个非常好的努力!)在这里让我感到厌烦。我还注意到,有些事件作为通用运动事件传入,有些事件作为触摸事件传入。还有一些,比如点击点击,每个都做一些。如果重要的话,ChromeOS Mouse
的输入设备数据声称它具有 ( touchscreen mouse )
来源,这在很大程度上是有道理的。除了它不应该是 touchpad
而不是因为它没有直接连接到显示器吗?
在 this page 上,列表项 #5 暗示可能会以某种方式创建和使用某种合成事件。有没有办法查看是否正在生成这些?如果是,我将如何利用?
求助!
更详细一点:触摸板的单指操作给我 ACTION_HOVER_MOVE
generic 事件。只要两根手指一起移动,双指拖动就会给我 ACTION_MOVE
touch 事件。一旦他们开始朝不同的方向前进,事件流就会停止。
触摸板的双指缩放支持仍在开发中。一旦它在那里,它也将与用于触摸屏缩放的标准手势识别器无缝工作,你应该不需要做任何事情。
如果您想针对 Chromebook,我强烈建议升级到 API 级别 24,您还可以在此处找到有关 Chromebook 输入设备的更多详细信息:https://developer.android.com/topic/arc/input-compatibility.html
编辑:"touchpad" 设备类型的命名非常混乱。它是为屏幕外设备保留的。触摸板被视为鼠标,因为它在屏幕上移动鼠标光标。
我有一个 Android 应用程序,我在 Chromebook 上 运行。当用户触摸设备屏幕时,我有一些视图可以通过捏合缩放手势进行缩放,这些在 Chromebook 上运行良好。我也在尝试使用触摸板进行捏合缩放。
我可以三指拖动可滚动元素。我可以用两根手指拖动,它会在拖动有意义的屏幕元素周围拖动。我仍然收到悬停事件并且事件声称有两个指针,所以这一切都很好。但是,一旦手指开始朝相反的方向移动,事件流就会停止。
有什么方法可以获得未过滤的所有输入事件流,以便我可以看到发生了什么?我觉得仿真层尽最大努力使一切成为 "just work"(这是一个非常好的努力!)在这里让我感到厌烦。我还注意到,有些事件作为通用运动事件传入,有些事件作为触摸事件传入。还有一些,比如点击点击,每个都做一些。如果重要的话,ChromeOS Mouse
的输入设备数据声称它具有 ( touchscreen mouse )
来源,这在很大程度上是有道理的。除了它不应该是 touchpad
而不是因为它没有直接连接到显示器吗?
在 this page 上,列表项 #5 暗示可能会以某种方式创建和使用某种合成事件。有没有办法查看是否正在生成这些?如果是,我将如何利用?
求助!
更详细一点:触摸板的单指操作给我 ACTION_HOVER_MOVE
generic 事件。只要两根手指一起移动,双指拖动就会给我 ACTION_MOVE
touch 事件。一旦他们开始朝不同的方向前进,事件流就会停止。
触摸板的双指缩放支持仍在开发中。一旦它在那里,它也将与用于触摸屏缩放的标准手势识别器无缝工作,你应该不需要做任何事情。
如果您想针对 Chromebook,我强烈建议升级到 API 级别 24,您还可以在此处找到有关 Chromebook 输入设备的更多详细信息:https://developer.android.com/topic/arc/input-compatibility.html
编辑:"touchpad" 设备类型的命名非常混乱。它是为屏幕外设备保留的。触摸板被视为鼠标,因为它在屏幕上移动鼠标光标。