diff options
author | Sergi Granell | 2017-06-12 10:21:56 +0200 |
---|---|---|
committer | GitHub | 2017-06-12 10:21:56 +0200 |
commit | 7551bea0bc273d76b87d1e8ead77b4dfc3e229b6 (patch) | |
tree | 97063c88f778aeef59e7a974a70ae6018c935c45 /include/kernel/ctrl.h | |
parent | Add SceHid Mouse functions (#182) (diff) | |
parent | Add ksceCtrlRegisterVirtualControllerDriver related things (diff) | |
download | vds-libraries-7551bea0bc273d76b87d1e8ead77b4dfc3e229b6.tar.gz |
Merge pull request #184 from d3m3vilurr/virtual-ctrl-driver
Add ksceCtrlRegisterVirtualControllerDriver related things
Diffstat (limited to 'include/kernel/ctrl.h')
-rw-r--r-- | include/kernel/ctrl.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/kernel/ctrl.h b/include/kernel/ctrl.h index 60ff673..ceab1f4 100644 --- a/include/kernel/ctrl.h +++ b/include/kernel/ctrl.h @@ -103,6 +103,23 @@ typedef struct SceCtrlPortInfo { uint8_t unk[11]; //!< Unknown } SceCtrlPortInfo; +/** Structure to pass as argument to ::sceCtrlRegisterVirtualControllerDriver */ +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); + int (*getControllerPortInfo)(SceCtrlPortInfo *info); + int (*setLightBar)(int port, SceUInt8 r, SceUInt8 g, SceUInt8 b); + int (*resetLightBar)(int port); + int (*unk1)(int port); + int (*singleControllerMode)(int port); +} SceCtrlVirtualControllerDriver; + /** * Set the controller mode. * @@ -259,6 +276,17 @@ int sceCtrlSetAnalogEmulation(unsigned int port, unsigned char slot, unsigned char kernel_rX, unsigned char kernel_rY, unsigned int uiMake); +/** + * Register virtual controller driver. + * + * This function always overwrites global settings and not exist unregister method. + * + * @param[in] driver - See ::SceCtrlVirtualControllerDriver + * + * @return 0 on success. <0 on error + */ +int sceCtrlRegisterVirtualControllerDriver(SceCtrlVirtualControllerDriver *driver); + #ifdef __cplusplus } #endif |