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