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
..
2020-04-30 13:05:52 -04:00
2020-04-06 16:32:03 -04:00
2020-04-30 13:05:52 -04:00
2020-04-30 13:05:52 -04:00
2020-04-30 13:05:52 -04:00
2020-04-26 14:41:52 -04:00
2020-02-04 14:08:10 +01:00
2020-01-17 23:46:37 -05:00
2020-04-06 16:32:03 -04:00
2020-03-12 15:30:11 -04:00
2020-02-03 15:11:35 +01:00
2020-03-12 14:56:21 -04:00
2020-02-26 10:23:01 +00:00
2020-02-24 08:32:34 -05:00
2020-02-13 07:36:38 +01:00
2020-02-13 07:36:38 +01:00
2019-11-27 13:33:43 +00:00
2019-12-12 14:25:33 -05:00
2019-11-27 13:33:43 +00:00
2019-04-02 15:10:53 +00:00
2019-12-28 21:52:34 -05:00
2019-11-27 13:33:43 +00:00
2019-11-27 13:33:43 +00:00
2019-03-17 21:29:59 +01:00
2020-01-17 23:46:37 -05:00
2019-11-27 13:33:43 +00:00
2020-03-09 17:36:08 +01:00
2020-03-02 04:43:56 +01:00
2020-02-08 19:27:32 -05:00
2019-11-27 13:33:43 +00:00
2020-03-14 01:22:31 -04:00
2020-02-18 02:40:00 +01:00
2020-01-17 23:46:37 -05:00
2019-11-27 13:33:43 +00:00
2019-11-27 13:33:43 +00:00
2020-04-06 16:32:03 -04:00
2020-04-05 23:43:41 -04:00
2019-11-27 13:33:43 +00:00
2020-04-03 15:23:01 +02:00
2019-11-27 13:33:43 +00:00
2020-04-16 19:54:02 +01:00
2020-04-06 16:32:03 -04:00
2019-05-30 20:56:50 -07:00
2019-11-27 13:33:43 +00:00
2020-02-23 01:59:26 +01:00
2020-02-24 14:38:42 -05:00
2020-02-24 14:38:42 -05:00
2020-02-21 00:51:02 -05:00
2020-03-12 14:56:21 -04:00
2020-04-03 15:30:56 +01:00
2020-03-12 14:56:21 -04:00
2020-02-12 11:05:01 +01:00
2019-11-27 13:33:43 +00:00
2020-04-16 19:54:02 +01:00
2020-03-02 04:43:56 +01:00
2020-03-02 04:43:56 +01:00
2019-05-21 10:32:08 -05:00
2019-11-27 13:33:43 +00:00
2020-04-30 13:05:52 -04:00
2020-04-16 19:54:02 +01:00
2020-04-16 19:54:02 +01:00
2020-02-12 14:29:31 +01:00
2019-11-27 13:33:43 +00:00
2020-02-12 13:20:32 +01:00
2019-07-03 11:42:28 +02:00
2019-11-27 13:33:43 +00:00
2020-02-11 13:39:52 +00:00
2020-02-14 05:41:01 +11:00
2019-11-27 13:33:43 +00:00
2019-04-25 11:35:00 +02:00
2019-01-23 22:33:44 -05:00
2019-11-27 13:33:43 +00:00
2020-04-19 10:42:10 -04:00
2020-04-30 13:05:52 -04:00
2020-04-06 16:32:03 -04:00
2020-04-30 13:05:52 -04:00
2019-02-06 10:39:27 +01:00
2019-02-06 10:39:27 +01:00
2019-05-28 19:19:24 +02:00
2019-11-27 13:33:43 +00:00
2020-03-04 11:05:46 +01:00
2020-01-30 21:33:37 +01:00
2019-06-24 15:38:36 +01:00
2019-05-29 13:22:31 -07:00
2019-11-27 13:33:43 +00:00
2019-11-27 13:33:43 +00:00
2019-09-13 11:07:56 +02:00
2019-11-27 13:33:43 +00:00
2020-03-12 15:30:11 -04:00
2020-03-11 19:35:55 -04:00
2020-03-11 19:35:55 -04:00
2020-02-21 21:55:16 +01:00
2020-03-11 19:35:55 -04:00
2020-02-12 13:36:04 +01:00
2020-02-12 11:25:34 +01:00
2019-11-27 13:33:43 +00:00
2020-01-07 17:27:15 +01:00
2020-01-26 18:21:07 +01:00
2020-03-05 07:56:28 +01:00
2020-02-21 00:51:02 -05:00
2020-02-22 08:11:34 -05:00
2020-02-24 19:07:03 -05:00
2020-02-22 08:11:34 -05:00
2019-11-27 13:33:43 +00:00
2020-04-18 22:33:52 +02:00
2020-04-19 10:42:10 -04:00
2020-03-30 18:25:36 +02:00
2019-09-09 17:36:26 +02:00
2020-01-26 18:21:07 +01:00
2020-03-30 18:25:36 +02:00
2020-03-30 18:25:36 +02:00
2020-04-13 09:29:11 -04:00
2020-03-12 14:44:03 -04:00
2020-03-30 18:25:36 +02:00
2020-04-08 15:40:15 +01:00
2019-11-27 13:33:43 +00:00
2020-04-26 14:08:40 -04:00
2019-11-27 13:33:43 +00:00
2020-04-26 14:41:52 -04:00
2020-03-12 14:56:21 -04:00