Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a5109d9 authored by Kim Low's avatar Kim Low
Browse files

Added mapping files for DualShock3 and DualShock4

All buttons and axes on DualShock3 and DualShock4 are mapped
explicitly, because some Linux drivers do not map them correctly.
Also, the definition of BUTTON_X/Y in Linux and Android is flipped.

The most significant bit (i.e. 0x8000 and 0x8111) in the "Version"
part of the filename indicates a newer Linux hid-sony driver (>=4.10
for DualShock4 and >=4.12 for DualShock3) which complies to the
mapping in Linux gamepad specifications, and supports all DualShock4
features (i.e. motions sensors, touchpad).

Older Linux driver which does not have the correct mapping will use
the mapping files without "Version".

All files with "Version_8000" and "Version_8100" are meant for
Bluetooth connected DualShock3/DualShock4, and all files with
"Version_8111" are meant for USB connected DualShock3/DualShock4.

Test: Connect DualShock3 and DualShock4, over USB and over Bluetooth.
Test: Check that the Dpad and left analog stick can be used to
      navigate the UI.
Test: If newer Linux driver is loaded, check that the touchpad can
      be used to navigate the UI.
Bug: 38511270
Change-Id: I5630c495af16185689bbff25943b3e2d3c93e709
parent f9fa9a63
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -21,8 +21,6 @@ key 0x125 DPAD_RIGHT
key 0x126    DPAD_DOWN
key 0x127    DPAD_LEFT

key 0x120    BUTTON_SELECT
key 0x123    BUTTON_START
key 0x12e    BUTTON_A
key 0x12d    BUTTON_B
key 0x12f    BUTTON_X
@@ -34,9 +32,6 @@ key 0x129 BUTTON_R2
key 0x121    BUTTON_THUMBL
key 0x122    BUTTON_THUMBR

# PS key
key 0x2d0    BUTTON_MODE

# Left Analog Stick
axis 0x00    X
axis 0x01    Y
@@ -74,3 +69,11 @@ axis 0x31 RTRIGGER

# Square
# axis 0x37

# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
# Select
key 0x120    BUTTON_SELECT
# Start
key 0x123    BUTTON_START
# PS key
key 0x2d0    BUTTON_MODE
+57 −0
Original line number Diff line number Diff line
# Copyright (C) 2018 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)3 Controller
# - Version 0x8000 and 0x8100 are for Linux hid-sony driver >=4.12
#   and when connected over Bluetooth
#

key 0x220   DPAD_UP
key 0x223   DPAD_RIGHT
key 0x221   DPAD_DOWN
key 0x222   DPAD_LEFT

key 0x130   BUTTON_A
key 0x131   BUTTON_B
key 0x134   BUTTON_X
key 0x133   BUTTON_Y
key 0x136   BUTTON_L1
key 0x137   BUTTON_R1
key 0x138   BUTTON_L2
key 0x139   BUTTON_R2
key 0x13d   BUTTON_THUMBL
key 0x13e   BUTTON_THUMBR

# left Analog Stick
axis 0x00   X
axis 0x01   Y

# Right Analog Stick
axis 0x03   Z
axis 0x04   RZ

# L2 trigger
axis 0x02   LTRIGGER

# R2 trigger
axis 0x05   RTRIGGER

# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
# Select
key 0x13a   BUTTON_SELECT
# Start
key 0x13b   BUTTON_START
# PS key
key 0x13c   BUTTON_MODE
+57 −0
Original line number Diff line number Diff line
# Copyright (C) 2018 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)3 Controller
# - Version 0x8000 and 0x8100 are for Linux hid-sony driver >=4.12
#   and when connected over Bluetooth
#

key 0x220   DPAD_UP
key 0x223   DPAD_RIGHT
key 0x221   DPAD_DOWN
key 0x222   DPAD_LEFT

key 0x130   BUTTON_A
key 0x131   BUTTON_B
key 0x134   BUTTON_X
key 0x133   BUTTON_Y
key 0x136   BUTTON_L1
key 0x137   BUTTON_R1
key 0x138   BUTTON_L2
key 0x139   BUTTON_R2
key 0x13d   BUTTON_THUMBL
key 0x13e   BUTTON_THUMBR

# left Analog Stick
axis 0x00   X
axis 0x01   Y

# Right Analog Stick
axis 0x03   Z
axis 0x04   RZ

# L2 trigger
axis 0x02   LTRIGGER

# R2 trigger
axis 0x05   RTRIGGER

# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
# Select
key 0x13a   BUTTON_SELECT
# Start
key 0x13b   BUTTON_START
# PS key
key 0x13c   BUTTON_MODE
+57 −0
Original line number Diff line number Diff line
# Copyright (C) 2018 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)3 Controller
# - Version 0x8111 is for Linux hid-sony driver >=4.12 and when
#   connected over USB
#

key 0x220   DPAD_UP
key 0x223   DPAD_RIGHT
key 0x221   DPAD_DOWN
key 0x222   DPAD_LEFT

key 0x130   BUTTON_A
key 0x131   BUTTON_B
key 0x134   BUTTON_X
key 0x133   BUTTON_Y
key 0x136   BUTTON_L1
key 0x137   BUTTON_R1
key 0x138   BUTTON_L2
key 0x139   BUTTON_R2
key 0x13d   BUTTON_THUMBL
key 0x13e   BUTTON_THUMBR

# left Analog Stick
axis 0x00   X
axis 0x01   Y

# Right Analog Stick
axis 0x03   Z
axis 0x04   RZ

# L2 trigger
axis 0x02   LTRIGGER

# R2 trigger
axis 0x05   RTRIGGER

# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
# Select
key 0x13a   BUTTON_SELECT
# Start
key 0x13b   BUTTON_START
# PS key
key 0x13c   BUTTON_MODE
+0 −1
Original line number Diff line number Diff line
@@ -60,7 +60,6 @@ axis 0x11 HAT_Y
key 0x138    BUTTON_SELECT
# Options
key 0x139    BUTTON_START

# PS key
key 0x13c    BUTTON_MODE

Loading