diff options
author | Kevin Hartman <kevin@hart.mn> | 2014-09-04 03:12:58 +0200 |
---|---|---|
committer | Kevin Hartman <kevin@hart.mn> | 2014-09-12 07:43:42 +0200 |
commit | 4a94ec934ab1a2216f94e3fcc46f5dde1d6e2f02 (patch) | |
tree | 2588f0c6051c9a5e3f23057d2953c35a854dbc43 /src/common/emu_window.h | |
parent | Created structure for PAD. (diff) | |
download | yuzu-4a94ec934ab1a2216f94e3fcc46f5dde1d6e2f02.tar yuzu-4a94ec934ab1a2216f94e3fcc46f5dde1d6e2f02.tar.gz yuzu-4a94ec934ab1a2216f94e3fcc46f5dde1d6e2f02.tar.bz2 yuzu-4a94ec934ab1a2216f94e3fcc46f5dde1d6e2f02.tar.lz yuzu-4a94ec934ab1a2216f94e3fcc46f5dde1d6e2f02.tar.xz yuzu-4a94ec934ab1a2216f94e3fcc46f5dde1d6e2f02.tar.zst yuzu-4a94ec934ab1a2216f94e3fcc46f5dde1d6e2f02.zip |
Diffstat (limited to 'src/common/emu_window.h')
-rw-r--r-- | src/common/emu_window.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/common/emu_window.h b/src/common/emu_window.h index 5e2c33d7a..90fbd9335 100644 --- a/src/common/emu_window.h +++ b/src/common/emu_window.h @@ -7,6 +7,9 @@ #include "common/common.h" #include "common/scm_rev.h" +#include "common/key_map.h" +#include "core/hle/service/hid.h" + // Abstraction class used to provide an interface between emulation code and the frontend (e.g. SDL, // QGLWidget, GLFW, etc...) class EmuWindow @@ -32,6 +35,22 @@ public: /// Releases (dunno if this is the "right" word) the GLFW context from the caller thread virtual void DoneCurrent() = 0; + static void KeyPressed(KeyMap::CitraKey key) { + HID_User::PADState mapped_key = KeyMap::Get3DSKey(key); + + if (mapped_key.hex != HID_User::PAD_NONE.hex) { + HID_User::PADButtonPress(mapped_key); + } + } + + static void KeyReleased(KeyMap::CitraKey key) { + HID_User::PADState mapped_key = KeyMap::Get3DSKey(key); + + if (mapped_key.hex != HID_User::PAD_NONE.hex) { + HID_User::PADButtonRelease(mapped_key); + } + } + Config GetConfig() const { return m_config; } |