SceCtrl

From Vita Development Wiki
Jump to navigation Jump to search

Module

Known NIDs

Version Name World Privilege NID
1.69 SceCtrl Non-secure Kernel 0x5E8CA7A0

Libraries

Known NIDs

Version Name World Visibility NID
1.69 SceCtrlForDriver Non-secure Kernel 0x7823A5D1
1.69 SceCtrl Non-secure User 0xD197E3C7

SceCtrlForDriver

Register virtual controller driver

Version NID
3.60 (non-secure) 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 port); // SceCtrlForDriver_B26C2231 equivalent
	int (*singleControllerMode)(int port);
} SceCtrlVirtualControllerDriver; /* size 0x34 */
int SceCtrlForDriver_18823EEA(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).

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