Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M mutter
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 975
    • Issues 975
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 124
    • Merge requests 124
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOME
  • mutter
  • Merge requests
  • !748

Open
Created Aug 23, 2019 by Mike Auty@ikelos
  • Report abuse
Report abuse

Fixes issue 405: keymapping issue

  • Overview 22
  • Commits 2
  • Pipelines 14
  • Changes 1

Issue 405 relates to mismapped keys injected by gnome-remote-desktop. It seems to be because a keyval (keysym) may be in the keymap more than once. We currently run through each keycode, trying from lowest level to highest level and stop as soon as we find a hit, which means that if the key symbol is in a lower level of a later keycode, we mis-pick the earlier one with the higher level (hence the far less common greek_OMEGA rather than common AT symbol).

This patch swaps the order of the loops (so we loop through the levels from lowest to highest, and at each level run through the keycodes. We make sure we only go as high as the highest level for all keys (by figuring out the maximum on the first level's run through). This resolves the issues being experienced and ensures it is possible to type characters like @. It is slightly less efficient in the worst case, in that we keep figuring out the maximum for each key multiplied by the maximum number of levels (rather than 1), but in the common case is probably more efficient (because there's a whole bunch of higher levels we never have to try if we hit the right keycode first).

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: issue405