diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hid.cpp | 3 | ||||
| -rw-r--r-- | src/core/hle/service/hid/irs.cpp | 49 | ||||
| -rw-r--r-- | src/core/hle/service/hid/irs.h | 21 |
4 files changed, 75 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 063e18d64..73339e2e0 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt | |||
| @@ -160,6 +160,8 @@ add_library(core STATIC | |||
| 160 | hle/service/grc/grc.h | 160 | hle/service/grc/grc.h |
| 161 | hle/service/hid/hid.cpp | 161 | hle/service/hid/hid.cpp |
| 162 | hle/service/hid/hid.h | 162 | hle/service/hid/hid.h |
| 163 | hle/service/hid/irs.cpp | ||
| 164 | hle/service/hid/irs.h | ||
| 163 | hle/service/ldn/ldn.cpp | 165 | hle/service/ldn/ldn.cpp |
| 164 | hle/service/ldn/ldn.h | 166 | hle/service/ldn/ldn.h |
| 165 | hle/service/ldr/ldr.cpp | 167 | hle/service/ldr/ldr.cpp |
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 9a02ba686..64a6fdeed 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #include "core/hle/kernel/event.h" | 14 | #include "core/hle/kernel/event.h" |
| 15 | #include "core/hle/kernel/shared_memory.h" | 15 | #include "core/hle/kernel/shared_memory.h" |
| 16 | #include "core/hle/service/hid/hid.h" | 16 | #include "core/hle/service/hid/hid.h" |
| 17 | #include "core/hle/service/hid/irs.h" | ||
| 17 | #include "core/hle/service/service.h" | 18 | #include "core/hle/service/service.h" |
| 18 | 19 | ||
| 19 | namespace Service::HID { | 20 | namespace Service::HID { |
| @@ -559,6 +560,8 @@ void ReloadInputDevices() {} | |||
| 559 | 560 | ||
| 560 | void InstallInterfaces(SM::ServiceManager& service_manager) { | 561 | void InstallInterfaces(SM::ServiceManager& service_manager) { |
| 561 | std::make_shared<Hid>()->InstallAsService(service_manager); | 562 | std::make_shared<Hid>()->InstallAsService(service_manager); |
| 563 | std::make_shared<IRS>()->InstallAsService(service_manager); | ||
| 564 | std::make_shared<IRS_SYS>()->InstallAsService(service_manager); | ||
| 562 | } | 565 | } |
| 563 | 566 | ||
| 564 | } // namespace Service::HID | 567 | } // namespace Service::HID |
diff --git a/src/core/hle/service/hid/irs.cpp b/src/core/hle/service/hid/irs.cpp new file mode 100644 index 000000000..aaf311912 --- /dev/null +++ b/src/core/hle/service/hid/irs.cpp | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | // Copyright 2018 yuzu emulator team | ||
| 2 | // Licensed under GPLv2 or any later version | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "core/hle/service/hid/irs.h" | ||
| 6 | |||
| 7 | namespace Service::HID { | ||
| 8 | |||
| 9 | IRS::IRS() : ServiceFramework{"irs"} { | ||
| 10 | // clang-format off | ||
| 11 | static const FunctionInfo functions[] = { | ||
| 12 | {302, nullptr, "ActivateIrsensor"}, | ||
| 13 | {303, nullptr, "DeactivateIrsensor"}, | ||
| 14 | {304, nullptr, "GetIrsensorSharedMemoryHandle"}, | ||
| 15 | {305, nullptr, "StopImageProcessor"}, | ||
| 16 | {306, nullptr, "RunMomentProcessor"}, | ||
| 17 | {307, nullptr, "RunClusteringProcessor"}, | ||
| 18 | {308, nullptr, "RunImageTransferProcessor"}, | ||
| 19 | {309, nullptr, "GetImageTransferProcessorState"}, | ||
| 20 | {310, nullptr, "RunTeraPluginProcessor"}, | ||
| 21 | {311, nullptr, "GetNpadIrCameraHandle"}, | ||
| 22 | {312, nullptr, "RunPointingProcessor"}, | ||
| 23 | {313, nullptr, "SuspendImageProcessor"}, | ||
| 24 | {314, nullptr, "CheckFirmwareVersion"}, | ||
| 25 | {315, nullptr, "SetFunctionLevel"}, | ||
| 26 | {316, nullptr, "RunImageTransferExProcessor"}, | ||
| 27 | {317, nullptr, "RunIrLedProcessor"}, | ||
| 28 | {318, nullptr, "StopImageProcessorAsync"}, | ||
| 29 | {319, nullptr, "ActivateIrsensorWithFunctionLevel"}, | ||
| 30 | }; | ||
| 31 | // clang-format on | ||
| 32 | |||
| 33 | RegisterHandlers(functions); | ||
| 34 | } | ||
| 35 | |||
| 36 | IRS_SYS::IRS_SYS() : ServiceFramework{"irs:sys"} { | ||
| 37 | // clang-format off | ||
| 38 | static const FunctionInfo functions[] = { | ||
| 39 | {500, nullptr, "SetAppletResourceUserId"}, | ||
| 40 | {501, nullptr, "RegisterAppletResourceUserId"}, | ||
| 41 | {502, nullptr, "UnregisterAppletResourceUserId"}, | ||
| 42 | {503, nullptr, "EnableAppletToGetInput"}, | ||
| 43 | }; | ||
| 44 | // clang-format on | ||
| 45 | |||
| 46 | RegisterHandlers(functions); | ||
| 47 | } | ||
| 48 | |||
| 49 | } // namespace Service::HID | ||
diff --git a/src/core/hle/service/hid/irs.h b/src/core/hle/service/hid/irs.h new file mode 100644 index 000000000..a8be701c7 --- /dev/null +++ b/src/core/hle/service/hid/irs.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | // Copyright 2018 yuzu emulator team | ||
| 2 | // Licensed under GPLv2 or any later version | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | namespace Service::HID { | ||
| 10 | |||
| 11 | class IRS final : public ServiceFramework<IRS> { | ||
| 12 | public: | ||
| 13 | explicit IRS(); | ||
| 14 | }; | ||
| 15 | |||
| 16 | class IRS_SYS final : public ServiceFramework<IRS_SYS> { | ||
| 17 | public: | ||
| 18 | explicit IRS_SYS(); | ||
| 19 | }; | ||
| 20 | |||
| 21 | } // namespace Service::HID | ||