Keyboard input seems to work, even dead keys, not tested IM, onscreen keyboard not working...
This commit is contained in:
parent
4c69fdbb43
commit
b08ddf00dd
3 changed files with 10 additions and 21 deletions
15
src/im.c
15
src/im.c
|
|
@ -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';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue