yoda: protocole clavier kitty, Shift+Entree pour Claude Code et Modjo
Claude Code (>= 2.1.269) n'active Shift+Entree que si le terminal repond a CSI ? u. alacritty_terminal sait tenir la pile des modes et repondre, mais seulement avec kitty_keyboard, et n'encode aucune touche : Shift+ Entree partait en \r, identique a Entree. - term::Config : kitty_keyboard active. - kitty_keyboard : encodeur du frontal (spec kitty, decoupe de l'encodeur d'Alacritty), utilise seulement quand l'application au premier plan a pousse le drapeau 1 ou 8 ; sinon l'encodage legacy reste seul. Gere desambiguisation, types d'evenements (repetition, relachement), touches alternatives, toutes les touches, texte associe, pave numerique, F1-F24, touches de modification. Shift+Entree -> CSI 13;2u. - terminal_box : raccourcis de l'appli toujours prioritaires ; Shift+PageUp/PageDown/Home/End et Echap sur selection gardent leur comportement local ; relachements envoyes si le drapeau 2 est pose. - Legacy : Shift+Entree envoie LF (comme Ctrl+J) au lieu de CR. rustyline le lit comme Ctrl+J, la touche de saut de ligne de Modjo/Goose ; pour un shell c'est toujours Entree. Connu, non corrige ici : alacritty_terminal 0.25.1 push_keyboard_mode vide title_stack au lieu de la pile des modes au-dela de 4096 empilements (panique du fil PTY de l'onglet seulement, panic=unwind). 10 tests, dont la reponse a CSI ? u et l'application de CSI > 5 u. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
2414aaece3
commit
52b37cc2f8
3 changed files with 808 additions and 2 deletions
|
|
@ -79,6 +79,8 @@ mod desktop_notify;
|
|||
use osc_tap::OscEvent;
|
||||
mod osc_tap;
|
||||
|
||||
mod kitty_keyboard;
|
||||
|
||||
use terminal_box::terminal_box;
|
||||
|
||||
use crate::dnd::DndDrop;
|
||||
|
|
@ -311,6 +313,9 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||
// Terminal config setup
|
||||
let term_config = term::Config {
|
||||
scrolling_history: 100_000,
|
||||
// [yoda] Protocole clavier kitty : alacritty_terminal tient la pile des
|
||||
// modes et répond à `CSI ? u`, l'encodage est dans `kitty_keyboard`.
|
||||
kitty_keyboard: true,
|
||||
..term::Config::default()
|
||||
};
|
||||
// Set up environmental variables for terminal
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue