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 Use GLSL version 110 for OpenGL 2 shaders. 2016-11-01 15:42:46 -03:00
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 fallback-c89: Include config.h 2017-05-03 14:47:14 +01:00
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 gdk: Include gio.h in gdktypes.h 2017-12-10 01:09:14 +01:00
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 Fix some g-i annotation warnings 2018-05-01 12:35:32 +02:00
gdkcairocontext.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcairocontextprivate.h gdkcairocontext*.h: Include cairo.h consistently 2018-05-15 13:49:45 +08:00
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 gdk: Sanitize GdkContentFormats API 2017-11-20 23:15:11 +01:00
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 clipboard: Introduce GdkContentProvider 2017-12-03 05:46:47 +01:00
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 docs: Small updates 2018-07-13 10:13:00 +02:00
gdkcursor.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkcursorprivate.h gdk: Add gdk_cursor_hash() and gdk_cursor_equal() 2017-11-04 00:07:13 +01:00
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 The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkdevicepad.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkdevicepadprivate.h gdk: Add GdkDevicePad 2016-08-23 21:01:44 +02:00
gdkdeviceprivate.h gdk: Move GdkGrabStatus and GdkGrabOwnership decl. 2020-04-03 15:23:01 +02:00
gdkdevicetool.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
gdkdevicetool.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkdevicetoolprivate.h gdk: Pass hardware ID on gdk_device_tool_new() 2016-08-23 21:01:44 +02:00
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 drawcontext: Only pass the region that matters 2018-04-24 23:16:58 +02:00
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 frameclockidle: Rename header so it's private now 2018-03-29 05:02:15 +02:00
gdkframeclockprivate.h gdk/frameclock: Make surfaces inhibit freeze 2019-07-03 11:42:28 +02:00
gdkframetimings.c The big versioning cleanup 2018-02-06 01:16:32 -05:00
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 gdk: Reorganize env vars 2018-01-14 17:05:04 -05:00
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 texture: Expose subclasses as subclasses 2018-03-18 05:57:07 +01:00
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 Replace gdk_keymap_get_for_display by gdk_display_get_keymap 2017-12-15 07:44:58 -05:00
gdkmarshalers.list surface: Add marshallers for new events 2019-05-28 19:19:24 +02:00
gdkmemorytexture.c Document GdkMemoryTexture 2018-04-28 16:22:29 -04:00
gdkmemorytexture.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkmemorytextureprivate.h texture: Expose subclasses as subclasses 2018-03-18 05:57:07 +01:00
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 GdkSurface: Rename lots of stuff from window->surface 2018-03-20 15:14:10 +01:00
gdkpango.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdkpipeiostream.c gdk: Remove unnecessary assignments 2018-05-06 02:10:20 +02:00
gdkpipeiostreamprivate.h clipboard: Implement local fallback clipboard transfers 2017-12-03 05:46:47 +01:00
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 The big versioning cleanup 2018-02-06 01:16:32 -05:00
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 GdkSeatDefault: Add functions to add/remove tools 2016-04-06 15:43:29 +02:00
gdkseatprivate.h Remove GdkSeatGrabPrepareFunc from headers 2020-02-22 08:11:34 -05:00
gdksnapshot.c snapshot: Turn into GObject 2018-03-18 19:21:33 +01:00
gdksnapshot.h Use a single compilation symbol 2019-11-27 13:33:43 +00:00
gdksnapshotprivate.h snapshot: Turn into GObject 2018-03-18 19:21:33 +01:00
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 texture: Change download vfunc 2018-03-12 17:21:45 +01:00
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 vulkan: Fix release builds 2018-01-21 15:23:17 +01:00
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 gdk: Translate some more key names 2017-10-09 20:33:14 +02:00
keynames-translate.txt gdk: Translate some more key names 2017-10-09 20:33:14 +02:00
keynames.txt
meson.build Add a GdkDragSurface interface 2020-03-12 14:56:21 -04:00