[Xfce4-commits] <libxfce4ui:jeromeg/keyboard-shortcuts-rework> Rework shortcut parsing using gdk functions.
Jérôme Guelfucci
noreply at xfce.org
Sun May 22 16:26:01 CEST 2011
Updating branch refs/heads/jeromeg/keyboard-shortcuts-rework
to 4868a7bac5234af48748bce09e2a848dfb37a628 (commit)
from 5a4cbdd01c7712934c26a068af8b027b7ac3e1cc (commit)
commit 4868a7bac5234af48748bce09e2a848dfb37a628
Author: Jérôme Guelfucci <jeromeg at xfce.org>
Date: Sun May 22 16:17:53 2011 +0200
Rework shortcut parsing using gdk functions.
libxfce4kbd-private/xfce-shortcuts-grabber.c | 28 ++++++-------------------
1 files changed, 7 insertions(+), 21 deletions(-)
diff --git a/libxfce4kbd-private/xfce-shortcuts-grabber.c b/libxfce4kbd-private/xfce-shortcuts-grabber.c
index e7457a1..0db50e0 100644
--- a/libxfce4kbd-private/xfce-shortcuts-grabber.c
+++ b/libxfce4kbd-private/xfce-shortcuts-grabber.c
@@ -394,34 +394,20 @@ xfce_shortcuts_grabber_parse_shortcut (XfceShortcutsGrabber *grabber,
guint *keycode,
guint *modifiers)
{
- guint keyval;
+ gchar *
+ guint keyval;
g_return_if_fail (XFCE_IS_SHORTCUTS_GRABBER (grabber));
gtk_accelerator_parse (shortcut, &keyval, modifiers);
- *keycode = XKeysymToKeycode (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), keyval);
-
- if ((*modifiers & GDK_SUPER_MASK) == GDK_SUPER_MASK)
- {
- *modifiers |= grabber->priv->modifiers[CACHE_SUPER];
- *modifiers ^= GDK_SUPER_MASK;
- }
-
- if ((*modifiers & GDK_HYPER_MASK) == GDK_HYPER_MASK)
- {
- *modifiers |= grabber->priv->modifiers[CACHE_HYPER];
- *modifiers ^= GDK_HYPER_MASK;
- }
+ /* Map virtual modifiers to non-virtual modifiers */
+ gdk_keymap_map_virtual_modifiers (gdk_keymap_get_default (),
+ modifiers);
- if ((*modifiers & GDK_META_MASK) == GDK_META_MASK)
- {
- *modifiers |= grabber->priv->modifiers[CACHE_META];
- *modifiers ^= GDK_META_MASK;
- }
+ *keycode = XKeysymToKeycode (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), keyval);
- *modifiers &= MODIFIER_MASK;
- *modifiers &= ~xfce_shortcuts_grabber_get_ignore_mask (grabber);
+ TRACE ("Parsed %s", gtk_accelerator_name (keyval, *modifiers));
}
More information about the Xfce4-commits
mailing list