alacritty / alacritty/alacritty

Improvements to kitty kb protocol support

Abierto
#8,792 3 comentarios 2 reacciones 0 asignados Ver en GitHub
S - input
Lenguaje dominante
Rust
Estrellas
65.7k
Forks
3.6k
Merge medio
3 h 5 min
PR fusionados (30 d)
3

Descripción

While trying to implement support for the kitty keyboard protocol in the GNOME Terminal, I wrote a tool for automated testing of such support, applicable to any terminal. Today I also added support for Alacritty there, just out of curiosity. The test revealed some discrepancies in the generation of escape sequences between Alacritty and the reference implementation in kitty. I hope this will help make the implementation more robust.

Here are a few examples of the discrepancies:
```
Key: a, Flags: 24 -> kitty: ESC[97;;97u | alacritty: ESC[97;1;97u
Key: caps+a, Flags: 8 -> kitty: ESC[97;65u | alacritty: ESC[65u
Key: shift+num+a, Flags: 31 -> kitty: ESC[97:65;130;65u | alacritty: ESC[97:65;2;65u
Key: shift+caps+num+a, Flags: 8 -> kitty: ESC[97;194u | alacritty: ESC[97;2u
Key: ctrl+a, Flags: 0 -> kitty: zero char | alacritty: a
Key: ctrl+caps+a, Flags: 16 -> kitty: ESC[97;69u | alacritty: A
Key: shift+alt+caps+8, Flags: 0 -> kitty: ESC* | alacritty: *
Key: ctrl+alt+caps+8, Flags: 15 -> kitty: ESC[56;71u | alacritty: ESC[56;7u
Key: ctrl+9, Flags: 17 -> kitty: ESC[57;5u | alacritty: ESC[57;5;57u
Key: shift+alt+caps+num+9, Flags: 31 -> kitty: ESC[57:40;196u | alacritty: ESC[40;4;40u
Key: shift+caps+num+0, Flags: 28 -> kitty: ESC[48:41;194;41u | alacritty: ESC[41;2;41u
Key: ctrl+alt+caps+num+minus, Flags: 6 -> kitty: ESC[45;199u | alacritty: -
```

You can find the tests themselves here:
https://github.com/unxed/kitty2vte

@kovidgoyal check out how much more efficient it is to find bugs in implementations when you have automated tests.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.