Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • gtk gtk
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,540
    • Issues 1,540
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 227
    • Merge requests 227
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • gtkgtk
  • Merge requests
  • !1051

Rewrite GdkWin32Keymap (V2)

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Isopod requested to merge Isopod/gtk:win32-rewrite-keymap-v2 into gtk-3-24 Aug 10, 2019
  • Overview 102
  • Commits 7
  • Pipelines 16
  • Changes 11

This MR gets rid of the old, slow keymap initalization code. This cuts 600 ms startup latency on my machine. It makes the start of GTK3 applications feel much snappier. (See #2055 (closed))

The new code loads the tables directly from the keyboard layout DLLs. This is not only faster, but also allows us to look up keys without clobbering the global keyboard state.

Fixes:

  • #2055 (closed) GTK3 on Windows takes a long time to start up (in update_keymap)
  • #1033 (closed) gtk+ applications trigger input events on startup (caret / grave accent / acute accent)
Edited Jul 30, 2020 by Isopod
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: win32-rewrite-keymap-v2