Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
xorgproto
xorgproto
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 14
    • Issues 14
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 9
    • Merge Requests 9
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • xorg
  • proto
  • xorgprotoxorgproto
  • Merge Requests
  • !23

Merged
Opened Jan 18, 2021 by Peter Hutterer@whotMaintainer

XF86keysym.h: reserve a range for Linux keysyms

  • Overview 18
  • Commits 20
  • Pipelines 7
  • Changes 5

The Linux kernel adds a few evdev keycodes roughly every other release. These aren't available through XKB until they have been added as keycode in xkeyboard-config and as keysym in the X11 proto headers.

In the past, this was done manually - a suitable keysym was picked at random and then added accordingly. This doesn't scale very well and, given we have a large reserved range for XF86 keysyms anyway, can be done easier.

Let's reserve the range 0x10081XXX range for Linux kernel codes. That's 4095 values, the kernel currently uses only 767 anyway. keysyms within that range have to match the kernel defines to make them easy to add and search for. Nothing in X must care about the actual keysym value anyway.

And now that we have that range, let's add keysyms for (some) keys added since 4.12.

Notes:

This is semi-automated: there's a script that can add new keysym (given libevdev and a kernel repository) but each of those will have to be manually reviewed in case it already has a mapping. For future keys it's likely easier, but there's a large backlog from the pre 3.16 kernels.

Matching xkeyboard-config MR is xkeyboard-config/xkeyboard-config!172

cc @jwrdegoede, @bluetech, @svu

Edited Jan 21, 2021 by Peter Hutterer
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: xorg/proto/xorgproto!23
Source branch: wip/generate-keysyms-from-evdev