Posts
PC 用ゲームのキーコンフィグで表示されるキーの名前
PC はコンシューマー機と違って入力デバイスにキーボードを使用するので、キーコンフィグで表示する全てのキー名をプログラム内部に持っておかなければならない。最初はキー名をひとつひとつ手入力していたが、大方作業が終わってから「こんな作業 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 を置いて実行するとキー名を含んだ配列が生成される。
キーコンフィグ可能なゲームを作っている人達はどうやってキー名リストを作っているのだろうか…。