キーボードのキー名を確認

最終更新日:2005-05-22.

今回は、キーボードの任意のキーを押してみて、その値を調べてみます。
フルキーにあるアルファベット、数字、半角仮名、記号などは
その文字コードを調べたりすることで、その値を確認することが
できます。
ファンクションキーやカーソルキーなどは独自の値を持っていたりします。
その値を調べるには、任意のキーが押されたときに受け取った値を
調べれば良いですね。
でも、この方法では調べられないキーもあります。

ということで・・・。
キーボードのキー名を調べるコマンド、KBCを作成してみましょう。
+------------------------------------------------------------+
/* filename=no036-1.c */
/* include */#include <stdio.h>
#include <stdio.h>
#include <conio.h>
/* main */
int main( )
{
char c1;
printf("何かキーを押してください。\n");
/* 繰り返し */
while( 1 ){
/* キーを受け取る */
c1=getch();
printf("0x%02x\n", c1);
/* キー入力がなければ */
if( kbhit()==0 )
break;
}
printf("END.\n");
return 0;/* 終了 */
}
+------------------------------------------------------------+

上記をコンパイルして実行すると、以下のように表示されました。
何かキーを押してください。
0x09
END.
+------------------------------------------------------------+
/* filename=no036-2.c */
/* include */#include <stdio.h>
#include <stdio.h>
#include <conio.h>
/* define */
#define ESC 0x1b
/* main */
int main( )
{
char c1, c2='\0';
printf("何かキーを押してください。\n"
"終了するにはエスケープキーを押してください。\n");
/* 繰り返し */
while( 1 ){
/* キーを受け取る */
c1=getch();
printf("0x%02x\n", c1);
/* 終了条件 */
if( (c1==ESC) && (c2==ESC) )
break;
c2=c1;
}
printf("END.\n");
return 0;/* 終了 */
}
+------------------------------------------------------------+

上記をコンパイルして実行すると、以下のように表示されました。
何かキーを押してください。
終了するにはエスケープキーを押してください。
0x00
0x48
0x1b
0x1b
END.

戻る