summaryrefslogtreecommitdiffhomepage
path: root/gui/options-dialog.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2015-11-11 13:44:45 +0100
committerStanislaw Halik <sthalik@misaki.pl>2015-11-11 13:44:45 +0100
commit17849b12f232c89bdae16f7e179d3a92a32280ad (patch)
tree5da1a08fd694971afe7a707069a38d1a1be2f92d /gui/options-dialog.cpp
parentc4c3e746f030e6c5e5a1f8b88762fae95d1b9225 (diff)
shortcuts: map joystick buttons on depress only
Some buttons like the X65 mode switch are held all the time. Prevent them from hogging all the keybindings. Issue: #118
Diffstat (limited to 'gui/options-dialog.cpp')
-rw-r--r--gui/options-dialog.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/gui/options-dialog.cpp b/gui/options-dialog.cpp
index c8bf668d..4cff6e77 100644
--- a/gui/options-dialog.cpp
+++ b/gui/options-dialog.cpp
@@ -90,11 +90,14 @@ void OptionsDialog::bind_key(Shortcuts::key_opts& kopts, QLabel* label)
kopts.button = -1;
d.close();
});
- connect(k, &KeyboardListener::joystick_button_pressed, [&](QString guid, int idx) -> void {
- kopts.guid = guid;
- kopts.keycode = "";
- kopts.button = idx;
- d.close();
+ connect(k, &KeyboardListener::joystick_button_pressed, [&](QString guid, int idx, bool held) -> void {
+ if (!held)
+ {
+ kopts.guid = guid;
+ kopts.keycode = "";
+ kopts.button = idx;
+ d.close();
+ }
});
d.exec();
label->setText(kopts_to_string(kopts));