|
|
@@ -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);
|