|
|
|
@ -136,131 +136,135 @@ private:
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
std::shared_ptr<IAppletResource> Hid::GetAppletResource() {
|
|
|
|
|
if (applet_resource == nullptr) {
|
|
|
|
|
applet_resource = std::make_shared<IAppletResource>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return applet_resource;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Hid::Hid() : ServiceFramework("hid") {
|
|
|
|
|
// clang-format off
|
|
|
|
|
static const FunctionInfo functions[] = {
|
|
|
|
|
{0, &Hid::CreateAppletResource, "CreateAppletResource"},
|
|
|
|
|
{1, &Hid::ActivateDebugPad, "ActivateDebugPad"},
|
|
|
|
|
{11, &Hid::ActivateTouchScreen, "ActivateTouchScreen"},
|
|
|
|
|
{21, &Hid::ActivateMouse, "ActivateMouse"},
|
|
|
|
|
{31, &Hid::ActivateKeyboard, "ActivateKeyboard"},
|
|
|
|
|
{32, nullptr, "SendKeyboardLockKeyEvent"},
|
|
|
|
|
{40, nullptr, "AcquireXpadIdEventHandle"},
|
|
|
|
|
{41, nullptr, "ReleaseXpadIdEventHandle"},
|
|
|
|
|
{51, &Hid::ActivateXpad, "ActivateXpad"},
|
|
|
|
|
{55, nullptr, "GetXpadIds"},
|
|
|
|
|
{56, nullptr, "ActivateJoyXpad"},
|
|
|
|
|
{58, nullptr, "GetJoyXpadLifoHandle"},
|
|
|
|
|
{59, nullptr, "GetJoyXpadIds"},
|
|
|
|
|
{60, nullptr, "ActivateSixAxisSensor"},
|
|
|
|
|
{61, nullptr, "DeactivateSixAxisSensor"},
|
|
|
|
|
{62, nullptr, "GetSixAxisSensorLifoHandle"},
|
|
|
|
|
{63, nullptr, "ActivateJoySixAxisSensor"},
|
|
|
|
|
{64, nullptr, "DeactivateJoySixAxisSensor"},
|
|
|
|
|
{65, nullptr, "GetJoySixAxisSensorLifoHandle"},
|
|
|
|
|
{66, &Hid::StartSixAxisSensor, "StartSixAxisSensor"},
|
|
|
|
|
{67, &Hid::StopSixAxisSensor, "StopSixAxisSensor"},
|
|
|
|
|
{68, nullptr, "IsSixAxisSensorFusionEnabled"},
|
|
|
|
|
{69, nullptr, "EnableSixAxisSensorFusion"},
|
|
|
|
|
{70, nullptr, "SetSixAxisSensorFusionParameters"},
|
|
|
|
|
{71, nullptr, "GetSixAxisSensorFusionParameters"},
|
|
|
|
|
{72, nullptr, "ResetSixAxisSensorFusionParameters"},
|
|
|
|
|
{73, nullptr, "SetAccelerometerParameters"},
|
|
|
|
|
{74, nullptr, "GetAccelerometerParameters"},
|
|
|
|
|
{75, nullptr, "ResetAccelerometerParameters"},
|
|
|
|
|
{76, nullptr, "SetAccelerometerPlayMode"},
|
|
|
|
|
{77, nullptr, "GetAccelerometerPlayMode"},
|
|
|
|
|
{78, nullptr, "ResetAccelerometerPlayMode"},
|
|
|
|
|
{79, &Hid::SetGyroscopeZeroDriftMode, "SetGyroscopeZeroDriftMode"},
|
|
|
|
|
{80, nullptr, "GetGyroscopeZeroDriftMode"},
|
|
|
|
|
{81, nullptr, "ResetGyroscopeZeroDriftMode"},
|
|
|
|
|
{82, &Hid::IsSixAxisSensorAtRest, "IsSixAxisSensorAtRest"},
|
|
|
|
|
{83, nullptr, "IsFirmwareUpdateAvailableForSixAxisSensor"},
|
|
|
|
|
{91, &Hid::ActivateGesture, "ActivateGesture"},
|
|
|
|
|
{100, &Hid::SetSupportedNpadStyleSet, "SetSupportedNpadStyleSet"},
|
|
|
|
|
{101, &Hid::GetSupportedNpadStyleSet, "GetSupportedNpadStyleSet"},
|
|
|
|
|
{102, &Hid::SetSupportedNpadIdType, "SetSupportedNpadIdType"},
|
|
|
|
|
{103, &Hid::ActivateNpad, "ActivateNpad"},
|
|
|
|
|
{104, nullptr, "DeactivateNpad"},
|
|
|
|
|
{106, &Hid::AcquireNpadStyleSetUpdateEventHandle, "AcquireNpadStyleSetUpdateEventHandle"},
|
|
|
|
|
{107, &Hid::DisconnectNpad, "DisconnectNpad"},
|
|
|
|
|
{108, &Hid::GetPlayerLedPattern, "GetPlayerLedPattern"},
|
|
|
|
|
{109, &Hid::ActivateNpadWithRevision, "ActivateNpadWithRevision"},
|
|
|
|
|
{120, &Hid::SetNpadJoyHoldType, "SetNpadJoyHoldType"},
|
|
|
|
|
{121, &Hid::GetNpadJoyHoldType, "GetNpadJoyHoldType"},
|
|
|
|
|
{122, &Hid::SetNpadJoyAssignmentModeSingleByDefault, "SetNpadJoyAssignmentModeSingleByDefault"},
|
|
|
|
|
{123, nullptr, "SetNpadJoyAssignmentModeSingleByDefault"},
|
|
|
|
|
{124, &Hid::SetNpadJoyAssignmentModeDual, "SetNpadJoyAssignmentModeDual"},
|
|
|
|
|
{125, &Hid::MergeSingleJoyAsDualJoy, "MergeSingleJoyAsDualJoy"},
|
|
|
|
|
{126, nullptr, "StartLrAssignmentMode"},
|
|
|
|
|
{127, nullptr, "StopLrAssignmentMode"},
|
|
|
|
|
{128, &Hid::SetNpadHandheldActivationMode, "SetNpadHandheldActivationMode"},
|
|
|
|
|
{129, nullptr, "GetNpadHandheldActivationMode"},
|
|
|
|
|
{130, nullptr, "SwapNpadAssignment"},
|
|
|
|
|
{131, nullptr, "IsUnintendedHomeButtonInputProtectionEnabled"},
|
|
|
|
|
{132, nullptr, "EnableUnintendedHomeButtonInputProtection"},
|
|
|
|
|
{133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
|
|
|
|
|
{200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"},
|
|
|
|
|
{201, &Hid::SendVibrationValue, "SendVibrationValue"},
|
|
|
|
|
{202, &Hid::GetActualVibrationValue, "GetActualVibrationValue"},
|
|
|
|
|
{203, &Hid::CreateActiveVibrationDeviceList, "CreateActiveVibrationDeviceList"},
|
|
|
|
|
{204, nullptr, "PermitVibration"},
|
|
|
|
|
{205, nullptr, "IsVibrationPermitted"},
|
|
|
|
|
{206, &Hid::SendVibrationValues, "SendVibrationValues"},
|
|
|
|
|
{207, nullptr, "SendVibrationGcErmCommand"},
|
|
|
|
|
{208, nullptr, "GetActualVibrationGcErmCommand"},
|
|
|
|
|
{209, &Hid::BeginPermitVibrationSession, "BeginPermitVibrationSession"},
|
|
|
|
|
{210, &Hid::EndPermitVibrationSession, "EndPermitVibrationSession"},
|
|
|
|
|
{300, &Hid::ActivateConsoleSixAxisSensor, "ActivateConsoleSixAxisSensor"},
|
|
|
|
|
{301, &Hid::StartConsoleSixAxisSensor, "StartConsoleSixAxisSensor"},
|
|
|
|
|
{302, nullptr, "StopConsoleSixAxisSensor"},
|
|
|
|
|
{303, nullptr, "ActivateSevenSixAxisSensor"},
|
|
|
|
|
{304, nullptr, "StartSevenSixAxisSensor"},
|
|
|
|
|
{305, nullptr, "StopSevenSixAxisSensor"},
|
|
|
|
|
{306, nullptr, "InitializeSevenSixAxisSensor"},
|
|
|
|
|
{307, nullptr, "FinalizeSevenSixAxisSensor"},
|
|
|
|
|
{308, nullptr, "SetSevenSixAxisSensorFusionStrength"},
|
|
|
|
|
{309, nullptr, "GetSevenSixAxisSensorFusionStrength"},
|
|
|
|
|
{310, nullptr, "ResetSevenSixAxisSensorTimestamp"},
|
|
|
|
|
{400, nullptr, "IsUsbFullKeyControllerEnabled"},
|
|
|
|
|
{401, nullptr, "EnableUsbFullKeyController"},
|
|
|
|
|
{402, nullptr, "IsUsbFullKeyControllerConnected"},
|
|
|
|
|
{403, nullptr, "HasBattery"},
|
|
|
|
|
{404, nullptr, "HasLeftRightBattery"},
|
|
|
|
|
{405, nullptr, "GetNpadInterfaceType"},
|
|
|
|
|
{406, nullptr, "GetNpadLeftRightInterfaceType"},
|
|
|
|
|
{500, nullptr, "GetPalmaConnectionHandle"},
|
|
|
|
|
{501, nullptr, "InitializePalma"},
|
|
|
|
|
{502, nullptr, "AcquirePalmaOperationCompleteEvent"},
|
|
|
|
|
{503, nullptr, "GetPalmaOperationInfo"},
|
|
|
|
|
{504, nullptr, "PlayPalmaActivity"},
|
|
|
|
|
{505, nullptr, "SetPalmaFrModeType"},
|
|
|
|
|
{506, nullptr, "ReadPalmaStep"},
|
|
|
|
|
{507, nullptr, "EnablePalmaStep"},
|
|
|
|
|
{508, nullptr, "ResetPalmaStep"},
|
|
|
|
|
{509, nullptr, "ReadPalmaApplicationSection"},
|
|
|
|
|
{510, nullptr, "WritePalmaApplicationSection"},
|
|
|
|
|
{511, nullptr, "ReadPalmaUniqueCode"},
|
|
|
|
|
{512, nullptr, "SetPalmaUniqueCodeInvalid"},
|
|
|
|
|
{513, nullptr, "WritePalmaActivityEntry"},
|
|
|
|
|
{514, nullptr, "WritePalmaRgbLedPatternEntry"},
|
|
|
|
|
{515, nullptr, "WritePalmaWaveEntry"},
|
|
|
|
|
{516, nullptr, "SetPalmaDataBaseIdentificationVersion"},
|
|
|
|
|
{517, nullptr, "GetPalmaDataBaseIdentificationVersion"},
|
|
|
|
|
{518, nullptr, "SuspendPalmaFeature"},
|
|
|
|
|
{519, nullptr, "GetPalmaOperationResult"},
|
|
|
|
|
{520, nullptr, "ReadPalmaPlayLog"},
|
|
|
|
|
{521, nullptr, "ResetPalmaPlayLog"},
|
|
|
|
|
{522, &Hid::SetIsPalmaAllConnectable, "SetIsPalmaAllConnectable"},
|
|
|
|
|
{523, nullptr, "SetIsPalmaPairedConnectable"},
|
|
|
|
|
{524, nullptr, "PairPalma"},
|
|
|
|
|
{525, &Hid::SetPalmaBoostMode, "SetPalmaBoostMode"},
|
|
|
|
|
{1000, nullptr, "SetNpadCommunicationMode"},
|
|
|
|
|
{1001, nullptr, "GetNpadCommunicationMode"},
|
|
|
|
|
};
|
|
|
|
|
static const FunctionInfo functions[] = {
|
|
|
|
|
{0, &Hid::CreateAppletResource, "CreateAppletResource"},
|
|
|
|
|
{1, &Hid::ActivateDebugPad, "ActivateDebugPad"},
|
|
|
|
|
{11, &Hid::ActivateTouchScreen, "ActivateTouchScreen"},
|
|
|
|
|
{21, &Hid::ActivateMouse, "ActivateMouse"},
|
|
|
|
|
{31, &Hid::ActivateKeyboard, "ActivateKeyboard"},
|
|
|
|
|
{32, nullptr, "SendKeyboardLockKeyEvent"},
|
|
|
|
|
{40, nullptr, "AcquireXpadIdEventHandle"},
|
|
|
|
|
{41, nullptr, "ReleaseXpadIdEventHandle"},
|
|
|
|
|
{51, &Hid::ActivateXpad, "ActivateXpad"},
|
|
|
|
|
{55, nullptr, "GetXpadIds"},
|
|
|
|
|
{56, nullptr, "ActivateJoyXpad"},
|
|
|
|
|
{58, nullptr, "GetJoyXpadLifoHandle"},
|
|
|
|
|
{59, nullptr, "GetJoyXpadIds"},
|
|
|
|
|
{60, nullptr, "ActivateSixAxisSensor"},
|
|
|
|
|
{61, nullptr, "DeactivateSixAxisSensor"},
|
|
|
|
|
{62, nullptr, "GetSixAxisSensorLifoHandle"},
|
|
|
|
|
{63, nullptr, "ActivateJoySixAxisSensor"},
|
|
|
|
|
{64, nullptr, "DeactivateJoySixAxisSensor"},
|
|
|
|
|
{65, nullptr, "GetJoySixAxisSensorLifoHandle"},
|
|
|
|
|
{66, &Hid::StartSixAxisSensor, "StartSixAxisSensor"},
|
|
|
|
|
{67, &Hid::StopSixAxisSensor, "StopSixAxisSensor"},
|
|
|
|
|
{68, nullptr, "IsSixAxisSensorFusionEnabled"},
|
|
|
|
|
{69, nullptr, "EnableSixAxisSensorFusion"},
|
|
|
|
|
{70, nullptr, "SetSixAxisSensorFusionParameters"},
|
|
|
|
|
{71, nullptr, "GetSixAxisSensorFusionParameters"},
|
|
|
|
|
{72, nullptr, "ResetSixAxisSensorFusionParameters"},
|
|
|
|
|
{73, nullptr, "SetAccelerometerParameters"},
|
|
|
|
|
{74, nullptr, "GetAccelerometerParameters"},
|
|
|
|
|
{75, nullptr, "ResetAccelerometerParameters"},
|
|
|
|
|
{76, nullptr, "SetAccelerometerPlayMode"},
|
|
|
|
|
{77, nullptr, "GetAccelerometerPlayMode"},
|
|
|
|
|
{78, nullptr, "ResetAccelerometerPlayMode"},
|
|
|
|
|
{79, &Hid::SetGyroscopeZeroDriftMode, "SetGyroscopeZeroDriftMode"},
|
|
|
|
|
{80, nullptr, "GetGyroscopeZeroDriftMode"},
|
|
|
|
|
{81, nullptr, "ResetGyroscopeZeroDriftMode"},
|
|
|
|
|
{82, &Hid::IsSixAxisSensorAtRest, "IsSixAxisSensorAtRest"},
|
|
|
|
|
{83, nullptr, "IsFirmwareUpdateAvailableForSixAxisSensor"},
|
|
|
|
|
{91, &Hid::ActivateGesture, "ActivateGesture"},
|
|
|
|
|
{100, &Hid::SetSupportedNpadStyleSet, "SetSupportedNpadStyleSet"},
|
|
|
|
|
{101, &Hid::GetSupportedNpadStyleSet, "GetSupportedNpadStyleSet"},
|
|
|
|
|
{102, &Hid::SetSupportedNpadIdType, "SetSupportedNpadIdType"},
|
|
|
|
|
{103, &Hid::ActivateNpad, "ActivateNpad"},
|
|
|
|
|
{104, nullptr, "DeactivateNpad"},
|
|
|
|
|
{106, &Hid::AcquireNpadStyleSetUpdateEventHandle, "AcquireNpadStyleSetUpdateEventHandle"},
|
|
|
|
|
{107, &Hid::DisconnectNpad, "DisconnectNpad"},
|
|
|
|
|
{108, &Hid::GetPlayerLedPattern, "GetPlayerLedPattern"},
|
|
|
|
|
{109, &Hid::ActivateNpadWithRevision, "ActivateNpadWithRevision"},
|
|
|
|
|
{120, &Hid::SetNpadJoyHoldType, "SetNpadJoyHoldType"},
|
|
|
|
|
{121, &Hid::GetNpadJoyHoldType, "GetNpadJoyHoldType"},
|
|
|
|
|
{122, &Hid::SetNpadJoyAssignmentModeSingleByDefault, "SetNpadJoyAssignmentModeSingleByDefault"},
|
|
|
|
|
{123, nullptr, "SetNpadJoyAssignmentModeSingleByDefault"},
|
|
|
|
|
{124, &Hid::SetNpadJoyAssignmentModeDual, "SetNpadJoyAssignmentModeDual"},
|
|
|
|
|
{125, &Hid::MergeSingleJoyAsDualJoy, "MergeSingleJoyAsDualJoy"},
|
|
|
|
|
{126, nullptr, "StartLrAssignmentMode"},
|
|
|
|
|
{127, nullptr, "StopLrAssignmentMode"},
|
|
|
|
|
{128, &Hid::SetNpadHandheldActivationMode, "SetNpadHandheldActivationMode"},
|
|
|
|
|
{129, nullptr, "GetNpadHandheldActivationMode"},
|
|
|
|
|
{130, nullptr, "SwapNpadAssignment"},
|
|
|
|
|
{131, nullptr, "IsUnintendedHomeButtonInputProtectionEnabled"},
|
|
|
|
|
{132, nullptr, "EnableUnintendedHomeButtonInputProtection"},
|
|
|
|
|
{133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
|
|
|
|
|
{200, &Hid::GetVibrationDeviceInfo, "GetVibrationDeviceInfo"},
|
|
|
|
|
{201, &Hid::SendVibrationValue, "SendVibrationValue"},
|
|
|
|
|
{202, &Hid::GetActualVibrationValue, "GetActualVibrationValue"},
|
|
|
|
|
{203, &Hid::CreateActiveVibrationDeviceList, "CreateActiveVibrationDeviceList"},
|
|
|
|
|
{204, nullptr, "PermitVibration"},
|
|
|
|
|
{205, nullptr, "IsVibrationPermitted"},
|
|
|
|
|
{206, &Hid::SendVibrationValues, "SendVibrationValues"},
|
|
|
|
|
{207, nullptr, "SendVibrationGcErmCommand"},
|
|
|
|
|
{208, nullptr, "GetActualVibrationGcErmCommand"},
|
|
|
|
|
{209, &Hid::BeginPermitVibrationSession, "BeginPermitVibrationSession"},
|
|
|
|
|
{210, &Hid::EndPermitVibrationSession, "EndPermitVibrationSession"},
|
|
|
|
|
{300, &Hid::ActivateConsoleSixAxisSensor, "ActivateConsoleSixAxisSensor"},
|
|
|
|
|
{301, &Hid::StartConsoleSixAxisSensor, "StartConsoleSixAxisSensor"},
|
|
|
|
|
{302, nullptr, "StopConsoleSixAxisSensor"},
|
|
|
|
|
{303, nullptr, "ActivateSevenSixAxisSensor"},
|
|
|
|
|
{304, nullptr, "StartSevenSixAxisSensor"},
|
|
|
|
|
{305, nullptr, "StopSevenSixAxisSensor"},
|
|
|
|
|
{306, nullptr, "InitializeSevenSixAxisSensor"},
|
|
|
|
|
{307, nullptr, "FinalizeSevenSixAxisSensor"},
|
|
|
|
|
{308, nullptr, "SetSevenSixAxisSensorFusionStrength"},
|
|
|
|
|
{309, nullptr, "GetSevenSixAxisSensorFusionStrength"},
|
|
|
|
|
{310, nullptr, "ResetSevenSixAxisSensorTimestamp"},
|
|
|
|
|
{400, nullptr, "IsUsbFullKeyControllerEnabled"},
|
|
|
|
|
{401, nullptr, "EnableUsbFullKeyController"},
|
|
|
|
|
{402, nullptr, "IsUsbFullKeyControllerConnected"},
|
|
|
|
|
{403, nullptr, "HasBattery"},
|
|
|
|
|
{404, nullptr, "HasLeftRightBattery"},
|
|
|
|
|
{405, nullptr, "GetNpadInterfaceType"},
|
|
|
|
|
{406, nullptr, "GetNpadLeftRightInterfaceType"},
|
|
|
|
|
{500, nullptr, "GetPalmaConnectionHandle"},
|
|
|
|
|
{501, nullptr, "InitializePalma"},
|
|
|
|
|
{502, nullptr, "AcquirePalmaOperationCompleteEvent"},
|
|
|
|
|
{503, nullptr, "GetPalmaOperationInfo"},
|
|
|
|
|
{504, nullptr, "PlayPalmaActivity"},
|
|
|
|
|
{505, nullptr, "SetPalmaFrModeType"},
|
|
|
|
|
{506, nullptr, "ReadPalmaStep"},
|
|
|
|
|
{507, nullptr, "EnablePalmaStep"},
|
|
|
|
|
{508, nullptr, "ResetPalmaStep"},
|
|
|
|
|
{509, nullptr, "ReadPalmaApplicationSection"},
|
|
|
|
|
{510, nullptr, "WritePalmaApplicationSection"},
|
|
|
|
|
{511, nullptr, "ReadPalmaUniqueCode"},
|
|
|
|
|
{512, nullptr, "SetPalmaUniqueCodeInvalid"},
|
|
|
|
|
{513, nullptr, "WritePalmaActivityEntry"},
|
|
|
|
|
{514, nullptr, "WritePalmaRgbLedPatternEntry"},
|
|
|
|
|
{515, nullptr, "WritePalmaWaveEntry"},
|
|
|
|
|
{516, nullptr, "SetPalmaDataBaseIdentificationVersion"},
|
|
|
|
|
{517, nullptr, "GetPalmaDataBaseIdentificationVersion"},
|
|
|
|
|
{518, nullptr, "SuspendPalmaFeature"},
|
|
|
|
|
{519, nullptr, "GetPalmaOperationResult"},
|
|
|
|
|
{520, nullptr, "ReadPalmaPlayLog"},
|
|
|
|
|
{521, nullptr, "ResetPalmaPlayLog"},
|
|
|
|
|
{522, &Hid::SetIsPalmaAllConnectable, "SetIsPalmaAllConnectable"},
|
|
|
|
|
{523, nullptr, "SetIsPalmaPairedConnectable"},
|
|
|
|
|
{524, nullptr, "PairPalma"},
|
|
|
|
|
{525, &Hid::SetPalmaBoostMode, "SetPalmaBoostMode"},
|
|
|
|
|
{1000, nullptr, "SetNpadCommunicationMode"},
|
|
|
|
|
{1001, nullptr, "GetNpadCommunicationMode"},
|
|
|
|
|
};
|
|
|
|
|
// clang-format on
|
|
|
|
|
|
|
|
|
|
RegisterHandlers(functions);
|
|
|
|
|