From 552dfe5c295850c939765772cf5eb8d887be531d Mon Sep 17 00:00:00 2001 From: Matt Reynolds Date: Thu, 6 May 2021 12:47:08 -0700 Subject: [PATCH] Add keylayout mapping for Luna controller (Bluetooth) Add a keylayout mapping to support gamepad buttons and axes on the Amazon Luna controller. Buttons and axes are mapped according to https://www.kernel.org/doc/Documentation/input/gamepad.txt except for the Alexa Push-To-Talk button which is mapped to MEDIA_RECORD. Bug: 183990549 Test: used the "Gamepad Tester" app and https://gamepad-tester.com in Chrome to verify all mappings work. Change-Id: I1921e501eea0ce398b79a32809efa63456074ed5 --- data/keyboards/Vendor_0171_Product_0419.kl | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 data/keyboards/Vendor_0171_Product_0419.kl diff --git a/data/keyboards/Vendor_0171_Product_0419.kl b/data/keyboards/Vendor_0171_Product_0419.kl new file mode 100644 index 000000000000..05a25f0210c8 --- /dev/null +++ b/data/keyboards/Vendor_0171_Product_0419.kl @@ -0,0 +1,55 @@ +# Copyright (C) 2021 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. + +# +# Amazon Luna Controller +# + +key 304 BUTTON_A +key 305 BUTTON_B +key 307 BUTTON_X +key 308 BUTTON_Y +key 310 BUTTON_L1 +key 311 BUTTON_R1 + +key 317 BUTTON_THUMBL +key 318 BUTTON_THUMBR + +# Left and right stick. +axis 0x00 X flat 4096 +axis 0x01 Y flat 4096 +axis 0x02 Z flat 4096 +axis 0x05 RZ flat 4096 + +# Triggers. +axis 0x0a LTRIGGER +axis 0x09 RTRIGGER + +# Hat. +axis 0x10 HAT_X +axis 0x11 HAT_Y + +# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt + +# Action button (circle icon, left of the Home button) +key 158 BUTTON_SELECT + +# Home button (branded button in the center of the controller) +key 172 BUTTON_MODE + +# Menu button (hamburger icon, right of the Home button) +key 315 BUTTON_START + +# Alexa Push-To-Talk button (microphone icon, below the Home button) +key 217 MEDIA_RECORD