SDL Unicode клавиатурный ввод: не фильтровать ввод символов

Я использую этот код, чтобы определить ввод с клавиатуры как символ 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 имеет значение, если бы я только нажимал сдвиг-ключ (напечатанное значение 1249).

Но мне нужны только действительные символы Юникода (например: нажатие сдвиг+)

Есть намеки?

0

Решение

Я исправил это используя: SDL_StartTextInput(); включить textinput-события с:

SDL_TEXTINPUTсобытие вместо SDL_KEYDOWN работает нормально.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector