blob: 7491ee562b59fb1852d6034e354991199c446f6d [file] [log] [blame]
# 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