summaryrefslogtreecommitdiffhomepage
path: root/opentrack
diff options
context:
space:
mode:
Diffstat (limited to 'opentrack')
-rw-r--r--opentrack/shortcuts.cpp15
-rw-r--r--opentrack/shortcuts.h4
2 files changed, 13 insertions, 6 deletions
diff --git a/opentrack/shortcuts.cpp b/opentrack/shortcuts.cpp
index d68da30e..81393ae3 100644
--- a/opentrack/shortcuts.cpp
+++ b/opentrack/shortcuts.cpp
@@ -132,18 +132,25 @@ void Shortcuts::bind_keyboard_shortcut(K &key, key_opts& k)
key->setShortcut(QKeySequence::UnknownKey);
}
- if (k.keycode)
+ if (k.keycode != "")
{
- key->setShortcut(QKeySequence(k.keycode));
+ key->setShortcut(QKeySequence::fromString(k.keycode, QKeySequence::PortableText));
key->setEnabled();
}
}
#else
key = K();
int idx = 0;
+ QKeySequence seq;;
+
+ if (k.keycode == "")
+ code = QKeySequence(Qt::Key_unknown);
+ else
+ code = QKeySequence::fromString(k.keycode, QKeySequence::PortableText)
+
Qt::KeyboardModifiers mods = Qt::NoModifier;
- if (k.keycode != Qt::Key_unknown)
- win_key::from_qt(QKeySequence(k.keycode), idx, mods);
+ if (code != Qt::Key_unknown)
+ win_key::from_qt(code, idx, mods);
key.shift = !!(mods & Qt::ShiftModifier);
key.alt = !!(mods & Qt::AltModifier);
key.ctrl = !!(mods & Qt::ControlModifier);
diff --git a/opentrack/shortcuts.h b/opentrack/shortcuts.h
index 6a9a6f77..2d7fec54 100644
--- a/opentrack/shortcuts.h
+++ b/opentrack/shortcuts.h
@@ -27,10 +27,10 @@ using namespace options;
extern QList<QString> global_key_sequences;
struct key_opts {
- value<int> keycode;
+ value<QString> keycode;
key_opts(pbundle b, const QString& name) :
- keycode(b, QString("keycode-%1").arg(name), 0)
+ keycode(b, QString("keycode-%1").arg(name), "")
{}
};