Stub several HID functions

This commit is contained in:
Billy Laws 2022-04-30 15:26:11 +01:00
parent 112c20cef2
commit 194cbe6c7c
2 changed files with 35 additions and 3 deletions

View File

@ -29,6 +29,10 @@ namespace skyline::service::hid {
return {}; return {};
} }
Result IHidServer::StopSixAxisSensor(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
return {};
}
Result IHidServer::SetSupportedNpadStyleSet(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) { Result IHidServer::SetSupportedNpadStyleSet(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
auto styleSet{request.Pop<NpadStyleSet>()}; auto styleSet{request.Pop<NpadStyleSet>()};
std::scoped_lock lock{state.input->npad.mutex}; std::scoped_lock lock{state.input->npad.mutex};
@ -141,6 +145,15 @@ namespace skyline::service::hid {
return {}; return {};
} }
Result IHidServer::StartLrAssignmentMode(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
// This isn't really necessary for us due to input preconfiguration so stub it
return {};
}
Result IHidServer::StopLrAssignmentMode(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
return {};
}
Result IHidServer::SetNpadHandheldActivationMode(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) { Result IHidServer::SetNpadHandheldActivationMode(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
request.Skip<u64>(); request.Skip<u64>();
auto activationMode{request.Pop<NpadHandheldActivationMode>()}; auto activationMode{request.Pop<NpadHandheldActivationMode>()};

View File

@ -36,11 +36,17 @@ namespace skyline::service::hid {
Result ActivateTouchScreen(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); Result ActivateTouchScreen(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/** /**
* @brief Starts the Six Axis Sensor given an PID * @brief Starts the Six Axis Sensor for a specific Npad
* @url https://switchbrew.org/wiki/HID_services#CreateAppletResource * @url https://switchbrew.org/wiki/HID_services#StartSixAxisSensor
*/ */
Result StartSixAxisSensor(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); Result StartSixAxisSensor(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/**
* @brief Stops the Six Axis Sensor for a specific Npad
* @url https://switchbrew.org/wiki/HID_services#StopSixAxisSensor
*/
Result StopSixAxisSensor(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/** /**
* @brief Sets the style of controllers supported * @brief Sets the style of controllers supported
* @url https://switchbrew.org/wiki/HID_services#SetSupportedNpadStyleSet * @url https://switchbrew.org/wiki/HID_services#SetSupportedNpadStyleSet
@ -118,6 +124,16 @@ namespace skyline::service::hid {
*/ */
Result SetNpadJoyAssignmentModeDual(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); Result SetNpadJoyAssignmentModeDual(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/**
* @url https://switchbrew.org/wiki/HID_services#StartLrAssignmentMode
*/
Result StartLrAssignmentMode(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/**
* @url https://switchbrew.org/wiki/HID_services#StopLrAssignmentMode
*/
Result StopLrAssignmentMode(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/** /**
* @url https://switchbrew.org/wiki/HID_services#SetNpadHandheldActivationMode * @url https://switchbrew.org/wiki/HID_services#SetNpadHandheldActivationMode
*/ */
@ -157,6 +173,7 @@ namespace skyline::service::hid {
SFUNC(0x1, IHidServer, ActivateDebugPad), SFUNC(0x1, IHidServer, ActivateDebugPad),
SFUNC(0xB, IHidServer, ActivateTouchScreen), SFUNC(0xB, IHidServer, ActivateTouchScreen),
SFUNC(0x42, IHidServer, StartSixAxisSensor), SFUNC(0x42, IHidServer, StartSixAxisSensor),
SFUNC(0x43, IHidServer, StopSixAxisSensor),
SFUNC(0x64, IHidServer, SetSupportedNpadStyleSet), SFUNC(0x64, IHidServer, SetSupportedNpadStyleSet),
SFUNC(0x65, IHidServer, GetSupportedNpadStyleSet), SFUNC(0x65, IHidServer, GetSupportedNpadStyleSet),
SFUNC(0x66, IHidServer, SetSupportedNpadIdType), SFUNC(0x66, IHidServer, SetSupportedNpadIdType),
@ -170,6 +187,8 @@ namespace skyline::service::hid {
SFUNC(0x7A, IHidServer, SetNpadJoyAssignmentModeSingleByDefault), SFUNC(0x7A, IHidServer, SetNpadJoyAssignmentModeSingleByDefault),
SFUNC(0x7B, IHidServer, SetNpadJoyAssignmentModeSingle), SFUNC(0x7B, IHidServer, SetNpadJoyAssignmentModeSingle),
SFUNC(0x7C, IHidServer, SetNpadJoyAssignmentModeDual), SFUNC(0x7C, IHidServer, SetNpadJoyAssignmentModeDual),
SFUNC(0x7E, IHidServer, StartLrAssignmentMode),
SFUNC(0x7F, IHidServer, StopLrAssignmentMode),
SFUNC(0x80, IHidServer, SetNpadHandheldActivationMode), SFUNC(0x80, IHidServer, SetNpadHandheldActivationMode),
SFUNC(0x81, IHidServer, GetNpadHandheldActivationMode), SFUNC(0x81, IHidServer, GetNpadHandheldActivationMode),
SFUNC(0xCB, IHidServer, CreateActiveVibrationDeviceList), SFUNC(0xCB, IHidServer, CreateActiveVibrationDeviceList),