SDL不再支持SDL_EnableUNICODE()。以下是如何使用SDL 2-from the wiki获取区分大写字母和小写字母的文本输入:
#include "SDL.h"
extern char *text;
int main(int argc, char *argv[])
{
SDL_bool done = SDL_FALSE;
SDL_StartTextInput();
while (!done) {
SDL_Event event;
if (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_TEXTINPUT:
/* Add new text onto the end of our text */
strcat(text, event.text.text);
break;
}
}
}
SDL_StopTextInput();
return 0;
}
2条答案
按热度按时间0md85ypi1#
首先添加此命令:
字符串
这基本上允许SDL识别大写和小写之间的差异,甚至是持有Shiftand和字符之间的差异(如shift + 'a' = 'A'或shift + '1' = '!')。之后,假设你知道如何提取常规键(
event.key.keysym.sym
),只需使用event.key.keysym.unicode
即可。示例
型
8ljdwjyq2#
SDL不再支持
SDL_EnableUNICODE()
。以下是如何使用SDL 2-from the wiki获取区分大写字母和小写字母的文本输入:字符串