gtk/gdk
Matthias Clasen 99c3928cec keymap: Cache key info
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, and change the ::keys-changed signal to be
RUN_FIRST, since we want to clear the cache in the class
handler before running signal handlers. These changes are
possible now, since keymaps are no longer public API.
2020-04-30 13:05:52 -04:00
..
broadway keymap: Cache key info 2020-04-30 13:05:52 -04:00
quartz gdk: Remove gdk_keymap_get_modifier_mask 2020-04-06 16:32:03 -04:00
resources/glsl
wayland keymap: Cache key info 2020-04-30 13:05:52 -04:00
win32 keymap: Cache key info 2020-04-30 13:05:52 -04:00
x11 keymap: Cache key info 2020-04-30 13:05:52 -04:00
COPYING
default_cursor.png gdk: Include a default cursor as resource 2020-04-26 14:41:52 -04:00
fallback-c89.c
filetransferportal.c filechooser portal: Free portal proxy when bus connection closes 2020-02-04 14:08:10 +01:00
filetransferportalprivate.h Tweak the file transfer portal _again_ 2020-01-17 23:46:37 -05:00
gdk-autocleanup.h gdk: Make GdkKeymap a private api 2020-04-06 16:32:03 -04:00
gdk-private.h Move edge-constraints to GdkToplevel 2020-03-12 15:30:11 -04:00
gdk.c Don't use xsettings or xft defaults in testsuite 2020-02-03 15:11:35 +01:00
gdk.h Add a GdkDragSurface interface 2020-03-12 14:56:21 -04:00
gdkapplaunchcontext.c Add missing ownership transfer annotations 2020-02-26 10:23:01 +00:00
gdkapplaunchcontext.h Add a getter for GdkAppLaunchContext::display 2020-02-24 08:32:34 -05:00
gdkapplaunchcontextprivate.h
gdkcairo.c gdk: Remove gdk_cairo_get_clip_rectangle() 2020-02-13 07:36:38 +01:00
gdkcairo.h gdk: Remove gdk_cairo_get_clip_rectangle() 2020-02-13 07:36:38 +01:00
gdkcairocontext.c
gdkcairocontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcairocontextprivate.h
gdkclipboard.c clipboard: file transfer portal support 2019-12-12 14:25:33 -05:00
gdkclipboard.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkclipboardprivate.h gdk: Change some async clipboard api 2019-04-02 15:10:53 +00:00
gdkconfig.h.meson Remove more mir remnants 2019-12-28 21:52:34 -05:00
gdkconfig.h.win32 Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkconfig.h.win32_vulkan Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkconstructor.h gdk: Include copy of glib/gconstructor.h 2019-03-17 21:29:59 +01:00
gdkcontentdeserializer.c Tweak the file transfer portal _again_ 2020-01-17 23:46:37 -05:00
gdkcontentdeserializer.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcontentformats.c Fix annotation for GdkContentFormats.get_gtypes() 2020-03-09 17:36:08 +01:00
gdkcontentformats.h contentformats: Constify some functions 2020-03-02 04:43:56 +01:00
gdkcontentformatsprivate.h
gdkcontentprovider.c Fix a doc comment 2020-02-08 19:27:32 -05:00
gdkcontentprovider.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcontentproviderimpl.c Small documentation fixes 2020-03-14 01:22:31 -04:00
gdkcontentproviderimpl.h Remove gdk_content_provider_new_with_formats() 2020-02-18 02:40:00 +01:00
gdkcontentproviderprivate.h
gdkcontentserializer.c Tweak the file transfer portal _again_ 2020-01-17 23:46:37 -05:00
gdkcontentserializer.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcursor.c
gdkcursor.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcursorprivate.h
gdkdevice.c gdk: Make GdkKeymap a private api 2020-04-06 16:32:03 -04:00
gdkdevice.h gdk: Add keymap properties to GdkDevice 2020-04-05 23:43:41 -04:00
gdkdevicepad.c
gdkdevicepad.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkdevicepadprivate.h
gdkdeviceprivate.h gdk: Move GdkGrabStatus and GdkGrabOwnership decl. 2020-04-03 15:23:01 +02:00
gdkdevicetool.c
gdkdevicetool.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkdevicetoolprivate.h
gdkdisplay.c Restructure the GdkEvent type hierarchy 2020-04-16 19:54:02 +01:00
gdkdisplay.h display: Remove gdk_display_get_modifier_mask 2020-04-06 16:32:03 -04:00
gdkdisplaymanager.c gtk: rely on default marshallers 2019-05-30 20:56:50 -07:00
gdkdisplaymanager.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkdisplaymanagerprivate.h
gdkdisplayprivate.h gdk: Remove gdk_text_property_to_utf8_list_for_display() 2020-02-23 01:59:26 +01:00
gdkdrag.c Add missing GdkDrag getters 2020-02-24 14:38:42 -05:00
gdkdrag.h Add missing GdkDrag getters 2020-02-24 14:38:42 -05:00
gdkdragprivate.h Strip const from GdkEvent 2020-02-21 00:51:02 -05:00
gdkdragsurface.c Add a GdkDragSurface interface 2020-03-12 14:56:21 -04:00
gdkdragsurface.h Annotation fixes 2020-04-03 15:30:56 +01:00
gdkdragsurfaceprivate.h Add a GdkDragSurface interface 2020-03-12 14:56:21 -04:00
gdkdrawcontext.c profiler: Make profiler-is-running a macro 2020-02-12 11:05:01 +01:00
gdkdrawcontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkdrawcontextprivate.h
gdkdrop.c Restructure the GdkEvent type hierarchy 2020-04-16 19:54:02 +01:00
gdkdrop.h drop: Remove unused convenience APIs 2020-03-02 04:43:56 +01:00
gdkdropprivate.h gdk: Make gdk_drop_status() take preferred action 2020-03-02 04:43:56 +01:00
gdkenumtypes.c.template Use g_once for all the mkenums template files 2019-05-21 10:32:08 -05:00
gdkenumtypes.h.template Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkevents.c keymap: Cache key info 2020-04-30 13:05:52 -04:00
gdkevents.h Restructure the GdkEvent type hierarchy 2020-04-16 19:54:02 +01:00
gdkeventsprivate.h Restructure the GdkEvent type hierarchy 2020-04-16 19:54:02 +01:00
gdkframeclock.c profile: Use separate names for frameclock marks instead of using details 2020-02-12 14:29:31 +01:00
gdkframeclock.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkframeclockidle.c profiler: Clean up profiler marks for frameclock 2020-02-12 13:20:32 +01:00
gdkframeclockidleprivate.h
gdkframeclockprivate.h gdk/frameclock: Make surfaces inhibit freeze 2019-07-03 11:42:28 +02:00
gdkframetimings.c
gdkframetimings.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkgl.c Fix compiler warnings in the release build 2020-02-11 13:39:52 +00:00
gdkglcontext.c Fixed OpenGL extension detection for extensions promoted to OpenGL core. 2020-02-14 05:41:01 +11:00
gdkglcontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkglcontextprivate.h GdkGLContext: Add internal functions for KHR_DEBUG calls 2019-04-25 11:35:00 +02:00
gdkglobals.c
gdkgltexture.c gl texture: fix a typo 2019-01-23 22:33:44 -05:00
gdkgltexture.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkgltextureprivate.h
gdkinternals.h Remove GdkGeometry from public API 2020-04-19 10:42:10 -04:00
gdkintl.h
gdkkeynames.c
gdkkeys.c keymap: Cache key info 2020-04-30 13:05:52 -04:00
gdkkeys.h gdk: Make GdkKeymap a private api 2020-04-06 16:32:03 -04:00
gdkkeysprivate.h keymap: Cache key info 2020-04-30 13:05:52 -04:00
gdkkeysyms-update.pl docs: Fix GTK links and locations 2019-02-06 10:39:27 +01:00
gdkkeysyms.h docs: Fix GTK links and locations 2019-02-06 10:39:27 +01:00
gdkkeyuni.c
gdkmarshalers.list surface: Add marshallers for new events 2019-05-28 19:19:24 +02:00
gdkmemorytexture.c
gdkmemorytexture.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkmemorytextureprivate.h
gdkmonitor.c gdk_monitor_get_model: Fix a typo in the function documentation 2020-03-04 11:05:46 +01:00
gdkmonitor.h Remove primary monitor api 2020-01-30 21:33:37 +01:00
gdkmonitorprivate.h Add getter for a monitor connector 2019-06-24 15:38:36 +01:00
gdkpaintable.c marshallers: ensure g_cclosure_marshal_VOID__VOIDv is used 2019-05-29 13:22:31 -07:00
gdkpaintable.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkpango.c
gdkpango.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkpipeiostream.c
gdkpipeiostreamprivate.h
gdkpixbuf-drawable.c pixbuf: Add a missing return value transfer annotation 2019-09-13 11:07:56 +02:00
gdkpixbuf.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkpopup.c popup: require GdkSurface 2020-03-12 15:30:11 -04:00
gdkpopup.h surface: Implement GdkPopup 2020-03-11 19:35:55 -04:00
gdkpopuplayout.c popuplayout: Add docs 2020-03-11 19:35:55 -04:00
gdkpopuplayout.h gdk/wayland: Avoid relayout with the same properties 2020-02-21 21:55:16 +01:00
gdkpopupprivate.h Introduce GdkPopup 2020-03-11 19:35:55 -04:00
gdkprofiler.c profiler: Add G_GNUC_PRINTF markers to silence warnings 2020-02-12 13:36:04 +01:00
gdkprofilerprivate.h profiler: Add _end_mark() version of _add_mark() 2020-02-12 11:25:34 +01:00
gdkrectangle.c
gdkrectangle.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkrgba.c GdkRGBA: Use floats instead of doubles 2020-01-07 17:27:15 +01:00
gdkrgba.h Add pure and const annotations to various functions 2020-01-26 18:21:07 +01:00
gdkrgbaprivate.h build: Add more useful warning flags 2020-03-05 07:56:28 +01:00
gdkseat.c Strip const from GdkEvent 2020-02-21 00:51:02 -05:00
gdkseat.h Remove GdkSeatGrabPrepareFunc from headers 2020-02-22 08:11:34 -05:00
gdkseatdefault.c Replace gdk_surface_is_visible by _get_mapped 2020-02-24 19:07:03 -05:00
gdkseatdefaultprivate.h
gdkseatprivate.h Remove GdkSeatGrabPrepareFunc from headers 2020-02-22 08:11:34 -05:00
gdksnapshot.c
gdksnapshot.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdksnapshotprivate.h
gdksurface.c surface: Hide chained autohiding popups together 2020-04-18 22:33:52 +02:00
gdksurface.h Remove GdkGeometry from public API 2020-04-19 10:42:10 -04:00
gdksurfaceprivate.h gdk: Add gdk_toplevel_inhibit_system_shortcuts API 2020-03-30 18:25:36 +02:00
gdktexture.c icontheme: Return textures from load_icon{,_for_scale} 2019-09-09 17:36:26 +02:00
gdktexture.h Add pure and const annotations to various functions 2020-01-26 18:21:07 +01:00
gdktextureprivate.h
gdktoplevel.c gdk: Add gdk_toplevel_inhibit_system_shortcuts API 2020-03-30 18:25:36 +02:00
gdktoplevel.h gdk: Add gdk_toplevel_inhibit_system_shortcuts API 2020-03-30 18:25:36 +02:00
gdktoplevellayout.c surface: Document coordinate systems a bit 2020-04-13 09:29:11 -04:00
gdktoplevellayout.h Introduce GdkToplevelLayout 2020-03-12 14:44:03 -04:00
gdktoplevelprivate.h gdk: Add gdk_toplevel_inhibit_system_shortcuts API 2020-03-30 18:25:36 +02:00
gdktypes.h Add macro for exported variables 2020-04-08 15:40:15 +01:00
gdkversionmacros.h.in Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkvulkancontext.c vulkan: Update error codes enum 2020-04-26 14:08:40 -04:00
gdkvulkancontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkvulkancontextprivate.h
gen-gdk-gresources-xml.py gdk: Include a default cursor as resource 2020-04-26 14:41:52 -04:00
gen-keyname-table.pl
keyname-table.h
keynames-translate.txt
keynames.txt
meson.build Add a GdkDragSurface interface 2020-03-12 14:56:21 -04:00