From 13abb71fc3add7717ff7284a5b14bd19c45aa3ed Mon Sep 17 00:00:00 2001 From: Bakka Uday Kiran Date: Wed, 25 Jan 2023 17:38:03 +0530 Subject: [PATCH] [M108 Migration][Product TV] Support TV specific keys 1. Support keys on TV remote controller, like the media control keys: play, pause, stop. Mapping these keys from EFL key names to VKEYs. 2. Enable DomCode and DomKey conversion on standard profiles. Reference: https://review.tizen.org/gerrit/c/277836 https://review.tizen.org/gerrit/c/279232 https://review.tizen.org/gerrit/c/279340 Change-Id: Iefb7f9c30a5bdc623e77adf2034c3c1c8160cb6a Signed-off-by: Bakka Uday Kiran --- .../blink/renderer/platform/keyboard_codes.h | 357 +++++++++++++++++++++ .../renderer/platform/windows_keyboard_codes.h | 154 +++++++++ .../ui/ozone/platform/efl/efl_keycode_map.h | 99 ++++++ ui/events/event.cc | 3 + ui/events/event_utils.h | 5 + ui/events/events_default.cc | 8 + ui/events/keycodes/dom/dom_key_data.inc | 127 ++++++++ ui/events/keycodes/keyboard_codes_posix.h | 159 +++++++++ 8 files changed, 912 insertions(+) diff --git a/third_party/blink/renderer/platform/keyboard_codes.h b/third_party/blink/renderer/platform/keyboard_codes.h index b183f16..b5c7d2f 100644 --- a/third_party/blink/renderer/platform/keyboard_codes.h +++ b/third_party/blink/renderer/platform/keyboard_codes.h @@ -564,6 +564,363 @@ enum { // VKEY_OEM_CLEAR (FE) Clear key VKEY_OEM_CLEAR = VK_OEM_CLEAR, +#if BUILDFLAG(IS_TIZEN_TV) + // VKEY_RED (193) Red key on tv remote. + VKEY_RED = VK_RED, + + // VKEY_GREEN (194) Green key on tv remote. + VKEY_GREEN = VK_GREEN, + + // VKEY_YELLOW (195) Yellow key on tv remote. + VKEY_YELLOW = VK_YELLOW, + + // VKEY_BLUE (196) Blue key on tv remote. + VKEY_BLUE = VK_BLUE, + + // VKEY_GREY (197) Grey key on tv remote. + VKEY_GREY = VK_GREY, + + // VKEY_BROWN (198) Brown key on tv remote. + VKEY_BROWN = VK_BROWN, + + // VKEY_DTV_RETURN (2719) Return key on tv remote. + VKEY_DTV_RETURN = VK_DTV_RETURN, + + // VKEY_DTV_HOME (2757) + VKEY_DTV_HOME = VK_DTV_HOME, + + // VKEY_SOURCE (2758) + VKEY_SOURCE = VK_SOURCE, + + // VKEY_CH_LIST (2759) + VKEY_CH_LIST = VK_CH_LIST, + + // VKEY_POWER (199) + VKEY_POWER = VK_POWER, + + // VKEY_DTV_MENU (2795) + VKEY_DTV_MENU = VK_DTV_MENU, + + // VKEY_GUIDE (1CA) + VKEY_GUIDE = VK_GUIDE, + + // VKEY_ADDDEL (1AD) + VKEY_ADDDEL = VK_ADDDEL, + + // VKEY_AUTO_PROGRAM (1B9) + VKEY_AUTO_PROGRAM = VK_AUTO_PROGRAM, + + // VKEY_FAVCH (1B1) + VKEY_FAVCH = VK_FAVCH, + + // VKEY_BT_DUALVIEW (1BB) + VKEY_BT_DUALVIEW = VK_BT_DUALVIEW, + + // VKEY_SUB_TITLE (1CC) + VKEY_SUB_TITLE = VK_SUB_TITLE, + + // VKEY_REWIND (19c) Rewind key on tv remote. + VKEY_REWIND = VK_REWIND, + + // VKEY_STOP (19D) + VKEY_STOP = VK_STOP, + + // VKEY_RECORD (1A0) + VKEY_RECORD = VK_RECORD, + + // VKEY_FAST_FWD (1a1) Fast forward key on tv remote. + VKEY_FAST_FWD = VK_FAST_FWD, + + // VKEY_CHANNEL_UP (1ab) P+ key on tv remote. + VKEY_CHANNEL_UP = VK_CHANNEL_UP, + + // VKEY_CHANNEL_DOWN (1ac) P- key on tv remote. + VKEY_CHANNEL_DOWN = VK_CHANNEL_DOWN, + + // VKEY_INFO (1C9) + VKEY_INFO = VK_INFO, + + // VKEY_REPEAT (2799) + VKEY_REPEAT = VK_REPEAT, + + // VKEY_ASPECT (279C) + VKEY_ASPECT = VK_ASPECT, + + // VKEY_PMODE (279D) + VKEY_PMODE = VK_PMODE, + + // VKEY_HDMI (279F) + VKEY_HDMI = VK_HDMI, + + // VKEY_USBHUB_SWITCH (27A0) + VKEY_USBHUB_SWITCH = VK_USBHUB_SWITCH, + + // VKEY_EMANUAL (27A2) + VKEY_EMANUAL = VK_EMANUAL, + + // VKEY_TOOLS (2797) + VKEY_TOOLS = VK_TOOLS, + + // VKEY_MORE (27A4) + VKEY_MORE = VK_MORE, + + // VKEY_FACTORY (27A5) + VKEY_FACTORY = VK_FACTORY, + + // VKEY_TV (27A9) + VKEY_TV = VK_TV, + + // VKEY_DTV (27AA) + VKEY_DTV = VK_DTV, + + // VKEY_STB_POWER (27AB) + VKEY_STB_POWER = VK_STB_POWER, + + // VKEY_PANEL_DOWN (27AD) + VKEY_PANEL_DOWN = VK_PANEL_DOWN, + + // VKEY_CONVERGENCE (27AE) + VKEY_CONVERGENCE = VK_CONVERGENCE, + + // VKEY_BT_COLOR_MECHA (27AF) + VKEY_BT_COLOR_MECHA = VK_BT_COLOR_MECHA, + + // VKEY_STILL_PICTURE (27B0) + VKEY_STILL_PICTURE = VK_STILL_PICTURE, + + // VKEY_BT_TRIGGER (27B1) + VKEY_BT_TRIGGER = VK_BT_TRIGGER, + + // VKEY_BT_HOTVK (27B2) + VKEY_BT_HOTVK = VK_BT_HOTVK, + + // VKEY_BT_DEVICE (27B3) + VKEY_BT_DEVICE = VK_BT_DEVICE, + + // VKEY_BT_CONTENTSBAR (27B4) + VKEY_BT_CONTENTSBAR = VK_BT_CONTENTSBAR, + + // VKEY_GAME (27B5) + VKEY_GAME = VK_GAME, + + // VKEY_PIP_CHUP (27B7) + VKEY_PIP_CHUP = VK_PIP_CHUP, + + // VKEY_PIP_CHDOWN (27B8) + VKEY_PIP_CHDOWN = VK_PIP_CHDOWN, + + // VKEY_ANTENA (27B9) + VKEY_ANTENA = VK_ANTENA, + + // VKEY_PANEL_ENTER (27BB) + VKEY_PANEL_ENTER = VK_PANEL_ENTER, + + // VKEY_LINK (27BC) + VKEY_LINK = VK_LINK, + + // VKEY_PANEL_UP (27BD) + VKEY_PANEL_UP = VK_PANEL_UP, + + // VKEY_ANGLE (27C1) + VKEY_ANGLE = VK_ANGLE, + + // VKEY_WHEEL_LEFT (27C2) + VKEY_WHEEL_LEFT = VK_WHEEL_LEFT, + + // VKEY_WHEEL_RIGHT (27C3) + VKEY_WHEEL_RIGHT = VK_WHEEL_RIGHT, + + // VKEY_CONTENTS (2757) + VKEY_CONTENTS = VK_CONTENTS, + + // VKEY_PANEL_EXIT (27C5) + VKEY_PANEL_EXIT = VK_PANEL_EXIT, + + // VKEY_EXIT (27C6) + VKEY_EXIT = VK_EXIT, + + // VKEY_MBR_TV (27C7) + VKEY_MBR_TV = VK_MBR_TV, + + // VKEY_MBR_STB_GUIDE (27C8) + VKEY_MBR_STB_GUIDE = VK_MBR_STB_GUIDE, + + // VKEY_MBR_BD_POPUP (27C9) + VKEY_MBR_BD_POPUP = VK_MBR_BD_POPUP, + + // VKEY_MBR_BDDVD_POWER (27CA) + VKEY_MBR_BDDVD_POWER = VK_MBR_BDDVD_POWER, + + // VKEY_MBR_SETUP_FAILURE (27CB) + VKEY_MBR_SETUP_FAILURE = VK_MBR_SETUP_FAILURE, + + // VKEY_MBR_SETUP (27CC) + VKEY_MBR_SETUP = VK_MBR_SETUP, + + // VKEY_MBR_WATCH_TV (27CD) + VKEY_MBR_WATCH_TV = VK_MBR_WATCH_TV, + + // VKEY_PRECH (27CE) + VKEY_PRECH = VK_PRECH, + + // VKEY_RECOMMEND_SEARCH_TOGGLE (27D0) + VKEY_RECOMMEND_SEARCH_TOGGLE = VK_RECOMMEND_SEARCH_TOGGLE, + + // VKEY_BT_NUMBER (27D1) + VKEY_BT_NUMBER = VK_BT_NUMBER, + + // VKEY_16_9 (27D2) + VKEY_16_9 = VK_16_9, + + // VKEY_MTS (27D3) + VKEY_MTS = VK_MTS, + + // VKEY_SMODE (27D5) + VKEY_SMODE = VK_SMODE, + + // VKEY_3SPEED (27D6) + VKEY_3SPEED = VK_3SPEED, + + // VKEY_3D (27D7) + VKEY_3D = VK_3D, + + // VKEY_TTX_MIX (27D8) + VKEY_TTX_MIX = VK_TTX_MIX, + + // VKEY_SRSTSXT (27D9) + VKEY_SRSTSXT = VK_SRSTSXT, + + // VKEY_WIFI_PAIRING (27DA) + VKEY_WIFI_PAIRING = VK_WIFI_PAIRING, + + // VKEY_BT_SAMSUNG_APPS (27E3) + VKEY_BT_SAMSUNG_APPS = VK_BT_SAMSUNG_APPS, + + // VKEY_W_LINK (2757) + VKEY_W_LINK = VK_W_LINK, + + // VKEY_ESAVING (27E5) + VKEY_ESAVING = VK_ESAVING, + + // VKEY_TV_SNS (27E9) + VKEY_TV_SNS = VK_TV_SNS, + + // VKEY_DVR (27EA) + VKEY_DVR = VK_DVR, + + // VKEY_APP_LIST (27EB) + VKEY_APP_LIST = VK_APP_LIST, + + // VKEY_CAMERA (27EC) + VKEY_CAMERA = VK_CAMERA, + + // VKEY_CAPTION (27ED) + VKEY_CAPTION = VK_CAPTION, + + // VKEY_ZOOM1 (27EE) + VKEY_ZOOM1 = VK_ZOOM1, + + // VKEY_PANEL_PLUS (27EF) + VKEY_PANEL_PLUS = VK_PANEL_PLUS, + + // VKEY_BT_VOICE (27F0) + VKEY_BT_VOICE = VK_BT_VOICE, + + // VKEY_SEARCH (27F1) + VKEY_SEARCH = VK_SEARCH, + + // VKEY_PANEL_MINUS (27F3) + VKEY_PANEL_MINUS = VK_PANEL_MINUS, + + // VKEY_SOCCER_MODE (27F4) + VKEY_SOCCER_MODE = VK_SOCCER_MODE, + + // VKEY_FUNCTIONS_AMAZON (27F5) + VKEY_FUNCTIONS_AMAZON = VK_FUNCTIONS_AMAZON, + + // VKEY_AD (27F6) + VKEY_AD = VK_AD, + + // VKEY_REWIND_ (27F8) + VKEY_REWIND_ = VK_REWIND_, + + // VKEY_FF_ (27F9) + VKEY_FF_ = VK_FF_, + + // VKEY_FUNCTIONS_NETFLIX (27FA) + VKEY_FUNCTIONS_NETFLIX = VK_FUNCTIONS_NETFLIX, + + // VKEY_PIP_ONOFF (27FB) + VKEY_PIP_ONOFF = VK_PIP_ONOFF, + + // VKEY_MBR_WATCH_MOVIE (27FC) + VKEY_MBR_WATCH_MOVIE = VK_MBR_WATCH_MOVIE, + + // VKEY_MBR_STBBD_MENU (27FD) + VKEY_MBR_STBBD_MENU = VK_MBR_STBBD_MENU, + + // VKEY_MBR_SETUP_CONFIRM (27FE) + VKEY_MBR_SETUP_CONFIRM = VK_MBR_SETUP_CONFIRM, + + // VKEY_FAMILYHUB (27FF) + VKEY_FAMILYHUB = VK_FAMILYHUB, + + // VKEY_ANYVIEW (2800) + VKEY_ANYVIEW = VK_ANYVIEW, + + // VKEY_PAGE_LEFT (2809) + VKEY_PAGE_LEFT = VK_PAGE_LEFT, + + // VKEY_PAGE_RIGHT (280A) + VKEY_PAGE_RIGHT = VK_PAGE_RIGHT, + + // VKEY_SOFT_WAKE_UP (2804) + VKEY_SOFT_WAKE_UP = VK_SOFT_WAKE_UP, + + // VKEY_PANEL_ON (280B) + VKEY_PANEL_ON = VK_PANEL_ON, + + // VKEY_PLAY_BACK (280C) + VKEY_PLAY_BACK = VK_PLAY_BACK, + + // VKEY_EXTRA (280D) + VKEY_EXTRA = VK_EXTRA, + + // VKEY_COLOR (2891) + VKEY_COLOR = VK_COLOR, + + // VKEY_ALARM (28B2) + VKEY_ALARM = VK_ALARM, + + // VKEY_HOTEL_MOVIES (28FE) + VKEY_HOTEL_MOVIES = VK_HOTEL_MOVIES, + + // VKEY_HOTEL_LANGUAGE (28FF) + VKEY_HOTEL_LANGUAGE = VK_HOTEL_LANGUAGE, + + // VKEY_HOTEL_TV_GUIDE (2900) + VKEY_HOTEL_TV_GUIDE = VK_HOTEL_TV_GUIDE, + + // VKEY_HOTEL_APPS_GUEST (2901) + VKEY_HOTEL_APPS_GUEST = VK_HOTEL_APPS_GUEST, + + // VKEY_NOISE_REDUCTION (2917) + VKEY_NOISE_REDUCTION = VK_NOISE_REDUCTION, + + // VKEY_NR (2919) + VKEY_NR = VK_NR, + + // VKEY_HOTEL_ROOM_CONTROL (291A) + VKEY_HOTEL_ROOM_CONTROL = VK_HOTEL_ROOM_CONTROL, + + // VKEY_IME_DONE (FF60) Done key on TV IME panel + VKEY_IME_DONE = VK_IME_DONE, + + // VKEY_IME_CANCEL (FF69) Cancel key on TV IME panel + VKEY_IME_CANCEL = VK_IME_CANCEL, + +#endif + VKEY_UNKNOWN = 0 }; diff --git a/third_party/blink/renderer/platform/windows_keyboard_codes.h b/third_party/blink/renderer/platform/windows_keyboard_codes.h index fea3fa6..dcfd4d3 100644 --- a/third_party/blink/renderer/platform/windows_keyboard_codes.h +++ b/third_party/blink/renderer/platform/windows_keyboard_codes.h @@ -142,9 +142,11 @@ #ifndef VK_DELETE #define VK_DELETE 0x2E // DEL key #endif +#if !BUILDFLAG(IS_TIZEN_TV) #ifndef VK_HELP #define VK_HELP 0x2F // HELP key #endif +#endif #define VK_0 0x30 #define VK_1 0x31 @@ -334,6 +336,158 @@ #define VK_OEM_CLEAR 0xFE // Clear key +#if BUILDFLAG(IS_TIZEN_TV) +// TV keys on remote controller. +// Virtual keys defined in http://www.atsc.org/cms/standards/a100/a_100_2.pdf +// Same volume virtual keys are already defined in Windows virtual keys but we +// overlap with the keys defined in DTV. +#undef VK_PLAY +#undef VK_VOLUME_UP +#undef VK_VOLUME_DOWN +#undef VK_VOLUME_MUTE +#undef VK_SLEEP +#undef VK_CLEAR + +#define VK_RED 0x193 +#define VK_GREEN 0x194 +#define VK_YELLOW 0x195 +#define VK_BLUE 0x196 +#define VK_GREY 0x197 +#define VK_BROWN 0x198 +#define VK_DTV_RETURN 0x2719 +#define VK_DTV_HOME 0x2757 +#define VK_SOURCE 0x2758 +#define VK_CH_LIST 0x2759 +#define VK_POWER 0x199 +#define VK_DTV_MENU 0x2795 +#define VK_GUIDE 0x1CA +#define VK_ADDDEL 0x1AD +#define VK_AUTO_PROGRAM 0x1B9 +#define VK_FAVCH 0x1B1 +#define VK_BT_DUALVIEW 0x1BB +#define VK_SUB_TITLE 0x1CC +#define VK_REWIND 0x19C +#define VK_STOP 0x19D +#define VK_PLAY 0x19F +#define VK_RECORD 0x1A0 +#define VK_FAST_FWD 0x1A1 +#define VK_CHANNEL_UP 0x1AB +#define VK_CHANNEL_DOWN 0x1AC +#define VK_VOLUME_UP 0x1BF +#define VK_VOLUME_DOWN 0x1C0 +#define VK_VOLUME_MUTE 0x1C1 +#define VK_INFO 0x1C9 +#define VK_REPEAT 0x2799 +#define VK_ASPECT 0x279C +#define VK_PMODE 0x279D +#define VK_HDMI 0x279F +#define VK_USBHUB_SWITCH 0x27A0 +#define VK_EMANUAL 0x27A2 +#define VK_TOOLS 0x2797 +#define VK_MORE 0x27A4 +#define VK_FACTORY 0x27A5 +#define VK_SLEEP 0x27A6 +#define VK_TV 0x27A9 +#define VK_DTV 0x27AA +#define VK_STB_POWER 0x27AB +#define VK_PANEL_DOWN 0x27AD +#define VK_CONVERGENCE 0x27AE +#define VK_BT_COLOR_MECHA 0x27AF +#define VK_STILL_PICTURE 0x27B0 +#define VK_BT_TRIGGER 0x27B1 +#define VK_BT_HOTVK 0x27B2 +#define VK_BT_DEVICE 0x27B3 +#define VK_BT_CONTENTSBAR 0x27B4 +#define VK_GAME 0x27B5 +#define VK_PIP_CHUP 0x27B7 +#define VK_PIP_CHDOWN 0x27B8 +#define VK_ANTENA 0x27B9 +#define VK_PANEL_ENTER 0x27BB +#define VK_LINK 0x27BC +#define VK_PANEL_UP 0x27BD + +#define VK_ANGLE 0x27C1 +#define VK_WHEEL_LEFT 0x27C2 +#define VK_WHEEL_RIGHT 0x27C3 +#define VK_CONTENTS 0x2757 +#define VK_PANEL_EXIT 0x27C5 +#define VK_EXIT 0x27C6 + +#define VK_MBR_TV 0x27C7 +#define VK_MBR_STB_GUIDE 0x27C8 +#define VK_MBR_BD_POPUP 0x27C9 +#define VK_MBR_BDDVD_POWER 0x27CA +#define VK_MBR_SETUP_FAILURE 0x27CB +#define VK_MBR_SETUP 0x27CC +#define VK_MBR_WATCH_TV 0x27CD + +#define VK_PRECH 0x27CE +#define VK_RECOMMEND_SEARCH_TOGGLE 0x27D0 +#define VK_BT_NUMBER 0x27D1 +#define VK_16_9 0x27D2 +#define VK_MTS 0x27D3 +#define VK_SMODE 0x27D5 +#define VK_3SPEED 0x27D6 +#define VK_3D 0x27D7 +#define VK_TTX_MIX 0x27D8 +#define VK_SRSTSXT 0x27D9 +#define VK_WIFI_PAIRING 0x27DA +#define VK_BT_SAMSUNG_APPS 0x27E3 +#define VK_W_LINK 0x2757 +#define VK_ESAVING 0x27E5 +#define VK_CLEAR 0x27E6 +#define VK_TV_SNS 0x27E9 +#define VK_DVR 0x27EA +#define VK_APP_LIST 0x27EB +#define VK_CAMERA 0x27EC +#define VK_CAPTION 0x27ED +#define VK_ZOOM1 0x27EE +#define VK_PANEL_PLUS 0x27EF +#define VK_BT_VOICE 0x27F0 +#define VK_SEARCH 0x27F1 +#define VK_PANEL_MINUS 0x27F3 +#define VK_SOCCER_MODE 0x27F4 +#define VK_FUNCTIONS_AMAZON 0x27F5 +#define VK_AD 0x27F6 +#define VK_REWIND_ 0x27F8 +#define VK_FF_ 0x27F9 +#define VK_FUNCTIONS_NETFLIX 0x27FA +#define VK_PIP_ONOFF 0x27FB +#define VK_MBR_WATCH_MOVIE 0x27FC +#define VK_MBR_STBBD_MENU 0x27FD +#define VK_MBR_SETUP_CONFIRM 0x27FE +#define VK_FAMILYHUB 0x27FF +#define VK_ANYVIEW 0x2800 +#define VK_PAGE_LEFT 0x2809 +#define VK_PAGE_RIGHT 0x280A + +#define VK_SOFT_WAKE_UP 0x2804 +#define VK_PANEL_ON 0x280B +#define VK_PLAY_BACK 0x280C +#define VK_EXTRA 0x280D +#define VK_COLOR 0x2891 + +#define VK_ALARM 0x28B2 +#define VK_HOTEL_MOVIES 0x28FE +#define VK_HOTEL_LANGUAGE 0x28FF +#define VK_HOTEL_TV_GUIDE 0x2900 +#define VK_HOTEL_APPS_GUEST 0x2901 +#define VK_NOISE_REDUCTION 0x2917 +#define VK_HELP 0x2918 +#define VK_NR 0x2919 +#define VK_HOTEL_ROOM_CONTROL 0x291A + +#define VK_IME_DONE \ + 0xFF60 // keyname of IME Done button is Select. but Select(0xFF60) is only + // Tizen TV IME keyname defined by ISF, there is no X Server keycode. + // 0xFF60 is ISF keycode. +#define VK_IME_CANCEL \ + 0xFF69 // keyname of IME Cancel button is Cancel. but Select(0xFF69) is only + // Tizen TV IME keyname defined by ISF, there is no X Server keycode. + // 0xFF69 is ISF keycode. + +#endif // #if BUILDFLAG(IS_TIZEN_TV) + #endif // VK_UNKNOWN #endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_WINDOWS_KEYBOARD_CODES_H_ diff --git a/tizen_src/chromium_impl/ui/ozone/platform/efl/efl_keycode_map.h b/tizen_src/chromium_impl/ui/ozone/platform/efl/efl_keycode_map.h index a83ceac..4c3e9ef 100644 --- a/tizen_src/chromium_impl/ui/ozone/platform/efl/efl_keycode_map.h +++ b/tizen_src/chromium_impl/ui/ozone/platform/efl/efl_keycode_map.h @@ -111,6 +111,105 @@ static ui::KeyboardCode UIKeyCodeFromEflKey(const char* key) { {"XF86KbdBrightnessDown", ui::VKEY_KBD_BRIGHTNESS_DOWN}, {"XF86KbdBrightnessUp", ui::VKEY_KBD_BRIGHTNESS_UP}, +#if BUILDFLAG(IS_TIZEN_TV) + {"XF86Back", ui::VKEY_DTV_RETURN}, + {"XF86RaiseChannel", ui::VKEY_CHANNEL_UP}, + {"XF86LowerChannel", ui::VKEY_CHANNEL_DOWN}, + {"XF86AudioRewind", ui::VKEY_REWIND}, + {"XF86AudioPause", ui::VKEY_PAUSE}, + {"XF86AudioNext", ui::VKEY_FAST_FWD}, + {"XF86AudioRecord", ui::VKEY_RECORD}, {"XF86AudioPlay", ui::VKEY_PLAY}, + {"XF86AudioStop", ui::VKEY_STOP}, {"XF86Red", ui::VKEY_RED}, + {"XF86Green", ui::VKEY_GREEN}, {"XF86Yellow", ui::VKEY_YELLOW}, + {"XF86Blue", ui::VKEY_BLUE}, {"XF86Grey", ui::VKEY_GREY}, + {"XF86Brown", ui::VKEY_BROWN}, {"XF86Info", ui::VKEY_INFO}, + {"XF86Home", ui::VKEY_DTV_HOME}, {"XF86Display", ui::VKEY_SOURCE}, + {"XF86ChannelList", ui::VKEY_CH_LIST}, + {"XF86MBRRepeat", ui::VKEY_REPEAT}, + {"XF86PictureSize", ui::VKEY_ASPECT}, + {"XF86PictureMode", ui::VKEY_PMODE}, {"XF86Hdmi", ui::VKEY_HDMI}, + {"XF86UsbHub", ui::VKEY_USBHUB_SWITCH}, + {"XF86EManual", ui::VKEY_EMANUAL}, {"XF86SimpleMenu", ui::VKEY_TOOLS}, + {"XF86More", ui::VKEY_MORE}, {"XF86FactoryMode", ui::VKEY_FACTORY}, + {"XF86Sleep", ui::VKEY_SLEEP}, {"XF86TV", ui::VKEY_TV}, + {"XF86DTV", ui::VKEY_DTV}, {"XF86STBPower", ui::VKEY_STB_POWER}, + {"XF86PanelDown", ui::VKEY_PANEL_DOWN}, + {"XF86WWW", ui::VKEY_CONVERGENCE}, + {"XF86BTColorMecha", ui::VKEY_BT_COLOR_MECHA}, + {"XF86StillPicture", ui::VKEY_STILL_PICTURE}, + {"XF86BTPairing", ui::VKEY_BT_TRIGGER}, + {"XF86BTHotkey", ui::VKEY_BT_HOTVK}, + {"XF86BTDevice", ui::VKEY_BT_DEVICE}, + {"XF86BTContentsBar", ui::VKEY_BT_CONTENTSBAR}, + {"XF86Game", ui::VKEY_GAME}, {"XF86PIPChannelUp", ui::VKEY_PIP_CHUP}, + {"XF86PIPChannelDown", ui::VKEY_PIP_CHDOWN}, + {"XF86Antena", ui::VKEY_ANTENA}, + {"XF86PanelEnter", ui::VKEY_PANEL_ENTER}, + {"XF86MBRLink", ui::VKEY_LINK}, {"XF86PanelUp", ui::VKEY_PANEL_UP}, + {"XF86Game3D", ui::VKEY_ANGLE}, + {"XF86WheelLeftKey", ui::VKEY_WHEEL_LEFT}, + {"XF86WheelRightKey", ui::VKEY_WHEEL_RIGHT}, + {"XF86PanelExit", ui::VKEY_PANEL_EXIT}, {"XF86Exit", ui::VKEY_EXIT}, + {"XF86MBRTV", ui::VKEY_MBR_TV}, + {"XF86MBRSTBGuide", ui::VKEY_MBR_STB_GUIDE}, + {"XF86MBRBDPopup", ui::VKEY_MBR_BD_POPUP}, + {"XF86MBRBDDVDPower", ui::VKEY_MBR_BDDVD_POWER}, + {"XF86MBRSetupFailure", ui::VKEY_MBR_SETUP_FAILURE}, + {"XF86MBRSetup", ui::VKEY_MBR_SETUP}, + {"XF86MBRWatchTV", ui::VKEY_MBR_WATCH_TV}, + {"XF86PreviousChannel", ui::VKEY_PRECH}, + {"XF86Recommend", ui::VKEY_RECOMMEND_SEARCH_TOGGLE}, + {"XF86NumberPad", ui::VKEY_BT_NUMBER}, + {"XF86AspectRatio169", ui::VKEY_16_9}, {"XF86MTS", ui::VKEY_MTS}, + {"XF86SoundMode", ui::VKEY_SMODE}, {"XF863XSpeed", ui::VKEY_3SPEED}, + {"XF863D", ui::VKEY_3D}, {"XF86TTXMIX", ui::VKEY_TTX_MIX}, + {"XF86SRSSXT", ui::VKEY_SRSTSXT}, + {"XF86WIFIPairing", ui::VKEY_WIFI_PAIRING}, + {"XF86BTApps", ui::VKEY_BT_SAMSUNG_APPS}, + {"XF86EnergySaving", ui::VKEY_ESAVING}, + {"XF86MBRClear", ui::VKEY_CLEAR}, {"XF86TVSNS", ui::VKEY_TV_SNS}, + {"XF86DVR", ui::VKEY_DVR}, {"XF86Apps", ui::VKEY_APP_LIST}, + {"XF86Camera", ui::VKEY_CAMERA}, {"XF86Caption", ui::VKEY_CAPTION}, + {"XF86ZoomIn", ui::VKEY_ZOOM1}, {"XF86PanelPlus", ui::VKEY_PANEL_PLUS}, + {"XF86BTVoice", ui::VKEY_BT_VOICE}, {"XF86Search", ui::VKEY_SEARCH}, + {"XF86PanelMinus", ui::VKEY_PANEL_MINUS}, + {"XF86SoccerMode", ui::VKEY_SOCCER_MODE}, + {"XF86Amazon", ui::VKEY_FUNCTIONS_AMAZON}, + {"XF86AudioDescription", ui::VKEY_AD}, + {"XF86PreviousChapter", ui::VKEY_REWIND_}, + {"XF86NextChapter", ui::VKEY_FF_}, + {"XF86Netflix", ui::VKEY_FUNCTIONS_NETFLIX}, + {"XF86PIP", ui::VKEY_PIP_ONOFF}, + {"XF86MBRWatchMovie", ui::VKEY_MBR_WATCH_MOVIE}, + {"XF86MBRMenu", ui::VKEY_MBR_STBBD_MENU}, + {"XF86MBRConfirm", ui::VKEY_MBR_SETUP_CONFIRM}, + {"XF86FamilyHub", ui::VKEY_FAMILYHUB}, + {"XF86HDMICEC", ui::VKEY_ANYVIEW}, {"XF86LeftPage", ui::VKEY_PAGE_LEFT}, + {"XF86RightPage", ui::VKEY_PAGE_RIGHT}, + {"XF86PowerOff", ui::VKEY_POWER}, {"XF86SysMenu", ui::VKEY_DTV_MENU}, + {"XF86ChannelGuide", ui::VKEY_GUIDE}, + {"XF86ChannelAddDel", ui::VKEY_ADDDEL}, + {"XF86ChannelAutoTune", ui::VKEY_AUTO_PROGRAM}, + {"XF86FavoriteChannel", ui::VKEY_FAVCH}, + {"XF86DualView", ui::VKEY_BT_DUALVIEW}, + {"XF86Subtitle", ui::VKEY_SUB_TITLE}, + {"XF86SoftWakeup", ui::VKEY_SOFT_WAKE_UP}, + {"XF86PlayBack", ui::VKEY_PLAY_BACK}, {"XF86ExtraApp", ui::VKEY_EXTRA}, + {"XF86Color", ui::VKEY_COLOR}, + + {"XF86NoiseReduction", ui::VKEY_NOISE_REDUCTION}, + {"XF86Help", ui::VKEY_HELP}, + {"XF86HotelAppsGuest", ui::VKEY_HOTEL_APPS_GUEST}, + {"XF86HotelMovies", ui::VKEY_HOTEL_MOVIES}, + {"XF86HotelLanguage", ui::VKEY_HOTEL_LANGUAGE}, + {"XF86HotelTVGuide", ui::VKEY_HOTEL_TV_GUIDE}, {"XF86NR", ui::VKEY_NR}, + {"XF86HotelRoomControl", ui::VKEY_HOTEL_ROOM_CONTROL}, + {"XF86Alarm", ui::VKEY_ALARM}, + + // TV IME Keys + {"Select", ui::VKEY_RETURN}, {"Clear", ui::VKEY_DELETE}, +#endif + {"0", ui::VKEY_0}, {"1", ui::VKEY_1}, {"2", ui::VKEY_2}, {"3", ui::VKEY_3}, {"4", ui::VKEY_4}, {"5", ui::VKEY_5}, {"6", ui::VKEY_6}, {"7", ui::VKEY_7}, {"8", ui::VKEY_8}, diff --git a/ui/events/event.cc b/ui/events/event.cc index 2721ef0..21cafe7 100644 --- a/ui/events/event.cc +++ b/ui/events/event.cc @@ -825,6 +825,9 @@ KeyEvent::KeyEvent(const PlatformEvent& native_event, int event_flags) scan_code_(ScanCodeFromNative(native_event)), #endif // defined(USE_OZONE) code_(CodeFromNative(native_event)), +#if BUILDFLAG(IS_TIZEN) + key_(KeyFromNative(native_event)), +#endif // BUILDFLAG(IS_TIZEN) #if BUILDFLAG(IS_EFL) is_system_key(IsSystemKeyFromNative(native_event)), #endif diff --git a/ui/events/event_utils.h b/ui/events/event_utils.h index 0fa0079..ca4e631 100644 --- a/ui/events/event_utils.h +++ b/ui/events/event_utils.h @@ -116,6 +116,11 @@ KeyboardCodeFromNative(const PlatformEvent& native_event); // keyboard) from a native event. EVENTS_EXPORT DomCode CodeFromNative(const PlatformEvent& native_event); +#if BUILDFLAG(IS_TIZEN) +// Returns the DOM KeyboardEvent key (layout meaning) from a native event. +EVENTS_EXPORT DomKey KeyFromNative(const PlatformEvent& native_event); +#endif + #if BUILDFLAG(IS_EFL) // Returns the |is_system_key| value from a native event. EVENTS_EXPORT bool IsSystemKeyFromNative(const PlatformEvent& native_event); diff --git a/ui/events/events_default.cc b/ui/events/events_default.cc index be759cb..c434740 100644 --- a/ui/events/events_default.cc +++ b/ui/events/events_default.cc @@ -83,6 +83,14 @@ DomCode CodeFromNative(const PlatformEvent& native_event) { return event->code(); } +#if BUILDFLAG(IS_TIZEN) +DomKey KeyFromNative(const PlatformEvent& native_event) { + const ui::KeyEvent* event = static_cast(native_event); + DCHECK(event->IsKeyEvent()); + return event->GetDomKey(); +} +#endif + #if BUILDFLAG(IS_EFL) bool IsSystemKeyFromNative(const PlatformEvent& native_event) { const ui::KeyEvent* event = static_cast(native_event); diff --git a/ui/events/keycodes/dom/dom_key_data.inc b/ui/events/keycodes/dom/dom_key_data.inc index 286fc32..218bd58 100644 --- a/ui/events/keycodes/dom/dom_key_data.inc +++ b/ui/events/keycodes/dom/dom_key_data.inc @@ -536,4 +536,131 @@ DOM_KEY_MAP_DECLARATION { DOM_KEY_MAP("VideoModeNext", VIDEO_MODE_NEXT, 0x0D4C), DOM_KEY_MAP("Wink", WINK, 0x0D4D), DOM_KEY_MAP("ZoomToggle", ZOOM_TOGGLE, 0x0D4E), + +#if BUILDFLAG(IS_TIZEN_TV) + // ================================================================== + // EFL Key + // http://mosaic.sec.samsung.net/club/club.menu.bbs.read.screen?page_num=1&p_club_id=466&p_menu_id=107&p_group_id=80&search_field=&search_query=&search_category=&message_id=4764929 + // ================================================================== + + // Key Enum Value + DOM_KEY_MAP("XF86Back", XF86Back, 0x2719), + DOM_KEY_MAP("XF86RaiseChannel", XF86RaiseChannel, 0x01AB), + DOM_KEY_MAP("XF86LowerChannel", XF86LowerChannel, 0x01AC), + DOM_KEY_MAP("XF86AudioRewind", XF86AudioRewind, 0x019C), + DOM_KEY_MAP("XF86AudioPause", XF86AudioPause, 0x0013), + DOM_KEY_MAP("XF86AudioNext", XF86AudioNext, 0x01A1), + DOM_KEY_MAP("XF86AudioRecord", XF86AudioRecord, 0x01A0), + DOM_KEY_MAP("XF86AudioPlay", XF86AudioPlay, 0x00FA), + DOM_KEY_MAP("XF86AudioStop", XF86AudioStop, 0x019D), + DOM_KEY_MAP("XF86Red", XF86Red, 0x0193), + DOM_KEY_MAP("XF86Green", XF86Green, 0x0194), + DOM_KEY_MAP("XF86Yellow", XF86Yellow, 0x0195), + DOM_KEY_MAP("XF86Blue", XF86Blue, 0x0196), + DOM_KEY_MAP("XF86Info", XF86Info, 0x01C9), + DOM_KEY_MAP("XF86Home", XF86Home, 0x2757), + DOM_KEY_MAP("XF86Display", XF86Display, 0x2758), + DOM_KEY_MAP("XF86ChannelList", XF86ChannelList, 0x2759), + DOM_KEY_MAP("XF86MBRRepeat", XF86MBRRepeat, 0x2799), + DOM_KEY_MAP("XF86PictureSize", XF86PictureSize, 0x279C), + DOM_KEY_MAP("XF86PictureMode", XF86PictureMode, 0x279D), + DOM_KEY_MAP("XF86Hdmi", XF86Hdmi, 0x279F), + DOM_KEY_MAP("XF86UsbHub", XF86UsbHub, 0x27A0), + DOM_KEY_MAP("XF86EManual", XF86EManual, 0x27A2), + DOM_KEY_MAP("XF86SimpleMenu", XF86SimpleMenu, 0x2797), + DOM_KEY_MAP("XF86More", XF86More, 0x27A4), + DOM_KEY_MAP("XF86FactoryMode", XF86FactoryMode, 0x27A5), + DOM_KEY_MAP("XF86Sleep", XF86Sleep, 0x27A6), + DOM_KEY_MAP("XF86TV", XF86TV, 0x27A9), + DOM_KEY_MAP("XF86DTV", XF86DTV, 0x27AA), + DOM_KEY_MAP("XF86STBPower", XF86STBPower, 0x27AB), + DOM_KEY_MAP("XF86PanelDown", XF86PanelDown, 0x27AD), + DOM_KEY_MAP("XF86WWW", XF86WWW, 0x27AE), + DOM_KEY_MAP("XF86BTColorMecha", XF86BTColorMecha, 0x27AF), + DOM_KEY_MAP("XF86StillPicture", XF86StillPicture, 0x27B0), + DOM_KEY_MAP("XF86BTPairing", XF86BTPairing, 0x27B1), + DOM_KEY_MAP("XF86BTHotkey", XF86BTHotkey, 0x27B2), + DOM_KEY_MAP("XF86BTDevice", XF86BTDevice, 0x27B3), + DOM_KEY_MAP("XF86BTContentsBar", XF86BTContentsBar, 0x27B4), + DOM_KEY_MAP("XF86Game", XF86Game, 0x27B5), + DOM_KEY_MAP("XF86PIPChannelUp", XF86PIPChannelUp, 0x27B7), + DOM_KEY_MAP("XF86PIPChannelDown", XF86PIPChannelDown, 0x27B8), + DOM_KEY_MAP("XF86Antena", XF86Antena, 0x27B9), + DOM_KEY_MAP("XF86PanelEnter", XF86PanelEnter, 0x27BB), + DOM_KEY_MAP("XF86MBRLink", XF86MBRLink, 0x27BC), + DOM_KEY_MAP("XF86PanelUp", XF86PanelUp, 0x27BD), + DOM_KEY_MAP("XF86Game3D", XF86Game3D, 0x27C1), + DOM_KEY_MAP("XF86WheelLeftKey", XF86WheelLeftKey, 0x27C2), + DOM_KEY_MAP("XF86WheelRightKey", XF86WheelRightKey, 0x27C3), + DOM_KEY_MAP("XF86PanelExit", XF86PanelExit, 0x27C5), + DOM_KEY_MAP("XF86Exit", XF86Exit, 0x27C6), + DOM_KEY_MAP("XF86MBRTV", XF86MBRTV, 0x27C7), + DOM_KEY_MAP("XF86MBRSTBGuide", XF86MBRSTBGuide, 0x27C8), + DOM_KEY_MAP("XF86MBRBDPopup", XF86MBRBDPopup, 0x27C9), + DOM_KEY_MAP("XF86MBRBDDVDPower", XF86MBRBDDVDPower, 0x27CA), + DOM_KEY_MAP("XF86MBRSetupFailure", XF86MBRSetupFailure, 0x27CB), + DOM_KEY_MAP("XF86MBRSetup", XF86MBRSetup, 0x27CC), + DOM_KEY_MAP("XF86MBRWatchTV", XF86MBRWatchTV, 0x27CD), + DOM_KEY_MAP("XF86PreviousChannel", XF86PreviousChannel, 0x27CE), + DOM_KEY_MAP("XF86Recommend", XF86Recommend, 0x27D0), + DOM_KEY_MAP("XF86NumberPad", XF86NumberPad, 0x27D1), + DOM_KEY_MAP("XF86AspectRatio169", XF86AspectRatio169, 0x27D2), + DOM_KEY_MAP("XF86MTS", XF86MTS, 0x27D3), + DOM_KEY_MAP("XF86SoundMode", XF86SoundMode, 0x27D5), + DOM_KEY_MAP("XF863XSpeed", XF863XSpeed, 0x27D6), + DOM_KEY_MAP("XF863D", XF863D, 0x27D7), + DOM_KEY_MAP("XF86TTXMIX", XF86TTXMIX, 0x27D8), + DOM_KEY_MAP("XF86SRSSXT", XF86SRSSXT, 0x27D9), + DOM_KEY_MAP("XF86WIFIPairing", XF86WIFIPairing, 0x27DA), + DOM_KEY_MAP("XF86BTApps", XF86BTApps, 0x27E3), + DOM_KEY_MAP("XF86EnergySaving", XF86EnergySaving, 0x27E5), + DOM_KEY_MAP("XF86MBRClear", XF86MBRClear, 0x000C), + DOM_KEY_MAP("XF86TVSNS", XF86TVSNS, 0x27E9), + DOM_KEY_MAP("XF86DVR", XF86DVR, 0x27EA), + DOM_KEY_MAP("XF86Apps", XF86Apps, 0x27EB), + DOM_KEY_MAP("XF86Camera", XF86Camera, 0x27EC), + DOM_KEY_MAP("XF86Caption", XF86Caption, 0x27ED), + DOM_KEY_MAP("XF86ZoomIn", XF86ZoomIn, 0x27EE), + DOM_KEY_MAP("XF86PanelPlus", XF86PanelPlus, 0x27EF), + DOM_KEY_MAP("XF86BTVoice", XF86BTVoice, 0x27F0), + DOM_KEY_MAP("XF86Search", XF86Search, 0x27F1), + DOM_KEY_MAP("XF86PanelMinus", XF86PanelMinus, 0x27F3), + DOM_KEY_MAP("XF86SoccerMode", XF86SoccerMode, 0x27F4), + DOM_KEY_MAP("XF86Amazon", XF86Amazon, 0x27F5), + DOM_KEY_MAP("XF86AudioDescription", XF86AudioDescription, 0x27F6), + DOM_KEY_MAP("XF86PreviousChapter", XF86PreviousChapter, 0x27F8), + DOM_KEY_MAP("XF86NextChapter", XF86NextChapter, 0x27F9), + DOM_KEY_MAP("XF86Netflix", XF86Netflix, 0x27FA), + DOM_KEY_MAP("XF86PIP", XF86PIP, 0x27FB), + DOM_KEY_MAP("XF86MBRWatchMovie", XF86MBRWatchMovie, 0x27FC), + DOM_KEY_MAP("XF86MBRMenu", XF86MBRMenu, 0x27FD), + DOM_KEY_MAP("XF86MBRConfirm", XF86MBRConfirm, 0x27FE), + DOM_KEY_MAP("XF86FamilyHub", XF86FamilyHub, 0x27FF), + DOM_KEY_MAP("XF86HDMICEC", XF86HDMICEC, 0x2800), + DOM_KEY_MAP("XF86LeftPage", XF86LeftPage, 0x2809), + DOM_KEY_MAP("XF86RightPage", XF86RightPage, 0x280A), + DOM_KEY_MAP("XF86PowerOff", XF86PowerOff, 0x0199), + DOM_KEY_MAP("XF86SysMenu", XF86SysMenu, 0x2795), + DOM_KEY_MAP("XF86ChannelGuide", XF86ChannelGuide, 0x01CA), + DOM_KEY_MAP("XF86ChannelAddDel", XF86ChannelAddDel, 0x01AD), + DOM_KEY_MAP("XF86ChannelAutoTune", XF86ChannelAutoTune, 0x01B9), + DOM_KEY_MAP("XF86FavoriteChannel", XF86FavoriteChannel, 0x01B1), + DOM_KEY_MAP("XF86DualView", XF86DualView, 0x01BB), + DOM_KEY_MAP("XF86Subtitle", XF86Subtitle, 0x01CC), + DOM_KEY_MAP("XF86SoftWakeup", XF86SoftWakeup, 0x2804), + DOM_KEY_MAP("XF86PlayBack", XF86PlayBack, 0x280C), + DOM_KEY_MAP("XF86ExtraApp", XF86ExtraApp, 0x280D), + DOM_KEY_MAP("XF86Color", XF86Color, 0x2891), + DOM_KEY_MAP("XF86Alarm", XF86Alarm, 0x28B2), + DOM_KEY_MAP("XF86HotelMovies", XF86HotelMovies, 0x28FE), + DOM_KEY_MAP("XF86HotelLanguage", XF86HotelLanguage, 0x28FF), + DOM_KEY_MAP("XF86HotelTVGuide", XF86HotelTVGuide, 0x2900), + DOM_KEY_MAP("XF86HotelAppsGuest", XF86HotelAppsGuest, 0x2901), + DOM_KEY_MAP("XF86NoiseReduction", XF86NoiseReduction, 0x2917), + DOM_KEY_MAP("XF86Help", XF86Help, 0x2918), + DOM_KEY_MAP("XF86NR", XF86NR, 0x2919), + DOM_KEY_MAP("XF86HotelRoomControl", XF86HotelRoomControl, 0x291A), + DOM_KEY_MAP("Select", Select, 0x000D), + DOM_KEY_MAP("Clear", Clear, 0x002E), +#endif }; diff --git a/ui/events/keycodes/keyboard_codes_posix.h b/ui/events/keycodes/keyboard_codes_posix.h index e8f04f4..56f2b9a 100644 --- a/ui/events/keycodes/keyboard_codes_posix.h +++ b/ui/events/keycodes/keyboard_codes_posix.h @@ -42,7 +42,9 @@ enum KeyboardCode { VKEY_BACK = 0x08, VKEY_TAB = 0x09, VKEY_BACKTAB = 0x0A, +#if !BUILDFLAG(IS_TIZEN_TV) VKEY_CLEAR = 0x0C, +#endif VKEY_RETURN = 0x0D, VKEY_SHIFT = 0x10, VKEY_CONTROL = 0x11, @@ -76,7 +78,9 @@ enum KeyboardCode { VKEY_SNAPSHOT = 0x2C, // Print Screen / SysRq VKEY_INSERT = 0x2D, VKEY_DELETE = 0x2E, +#if !BUILDFLAG(IS_TIZEN_TV) VKEY_HELP = 0x2F, +#endif VKEY_0 = 0x30, VKEY_1 = 0x31, VKEY_2 = 0x32, @@ -117,7 +121,9 @@ enum KeyboardCode { VKEY_COMMAND = VKEY_LWIN, // Provide the Mac name for convenience. VKEY_RWIN = 0x5C, VKEY_APPS = 0x5D, +#if !BUILDFLAG(IS_TIZEN_TV) VKEY_SLEEP = 0x5F, +#endif VKEY_NUMPAD0 = 0x60, VKEY_NUMPAD1 = 0x61, VKEY_NUMPAD2 = 0x62, @@ -173,9 +179,11 @@ enum KeyboardCode { VKEY_BROWSER_SEARCH = 0xAA, VKEY_BROWSER_FAVORITES = 0xAB, VKEY_BROWSER_HOME = 0xAC, +#if !BUILDFLAG(IS_TIZEN_TV) VKEY_VOLUME_MUTE = 0xAD, VKEY_VOLUME_DOWN = 0xAE, VKEY_VOLUME_UP = 0xAF, +#endif VKEY_MEDIA_NEXT_TRACK = 0xB0, VKEY_MEDIA_PREV_TRACK = 0xB1, VKEY_MEDIA_STOP = 0xB2, @@ -211,7 +219,9 @@ enum KeyboardCode { VKEY_CRSEL = 0xF7, VKEY_EXSEL = 0xF8, VKEY_EREOF = 0xF9, +#if !BUILDFLAG(IS_TIZEN_TV) VKEY_PLAY = 0xFA, +#endif VKEY_ZOOM = 0xFB, VKEY_NONAME = 0xFC, VKEY_PA1 = 0xFD, @@ -221,7 +231,9 @@ enum KeyboardCode { // POSIX specific VKEYs. Note that as of Windows SDK 7.1, 0x97-9F, 0xD8-DA, // and 0xE8 are unassigned. VKEY_WLAN = 0x97, +#if !BUILDFLAG(IS_TIZEN_TV) VKEY_POWER = 0x98, +#endif VKEY_ASSISTANT = 0x99, VKEY_SETTINGS = 0x9A, VKEY_PRIVACY_SCREEN_TOGGLE = 0x9B, @@ -257,10 +269,157 @@ enum KeyboardCode { VKEY_ALL_APPLICATIONS = 0xEF, #if BUILDFLAG(IS_TIZEN_TV) + // TV keys on remote controller. + // Virtual keys defined in http://www.atsc.org/cms/standards/a100/a_100_2.pdf + // Same volume virtual keys are already defined in Windows virtual keys but we + // overlap with the keys defined in DTV. + // VKEY_PLAY + // VKEY_VOLUME_UP + // VKEY_VOLUME_DOWN + // VKEY_VOLUME_MUTE + + VKEY_RED = 0x193, + VKEY_GREEN = 0x194, + VKEY_YELLOW = 0x195, + VKEY_BLUE = 0x196, + VKEY_GREY = 0x197, + VKEY_BROWN = 0x198, + + VKEY_DTV_RETURN = 0x2719, + VKEY_DTV_HOME = 0x2757, + VKEY_SOURCE = 0x2758, + VKEY_CH_LIST = 0x2759, + + VKEY_POWER = 0x199, + VKEY_DTV_MENU = 0x2795, + VKEY_GUIDE = 0x1CA, + VKEY_ADDDEL = 0x1AD, + VKEY_AUTO_PROGRAM = 0x1B9, + VKEY_FAVCH = 0x1B1, + VKEY_BT_DUALVIEW = 0x1BB, + VKEY_SUB_TITLE = 0x1CC, + + VKEY_REWIND = 0x19C, + VKEY_STOP = 0x19D, + VKEY_PLAY = 0x19F, + VKEY_RECORD = 0x1A0, + VKEY_FAST_FWD = 0x1A1, + + VKEY_CHANNEL_UP = 0x1AB, + VKEY_CHANNEL_DOWN = 0x1AC, + + VKEY_VOLUME_UP = 0x1BF, + VKEY_VOLUME_DOWN = 0x1C0, + VKEY_VOLUME_MUTE = 0x1C1, + + VKEY_INFO = 0x1C9, + + VKEY_REPEAT = 0x2799, + VKEY_ASPECT = 0x279C, + VKEY_PMODE = 0x279D, + VKEY_HDMI = 0x279F, + VKEY_USBHUB_SWITCH = 0x27A0, + VKEY_EMANUAL = 0x27A2, + VKEY_TOOLS = 0x2797, + VKEY_MORE = 0x27A4, + VKEY_FACTORY = 0x27A5, + VKEY_SLEEP = 0x27A6, + VKEY_TV = 0x27A9, + VKEY_DTV = 0x27AA, + VKEY_STB_POWER = 0x27AB, + VKEY_PANEL_DOWN = 0x27AD, + VKEY_CONVERGENCE = 0x27AE, + VKEY_BT_COLOR_MECHA = 0x27AF, + VKEY_STILL_PICTURE = 0x27B0, + VKEY_BT_TRIGGER = 0x27B1, + VKEY_BT_HOTVK = 0x27B2, + VKEY_BT_DEVICE = 0x27B3, + VKEY_BT_CONTENTSBAR = 0x27B4, + VKEY_GAME = 0x27B5, + VKEY_PIP_CHUP = 0x27B7, + VKEY_PIP_CHDOWN = 0x27B8, + VKEY_ANTENA = 0x27B9, + VKEY_PANEL_ENTER = 0x27BB, + VKEY_LINK = 0x27BC, + VKEY_PANEL_UP = 0x27BD, + + VKEY_ANGLE = 0x27C1, + VKEY_WHEEL_LEFT = 0x27C2, + VKEY_WHEEL_RIGHT = 0x27C3, + VKEY_CONTENTS = 0x2757, + VKEY_PANEL_EXIT = 0x27C5, + VKEY_EXIT = 0x27C6, + + VKEY_MBR_TV = 0x27C7, + VKEY_MBR_STB_GUIDE = 0x27C8, + VKEY_MBR_BD_POPUP = 0x27C9, + VKEY_MBR_BDDVD_POWER = 0x27CA, + VKEY_MBR_SETUP_FAILURE = 0x27CB, + VKEY_MBR_SETUP = 0x27CC, + VKEY_MBR_WATCH_TV = 0x27CD, + + VKEY_PRECH = 0x27CE, + VKEY_RECOMMEND_SEARCH_TOGGLE = 0x27D0, + VKEY_BT_NUMBER = 0x27D1, + VKEY_16_9 = 0x27D2, + VKEY_MTS = 0x27D3, + VKEY_SMODE = 0x27D5, + VKEY_3SPEED = 0x27D6, + VKEY_3D = 0x27D7, + VKEY_TTX_MIX = 0x27D8, + VKEY_SRSTSXT = 0x27D9, + VKEY_WIFI_PAIRING = 0x27DA, + VKEY_BT_SAMSUNG_APPS = 0x27E3, + VKEY_W_LINK = 0x2757, + VKEY_ESAVING = 0x27E5, + VKEY_CLEAR = 0x27E6, + VKEY_TV_SNS = 0x27E9, + VKEY_DVR = 0x27EA, + VKEY_APP_LIST = 0x27EB, + VKEY_CAMERA = 0x27EC, + VKEY_CAPTION = 0x27ED, + VKEY_ZOOM1 = 0x27EE, + VKEY_PANEL_PLUS = 0x27EF, + VKEY_BT_VOICE = 0x27F0, + VKEY_SEARCH = 0x27F1, + VKEY_PANEL_MINUS = 0x27F3, + VKEY_SOCCER_MODE = 0x27F4, + VKEY_FUNCTIONS_AMAZON = 0x27F5, + VKEY_AD = 0x27F6, + VKEY_REWIND_ = 0x27F8, + VKEY_FF_ = 0x27F9, + VKEY_FUNCTIONS_NETFLIX = 0x27FA, + VKEY_PIP_ONOFF = 0x27FB, + VKEY_MBR_WATCH_MOVIE = 0x27FC, + VKEY_MBR_STBBD_MENU = 0x27FD, + VKEY_MBR_SETUP_CONFIRM = 0x27FE, + VKEY_FAMILYHUB = 0x27FF, + VKEY_ANYVIEW = 0x2800, + + VKEY_PAGE_LEFT = 0x2809, + VKEY_PAGE_RIGHT = 0x280A, + + VKEY_SOFT_WAKE_UP = 0x2804, + VKEY_PANEL_ON = 0x280B, + VKEY_PLAY_BACK = 0x280C, + VKEY_EXTRA = 0x280D, + VKEY_COLOR = 0x2891, + + VKEY_ALARM = 0x28B2, + VKEY_HOTEL_MOVIES = 0x28FE, + VKEY_HOTEL_LANGUAGE = 0x28FF, + VKEY_HOTEL_TV_GUIDE = 0x2900, + VKEY_HOTEL_APPS_GUEST = 0x2901, + VKEY_NOISE_REDUCTION = 0x2917, + VKEY_HELP = 0x2918, + VKEY_NR = 0x2919, + VKEY_HOTEL_ROOM_CONTROL = 0x291A, + // TV IME "Select" key, no X Server keycode, 0xFF60 ISF code. VKEY_IME_DONE = 0xFF60, // TV IME "Cancel" key, no X Server keycode, 0xFF69 ISF code. VKEY_IME_CANCEL = 0xFF69, + #endif }; -- 2.7.4