VKeybd: Pass on primary (Ctrl/Cmd) shortcuts

This allows Ctrl/Cmd+s (save) and Ctrl/Cmd+z (undo) etc shortcuts
to work, even though the virtual-keyboard is visible.
This commit is contained in:
Robin Gareus 2019-12-15 20:34:14 +01:00
parent e1c0f99ef2
commit 6fa14a1b47
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
1 changed files with 9 additions and 0 deletions

View File

@ -30,6 +30,8 @@
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
#include "gtkmm2ext/keyboard.h"
#include "pianokeyboard.h"
#ifndef M_PI
@ -559,6 +561,10 @@ get_keycode (GdkEventKey* event)
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);
@ -594,6 +600,9 @@ APianoKeyboard::on_key_press_event (GdkEventKey* event)
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) {