uOFW
Reverse engineered PSP kernel 6.60.
Loading...
Searching...
No Matches
ctrl.h
1
5#include "common_header.h"
6
12#ifndef CTRL_H
13#define CTRL_H
14
16typedef void (*SceKernelButtonCallbackFunction)(u32 curButtons, u32 lastButtons, void *opt);
17
22typedef struct {
31 u8 aX;
33 u8 aY;
35 u8 rX;
37 u8 rY;
39 u8 rsrv[4];
41
48typedef struct {
57 u8 aX;
59 u8 aY;
61 u8 rX;
63 u8 rY;
65 u8 rsrv[4];
97 s32 TiltA;
99 s32 TiltB;
101
143
147typedef struct {
149 s32 unk1;
154 s32 (*copyInputData)(void *pSrc, SceCtrlData2 *pDst);
156
165 SCE_CTRL_SELECT = 0x00000001,
167 SCE_CTRL_L3 = 0x00000002,
169 SCE_CTRL_R3 = 0x00000004,
171 SCE_CTRL_START = 0x00000008,
173 SCE_CTRL_UP = 0x00000010,
175 SCE_CTRL_RIGHT = 0x00000020,
177 SCE_CTRL_DOWN = 0x00000040,
179 SCE_CTRL_LEFT = 0x00000080,
181 SCE_CTRL_LTRIGGER = 0x00000100,
183 SCE_CTRL_RTRIGGER = 0x00000200,
185 SCE_CTRL_L1TRIGGER = 0x00000400,
187 SCE_CTRL_R1TRIGGER = 0x00000800,
189 SCE_CTRL_TRIANGLE = 0x00001000,
191 SCE_CTRL_CIRCLE = 0x00002000,
193 SCE_CTRL_CROSS = 0x00004000,
195 SCE_CTRL_SQUARE = 0x00008000,
203 SCE_CTRL_HOLD = 0x00020000,
205 SCE_CTRL_WLAN_UP = 0x00040000,
207 SCE_CTRL_REMOTE = 0x00080000,
209 SCE_CTRL_VOLUP = 0x00100000,
211 SCE_CTRL_VOLDOWN = 0x00200000,
213 SCE_CTRL_SCREEN = 0x00400000,
215 SCE_CTRL_NOTE = 0x00800000,
217 SCE_CTRL_DISC = 0x01000000,
219 SCE_CTRL_MS = 0x02000000,
220 SCE_CTRL_UNK_10000000 = 0x10000000,
221 SCE_CTRL_UNK_20000000 = 0x20000000,
222};
223
231
239
242 /* Input is only obtained from the PSP. */
243 SCE_CRTL_PORT_PSP = 0,
244 /* Input is obtained from the PSP and a connected DualShock3 controller. */
245 SCE_CTRL_PORT_DS3 = 1,
246 /* Input is obtained from the PSP and an unknown connected external device. */
247 SCE_CTRL_PORT_UNKNOWN_2 = 2
248};
249
266
267/* The center position of the analog stick on both axes. */
268#define SCE_CTRL_ANALOG_PAD_CENTER_VALUE 0x80
269
275s32 sceCtrlInit(void);
276
282s32 sceCtrlEnd(void);
283
290
297
306u32 sceCtrlSetPollingMode(u8 pollMode);
307
316
325
333u32 sceCtrlGetSamplingCycle(u32 *pCycle);
334
348
363u32 sceCtrlGetIdleCancelKey(u32 *pResetButtonsMake, u32 *pResetButtonsPress, u32 *pResetButtonsMakeHoldMode,
364 u32 *pResetButtonsPressHoldMode);
365
396u32 sceCtrlSetIdleCancelKey(u32 resetButtonsMake, u32 resetButtonsPress, u32 resetButtonsMakeHoldMode,
397 u32 resetButtonsPressHoldMode);
398
399/* This constant defines that analog stick movement does not cancel the idle timer. */
400#define SCE_CTRL_IDLE_CANCEL_TRESHOLD_NO_CANCELLATION (-1)
401
410s32 sceCtrlGetIdleCancelThreshold(s32 *pUnHoldThreshold, s32 *pHoldThreshold);
411
428s32 sceCtrlSetIdleCancelThreshold(s32 unHoldThreshold, s32 holdThreshold);
429
436
444s32 sceCtrlSetSuspendingExtraSamples(s16 suspendSamples);
445
460s32 sceCtrl_driver_E467BEC8(u8 externalPort, SceCtrlInputDataTransferHandler *transferHandler, void *inputSource);
461
483
541
574
606
622
638
656s32 sceCtrlPeekBufferPositive2(u32 port, SceCtrlData2 *pData, u8 nBufs);
657
675s32 sceCtrlPeekBufferNegative2(u32 port, SceCtrlData2 *pData, u8 nBufs);
676
694s32 sceCtrlReadBufferPositive2(u32 port, SceCtrlData2 *pData, u8 nBufs);
695
713s32 sceCtrlReadBufferNegative2(u32 port, SceCtrlData2 *pData, u8 nBufs);
714
723
763s32 sceCtrlSetRapidFire(u8 slot, u32 uiMask, u32 uiTrigger, u32 uiTarget, u8 uiDelay,
764 u8 uiMake, u8 uiBreak);
765
777s32 sceCtrlSetAnalogEmulation(u8 slot, u8 aX, u8 aY, u32 uiMake);
778
794s32 sceCtrlSetButtonEmulation(u8 slot, u32 userButtons, u32 kernelButtons, u32 uiMake);
795
804
825u32 sceCtrlSetButtonIntercept(u32 buttons, u32 buttonMaskMode);
826
838s32 sceCtrlSetSpecialButtonCallback(u32 slot, u32 buttonMask, SceKernelButtonCallbackFunction callback, void *opt);
839
848
857
864
865#endif /* CTRL_H */
866
u32 sceCtrl_driver_5886194C(s8 arg1)
SceCtrlPadPollMode
Definition ctrl.h:233
SceCtrlPort
Definition ctrl.h:241
void(* SceKernelButtonCallbackFunction)(u32 curButtons, u32 lastButtons, void *opt)
Definition ctrl.h:16
s32 sceCtrlPeekBufferNegative2(u32 port, SceCtrlData2 *pData, u8 nBufs)
Retrieves controller state data by polling (negative logic) with support for wireless controllers.
u32 sceCtrl_driver_6C86AF22(s32 arg1)
s32 sceCtrlPeekLatch(SceCtrlLatch *pLatch)
Gets the latch data.
s32 sceCtrlReadLatch(SceCtrlLatch *pLatch)
Gets the latch data.
s32 sceCtrlPeekBufferPositive2(u32 port, SceCtrlData2 *pData, u8 nBufs)
Retrieves controller state data by polling (positive logic) with support for wireless controllers.
u32 sceCtrlSetIdleCancelKey(u32 resetButtonsMake, u32 resetButtonsPress, u32 resetButtonsMakeHoldMode, u32 resetButtonsPressHoldMode)
Specifies the buttons which, when being pressed, reset the idle timer.
u32 sceCtrlSetPollingMode(u8 pollMode)
s32 sceCtrlSetSpecialButtonCallback(u32 slot, u32 buttonMask, SceKernelButtonCallbackFunction callback, void *opt)
s32 sceCtrlPeekBufferPositive(SceCtrlData *pData, u8 nBufs)
Retrieves controller state data by polling (positive logic).
s32 sceCtrlInit(void)
s32 sceCtrlSetRapidFire(u8 slot, u32 uiMask, u32 uiTrigger, u32 uiTarget, u8 uiDelay, u8 uiMake, u8 uiBreak)
s32 sceCtrlReadBufferPositive2(u32 port, SceCtrlData2 *pData, u8 nBufs)
Retrieves controller state data by blocking (positive logic) with support for wireless controllers.
s32 sceCtrlResume(void)
SceCtrlPadButtons
Definition ctrl.h:163
SceCtrlPadInputMode
Definition ctrl.h:225
u32 sceCtrlGetSamplingMode(u8 *pMode)
s32 sceCtrlSetSamplingCycle(u32 cycle)
u32 sceCtrlSetButtonIntercept(u32 buttons, u32 buttonMaskMode)
s32 sceCtrlReadBufferNegative(SceCtrlData *pData, u8 nBufs)
Retrieves controller state data by blocking (negative logic).
u32 sceCtrlGetSamplingCycle(u32 *pCycle)
SceCtrlPadButtonMaskMode
Definition ctrl.h:251
s32 sceCtrlSuspend(void)
s32 sceCtrlSetButtonEmulation(u8 slot, u32 userButtons, u32 kernelButtons, u32 uiMake)
s32 sceCtrl_driver_E467BEC8(u8 externalPort, SceCtrlInputDataTransferHandler *transferHandler, void *inputSource)
s32 sceCtrlReadBufferNegative2(u32 port, SceCtrlData2 *pData, u8 nBufs)
Retrieves controller state data by blocking (negative logic) with support for wireless controllers.
s32 sceCtrlSetIdleCancelThreshold(s32 unHoldThreshold, s32 holdThreshold)
s32 sceCtrlPeekBufferNegative(SceCtrlData *pData, u8 nBufs)
Retrieves controller state data by polling (negative logic).
u32 sceCtrlGetButtonIntercept(u32 buttons)
u32 sceCtrlGetIdleCancelKey(u32 *pResetButtonsMake, u32 *pResetButtonsPress, u32 *pResetButtonsMakeHoldMode, u32 *pResetButtonsPressHoldMode)
s32 sceCtrlSetSuspendingExtraSamples(s16 suspendSamples)
s32 sceCtrlEnd(void)
s16 sceCtrlGetSuspendingExtraSamples(void)
u32 sceCtrlUpdateCableTypeReq(void)
s32 sceCtrlClearRapidFire(u8 slot)
s32 sceCtrlGetIdleCancelThreshold(s32 *pUnHoldThreshold, s32 *pHoldThreshold)
s32 sceCtrlSetSamplingMode(u8 mode)
s32 sceCtrlSetAnalogEmulation(u8 slot, u8 aX, u8 aY, u32 uiMake)
s32 sceCtrlReadBufferPositive(SceCtrlData *pData, u8 nBufs)
Retrieves controller state data by blocking (positive logic).
@ SCE_CTRL_POLL_INACTIVE
Definition ctrl.h:235
@ SCE_CTRL_POLL_ACTIVE
Definition ctrl.h:237
@ SCE_CTRL_LTRIGGER
Definition ctrl.h:181
@ SCE_CTRL_REMOTE
Definition ctrl.h:207
@ SCE_CTRL_INTERCEPTED
Definition ctrl.h:201
@ SCE_CTRL_DOWN
Definition ctrl.h:177
@ SCE_CTRL_R1TRIGGER
Definition ctrl.h:187
@ SCE_CTRL_L3
Definition ctrl.h:167
@ SCE_CTRL_HOLD
Definition ctrl.h:203
@ SCE_CTRL_LEFT
Definition ctrl.h:179
@ SCE_CTRL_R3
Definition ctrl.h:169
@ SCE_CTRL_UP
Definition ctrl.h:173
@ SCE_CTRL_VOLUP
Definition ctrl.h:209
@ SCE_CTRL_WLAN_UP
Definition ctrl.h:205
@ SCE_CTRL_CROSS
Definition ctrl.h:193
@ SCE_CTRL_SCREEN
Definition ctrl.h:213
@ SCE_CTRL_DISC
Definition ctrl.h:217
@ SCE_CTRL_RIGHT
Definition ctrl.h:175
@ SCE_CTRL_START
Definition ctrl.h:171
@ SCE_CTRL_RTRIGGER
Definition ctrl.h:183
@ SCE_CTRL_L1TRIGGER
Definition ctrl.h:185
@ SCE_CTRL_TRIANGLE
Definition ctrl.h:189
@ SCE_CTRL_CIRCLE
Definition ctrl.h:191
@ SCE_CTRL_MS
Definition ctrl.h:219
@ SCE_CTRL_SELECT
Definition ctrl.h:165
@ SCE_CTRL_NOTE
Definition ctrl.h:215
@ SCE_CTRL_VOLDOWN
Definition ctrl.h:211
@ SCE_CTRL_SQUARE
Definition ctrl.h:195
@ SCE_CTRL_INPUT_DIGITAL_ANALOG
Definition ctrl.h:229
@ SCE_CTRL_INPUT_DIGITAL_ONLY
Definition ctrl.h:227
@ SCE_CTRL_MASK_APPLY_BUTTONS
Definition ctrl.h:264
@ SCE_CTRL_MASK_NO_MASK
Definition ctrl.h:253
@ SCE_CTRL_MASK_IGNORE_BUTTONS
Definition ctrl.h:259
Definition ctrl.h:48
s32 GPadSenseB
Definition ctrl.h:85
s32 AxisSenseA
Definition ctrl.h:90
s32 TiltB
Definition ctrl.h:99
u8 rX
Definition ctrl.h:61
u8 aX
Definition ctrl.h:57
s32 AxisSenseB
Definition ctrl.h:95
u32 timeStamp
Definition ctrl.h:53
s32 DPadSenseB
Definition ctrl.h:75
u32 buttons
Definition ctrl.h:55
u8 rY
Definition ctrl.h:63
u8 aY
Definition ctrl.h:59
s32 DPadSenseA
Definition ctrl.h:70
s32 TiltA
Definition ctrl.h:97
s32 GPadSenseA
Definition ctrl.h:80
Definition ctrl.h:22
u8 rY
Definition ctrl.h:37
u32 timeStamp
Definition ctrl.h:27
u8 aX
Definition ctrl.h:31
u8 rX
Definition ctrl.h:35
u32 buttons
Definition ctrl.h:29
u8 aY
Definition ctrl.h:33
Definition ctrl.h:147
s32 unk1
Definition ctrl.h:149
Definition ctrl.h:133
u32 buttonRelease
Definition ctrl.h:141
u32 buttonMake
Definition ctrl.h:135
u32 buttonPress
Definition ctrl.h:139
u32 buttonBreak
Definition ctrl.h:137