2016-07-04 5 views
1

Я использую Bluetooth-мышь для работы с Android-устройством, и я хочу получить количество движений мыши. , если курсор выходит из экрана, Android-OS Автоматически меняет координаты курсора на экран. Так что у меня проблемы.Как получить количество движений мыши bluetooth (подключение к Android) приложения Android?

Когда я использую свой компьютер, я перемещаю координаты курсора в центр экрана ПК и перемещаю мышь (используя руку), и (после х - до х) - это количество движения. он повторяется в каждом кадре. Но метод перемещения курсора не используется в некорневых Android (проблема безопасности).

Теперь я получаю количество движений этим методом. Мышь (подключенный ПК) -> (bluetooth) -> ПК -> (UDP) -> смартфон. Но это не скоро (Макс. Около 3000 мс латентности) ... И, мышь bluetooth слишком мала, чтобы припаять (взломать) ... Используя NDK, AMOTION_getRawX() просто возвращает координаты на экране ...

Так что я хочу получить количество движения мыши от приложения Android. Пожалуйста, помогите мне.

ответ

1

Я решил!

Я использовал приложение «Android Terminal Emulator» (для запуска 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);