0

このコードを使用して、キーボード入力を Unicode 文字として決定しています。

while(SDL_PollEvent(&event))
{
    switch (event.type)
    {
        case SDL_KEYDOWN:
        {
            SDL_KeyboardEvent* keyboard = (reinterpret_cast<SDL_KeyboardEvent*> (&event));

            //unicode input
            std::cout << (int)keyboard->keysym.unicode << std::endl;

            //conversion
            ...

            break;
        }
    }
}

私の問題は、-キーkeysym.unicodeを押すだけの場合にも値があることShiftです(印刷された値は1249です)。

しかし、有効なユニコード文字だけが必要です (例: Shift+を押すA)

ヒントはありますか?

4

1 に答える 1

0

次を使用して修正しました: SDL_StartTextInput();textinput-events を有効にするには:

SDL_TEXTINPUT-イベントの代わりに正常に動作しSDL_KEYDOWNています。

于 2014-03-09T15:50:10.650 に答える