Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7395b0a2 authored by Aman Gupta's avatar Aman Gupta
Browse files

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: default avatarAman Gupta <aman@tmm1.net>
Change-Id: I26c63732c8533390de91460acec312fd27ad8866
parent e30b8249
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -345,10 +345,10 @@ key 377 TV
# key 395 "KEY_LIST"
# key 396 "KEY_MEMO"
key 397   CALENDAR
# key 398 "KEY_RED"
# key 399 "KEY_GREEN"
# key 400 "KEY_YELLOW"
# key 401 "KEY_BLUE"
key 398   PROG_RED
key 399   PROG_GREEN
key 400   PROG_YELLOW
key 401   PROG_BLUE
key 402   CHANNEL_UP
key 403   CHANNEL_DOWN
# key 404 "KEY_FIRST"