From a5fcf22ecba08ddbd04ac1ac0a9d9afa940e2632 Mon Sep 17 00:00:00 2001 From: meetpatty Date: Fri, 2 Jun 2017 19:58:09 +1200 Subject: Add SceHid Mouse functions (#182) --- include/user/hid.h | 48 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 12 deletions(-) (limited to 'include/user/hid.h') diff --git a/include/user/hid.h b/include/user/hid.h index 327fce3..1fe133b 100644 --- a/include/user/hid.h +++ b/include/user/hid.h @@ -8,27 +8,32 @@ extern "C" { #include typedef struct SceHidKeyboardReport { - SceUInt8 unk0[2]; - SceUInt8 modifier; - SceUInt8 key1; - SceUInt8 key2; - SceUInt8 key3; - SceUInt8 key4; - SceUInt8 key5; - SceUInt8 key6; + SceUInt8 reserved; + SceUInt8 modifiers[2]; //modifiers[0] Standard modifiers Ctrl Shift Alt, modifiers[1] Caps Lock, ..? + SceUInt8 keycodes[6]; SceUInt8 unk1[15]; } SceHidKeyboardReport; -#define SCE_HID_KEYBOARD_MAX_REPORT 16 +typedef struct SceHidMouseReport { + SceUInt8 buttons; + SceUInt8 reserved; + SceInt16 rel_x; + SceInt16 rel_y; + SceInt8 unk[10]; + +} SceHidMouseReport; + +#define SCE_HID_MAX_REPORT 16 +#define SCE_HID_MAX_DEVICE_COUNT 8 /** * Enumerate hid keyboards. * - * @param[out] handle Hid handle. - * @param[int] port? Use 1. + * @param[out] handle Buffer to receive keyboard hid handles. + * @param[int] count Number of keyboards to enumerate */ -int sceHidKeyboardEnumerate(int* handle, int port); +int sceHidKeyboardEnumerate(int* handle, int count); /** @@ -40,6 +45,25 @@ int sceHidKeyboardEnumerate(int* handle, int port); */ int sceHidKeyboardRead(SceUInt32 handle, SceHidKeyboardReport *reports[], int nReports); +/** + * Enumerate hid mice. + * + * @param[out] handle Buffer to receive mouse hid handles. + * @param[int] count Number of mice to enumerate + */ +int sceHidMouseEnumerate(int* handle, int count); + + +/** + * Get hid mouse reports. + * + * @param[in] handle Hid handle. + * @param[in] reports Buffer to receive reports. + * @param[in] nReports Number of reports to receive. + */ +int sceHidMouseRead(SceUInt32 handle, SceHidMouseReport *reports[], int nReports); + + #ifdef __cplusplus } #endif -- cgit v1.2.3