gitui-org / gitui-org/gitui

Shifted keys are not fully recognized when using AutoHotKey on Windows

Abierto
#2,128 0 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Rust
Estrellas
22.5k
Forks
773
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

**Describe the bug**
The `SHIFT` modifier is missing when an AHK script is running. Thus, shifted-keys commands do not work.

In the following logs, the first one was taken with AHK enabled (notice the uppercased char `H` and the blank modifier `0x0`), the second one without:
```log
14:20:30 [TRACE] (1) gitui::app: [src\app.rs:278] event: Input(Key(KeyEvent { code: Char('H'), modifiers: KeyModifiers(0x0), kind: Press, state: KeyEventState(0x0) }))
14:24:27 [TRACE] (1) gitui::app: [src\app.rs:278] event: Input(Key(KeyEvent { code: Char('H'), modifiers: KeyModifiers(SHIFT), kind: Press, state: KeyEventState(0x0) }))
```

**To Reproduce**
1. Launch an AHK script that emulates a full keyboard layout
2. Try to use any shifted-key command in GitUI
3. Observe that it does not work

**Expected behavior**
The `SHIFT` modifier is present when using AHK and the shifted-keys commands work. Or, GitUI could rely on the character case only, although I guess the modifier is picked up for a reason.

**Context**
- Windows 10
- GitUI 0.25.1
- AutoHotKey 1.1.37.01

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Reproduce el problema en Windows con un script de AutoHotKey que emule una distribución de teclado completa y, a continuación, comienza por el evento de entrada registrado alrededor de src/app.rs:278. Compara los eventos de teclas de AHK y los que no son de AHK, y rastrea cómo los comandos con teclas modificadoras los consumen. Se considera terminado cuando los comandos con teclas modificadoras indicados funcionan con AHK y la reproducción ya no muestra el comportamiento del modificador ausente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
rust
Área
cli, operating-systems
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.