Tryst::UI::Keysyms
@api private
Translates the DSL's Tk-free key vocabulary (friendly symbols, "Ctrl-x" style modifier strings) into real Tk bind event patterns. Its own small lookup, kept separate from Handle so it's easy to extend.
Constants
Friendly name -> Tk keysym. Anything not listed here passes through as the literal keysym (so e.g. :q or "q" still works for plain letter keys without needing an entry).
"Ctrl"/"Cmd"/etc, however people spell them -> Tk's own modifier keyword.
Class methods
Tk event patterns to bind for a resolved (modifiers, keysym) pair - usually just one, but two combinations are known cross-platform gotchas where the literal <Modifier-key> pattern silently never fires, so every real spelling is bound instead:
- Shift+Tab: X11 delivers it as the distinct keysym ISO_Left_Tab, not Tab with a Shift modifier.
- Shift+letter: a real Shift+P press reports keysym "P" outright, never keysym "p" plus a Shift bit. Unlike Tab, the shifted keysym here is simply the uppercase letter, so it's derived rather than hardcoded per key.
spec is either a friendly Symbol (:enter) or a "Modifier-Modifier-Key" String ("Ctrl-Shift-s"). Returns {tk_modifiers, tk_keysym}.