Skip to content

Instantly share code, notes, and snippets.

@halcyon
Created June 19, 2016 15:24
Show Gist options
  • Save halcyon/d2532d74536746999e454136862faa63 to your computer and use it in GitHub Desktop.
Save halcyon/d2532d74536746999e454136862faa63 to your computer and use it in GitHub Desktop.
xterm escape codes
A VT100 terminal couldn't do that, because there is no ^( control character corresponding to (. However, xterm has the so-called "modifyOtherKeys" mode, which does allow to send unique keycodes for combinations like that.
To enable it, set the modifyOtherKeys resource, e.g. in ~/.Xdefaults:
XTerm*vt100.modifyOtherKeys: 1
With that, Ctrl+( will send the following keycode:
^[[27;6;40~
That's rather long though, so another format for keycodes like that was introduced, which can be enabled by setting the formatOtherKeys resource:
XTerm*vt100.formatOtherKeys: 1
With that, Ctrl+( sends:
^[[40;6u
In both of these keycodes, the 40 is the decimal ASCII code for (, and the 6 represents the Ctrl.
See man xterm and http://invisible-island.net/xterm/ctlseqs/ctlseqs.html for further details. No idea whether Terminal.app supports any of it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment