Вы можете настроить поддержку геймпада для навигации в Native App. Геймпад можно использовать как замену физического или виртуального пульта.
Вы можете настроить поддержку виртуального геймпада для вашего Native App. Виртуальный геймпад дублирует функциональность аналогового геймпада и виртуального пульта.
Обработка событий
Когда пользователь использует геймпад, ОС устройства передает следующие события:
- При нажатии кнопок передаются события, аналогичные событиям
KeyEvent в Android. - При нажатии курков или использовании стиков передаются события, аналогичные событиям
MotionEvent в Android.
Чтобы обрабатывать эти типы событий:
- Переопределите колбэк [
onKeyDown](https://developer.android.com/reference/android/view/KeyEvent.Callback?hl=en#onKeyDown(int,%20android.view.KeyEvent) для регистрации событий типаKeyEvent. - Реализуйте метод [
onGenericMotionEvent](https://developer.android.com/reference/android/view/View#onGenericMotionEvent(android.view.MotionEvent) для регистрации событий типаMotionEvent.
События нажатия кнопок
| Кнопка на геймпаде | Код нажатия клавиши на клавиатуре Android |
|---|---|
| A | KeyEvent.KEYCODE_BUTTON_A = 96; |
| B |
|
| X |
|
| Y |
|
| Left |
|
| Right |
|
| Up |
|
| Down |
|
| RB | KeyEvent.KEYCODE_BUTTON_R1 = 103; |
| LB | KeyEvent.KEYCODE_BUTTON_L1 = 102; |
| RT | KeyEvent.KEYCODE_BUTTON_R2 = 105; |
| LT |
|
| Left Stick | Отклонение стика:
Клик по стику:
|
| Right Stick | Клик по стику:
|
| Гироскоп |
|
Виртуальный геймпад не имеет плавного хода триггеров и управления осями AXIS_RTRIGGER, AXIS_LTRIGGER и AXIS_THROTTLE.