blinksh / blinksh/blink

Ctrl + Esc modifier sequences don't send anything

Open
#263 6 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
Swift
Stars
6.9k
Forks
746
PR merge metrics
No merged PRs in 30d

Description

I'm not sure if this is the same as #117 or not; given the examples, it's different, but it may arise from the same source.

In Emacs, many navigation commands are synthetic: _`C-`_ does character navigation, _`M-`_ does line navigation, and so _`C-M-`_ does lexical navigation. But Blink doesn't appear to send anything at all when both the keys mapped to Ctrl and mapped to Esc are held simultaneously when another key is pressed.

I'm left with having to manually hit _`Esc C-`_, which is painful for this since, as navigation commands, they're meant to be used consecutively and repeatedly.

I don't see a technical issue with why Blink can't send Esc + Ctrl?

_Update: I just discovered by trial and error that with Ctrl set to Ctrl and Alt set to Esc,_ `C-M-`, _where _x_ is a digit, *does* send something: it sends the digit alone without the escape. Of course, Ctrl-[0-9] are undefined in ASCII and in Unicode, so sending them via Blink is impossible. But it is a divergence from the behavior with keys for which Ctrl variants are available, so it might be diagnostically useful._

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the Ctrl-plus-Esc modifier sequence in Blink on iOS, using the Emacs navigation examples in the issue as the expected behavior. Trace the keyboard input path to determine where simultaneous modifiers are dropped; done when combinations such as C-M-x emit the intended escape-plus-control sequence rather than nothing.

Written by the indexing model from the issue text.

Assessment

Tech stack
emacs, swift
Domain
cli, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.