feat(web): put the page keys on the pad, in the keyboard's own layout
The relay now turns PageUp, PageDown, Home and End into the CSI bytes a terminal emits, so the pad can offer them: it sends the key name and the relay decides how it travels. Modified forms compose too, which is why the pad cannot build a chord the relay would have to refuse. The pad also gets the keyboard's own arrow layout. It ran Tab/left/down/up across one row and right/Shift/Ctrl across the next, so the arrows neither aligned nor read in any keyboard order; grid-template-areas puts up over down with a deliberately empty cell beside it, and PgUp/PgDn take the free column on the same axis. tests/test_web_keys.py measures the boxes rather than reading the CSS, so the inverted T is asserted as geometry and not as a rule that happens to be present. Verified against the real thing on a throwaway pane: vim moved 1 -> 68 on ESC[6~, to 500 on ESC[1;5F and back to 1 on ESC[1;5H. less pages on ESC[5~/ESC[6~ but reads ESC[1;5H as its own help key -- it does not decode modifier parameters -- so the bare page keys are universal and the ctrl+ forms depend on the receiving TUI.
N
Nick007 committed
bf4f7318b3ed62916eadea1645481bba36147c8b
Parent: 06fcb5d