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_China = 2,
} SetSysPlatformRegion; } SetSysPlatformRegion;
/// TouchScreenMode, for "Touch-Screen Sensitivity".
typedef enum {
SetSysTouchScreenMode_Stylus = 0, ///< Stylus.
SetSysTouchScreenMode_Standard = 1, ///< Standard, the default.
} SetSysTouchScreenMode;
/// Structure returned by \ref setsysGetFirmwareVersion. /// Structure returned by \ref setsysGetFirmwareVersion.
typedef struct { typedef struct {
u8 major; u8 major;
@ -420,9 +426,9 @@ Result setsysSetRequiresRunRepairTimeReviser(bool flag);
/** /**
* @brief Gets the \ref SetSysPlatformRegion. * @brief Gets the \ref SetSysPlatformRegion.
* @note Only available on [9.0.0+]. * @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. * @brief Sets the \ref SetSysPlatformRegion.
@ -445,3 +451,17 @@ Result setsysGetHomeMenuSchemeModel(u32 *out);
* @param[out] out Output flag. * @param[out] out Output flag.
*/ */
Result setsysGetMemoryUsageRateFlag(bool *out); 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); return serviceDispatchOut(&g_setsysSrv, 174, *out);
} }
Result setsysGetPlatformRegion(SetSysPlatformRegion *region) { Result setsysGetPlatformRegion(SetSysPlatformRegion *out) {
if (hosversionBefore(9,0,0)) if (hosversionBefore(9,0,0))
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
u32 tmp=0; u32 tmp=0;
Result rc = _setCmdNoInOutU32(&g_setsysSrv, &tmp, 183); Result rc = _setCmdNoInOutU32(&g_setsysSrv, &tmp, 183);
if (R_SUCCEEDED(rc) && region) *region = tmp; if (R_SUCCEEDED(rc) && out) *out = tmp;
return rc; return rc;
} }
@ -528,3 +528,20 @@ Result setsysGetMemoryUsageRateFlag(bool *out) {
return _setCmdNoInOutBool(&g_setsysSrv, out, 186); 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);
}