diff options
author | InHong Han <inhong1.han@samsung.com> | 2016-09-21 10:46:25 +0900 |
---|---|---|
committer | InHong Han <inhong1.han@samsung.com> | 2016-09-27 16:30:15 +0900 |
commit | b985a22ab857798690b73513e4fc5f57354d4850 (patch) | |
tree | 91eb22dcac79352e00700fc9c26c74c06b0e5c8a | |
parent | eb433f39d328865ba5573139f3abfa64feee9d37 (diff) | |
download | isf-b985a22ab857798690b73513e4fc5f57354d4850.tar.gz isf-b985a22ab857798690b73513e4fc5f57354d4850.tar.bz2 isf-b985a22ab857798690b73513e4fc5f57354d4850.zip |
Fix hardcoded key event in remote input
Change-Id: I5454f79c187814badcec07efc6e0c2148d70c3f8
-rwxr-xr-x | ism/data/remote-input/openinput.js | 36 | ||||
-rw-r--r-- | ism/extras/efl_panel/Makefile.am | 3 | ||||
-rw-r--r-- | ism/extras/efl_panel/remote_input.cpp | 290 | ||||
-rw-r--r-- | ism/extras/efl_panel/remote_input.h | 6 | ||||
-rw-r--r-- | ism/extras/efl_panel/remote_input_keycode.h | 82 | ||||
-rw-r--r-- | ism/extras/efl_panel/websocketserver.h | 2 | ||||
-rw-r--r-- | ism/src/isf_remote_control.h | 2 |
7 files changed, 234 insertions, 187 deletions
diff --git a/ism/data/remote-input/openinput.js b/ism/data/remote-input/openinput.js index afb7a1b1..f14b61c9 100755 --- a/ism/data/remote-input/openinput.js +++ b/ism/data/remote-input/openinput.js @@ -10,24 +10,24 @@ openInput.TV_KEY_ENTER = 0; openInput.TV_KEY_SPACE = 1; openInput.TV_KEY_BACKSPACE = 2; openInput.TV_KEY_ESCAPE = 3; -openInput.TV_KEY_SELECT = 36; -openInput.TV_KEY_POWER = 124; -openInput.TV_KEY_MENU = 10001; -openInput.TV_KEY_HOME = 10002; -openInput.TV_KEY_BACK = 10003; -openInput.TV_KEY_UP = 111; -openInput.TV_KEY_DOWN = 116; -openInput.TV_KEY_LEFT = 113; -openInput.TV_KEY_RIGHT = 114; -openInput.TV_KEY_SWITCHMODE = 235; -openInput.TV_KEY_CHANNEL_LIST = 68; -openInput.TV_KEY_INFO = 69; -openInput.TV_KEY_EXIT = 182; -openInput.TV_KEY_CHANNEL_UP = 112; -openInput.TV_KEY_CHANNEL_DOWN = 117; -openInput.TV_KEY_MUTE = 121; -openInput.TV_KEY_VOLUME_DOWN = 122; -openInput.TV_KEY_VOLUME_UP = 123; +openInput.TV_KEY_POWER = 100; +openInput.TV_KEY_HOME = 101; +openInput.TV_KEY_MENU = 102; +openInput.TV_KEY_SELECT = 103; +openInput.TV_KEY_BACK = 104; +openInput.TV_KEY_EXIT = 105; +openInput.TV_KEY_UP = 106; +openInput.TV_KEY_DOWN = 107; +openInput.TV_KEY_LEFT = 108; +openInput.TV_KEY_RIGHT = 109; +openInput.TV_KEY_VOLUME_UP = 110; +openInput.TV_KEY_VOLUME_DOWN = 111; +openInput.TV_KEY_MUTE = 112; +openInput.TV_KEY_CHANNEL_UP = 113; +openInput.TV_KEY_CHANNEL_DOWN = 114; +openInput.TV_KEY_CHANNEL_LIST = 115; +openInput.TV_KEY_INFO = 116; +openInput.TV_KEY_SWITCHMODE = 117; openInput.initialize = function(_app_id) { if (this.impl === undefined) { diff --git a/ism/extras/efl_panel/Makefile.am b/ism/extras/efl_panel/Makefile.am index 296a2970..d3cb2f71 100644 --- a/ism/extras/efl_panel/Makefile.am +++ b/ism/extras/efl_panel/Makefile.am @@ -19,6 +19,7 @@ AM_CPPFLAGS = -I$(top_builddir) \ noinst_HEADERS = isf_panel_utility.h \ remote_input.h \ + remote_input_keycode.h \ websocketserver.h if ISF_BUILD_PANEL_EFL @@ -47,6 +48,7 @@ isf_panel_efl_CXXFLAGS = @ECOREX_CFLAGS@ \ @EDBUS_CFLAGS@ \ @BLUETOOTH_CFLAGS@ \ @LIBWEBSOCKETS_CFLAGS@ \ + @XKBCOMMON_CFLAGS@ \ @FEEDBACK_CFLAGS@ \ @APP_CONTROL_CFLAGS@ \ @PKGMGR_INFO_CFLAGS@ \ @@ -65,6 +67,7 @@ isf_panel_efl_LDFLAGS = @LTLIBINTL@ -rpath $(libdir) \ @EDBUS_LIBS@ \ @BLUETOOTH_LIBS@ \ @LIBWEBSOCKETS_LIBS@ \ + @XKBCOMMON_LIBS@ \ @FEEDBACK_LIBS@ \ @APP_CONTROL_LIBS@ \ @PKGMGR_INFO_LIBS@ \ diff --git a/ism/extras/efl_panel/remote_input.cpp b/ism/extras/efl_panel/remote_input.cpp index 35582f18..4fb528e1 100644 --- a/ism/extras/efl_panel/remote_input.cpp +++ b/ism/extras/efl_panel/remote_input.cpp @@ -23,8 +23,11 @@ */ #include "remote_input.h" +#include "remote_input_keycode.h" #include <iostream> #include <math.h> +#include <Ecore_Wayland.h> +#include <xkbcommon/xkbcommon.h> using namespace scim; @@ -36,13 +39,81 @@ extern std::vector<String> _icons; extern std::vector<uint32> _options; extern std::vector<TOOLBAR_MODE_T> _modes; +typedef struct _keycode_map { + xkb_keysym_t keysym; + xkb_keycode_t keycode; +} keycode_map; + static InfoManager* _info_manager; +static int fd_uinput_keyboard = 0; +static int fd_uinput_mouse = 0; static char* surrounding_text = 0; static int cursor_pos = 0; static WebSocketServer *g_web_socket_server = NULL; Remote_Input* Remote_Input::m_instance = NULL; +Ecore_Event_Handler *keymap_update_handler = NULL; + +static void find_keycode(struct xkb_keymap *keymap, xkb_keycode_t key, void *data) +{ + keycode_map *found_keycodes = (keycode_map *)data; + + if (!found_keycodes) + return; + + xkb_keysym_t keysym = found_keycodes->keysym; + int nsyms = 0; + const xkb_keysym_t *syms_out = NULL; + + nsyms = xkb_keymap_key_get_syms_by_level(keymap, key, 0, 0, &syms_out); + if (nsyms && syms_out) + { + if (*syms_out == keysym) + { + found_keycodes->keycode = key; + } + } +} + +static int keycode_get_from_keysym(struct xkb_keymap *keymap, xkb_keysym_t keysym) +{ + keycode_map found_keycodes = {0,}; + found_keycodes.keysym = keysym; + xkb_keymap_key_for_each(keymap, find_keycode, &found_keycodes); + + return found_keycodes.keycode; +} + +static int keycode_get_from_string(char *name) +{ + struct xkb_keymap *keymap = NULL; + xkb_keysym_t keysym = 0x0; + int keycode = 0; + + keymap = ecore_wl_input_keymap_get(ecore_wl_input_get()); + EINA_SAFETY_ON_NULL_GOTO(keymap, finish); + + keysym = xkb_keysym_from_name(name, XKB_KEYSYM_NO_FLAGS); + EINA_SAFETY_ON_FALSE_GOTO(keysym != XKB_KEY_NoSymbol, finish); + + keycode = keycode_get_from_keysym(keymap, keysym); + + return keycode - 8; + +finish: + return 0; +} + +static int open_file(const char *file_name) { + int file_descriptor = -1; + char resolved_path[MAXPATHLEN]; + + if (realpath(file_name, resolved_path) != NULL && !strcmp(file_name, resolved_path)) + file_descriptor = open(file_name, O_WRONLY | O_NONBLOCK); + + return file_descriptor; +} Remote_Input::Remote_Input() { @@ -52,6 +123,7 @@ Remote_Input::Remote_Input() m_instance = this; fd_uinput_keyboard = 0; fd_uinput_mouse = 0; + keymap_update_handler = NULL; } Remote_Input::~Remote_Input() @@ -59,6 +131,10 @@ Remote_Input::~Remote_Input() if (m_instance == this) { m_instance = NULL; } + + if (keymap_update_handler) + ecore_event_handler_del(keymap_update_handler); + keymap_update_handler = NULL; } Remote_Input* @@ -112,20 +188,19 @@ void Remote_Input::exit() close(fd_uinput_mouse); } -static int open_file(const char *file_name) { - int file_descriptor = -1; - char resolved_path[MAXPATHLEN]; - - if (realpath(file_name, resolved_path) != NULL && !strcmp(file_name, resolved_path)) - file_descriptor = open(file_name, O_WRONLY | O_NONBLOCK); +static Eina_Bool +_ecore_wl_keymap_update_cb (void *data, int ev_type, void *event) +{ + Ecore_Wl_Event_Keymap_Update *ev = NULL; + ev = (Ecore_Wl_Event_Keymap_Update *) event; - return file_descriptor; -} + if (!ev) { + LOGW ("Failed to get keymap event"); + return ECORE_CALLBACK_CANCEL; + } -bool Remote_Input::init_uinput_keyboard_device() { - //For initialize uinput device for keyboard + //For initialize uinput device for keyboard struct uinput_user_dev device_key; - int uinput_keys[] = {KEY_POWER, KEY_F6, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_MINUS, KEY_0, KEY_REDO, KEY_F10, KEY_F9, KEY_F8, KEY_F7, KEY_F5, KEY_F12, KEY_F11, KEY_LEFTMETA, KEY_HOMEPAGE, KEY_BOOKMARKS, KEY_MENU, KEY_F18, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_ENTER, KEY_BACK, KEY_EXIT, KEY_ESC, KEY_BACKSPACE, KEY_POWER, KEY_PHONE}; memset(&device_key, 0, sizeof device_key); const char *file_name = "/dev/uinput"; @@ -134,7 +209,7 @@ bool Remote_Input::init_uinput_keyboard_device() { if (fd_uinput_keyboard < 0) { LOGW ("Fail to open fd uinput_keyboard!\n"); - return false; + return ECORE_CALLBACK_CANCEL; } const char *dev_name = "Remote-Input(Keyboard)"; @@ -147,37 +222,54 @@ bool Remote_Input::init_uinput_keyboard_device() { if (write(fd_uinput_keyboard, &device_key, sizeof(device_key)) != sizeof(device_key)) { LOGW ("Fail to setup uinput structure on fd\n"); - return false; + return ECORE_CALLBACK_CANCEL; } if (ioctl(fd_uinput_keyboard, UI_SET_EVBIT, EV_KEY) < 0) { LOGW ("Fail to enable EV_KEY event type\n"); - return false; + return ECORE_CALLBACK_CANCEL; } if (ioctl(fd_uinput_keyboard, UI_SET_EVBIT, EV_SYN) < 0) { LOGW ("Fail to enable EV_SYN event type\n"); - return false; + return ECORE_CALLBACK_CANCEL; } - for (unsigned int i = 0; i < sizeof(uinput_keys)/sizeof(uinput_keys[0]); i ++) + for (unsigned int i = 0; i < REMOTE_KEY_NAMES; i++) { - if (ioctl(fd_uinput_keyboard, UI_SET_KEYBIT, uinput_keys[i]) < 0) - { - LOGW ("Fail to register uinput event key : %d\n", uinput_keys[i]); - return false; + if (remote_key_names[i].value >= REMOTE_KEY_TV_POWER) { + int keycode = keycode_get_from_string((char *)remote_key_names[i].name); + LOGD("remote init Key name: %s, key code : %d\n", (char *)remote_key_names[i].name, keycode); + + if (ioctl(fd_uinput_keyboard, UI_SET_KEYBIT, keycode) < 0) + { + LOGW ("Fail to register uinput event key\n"); + return ECORE_CALLBACK_CANCEL; + } } } if (ioctl(fd_uinput_keyboard, UI_DEV_CREATE) < 0) { LOGW ("Fail to create keyboard uinput device\n"); - return false; + return ECORE_CALLBACK_CANCEL; } - return true; + return ECORE_CALLBACK_PASS_ON; +} + +bool Remote_Input::init_uinput_keyboard_device() +{ + keymap_update_handler = ecore_event_handler_add (ECORE_WL_EVENT_KEYMAP_UPDATE, _ecore_wl_keymap_update_cb, NULL); + + if (!keymap_update_handler) { + LOGD ("Add keymap update callback failed\n"); + return false; + } + + return true; } bool Remote_Input::init_uinput_mouse_device() @@ -345,153 +437,19 @@ void Remote_Input::handle_websocket_message(ISE_MESSAGE &message) if (message.values.size() == 1) { int e = atoi(message.values.at(0).c_str()); LOGD("send_key_event key num : %d", e); - switch (e) { - case 0: //enter - LOGD ("enter"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_Select)); - break; - case 1: //space - LOGD ("space"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_KP_Space)); - break; - case 2: //backspace - LOGD ("backspace"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_BackSpace)); - break; - case 3: //esc - LOGD ("esc"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_Escape)); - break; - case 4: //up - LOGD ("up"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_Up)); - break; - case 5: //down - LOGD ("down"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_Down)); - break; - case 6: //left - LOGD ("left"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_Left)); - break; - case 7: //right - LOGD ("right"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_Right)); - break; - case 8: //page_up - LOGD ("page_up"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_Page_Up)); - break; - case 9: //page_down - LOGD ("page_down"); - _info_manager->remoteinput_forward_key_event(KeyEvent(SCIM_KEY_Page_Down)); - break; - case 10001://Menu - LOGD ("menu"); - //panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_PHONE); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_LEFTMETA); //for tv product binary - break; - - case 10002://Home - LOGD ("home"); - //panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_MENU); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_F5); //for tv product binary - break; - - case 10003://Back - LOGD ("back"); - //panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_BACK); //for TDC, 3.0 binary - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_ESC); //for tv product binary - break; - - case 124://TV_KEY_POWER - LOGD ("TV_KEY_POWER"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_POWER); - break; - - case 235://TV_KEY_SWITCHMODE - LOGD ("TV_KEY_SWITCHMODE"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_F6); - break; - - case 179://TV_KEY_MENU - LOGD ("TV_KEY_SHORT_MENU"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_MENU); - break; - - case 111://TV_KEY_UP - LOGD ("TV_KEY_UP"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_UP); - break; - - case 69://TV_KEY_INFO - LOGD ("TV_KEY_INFO"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_F18); - break; - - case 113://TV_KEY_LEFT - LOGD ("TV_KEY_LEFT"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_LEFT); - break; - - case 36://TV_KEY_SELECT - LOGD ("TV_KEY_SELECT"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_ENTER); - break; - - case 114://TV_KEY_RIGHT - LOGD ("TV_KEY_RIGHT"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_RIGHT); - break; - - case 166://TV_KEY_BACK - LOGD ("TV_KEY_BACK"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_BACK); - break; - - case 116://TV_KEY_DOWN - LOGD ("TV_KEY_DOWN"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_DOWN); - break; - case 182://TV_KEY_EXIT - LOGD ("TV_KEY_EXIT"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_EXIT); - break; - - case 123://TV_KEY_VOL_UP - LOGD ("TV_KEY_VOL_UP"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_F10); - break; - - case 121://TV_KEY_MUTE - LOGD ("TV_KEY_MUTE"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_F8); - break; - - case 112://TV_KEY_CHAN_UP - LOGD ("TV_KEY_CHAN_UP"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_F12); - break; - - case 122://TV_KEY_VOL_DOWN - LOGD ("TV_KEY_VOL_DOWN"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_F9); - break; - - case 68://TV_KEY_CHAN_LIST - LOGD ("TV_KEY_CHAN_LIST"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_F7); - break; - - case 117://TV_KEY_CHAN_DOWN - LOGD ("TV_KEY_CHAN_DOWN"); - panel_send_uinput_event_for_key(UINPUT_KEYBOARD, KEY_F11); - break; + for (unsigned int i = 0; i < REMOTE_KEY_NAMES; i++) { + if (remote_key_names[i].value == e) { + if (remote_key_names[i].value < REMOTE_KEY_TV_POWER) { + _info_manager->remoteinput_forward_key_event(KeyEvent((char *)remote_key_names[i].name)); + } else { + int keycode = keycode_get_from_string((char *)remote_key_names[i].name); - default: - LOGD ("unknow key=%d", e); + if (keycode) + panel_send_uinput_event_for_key(UINPUT_KEYBOARD, keycode); + } break; + } } } } diff --git a/ism/extras/efl_panel/remote_input.h b/ism/extras/efl_panel/remote_input.h index c2288891..cecb2c76 100644 --- a/ism/extras/efl_panel/remote_input.h +++ b/ism/extras/efl_panel/remote_input.h @@ -53,6 +53,10 @@ #include "scim.h" #include "websocketserver.h" +#ifdef LOG_TAG +# undef LOG_TAG +#endif +#define LOG_TAG "ISF_REMOTE_INPUT" using namespace scim; enum UINPUT_DEVICE{ @@ -66,8 +70,6 @@ public : private: static Remote_Input* m_instance; - int fd_uinput_keyboard; - int fd_uinput_mouse; public: Remote_Input(); diff --git a/ism/extras/efl_panel/remote_input_keycode.h b/ism/extras/efl_panel/remote_input_keycode.h new file mode 100644 index 00000000..dd7f5055 --- /dev/null +++ b/ism/extras/efl_panel/remote_input_keycode.h @@ -0,0 +1,82 @@ +#ifndef _REMOTE_INPUT_KEYCODE_H +#define _REMOTE_INPUT_KEYCODE_H + +enum Remote_KeyCode +{ + // 0 ~ 99: default key + REMOTE_KEY_ENTER = 0, + REMOTE_KEY_SPACE = 1, + REMOTE_KEY_BACKSPACE = 2, + REMOTE_KEY_ESCAPE = 3, + REMOTE_KEY_UP = 4, + REMOTE_KEY_DOWN = 5, + REMOTE_KEY_LEFT = 6, + REMOTE_KEY_RIGHT = 7, + REMOTE_KEY_PAGE_UP = 8, + REMOTE_KEY_PAGE_DOWN = 9, + REMOTE_KEY_SELECT = 10, + REMOTE_KEY_CANCEL = 11, + // 100 ~ 199: TV key + REMOTE_KEY_TV_POWER = 100, + REMOTE_KEY_TV_HOME = 101, + REMOTE_KEY_TV_MENU = 102, + REMOTE_KEY_TV_SELECT = 103, + REMOTE_KEY_TV_BACK = 104, + REMOTE_KEY_TV_EXIT = 105, + REMOTE_KEY_TV_UP = 106, + REMOTE_KEY_TV_DOWN = 107, + REMOTE_KEY_TV_LEFT = 108, + REMOTE_KEY_TV_RIGHT = 109, + REMOTE_KEY_TV_VOL_UP = 110, + REMOTE_KEY_TV_VOL_DOWN = 111, + REMOTE_KEY_TV_MUTE = 112, + REMOTE_KEY_TV_CHAN_UP = 113, + REMOTE_KEY_TV_CHAN_DOWN = 114, + REMOTE_KEY_TV_CHAN_LIST = 115, + REMOTE_KEY_TV_INFO = 116, + REMOTE_KEY_TV_SWITCHMODE = 117, +}; + +struct _RemoteInputKeyName +{ + int value; + const char *name; +}; + +static _RemoteInputKeyName remote_key_names [] = +{ + {REMOTE_KEY_ENTER, "SCIM_KEY_Return"}, + {REMOTE_KEY_SPACE, "SCIM_KEY_KP_Space"}, + {REMOTE_KEY_BACKSPACE, "SCIM_KEY_BackSpace"}, + {REMOTE_KEY_ESCAPE, "SCIM_KEY_Escape"}, + {REMOTE_KEY_UP, "SCIM_KEY_Up"}, + {REMOTE_KEY_DOWN, "SCIM_KEY_Down"}, + {REMOTE_KEY_LEFT, "SCIM_KEY_Left"}, + {REMOTE_KEY_RIGHT, "SCIM_KEY_Right"}, + {REMOTE_KEY_PAGE_UP, "SCIM_KEY_Page_Up"}, + {REMOTE_KEY_PAGE_DOWN, "SCIM_KEY_Page_Down"}, + {REMOTE_KEY_SELECT, "SCIM_KEY_Select"}, + {REMOTE_KEY_CANCEL, "SCIM_KEY_Cancel"}, + {REMOTE_KEY_TV_POWER, "XF86PowerOff"}, + {REMOTE_KEY_TV_HOME, "XF86Home"}, + {REMOTE_KEY_TV_MENU, "XF86SysMenu"}, + {REMOTE_KEY_TV_SELECT, "Return"}, + {REMOTE_KEY_TV_BACK, "XF86Back"}, + {REMOTE_KEY_TV_EXIT, "XF86Exit"}, + {REMOTE_KEY_TV_UP, "Up"}, + {REMOTE_KEY_TV_DOWN, "Down"}, + {REMOTE_KEY_TV_LEFT, "Left"}, + {REMOTE_KEY_TV_RIGHT, "Right"}, + {REMOTE_KEY_TV_VOL_UP, "XF86AudioRaiseVolume"}, + {REMOTE_KEY_TV_VOL_DOWN, "XF86AudioLowerVolume"}, + {REMOTE_KEY_TV_MUTE, "XF86AudioMute"}, + {REMOTE_KEY_TV_CHAN_UP, "XF86RaiseChannel"}, + {REMOTE_KEY_TV_CHAN_DOWN, "XF86LowerChannel"}, + {REMOTE_KEY_TV_CHAN_LIST, "XF86ChannelList"}, + {REMOTE_KEY_TV_INFO, "XF86Info"}, + {REMOTE_KEY_TV_SWITCHMODE,"XF86Display"}, +}; + +#define REMOTE_KEY_NAMES (sizeof (remote_key_names) / sizeof (remote_key_names[0])) + +#endif // _REMOTE_INPUT_KEYCODE_H
\ No newline at end of file diff --git a/ism/extras/efl_panel/websocketserver.h b/ism/extras/efl_panel/websocketserver.h index 303526cb..d579ad16 100644 --- a/ism/extras/efl_panel/websocketserver.h +++ b/ism/extras/efl_panel/websocketserver.h @@ -295,4 +295,4 @@ protected: Ecore_Pipe *m_recv_message_pipe; }; -#endif // _WEB_HELPER_AGENT_WEBSOCKET_H_ +#endif // _WEB_SOCKET_SERVER_H_ diff --git a/ism/src/isf_remote_control.h b/ism/src/isf_remote_control.h index a97b9522..1ea4d0fd 100644 --- a/ism/src/isf_remote_control.h +++ b/ism/src/isf_remote_control.h @@ -44,6 +44,8 @@ typedef enum { REMOTE_CONTROL_KEY_RIGHT, /**< Right key */ REMOTE_CONTROL_KEY_PAGE_UP, /**< Page up key */ REMOTE_CONTROL_KEY_PAGE_DOWN, /**< Page down key */ + REMOTE_CONTROL_KEY_SELECT, /**< Select key */ + REMOTE_CONTROL_KEY_CANCEL, /**< Cancel key */ } remote_control_key_type_e; /** |