24 lines
621 B
C
24 lines
621 B
C
#pragma once
|
|
|
|
#include <IOKit/IOKitLib.h>
|
|
#include <IOKit/hid/IOHIDKeys.h>
|
|
#include <IOKit/hid/IOHIDManager.h>
|
|
|
|
struct HIDGamepad {
|
|
int padIndex;
|
|
IOHIDDeviceRef hidDeviceRef;
|
|
IOHIDQueueRef hidQueueRef;
|
|
int hidDeviceVendorID;
|
|
int hidDeviceProductID;
|
|
char hidDeviceVendor[64];
|
|
char hidDeviceProduct[64];
|
|
|
|
IOHIDElementCookie axis[6];
|
|
IOHIDElementCookie buttons[15];
|
|
};
|
|
|
|
void HIDGamepad_init(struct HIDGamepad *gamepad);
|
|
void HIDGamepad_destroy(struct HIDGamepad *gamepad);
|
|
void HIDGamepad_bind(struct HIDGamepad *gamepad, IOHIDDeviceRef deviceRef, int padIndex);
|
|
void HIDGamepad_unbind(struct HIDGamepad *gamepad);
|