Проблема с обработкой события Android InputDevice onKeyDown
У меня есть ручной USB HID- геймпад, подключенный к моему планшету Android, я пытаюсь обработать его входы, но у меня есть некоторые проблемы с управлениемonKeyDown
События.
Это мой обработчик событий:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((controller != null) && (event.getDevice() == controller)) {
if (event.getRepeatCount() == 0)
if (event.isLongPress())
if (keyCode == settings.std_photo_keycode) && (settings.std_photo_keycode != 0))
takeSnapshot();
return true;
}
return super.onKeyDown(keyCode, event);
}
Отладка этого приложения для меня довольно сложна, так как единственный USB- порт планшета используется самим геймпадом, но я ясно вижу, что событие нажатия клавиши улавливается и обрабатывается системой и используется для возврата к основномуActivity
вместо этого обрабатывается моим кодом. Я думаю, что проблема возникает из-за того, что кнопки устройства сопоставлены с системными кнопками, но я не знаю, как этого избежать. Можно ли отключить эту функцию только на определенномActivity
и оставь это для другого Activities
в моем приложении?