Skip to content

keymap: Cache key info

Matthias Clasen requested to merge speed-up-event-matching into master

We currently calling gdk_display_map_keyval up to once per key event per shortcut trigger, and that function does an expensive loop over the entire keymap and allocates an array. Avoid this by caching the entries in a single array, and have a lookup table for finding the entries for a keyval.

To do this, change the GdkKeymap.get_entries_for_keyval signature. This is possible now, since keymaps are no longer public API.

Merge request reports