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
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
Android devices with a physical keyboard connected may not have a
way to execute the "Back Behaviour" without using a touchscreen
or pointer. This adds a ctrl-alt-backspace mapping to the
back behaviour, similar to TalkBalk.
Use cases include Pixel C, accessibility situations where
touchscreens are not convenient or feasible, or other phones/tablets
with a hardware keyboard attached and keyboard only interaction is
desired.
Previous to http://ag/3540362, ESC provided this functionality.
Bug: 71907807
Test: Manual testing on Marlin
Change-Id: I5015a17add26824a40e5eac1bced8e9ca7b98efa
The escape key has a fallback "back" behaviour. On ChromeOS
or tablets with bluetooth/attached keyboards, pressing the ESC
key can unexpectedly close applications. This removes the
fallback mapping so that ESC does nothing.
Bug: 71907807
Test: Manual testing on Marlin
Change-Id: I747f0bd743ec117e6ae47fae527600a3ab5690ba
Generic.kl is a special file that defines the default mappings for all
devices. There can only be one and it cannot change regardless of the
product area the device is in. This should *never* have been checked in,
especially not without someone on the input team looking at it.
Also, add support for the POUND and STAR keys, which is why it was
forked in the first place.
Test: N/A
Change-Id: I894cbefe20fc77d827dc500daa3a380f252eb8b6
When connected over bluetooth, the device
registers with vendorId=045e, productId=02e0.
Add the keylayout for this here.
Bug: 37115804
Bug: 37115820
Test: connect the controller, use
'getevent' to keep track of the generated events
Change-Id: Ia4b80e54a547e5d6716ff0f83b068e4cc87dfbb0
This file is a copy of Vendor_054c_Product_09cc.kl,
which is a v2 version of the same joystick.
They have the same layout.
Bug: 36693940
Test: mapped with getevent, works OK
Change-Id: I439caf97f2c51d643753e1fc8d5dd0213131927a
Adds a quiet option to validatekeyamps and uses it for the platform
build.
Bug: 35672363
Test: m -j12; see no messages about succesful keymap validation
Change-Id: I902a9f5813ae612ee48ee3df210ae8fa2988c4b3
A following change will update the InputDriver-JNI
to take advantage of the new keys.
Bug: 64083153
Test: Building source and testing with InputDriver
Change-Id: I94c9d59ecf7f7278f2ec61c68c4eb80aa65f142c
The SLEEP keycode is used by Android Wear to indicate a
"palming" gesture (covering the screen with one's hand).
The STEM_* buttons are used for side buttons on Wear.
The keycode values were added to the emulator in
http://r.android.com/330771
Bug: 19996432
Change-Id: Ib90c3b27209b0059ebc1c2cce46cc732a677d557
Add characters to the keyboard mapping to allow them
to be entered into the AVD from the developer's PC
keyboard.
This mapping supports the non-ASCII keys that appear
on the "US International" keyboard. Most of the Latin-1
characters (but not all) appear on this keyboard.
This change does not remove support for any keys.
b.android.com/200042
Change-Id: I65d54eb36183382b171c388b26848941eb0ff8d9
(cherry picked from commit dac57966a9)
Add the App Switch (Recents) key.
Add media control keys.
These are needed to support Emulator UI
buttons for these functions.
Change-Id: I3e9479bb49e21400f7bfd1435c50886038bbe0ff
Add the App Switch (Recents) key.
Add media control keys.
These are needed to support Emulator UI
buttons for these functions.
Change-Id: I5d5d25a77625bfd831cf7b31c126fd342efc6c5b
Turns out they produce an SNES controller with the same VID/PID as
their NES controller. Just remap both at once.
Change-Id: Iba94fdd69fd846f99ca1b3205de9069989635c73
Now that we have "replace" key event support in the framework we can map
ESC as AltR+1.
Bug: 24504154
Change-Id: Ief8a50098fc5484171011f268ffc22a309cbba62
This adds special layout and character map for Pixel C keyboard (Dragon
base) that lacks several keys, such as ESC, bracket keys, tilda and
backslash, which are mapped various Alt-R combinations.
Currently we map:
[Shift]+AltR+2 -> ~ and `
[Shift]+AltR+O -> { and [
[Shift]+AltR+P -> } and ]
[Shift]+AltR+= -> | and \
ESC mapping requires additional changes.
Bug: 24504154
Change-Id: I24fc68efe7e2ddebee26a273838443b441491857
With this we won't try to run validatekeymaps.exe when you run
"USE_MINGW=1 mma".
Also it seems it's too much to run the validation for every mma/mmma.
Validation in just platform build (droidcore) should be enough.
Change-Id: I22431009d4c2dd765bbd14b24eb5c8729b53d6c1
Looks like Broadcom re-used the Rhodi PID since we never shipped.
Remove the keylayout so we don't accidentally use it for other
devices.
Bug: 17504946
Change-Id: Ia11ad40f8ba7d49f82e7f68d881cf7c9bfafcb37
This is to simplify Project Watson requirements and enable USB Audio
to easily implement similar functionality to the Watson headsets.
Change-Id: Idd0a0cd6c6ba4a977090fb338d9241046f0380e6
This consolidates all of the information that was in the native
KeyEvent and the KeyLayout files into the managed KeyEvent class.
It also moves the definition for all of the key names to the native
side, rather than having them in both places.
Change-Id: I172e3b554e7eb52c79ae2ec406ef4332e8b25ffa