Skip to content

Conversation

cwalther
Copy link

In the HTML client, I am unable to type vital characters like [ or \, because on my Swiss Mac keyboard layout, these are typed as combinations involving the option key ([ is option-5, \ is option-shift-7), and the terminal widget intercepts the option key (mapped to “alt” in the event API) and uses it to send escape sequences instead. This may be appropriate for the alt key on a PC, but it is not appropriate for the option key on a Mac, which is a character modifier, not a command modifier.

The attached commit disables this behavior on macOS, allowing almost all printable ASCII characters to be typed. (There is still a problem with those involving dead-key combinations, like ~, but fortunately these are rarer in Python.)

It is possible that the issue could also be fixed by upgrading to a more recent version of xterm.js, but this is a quick and simple fix.

I have been using this for months on Safari with no adverse effects noticed, and have also briefly tested it on Firefox and Chromium.

On macOS, don’t hijack the option key (mapped to "alt" in the event API) to send escape sequences. It's a character modifier, not a command modifier, and required to type vital characters like [ or \ on some keyboard layouts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant