Commit Graph

148 Commits

Author SHA1 Message Date
Xin Li
628590d7ec Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-08-31 21:21:38 -07:00
Treehugger Robot
4ec7604b48 Merge "Add KEYCODE_PROG_{BLUE,RED,GREEN,YELLOW} mappings to LKC equivalents" 2020-08-07 16:54:11 +00:00
Aman Gupta
7395b0a265 Add KEYCODE_PROG_{BLUE,RED,GREEN,YELLOW} mappings to LKC equivalents
My goal is to allow colored keys on HDMI-CEC and Bluetooth remotes to be used by an Android TV app.

The USB HID spec [1] and CEC spec [2] both define distinct codes for these keys.

The kernel converts both the HID [4] and CEC [5] codes to standard LKC codes [6]:

  #define KEY_RED		0x18e
  #define KEY_GREEN		0x18f
  #define KEY_YELLOW	0x190
  #define KEY_BLUE		0x191

Android also defines KEYCODE_PROG_ constants for these keys in KeyEvent.java [3]. This commit maps these LKC codes starting at 0x18e (i.e 398) to the existing KeyEvent equivalents.

[1] https://www.usb.org/sites/default/files/color_buttons_0.pdf
[2] https://github.com/floe/CEC/raw/master/extras/CEC_Specs.pdf
[3] https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/view/KeyEvent.java#L539-L550
[4] https://github.com/torvalds/linux/blob/master/drivers/hid/hid-input.c#L897-L900
[5] https://github.com/torvalds/linux/blob/master/drivers/media/rc/keymaps/rc-cec.c#L142-L145
[6] https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h#L470-L473

Signed-off-by: Aman Gupta <aman@tmm1.net>
Change-Id: I26c63732c8533390de91460acec312fd27ad8866
2020-08-06 08:03:19 -07:00
Siarhei Vishniakou
21e6488ae7 Merge "Add KEYCODE_MEDIA_AUDIO_TRACK mapping to USB HID Usage consumer page (0x0c/0x173) "Alternate Audio Increment"" 2020-08-03 21:29:08 +00:00
Treehugger Robot
dab3aaa5c6 Merge "Add support for Razer Kishi game controller." 2020-08-01 12:29:58 +00:00
Chris Ye
d91a29ac36 Add support for Razer Kishi game controller.
Add Razer Raiju Kishi controller keyboard layout mapping.

Bug: 140958486
Test: Connect Razer Kishi controller and play game with it.
Change-Id: I6f94e212fe10f777f04ad9815468e2148d4252f5
Merged-In: I6f94e212fe10f777f04ad9815468e2148d4252f5
2020-08-01 04:38:14 +00:00
Chris Ye
b07e2f8093 Add support for Scuf Vantage game controller.
Add Scuf Vantage controller keyboard layout mapping.

Bug: 155223457
Test: ControllerTest App, Connect Scuf Vantage controller and play game with it.
Change-Id: I21d23dcbeb4ef24d212d4e386f6dbf8b1b89d9f6
Merged-In: I21d23dcbeb4ef24d212d4e386f6dbf8b1b89d9f6
2020-08-01 04:35:51 +00:00
Aman Gupta
e30b82490c Add KEYCODE_MEDIA_AUDIO_TRACK mapping to USB HID Usage consumer page (0x0c/0x173) "Alternate Audio Increment"
cc 20555cb645

Change-Id: I7ff8b71abd99e6024e874a0aac42e875720186f9
Signed-off-by: Aman Gupta <aman@tmm1.net>
2020-07-21 12:12:40 -07:00
Aman Gupta
7b48e40231 Add KEYCODE_WINDOW mapping to USB HID Usage consumer page (0x0c/0x67) "Picture-in-Picture Toggle"
cc https://www.usb.org/sites/default/files/ce_devices_0.pdf

Change-Id: Iac94535823fa0a97e1a926d28d6f7376c11b8bf0
Signed-off-by: Aman Gupta <aman@tmm1.net>
2020-07-21 12:12:40 -07:00
Aman Gupta
6c984953ea Add KEYCODE_CAPTIONS mapping to LKC KEY_SUBTITLE
From https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h,
KEY_SUBTITLE is near the TV codes. Note that 0x172 == 370.

  #define KEY_CHANNEL		0x16b
  #define KEY_FAVORITES		0x16c
  #define KEY_EPG			0x16d
  #define KEY_PVR			0x16e	/* Media Select Home */
  #define KEY_MHP			0x16f
  #define KEY_LANGUAGE		0x170
  #define KEY_TITLE		0x171
  #define KEY_SUBTITLE		0x172
  #define KEY_ANGLE		0x173
  #define KEY_FULL_SCREEN		0x174	/* AC View Toggle */
  #define KEY_ZOOM		KEY_FULL_SCREEN

You can also see on https://www.kernel.org/doc/html/v4.9/media/uapi/rc/rc-tables.html it is listed in the "Movie play control" section:

  KEY_SUBTITLE	Allow changing the subtitle

Change-Id: I7690269cddd00b787a939f87ba651db38f1160ac
Signed-off-by: Aman Gupta <aman@tmm1.net>
2020-07-21 12:09:52 -07:00
Aman Gupta
48a06806f1 Add KEYCODE_LAST_CHANNEL mapping to LKC KEY_LAST
Change-Id: Idcf987c6e5541e29cac1b8a89263580bfcdc9636
Signed-off-by: Aman Gupta <aman@tmm1.net>
2020-07-16 18:27:02 -07:00
Andrew Walbran
ae0e270ff7 Merge "Add keylayout for SnakeByte iDroid:con" am: 99ce8c4945 am: f8b50f034a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1331927

Change-Id: I0b3ef96e98ff8ee11d3b807c98f24c2dff8e8ac2
2020-06-15 12:45:33 +00:00
Andrew Walbran
ba81efe04a Add keylayout for SnakeByte iDroid:con
This is a Bluetooth game controller which supports Android, but the
thumbstick buttons had the wrong keycodes.

Test: manual test with Gamepad Tester app
Change-Id: Id7d8ccbf282e25fd076903cbf9f3d66d30941c3e
2020-06-14 10:16:28 +01:00
TreeHugger Robot
39f422e78c Merge "Add keylayout for Xbox controller over USB" into rvc-dev am: f7deec1444
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11707675

Change-Id: I2b3f8fa576f5a7ae6baf29c67cb12160e1cb25e6
2020-06-03 23:52:27 +00:00
Siarhei Vishniakou
4647f1866c Add keylayout for Xbox controller over USB
Without a custom layout, this controller has incorrect mappings for the
right stick and gas/break axes.
Add a custom layout to ensure all axes and keys are mapped properly.

Bug: 157852643
Test: connected controller to the phone and verified mappings using the
controllerTester app

Change-Id: I1f65fe973652e25fab5e6e29ab598eee54e33e06
2020-06-03 12:35:19 -07:00
Treehugger Robot
5da33eca4e Merge "Add keylayout for HORIPAD for Nintendo Switch" am: 9ea883f4a3 am: 226410ff53
Change-Id: I79d82bafcc321f87af216cdee70e574447d4d1fc
2020-05-27 15:11:24 +00:00
Andrew Walbran
386d9691c3 Add keylayout for HORIPAD for Nintendo Switch
This is a third-party USB game controller for the Nintendo Switch, but
doesn't require the special driver needed for the official controllers.

The same button layout is used as for the Nintendo Switch Pro Controller.

Test: manual test with Gamepad Tester app
Change-Id: Ie424bbe8fe40853b5c8683d6094e2c6d3cf55a5b
2020-05-19 22:52:31 +01:00
Siarhei Vishniakou
2abc5d2823 Add keylayout for Steam controller (USB)
In the USB mode, Steam controller needs a key layout, because most of
the buttons and axes are incorrectly mapped.

The wireless dongle has not been tested.

The controller also support BLE, but currently goes into lizard mode by
default (only mouse and 2 buttons: left/right clicks work). So a driver
is likely necessary to go into the normal mode over BT, and hid-steam
doesn't help with that currently.

On BT, the controller has product id of 0x1106.

Bug: 147434575
Test: use the "gamepad tester" app and connect joystick over the USB.
Ensure that all mappings work
Test: CTS test will not be done at this time because it requires
supporting SET_REPORT in the hid command.

Change-Id: Ic0c50695338f98dcaeaaa7b3417fde702563d205
2020-05-15 07:38:14 -07:00
Siarhei Vishniakou
0a19f87982 Merge "Add layout for xbox 360 wireless controller" into rvc-dev 2020-05-04 22:13:49 +00:00
Siarhei Vishniakou
046e478fd9 Add layout for xbox 360 wireless controller
We are currently missing a layout for the xbox 360 wireless controller,
with product id 02a1.

Bug: 144469012

Test: copied from Vendor_045e_Product_028e.kl
Change-Id: Ib0286d126273619352e9834e669413ecd699b1d9
2020-05-04 19:38:40 +00:00
Andrei Litvin
3b92b9682d 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 9b9f556af1)
2020-04-20 10:42:58 -04:00
Siarhei Vishniakou
76baf21e11 Update nintendo joystick layout
Now that we will have the correct hid-nintendo driver in the kernel, we
need to update the joystick layout to ensure correct operation.

This change requires the hid-nintendo patch from:
https://android-review.googlesource.com/c/kernel/common/+/1246269/

Test: verified via bluetooth and usb using controllerTester app
Test: atest NintendoSwitchProTest

Bug: 135136477
Change-Id: I8d5c660864a46e8fcd6967c7fffd42460f86e36f
2020-02-27 11:30:54 -08:00
Siarhei Vishniakou
09bd9d12b3 Add key layouts for Xbox clones
There are a lot of controllers that are essentially 'clones' of the xbox
controllers. They follow the same key layouts.

To support these clones, we add these layouts as a copy of the xbox
layout. They were generated using a small python script.

The layouts will be manually verified for now, on a select subset of
these controllers.

Test: these will be selectively verified manually
Test: we will add CTS for some of these in the future

Bug: 144469012
Bug: 136263708
Change-Id: Id453f103824a1ba2bf03a9309378dafde418e594
2020-02-25 10:54:28 -08:00
Siarhei Vishniakou
a3492cae1e Fix layout for Razer Serval
Ensure all of the keys are mapped.

Test: atest RazerServalTest
Bug: 136263708
Change-Id: I550d5e4e46cbc8549f0bcf075ad5ac39870c3487
2019-11-04 23:29:15 -06:00
Elias Wald
c91d78a680 Merge "Add keylayout for original xbox controller" into qt-dev am: aaaee164de am: 0a7a87b548 am: ec53916597
am: 18e089ebac

Change-Id: I4f3522a393397da4093620a685d8424b15579c81
2019-09-11 22:58:11 -07:00
Siarhei Vishniakou
0c1c820d9d Add keylayout for original xbox controller
We are still missing a key layout for the original xbox controller with
product id 02dd. Add the missing layout here.

Bug: 140808513
Test: manual test by plugging in the actual joystick and using the
custom tester app

Change-Id: Ib84e3ac04ff58f890ce7743423cc9b869af347db
2019-09-11 22:07:41 +01:00
Jared Henderson
b08c0be8a0 Update Xbox BT controller mapping for new FW
The Xbox controller (product id 0x02fd) is going to have a new firmware
update this fall that sends a different keycode (316/BUTTON_MODE) for
the Xbox button.  The goal is to enable the Xbox button to make it to
apps on all Android versions -- with our without a controller-specific
key mapping file.

Unfortunately, the new Vendor_045e_Product_02fd.kl key mapping file
that was added to Android Q maps the pre-firmware-update
Xbox key code (172) to BUTTON_MODE, yet it makes no mention of key 316.
This results in apps getting a raw 316 scan code instead of
a BUTTON_MODE KeyEvent when using a controller with the latest firmware
on Android Q.

The fix is to add an additional key mapping for 316 that *also* maps to
BUTTON_MODE.  With both mappings in place, both pre and post
firmware-updated controllers will get the correct behavior for the
Xbox button on Android Q.

Test: AFAIK, no CTS tests exist for Xbox controller key mappings;
we'll need to add some at a later date.  I was unable to test this
change because I'm unable to write to the system directory on any
of my devices, but I know that mapping 316 to BUTTON_MODE will
fix the issue.

Signed-off-by: Jared Henderson <jaredh.microsoft@gmail.com>

Bug: 139512030
Bug: 140808513

Merged-In: I8600ea79a0aa8557267d6ca712e5d56680e7a98b
Change-Id: I8600ea79a0aa8557267d6ca712e5d56680e7a98b
2019-09-11 15:13:07 +01:00
Jared Henderson
a1ef1ea27f Merge "Update Xbox BT controller mapping to support upcoming controller firmware update" am: 87700db4ef am: 7f1e92a654 am: b2cfc86e8b am: 37f8b552d3
am: 71b94722cb

Change-Id: If3d23854ba967939d61d095c0358b678ddcb68ac
2019-08-26 12:05:53 -07:00
Jared Henderson
7f1e92a654 Merge "Update Xbox BT controller mapping to support upcoming controller firmware update"
am: 87700db4ef

Change-Id: Ia43fd4b1458c8979da8d803083696e8dff26ae73
2019-08-23 03:15:53 -07:00
Jared Henderson
f829b5df5e Update Xbox BT controller mapping to support upcoming controller firmware update
The Xbox controller (product id 0x2fd) is going to have a new firmware update this fall that sends a different keycode (316/BUTTON_MODE) for the Xbox button.  The goal is to enable the Xbox button to make it to apps on all Android versions -- with our without a controller-specific key mapping file.

Unfortunately, the new Vendor_045e_Product_02fd.kl key mapping file that was added to Android Q maps the pre-firmware-update Xbox key code (172) to BUTTON_MODE, yet it makes no mention of key 316.  This results in apps getting a raw 316 scan code instead of a BUTTON_MODE KeyEvent when using a controller with the latest firmware on Android Q.

The fix is to add an additional key mapping for 316 that *also* maps to BUTTON_MODE.  With both mappings in place, both pre and post firmware-updated controllers will get the correct behavior for the Xbox button on Android Q.

Test: AFAIK, no CTS tests exist for Xbox controller key mappings; we'll need to add some at a later date.  I was unable to test this change because I'm unable to write to the system directory on any of my devices, but I know that mapping 316 to BUTTON_MODE will fix the issue.

Change-Id: I8600ea79a0aa8557267d6ca712e5d56680e7a98b
Signed-off-by: Jared Henderson <jaredh.microsoft@gmail.com>

Bug: 139372370
2019-08-22 21:18:57 +00:00
Siarhei Vishniakou
4fef274c01 Add keylayout for Xbox One USB controller
We are currently missing the key layout for the Xbox One USB controller
with the following meta information:
vendor 045e, product 02ea

This layout was copied from product 02d1.

Also fix the mappings of the middle buttons to generate "select - mode -
start", similar to what has already been done for the other xbox
controllers in ag/4836521 and ag/3162575

Bug: 132451971
Bug: 133514907
Bug: 139512030
Test: tested using custom app. CTS tests will be added later.

Change-Id: Ie18bce987b512211d3e91bd1f7334afe11d83cf8
Merged-In: Ie18bce987b512211d3e91bd1f7334afe11d83cf8
2019-08-19 13:21:15 -05:00
Siarhei Vishniakou
9d81ccc929 Keylayout for xbox controllers
Add layout for Xbox elite controller

Test: tested with a custom app
Bug: 132451971
Bug: 139512030
Change-Id: I1c600bc2c41db9d79d7a4e184ef41abe2b5f860e
Merged-In: I1c600bc2c41db9d79d7a4e184ef41abe2b5f860e
2019-08-19 13:18:05 -05:00
Siarhei Vishniakou
98498749fd Merge "Keylayout for xbox pdp controller" into qt-dev am: 927d44d9eb am: 9dec042f6a
am: f8020cc19b

Change-Id: I4104420c5ddd4943ed89f23a6f44822a58e7e997
2019-06-25 02:13:21 -07:00
Siarhei Vishniakou
75cf61f687 Keylayout for xbox pdp controller
Add layout for Xbox pdp controller

Test: tested with a custom app
Bug: 132451971
Change-Id: I35e0998e2643eae031141186637e5eb349334bcd
2019-06-24 14:41:51 -07:00
Siarhei Vishniakou
f178783e33 Merge "Keylayout for xbox controllers" into qt-dev am: 287b20ae0e am: f6e540e970
am: cb43b6a351

Change-Id: Ifb116b223e6ffd5b9224fc4bdb5593fe215bdaae
2019-06-24 13:19:00 -07:00
Siarhei Vishniakou
57a20b70c8 Keylayout for xbox controllers
Add layout for Xbox elite controller

Test: tested with a custom app
Bug: 132451971
Change-Id: I1c600bc2c41db9d79d7a4e184ef41abe2b5f860e
2019-06-24 11:30:01 -07:00
Siarhei Vishniakou
4055c79b56 Add mapping for KEYCODE_ASSIST
Linux has defined KEY_ASSISTANT, but it is not currently mapped in
Android by default. Add the missing mapping here.

Bug: None
Test: None
Change-Id: I85dfecf599ebb69dd2b9ac602b1fc425e13f93c4
2019-06-19 15:31:04 -07:00
TreeHugger Robot
6eca92dd43 Merge "Add key layout for Nintendo Switch controller" into qt-dev 2019-06-15 00:00:06 +00:00
Siarhei Vishniakou
94db68e031 Add key layout for Nintendo Switch controller
The controller for Nintendo Switch is currently missing a key layout,
and the resulting codes are incorrect. Provide the appropriate map here.

Also, update some button mappings for the Xbox 360 controller.

Bug: 135136477
Test: Tested using "gamepad tester". CTS test will be added in a future
release. Tested using custom app.

Change-Id: I1ffcabdcc11aa83316c483ea49cb10fc85f6264f
2019-06-14 11:45:21 -07:00
Siarhei Vishniakou
07749b72c6 Add keylayout for Xbox One USB controller
We are currently missing the key layout for the Xbox One USB controller
with the following meta information:
vendor 045e, product 02ea

This layout was copied from product 02d1.

Also fix the mappings of the middle buttons to generate "select - mode -
start", similar to what has already been done for the other xbox
controllers in ag/4836521 and ag/3162575

Bug: 132451971
Bug: 133514907

Test: tested using 'gamepadtester'. CTS tests will be added later.

Change-Id: Ie18bce987b512211d3e91bd1f7334afe11d83cf8
2019-06-11 11:12:21 -07:00
Kim Low
819e7528ee Merge "Added mapping files for DualShock3 and DualShock4" am: 85aadab7e4 am: d050a2edd6
am: 1f6af2e769

Change-Id: I239e8e9aff10e7472fb841261df7e23466202dd2
2018-09-19 18:05:08 -07:00
Kim Low
0a5109d955 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
2018-09-13 10:28:17 -07:00
Siarhei Vishniakou
7b0b609beb Add comments to Asus Gamepad button mappings
Currently, the circle button on odie (Asus Gamepad) is mapped to HOME.
But it is not clear which button is which just from looking at the key
layout file.
Add some annotations here.

Bug: 111431828
Bug: 110270125
Test: atest AsusGamepadTestCase (the test is currently in development)
Change-Id: I8d1317be7f403ceaf0c2d72d756623e3cd032559
2018-08-29 10:46:23 -07:00
Siarhei Vishniakou
0b607447b6 Fallback BUTTON_MODE to HOME
Currently, BUTTON_MODE falls back to MENU.
It is not clear which functionality relies on that. However, many
joysticks currently map their "branded" button, for example, the "XBOX"
key on the Xbox joystick, and "PS" key on the playstation joystick, to
the BUTTON_MODE. On other joysticks, the same button is mapped to
"HOME". So it would make sense to have this button to fall back to HOME
in order to make the behaviour consistent.

Also, remap the "XBOX" button on the Xbox controller to "BUTTON_MODE".
This would give apps the chance to intercept this key and actually use
it, instead of limiting it to the system.

Bug: 37115804
Bug: 77803694
Test: Made a test app to dump out joystick events in response to
dispatchKeyEvent. Then either returned true or false to ensure that the
fallback happens. If returning true, the app has handled the event, and
HOME is not dispatched. If returning false, the app does not care about
the event. Therefore, HOME is generated and the phone goes to home
screen (so the app gets closed).

Change-Id: I023620551f52d34638303db60f8a4ca37f06d4d8
Merged-In: I023620551f52d34638303db60f8a4ca37f06d4d8
2018-08-27 15:53:33 -07:00
Siarhei Vishniakou
bfb5b8b03e Remap PS key to BUTTON_MODE
In an earlier commit, ag/4071802, (Change-Id:
I33e922a2c52582f44d65f20024d7dca1f9d05a5e), this particular file was
overlooked.
Quick fix here to make everything consistent. We will add the other
variants of these devices in the future.

Test: partial cherry-pick from Sony CL on aosp
Bug: 79881694
Change-Id: I8ab46fde8650724464b1e799cd948682c56e5b52
Merged-In: I8ab46fde8650724464b1e799cd948682c56e5b52
2018-08-27 15:51:48 -07:00
Siarhei Vishniakou
da16f224b7 Fallback BUTTON_MODE to HOME
Currently, BUTTON_MODE falls back to MENU.
It is not clear which functionality relies on that. However, many
joysticks currently map their "branded" button, for example, the "XBOX"
key on the Xbox joystick, and "PS" key on the playstation joystick, to
the BUTTON_MODE. On other joysticks, the same button is mapped to
"HOME". So it would make sense to have this button to fall back to HOME
in order to make the behaviour consistent.

Also, remap the "XBOX" button on the Xbox controller to "BUTTON_MODE".
This would give apps the chance to intercept this key and actually use
it, instead of limiting it to the system.

Bug: 37115804
Bug: 77803694
Test: Made a test app to dump out joystick events in response to
dispatchKeyEvent. Then either returned true or false to ensure that the
fallback happens. If returning true, the app has handled the event, and
HOME is not dispatched. If returning false, the app does not care about
the event. Therefore, HOME is generated and the phone goes to home
screen (so the app gets closed).

Change-Id: I023620551f52d34638303db60f8a4ca37f06d4d8
2018-08-21 18:30:16 -07:00
Siarhei Vishniakou
bf2f882a9c Remap PS key to BUTTON_MODE
In an earlier commit, ag/4071802, (Change-Id:
I33e922a2c52582f44d65f20024d7dca1f9d05a5e), this particular file was
overlooked.
Quick fix here to make everything consistent. We will add the other
variants of these devices in the future.

Test: partial cherry-pick from Sony CL on aosp
Bug: 79881694
Change-Id: I8ab46fde8650724464b1e799cd948682c56e5b52
2018-07-17 16:37:29 +01:00
Siarhei Vishniakou
867968530e Remap PS key to BUTTON_MODE on DS4 joystick
Currently, the PS key on the DS4 joystick maps to HOME, which means that
this key will not be delivered to apps. However, such apps as Remote
Play require access to this key for proper operation.

Map it to BUTTON_MODE here to allow the apps to handle it. Also, map the
touchpad click to BUTTON_1, which is a generic gamepad button.

The mapping to HOME is not specified in Android. By the Linux
spec, it is more correct to generate BUTTON_MODE for this button (even
though it is drawn slighly above the two sticks in the spec, and it is
physically located more in-line or slightly below these).
The historical reason for this mapping was the fact that
the touchpad generated a click, which meant that touchpad click was more
aligned with the Linux spec. In addition, on some other controllers,
this button actually has a "house" drawn on it, which
would make it consistent with "HOME", and it is currently mapped to
HOME. On this (and several others) joystick, however, there is no such
drawing, and BUTTON_MODE is appropriate.

In Q, this will be addressed by changing the branded buttons on other
controllers to also generate "BUTTON_MODE", and then changing the
Generic fallback mapping for BUTTON_MODE to HOME.

Bug: 79881694
Test: connected DS4 joystick. Made a test app that overrides
dispatchKeyEvent and dumps out every event to the logcat. Then pressed
every button to ensure that the keys are generated as expected. In the
long run, this will be tested in the CTS test
input.cts.tests.AsusGamepadTestCase.
Change-Id: I33e922a2c52582f44d65f20024d7dca1f9d05a5e
2018-05-17 09:39:04 -07:00
Siarhei Vishniakou
ae911cb8ae Suppress key validation logs
If the validation of keylayouts / keycharmaps / keyconfigs succeeds, do
not log anything to reduce logspam. The "-q" argument was misplaced in
the original CL.

Bug: 35672363
Test: touch frameworks/base/data/keyboards/Vendor_045e_Product_028e.kl && m
Also, change the behaviour in tools/validatekeymaps/Main.cpp to always
ignore "-q", see that the logs come back.

Change-Id: I3cd2ef161942905c2d8ffce8fc93dd345868066d
2018-03-26 16:59:47 -07:00
Emilie Roberts
1ab70f3b37 Merge "Remove ESC key fallback mapping" 2018-02-07 22:03:38 +00:00