diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2015-11-11 13:44:45 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2015-11-11 13:44:45 +0100 |
commit | 17849b12f232c89bdae16f7e179d3a92a32280ad (patch) | |
tree | 5da1a08fd694971afe7a707069a38d1a1be2f92d /gui/options-dialog.cpp | |
parent | c4c3e746f030e6c5e5a1f8b88762fae95d1b9225 (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.cpp | 13 |
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)); |