This allows Ctrl/Cmd+s (save) and Ctrl/Cmd+z (undo) etc shortcuts
to work, even though the virtual-keyboard is visible.
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
+#include "gtkmm2ext/keyboard.h"
+
#include "pianokeyboard.h"
#ifndef M_PI
bool
APianoKeyboard::on_key_press_event (GdkEventKey* event)
{
+ if (Gtkmm2ext::Keyboard::modifier_state_contains (event->state, Gtkmm2ext::Keyboard::PrimaryModifier)) {
+ return false;
+ }
+
char const* key = get_keycode (event);
int note = key_binding (key);
bool
APianoKeyboard::on_key_release_event (GdkEventKey* event)
{
+ if (Gtkmm2ext::Keyboard::modifier_state_contains (event->state, Gtkmm2ext::Keyboard::PrimaryModifier)) {
+ return false;
+ }
char const* key = get_keycode (event);
if (!key) {