diff options
author | Peng Wu <alexepico@gmail.com> | 2025-01-07 11:45:23 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2025-01-07 11:45:57 +0800 |
commit | bab868cd3684c98feed4b788654efd5445ea5e80 (patch) | |
tree | 04c1abd0078b104e02be6aa33fe385a889558522 | |
parent | 419f189e2aa0e0b48a201481d2e7f864ae0ca574 (diff) | |
download | ibus-libpinyin-pageupdown.tar.gz ibus-libpinyin-pageupdown.tar.xz ibus-libpinyin-pageupdown.zip |
Support square bracket page optionpageupdown
-rw-r--r-- | src/PYEnglishEditor.cc | 19 | ||||
-rw-r--r-- | src/PYEnglishEditor.h | 2 | ||||
-rw-r--r-- | src/PYExtEditor.cc | 15 | ||||
-rw-r--r-- | src/PYPPinyinEditor.cc | 12 | ||||
-rw-r--r-- | src/PYPPinyinEngine.cc | 3 | ||||
-rw-r--r-- | src/PYPSuggestionEditor.cc | 12 | ||||
-rw-r--r-- | src/PYTableEditor.cc | 12 |
7 files changed, 74 insertions, 1 deletions
diff --git a/src/PYEnglishEditor.cc b/src/PYEnglishEditor.cc index 7e6e52b..9b9aaac 100644 --- a/src/PYEnglishEditor.cc +++ b/src/PYEnglishEditor.cc @@ -97,6 +97,12 @@ EnglishEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers) m_text.insert (m_cursor, keyval); m_cursor ++; } + + if (!m_config.squareBracketPage () && + (IBUS_bracketleft == keyval || IBUS_bracketright == keyval)) { + m_text.insert (m_cursor, keyval); + m_cursor ++; + } } /* Deal other staff with updateStateFromInput (). */ @@ -140,6 +146,12 @@ EnglishEditor::processPageKey (guint keyval) return TRUE; } break; + case IBUS_bracketleft: + if (m_config.squareBracketPage ()) { + pageUp (); + return TRUE; + } + break; case IBUS_period: if (m_config.commaPeriodPage ()) { pageDown (); @@ -152,6 +164,13 @@ EnglishEditor::processPageKey (guint keyval) return TRUE; } break; + case IBUS_bracketright: + if (m_config.squareBracketPage ()) { + pageDown (); + return TRUE; + } + break; + case IBUS_Up: case IBUS_KP_Up: cursorUp (); diff --git a/src/PYEnglishEditor.h b/src/PYEnglishEditor.h index 780c8c7..8f00ed2 100644 --- a/src/PYEnglishEditor.h +++ b/src/PYEnglishEditor.h @@ -29,7 +29,7 @@ namespace PY { class EnglishDatabase; -static const std::string EnglishSymbols = "`~!@*()+[]{}\\|:\"/<>?"; +static const std::string EnglishSymbols = "`~!@*()+{}\\|:\"/<>?"; class EnglishEditor : public Editor { private: diff --git a/src/PYExtEditor.cc b/src/PYExtEditor.cc index 44aecf0..6630b2c 100644 --- a/src/PYExtEditor.cc +++ b/src/PYExtEditor.cc @@ -271,6 +271,14 @@ ExtEditor::processPageKey (guint keyval) return TRUE; } break; +#endif + case IBUS_bracketleft: + if (m_config.squareBracketPage ()) { + pageUp (); + return TRUE; + } + break; +#if 0 //For "2.5" input. case IBUS_period: if (m_config.commaPeriodPage ()) { @@ -285,6 +293,13 @@ ExtEditor::processPageKey (guint keyval) return TRUE; } break; + case IBUS_bracketright: + if (m_config.squareBracketPage ()) { + pageDown (); + return TRUE; + } + break; + case IBUS_Up: case IBUS_KP_Up: cursorUp (); diff --git a/src/PYPPinyinEditor.cc b/src/PYPPinyinEditor.cc index 99efbe3..f2b2d7e 100644 --- a/src/PYPPinyinEditor.cc +++ b/src/PYPPinyinEditor.cc @@ -109,6 +109,12 @@ PinyinEditor::processPunct (guint keyval, guint keycode, return TRUE; } break; + case IBUS_bracketleft: + if (m_config.squareBracketPage ()) { + pageUp (); + return TRUE; + } + break; case IBUS_period: if (m_config.commaPeriodPage ()) { pageDown (); @@ -121,6 +127,12 @@ PinyinEditor::processPunct (guint keyval, guint keycode, return TRUE; } break; + case IBUS_bracketright: + if (m_config.squareBracketPage ()) { + pageDown (); + return TRUE; + } + break; } if (m_config.autoCommit ()) { diff --git a/src/PYPPinyinEngine.cc b/src/PYPPinyinEngine.cc index 2ab6140..d6681f5 100644 --- a/src/PYPPinyinEngine.cc +++ b/src/PYPPinyinEngine.cc @@ -382,6 +382,9 @@ PinyinEngine::processKeyEvent (guint keyval, guint keycode, guint modifiers) /* For full pinyin, "'" is used. */ (PinyinConfig::instance ().doublePinyin () && IBUS_apostrophe == keyval) || + /* Use square brackets to flip page */ + (!PinyinConfig::instance ().squareBracketPage () && + (IBUS_bracketleft == keyval || IBUS_bracketright == keyval)) || /* For double pinyin, ";" is used. */ (!PinyinConfig::instance ().doublePinyin () && IBUS_semicolon == keyval)) && diff --git a/src/PYPSuggestionEditor.cc b/src/PYPSuggestionEditor.cc index 9ce5129..129c093 100644 --- a/src/PYPSuggestionEditor.cc +++ b/src/PYPSuggestionEditor.cc @@ -113,6 +113,12 @@ SuggestionEditor::processPageKey (guint keyval) return TRUE; } break; + case IBUS_bracketleft: + if (m_config.squareBracketPage ()) { + pageUp (); + return TRUE; + } + break; case IBUS_period: if (m_config.commaPeriodPage ()) { pageDown (); @@ -125,6 +131,12 @@ SuggestionEditor::processPageKey (guint keyval) return TRUE; } break; + case IBUS_bracketright: + if (m_config.squareBracketPage ()) { + pageDown (); + return TRUE; + } + break; case IBUS_Up: case IBUS_KP_Up: diff --git a/src/PYTableEditor.cc b/src/PYTableEditor.cc index ddaab57..4c79983 100644 --- a/src/PYTableEditor.cc +++ b/src/PYTableEditor.cc @@ -135,6 +135,12 @@ TableEditor::processPageKey (guint keyval) return TRUE; } break; + case IBUS_bracketleft: + if (m_config.squareBracketPage ()) { + pageUp (); + return TRUE; + } + break; case IBUS_period: if (m_config.commaPeriodPage ()) { pageDown (); @@ -147,6 +153,12 @@ TableEditor::processPageKey (guint keyval) return TRUE; } break; + case IBUS_bracketright: + if (m_config.squareBracketPage ()) { + pageDown (); + return TRUE; + } + break; case IBUS_Up: case IBUS_KP_Up: |