| # Copyright (C) 2019 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. |
| |
| # |
| # Nintendo Switch Pro Controller - HAC-013 - Bluetooth |
| # |
| |
| |
| # Mapping according to https://developer.android.com/training/game-controllers/controller-input.html |
| |
| # Button labeled as "B" but should really produce keycode "A" |
| key 0x130 BUTTON_A |
| # Button labeled as "A" but should really produce keycode "B" |
| key 0x131 BUTTON_B |
| # Button labeled as "X" but should really product keycode "Y" |
| key 0x133 BUTTON_Y |
| # Button labeled as "Y" but should really produce keycode "X" |
| key 0x134 BUTTON_X |
| |
| # Button labeled as "L" |
| key 0x136 BUTTON_L1 |
| # Button labeled as "R" |
| key 0x137 BUTTON_R1 |
| |
| # No LT / RT axes on this controller. Instead, there are keys. |
| # Trigger labeled as "ZL" |
| key 0x138 BUTTON_L2 |
| # Trigger labeled as "ZR" |
| key 0x139 BUTTON_R2 |
| |
| # Left Analog Stick |
| axis 0x00 X |
| axis 0x01 Y |
| # Right Analog Stick |
| axis 0x03 Z |
| axis 0x04 RZ |
| |
| # Left stick click (generates linux BTN_SELECT) |
| key 0x13d BUTTON_THUMBL |
| # Right stick click (generates linux BTN_START) |
| key 0x13e BUTTON_THUMBR |
| |
| # Currently, the dpad produces key events |
| key 0x220 DPAD_UP |
| key 0x221 DPAD_DOWN |
| key 0x222 DPAD_LEFT |
| key 0x223 DPAD_RIGHT |
| |
| # Hat - currently not being produced by hid-nintendo, but an upcoming patch set will change the behaviour. |
| # Keep these mappings in anticipation of that change |
| axis 0x10 HAT_X |
| axis 0x11 HAT_Y |
| |
| # Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt |
| # Minus |
| key 0x13a BUTTON_SELECT |
| |
| # Plus |
| key 0x13b BUTTON_START |
| |
| # Circle |
| key 0x135 BUTTON_MODE |
| |
| # Home key |
| key 0x13c HOME |
| |
| # SENSORs |
| sensor 0x00 ACCELEROMETER X |
| sensor 0x01 ACCELEROMETER Y |
| sensor 0x02 ACCELEROMETER Z |
| sensor 0x03 GYROSCOPE X |
| sensor 0x04 GYROSCOPE Y |
| sensor 0x05 GYROSCOPE Z |