У меня есть сенсорная панель Android Things 1.0 Raspberry Pi 3 и 800x480
(width / height
), и мне нужно отслеживать прикосновения пользователей к ней для элементов управления Activity
.Я получил сенсорные x
и y
координаты с сенсорной панели и попытался сгенерировать сенсорное событие Android с таким кодом:
private InputDriver mInputDriver;
private InputDriverEvent mInputDriverEvent = new InputDriverEvent();
...
int x = getTouchX(); // returns x within [0, 800]
int y = getTouchY(); // returns y within [0, 480]
mInputDriverEvent.clear();
mInputDriverEvent.setPosition(MotionEvent.AXIS_X, x);
mInputDriverEvent.setPosition(MotionEvent.AXIS_Y, y);
mInputDriverEvent.setContact(true);
mInputDriver.emit(mInputDriverEvent);
...
, где mInputDriver
инициализирован таким образом:
mInputDriver = new InputDriver.Builder()
.setName("TouchPad")
.setVendorId(0)
.setProductId(0)
.setAxisConfiguration(MotionEvent.AXIS_X, 0, 800, 0 ,0)
.setAxisConfiguration(MotionEvent.AXIS_Y, 0, 480, 0 ,0)
.build();
UserDriverManager.getInstance().registerInputDriver(mInputDriver);
событие генерировалось для каждого касания, но указатель (курсор) всегда находится в центре экрана:
Как переместить указатель (курсор)в (x,y)
положение на экране?