Better support for non-QWERTY Latin layouts
This commit is contained in:
parent
8f64f49c3b
commit
aa2bdf2a1c
@ -1206,7 +1206,7 @@ void run_gui(bool is_running)
|
|||||||
}
|
}
|
||||||
|
|
||||||
case SDL_KEYDOWN:
|
case SDL_KEYDOWN:
|
||||||
if (event.key.keysym.scancode == SDL_SCANCODE_F && event.key.keysym.mod & MODIFIER) {
|
if (event_hotkey_code(&event) == SDL_SCANCODE_F && event.key.keysym.mod & MODIFIER) {
|
||||||
if ((SDL_GetWindowFlags(window) & SDL_WINDOW_FULLSCREEN_DESKTOP) == false) {
|
if ((SDL_GetWindowFlags(window) & SDL_WINDOW_FULLSCREEN_DESKTOP) == false) {
|
||||||
SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN_DESKTOP);
|
SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN_DESKTOP);
|
||||||
}
|
}
|
||||||
@ -1215,7 +1215,7 @@ void run_gui(bool is_running)
|
|||||||
}
|
}
|
||||||
update_viewport();
|
update_viewport();
|
||||||
}
|
}
|
||||||
if (event.key.keysym.scancode == SDL_SCANCODE_O) {
|
if (event_hotkey_code(&event) == SDL_SCANCODE_O) {
|
||||||
if (event.key.keysym.mod & MODIFIER) {
|
if (event.key.keysym.mod & MODIFIER) {
|
||||||
char *filename = do_open_rom_dialog();
|
char *filename = do_open_rom_dialog();
|
||||||
if (filename) {
|
if (filename) {
|
||||||
|
@ -122,4 +122,13 @@ void connect_joypad(void);
|
|||||||
joypad_button_t get_joypad_button(uint8_t physical_button);
|
joypad_button_t get_joypad_button(uint8_t physical_button);
|
||||||
joypad_axis_t get_joypad_axis(uint8_t physical_axis);
|
joypad_axis_t get_joypad_axis(uint8_t physical_axis);
|
||||||
|
|
||||||
|
static SDL_Scancode event_hotkey_code(SDL_Event *event)
|
||||||
|
{
|
||||||
|
if (event->key.keysym.sym >= SDLK_a && event->key.keysym.sym < SDLK_z) {
|
||||||
|
return SDL_SCANCODE_A + event->key.keysym.sym - SDLK_a;
|
||||||
|
}
|
||||||
|
|
||||||
|
return event->key.keysym.scancode;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -233,7 +233,7 @@ static void handle_events(GB_gameboy_t *gb)
|
|||||||
};
|
};
|
||||||
|
|
||||||
case SDL_KEYDOWN:
|
case SDL_KEYDOWN:
|
||||||
switch (event.key.keysym.scancode) {
|
switch (event_hotkey_code(&event)) {
|
||||||
case SDL_SCANCODE_ESCAPE: {
|
case SDL_SCANCODE_ESCAPE: {
|
||||||
open_menu();
|
open_menu();
|
||||||
break;
|
break;
|
||||||
@ -241,7 +241,6 @@ static void handle_events(GB_gameboy_t *gb)
|
|||||||
case SDL_SCANCODE_C:
|
case SDL_SCANCODE_C:
|
||||||
if (event.type == SDL_KEYDOWN && (event.key.keysym.mod & KMOD_CTRL)) {
|
if (event.type == SDL_KEYDOWN && (event.key.keysym.mod & KMOD_CTRL)) {
|
||||||
GB_debugger_break(gb);
|
GB_debugger_break(gb);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user