在StationM2的Android系统,连接USB鼠标后的输入设备识别问题
红心萝卜_luozy
初级玩家
Station M2
2022-08-18 14:22
953
1
在StationM2上烧写Station_M2_Android_11_GPT_RAW_20211124.zip
连接USB的键盘和鼠标,在APK应用中当有鼠标事件发生时,MotionEvent.java->getToolType(0),应该返回MotionEvent.TOOL_TYPE_MOUSE,但实际返回的是MotionEvent.TOOL_TYPE_FINGER。
这个函数是调用本地jni库,从kernel获取对应的输入设备信息。我怀疑是kernel在初始化USB鼠标设备时有bug?错误将鼠标当做触摸屏输入设备了?
请分析解决一下呢?
|
|
原创文章,作者:红心萝卜_luozy,如若转载,请注明出处:《 在StationM2的Android系统,连接USB鼠标后的输入设备识别问题 》
请问会对你的使用造成什么影响?
点评
在现在的应用中,鼠标抬起事件中会判断当前输入设备是否为TOOL_TYPE_MOUSE,不是的话则会丢弃鼠标事件。这样就导致点击鼠标左键时,有按下事件处理,但无抬起事件的处理。
请问这个鼠标模拟触摸屏的功能,是否有设置开关?我如何关闭此功能呢?
点评
目前的版本没有加入开关控制,如果需要的话,可以提供更新的so库给你手动更新。你那边应该会使用adb命令吧
点评
好的,下周一给你提供
adb shell setprop persist.sys.root_access 3
adb root
adb remount
adb push system/* system/
adb shell setprop persist.sys.root_access 0
adb shell setprop persist.KeyMouse.useMouseToTouch false
adb reboot
你测试一下