Added GdkDisplay to GdkKeymap
Removed all for_display associated to GdkKeymap
This commit is contained in:
@@ -31,11 +31,11 @@ struct _GdkFont
|
||||
|
||||
GType gdk_font_get_type (void);
|
||||
|
||||
GdkFont *gdk_font_load_for_display (const gchar * font_name,
|
||||
GdkDisplay * display);
|
||||
GdkFont *gdk_font_load_for_display (GdkDisplay * display,
|
||||
const gchar * font_name);
|
||||
GdkFont* gdk_font_load (const gchar *font_name);
|
||||
GdkFont *gdk_fontset_load_for_display (const gchar * fontset_name,
|
||||
GdkDisplay * display);
|
||||
GdkFont *gdk_fontset_load_for_display (GdkDisplay * display,
|
||||
const gchar * fontset_name);
|
||||
GdkFont* gdk_fontset_load (const gchar *fontset_name);
|
||||
GdkFont *gdk_font_from_description_for_display (GdkDisplay * display,
|
||||
PangoFontDescription *font_desc);
|
||||
|
||||
@@ -24,8 +24,11 @@
|
||||
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
||||
*/
|
||||
|
||||
#include "gdkkeys.h"
|
||||
#include <config.h>
|
||||
#include "gdkdisplay.h"
|
||||
#include "gdkdisplaymgr.h"
|
||||
#include "gdkinternals.h"
|
||||
#include "gdkkeys.h"
|
||||
|
||||
static void gdk_keymap_init (GdkKeymap *keymap);
|
||||
static void gdk_keymap_class_init (GdkKeymapClass *klass);
|
||||
@@ -85,13 +88,21 @@ gdk_keymap_finalize (GObject *object)
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
GdkKeymap*
|
||||
gdk_keymap_new (GdkDisplay *display)
|
||||
{
|
||||
GdkKeymap *keymap = g_object_new (gdk_keymap_get_type (), NULL);
|
||||
keymap->display = display;
|
||||
return keymap;
|
||||
}
|
||||
|
||||
GdkKeymap*
|
||||
gdk_keymap_get_default (void)
|
||||
{
|
||||
static GdkKeymap *keymap = NULL;
|
||||
|
||||
if (keymap == NULL)
|
||||
keymap = g_object_new (gdk_keymap_get_type (), NULL);
|
||||
keymap = gdk_keymap_new(DEFAULT_GDK_DISPLAY);
|
||||
|
||||
return keymap;
|
||||
}
|
||||
|
||||
@@ -64,7 +64,8 @@ typedef struct _GdkKeymapClass GdkKeymapClass;
|
||||
|
||||
struct _GdkKeymap
|
||||
{
|
||||
GObject parent_instance;
|
||||
GObject parent_instance;
|
||||
GdkDisplay* display;
|
||||
};
|
||||
|
||||
struct _GdkKeymapClass
|
||||
@@ -75,23 +76,11 @@ struct _GdkKeymapClass
|
||||
GType gdk_keymap_get_type (void) G_GNUC_CONST;
|
||||
|
||||
GdkKeymap* gdk_keymap_get_default (void);
|
||||
GdkKeymap* gdk_keymap_new (GdkDisplay * display);
|
||||
|
||||
guint gdk_keymap_lookup_key_for_display (GdkKeymap * keymap,
|
||||
const GdkKeymapKey * key,
|
||||
GdkDisplay * display);
|
||||
|
||||
guint gdk_keymap_lookup_key (GdkKeymap *keymap,
|
||||
const GdkKeymapKey *key);
|
||||
gboolean
|
||||
gdk_keymap_translate_keyboard_state_for_display (GdkKeymap * keymap,
|
||||
guint hardware_keycode,
|
||||
GdkDisplay * display,
|
||||
GdkModifierType state,
|
||||
gint group,
|
||||
guint * keyval,
|
||||
gint * effective_group,
|
||||
gint * level,
|
||||
GdkModifierType *unused_modifiers);
|
||||
gboolean gdk_keymap_translate_keyboard_state (GdkKeymap *keymap,
|
||||
guint hardware_keycode,
|
||||
GdkModifierType state,
|
||||
@@ -100,21 +89,10 @@ gboolean gdk_keymap_translate_keyboard_state (GdkKeymap *keymap,
|
||||
gint *effective_group,
|
||||
gint *level,
|
||||
GdkModifierType *unused_modifiers);
|
||||
gboolean gdk_keymap_get_entries_for_keyval_for_display (GdkKeymap * keymap,
|
||||
guint keyval,
|
||||
GdkDisplay * display,
|
||||
GdkKeymapKey ** keys,
|
||||
gint * n_keys);
|
||||
gboolean gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap,
|
||||
guint keyval,
|
||||
GdkKeymapKey **keys,
|
||||
gint *n_keys);
|
||||
gboolean gdk_keymap_get_entries_for_keycode_for_display (GdkKeymap * keymap,
|
||||
guint hardware_keycode,
|
||||
GdkDisplay * display,
|
||||
GdkKeymapKey ** keys,
|
||||
guint ** keyvals,
|
||||
gint * n_entries);
|
||||
gboolean gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap,
|
||||
guint hardware_keycode,
|
||||
GdkKeymapKey **keys,
|
||||
|
||||
@@ -155,7 +155,7 @@ gdk_font_hash_lookup (GdkDisplay *display, GdkFontType type, const gchar *font_n
|
||||
}
|
||||
|
||||
GdkFont *
|
||||
gdk_font_load_for_display (const gchar * font_name, GdkDisplay * display)
|
||||
gdk_font_load_for_display (GdkDisplay * display, const gchar * font_name)
|
||||
{
|
||||
GdkFont *font;
|
||||
GdkFontPrivateX *private;
|
||||
@@ -205,7 +205,7 @@ GdkFont*
|
||||
gdk_font_load (const gchar *font_name)
|
||||
{
|
||||
GDK_NOTE(MULTIHEAD,g_message("Use gdk_font_load_for_display instead\n"));
|
||||
return gdk_font_load_for_display(font_name,DEFAULT_GDK_DISPLAY);
|
||||
return gdk_font_load_for_display (DEFAULT_GDK_DISPLAY, font_name);
|
||||
}
|
||||
|
||||
char *
|
||||
@@ -269,7 +269,7 @@ gdk_font_from_description_for_display (GdkDisplay * display,
|
||||
&subfont_ids, &subfont_charsets);
|
||||
if (n_subfonts > 0) {
|
||||
gchar *xlfd = pango_x_font_subfont_xlfd (font, subfont_ids[0]);
|
||||
result = gdk_font_load_for_display (xlfd, display);
|
||||
result = gdk_font_load_for_display (display, xlfd);
|
||||
|
||||
g_free (xlfd);
|
||||
}
|
||||
@@ -306,8 +306,8 @@ gdk_font_from_description (PangoFontDescription *font_desc)
|
||||
}
|
||||
|
||||
GdkFont *
|
||||
gdk_fontset_load_for_display (const gchar * fontset_name,
|
||||
GdkDisplay * display)
|
||||
gdk_fontset_load_for_display (GdkDisplay * display,
|
||||
const gchar * fontset_name)
|
||||
{
|
||||
GdkFont *font;
|
||||
GdkFontPrivateX *private;
|
||||
@@ -372,7 +372,7 @@ GdkFont*
|
||||
gdk_fontset_load (const gchar *fontset_name)
|
||||
{
|
||||
GDK_NOTE(MULTIHEAD,g_message("Use gdk_fontset_load_for_display instead\n"));
|
||||
return gdk_fontset_load_for_display(fontset_name,DEFAULT_GDK_DISPLAY);
|
||||
return gdk_fontset_load_for_display(DEFAULT_GDK_DISPLAY, fontset_name);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -198,10 +198,9 @@ get_keymap_for_display (GdkDisplay * display)
|
||||
|
||||
|
||||
/**
|
||||
* gdk_keymap_get_entries_for_keyval_for_display:
|
||||
* gdk_keymap_get_entries_for_keyval:
|
||||
* @keymap: a #GdkKeymap, or %NULL to use the default keymap
|
||||
* @keyval: a keyval, such as %GDK_a, %GDK_Up, %GDK_Return, etc.
|
||||
* @display: the display where to retrieve the #GdkKeymap
|
||||
* @keys: return location for an array of #GdkKeymapKey
|
||||
* @n_keys: return location for number of elements in returned array
|
||||
*
|
||||
@@ -219,22 +218,24 @@ get_keymap_for_display (GdkDisplay * display)
|
||||
*
|
||||
* Return value: %TRUE if keys were found and returned
|
||||
**/
|
||||
|
||||
gboolean
|
||||
gdk_keymap_get_entries_for_keyval_for_display (GdkKeymap * keymap,
|
||||
guint keyval,
|
||||
GdkDisplay * display,
|
||||
GdkKeymapKey ** keys,
|
||||
gint * n_keys)
|
||||
gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap,
|
||||
guint keyval,
|
||||
GdkKeymapKey **keys,
|
||||
gint *n_keys)
|
||||
{
|
||||
GArray *retval;
|
||||
GdkDisplayImplX11 *dpy_impl = GDK_DISPLAY_IMPL_X11 (display);
|
||||
GdkDisplayImplX11 *dpy_impl;
|
||||
GdkDisplay *display;
|
||||
|
||||
g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE);
|
||||
g_return_val_if_fail (keys != NULL, FALSE);
|
||||
g_return_val_if_fail (n_keys != NULL, FALSE);
|
||||
g_return_val_if_fail (keyval != 0, FALSE);
|
||||
|
||||
display = keymap->display;
|
||||
dpy_impl = GDK_DISPLAY_IMPL_X11 (display);
|
||||
|
||||
retval = g_array_new (FALSE, FALSE, sizeof (GdkKeymapKey));
|
||||
|
||||
#ifdef HAVE_XKB
|
||||
@@ -349,43 +350,9 @@ gdk_keymap_get_entries_for_keyval_for_display (GdkKeymap * keymap,
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_keymap_get_entries_for_keyval:
|
||||
* @keymap: a #GdkKeymap, or %NULL to use the default keymap
|
||||
* @keyval: a keyval, such as %GDK_a, %GDK_Up, %GDK_Return, etc.
|
||||
* @keys: return location for an array of #GdkKeymapKey
|
||||
* @n_keys: return location for number of elements in returned array
|
||||
*
|
||||
* Obtains a list of keycode/group/level combinations that will
|
||||
* generate @keyval. Groups and levels are two kinds of keyboard mode;
|
||||
* in general, the level determines whether the top or bottom symbol
|
||||
* on a key is used, and the group determines whether the left or
|
||||
* right symbol is used. On US keyboards, the shift key changes the
|
||||
* keyboard level, and there are no groups. A group switch key might
|
||||
* convert a keyboard between Hebrew to English modes, for example.
|
||||
* #GdkEventKey contains a %group field that indicates the active
|
||||
* keyboard group. The level is computed from the modifier mask.
|
||||
* The returned array should be freed
|
||||
* with g_free().
|
||||
*
|
||||
* Return value: %TRUE if keys were found and returned
|
||||
**/
|
||||
gboolean
|
||||
gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap,
|
||||
guint keyval,
|
||||
GdkKeymapKey **keys,
|
||||
gint *n_keys)
|
||||
{
|
||||
GDK_NOTE(MULTIHEAD,g_message("Use gdk_keymap_get_entries_for_keyval_for_display instead\n"));
|
||||
return gdk_keymap_get_entries_for_keyval_for_display(keymap,
|
||||
keyval,DEFAULT_GDK_DISPLAY,
|
||||
keys,n_keys);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_keymap_get_entries_for_keycode_for_display:
|
||||
* gdk_keymap_get_entries_for_keycode:
|
||||
* @keymap: a #GdkKeymap or %NULL to use the default keymap
|
||||
* @hardware_keycode: a keycode
|
||||
* @display : the display where to retrieve the #GdkKeymap
|
||||
* @keys: return location for array of #GdkKeymapKey, or NULL
|
||||
* @keyvals: return location for array of keyvals, or NULL
|
||||
* @n_entries: length of @keys and @keyvals
|
||||
@@ -399,22 +366,24 @@ gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap,
|
||||
*
|
||||
* Returns: %TRUE if there were any entries
|
||||
**/
|
||||
|
||||
gboolean
|
||||
gdk_keymap_get_entries_for_keycode_for_display (GdkKeymap * keymap,
|
||||
guint hardware_keycode,
|
||||
GdkDisplay * display,
|
||||
GdkKeymapKey ** keys,
|
||||
guint ** keyvals,
|
||||
gint * n_entries)
|
||||
gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap,
|
||||
guint hardware_keycode,
|
||||
GdkKeymapKey **keys,
|
||||
guint **keyvals,
|
||||
gint *n_entries)
|
||||
{
|
||||
GArray *key_array;
|
||||
GArray *keyval_array;
|
||||
GdkDisplayImplX11 *dpy_impl = GDK_DISPLAY_IMPL_X11 (display);
|
||||
GdkDisplay *display;
|
||||
GdkDisplayImplX11 *dpy_impl;
|
||||
|
||||
g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE);
|
||||
g_return_val_if_fail (n_entries != NULL, FALSE);
|
||||
|
||||
display = keymap->display;
|
||||
dpy_impl = GDK_DISPLAY_IMPL_X11 (display);
|
||||
|
||||
update_keyrange_for_display (display);
|
||||
|
||||
if (hardware_keycode < dpy_impl->min_keycode ||
|
||||
@@ -555,64 +524,6 @@ gdk_keymap_get_entries_for_keycode_for_display (GdkKeymap * keymap,
|
||||
return *n_entries > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_keymap_get_entries_for_keycode:
|
||||
* @keymap: a #GdkKeymap or %NULL to use the default keymap
|
||||
* @hardware_keycode: a keycode
|
||||
* @keys: return location for array of #GdkKeymapKey, or NULL
|
||||
* @keyvals: return location for array of keyvals, or NULL
|
||||
* @n_entries: length of @keys and @keyvals
|
||||
*
|
||||
* Returns the keyvals bound to @hardware_keycode.
|
||||
* The Nth #GdkKeymapKey in @keys is bound to the Nth
|
||||
* keyval in @keyvals. Free the returned arrays with g_free().
|
||||
* When a keycode is pressed by the user, the keyval from
|
||||
* this list of entries is selected by considering the effective
|
||||
* keyboard group and level. See gdk_keymap_translate_keyboard_state().
|
||||
*
|
||||
* Returns: %TRUE if there were any entries
|
||||
**/
|
||||
gboolean
|
||||
gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap,
|
||||
guint hardware_keycode,
|
||||
GdkKeymapKey **keys,
|
||||
guint **keyvals,
|
||||
gint *n_entries)
|
||||
{
|
||||
return gdk_keymap_get_entries_for_keycode_for_display(keymap,
|
||||
hardware_keycode,
|
||||
DEFAULT_GDK_DISPLAY,
|
||||
keys,keyvals,
|
||||
n_entries);
|
||||
}
|
||||
guint
|
||||
gdk_keymap_lookup_key_for_display (GdkKeymap * keymap,
|
||||
const GdkKeymapKey * key,
|
||||
GdkDisplay * display)
|
||||
{
|
||||
|
||||
GdkDisplayImplX11 *dpy_impl = GDK_DISPLAY_IMPL_X11 (display);
|
||||
g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), 0);
|
||||
g_return_val_if_fail (key != NULL, 0);
|
||||
g_return_val_if_fail (key->group < 4, 0);
|
||||
|
||||
#ifdef HAVE_XKB
|
||||
if (dpy_impl->_gdk_use_xkb) {
|
||||
XkbDescRec *xkb = get_xkb_for_display (display);
|
||||
|
||||
return XkbKeySymEntry (xkb, key->keycode, key->level, key->group);
|
||||
}
|
||||
else
|
||||
#endif /*HAVE_XKB*/
|
||||
{
|
||||
update_keymaps_for_display (display);
|
||||
|
||||
return XKeycodeToKeysym (dpy_impl->xdisplay, key->keycode,
|
||||
key->group * dpy_impl->keysyms_per_keycode +
|
||||
key->level);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_keymap_lookup_key:
|
||||
* @keymap: a #GdkKeymap or %NULL to use the default keymap
|
||||
@@ -630,8 +541,27 @@ guint
|
||||
gdk_keymap_lookup_key (GdkKeymap *keymap,
|
||||
const GdkKeymapKey *key)
|
||||
{
|
||||
GDK_NOTE(MULTIHEAD,g_message("Use gdk_keymap_lookup_key_for_display instead\n"));
|
||||
return gdk_keymap_lookup_key_for_display(keymap,key,DEFAULT_GDK_DISPLAY);
|
||||
GdkDisplayImplX11 *dpy_impl;
|
||||
g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), 0);
|
||||
g_return_val_if_fail (key != NULL, 0);
|
||||
g_return_val_if_fail (key->group < 4, 0);
|
||||
dpy_impl = GDK_DISPLAY_IMPL_X11 (keymap->display);
|
||||
|
||||
#ifdef HAVE_XKB
|
||||
if (dpy_impl->_gdk_use_xkb) {
|
||||
XkbDescRec *xkb = get_xkb_for_display (keymap->display);
|
||||
|
||||
return XkbKeySymEntry (xkb, key->keycode, key->level, key->group);
|
||||
}
|
||||
else
|
||||
#endif /*HAVE_XKB*/
|
||||
{
|
||||
update_keymaps_for_display (keymap->display);
|
||||
|
||||
return XKeycodeToKeysym (dpy_impl->xdisplay, key->keycode,
|
||||
key->group * dpy_impl->keysyms_per_keycode +
|
||||
key->level);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_XKB
|
||||
@@ -744,19 +674,42 @@ MyEnhancedXkbTranslateKeyCode(register XkbDescPtr xkb,
|
||||
}
|
||||
#endif /* HAVE_XKB */
|
||||
|
||||
/**
|
||||
* gdk_keymap_translate_keyboard_state:
|
||||
* @keymap: a #GdkKeymap, or %NULL to use the default
|
||||
* @hardware_keycode: a keycode
|
||||
* @state: a modifier state
|
||||
* @group: active keyboard group
|
||||
* @keyval: return location for keyval
|
||||
* @effective_group: return location for effective group
|
||||
* @level: return location for level
|
||||
* @unused_modifiers: return location for modifiers that didn't affect the group or level
|
||||
*
|
||||
*
|
||||
* Translates the contents of a #GdkEventKey into a keyval, effective
|
||||
* group, and level. Modifiers that didn't affect the translation and
|
||||
* are thus available for application use are returned in
|
||||
* @unused_modifiers. See gdk_keyval_get_keys() for an explanation of
|
||||
* groups and levels. The @effective_group is the group that was
|
||||
* actually used for the translation; some keys such as Enter are not
|
||||
* affected by the active keyboard group. The @level is derived from
|
||||
* @state. For convenience, #GdkEventKey already contains the translated
|
||||
* keyval, so this function isn't as useful as you might think.
|
||||
*
|
||||
* Return value: %TRUE if there was a keyval bound to the keycode/state/group
|
||||
**/
|
||||
gboolean
|
||||
gdk_keymap_translate_keyboard_state_for_display (GdkKeymap * keymap,
|
||||
guint hardware_keycode,
|
||||
GdkDisplay * display,
|
||||
GdkModifierType state,
|
||||
gint group,
|
||||
guint * keyval,
|
||||
gint * effective_group,
|
||||
gint * level,
|
||||
GdkModifierType *
|
||||
unused_modifiers)
|
||||
gdk_keymap_translate_keyboard_state (GdkKeymap *keymap,
|
||||
guint hardware_keycode,
|
||||
GdkModifierType state,
|
||||
gint group,
|
||||
guint *keyval,
|
||||
gint *effective_group,
|
||||
gint *level,
|
||||
GdkModifierType *unused_modifiers)
|
||||
{
|
||||
GdkDisplayImplX11 *dpy_impl = GDK_DISPLAY_IMPL_X11 (display);
|
||||
GdkDisplay *display = keymap->display;
|
||||
GdkDisplayImplX11 *dpy_impl = GDK_DISPLAY_IMPL_X11 (keymap->display);
|
||||
KeySym tmp_keyval = NoSymbol;
|
||||
|
||||
g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE);
|
||||
@@ -832,49 +785,6 @@ gdk_keymap_translate_keyboard_state_for_display (GdkKeymap * keymap,
|
||||
|
||||
return tmp_keyval != NoSymbol;
|
||||
}
|
||||
/**
|
||||
* gdk_keymap_translate_keyboard_state:
|
||||
* @keymap: a #GdkKeymap, or %NULL to use the default
|
||||
* @hardware_keycode: a keycode
|
||||
* @state: a modifier state
|
||||
* @group: active keyboard group
|
||||
* @keyval: return location for keyval
|
||||
* @effective_group: return location for effective group
|
||||
* @level: return location for level
|
||||
* @unused_modifiers: return location for modifiers that didn't affect the group or level
|
||||
*
|
||||
*
|
||||
* Translates the contents of a #GdkEventKey into a keyval, effective
|
||||
* group, and level. Modifiers that didn't affect the translation and
|
||||
* are thus available for application use are returned in
|
||||
* @unused_modifiers. See gdk_keyval_get_keys() for an explanation of
|
||||
* groups and levels. The @effective_group is the group that was
|
||||
* actually used for the translation; some keys such as Enter are not
|
||||
* affected by the active keyboard group. The @level is derived from
|
||||
* @state. For convenience, #GdkEventKey already contains the translated
|
||||
* keyval, so this function isn't as useful as you might think.
|
||||
*
|
||||
* Return value: %TRUE if there was a keyval bound to the keycode/state/group
|
||||
**/
|
||||
gboolean
|
||||
gdk_keymap_translate_keyboard_state (GdkKeymap *keymap,
|
||||
guint hardware_keycode,
|
||||
GdkModifierType state,
|
||||
gint group,
|
||||
guint *keyval,
|
||||
gint *effective_group,
|
||||
gint *level,
|
||||
GdkModifierType *unused_modifiers)
|
||||
{
|
||||
GDK_NOTE(MULTIHEAD,
|
||||
g_message("Use gdk_keymap_translate_keyboard_state_for_display instead\n"));
|
||||
return gdk_keymap_translate_keyboard_state_for_display(keymap,hardware_keycode,
|
||||
DEFAULT_GDK_DISPLAY,
|
||||
state,group,keyval,
|
||||
effective_group,
|
||||
level,
|
||||
unused_modifiers);
|
||||
}
|
||||
|
||||
|
||||
/* Key handling not part of the keymap */
|
||||
|
||||
@@ -1073,11 +1073,10 @@ canonical_hex_keyval (GdkEventKey *event)
|
||||
/* See if this key would have generated a hex keyval in
|
||||
* any other state, and return that hex keyval if so
|
||||
*/
|
||||
gdk_keymap_get_entries_for_keycode_for_display (NULL,
|
||||
event->hardware_keycode,
|
||||
gdk_window_get_display(event->window),
|
||||
NULL,
|
||||
&keyvals, &n_vals);
|
||||
gdk_keymap_get_entries_for_keycode(gdk_keymap_new(gdk_window_get_display(event->window)),
|
||||
event->hardware_keycode,
|
||||
NULL,
|
||||
&keyvals, &n_vals);
|
||||
|
||||
keyval = 0;
|
||||
i = 0;
|
||||
|
||||
@@ -415,10 +415,9 @@ gtk_plug_accel_entries_changed (GtkWindow *window)
|
||||
GdkKeymapKey *keys;
|
||||
gint n_keys;
|
||||
|
||||
if (gdk_keymap_get_entries_for_keyval_for_display (NULL,
|
||||
gdk_window_get_display(window->window),
|
||||
entries[i].accelerator_key,
|
||||
&keys, &n_keys))
|
||||
if (gdk_keymap_get_entries_for_keyval (gdk_keymap_new(gdk_window_get_display(window->window)),
|
||||
entries[i].accelerator_key,
|
||||
&keys, &n_keys))
|
||||
{
|
||||
GrabbedKey *key = g_new (GrabbedKey, 1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user