alacritty / alacritty/alacritty
Improvements to kitty kb protocol support
- 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
Evaluación
Este issue todavía no se ha evaluado.