mirror of
https://github.com/brl/mutter.git
synced 2024-11-23 08:30:42 -05:00
keymap/x11: Stop searching through reserved keycodes explicitly
Keys in the reserved keycode list are always added for the first group. Before the previous commit such keycodes were not found unless that was the current group. But now that we can also find matching keycodes that are not directly in the current group, this is not necessary anymore. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1955>
This commit is contained in:
parent
795418a5db
commit
2740f1d2d2
@ -922,7 +922,6 @@ meta_keymap_x11_keycode_for_keyval (MetaKeymapX11 *keymap_x11,
|
|||||||
{
|
{
|
||||||
ClutterKeymapKey key;
|
ClutterKeymapKey key;
|
||||||
int group;
|
int group;
|
||||||
gboolean found = FALSE;
|
|
||||||
|
|
||||||
g_return_val_if_fail (keycode_out != NULL, FALSE);
|
g_return_val_if_fail (keycode_out != NULL, FALSE);
|
||||||
g_return_val_if_fail (level_out != NULL, FALSE);
|
g_return_val_if_fail (level_out != NULL, FALSE);
|
||||||
@ -933,27 +932,8 @@ meta_keymap_x11_keycode_for_keyval (MetaKeymapX11 *keymap_x11,
|
|||||||
{
|
{
|
||||||
*keycode_out = key.keycode;
|
*keycode_out = key.keycode;
|
||||||
*level_out = key.level;
|
*level_out = key.level;
|
||||||
found = TRUE;
|
return TRUE;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GHashTableIter iter;
|
|
||||||
gpointer key, value;
|
|
||||||
|
|
||||||
g_hash_table_iter_init (&iter, keymap_x11->reserved_keycodes);
|
|
||||||
while (!found && g_hash_table_iter_next (&iter, &key, &value))
|
|
||||||
{
|
|
||||||
uint32_t reserved_keycode = GPOINTER_TO_UINT (key);
|
|
||||||
uint32_t reserved_keysym = GPOINTER_TO_UINT (value);
|
|
||||||
|
|
||||||
if (keyval == reserved_keysym)
|
|
||||||
{
|
|
||||||
*keycode_out = reserved_keycode;
|
|
||||||
*level_out = 0;
|
|
||||||
found = TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return found;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user