Posts
PC 用ゲームのキーコンフィグで表示されるキーの名前
PC はコンシューマー機と違い、操作に使われるデバイスがキーボードなので、キーコンフィグで表示する全てのキー名をプログラムの内部に持っておく必要がある。最初はキー名をひとつひとつ手作業で登録していたが、9 割方作業が終わってからふと気がついた。「こんな単調な作業は Perl にやらせればええやん。」と。ということで、dinput.h からキー名だけ抜き出すスクリプトを作成した。
#!/usr/bin/perl $tab = 2; open(FILE, 'dinput.h'); while (<FILE>) { /^#define\s+DIK_(\w+)\s+0x([0-9A-F]+)/; $dik[hex($2)] = $1; } close(FILE); for ($count = 0x00; $count <= 0xff; $count++) { print "\t" x $tab . "\"$dik[$count]\",\n"; }
同じディレクトリに dinput.h を置いて、
perl スクリプト名 > keylist.txt
とやると、キー名を含んだ配列リストが出来上がる。
キーコンフィグ可能なゲームを作っている人達はどうやってキー名を取得しているのだろうか…。