Skip to content

Commit

Permalink
fix: skip key combos with super modifier
Browse files Browse the repository at this point in the history
closes #458
  • Loading branch information
lotem committed Jan 25, 2023
1 parent 2a12cb8 commit 80bef8f
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/rime/gear/editor.cc
Expand Up @@ -58,7 +58,7 @@ ProcessResult Editor::ProcessKeyEvent(const KeyEvent& key_event) {
}
}
if (char_handler_ &&
!key_event.ctrl() && !key_event.alt() &&
!key_event.ctrl() && !key_event.alt() && !key_event.super() &&
ch > 0x20 && ch < 0x7f) {
DLOG(INFO) << "input char: '" << (char)ch << "', " << ch
<< ", '" << key_event.repr() << "'";
Expand Down
3 changes: 2 additions & 1 deletion src/rime/gear/punctuator.cc
Expand Up @@ -59,7 +59,8 @@ static bool punctuation_is_translated(Context* ctx) {
}

ProcessResult Punctuator::ProcessKeyEvent(const KeyEvent& key_event) {
if (key_event.release() || key_event.ctrl() || key_event.alt())
if (key_event.release() ||
key_event.ctrl() || key_event.alt() || key_event.super())
return kNoop;
int ch = key_event.keycode();
if (ch < 0x20 || ch >= 0x7f)
Expand Down
3 changes: 2 additions & 1 deletion src/rime/gear/recognizer.cc
Expand Up @@ -80,7 +80,8 @@ Recognizer::Recognizer(const Ticket& ticket) : Processor(ticket) {

ProcessResult Recognizer::ProcessKeyEvent(const KeyEvent& key_event) {
if (patterns_.empty() ||
key_event.ctrl() || key_event.alt() || key_event.release()) {
key_event.ctrl() || key_event.alt() || key_event.super() ||
key_event.release()) {
return kNoop;
}
int ch = key_event.keycode();
Expand Down
3 changes: 2 additions & 1 deletion src/rime/gear/shape.cc
Expand Up @@ -41,7 +41,8 @@ ProcessResult ShapeProcessor::ProcessKeyEvent(const KeyEvent& key_event) {
if (!engine_->context()->get_option("full_shape")) {
return kNoop;
}
if (key_event.ctrl() || key_event.alt() || key_event.release()) {
if (key_event.ctrl() || key_event.alt() || key_event.super() ||
key_event.release()) {
return kNoop;
}
int ch = key_event.keycode();
Expand Down
3 changes: 2 additions & 1 deletion src/rime/gear/speller.cc
Expand Up @@ -90,7 +90,8 @@ Speller::Speller(const Ticket& ticket) : Processor(ticket),
}

ProcessResult Speller::ProcessKeyEvent(const KeyEvent& key_event) {
if (key_event.release() || key_event.ctrl() || key_event.alt())
if (key_event.release() ||
key_event.ctrl() || key_event.alt() || key_event.super())
return kNoop;
int ch = key_event.keycode();
if (ch < 0x20 || ch >= 0x7f) // not a valid key for spelling
Expand Down

0 comments on commit 80bef8f

Please sign in to comment.