HotkeyScheduler.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // Copyright 2017 Dolphin Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <thread>
  5. #include <QObject>
  6. #include "Common/CommonTypes.h"
  7. #include "Common/Flag.h"
  8. #include "InputCommon/InputProfile.h"
  9. class HotkeyScheduler : public QObject
  10. {
  11. Q_OBJECT
  12. public:
  13. explicit HotkeyScheduler();
  14. ~HotkeyScheduler();
  15. void Start();
  16. void Stop();
  17. signals:
  18. void Open();
  19. void EjectDisc();
  20. void ChangeDisc();
  21. void ExitHotkey();
  22. void UnlockCursor();
  23. void ActivateChat();
  24. void RequestGolfControl();
  25. void FullScreenHotkey();
  26. void StopHotkey();
  27. void ResetHotkey();
  28. void TogglePauseHotkey();
  29. void ScreenShotHotkey();
  30. void RefreshGameListHotkey();
  31. void SetStateSlotHotkey(int slot);
  32. void IncrementSelectedStateSlotHotkey();
  33. void DecrementSelectedStateSlotHotkey();
  34. void StateLoadSlotHotkey();
  35. void StateSaveSlotHotkey();
  36. void StateLoadSlot(int state);
  37. void StateSaveSlot(int state);
  38. void StateLoadLastSaved(int state);
  39. void StateSaveOldest();
  40. void StateLoadFile();
  41. void StateSaveFile();
  42. void StateLoadUndo();
  43. void StateSaveUndo();
  44. void StartRecording();
  45. void PlayRecording();
  46. void ExportRecording();
  47. void ToggleReadOnlyMode();
  48. void ConnectWiiRemote(int id);
  49. #ifdef USE_RETRO_ACHIEVEMENTS
  50. void OpenAchievements();
  51. #endif // USE_RETRO_ACHIEVEMENTS
  52. void Step();
  53. void StepOver();
  54. void StepOut();
  55. void Skip();
  56. void ShowPC();
  57. void SetPC();
  58. void ToggleBreakpoint();
  59. void AddBreakpoint();
  60. void SkylandersPortalHotkey();
  61. void InfinityBaseHotkey();
  62. private:
  63. void Run();
  64. void CheckDebuggingHotkeys();
  65. void CheckGBAHotkeys();
  66. Common::Flag m_stop_requested;
  67. std::thread m_thread;
  68. InputProfile::ProfileCycler m_profile_cycler;
  69. };