Android版において、USBキーボードをつないだ際にファンクションキー
(F1〜F12)やESC・BackSpaceキーの入力が検知できないのですが、
ライブラリの仕様でしょうか?
以下のコードを実行すると、Windows環境では正しく押したキーが赤色に
なりますが、
Androidでは、Enterや英数字キーは検出されるものの、ファンクションキー
やESC・BackSpaceキーといった一部のキーが検出されないようです。
-----
#include "DxLib.h"
int DrawKeyString(int x, int y, char *String, int flag)
{
int Color;
if( flag == 1 ){ Color = GetColor(255, 0, 0); }
else{ Color = GetColor(255, 255, 255); }
return DrawString(x, y, String, Color);
}
#ifdef __ANDROID__
// Android版のコンパイルだったら android_main
int android_main(void)
#else
// Windows版のコンパイルだったら WinMain
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
#endif
{
char KeyBuf[256];
if( DxLib_Init() == -1 )
{
return -1;
}
while( ProcessMessage() == 0 ) {
// すべてのキーの状態を得る
GetHitKeyStateAll(KeyBuf);
ClearDrawScreen();
DrawKeyString(10, 10, "F1", KeyBuf[KEY_INPUT_F1]);
DrawKeyString(40, 10, "F2", KeyBuf[KEY_INPUT_F2]);
DrawKeyString(70, 10, "F3", KeyBuf[KEY_INPUT_F3]);
DrawKeyString(100, 10, "F4", KeyBuf[KEY_INPUT_F4]);
DrawKeyString(130, 10, "F5", KeyBuf[KEY_INPUT_F5]);
DrawKeyString(160, 10, "F6", KeyBuf[KEY_INPUT_F6]);
DrawKeyString(190, 10, "F7", KeyBuf[KEY_INPUT_F7]);
DrawKeyString(220, 10, "F8", KeyBuf[KEY_INPUT_F8]);
DrawKeyString(250, 10, "F9", KeyBuf[KEY_INPUT_F9]);
DrawKeyString(280, 10, "F10", KeyBuf[KEY_INPUT_F10]);
DrawKeyString(320, 10, "F11", KeyBuf[KEY_INPUT_F11]);
DrawKeyString(360, 10, "F12", KeyBuf[KEY_INPUT_F12]);
DrawKeyString(10, 30, "LEFT", KeyBuf[KEY_INPUT_LEFT]);
DrawKeyString(60, 30, "UP", KeyBuf[KEY_INPUT_UP]);
DrawKeyString(90, 30, "RIGHT", KeyBuf[KEY_INPUT_RIGHT]);
DrawKeyString(160, 30, "DOWN", KeyBuf[KEY_INPUT_DOWN]);
DrawKeyString(10, 50, "BACK", KeyBuf[KEY_INPUT_BACK]);
DrawKeyString(80, 50, "TAB", KeyBuf[KEY_INPUT_TAB]);
DrawKeyString(150, 50, "RETURN", KeyBuf[KEY_INPUT_RETURN]);
DrawKeyString(230, 50, "ESCAPE", KeyBuf[KEY_INPUT_ESCAPE]);
DrawKeyString(310, 50, "SPACE", KeyBuf[KEY_INPUT_SPACE]);
DrawKeyString(10, 70, "A", KeyBuf[KEY_INPUT_A]);
DrawKeyString(30, 70, "B", KeyBuf[KEY_INPUT_B]);
DrawKeyString(50, 70, "C", KeyBuf[KEY_INPUT_C]);
DrawKeyString(70, 70, "D", KeyBuf[KEY_INPUT_D]);
DrawKeyString(90, 70, "E", KeyBuf[KEY_INPUT_E]);
DrawKeyString(110, 70, "F", KeyBuf[KEY_INPUT_F]);
DrawKeyString(130, 70, "G", KeyBuf[KEY_INPUT_G]);
DrawKeyString(10, 90, "0", KeyBuf[KEY_INPUT_0]);
DrawKeyString(30, 90, "1", KeyBuf[KEY_INPUT_1]);
DrawKeyString(50, 90, "2", KeyBuf[KEY_INPUT_2]);
DrawKeyString(70, 90, "3", KeyBuf[KEY_INPUT_3]);
DrawKeyString(90, 90, "4", KeyBuf[KEY_INPUT_4]);
DrawKeyString(110, 90, "5", KeyBuf[KEY_INPUT_5]);
DrawKeyString(130, 90, "6", KeyBuf[KEY_INPUT_6]);
}
DxLib_End();
return 0;
}
-----
キーボードは、(Fnキーの同時押しが必要な)コンパクトキーボードではなく、
ファンクションキーなどが完全に独立したフルサイズキーボードです。
Android端末とはUSB変換ケーブルを用いて、直接有線接続しています。
Androidにて、他のアプリでは正しくファンクションキーが使える(ブラウザ
でF5を押すと更新される)ようです。
DXライブラリは他のスレッドで頂いた3.21c、端末はAndroid 10です。
よろしくお願いします。