add Hotkeys for Fullscreen (ALT+Enter)
This commit is contained in:
parent
e9893bc92a
commit
1cca3ef4ea
|
@ -18,12 +18,15 @@
|
||||||
|
|
||||||
#include "gfx_window_manager_api.h"
|
#include "gfx_window_manager_api.h"
|
||||||
#include "gfx_screen_config.h"
|
#include "gfx_screen_config.h"
|
||||||
|
#include "../configfile.h"
|
||||||
|
|
||||||
#include "src/pc/controller/controller_keyboard.h"
|
#include "src/pc/controller/controller_keyboard.h"
|
||||||
|
|
||||||
static SDL_Window *wnd;
|
static SDL_Window *wnd;
|
||||||
static int inverted_scancode_table[512];
|
static int inverted_scancode_table[512];
|
||||||
|
|
||||||
|
extern bool configFullscreen;
|
||||||
|
|
||||||
const SDL_Scancode windows_scancode_table[] =
|
const SDL_Scancode windows_scancode_table[] =
|
||||||
{
|
{
|
||||||
/* 0 1 2 3 4 5 6 7 */
|
/* 0 1 2 3 4 5 6 7 */
|
||||||
|
@ -86,6 +89,11 @@ static void gfx_sdl_init(void) {
|
||||||
|
|
||||||
wnd = SDL_CreateWindow("Super Mario 64 PC-Port", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
|
wnd = SDL_CreateWindow("Super Mario 64 PC-Port", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
|
||||||
DESIRED_SCREEN_WIDTH, DESIRED_SCREEN_HEIGHT, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE);
|
DESIRED_SCREEN_WIDTH, DESIRED_SCREEN_HEIGHT, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE);
|
||||||
|
|
||||||
|
if (configFullscreen)
|
||||||
|
{
|
||||||
|
SDL_SetWindowFullscreen(wnd, SDL_WINDOW_FULLSCREEN_DESKTOP);
|
||||||
|
}
|
||||||
|
|
||||||
SDL_GL_CreateContext(wnd);
|
SDL_GL_CreateContext(wnd);
|
||||||
SDL_GL_SetSwapInterval(2); // TODO 0, 1 or 2 or remove this line
|
SDL_GL_SetSwapInterval(2); // TODO 0, 1 or 2 or remove this line
|
||||||
|
@ -131,6 +139,22 @@ static int translate_scancode(int scancode) {
|
||||||
|
|
||||||
static void gfx_sdl_onkeydown(int scancode) {
|
static void gfx_sdl_onkeydown(int scancode) {
|
||||||
keyboard_on_key_down(translate_scancode(scancode));
|
keyboard_on_key_down(translate_scancode(scancode));
|
||||||
|
|
||||||
|
const Uint8 *state = SDL_GetKeyboardState(NULL);
|
||||||
|
|
||||||
|
if (state[SDL_SCANCODE_LALT] && state[SDL_SCANCODE_RETURN])
|
||||||
|
{
|
||||||
|
if (!configFullscreen)
|
||||||
|
{
|
||||||
|
SDL_SetWindowFullscreen(wnd, SDL_WINDOW_FULLSCREEN_DESKTOP);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SDL_SetWindowFullscreen(wnd, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
configFullscreen = !configFullscreen;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gfx_sdl_onkeyup(int scancode) {
|
static void gfx_sdl_onkeyup(int scancode) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user