Added setsysGetTouchScreenMode/setsysSetTouchScreenMode and SetSysTouchScreenMode. Minor adjustment.

This commit is contained in:
yellows8 2019-11-02 16:32:12 -04:00
parent 8ee7afca99
commit 454244602c
No known key found for this signature in database
GPG Key ID: 0AF90DA3F1E60E43
2 changed files with 41 additions and 4 deletions

View File

@ -59,6 +59,12 @@ typedef enum {
SetSysPlatformRegion_China = 2,
} SetSysPlatformRegion;
/// TouchScreenMode, for "Touch-Screen Sensitivity".
typedef enum {
SetSysTouchScreenMode_Stylus = 0, ///< Stylus.
SetSysTouchScreenMode_Standard = 1, ///< Standard, the default.
} SetSysTouchScreenMode;
/// Structure returned by \ref setsysGetFirmwareVersion.
typedef struct {
u8 major;
@ -420,9 +426,9 @@ Result setsysSetRequiresRunRepairTimeReviser(bool flag);
/**
* @brief Gets the \ref SetSysPlatformRegion.
* @note Only available on [9.0.0+].
* @param[out] region \ref SetSysPlatformRegion
* @param[out] out \ref SetSysPlatformRegion
*/
Result setsysGetPlatformRegion(SetSysPlatformRegion *region);
Result setsysGetPlatformRegion(SetSysPlatformRegion *out);
/**
* @brief Sets the \ref SetSysPlatformRegion.
@ -445,3 +451,17 @@ Result setsysGetHomeMenuSchemeModel(u32 *out);
* @param[out] out Output flag.
*/
Result setsysGetMemoryUsageRateFlag(bool *out);
/**
* @brief Gets the \ref SetSysTouchScreenMode.
* @note Only available on [9.0.0+].
* @param[out] out \ref SetSysTouchScreenMode
*/
Result setsysGetTouchScreenMode(SetSysTouchScreenMode *out);
/**
* @brief Sets the \ref SetSysTouchScreenMode.
* @note Only available on [9.0.0+].
* @param[in] mode \ref SetSysTouchScreenMode
*/
Result setsysSetTouchScreenMode(SetSysTouchScreenMode mode);

View File

@ -498,13 +498,13 @@ Result setsysGetHomeMenuScheme(SetSysHomeMenuScheme *out) {
return serviceDispatchOut(&g_setsysSrv, 174, *out);
}
Result setsysGetPlatformRegion(SetSysPlatformRegion *region) {
Result setsysGetPlatformRegion(SetSysPlatformRegion *out) {
if (hosversionBefore(9,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
u32 tmp=0;
Result rc = _setCmdNoInOutU32(&g_setsysSrv, &tmp, 183);
if (R_SUCCEEDED(rc) && region) *region = tmp;
if (R_SUCCEEDED(rc) && out) *out = tmp;
return rc;
}
@ -528,3 +528,20 @@ Result setsysGetMemoryUsageRateFlag(bool *out) {
return _setCmdNoInOutBool(&g_setsysSrv, out, 186);
}
Result setsysGetTouchScreenMode(SetSysTouchScreenMode *out) {
if (hosversionBefore(9,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
u32 tmp=0;
Result rc = _setCmdNoInOutU32(&g_setsysSrv, &tmp, 187);
if (R_SUCCEEDED(rc) && out) *out = tmp;
return rc;
}
Result setsysSetTouchScreenMode(SetSysTouchScreenMode mode) {
if (hosversionBefore(9,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
return _setCmdInU32NoOut(&g_setsysSrv, mode, 188);
}