Add keylayout mapping for Dualsense Edge gamepad

Add keylayout mapping to support gamepad buttons and axes mapping for Dualsense
Edge game controller, also add the mapping for motion sensors. Supports
systems with and without HID_PLAYSTATION

Bug: 260685629
Test: atest SonyDualSenseEdgeBluetoothTest SonyDualSenseEdgeUsbTest
Change-Id: I6d8ecf8bb653c601380cc6dbe5cd1eeba33b9387
This commit is contained in:
Farid Chahla
2022-12-19 12:10:59 -08:00
parent 405a99e5ae
commit 22cb48937d
2 changed files with 148 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
# Copyright (C) 2022 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.
#
# Sony Playstation(R) DualSense Edge Controller
#
# Only use this key layout if we have HID_PLAYSTATION!
requires_kernel_config CONFIG_HID_PLAYSTATION
# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
# Square
key 0x134 BUTTON_X
# Cross
key 0x130 BUTTON_A
# Circle
key 0x131 BUTTON_B
# Triangle
key 0x133 BUTTON_Y
key 0x136 BUTTON_L1
key 0x137 BUTTON_R1
key 0x138 BUTTON_L2
key 0x139 BUTTON_R2
# L2 axis
axis 0x02 LTRIGGER
# R2 axis
axis 0x05 RTRIGGER
# Left Analog Stick
axis 0x00 X
axis 0x01 Y
# Right Analog Stick
axis 0x03 Z
axis 0x04 RZ
# Left stick click
key 0x13d BUTTON_THUMBL
# Right stick click
key 0x13e BUTTON_THUMBR
# Hat
axis 0x10 HAT_X
axis 0x11 HAT_Y
# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
# Share / "half-sun"
key 0x13a BUTTON_SELECT
# Options / three horizontal lines
key 0x13b BUTTON_START
# PS key
key 0x13c BUTTON_MODE
# 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

View File

@@ -0,0 +1,75 @@
# Copyright (C) 2022 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.
#
# Sony Playstation(R) DualSense Edge Controller
#
# Use this if HID_PLAYSTATION is not available
# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
# Square
key 304 BUTTON_X
# Cross
key 305 BUTTON_A
# Circle
key 306 BUTTON_B
# Triangle
key 307 BUTTON_Y
key 308 BUTTON_L1
key 309 BUTTON_R1
key 310 BUTTON_L2
key 311 BUTTON_R2
# L2 axis
axis 0x03 LTRIGGER
# R2 axis
axis 0x04 RTRIGGER
# Left Analog Stick
axis 0x00 X
axis 0x01 Y
# Right Analog Stick
axis 0x02 Z
axis 0x05 RZ
# Left stick click
key 314 BUTTON_THUMBL
# Right stick click
key 315 BUTTON_THUMBR
# Hat
axis 0x10 HAT_X
axis 0x11 HAT_Y
# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
# Share / "half-sun"
key 312 BUTTON_SELECT
# Options / three horizontal lines
key 313 BUTTON_START
# PS key
key 316 BUTTON_MODE
# Touchpad press
key 317 BUTTON_1
# 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