コンシューマー機と違って 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
とやると、キー名を含んだ配列リストができあがります。しかし、キーコンフィグ可能なゲームを作る人って、みんなキーテーブルを打ちこんでいるのかな・・・。