mirror of
https://git.eden-emu.dev/archive/citron
synced 2026-04-21 12:04:29 -04:00
Merge pull request #12780 from german77/touch_resource5
service: hid: Fully implement touch resource
This commit is contained in:
@@ -1070,11 +1070,14 @@ void NPad::UnregisterAppletResourceUserId(u64 aruid) {
|
||||
void NPad::SetNpadExternals(std::shared_ptr<AppletResource> resource,
|
||||
std::recursive_mutex* shared_mutex,
|
||||
std::shared_ptr<HandheldConfig> handheld_config,
|
||||
Kernel::KEvent* input_event, std::mutex* input_mutex,
|
||||
std::shared_ptr<Service::Set::ISystemSettingsServer> settings) {
|
||||
applet_resource_holder.applet_resource = resource;
|
||||
applet_resource_holder.shared_mutex = shared_mutex;
|
||||
applet_resource_holder.shared_npad_resource = &npad_resource;
|
||||
applet_resource_holder.handheld_config = handheld_config;
|
||||
applet_resource_holder.input_event = input_event;
|
||||
applet_resource_holder.input_mutex = input_mutex;
|
||||
|
||||
vibration_handler.SetSettingsService(settings);
|
||||
|
||||
|
||||
@@ -131,6 +131,7 @@ public:
|
||||
void SetNpadExternals(std::shared_ptr<AppletResource> resource,
|
||||
std::recursive_mutex* shared_mutex,
|
||||
std::shared_ptr<HandheldConfig> handheld_config,
|
||||
Kernel::KEvent* input_event, std::mutex* input_mutex,
|
||||
std::shared_ptr<Service::Set::ISystemSettingsServer> settings);
|
||||
|
||||
AppletDetailedUiType GetAppletDetailedUiType(Core::HID::NpadIdType npad_id);
|
||||
@@ -204,9 +205,6 @@ private:
|
||||
std::array<AbstractPad, MaxSupportedNpadIdTypes> abstracted_pads;
|
||||
NpadVibration vibration_handler{};
|
||||
|
||||
Kernel::KEvent* input_event{nullptr};
|
||||
std::mutex* input_mutex{nullptr};
|
||||
|
||||
std::atomic<u64> press_state{};
|
||||
std::array<std::array<NpadControllerData, MaxSupportedNpadIdTypes>, AruidIndexMax>
|
||||
controller_data{};
|
||||
|
||||
@@ -72,6 +72,12 @@ void NPadResource::UnregisterAppletResourceUserId(u64 aruid) {
|
||||
state[aruid_index] = {};
|
||||
registration_list.flag[aruid_index] = RegistrationStatus::PendingDelete;
|
||||
}
|
||||
|
||||
for (std::size_t i = 0; i < AruidIndexMax; i++) {
|
||||
if (registration_list.flag[i] == RegistrationStatus::Initialized) {
|
||||
active_data_aruid = registration_list.aruid[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void NPadResource::DestroyStyleSetUpdateEvents(u64 aruid) {
|
||||
|
||||
Reference in New Issue
Block a user