Skip to content

Gtk: Map Super keys to application keys - #3124

Open
Descolada wants to merge 2 commits into
picoe:developfrom
keysharp-org:upstream/gtk-super-keys
Open

Descolada wants to merge 2 commits into
picoe:developfrom
keysharp-org:upstream/gtk-super-keys

Conversation

@Descolada

@Descolada Descolada commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

GTK's key map omits Super_L and Super_R, so input conversion loses the left/right identity of those keys.

Map them to the corresponding Eto application keys. Keep the existing Meta aliases first to preserve canonical reverse conversion.

Validation: native GTK3 key conversion checked on Linux with .NET 10 and Xvfb; git diff --check passes.

@Descolada
Descolada marked this pull request as ready for review October 27, 2026 07:05
Add Super_L and Super_R aliases while retaining the existing Meta keys
as the canonical reverse mappings.
@Descolada
Descolada force-pushed the upstream/gtk-super-keys branch from 015f263 to 5d60f6d Compare October 27, 2026 08:57
@cwensley

Copy link
Copy Markdown
Member

Hm, what about Meta_L/R? Doing a quick search says it is usually mapped to the same as to Alt_L/R. Should it be removed from the mapping?

Prefer Super when converting application keys back on Linux and other Unix systems. Keep Meta on Windows and macOS while retaining both input aliases.
@Descolada

Copy link
Copy Markdown
Contributor Author

Valid point, as GTK’s mapping varies by platform:

  • Linux: Meta usually shares Alt’s modifier; Super represents the Windows/GUI key. They are distinct.
  • GTK on Windows: the Windows keys produce Meta_L/R.
  • GTK on macOS: Command produces Meta_L/R.

I've added a commit to prefer Super by default, with Meta for Windows and macOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants