SceCtrl: Difference between revisions
Jump to navigation
Jump to search
Line 147: | Line 147: | ||
<source lang="C"> | <source lang="C"> | ||
/* | /* | ||
* param[in] flag - if pass to not value one, all operations are inhibit. | * param[in] flag - if pass to not value one, all operations are inhibit. | ||
Line 153: | Line 152: | ||
int sceCtrlSetInhibitFlagForDriver(int flag); | int sceCtrlSetInhibitFlagForDriver(int flag); | ||
</source> | </source> | ||
=== SceCtrlForDriver_69E45836 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x69E45836 | |||
|} | |||
maybe disconnect device | |||
<source lang="C">int SceCtrlForDriver_69E45836(void);</source> | |||
=== Unknown functions === | === Unknown functions === | ||
Line 159: | Line 170: | ||
SceCtrlForDriver_4CCB2153: 0x4CCB2153 | SceCtrlForDriver_4CCB2153: 0x4CCB2153 | ||
SceCtrlForDriver_5B708A15: 0x5B708A15 | SceCtrlForDriver_5B708A15: 0x5B708A15 | ||
== SceCtrl == | == SceCtrl == |
Revision as of 14:52, 22 January 2021
Module
Version | World | Privilege |
---|---|---|
1.69-3.65 | Non-secure | Kernel |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
1.69 | SceCtrlForDriver | Non-secure | Kernel | 0x7823A5D1 |
1.69 | SceCtrl | Non-secure | User | 0xD197E3C7 |
SceCtrlForDriver
sceCtrlRegisterVirtualControllerDriverForDriver
Version | NID |
---|---|
3.60 | 0x18823EEA |
typedef struct SceCtrlVirtualControllerDriver {
int (*readButtons)(int port, SceCtrlData *pad_data, int count);
int (*setActuator)(int port, const SceCtrlActuator* pState);
int (*getBatteryInfo)(int port, SceUInt8 *batt);
int (*disconnect)(int port);
int (*setTurnOffInterval)(int port);
int (*getActiveControllerPort)(void);
int (*changePortAssign)(int port1, int port2);
int (*unk0)(void); // SceCtrlForDriver_69E45836 equivalent
int (*getControllerPortInfo)(SceCtrlPortInfo *info);
int (*setLightBar)(int port, SceUInt8 r, SceUInt8 g, SceUInt8 b);
int (*resetLightBar)(int port);
int (*unk1)(int pid); // sceCtrlSetActiveProcessForDriver equivalent
int (*singleControllerMode)(int port);
} SceCtrlVirtualControllerDriver; /* size 0x34 */
int sceCtrlRegisterVirtualControllerDriverForDriver(SceCtrlVirtualControllerDriver *driver);
On the PSTV, the SceDS3 module calls this function to register the DS3/DS4 USB/Bluetooth driver. Only one virtual controller driver can be registered (the new one replaces the previous one).
sceCtrlSetActiveProcessForDriver
Version | NID |
---|---|
0.990-3.60 | 0xB26C2231 |
int sceCtrlSetActiveProcessForDriver(SceUID pid);
sceCtrlUpdateMaskForNonShellForDriver
Version | NID |
---|---|
3.60 | 0x03777131 |
int sceCtrlUpdateMaskForNonShellForDriver(int clear_mask, int set_mask);
sceCtrlUpdateMaskForAllForDriver
Version | NID |
---|---|
3.60 | 0x12C13A72 |
int sceCtrlUpdateMaskForAllForDriver(int clear_mask, int set_mask);
sceCtrlGetMaskForNonShellForDriver
Version | NID |
---|---|
3.60 | 0xB25BD8FD |
int sceCtrlGetMaskForNonShellForDriver(uint32_t *mask);
sceCtrlGetMaskForAllForDriver
Version | NID |
---|---|
3.60 | 0x46ABDDE8 |
int sceCtrlGetMaskForAllForDriver(uint32_t *mask);
SceCtrlForDriver_FF9D4DD4
Version | NID |
---|---|
3.60 | 0xFF9D4DD4 |
Register some callback and get current hold button
Using by ScePower
/*
* param[in] some_button - The SceCtrlButtons type value
* param[in] cb - The callback function pointer
* param[in] a2 - Unknown, set zero
* param[out] button - The current hold button
*/
int SceCtrlForDriver_FF9D4DD4(int some_button, const void *cb, int a2, uint32_t *button)
sceCtrlGetCurrentProcessIdForDriver
Version | NID |
---|---|
3.60 | 0xDA07E970 |
int sceCtrlGetCurrentProcessIdForDriver(SceUID *pid);
sceCtrlSetInhibitFlagForDriver
Version | NID |
---|---|
3.60 | 0xC8CE3E43 |
/*
* param[in] flag - if pass to not value one, all operations are inhibit.
*/
int sceCtrlSetInhibitFlagForDriver(int flag);
SceCtrlForDriver_69E45836
Version | NID |
---|---|
3.60 | 0x69E45836 |
maybe disconnect device
int SceCtrlForDriver_69E45836(void);
Unknown functions
SceCtrlForDriver_02081494: 0x02081494 SceCtrlForDriver_4CCB2153: 0x4CCB2153 SceCtrlForDriver_5B708A15: 0x5B708A15
SceCtrl
sceCtrlPeekBufferNegative
Version | NID |
---|---|
1.69 | 0x104ED1A7 |
sceCtrlReadBufferNegative
Version | NID |
---|---|
1.69 | 0x15F96FB0 |
sceCtrlSetButtonIntercept
Version | NID |
---|---|
1.69 | 0x433D71F4 |
sceCtrlReadBufferPositive
Version | NID |
---|---|
1.69 | 0x67E7AB83 |
sceCtrlGetButtonIntercept
Version | NID |
---|---|
1.69 | 0x6FAFAD05 |
sceCtrlSetSamplingMode
Version | NID |
---|---|
1.69 | 0xA497B150 |
sceCtrlPeekBufferPositiveExt
Version | NID |
---|---|
1.69 | 0xA59454D3 |
sceCtrlPeekBufferPositive
Version | NID |
---|---|
1.69 | 0xA9C3CED6 |
sceCtrlSetSamplingModeExt
Version | NID |
---|---|
1.69 | 0xB1DC4378 |
sceCtrlGetSamplingModeExt
Version | NID |
---|---|
1.69 | 0xBD27F830 |
sceCtrlClearRapidFire
Version | NID |
---|---|
1.69 | 0xD8294C9C |
sceCtrlReadBufferPositiveExt
Version | NID |
---|---|
1.69 | 0xE2D99296 |
sceCtrlSetRapidFire
Version | NID |
---|---|
1.69 | 0xE9CB69C8 |
sceCtrlGetSamplingMode
Version | NID |
---|---|
1.69 | 0xEC752AAF |