aboutsummaryrefslogtreecommitdiff
path: root/src/keymap/KeySeqParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/keymap/KeySeqParser.cpp')
-rw-r--r--src/keymap/KeySeqParser.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/keymap/KeySeqParser.cpp b/src/keymap/KeySeqParser.cpp
index 555e955..192f436 100644
--- a/src/keymap/KeySeqParser.cpp
+++ b/src/keymap/KeySeqParser.cpp
@@ -80,3 +80,16 @@ Qt::Key KeySeqParser::parse_key(const QString &key_name) {
return Qt::Key_T;
}
+
+KeyMatchType KeySeqParser::key_sequence_match(const KeySequence &target,
+ const KeySequence &current) {
+ for (int i = 0; i < target.length(); i++) {
+ if (current.length() <= i)
+ return KeyMatchType::Pending;
+
+ if (target[i].key != current[i].key || !target[i].mod.testFlags(current[i].mod))
+ return KeyMatchType::NoMatch;
+ }
+
+ return KeyMatchType::Match;
+}