[M108 Migration][Product TV] Support TV specific keys 27/287327/5
authorBakka Uday Kiran <b.kiran@samsung.com>
Wed, 25 Jan 2023 12:08:03 +0000 (17:38 +0530)
committerBot Blink <blinkbot@samsung.com>
Fri, 27 Jan 2023 08:13:50 +0000 (08:13 +0000)
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 <b.kiran@samsung.com>
third_party/blink/renderer/platform/keyboard_codes.h
third_party/blink/renderer/platform/windows_keyboard_codes.h
tizen_src/chromium_impl/ui/ozone/platform/efl/efl_keycode_map.h
ui/events/event.cc
ui/events/event_utils.h
ui/events/events_default.cc
ui/events/keycodes/dom/dom_key_data.inc
ui/events/keycodes/keyboard_codes_posix.h

index b183f16..b5c7d2f 100644 (file)
@@ -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
 };
 
index fea3fa6..dcfd4d3 100644 (file)
 #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
 
 #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_
index a83ceac..4c3e9ef 100644 (file)
@@ -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},
index 2721ef0..21cafe7 100644 (file)
@@ -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
index 0fa0079..ca4e631 100644 (file)
@@ -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);
index be759cb..c434740 100644 (file)
@@ -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<const ui::KeyEvent*>(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<const ui::KeyEvent*>(native_event);
index 286fc32..218bd58 100644 (file)
@@ -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
 };
index e8f04f4..56f2b9a 100644 (file)
@@ -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
 };