gitui-org / gitui-org/gitui

Shifted keys are not fully recognized when using AutoHotKey on Windows

オープン
#2,128 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug
主要言語
Rust
スター
22.5k
フォーク
773
PR マージ指標
30日以内にマージされた PR はありません

説明

**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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

完全なキーボードレイアウトをエミュレートする AutoHotKey スクリプトを使って Windows で問題を再現し、その後、src/app.rs:278 付近でログに記録された入力イベントから調査を始めます。AHK と非 AHK のキーイベントを比較し、Shift キーを使うコマンドがそれらをどのように消費するかを追跡します。報告された Shift キーを使うコマンドが AHK で動作し、再現時に修飾キーが欠落する挙動が見られなくなれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust
領域
cli, operating-systems
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。