dmnt: only initialize HID once

This commit is contained in:
Michael Scire 2019-03-05 07:50:50 -08:00
parent b4b1208222
commit fbddf090a4
2 changed files with 10 additions and 4 deletions

View file

@ -16,17 +16,17 @@
#include <switch.h>
#include <string.h>
#include <stratosphere.hpp>
#include "dmnt_hid.hpp"
static HosMutex g_hid_keys_down_lock;
Result HidManagement::GetKeysDown(u64 *keys) {
if (R_FAILED(hidInitialize())) {
return MAKERESULT(Module_Libnx, LibnxError_InitFail_HID);
}
std::scoped_lock<HosMutex> lk(g_hid_keys_down_lock);
hidScanInput();
*keys = hidKeysDown(CONTROLLER_P1_AUTO);
hidExit();
return 0x0;
}

View file

@ -99,6 +99,11 @@ void __appInit(void) {
fatalSimple(rc);
}
rc = hidInitialize();
if (R_FAILED(rc)) {
fatalSimple(rc);
}
rc = fsInitialize();
if (R_FAILED(rc)) {
fatalSimple(rc);
@ -116,6 +121,7 @@ void __appExit(void) {
/* Cleanup services. */
fsdevUnmountAll();
fsExit();
hidExit();
setExit();
lrExit();
nsdevExit();