
っっっshっっはああああああっっべえええっっれええええんなあああいいいい昔書いた記事で
何度か触れた事のあるキーリピート遅延問題について
わりかし何とかなりそうな感じのソフトウェアを見つけたので報告という記事。
■おさらい:キーリピート遅延問題って何?
先に言っておくけど
俺が個人的にそう呼んでいるだけで
メイプル界隈ではこれが今最高に熱い社会問題だ!とかではない。
そもそもの「キーリピート」とはなんぞや、という点からだが・・・
キー入力をしたまま(=押しっぱ)の状態で、
入力しているキーの文字が連続して出力される機能だ。
この機能のおかげで・・・例えば「んほおおおおおおおおおおお」とメッセージを出力したい際に
"O"キーを11回連続で叩く、といった行動を起こさなくて済むようになる。
これが「キーリピート」。
ただしキー入力をした瞬間に連続して文字が出力されるようでは
元々の「一つだけキーを出力する」動作がとてつもなく困難になる。
そこで、キー押しっぱ時にまず
1文字だけ出力し、
すこし間隔をおいてから連続出力をするようにする。
これによってキー入力とキーリピートの両方の両立が可能になるというわけ。
で、この「すこし間隔をおく」ことを「キーリピート遅延」と俺は呼んでいる。
「キーリピート間隔」だとリピート時の文字の連続出力の"速度"の事を指す場合が殆どなので注意。
あくまでこれは文字を入力する際などの利便性確保の為の機能であって、
(画面の上下スクロールなど文字入力以外でも使われる場面は多々ある)
本来ならゲームなどでのアクション要素においてこういった機能が使われる事はない。本来なら。そう。
メイプルストーリーとかいうゲームの、
アクションは、
このキーリピート遅延の影響を思いっきり受けるのだ。■問題の概要ありとあらゆるスキルにキーリピート遅延の問題がつきまとうのはもとより、
あろうことに
ジャンプですらこの問題の影響を受ける。
落下中に下ジャンプを先行入力しておいて足場を続けて降りようとする際に
微妙にタイミングが遅れて下ジャンプが発生した経験、間違いなくあるだろう?
キーリピート遅延が原因さ。図で説明しよう。

0.00秒を下ジャンプのキー入力開始地点としよう。
この時点では落下中であり、0.00秒に入力した下ジャンプ操作は空中なので不発。
0.16秒経過付近で着地。
キーリピート遅延の最中の為、
入力とは関係なく操作が出力されていない。
よって着地と同時での下ジャンプは発生しない。0.25秒、
キーリピート遅延時間満了。同時に下ジャンプ発生。
これがメイプルストーリーだ!当然ながら下ジャンプだけでなく、
左右移動とハシゴ上下以外の
ありとあらゆる操作においてこの現象は起きる。
特に問題になるのは非連携にて攻撃スキルを複数、交互に使ったりする場合だ。
想像はつくだろうが・・・キー入力のやり方によっては
別の攻撃スキルを使おうと
先行入力する度にリピート遅延での動作の遅れが発生する。
連携スキルであった場合にはキー先行入力をした時点で
次の連携攻撃を予約している態勢に入るので、単純な連携スキル単体では遅延を受けにくい。
・・・が、やはり連携スキルはキーをガチャガチャ動かすハメになるケースが多く、
実際はあらゆるところで遅延による途切れが発生しているだろう。
そして更に単一キーでのキーリピート遅延の他に
複数キー入力時・・・仮にJキーを押した後Kキーも押し、JとKの2キーが押されながら「k」が連続出力されてる状態とし、
その状態で片方の・・・この場合Jキーを離した瞬間から、しばらくの間Kキーの連続出力が止まる(=遅延)。
これは例えばCtrl+Aで全選択をした後、先にCtrlキーを離した"瞬間にAキーが出力"されてしまうと
その時点でCtrl+Aが解除されてしまう。
この遅延はそういった複数キーでの複合入力を使うのが困難にならないようにする為の処理だ。
もちろん、この遅延もメイプルストーリーではバッチリ使われている。これは上記の単体キーでの先行入力遅延に加え、「スキルA」を放った後に「スキルB」を使おうとする際
「スキルA」のキーを離してから0.25秒間は
またしても空白期間が生まれることを意味する。
・・・さて、先の図において「実際に反映されるキー出力」が
リピート遅延満了後、
断続的に出力されているのが分かるだろうか。
そう、このゲームはキーを押しっぱなしにしていても
連続的な入力になってなどいない。遅延時間も含め、Windowsの文字入力速度設定のまま出力されているだけだ。
コントロールパネルのキーボードオプションから、
表示までの待ち時間(リピート遅延)および表示の間隔(リピート間隔)をそれぞれ最長・最遅にしてみるといい。
地獄のような世界がそこに開けるはずだ。
最速・最短にしたら改善するかって?しない。
キーリピート遅延時間はこの設定から弄ったところで
最短が0.25秒ほどだからだ。
■FilterKeys Setterここから解決(?)編。
先に断っておくが・・・残念ながら全てがバラ色に解決したりはしない。
先にも言ったように、コントロールパネルのキーボード設定はあくまで文字入力しか想定してないので
キーリピート遅延0のようなまともに会話が出来なくなるような設定に出来ない。
そこで使うのはコチラ、「
FilterKeys Setter」。
名前のとおり、
"フィルタキー機能"の設定を管理するソフトウェアだ。
多分このフィルタキー機能という名称、聞き覚えがあるだろう。
Shiftキーを押しっぱしたり、連打したりすると有効確認ダイアログが出てくる"あの機能群"だからだ。
無効化したことあるでしょ?
このフィルタキー機能、本来はキーボードに不慣れな人向けに
キーリピート、連打、同時入力などを
デチューンし使いやすくするもので
普通にキーボードを扱えるなら完全に用無しのシロモノである。
ただし、このフィルタキー機能。
これから紹介する第三者のソフトや、大元のレジストリの改竄を行うことで
デチューンどころか
マトモに使えない程の超スピードにまで魔改造できてしまうのだ。

Onでフィルタキー機能の有効/無効。
Settingsの2のラジオボタンは上を選択しときゃいい。下はキーリピート機能そのものの無効だからだ。
Ignore underはリピートとは関係なく単純なキー出力反応速度。0msでいい。
Repeat delayが問題のキーリピート遅延。
Repeat rateがリピート間隔、つまり連射速度だ。コンパネ設定最速はたぶん30ms。
とゆーわけでフィルタキー機能を悪用してしまうことで
メイプルストーリーのアクション面の致命的な問題を
解決できはするのだが、
当然ながらこの状態での弊害は物凄い。キーボードチャットは無謀。

(ふぃるたーきの / うでしゃべると / こうなるのだ)
スクリーンキーボードというWindows謹製のマウス入力式キーボードを用いれば
フィルタキー状態でも一応意思疎通は可能になるが、
メイプルストーリーはアクション以外でも様々な場面でキー操作を要求されるわけで・・・
インベントリ表示だのあらゆる面でキーリピート遅延の存在を前提に作られているので、
アクションは確かにスムーズだけど、それ以外の操作は全くできなくなるぞ。
そーゆーわけで・・・ボスぐらいならまあ何とかインベントリとか開かずに出来るかもしれんが、
メイプルストーリー全体で常用していくなんてのは残念ながらもってのほかレベル。
それでもまあ・・・キーリピート遅延の影響を受けがちな職業で
ボス等においてもう一火力伸ばしたいだとか、
キー入力遅延のせいで回避スキル発動が遅いのが気になるなどの状況ならぜひ導入を検討すべき。
ブラスターとかこの機能のあるなしで理論上の火力が大幅に違うぞ。
そもそも開発チームがこの問題の見直しに取り掛かってくれればこんなシロモノ必要ねえんだけどな。
- 2017/05/07(日) 23:00:00|
- 歯ぎしり
-
| トラックバック:0
-
| コメント:3