diff --git a/scim-wnn/src/scim_wnn_def.h b/scim-wnn/src/scim_wnn_def.h index 3712288..3daca15 100644 --- a/scim-wnn/src/scim_wnn_def.h +++ b/scim-wnn/src/scim_wnn_def.h @@ -47,6 +47,10 @@ #define SCIM_DEFAULT_WNN_KEY_FORWARD "Right" #define SCIM_CONFIG_WNN_KEY_BACKWARD "/IMEngine/Wnn/Key/Backword" #define SCIM_DEFAULT_WNN_KEY_BACKWARD "Left" +#define SCIM_CONFIG_WNN_KEY_HOME "/IMEngine/Wnn/Key/Home" +#define SCIM_DEFAULT_WNN_KEY_HOME "Home" +#define SCIM_CONFIG_WNN_KEY_END "/IMEngine/Wnn/Key/End" +#define SCIM_DEFAULT_WNN_KEY_END "End" #define SCIM_CONFIG_WNN_KEY_LOOKUPPOPUP "/IMEngine/Wnn/Key/LookupPopup" #define SCIM_DEFAULT_WNN_KEY_LOOKUPPOPUP "Alt+s" #define SCIM_CONFIG_WNN_KEY_LOOKUPPAGEUP "/IMEngine/Wnn/Key/LookupPageUp" diff --git a/scim-wnn/src/scim_wnn_imengine.cpp b/scim-wnn/src/scim_wnn_imengine.cpp index 29d7a03..34c9119 100644 --- a/scim-wnn/src/scim_wnn_imengine.cpp +++ b/scim-wnn/src/scim_wnn_imengine.cpp @@ -259,6 +259,12 @@ scim_string_to_key_list(k_backward, _scim_config->read(String(SCIM_CONFIG_WNN_KEY_BACKWARD), String(SCIM_DEFAULT_WNN_KEY_BACKWARD))); + scim_string_to_key_list(k_home, + _scim_config->read(String(SCIM_CONFIG_WNN_KEY_HOME), + String(SCIM_DEFAULT_WNN_KEY_HOME))); + scim_string_to_key_list(k_end, + _scim_config->read(String(SCIM_CONFIG_WNN_KEY_END), + String(SCIM_DEFAULT_WNN_KEY_END))); scim_string_to_key_list(k_lookup_popup, _scim_config->read(String(SCIM_CONFIG_WNN_KEY_LOOKUPPOPUP), String(SCIM_DEFAULT_WNN_KEY_LOOKUPPOPUP))); @@ -452,6 +458,11 @@ updatePreEditor(); return(true); } else + if (k_home.comp(key) || k_end.comp(key)) { + k_end.comp(key) ? m_preeditor->setPos(m_preeditor->getTextLength()) : m_preeditor->setPos(0); + updatePreEditor(); + return(true); + } else if ((k_backspace.comp(key)) || (k_delete.comp(key))) { k_backspace.comp(key) ? m_preeditor->backspace(): m_preeditor->del(); updatePreEditor(); diff --git a/scim-wnn/src/scim_wnn_imengine.h b/scim-wnn/src/scim_wnn_imengine.h index 42c7921..48998ac 100644 --- a/scim-wnn/src/scim_wnn_imengine.h +++ b/scim-wnn/src/scim_wnn_imengine.h @@ -134,17 +134,19 @@ k_conversion_backward, // ��ʸ�� k_forward, // ���������ư/�� k_backward, // ���������ư/��� + k_home, // ���������ư/��Ƭ + k_end, // ���������ư/���� k_lookup_popup, // �������ɽ�� k_lookup_pageup, // ����������� k_lookup_pagedown, // ����������� k_convert_hiragana, // �Ҥ餬���Ѵ� k_convert_katakana, // ���������Ѵ� + k_auto_conversion, // �Ѵ��⡼�ɥȥ��� // for Wnn7 k_conversion_ikeiji, // �۷����Ѵ� k_conversion_rensou, // Ϣ���Ѵ� k_select_yosoku, // ͽ¬���� - k_auto_conversion, // �Ѵ��⡼�ɥȥ��� k_dummy; };