Solve keyboard non working in gles and sdl project

This commit is contained in:
Chips 2016-08-01 18:58:01 +02:00
parent ea6b2f11f0
commit 1472101b95
4 changed files with 24 additions and 11 deletions

View file

@ -15,6 +15,8 @@
#include <SDL.h>
char keyboard_type = 0;
static struct uae_input_device_kbr_default keytrans_amiga_x11[] = {
{ 9 , INPUTEVENT_KEY_ESC},
@ -346,14 +348,17 @@ void keyboard_settrans (void)
if (strcmp(vid_drv_name, "x11") == 0)
{
printf("Will use keycode from x11 mapping.\n");
keyboard_type = KEYCODE_X11;
inputdevice_setkeytranslation (keytrans_x11, kbmaps);
} else if (strcmp(vid_drv_name, "fbcon") == 0)
{
printf("Will use keycode from fbcon mapping.\n");
keyboard_type = KEYCODE_FBCON;
inputdevice_setkeytranslation (keytrans_fbcon, kbmaps);
} else
{
printf("Unknown keycode to use, will use keysym\n");
keyboard_type = KEYCODE_UNK;
inputdevice_setkeytranslation (keytrans, kbmaps);
}
}

View file

@ -921,11 +921,11 @@ int handle_msgpump (void)
inputdevice_do_keyboard(AK_LSH, 0);
inputdevice_do_keyboard(keycode, 1);
} else {
#ifdef RASPBERRY
inputdevice_translatekeycode(0, rEvent.key.keysym.scancode, 1);
#else
inputdevice_translatekeycode(0, rEvent.key.keysym.sym, 1);
#endif
if (keyboard_type == KEYCODE_UNK)
inputdevice_translatekeycode(0, rEvent.key.keysym.sym, 1);
else
inputdevice_translatekeycode(0, rEvent.key.keysym.scancode, 1);
}
break;
}
@ -970,11 +970,10 @@ int handle_msgpump (void)
if(modifier == KMOD_SHIFT)
inputdevice_do_keyboard(AK_LSH, 0);
} else {
#ifdef RASPBERRY
inputdevice_translatekeycode(0, rEvent.key.keysym.scancode, 0);
#else
inputdevice_translatekeycode(0, rEvent.key.keysym.sym, 0);
#endif
if (keyboard_type == KEYCODE_UNK)
inputdevice_translatekeycode(0, rEvent.key.keysym.sym, 0);
else
inputdevice_translatekeycode(0, rEvent.key.keysym.scancode, 0);
}
break;
}