Keyboard input seems to work, even dead keys, not tested IM, onscreen keyboard not working...

This commit is contained in:
Pere Pujal i Carabantes 2015-01-19 23:47:24 +01:00
parent 4c69fdbb43
commit b08ddf00dd
3 changed files with 10 additions and 21 deletions

View file

@ -676,11 +676,12 @@ static int im_event_c(IM_DATA* im, SDL_Event event)
case SDLK_BACKSPACE: im->s[0] = L'\b'; break;
case SDLK_TAB: im->s[0] = L'\t'; break;
case SDLK_RETURN: im->s[0] = L'\r'; break;
default: strncpy(im->s , event.text.text, 16);
default: mbstowcs(im->s , event.text.text, 16);
//default: wcsncpy(im->s , event.text.text, 16);
}
//im->s[1] = L'\0';
printf("im->s %s, event.text.text %s\n", im->s, event.text.text);
printf("im->s %ls, event.text.text %s\n", im->s, event.text.text);
im->buf[0] = L'\0';
return 0;
@ -708,8 +709,6 @@ static int im_event_c(IM_DATA* im, SDL_Event event)
*/
int im_read(IM_DATA* im, SDL_Event event)
{
SDL_Keysym ks = event.key.keysym;
IM_EVENT_FN im_event_fp = NULL;
int redraw = 0;
@ -932,7 +931,7 @@ static int im_event_zh_tw(IM_DATA* im, SDL_Event event)
default:
/* English mode */
if(cm.section == SEC_ENGLISH) {
strncpy(im->s , event.text.text, 16);
mbstowcs(im->s , event.text.text, 16);
// im->s[0] = event.text.text[0];
// im->s[1] = L'\0';
im->buf[0] = L'\0';
@ -1121,7 +1120,7 @@ static int im_event_th(IM_DATA* im, SDL_Event event)
/* English mode */
if(cm.section == SEC_ENGLISH) {
// im->s[0] = event.text.text[0];
strncpy(im->s , event.text.text, 16);
mbstowcs(im->s , event.text.text, 16);
//im->s[1] = L'\0';
im->buf[0] = L'\0';
}
@ -1309,7 +1308,7 @@ static int im_event_ja(IM_DATA* im, SDL_Event event)
default:
/* English mode */
if(cm.section == SEC_ENGLISH) {
strncpy(im->s , event.text.text, 16);
mbstowcs(im->s , event.text.text, 16);
// im->s[0] = event.text.text[0];
// im->s[1] = L'\0';
im->buf[0] = L'\0';
@ -1520,7 +1519,7 @@ static int im_event_ko(IM_DATA* im, SDL_Event event)
default:
/* English mode */
if(cm.section == SEC_ENGLISH) {
strncpy(im->s , event.text.text, 16);
mbstowcs(im->s , event.text.text, 16);
// im->s[0] = event.text.text[0];
// im->s[1] = L'\0';
im->buf[0] = L'\0';