mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 15:54:57 +01:00
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:
parent
e1c0f99ef2
commit
6fa14a1b47
1 changed files with 9 additions and 0 deletions
|
|
@ -30,6 +30,8 @@
|
||||||
#include <gdk/gdkkeysyms.h>
|
#include <gdk/gdkkeysyms.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
#include "gtkmm2ext/keyboard.h"
|
||||||
|
|
||||||
#include "pianokeyboard.h"
|
#include "pianokeyboard.h"
|
||||||
|
|
||||||
#ifndef M_PI
|
#ifndef M_PI
|
||||||
|
|
@ -559,6 +561,10 @@ get_keycode (GdkEventKey* event)
|
||||||
bool
|
bool
|
||||||
APianoKeyboard::on_key_press_event (GdkEventKey* event)
|
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);
|
char const* key = get_keycode (event);
|
||||||
int note = key_binding (key);
|
int note = key_binding (key);
|
||||||
|
|
||||||
|
|
@ -594,6 +600,9 @@ APianoKeyboard::on_key_press_event (GdkEventKey* event)
|
||||||
bool
|
bool
|
||||||
APianoKeyboard::on_key_release_event (GdkEventKey* event)
|
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);
|
char const* key = get_keycode (event);
|
||||||
|
|
||||||
if (!key) {
|
if (!key) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue