問題
要約
Ctrl + Alt + (文字) を同時押しして離すと、Ctrl キーが押しっぱなしの状態になる。
環境
- Windows 11 Home
- Power Toys v0.93.0
- REALFORCE R3 KEYBOARD R3HD 21
PowerToys で
- Caps Lock を Ctrl (Left) に割り当て
- Ctrl (Left) を Caps Lock に割り当て
を設定。
再現条件
- Ctrl, Alt, A を(この順に)同時押しする(keydown する)
- すべて離す(keyup する)
この A はおそらく任意の文字キーで再現します。
期待する動作
Ctrl + Alt + A の機能(たとえば Dorico の、現在のオクターブより下の A 音を入力)が発火した後、キーの状態がニュートラルに戻ってほしいですね。わかります。
実際に起きること
キーの状態はニュートラルの状態に戻らず、Ctrl が「押しっぱなし」の状態になります。たとえばこのまま A を押すと、Ctrl + A の機能(だいたいの場合、全選択)が発火します。
なお Ctrl をもう一度押すとニュートラルに戻ります。
原因
PowerToys のバグらしいです:github.com
どうも PowerToys は Ctrl + Alt + 文字(AltGr 相当)を特別扱いしている関係上、Ctrl を絡む設定をすると、Ctrl の KeyUp イベントがうまくハンドルされないみたいです。(これ以上詳しくはわかりません、すみません。)
解決策
私はキーボード側の設定で入れ替えることにして解決しました。
一応 PowerToys でも左右 Ctrl を駆使してなんとかなるみたいです。あとは代わりに AutoKeys を使うのもよいみたいですね。
振り返り
固定キーロック関連だと思うじゃん!!!!!! Ctrl 連打したら治るし。
まさかと思って PowerToys の設定を消してみたら治ってびっくり。調べたらこれでした。Ctrl 連打したら治ったのは、たんに Ctrl 単押しのときの KeyUp イベントのおかげでしたね。
あとキーマップって大抵半分無意識に押しているので、「あれ……いまなんか変なの発火したけど、俺またなんかやっちゃいましたか?」になるがちです。 Dorico を使い始めてから Ctrl + Alt + 文字 の同時押しを多用するようになったので、本気で解決したくなった&原因がわかりやすくなったという感じです。
これの日本語記事無いまじですか? みなさま困っていないすね……
現在 2025/08/31 なのですが、2 年も前から悩まされていたみたいです、私。
いつの間にか Ctrl キーが押しっぱなしになったり Caps が押されたりShift + Ctrl で日本語に切り替わったりと散々なのですが、Windows のこのあたりの設定、どうしたらよいのでしょう。うーむ、固定キーやフィルタキーはオフなのですが……
— ながたかな@お歌V (@ngtkana) 2023年6月23日