forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			29 lines
		
	
	
		
			688 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			688 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#pragma once
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <kinc/global.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <IOKit/IOKitLib.h>
							 | 
						||
| 
								 | 
							
								#include <IOKit/hid/IOHIDKeys.h>
							 | 
						||
| 
								 | 
							
								#include <IOKit/hid/IOHIDManager.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "HIDGamepad.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Maximum number of devices supported
							 | 
						||
| 
								 | 
							
								// Corresponds to size of Kore::Gamepad array
							 | 
						||
| 
								 | 
							
								static const int KINC_MAX_HID_DEVICES = 12;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Slots to hold details on connected devices
							 | 
						||
| 
								 | 
							
								struct HIDManagerDeviceRecord {
							 | 
						||
| 
								 | 
							
									bool connected;        // = false;
							 | 
						||
| 
								 | 
							
									IOHIDDeviceRef device; // = NULL;
							 | 
						||
| 
								 | 
							
									struct HIDGamepad pad;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct HIDManager {
							 | 
						||
| 
								 | 
							
									IOHIDManagerRef managerRef;
							 | 
						||
| 
								 | 
							
									struct HIDManagerDeviceRecord devices[KINC_MAX_HID_DEVICES];
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void HIDManager_init(struct HIDManager *manager);
							 | 
						||
| 
								 | 
							
								void HIDManager_destroy(struct HIDManager *manager);
							 |