From fb2d33c6a3f3d7e32130bb1d82a5a8ce13d7ecd4 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 26 Aug 2020 03:42:05 +0200 Subject: [PATCH] vkeybd: allow to disable keyboard input #8377 --- gtk2_ardour/piano_key_bindings.cc | 7 ++++++- gtk2_ardour/piano_key_bindings.h | 1 + gtk2_ardour/rc_option_editor.cc | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/piano_key_bindings.cc b/gtk2_ardour/piano_key_bindings.cc index 2e3e1330c4..25cdc4d9dd 100644 --- a/gtk2_ardour/piano_key_bindings.cc +++ b/gtk2_ardour/piano_key_bindings.cc @@ -35,6 +35,9 @@ void PianoKeyBindings::set_layout (Layout layout) { switch (layout) { + case NO_KEYS: + clear_notes (); + break; case QWERTY: bind_keys_qwerty (); break; @@ -91,11 +94,13 @@ PianoKeyBindings::layout (std::string const& l) return S_QWERTY; } else if (l == "QWERTZ Single") { return S_QWERTZ; + } else if (l == "None") { + return NO_KEYS; } // Unrecognized keyboard layout, maybe an assert is too stringent though assert(false); - return QWERTY; + return NO_KEYS; } const char* diff --git a/gtk2_ardour/piano_key_bindings.h b/gtk2_ardour/piano_key_bindings.h index 68e33649ea..139149598b 100644 --- a/gtk2_ardour/piano_key_bindings.h +++ b/gtk2_ardour/piano_key_bindings.h @@ -36,6 +36,7 @@ public: ~PianoKeyBindings (); enum Layout { + NO_KEYS, QWERTY, QWERTZ, AZERTY, diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index d97d409b8e..ac680efc34 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -3086,6 +3086,7 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_vkeybd_layout) ); + vkeybdlayout->add ("None", _("Mouse-only (no keyboard)")); vkeybdlayout->add ("QWERTY", _("QWERTY")); vkeybdlayout->add ("QWERTZ", _("QWERTZ")); vkeybdlayout->add ("AZERTY", _("AZERTY"));