2026-09-26 10:24:21

Signed-off-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie
2026-09-26 10:24:21 +00:00
parent e733bb15db
commit c94890ef3c
224 changed files with 4671 additions and 5585 deletions
@@ -14,16 +14,16 @@
namespace Service::HID {
ServiceFrameworkBase::FunctionInfoBase const* IActiveVibrationDeviceList::FindRequest(u32 key) {
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, C<&IActiveVibrationDeviceList::ActivateVibrationDevice>, "ActivateVibrationDevice"}
);
return HandlerTableGenerateWithFind(key, functions);
}
IActiveVibrationDeviceList::IActiveVibrationDeviceList(Core::System& system_,
std::shared_ptr<ResourceManager> resource)
: ServiceFramework{system_, "IActiveVibrationDeviceList"}, resource_manager(resource) {
// clang-format off
FunctionInfoBase const* FindRequest(u32 key) override {
return HandlerTableGenerateWithFind(key, functions);
}
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, C<&IActiveVibrationDeviceList::ActivateVibrationDevice>, "ActivateVibrationDevice"}
);
}
IActiveVibrationDeviceList::~IActiveVibrationDeviceList() = default;
@@ -26,8 +26,8 @@ public:
private:
static constexpr std::size_t MaxVibrationDevicesHandles{0x100};
Result ActivateVibrationDevice(Core::HID::VibrationDeviceHandle vibration_device_handle);
FunctionInfoBase const* FindRequest(u32 key) override;
mutable std::mutex mutex;
std::size_t list_size{};
@@ -12,6 +12,13 @@
namespace Service::HID {
ServiceFrameworkBase::FunctionInfoBase const* IAppletResource::FindRequest(u32 key) {
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, C<&IAppletResource::GetSharedMemoryHandle>, "GetSharedMemoryHandle"}
);
return HandlerTableGenerateWithFind(key, functions);
}
IAppletResource::IAppletResource(Core::System& system_, std::shared_ptr<ResourceManager> resource,
u64 applet_resource_user_id)
: ServiceFramework{system_, "IAppletResource"}, aruid{applet_resource_user_id},
+1 -6
View File
@@ -29,12 +29,7 @@ public:
private:
Result GetSharedMemoryHandle(OutCopyHandle<Kernel::KSharedMemory> out_shared_memory_handle);
FunctionInfoBase const* FindRequest(u32 key) override {
return HandlerTableGenerateWithFind(key, functions);
}
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, C<&IAppletResource::GetSharedMemoryHandle>, "GetSharedMemoryHandle"}
);
FunctionInfoBase const* FindRequest(u32 key) override;
u64 aruid{};
std::shared_ptr<ResourceManager> resource_manager;
};
+20 -22
View File
@@ -26,30 +26,28 @@ namespace Service::HID {
// (15ms, 66Hz)
constexpr auto hidbus_update_ns = std::chrono::nanoseconds{15 * 1000 * 1000};
ServiceFrameworkBase::FunctionInfoBase const* Hidbus::FindRequest(u32 key) {
static constexpr auto functions = CreateStaticMap(
FunctionInfo{1, C<&Hidbus::GetBusHandle>, "GetBusHandle"},
FunctionInfo{2, C<&Hidbus::IsExternalDeviceConnected>, "IsExternalDeviceConnected"},
FunctionInfo{3, C<&Hidbus::Initialize>, "Initialize"},
FunctionInfo{4, C<&Hidbus::Finalize>, "Finalize"},
FunctionInfo{5, C<&Hidbus::EnableExternalDevice>, "EnableExternalDevice"},
FunctionInfo{6, C<&Hidbus::GetExternalDeviceId>, "GetExternalDeviceId"},
FunctionInfo{7, C<&Hidbus::SendCommandAsync>, "SendCommandAsync"},
FunctionInfo{8, C<&Hidbus::GetSendCommandAsynceResult>, "GetSendCommandAsynceResult"},
FunctionInfo{9, C<&Hidbus::SetEventForSendCommandAsycResult>, "SetEventForSendCommandAsycResult"},
FunctionInfo{10, C<&Hidbus::GetSharedMemoryHandle>, "GetSharedMemoryHandle"},
FunctionInfo{11, C<&Hidbus::EnableJoyPollingReceiveMode>, "EnableJoyPollingReceiveMode"},
FunctionInfo{12, C<&Hidbus::DisableJoyPollingReceiveMode>, "DisableJoyPollingReceiveMode"},
FunctionInfo{13, nullptr, "GetPollingData"},
FunctionInfo{14, C<&Hidbus::SetStatusManagerType>, "SetStatusManagerType"}
);
return HandlerTableGenerateWithFind(key, functions);
}
Hidbus::Hidbus(Core::System& system_)
: ServiceFramework{system_, "hidbus"}, service_context{system_, service_name} {
// clang-format off
FunctionInfoBase const* FindRequest(u32 key) override {
return HandlerTableGenerateWithFind(key, functions);
}
static constexpr auto functions = CreateStaticMap(
FunctionInfo{1, C<&Hidbus::GetBusHandle>, "GetBusHandle"},
FunctionInfo{2, C<&Hidbus::IsExternalDeviceConnected>, "IsExternalDeviceConnected"},
FunctionInfo{3, C<&Hidbus::Initialize>, "Initialize"},
FunctionInfo{4, C<&Hidbus::Finalize>, "Finalize"},
FunctionInfo{5, C<&Hidbus::EnableExternalDevice>, "EnableExternalDevice"},
FunctionInfo{6, C<&Hidbus::GetExternalDeviceId>, "GetExternalDeviceId"},
FunctionInfo{7, C<&Hidbus::SendCommandAsync>, "SendCommandAsync"},
FunctionInfo{8, C<&Hidbus::GetSendCommandAsynceResult>, "GetSendCommandAsynceResult"},
FunctionInfo{9, C<&Hidbus::SetEventForSendCommandAsycResult>, "SetEventForSendCommandAsycResult"},
FunctionInfo{10, C<&Hidbus::GetSharedMemoryHandle>, "GetSharedMemoryHandle"},
FunctionInfo{11, C<&Hidbus::EnableJoyPollingReceiveMode>, "EnableJoyPollingReceiveMode"},
FunctionInfo{12, C<&Hidbus::DisableJoyPollingReceiveMode>, "DisableJoyPollingReceiveMode"},
FunctionInfo{13, nullptr, "GetPollingData"},
FunctionInfo{14, C<&Hidbus::SetStatusManagerType>, "SetStatusManagerType"}
);
// Register update callbacks
hidbus_update_event = Core::Timing::CreateEvent(
"Hidbus::UpdateCallback",
+2
View File
@@ -144,6 +144,8 @@ private:
}
}
FunctionInfoBase const* FindRequest(u32 key) override;
bool is_hidbus_enabled{false};
HidbusStatusManager hidbus_status{};
std::array<HidbusDevice, max_number_of_handles> devices{};