如何通过Android应用程序获取蓝牙鼠标(连接到Android)的移动量?

时间:2016-07-04 06:12:48

标签: java android android-studio bluetooth mouse

我正在使用蓝牙鼠标来操作Android设备,我想获得鼠标的移动量。 如果光标离开屏幕,Android-OS会自动将光标坐标更改为屏幕内部。所以我有问题。

当我使用我的PC时,我将光标坐标移动到PC屏幕的中心,然后移动鼠标(用手),并且(在x之后 - 在x之前)是移动量。它在每一帧重复。 但是移动光标的方法在非root用户Android(安全问题)中不可用。

现在,我通过这种方法获得了移动量。鼠标(连接的PC) - > (蓝牙) - > PC - > (UDP) - >手机。但这不是快速的(最大约3000毫秒延迟)...... 并且,蓝牙鼠标太小而无法焊接(黑客)...... 通过使用NDK,AMOTION_getRawX()只返回屏幕上的坐标...

所以我想通过Android应用程序获取鼠标的移动量。 请帮帮我。

1 个答案:

答案 0 :(得分:1)

我解决了!!

我使用“Android终端模拟器”应用程序(启动ADB)和ADB命令adb shell getevent -lt /dev/input/event5event5可能会更改您的设备,因此请查看您的设备使用adb shell getevent -i

它告诉所有事件日志包含REL_XREL_Y。(实时)
鼠标的移动量很大 如果光标是边缘,没问题。

我将这个十六进制String值转换为int int d = (int)Long.parseLong(hexValue, 16);