Solve keyboard non working in gles and sdl project
This commit is contained in:
parent
ea6b2f11f0
commit
1472101b95
4 changed files with 24 additions and 11 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue