mirror of
https://github.com/switchbrew/libnx.git
synced 2025-08-06 16:19:25 +02:00
hidsys: Added HidsysUniquePadId/HidsysUniquePadSerialNumber.
These are now used where needed. Various adjustments.
This commit is contained in:
parent
012e84d7bd
commit
215d62966e
@ -6,6 +6,7 @@
|
||||
#pragma once
|
||||
#include "../types.h"
|
||||
#include "../services/hid.h"
|
||||
#include "../services/hidsys.h"
|
||||
#include "../sf/service.h"
|
||||
|
||||
/// HdlsDeviceInfo, for [7.0.0-8.1.0].
|
||||
@ -124,36 +125,36 @@ Service* hiddbgGetServiceSession(void);
|
||||
/// Ignores subsequent home button presses.
|
||||
Result hiddbgDeactivateHomeButton(void);
|
||||
|
||||
/// Writes the input RGB colors to the spi-flash for the specified controller (offset 0x6050 size 0x6). See hidsys.h for UniquePadId. Only available with [3.0.0+].
|
||||
Result hiddbgUpdateControllerColor(u32 colorBody, u32 colorButtons, u64 UniquePadId);
|
||||
/// Writes the input RGB colors to the spi-flash for the specified controller (offset 0x6050 size 0x6). Only available with [3.0.0+].
|
||||
Result hiddbgUpdateControllerColor(u32 colorBody, u32 colorButtons, HidsysUniquePadId unique_pad_id);
|
||||
|
||||
/// Writes the input RGB colors followed by inval to the spi-flash for the specified controller (offset 0x6050 size 0xD). See hidsys.h for UniquePadId. Only available with [5.0.0+].
|
||||
Result hiddbgUpdateDesignInfo(u32 colorBody, u32 colorButtons, u32 colorLeftGrip, u32 colorRightGrip, u8 inval, u64 UniquePadId);
|
||||
/// Writes the input RGB colors followed by inval to the spi-flash for the specified controller (offset 0x6050 size 0xD). Only available with [5.0.0+].
|
||||
Result hiddbgUpdateDesignInfo(u32 colorBody, u32 colorButtons, u32 colorLeftGrip, u32 colorRightGrip, u8 inval, HidsysUniquePadId unique_pad_id);
|
||||
|
||||
/// Get the OperationEvent for the specified controller. See hidsys.h for UniquePadId.
|
||||
/// Get the OperationEvent for the specified controller.
|
||||
/// The Event must be closed by the user once finished with it.
|
||||
/// Only available with [6.0.0+].
|
||||
Result hiddbgAcquireOperationEventHandle(Event* out_event, bool autoclear, u64 UniquePadId);
|
||||
Result hiddbgAcquireOperationEventHandle(Event* out_event, bool autoclear, HidsysUniquePadId unique_pad_id);
|
||||
|
||||
/// Reads spi-flash for the specified controller. See hidsys.h for UniquePadId.
|
||||
/// Reads spi-flash for the specified controller.
|
||||
/// This also uses \ref hiddbgAcquireOperationEventHandle to wait for the operation to finish, then \ref hiddbgGetOperationResult is used.
|
||||
/// Only available with [6.0.0+].
|
||||
Result hiddbgReadSerialFlash(u32 offset, void* buffer, size_t size, u64 UniquePadId);
|
||||
Result hiddbgReadSerialFlash(u32 offset, void* buffer, size_t size, HidsysUniquePadId unique_pad_id);
|
||||
|
||||
/// Writes spi-flash for the specified controller. See hidsys.h for UniquePadId.
|
||||
/// Writes spi-flash for the specified controller.
|
||||
/// buffer and tmem_size must be page-aligned. size is the actual transfer size.
|
||||
/// This also uses \ref hiddbgAcquireOperationEventHandle to wait for the operation to finish, then \ref hiddbgGetOperationResult is used.
|
||||
/// Only available with [6.0.0+].
|
||||
Result hiddbgWriteSerialFlash(u32 offset, void* buffer, size_t tmem_size, size_t size, u64 UniquePadId);
|
||||
Result hiddbgWriteSerialFlash(u32 offset, void* buffer, size_t tmem_size, size_t size, HidsysUniquePadId unique_pad_id);
|
||||
|
||||
/// Get the Result for the Operation and handles cleanup, for the specified controller. See hidsys.h for UniquePadId.
|
||||
/// Get the Result for the Operation and handles cleanup, for the specified controller.
|
||||
/// Only available with [6.0.0+].
|
||||
Result hiddbgGetOperationResult(u64 UniquePadId);
|
||||
Result hiddbgGetOperationResult(HidsysUniquePadId unique_pad_id);
|
||||
|
||||
/// Gets the internal DeviceType for the specified controller. See hidsys.h for UniquePadId.
|
||||
/// Gets the internal DeviceType for the specified controller.
|
||||
/// Only available with [6.0.0+].
|
||||
/// Pre-9.0.0 the output is an u32, with [9.0.0+] it's an u8.
|
||||
Result hiddbgGetUniquePadDeviceTypeSetInternal(u64 UniquePadId, u32 *out);
|
||||
Result hiddbgGetUniquePadDeviceTypeSetInternal(HidsysUniquePadId unique_pad_id, u32 *out);
|
||||
|
||||
/// Gets a list of AbstractedPadHandles, where AbstractedPadHandles is the output array with max entries = count. total_entries is total entries written to the output array.
|
||||
/// Only available with [5.0.0-8.1.0].
|
||||
|
@ -36,6 +36,16 @@ typedef enum {
|
||||
HidcfgButtonConfig_Disabled = 22, ///< Disabled
|
||||
} HidcfgButtonConfig;
|
||||
|
||||
/// UniquePadId for a controller.
|
||||
typedef struct {
|
||||
u64 id; ///< UniquePadId
|
||||
} HidsysUniquePadId;
|
||||
|
||||
/// UniquePadSerialNumber
|
||||
typedef struct {
|
||||
char serial_number[0x10]; ///< SerialNumber
|
||||
} HidsysUniquePadSerialNumber;
|
||||
|
||||
/// Mini Cycle struct for \ref HidsysNotificationLedPattern.
|
||||
typedef struct {
|
||||
u8 ledIntensity; ///< Mini Cycle X LED Intensity.
|
||||
@ -165,12 +175,12 @@ Result hidsysGetSupportedNpadStyleSetOfCallerApplet(u32 *out);
|
||||
/**
|
||||
* @brief Gets the UniquePadIds for the specified controller.
|
||||
* @note Only available on [3.0.0+].
|
||||
* @param id Controller ID. Must not be CONTROLLER_P1_AUTO.
|
||||
* @param UniquePadIds Output array of UniquePadIds.
|
||||
* @param Max number of entries for the UniquePadIds array.
|
||||
* @param total_entries Total output array entries. Optional, can be NULL.
|
||||
* @param[in] id \ref HidNpadIdType
|
||||
* @param[out] unique_pad_ids Output array of \ref HidsysUniquePadId.
|
||||
* @param[in] count Max number of entries for the unique_pad_ids array.
|
||||
* @param[out] total_out Total output array entries. Optional, can be NULL.
|
||||
*/
|
||||
Result hidsysGetUniquePadsFromNpad(HidNpadIdType id, u64 *UniquePadIds, s32 count, s32 *total_entries);
|
||||
Result hidsysGetUniquePadsFromNpad(HidNpadIdType id, HidsysUniquePadId *unique_pad_ids, s32 count, s32 *total_out);
|
||||
|
||||
/**
|
||||
* @brief EnableAppletToGetInput
|
||||
@ -180,140 +190,140 @@ Result hidsysEnableAppletToGetInput(bool enable);
|
||||
|
||||
/**
|
||||
* @brief Gets a list of all UniquePadIds.
|
||||
* @param UniquePadIds Output array of UniquePadIds.
|
||||
* @param Max number of entries for the UniquePadIds array.
|
||||
* @param total_entries Total output array entries. Optional, can be NULL.
|
||||
* @param[out] unique_pad_ids Output array of \ref HidsysUniquePadId.
|
||||
* @param[in] count Max number of entries for the unique_pad_ids array.
|
||||
* @param[out] total_out Total output array entries. Optional, can be NULL.
|
||||
*/
|
||||
Result hidsysGetUniquePadIds(u64 *UniquePadIds, s32 count, s32 *total_entries);
|
||||
Result hidsysGetUniquePadIds(HidsysUniquePadId *unique_pad_ids, s32 count, s32 *total_out);
|
||||
|
||||
/**
|
||||
* @brief Gets the unique pad's serial number.
|
||||
* @brief Gets the \ref HidsysUniquePadSerialNumber.
|
||||
* @note Only available on [5.0.0+].
|
||||
* @param UniquePadId UniquePadId for the controller.
|
||||
* @param serial Pointer to output the serial to. (The buffer size needs to be at least 0x11 bytes)
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] serial \ref HidsysUniquePadSerialNumber
|
||||
*/
|
||||
Result hidsysGetUniquePadSerialNumber(u64 UniquePadId, char *serial);
|
||||
Result hidsysGetUniquePadSerialNumber(HidsysUniquePadId unique_pad_id, HidsysUniquePadSerialNumber *serial);
|
||||
|
||||
/**
|
||||
* @brief Sets the HOME-button notification LED pattern, for the specified controller.
|
||||
* @note Generally this should only be used if \ref hidsysSetNotificationLedPatternWithTimeout is not usable.
|
||||
* @note Only available on [7.0.0+].
|
||||
* @param pattern \ref HidsysNotificationLedPattern
|
||||
* @param UniquePadId UniquePadId for the controller.
|
||||
* @param[in] pattern \ref HidsysNotificationLedPattern
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
*/
|
||||
Result hidsysSetNotificationLedPattern(const HidsysNotificationLedPattern *pattern, u64 UniquePadId);
|
||||
Result hidsysSetNotificationLedPattern(const HidsysNotificationLedPattern *pattern, HidsysUniquePadId unique_pad_id);
|
||||
|
||||
/**
|
||||
* @brief Sets the HOME-button notification LED pattern, for the specified controller. The LED will automatically be disabled once the specified timeout occurs.
|
||||
* @note Only available on [9.0.0+], and with controllers which have the [9.0.0+] firmware installed.
|
||||
* @param[in] pattern \ref HidsysNotificationLedPattern
|
||||
* @param[in] UniquePadId UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] timeout Timeout in nanoseconds.
|
||||
*/
|
||||
Result hidsysSetNotificationLedPatternWithTimeout(const HidsysNotificationLedPattern *pattern, u64 UniquePadId, u64 timeout);
|
||||
Result hidsysSetNotificationLedPatternWithTimeout(const HidsysNotificationLedPattern *pattern, HidsysUniquePadId unique_pad_id, u64 timeout);
|
||||
|
||||
/**
|
||||
* @brief IsButtonConfigSupported
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] out Output bool flag.
|
||||
*/
|
||||
Result hidsysIsButtonConfigSupported(u64 unique_pad_id, bool *out);
|
||||
Result hidsysIsButtonConfigSupported(HidsysUniquePadId unique_pad_id, bool *out);
|
||||
|
||||
/**
|
||||
* @brief DeleteButtonConfig
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
*/
|
||||
Result hidsysDeleteButtonConfig(u64 unique_pad_id);
|
||||
Result hidsysDeleteButtonConfig(HidsysUniquePadId unique_pad_id);
|
||||
|
||||
/**
|
||||
* @brief SetButtonConfigEnabled
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] flag Input flag.
|
||||
*/
|
||||
Result hidsysSetButtonConfigEnabled(u64 unique_pad_id, bool flag);
|
||||
Result hidsysSetButtonConfigEnabled(HidsysUniquePadId unique_pad_id, bool flag);
|
||||
|
||||
/**
|
||||
* @brief IsButtonConfigEnabled
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] out Output bool flag.
|
||||
*/
|
||||
Result hidsysIsButtonConfigEnabled(u64 unique_pad_id, bool *out);
|
||||
Result hidsysIsButtonConfigEnabled(HidsysUniquePadId unique_pad_id, bool *out);
|
||||
|
||||
/**
|
||||
* @brief SetButtonConfigEmbedded
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] config \ref HidsysButtonConfigEmbedded
|
||||
*/
|
||||
Result hidsysSetButtonConfigEmbedded(u64 unique_pad_id, const HidsysButtonConfigEmbedded *config);
|
||||
Result hidsysSetButtonConfigEmbedded(HidsysUniquePadId unique_pad_id, const HidsysButtonConfigEmbedded *config);
|
||||
|
||||
/**
|
||||
* @brief SetButtonConfigFull
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] config \ref HidsysButtonConfigFull
|
||||
*/
|
||||
Result hidsysSetButtonConfigFull(u64 unique_pad_id, const HidsysButtonConfigFull *config);
|
||||
Result hidsysSetButtonConfigFull(HidsysUniquePadId unique_pad_id, const HidsysButtonConfigFull *config);
|
||||
|
||||
/**
|
||||
* @brief SetButtonConfigLeft
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] config \ref HidsysButtonConfigLeft
|
||||
*/
|
||||
Result hidsysSetButtonConfigLeft(u64 unique_pad_id, const HidsysButtonConfigLeft *config);
|
||||
Result hidsysSetButtonConfigLeft(HidsysUniquePadId unique_pad_id, const HidsysButtonConfigLeft *config);
|
||||
|
||||
/**
|
||||
* @brief SetButtonConfigRight
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] config \ref HidsysButtonConfigRight
|
||||
*/
|
||||
Result hidsysSetButtonConfigRight(u64 unique_pad_id, const HidsysButtonConfigRight *config);
|
||||
Result hidsysSetButtonConfigRight(HidsysUniquePadId unique_pad_id, const HidsysButtonConfigRight *config);
|
||||
|
||||
/**
|
||||
* @brief GetButtonConfigEmbedded
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] config \ref HidsysButtonConfigEmbedded
|
||||
*/
|
||||
Result hidsysGetButtonConfigEmbedded(u64 unique_pad_id, HidsysButtonConfigEmbedded *config);
|
||||
Result hidsysGetButtonConfigEmbedded(HidsysUniquePadId unique_pad_id, HidsysButtonConfigEmbedded *config);
|
||||
|
||||
/**
|
||||
* @brief GetButtonConfigFull
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] config \ref HidsysButtonConfigFull
|
||||
*/
|
||||
Result hidsysGetButtonConfigFull(u64 unique_pad_id, HidsysButtonConfigFull *config);
|
||||
Result hidsysGetButtonConfigFull(HidsysUniquePadId unique_pad_id, HidsysButtonConfigFull *config);
|
||||
|
||||
/**
|
||||
* @brief GetButtonConfigLeft
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] config \ref HidsysButtonConfigLeft
|
||||
*/
|
||||
Result hidsysGetButtonConfigLeft(u64 unique_pad_id, HidsysButtonConfigLeft *config);
|
||||
Result hidsysGetButtonConfigLeft(HidsysUniquePadId unique_pad_id, HidsysButtonConfigLeft *config);
|
||||
|
||||
/**
|
||||
* @brief GetButtonConfigRight
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] config \ref HidsysButtonConfigRight
|
||||
*/
|
||||
Result hidsysGetButtonConfigRight(u64 unique_pad_id, HidsysButtonConfigRight *config);
|
||||
Result hidsysGetButtonConfigRight(HidsysUniquePadId unique_pad_id, HidsysButtonConfigRight *config);
|
||||
|
||||
/**
|
||||
* @brief IsCustomButtonConfigSupported
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] out Output bool flag.
|
||||
*/
|
||||
Result hidsysIsCustomButtonConfigSupported(u64 unique_pad_id, bool *out);
|
||||
Result hidsysIsCustomButtonConfigSupported(HidsysUniquePadId unique_pad_id, bool *out);
|
||||
|
||||
/**
|
||||
* @brief IsDefaultButtonConfigEmbedded
|
||||
@ -474,18 +484,18 @@ Result hidsysDeleteButtonConfigStorageRight(s32 index);
|
||||
/**
|
||||
* @brief IsUsingCustomButtonConfig
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] out Output bool flag.
|
||||
*/
|
||||
Result hidsysIsUsingCustomButtonConfig(u64 unique_pad_id, bool *out);
|
||||
Result hidsysIsUsingCustomButtonConfig(HidsysUniquePadId unique_pad_id, bool *out);
|
||||
|
||||
/**
|
||||
* @brief IsAnyCustomButtonConfigEnabled
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] out Output bool flag.
|
||||
*/
|
||||
Result hidsysIsAnyCustomButtonConfigEnabled(u64 unique_pad_id, bool *out);
|
||||
Result hidsysIsAnyCustomButtonConfigEnabled(HidsysUniquePadId unique_pad_id, bool *out);
|
||||
|
||||
/**
|
||||
* @brief SetAllCustomButtonConfigEnabled
|
||||
@ -504,64 +514,64 @@ Result hidsysSetAllDefaultButtonConfig(void);
|
||||
/**
|
||||
* @brief SetHidButtonConfigEmbedded
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] config \ref HidcfgButtonConfigEmbedded
|
||||
*/
|
||||
Result hidsysSetHidButtonConfigEmbedded(u64 unique_pad_id, const HidcfgButtonConfigEmbedded *config);
|
||||
Result hidsysSetHidButtonConfigEmbedded(HidsysUniquePadId unique_pad_id, const HidcfgButtonConfigEmbedded *config);
|
||||
|
||||
/**
|
||||
* @brief SetHidButtonConfigFull
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] config \ref HidcfgButtonConfigFull
|
||||
*/
|
||||
Result hidsysSetHidButtonConfigFull(u64 unique_pad_id, const HidcfgButtonConfigFull *config);
|
||||
Result hidsysSetHidButtonConfigFull(HidsysUniquePadId unique_pad_id, const HidcfgButtonConfigFull *config);
|
||||
|
||||
/**
|
||||
* @brief SetHidButtonConfigLeft
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] config \ref HidcfgButtonConfigLeft
|
||||
*/
|
||||
Result hidsysSetHidButtonConfigLeft(u64 unique_pad_id, const HidcfgButtonConfigLeft *config);
|
||||
Result hidsysSetHidButtonConfigLeft(HidsysUniquePadId unique_pad_id, const HidcfgButtonConfigLeft *config);
|
||||
|
||||
/**
|
||||
* @brief SetHidButtonConfigRight
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[in] config \ref HidcfgButtonConfigRight
|
||||
*/
|
||||
Result hidsysSetHidButtonConfigRight(u64 unique_pad_id, const HidcfgButtonConfigRight *config);
|
||||
Result hidsysSetHidButtonConfigRight(HidsysUniquePadId unique_pad_id, const HidcfgButtonConfigRight *config);
|
||||
|
||||
/**
|
||||
* @brief GetHidButtonConfigEmbedded
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] config \ref HidcfgButtonConfigEmbedded
|
||||
*/
|
||||
Result hidsysGetHidButtonConfigEmbedded(u64 unique_pad_id, HidcfgButtonConfigEmbedded *config);
|
||||
Result hidsysGetHidButtonConfigEmbedded(HidsysUniquePadId unique_pad_id, HidcfgButtonConfigEmbedded *config);
|
||||
|
||||
/**
|
||||
* @brief GetHidButtonConfigFull
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] config \ref HidcfgButtonConfigFull
|
||||
*/
|
||||
Result hidsysGetHidButtonConfigFull(u64 unique_pad_id, HidcfgButtonConfigFull *config);
|
||||
Result hidsysGetHidButtonConfigFull(HidsysUniquePadId unique_pad_id, HidcfgButtonConfigFull *config);
|
||||
|
||||
/**
|
||||
* @brief GetHidButtonConfigLeft
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] config \ref HidcfgButtonConfigLeft
|
||||
*/
|
||||
Result hidsysGetHidButtonConfigLeft(u64 unique_pad_id, HidcfgButtonConfigLeft *config);
|
||||
Result hidsysGetHidButtonConfigLeft(HidsysUniquePadId unique_pad_id, HidcfgButtonConfigLeft *config);
|
||||
|
||||
/**
|
||||
* @brief GetHidButtonConfigRight
|
||||
* @note Only available on [10.0.0+].
|
||||
* @param[in] unique_pad_id UniquePadId for the controller.
|
||||
* @param[in] unique_pad_id \ref HidsysUniquePadId
|
||||
* @param[out] config \ref HidcfgButtonConfigRight
|
||||
*/
|
||||
Result hidsysGetHidButtonConfigRight(u64 unique_pad_id, HidcfgButtonConfigRight *config);
|
||||
Result hidsysGetHidButtonConfigRight(HidsysUniquePadId unique_pad_id, HidcfgButtonConfigRight *config);
|
||||
|
||||
|
@ -80,20 +80,20 @@ Result hiddbgDeactivateHomeButton(void) {
|
||||
return _hiddbgCmdNoIO(110);
|
||||
}
|
||||
|
||||
Result hiddbgUpdateControllerColor(u32 colorBody, u32 colorButtons, u64 UniquePadId) {
|
||||
Result hiddbgUpdateControllerColor(u32 colorBody, u32 colorButtons, HidsysUniquePadId unique_pad_id) {
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
const struct {
|
||||
u32 colorBody;
|
||||
u32 colorButtons;
|
||||
u64 UniquePadId;
|
||||
} in = { colorBody, colorButtons, UniquePadId };
|
||||
HidsysUniquePadId unique_pad_id;
|
||||
} in = { colorBody, colorButtons, unique_pad_id };
|
||||
|
||||
return serviceDispatchIn(&g_hiddbgSrv, 221, in);
|
||||
}
|
||||
|
||||
Result hiddbgUpdateDesignInfo(u32 colorBody, u32 colorButtons, u32 colorLeftGrip, u32 colorRightGrip, u8 inval, u64 UniquePadId) {
|
||||
Result hiddbgUpdateDesignInfo(u32 colorBody, u32 colorButtons, u32 colorLeftGrip, u32 colorRightGrip, u8 inval, HidsysUniquePadId unique_pad_id) {
|
||||
if (hosversionBefore(5,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
@ -104,20 +104,20 @@ Result hiddbgUpdateDesignInfo(u32 colorBody, u32 colorButtons, u32 colorLeftGrip
|
||||
u32 colorRightGrip;
|
||||
u8 inval;
|
||||
u8 pad[7];
|
||||
u64 UniquePadId;
|
||||
} in = { colorBody, colorButtons, colorLeftGrip, colorRightGrip, inval, {0}, UniquePadId };
|
||||
HidsysUniquePadId unique_pad_id;
|
||||
} in = { colorBody, colorButtons, colorLeftGrip, colorRightGrip, inval, {0}, unique_pad_id };
|
||||
|
||||
return serviceDispatchIn(&g_hiddbgSrv, 224, in);
|
||||
}
|
||||
|
||||
Result hiddbgAcquireOperationEventHandle(Event* out_event, bool autoclear, u64 UniquePadId) {
|
||||
Result hiddbgAcquireOperationEventHandle(Event* out_event, bool autoclear, HidsysUniquePadId unique_pad_id) {
|
||||
if (hosversionBefore(6,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
Handle tmp_handle = INVALID_HANDLE;
|
||||
Result rc = 0;
|
||||
|
||||
rc = serviceDispatchIn(&g_hiddbgSrv, 228, UniquePadId,
|
||||
rc = serviceDispatchIn(&g_hiddbgSrv, 228, unique_pad_id,
|
||||
.out_handle_attrs = { SfOutHandleAttr_HipcCopy },
|
||||
.out_handles = &tmp_handle,
|
||||
);
|
||||
@ -125,13 +125,13 @@ Result hiddbgAcquireOperationEventHandle(Event* out_event, bool autoclear, u64 U
|
||||
return rc;
|
||||
}
|
||||
|
||||
static Result _hiddbgReadSerialFlash(TransferMemory *tmem, u32 offset, u64 size, u64 UniquePadId) {
|
||||
static Result _hiddbgReadSerialFlash(TransferMemory *tmem, u32 offset, u64 size, HidsysUniquePadId unique_pad_id) {
|
||||
const struct {
|
||||
u32 offset;
|
||||
u32 pad;
|
||||
u64 size;
|
||||
u64 UniquePadId;
|
||||
} in = { offset, 0, size, UniquePadId };
|
||||
HidsysUniquePadId unique_pad_id;
|
||||
} in = { offset, 0, size, unique_pad_id };
|
||||
|
||||
return serviceDispatchIn(&g_hiddbgSrv, 229, in,
|
||||
.in_num_handles = 1,
|
||||
@ -139,14 +139,14 @@ static Result _hiddbgReadSerialFlash(TransferMemory *tmem, u32 offset, u64 size,
|
||||
);
|
||||
}
|
||||
|
||||
static Result _hiddbgWriteSerialFlash(TransferMemory *tmem, u32 offset, u64 tmem_size, u64 size, u64 UniquePadId) {
|
||||
static Result _hiddbgWriteSerialFlash(TransferMemory *tmem, u32 offset, u64 tmem_size, u64 size, HidsysUniquePadId unique_pad_id) {
|
||||
const struct {
|
||||
u32 offset;
|
||||
u32 pad;
|
||||
u64 tmem_size;
|
||||
u64 size;
|
||||
u64 UniquePadId;
|
||||
} in = { offset, 0, tmem_size, size, UniquePadId };
|
||||
HidsysUniquePadId unique_pad_id;
|
||||
} in = { offset, 0, tmem_size, size, unique_pad_id };
|
||||
|
||||
return serviceDispatchIn(&g_hiddbgSrv, 230, in,
|
||||
.in_num_handles = 1,
|
||||
@ -155,7 +155,7 @@ static Result _hiddbgWriteSerialFlash(TransferMemory *tmem, u32 offset, u64 tmem
|
||||
}
|
||||
|
||||
// sdk-nso doesn't use hiddbgAcquireOperationEventHandle/hiddbgGetOperationResult in the *SerialFlash impl, those are used seperately by the user. [9.0.0+] sdk-nso no longer exposes *SerialFlash and related functionality.
|
||||
Result hiddbgReadSerialFlash(u32 offset, void* buffer, size_t size, u64 UniquePadId) {
|
||||
Result hiddbgReadSerialFlash(u32 offset, void* buffer, size_t size, HidsysUniquePadId unique_pad_id) {
|
||||
Result rc=0;
|
||||
Event tmpevent={0};
|
||||
TransferMemory tmem;
|
||||
@ -167,17 +167,17 @@ Result hiddbgReadSerialFlash(u32 offset, void* buffer, size_t size, u64 UniquePa
|
||||
rc = tmemCreate(&tmem, sizealign, Perm_Rw);
|
||||
if (R_FAILED(rc)) return rc;
|
||||
|
||||
rc = hiddbgAcquireOperationEventHandle(&tmpevent, true, UniquePadId); // *Must* be used before _hiddbgReadSerialFlash.
|
||||
if (R_SUCCEEDED(rc)) rc = _hiddbgReadSerialFlash(&tmem, offset, size, UniquePadId);
|
||||
rc = hiddbgAcquireOperationEventHandle(&tmpevent, true, unique_pad_id); // *Must* be used before _hiddbgReadSerialFlash.
|
||||
if (R_SUCCEEDED(rc)) rc = _hiddbgReadSerialFlash(&tmem, offset, size, unique_pad_id);
|
||||
if (R_SUCCEEDED(rc)) rc = eventWait(&tmpevent, UINT64_MAX);
|
||||
if (R_SUCCEEDED(rc)) rc = hiddbgGetOperationResult(UniquePadId);
|
||||
if (R_SUCCEEDED(rc)) rc = hiddbgGetOperationResult(unique_pad_id);
|
||||
if (R_SUCCEEDED(rc)) memcpy(buffer, tmem.src_addr, size);
|
||||
eventClose(&tmpevent);
|
||||
tmemClose(&tmem);
|
||||
return rc;
|
||||
}
|
||||
|
||||
Result hiddbgWriteSerialFlash(u32 offset, void* buffer, size_t tmem_size, size_t size, u64 UniquePadId) {
|
||||
Result hiddbgWriteSerialFlash(u32 offset, void* buffer, size_t tmem_size, size_t size, HidsysUniquePadId unique_pad_id) {
|
||||
Result rc=0;
|
||||
Event tmpevent={0};
|
||||
TransferMemory tmem;
|
||||
@ -188,27 +188,27 @@ Result hiddbgWriteSerialFlash(u32 offset, void* buffer, size_t tmem_size, size_t
|
||||
rc = tmemCreateFromMemory(&tmem, buffer, tmem_size, Perm_R);
|
||||
if (R_FAILED(rc)) return rc;
|
||||
|
||||
rc = hiddbgAcquireOperationEventHandle(&tmpevent, true, UniquePadId); // *Must* be used before _hiddbgWriteSerialFlash.
|
||||
if (R_SUCCEEDED(rc)) rc = _hiddbgWriteSerialFlash(&tmem, offset, tmem_size, size, UniquePadId);
|
||||
rc = hiddbgAcquireOperationEventHandle(&tmpevent, true, unique_pad_id); // *Must* be used before _hiddbgWriteSerialFlash.
|
||||
if (R_SUCCEEDED(rc)) rc = _hiddbgWriteSerialFlash(&tmem, offset, tmem_size, size, unique_pad_id);
|
||||
if (R_SUCCEEDED(rc)) rc = eventWait(&tmpevent, UINT64_MAX);
|
||||
if (R_SUCCEEDED(rc)) rc = hiddbgGetOperationResult(UniquePadId);
|
||||
if (R_SUCCEEDED(rc)) rc = hiddbgGetOperationResult(unique_pad_id);
|
||||
eventClose(&tmpevent);
|
||||
tmemClose(&tmem);
|
||||
return rc;
|
||||
}
|
||||
|
||||
Result hiddbgGetOperationResult(u64 UniquePadId) {
|
||||
Result hiddbgGetOperationResult(HidsysUniquePadId unique_pad_id) {
|
||||
if (hosversionBefore(6,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
return _hiddbgCmdInU64NoOut(UniquePadId, 231);
|
||||
return _hiddbgCmdInU64NoOut(unique_pad_id.id, 231);
|
||||
}
|
||||
|
||||
Result hiddbgGetUniquePadDeviceTypeSetInternal(u64 UniquePadId, u32 *out) {
|
||||
Result hiddbgGetUniquePadDeviceTypeSetInternal(HidsysUniquePadId unique_pad_id, u32 *out) {
|
||||
if (hosversionBefore(6,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
u32 tmp=0;
|
||||
Result rc = serviceDispatchInOut(&g_hiddbgSrv, 234, UniquePadId, tmp);
|
||||
Result rc = serviceDispatchInOut(&g_hiddbgSrv, 234, unique_pad_id, tmp);
|
||||
if (R_SUCCEEDED(rc) && out) { // Pre-9.0.0 output is an u32, with [9.0.0+] it's an u8.
|
||||
if (hosversionBefore(9,0,0))
|
||||
*out = tmp;
|
||||
|
@ -181,7 +181,7 @@ Result hidsysGetSupportedNpadStyleSetOfCallerApplet(u32 *out) {
|
||||
return _hidsysGetMaskedSupportedNpadStyleSet(AppletResourceUserId, out);
|
||||
}
|
||||
|
||||
Result hidsysGetUniquePadsFromNpad(HidNpadIdType id, u64 *UniquePadIds, s32 count, s32 *total_entries) {
|
||||
Result hidsysGetUniquePadsFromNpad(HidNpadIdType id, HidsysUniquePadId *unique_pad_ids, s32 count, s32 *total_out) {
|
||||
if (hosversionBefore(3,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
@ -189,9 +189,9 @@ Result hidsysGetUniquePadsFromNpad(HidNpadIdType id, u64 *UniquePadIds, s32 coun
|
||||
s64 out=0;
|
||||
Result rc = serviceDispatchInOut(&g_hidsysSrv, 321, tmp, out,
|
||||
.buffer_attrs = { SfBufferAttr_HipcPointer | SfBufferAttr_Out },
|
||||
.buffers = { { UniquePadIds, count*sizeof(u64) } },
|
||||
.buffers = { { unique_pad_ids, count*sizeof(HidsysUniquePadId) } },
|
||||
);
|
||||
if (R_SUCCEEDED(rc) && total_entries) *total_entries = out;
|
||||
if (R_SUCCEEDED(rc) && total_out) *total_out = out;
|
||||
return rc;
|
||||
}
|
||||
|
||||
@ -204,141 +204,137 @@ Result hidsysEnableAppletToGetInput(bool enable) {
|
||||
return serviceDispatchIn(&g_hidsysSrv, 503, in);
|
||||
}
|
||||
|
||||
Result hidsysGetUniquePadIds(u64 *UniquePadIds, s32 count, s32 *total_entries) {
|
||||
Result hidsysGetUniquePadIds(HidsysUniquePadId *unique_pad_ids, s32 count, s32 *total_out) {
|
||||
s64 out=0;
|
||||
Result rc = serviceDispatchOut(&g_hidsysSrv, 703, out,
|
||||
.buffer_attrs = { SfBufferAttr_HipcPointer | SfBufferAttr_Out },
|
||||
.buffers = { { UniquePadIds, count*sizeof(u64) } },
|
||||
.buffers = { { unique_pad_ids, count*sizeof(HidsysUniquePadId) } },
|
||||
);
|
||||
if (R_SUCCEEDED(rc) && total_entries) *total_entries = out;
|
||||
if (R_SUCCEEDED(rc) && total_out) *total_out = out;
|
||||
return rc;
|
||||
}
|
||||
|
||||
Result hidsysGetUniquePadSerialNumber(u64 UniquePadId, char *serial) {
|
||||
Result hidsysGetUniquePadSerialNumber(HidsysUniquePadId unique_pad_id, HidsysUniquePadSerialNumber *serial) {
|
||||
if (hosversionBefore(5,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
char out[0x10]={0};
|
||||
if (serial) memset(serial, 0, 0x11);
|
||||
Result rc = serviceDispatchInOut(&g_hidsysSrv, 809, UniquePadId, out);
|
||||
if (R_SUCCEEDED(rc) && serial) memcpy(serial, out, 0x10);
|
||||
return rc;
|
||||
return serviceDispatchInOut(&g_hidsysSrv, 809, unique_pad_id, *serial);
|
||||
}
|
||||
|
||||
Result hidsysSetNotificationLedPattern(const HidsysNotificationLedPattern *pattern, u64 UniquePadId) {
|
||||
Result hidsysSetNotificationLedPattern(const HidsysNotificationLedPattern *pattern, HidsysUniquePadId unique_pad_id) {
|
||||
if (hosversionBefore(7,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
const struct {
|
||||
HidsysNotificationLedPattern pattern;
|
||||
u64 UniquePadId;
|
||||
} in = { *pattern, UniquePadId };
|
||||
HidsysUniquePadId unique_pad_id;
|
||||
} in = { *pattern, unique_pad_id };
|
||||
|
||||
return serviceDispatchIn(&g_hidsysSrv, 830, in);
|
||||
}
|
||||
|
||||
Result hidsysSetNotificationLedPatternWithTimeout(const HidsysNotificationLedPattern *pattern, u64 UniquePadId, u64 timeout) {
|
||||
Result hidsysSetNotificationLedPatternWithTimeout(const HidsysNotificationLedPattern *pattern, HidsysUniquePadId unique_pad_id, u64 timeout) {
|
||||
if (hosversionBefore(9,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
const struct {
|
||||
HidsysNotificationLedPattern pattern;
|
||||
u64 UniquePadId;
|
||||
HidsysUniquePadId unique_pad_id;
|
||||
u64 timeout;
|
||||
} in = { *pattern, UniquePadId, timeout };
|
||||
} in = { *pattern, unique_pad_id, timeout };
|
||||
|
||||
return serviceDispatchIn(&g_hidsysSrv, 831, in);
|
||||
}
|
||||
|
||||
Result hidsysIsButtonConfigSupported(u64 unique_pad_id, bool *out) {
|
||||
Result hidsysIsButtonConfigSupported(HidsysUniquePadId unique_pad_id, bool *out) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBool(unique_pad_id, out, 1200);
|
||||
return _hidsysCmdInU64OutBool(unique_pad_id.id, out, 1200);
|
||||
}
|
||||
|
||||
Result hidsysDeleteButtonConfig(u64 unique_pad_id) {
|
||||
Result hidsysDeleteButtonConfig(HidsysUniquePadId unique_pad_id) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64NoOut(unique_pad_id, 1201);
|
||||
return _hidsysCmdInU64NoOut(unique_pad_id.id, 1201);
|
||||
}
|
||||
|
||||
Result hidsysSetButtonConfigEnabled(u64 unique_pad_id, bool flag) {
|
||||
Result hidsysSetButtonConfigEnabled(HidsysUniquePadId unique_pad_id, bool flag) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64InBoolNoOut(unique_pad_id, flag, 1202);
|
||||
return _hidsysCmdInU64InBoolNoOut(unique_pad_id.id, flag, 1202);
|
||||
}
|
||||
|
||||
Result hidsysIsButtonConfigEnabled(u64 unique_pad_id, bool *out) {
|
||||
Result hidsysIsButtonConfigEnabled(HidsysUniquePadId unique_pad_id, bool *out) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBool(unique_pad_id, out, 1203);
|
||||
return _hidsysCmdInU64OutBool(unique_pad_id.id, out, 1203);
|
||||
}
|
||||
|
||||
Result hidsysSetButtonConfigEmbedded(u64 unique_pad_id, const HidsysButtonConfigEmbedded *config) {
|
||||
Result hidsysSetButtonConfigEmbedded(HidsysUniquePadId unique_pad_id, const HidsysButtonConfigEmbedded *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id, config, sizeof(*config), 1204);
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id.id, config, sizeof(*config), 1204);
|
||||
}
|
||||
|
||||
Result hidsysSetButtonConfigFull(u64 unique_pad_id, const HidsysButtonConfigFull *config) {
|
||||
Result hidsysSetButtonConfigFull(HidsysUniquePadId unique_pad_id, const HidsysButtonConfigFull *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id, config, sizeof(*config), 1205);
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id.id, config, sizeof(*config), 1205);
|
||||
}
|
||||
|
||||
Result hidsysSetButtonConfigLeft(u64 unique_pad_id, const HidsysButtonConfigLeft *config) {
|
||||
Result hidsysSetButtonConfigLeft(HidsysUniquePadId unique_pad_id, const HidsysButtonConfigLeft *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id, config, sizeof(*config), 1206);
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id.id, config, sizeof(*config), 1206);
|
||||
}
|
||||
|
||||
Result hidsysSetButtonConfigRight(u64 unique_pad_id, const HidsysButtonConfigRight *config) {
|
||||
Result hidsysSetButtonConfigRight(HidsysUniquePadId unique_pad_id, const HidsysButtonConfigRight *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id, config, sizeof(*config), 1207);
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id.id, config, sizeof(*config), 1207);
|
||||
}
|
||||
|
||||
Result hidsysGetButtonConfigEmbedded(u64 unique_pad_id, HidsysButtonConfigEmbedded *config) {
|
||||
Result hidsysGetButtonConfigEmbedded(HidsysUniquePadId unique_pad_id, HidsysButtonConfigEmbedded *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id, config, sizeof(*config), 1208);
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id.id, config, sizeof(*config), 1208);
|
||||
}
|
||||
|
||||
Result hidsysGetButtonConfigFull(u64 unique_pad_id, HidsysButtonConfigFull *config) {
|
||||
Result hidsysGetButtonConfigFull(HidsysUniquePadId unique_pad_id, HidsysButtonConfigFull *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id, config, sizeof(*config), 1209);
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id.id, config, sizeof(*config), 1209);
|
||||
}
|
||||
|
||||
Result hidsysGetButtonConfigLeft(u64 unique_pad_id, HidsysButtonConfigLeft *config) {
|
||||
Result hidsysGetButtonConfigLeft(HidsysUniquePadId unique_pad_id, HidsysButtonConfigLeft *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id, config, sizeof(*config), 1210);
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id.id, config, sizeof(*config), 1210);
|
||||
}
|
||||
|
||||
Result hidsysGetButtonConfigRight(u64 unique_pad_id, HidsysButtonConfigRight *config) {
|
||||
Result hidsysGetButtonConfigRight(HidsysUniquePadId unique_pad_id, HidsysButtonConfigRight *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id, config, sizeof(*config), 1211);
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id.id, config, sizeof(*config), 1211);
|
||||
}
|
||||
|
||||
Result hidsysIsCustomButtonConfigSupported(u64 unique_pad_id, bool *out) {
|
||||
Result hidsysIsCustomButtonConfigSupported(HidsysUniquePadId unique_pad_id, bool *out) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBool(unique_pad_id, out, 1250);
|
||||
return _hidsysCmdInU64OutBool(unique_pad_id.id, out, 1250);
|
||||
}
|
||||
|
||||
Result hidsysIsDefaultButtonConfigEmbedded(const HidcfgButtonConfigEmbedded *config, bool *out) {
|
||||
@ -481,14 +477,14 @@ Result hidsysDeleteButtonConfigStorageRight(s32 index) {
|
||||
return _hidsysCmdInU32NoOut((u32)index, 1270);
|
||||
}
|
||||
|
||||
Result hidsysIsUsingCustomButtonConfig(u64 unique_pad_id, bool *out) {
|
||||
Result hidsysIsUsingCustomButtonConfig(HidsysUniquePadId unique_pad_id, bool *out) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBool(unique_pad_id, out, 1271);
|
||||
return _hidsysCmdInU64OutBool(unique_pad_id.id, out, 1271);
|
||||
}
|
||||
|
||||
Result hidsysIsAnyCustomButtonConfigEnabled(u64 unique_pad_id, bool *out) {
|
||||
Result hidsysIsAnyCustomButtonConfigEnabled(HidsysUniquePadId unique_pad_id, bool *out) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
@ -502,11 +498,11 @@ Result hidsysSetAllCustomButtonConfigEnabled(u64 AppletResourceUserId, bool flag
|
||||
return _hidsysCmdInU64InBoolNoOut(AppletResourceUserId, flag, 1273);
|
||||
}
|
||||
|
||||
Result hidsysSetDefaultButtonConfig(u64 unique_pad_id) {
|
||||
Result hidsysSetDefaultButtonConfig(HidsysUniquePadId unique_pad_id) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64NoOut(unique_pad_id, 1274);
|
||||
return _hidsysCmdInU64NoOut(unique_pad_id.id, 1274);
|
||||
}
|
||||
|
||||
Result hidsysSetAllDefaultButtonConfig(void) {
|
||||
@ -516,59 +512,59 @@ Result hidsysSetAllDefaultButtonConfig(void) {
|
||||
return _hidsysCmdNoIO(1275);
|
||||
}
|
||||
|
||||
Result hidsysSetHidButtonConfigEmbedded(u64 unique_pad_id, const HidcfgButtonConfigEmbedded *config) {
|
||||
Result hidsysSetHidButtonConfigEmbedded(HidsysUniquePadId unique_pad_id, const HidcfgButtonConfigEmbedded *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id, config, sizeof(*config), 1276);
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id.id, config, sizeof(*config), 1276);
|
||||
}
|
||||
|
||||
Result hidsysSetHidButtonConfigFull(u64 unique_pad_id, const HidcfgButtonConfigFull *config) {
|
||||
Result hidsysSetHidButtonConfigFull(HidsysUniquePadId unique_pad_id, const HidcfgButtonConfigFull *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id, config, sizeof(*config), 1277);
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id.id, config, sizeof(*config), 1277);
|
||||
}
|
||||
|
||||
Result hidsysSetHidButtonConfigLeft(u64 unique_pad_id, const HidcfgButtonConfigLeft *config) {
|
||||
Result hidsysSetHidButtonConfigLeft(HidsysUniquePadId unique_pad_id, const HidcfgButtonConfigLeft *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id, config, sizeof(*config), 1278);
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id.id, config, sizeof(*config), 1278);
|
||||
}
|
||||
|
||||
Result hidsysSetHidButtonConfigRight(u64 unique_pad_id, const HidcfgButtonConfigRight *config) {
|
||||
Result hidsysSetHidButtonConfigRight(HidsysUniquePadId unique_pad_id, const HidcfgButtonConfigRight *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id, config, sizeof(*config), 1279);
|
||||
return _hidsysCmdInU64InBufNoOut(unique_pad_id.id, config, sizeof(*config), 1279);
|
||||
}
|
||||
|
||||
Result hidsysGetHidButtonConfigEmbedded(u64 unique_pad_id, HidcfgButtonConfigEmbedded *config) {
|
||||
Result hidsysGetHidButtonConfigEmbedded(HidsysUniquePadId unique_pad_id, HidcfgButtonConfigEmbedded *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id, config, sizeof(*config), 1280);
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id.id, config, sizeof(*config), 1280);
|
||||
}
|
||||
|
||||
Result hidsysGetHidButtonConfigFull(u64 unique_pad_id, HidcfgButtonConfigFull *config) {
|
||||
Result hidsysGetHidButtonConfigFull(HidsysUniquePadId unique_pad_id, HidcfgButtonConfigFull *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id, config, sizeof(*config), 1281);
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id.id, config, sizeof(*config), 1281);
|
||||
}
|
||||
|
||||
Result hidsysGetHidButtonConfigLeft(u64 unique_pad_id, HidcfgButtonConfigLeft *config) {
|
||||
Result hidsysGetHidButtonConfigLeft(HidsysUniquePadId unique_pad_id, HidcfgButtonConfigLeft *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id, config, sizeof(*config), 1282);
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id.id, config, sizeof(*config), 1282);
|
||||
}
|
||||
|
||||
Result hidsysGetHidButtonConfigRight(u64 unique_pad_id, HidcfgButtonConfigRight *config) {
|
||||
Result hidsysGetHidButtonConfigRight(HidsysUniquePadId unique_pad_id, HidcfgButtonConfigRight *config) {
|
||||
if (hosversionBefore(10,0,0))
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id, config, sizeof(*config), 1283);
|
||||
return _hidsysCmdInU64OutBuf(unique_pad_id.id, config, sizeof(*config), 1283);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user