dolphin/Source/Core/DolphinQt/HotkeyScheduler.h
jnaidu360 5eb1669573 Add Hotkeys for Skylanders Portal and Infinity Base Menus
Adds two new hotkeys to open the menus for emulated USB devices- Skylanders Portal of Power and the Infinity Base. (Hotkeys only active when game is running).

Portal menu: Default is <Ctrl+P>.
Infinity base: Default is <Ctrl+I>
2023-05-26 13:36:08 -07:00

80 lines
1.6 KiB
C++

// Copyright 2017 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <thread>
#include <QObject>
#include "Common/CommonTypes.h"
#include "Common/Flag.h"
#include "InputCommon/InputProfile.h"
class HotkeyScheduler : public QObject
{
Q_OBJECT
public:
explicit HotkeyScheduler();
~HotkeyScheduler();
void Start();
void Stop();
signals:
void Open();
void EjectDisc();
void ChangeDisc();
void ExitHotkey();
void UnlockCursor();
void ActivateChat();
void RequestGolfControl();
void FullScreenHotkey();
void StopHotkey();
void ResetHotkey();
void TogglePauseHotkey();
void ScreenShotHotkey();
void RefreshGameListHotkey();
void SetStateSlotHotkey(int slot);
void IncrementSelectedStateSlotHotkey();
void DecrementSelectedStateSlotHotkey();
void StateLoadSlotHotkey();
void StateSaveSlotHotkey();
void StateLoadSlot(int state);
void StateSaveSlot(int state);
void StateLoadLastSaved(int state);
void StateSaveOldest();
void StateLoadFile();
void StateSaveFile();
void StateLoadUndo();
void StateSaveUndo();
void StartRecording();
void PlayRecording();
void ExportRecording();
void ToggleReadOnlyMode();
void ConnectWiiRemote(int id);
void Step();
void StepOver();
void StepOut();
void Skip();
void ShowPC();
void SetPC();
void ToggleBreakpoint();
void AddBreakpoint();
void SkylandersPortalHotkey();
void InfinityBaseHotkey();
private:
void Run();
void CheckDebuggingHotkeys();
void CheckGBAHotkeys();
Common::Flag m_stop_requested;
std::thread m_thread;
InputProfile::ProfileCycler m_profile_cycler;
};