Shifted keys are not fully recognized when using AutoHotKey on Windows
- 主要言語
- 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