Seaside Laboratory

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 を置いて実行するとキー名を含んだ配列が生成される。

キーコンフィグ可能なゲームを作っている人達はどうやってキー名リストを作っているのだろうか…。