android - 如何处理来自 AccessibilityService 的 MotionEvents(游戏 handle 操纵杆移动等)

标签 android xamarin.android accessibilityservice

我有一个 AccessibilityService,它接收来自游戏 Controller (ps5 Controller 、xbox Controller 等)的输入。
我使用 onKeyEvent()处理按钮按下和释放的方法,所以我可以轻松处理这些。我面临的问题是如何处理操纵杆运动和顶部触发按压,因为我不知道如何通过 AccessibilityService 处理它们。
通常,我会简单地使用 onGenericMotionEvent()来处理这些 MotionEvents,但不幸的是 AccessibilityService 没有为我提供这样的方法。我已经看了将近 3 周的文档和官方代码实验室,但没有运气,如果有人能告诉我如何通过 AccessibilityService 处理 MotionEvents,我会非常放心。
我要处理的 MotionEvents 是:AXIS_X, AXIS_Y, AXIS_Y, AXIS_RZ, AXIS_RY, AXIS_RX, AXIS_HAT_X, AXIS_HAT_Y, AXIS_LTRIGGER, AXIS_RTRIGGER, AXIS_BRAKE,AXIS_GAS .
可能还有其他取决于 Controller ,但这些是我需要处理来自 Controller 的输入的主要部分。
问候,
0xB01b

最佳答案

API 不支持这些,因为 AccessibilityServices 只能过滤 KeyEvents,而您所说的按钮不会产生 KeyEvents。
你能解释一下你正在 build 什么吗?了解将此 API 添加到残疾人生活中的影响将有助于我们优先考虑这项工作以及我们正在计划的其他内容。

关于android - 如何处理来自 AccessibilityService 的 MotionEvents(游戏 handle 操纵杆移动等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66049278/

相关文章:

Android 应用挂起直到强制关闭

android - 是否可以减少上下文切换时间

java - 在警报对话框中访问 LinearLayout 中的 EditText

java - 在 Android 中下载图像

android - 无论屏幕设备分辨率如何,都将按钮控件设置为适合屏幕

c# - 如何修复 xamrian.android 中未绑定(bind)的前缀

visual-studio - 无法将现有 keystore 导入 Xamarin 存档管理器

java - 通过辅助服务传递数据以查看 – Android

android - 使用辅助功能服务中的 AccessibilityNodeInfo 向上滚动和向下滚动

java - 如何使用 AccessibilityService.getWindows() 获取可遍历的 AccessibilityNodeInfo?