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);
 |