diff options
author | Andrei Litvin <andreilitvin@google.com> | 2020-03-16 10:26:14 -0400 |
---|---|---|
committer | Andrei Litvin <andreilitvin@google.com> | 2020-04-20 10:42:58 -0400 |
commit | 3b92b9682d9dbf8d6420432394218ef703c022d3 (patch) | |
tree | 983528fa8ae248c55cbf50cb9e8b902ef71f76d1 /data/keyboards | |
parent | 4e177518045bbc430bd7a467b207420e54db422d (diff) |
Add support for GamePad api in ITvRemoteServiceInput.
Gamepad-specific API is a separtate input path from standard "remote"
service. Specifically it adds:
- openGamepad that creates a virtual input device with
gamepad-specific suport
- send gamepad keys
- send gamepad axis updates, which support joysticks, analog triggers
and HAT axis (as an alternative to DPAD buttons).
Bug: 150764186
Test: atest media/lib/tvremote/tests/src/com/android/media/tv/remoteprovider/TvRemoteProviderTest.java
Test: flashed a ADT-3 device after the changes. Android TV Remote
on my phone still worked in controlling the UI.
Merged-In: I49612fce5e74c4e00ca60c715c6c72954e73b7a3
Change-Id: I49612fce5e74c4e00ca60c715c6c72954e73b7a3
(cherry picked from commit 9b9f556af1f53a6ae29d5560240b96fdc151978a)
Diffstat (limited to 'data/keyboards')
-rw-r--r-- | data/keyboards/Vendor_18d1_Product_0200.kcm | 48 | ||||
-rw-r--r-- | data/keyboards/Vendor_18d1_Product_0200.kl | 71 |
2 files changed, 119 insertions, 0 deletions
diff --git a/data/keyboards/Vendor_18d1_Product_0200.kcm b/data/keyboards/Vendor_18d1_Product_0200.kcm new file mode 100644 index 000000000000..231fac6b48b7 --- /dev/null +++ b/data/keyboards/Vendor_18d1_Product_0200.kcm @@ -0,0 +1,48 @@ +# Copyright (C) 2020 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. + +type FULL + +key BUTTON_A { + base: fallback DPAD_CENTER +} + +key BUTTON_B { + base: fallback BACK +} + +key BUTTON_X { + base: fallback DPAD_CENTER +} + +key BUTTON_Y { + base: fallback BACK +} + +key BUTTON_THUMBL { + base: fallback DPAD_CENTER +} + +key BUTTON_THUMBR { + base: fallback DPAD_CENTER +} + +key BUTTON_SELECT { + base: fallback MENU +} + +key BUTTON_MODE { + base: fallback MENU +} + diff --git a/data/keyboards/Vendor_18d1_Product_0200.kl b/data/keyboards/Vendor_18d1_Product_0200.kl new file mode 100644 index 000000000000..d30bcc60e663 --- /dev/null +++ b/data/keyboards/Vendor_18d1_Product_0200.kl @@ -0,0 +1,71 @@ +# Copyright (C) 2020 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. + +# +# Keyboard map for the android virtual remote running as a gamepad +# + +key 0x130 BUTTON_A +key 0x131 BUTTON_B +key 0x133 BUTTON_X +key 0x134 BUTTON_Y + +key 0x136 BUTTON_L2 +key 0x137 BUTTON_R2 +key 0x138 BUTTON_L1 +key 0x139 BUTTON_R1 + +key 0x13a BUTTON_SELECT +key 0x13b BUTTON_START +key 0x13c BUTTON_MODE + +key 0x13d BUTTON_THUMBL +key 0x13e BUTTON_THUMBR + +key 103 DPAD_UP +key 108 DPAD_DOWN +key 105 DPAD_LEFT +key 106 DPAD_RIGHT + +# Generic usage buttons +key 0x2c0 BUTTON_1 +key 0x2c1 BUTTON_2 +key 0x2c2 BUTTON_3 +key 0x2c3 BUTTON_4 +key 0x2c4 BUTTON_5 +key 0x2c5 BUTTON_6 +key 0x2c6 BUTTON_7 +key 0x2c7 BUTTON_8 +key 0x2c8 BUTTON_9 +key 0x2c9 BUTTON_10 +key 0x2ca BUTTON_11 +key 0x2cb BUTTON_12 +key 0x2cc BUTTON_13 +key 0x2cd BUTTON_14 +key 0x2ce BUTTON_15 +key 0x2cf BUTTON_16 + +# assistant buttons +key 0x246 VOICE_ASSIST +key 0x247 ASSIST + +axis 0x00 X +axis 0x01 Y +axis 0x02 Z +axis 0x05 RZ +axis 0x09 RTRIGGER +axis 0x0a LTRIGGER +axis 0x10 HAT_X +axis 0x11 HAT_Y + |