116 lines
2.8 KiB
C++
Executable file
116 lines
2.8 KiB
C++
Executable file
void HotkeyGeneral::inputEvent(int16_t scancode, int16_t value) {
|
|
if(scancode == saveState.scancode && value) {
|
|
interface->saveState(activeSlot);
|
|
}
|
|
|
|
if(scancode == loadState.scancode && value) {
|
|
interface->loadState(activeSlot);
|
|
}
|
|
|
|
if(scancode == decrementSlot.scancode && value) {
|
|
if(--activeSlot == 0) activeSlot = 5;
|
|
utility->showMessage({ "Selected slot ", activeSlot });
|
|
}
|
|
|
|
if(scancode == incrementSlot.scancode && value) {
|
|
if(++activeSlot == 6) activeSlot = 1;
|
|
utility->showMessage({ "Selected slot ", activeSlot });
|
|
}
|
|
|
|
if(scancode == toggleMouseCapture.scancode && value) {
|
|
if(mainWindow->fullScreen() == false) {
|
|
input.acquired() ? input.unacquire() : input.acquire();
|
|
}
|
|
}
|
|
|
|
if(scancode == toggleFullScreen.scancode && value) {
|
|
utility->toggleFullScreen();
|
|
}
|
|
|
|
if(scancode == pause.scancode && value) {
|
|
application->pause = !application->pause;
|
|
}
|
|
|
|
if(scancode == turboMode.scancode) {
|
|
if(value) {
|
|
video.set(Video::Synchronize, false);
|
|
audio.set(Audio::Synchronize, false);
|
|
} else {
|
|
video.set(Video::Synchronize, config->video.synchronize);
|
|
audio.set(Audio::Synchronize, config->audio.synchronize);
|
|
}
|
|
}
|
|
|
|
if(scancode == power.scancode && value) {
|
|
interface->power();
|
|
}
|
|
|
|
if(scancode == reset.scancode && value) {
|
|
interface->reset();
|
|
}
|
|
|
|
if(scancode == quit.scancode && value) {
|
|
application->quit = true;
|
|
}
|
|
}
|
|
|
|
HotkeyGeneral::HotkeyGeneral() {
|
|
name = "General";
|
|
|
|
saveState.name = "Save state";
|
|
loadState.name = "Load state";
|
|
decrementSlot.name = "Decrement state slot";
|
|
incrementSlot.name = "Increment state slot";
|
|
toggleMouseCapture.name = "Toggle mouse capture";
|
|
toggleFullScreen.name = "Toggle fullscreen";
|
|
pause.name = "Pause emulation";
|
|
turboMode.name = "Turbo mode";
|
|
power.name = "Power cycle";
|
|
reset.name = "Reset";
|
|
quit.name = "Close emulator";
|
|
|
|
saveState.mapping = "KB0::F5";
|
|
loadState.mapping = "KB0::F7";
|
|
decrementSlot.mapping = "KB0::F6";
|
|
incrementSlot.mapping = "KB0::F8";
|
|
toggleMouseCapture.mapping = "KB0::F12";
|
|
toggleFullScreen.mapping = "KB0::F11";
|
|
pause.mapping = "KB0::P";
|
|
turboMode.mapping = "KB0::Tilde";
|
|
|
|
append(saveState);
|
|
append(loadState);
|
|
append(decrementSlot);
|
|
append(incrementSlot);
|
|
append(toggleMouseCapture);
|
|
append(toggleFullScreen);
|
|
append(pause);
|
|
append(turboMode);
|
|
append(power);
|
|
append(reset);
|
|
append(quit);
|
|
|
|
activeSlot = 1;
|
|
}
|
|
|
|
//
|
|
|
|
void HotkeyInput::inputEvent(int16_t scancode, int16_t value) {
|
|
general.inputEvent(scancode, value);
|
|
}
|
|
|
|
HotkeyInput::HotkeyInput() {
|
|
name = "Hotkeys";
|
|
append(general);
|
|
}
|
|
|
|
//
|
|
|
|
void UserInterfaceInput::inputEvent(int16_t scancode, int16_t value) {
|
|
hotkey.inputEvent(scancode, value);
|
|
}
|
|
|
|
UserInterfaceInput::UserInterfaceInput() {
|
|
name = "User Interface";
|
|
append(hotkey);
|
|
}
|