[gnome-games] display-view: Translate keyval for shortcuts
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games] display-view: Translate keyval for shortcuts
- Date: Wed, 14 Aug 2019 16:20:16 +0000 (UTC)
commit a378f4b80154e78222341692edda419d046f20b2
Author: Yetizone <andreii lisita gmail com>
Date: Mon Aug 12 14:50:58 2019 +0300
display-view: Translate keyval for shortcuts
This way, shortcuts can work independently of the current keyboard layout.
src/ui/display-view.vala | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/src/ui/display-view.vala b/src/ui/display-view.vala
index aa410863..6cbe1410 100644
--- a/src/ui/display-view.vala
+++ b/src/ui/display-view.vala
@@ -97,7 +97,12 @@ private class Games.DisplayView : Object, UiView {
if (box.on_key_press_event (event))
return true;
- if ((event.keyval == Gdk.Key.f || event.keyval == Gdk.Key.F) &&
+ uint keyval;
+ var keymap = Gdk.Keymap.get_for_display (window.get_display ());
+ keymap.translate_keyboard_state (event.hardware_keycode, event.state,
+ event.group, out keyval, null, null, null);
+
+ if ((keyval == Gdk.Key.f || keyval == Gdk.Key.F) &&
(event.state & default_modifiers) == Gdk.ModifierType.CONTROL_MASK &&
header_bar.can_fullscreen && !savestates_list_state.is_revealed) {
is_fullscreen = !is_fullscreen;
@@ -106,7 +111,7 @@ private class Games.DisplayView : Object, UiView {
return true;
}
- if (event.keyval == Gdk.Key.F11 && header_bar.can_fullscreen &&
+ if (keyval == Gdk.Key.F11 && header_bar.can_fullscreen &&
!savestates_list_state.is_revealed) {
is_fullscreen = !is_fullscreen;
settings.set_boolean ("fullscreen", is_fullscreen);
@@ -114,7 +119,7 @@ private class Games.DisplayView : Object, UiView {
return true;
}
- if (event.keyval == Gdk.Key.Escape && header_bar.can_fullscreen) {
+ if (keyval == Gdk.Key.Escape && header_bar.can_fullscreen) {
is_fullscreen = false;
settings.set_boolean ("fullscreen", false);
@@ -122,8 +127,8 @@ private class Games.DisplayView : Object, UiView {
}
if (((event.state & default_modifiers) == Gdk.ModifierType.MOD1_MASK) &&
- (((window.get_direction () == Gtk.TextDirection.LTR) && event.keyval == Gdk.Key.Left) ||
- ((window.get_direction () == Gtk.TextDirection.RTL) && event.keyval == Gdk.Key.Right))) {
+ (((window.get_direction () == Gtk.TextDirection.LTR) && keyval == Gdk.Key.Left) ||
+ ((window.get_direction () == Gtk.TextDirection.RTL) && keyval == Gdk.Key.Right))) {
on_display_back ();
return true;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]