自分はPCゲームはたいていゲームパッドを使うのだが、世の中にはキーボード操作のゲームもけっこうある。特にインディーズや同人ゲームなどはその傾向が強い。それで困るのが、うちのPCでゲームをやると、どういうわけかキーボードのききがやたら悪いことだった。まったくきかないわけではなくて、何度か連打すると一回は通る、みたいな感じ。また、押しっぱなしでも断続的に入力がとおる。さらに言えば、Escキーなど一部の特殊キーは普通に効く。うーん、すごくソフトウェアの問題っぽい。
結論を言うと、原因はkeyhacだった。考えて見ればそりゃそうだという感じ。以下は、そこに至るまでの経緯をつらつら。
(2024-04-27: 追記): Fakeymacsのコンフィグパラメータに fc.game_app_list
があるとのコメントを作者のsmzhtさんよりいただきました。ありがとうございます。そういえば……と見てみたところ「GitHub - smzht/fakeymacs: Emacs-like key bindings for Keyhac」の修正する必要性が高いと思われるコンフィグレーションパラメータにも入っておりました(^_^;
(2024-06-21: 追記)上記コンフィグパラメータは非常に便利なのでオススメします。GitHubは有り難いことにここの記事を見て記述していただけたようでした。ありがとうございました。
おまかんだと思いつつ放置していた
この現象はだいぶ前からあって、デスクトップPCだろうとラップトップだろうと2in1だろうと同じ現象に見舞われていた。USB接続だろうがBTだろうが外付けキーボードだろうが変わらず。なので、おまかんというか僕のPC環境の何かが悪さしているんだろうと思いつつも、だいたいゲームパッドで事足りるので今まであまり真剣に原因追及をしてこなかった。まぁ、正直ゲームするのもたまにだし。
ちゃんと調べてみる
が、最近ポチったUnity製ゲームがゲームパッドに一切対応しておらず、キーボード必須であった。3Dゲームで、マウス前提なのでゲームパッドは相性が悪いのは確かだが、まったく対応してないとは……。最近はちょっと時間ができたのでゲームをプレイする時間があった。ポチったゲームをまともにできないのも悔しいし、そろそろちゃんと原因突き止めようかな、と思い、調べることにした。
しかし、同様の現象に見舞われている人がまったくいない。いやいるかもしれないんだが、見つけられない。検索するとノイズが多すぎる。ChatGPTにも聞いてみたが役立たずの極み。
これはちょっと、変に調べるよりも自分の環境をよくよく思い返したほうがいいなぁと思い、キーボード周りでなんかいじったっけ、と色々思い返してみると……。
あ……keyhac……。
keyhacだった
そうだ、僕はEmacsキーバインドをWindowsマシンで実現するために(あとラップトップはJIS配列だけれどこれをUS配列にマッピングするために)keyhacを導入していたのだった。

うーん、これはめちゃくちゃ怪しい。多分タイピングするたびに何かしらの処理入ってると思うし。
ということでkeyhacを無効化してみると、果たして、正常にキー入力がとおるようになった。あー、やはりこれだったか。どおりでずっとうまくいかなかったわけだ。keyhac使うようになってもうだいぶたつからなぁ。keyhacのやっていることを考えて見れば当たり前か。そしてkeyhacを使う人はあんまりPCゲームでキーボード操作とかしていない気がする(偏見)から情報もあんまりないと。
keyhacはアプリごとに有効無効の設定できるはずだが、キーボード操作しないといけないゲームはそんなにないし、ゲームをやるときはゲームしかしないので、その時だけkeyhacを無効化させることにした。
まぁわかってみるとつまらない話ではあった。つまらない話だが、こういうつまらないことの積み重ねだよなぁと思う今日この頃である。
コメント
コメント一覧 (5件)
Fakeymacs に fc.game_app_list というコンフィグレーションパラメータが用意されています。
お試しください。
えっ、そんなのあったんですか!ありがとうございます、試してみます。
「修正する必要性が高いと思われるコンフィグレーションパラメータ」への記載は、この記事を見てから追加したのでした 。よろしくお願いします。^_^
その後、ご教示いただいたパラメータでいい感じにやれています。ありがとうございました。
defineWindowKeymapで割り当てすると強制的に断続入力になりますよ
replaceKeyなら押しっぱなしでもちゃんと動きます