# Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # 8BitDo - SN30 Pro gamepad in Android (D-Input) mode # # Mapping according to https://developer.android.com/training/game-controllers/controller-input.html # Button labeled as "A" but should really produce keycode "B" key 304 BUTTON_B # Button labeled as "B" but should really produce keycode "A" key 305 BUTTON_A # Button labeled as "X" but should really produce keycode "Y" key 307 BUTTON_Y # Button labeled as "Y" but should really produce keycode "X" key 308 BUTTON_X key 310 BUTTON_L1 key 312 BUTTON_L2 key 311 BUTTON_R1 key 313 BUTTON_R2 # Button "Start" does not emit event when gamepad is in Android mode # Button "Home" key 306 BUTTON_MODE key 314 BUTTON_SELECT key 315 BUTTON_START key 317 BUTTON_THUMBL key 318 BUTTON_THUMBR # Left Analog Stick axis 0x00 X axis 0x01 Y # Right Analog Stick axis 0x02 Z axis 0x05 RZ # Dpad axis 0x10 HAT_X axis 0x11 HAT_Y