Merge "Require CONFIG_HID_PLAYSTATION for DualSense key layout"
This commit is contained in:
@@ -381,6 +381,7 @@ cc_library_shared {
|
|||||||
// (e.g. gDefaultServiceManager)
|
// (e.g. gDefaultServiceManager)
|
||||||
"libbinder",
|
"libbinder",
|
||||||
"libhidlbase", // libhwbinder is in here
|
"libhidlbase", // libhwbinder is in here
|
||||||
|
"libvintf",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
# Sony Playstation(R) DualSense Controller
|
# Sony Playstation(R) DualSense 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
|
# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
|
||||||
|
|
||||||
|
|||||||
75
data/keyboards/Vendor_054c_Product_0ce6_fallback.kl
Normal file
75
data/keyboards/Vendor_054c_Product_0ce6_fallback.kl
Normal 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 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
|
||||||
@@ -21,6 +21,7 @@ cc_binary_host {
|
|||||||
cflags: [
|
cflags: [
|
||||||
"-Wall",
|
"-Wall",
|
||||||
"-Werror",
|
"-Werror",
|
||||||
|
"-Wextra",
|
||||||
],
|
],
|
||||||
|
|
||||||
static_libs: [
|
static_libs: [
|
||||||
@@ -31,6 +32,9 @@ cc_binary_host {
|
|||||||
"liblog",
|
"liblog",
|
||||||
"libui-types",
|
"libui-types",
|
||||||
],
|
],
|
||||||
|
shared_libs: [
|
||||||
|
"libvintf",
|
||||||
|
],
|
||||||
target: {
|
target: {
|
||||||
host_linux: {
|
host_linux: {
|
||||||
static_libs: [
|
static_libs: [
|
||||||
|
|||||||
@@ -97,6 +97,11 @@ static bool validateFile(const char* filename) {
|
|||||||
case FileType::KEY_LAYOUT: {
|
case FileType::KEY_LAYOUT: {
|
||||||
base::Result<std::shared_ptr<KeyLayoutMap>> ret = KeyLayoutMap::load(filename);
|
base::Result<std::shared_ptr<KeyLayoutMap>> ret = KeyLayoutMap::load(filename);
|
||||||
if (!ret.ok()) {
|
if (!ret.ok()) {
|
||||||
|
if (ret.error().message() == "Missing kernel config") {
|
||||||
|
// It means the layout is valid, but won't be loaded on this device because
|
||||||
|
// this layout requires a certain kernel config.
|
||||||
|
return true;
|
||||||
|
}
|
||||||
error("Error %s parsing key layout file.\n\n", ret.error().message().c_str());
|
error("Error %s parsing key layout file.\n\n", ret.error().message().c_str());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user