我正在使用蓝牙鼠标来操作Android设备,我想获得鼠标的移动量。 如果光标离开屏幕,Android-OS会自动将光标坐标更改为屏幕内部。所以我有问题。
当我使用我的PC时,我将光标坐标移动到PC屏幕的中心,然后移动鼠标(用手),并且(在x之后 - 在x之前)是移动量。它在每一帧重复。 但是移动光标的方法在非root用户Android(安全问题)中不可用。
现在,我通过这种方法获得了移动量。鼠标(连接的PC) - > (蓝牙) - > PC - > (UDP) - >手机。但这不是快速的(最大约3000毫秒延迟)...... 并且,蓝牙鼠标太小而无法焊接(黑客)...... 通过使用NDK,AMOTION_getRawX()只返回屏幕上的坐标...
所以我想通过Android应用程序获取鼠标的移动量。 请帮帮我。
答案 0 :(得分:1)
我解决了!!
我使用“Android终端模拟器”应用程序(启动ADB)和ADB命令adb shell getevent -lt /dev/input/event5
。
event5
可能会更改您的设备,因此请查看您的设备使用adb shell getevent -i
它告诉所有事件日志包含REL_X
和REL_Y
。(实时)
鼠标的移动量很大
如果光标是边缘,没问题。
我将这个十六进制String值转换为int
int d = (int)Long.parseLong(hexValue, 16);