1#ifndef INPUT_HANDLER_MACOSX_HID_H
2#define INPUT_HANDLER_MACOSX_HID_H
5#include <CoreFoundation/CoreFoundation.h>
6#include <IOKit/IOKitLib.h>
7#include "InputHandler.h"
8#include "RageUtil/Misc/RageThreads.h"
15 std::vector<HIDDevice*> m_vDevices;
18 CFRunLoopRef m_LoopRef;
19 CFRunLoopSourceRef m_SourceRef;
20 std::vector<io_iterator_t> m_vIters;
22 IONotificationPortRef m_NotifyPort;
26 static int Run(
void* data);
27 static void DeviceAdded(
void* refCon, io_iterator_t iter);
28 static void DeviceChanged(
void* refCon,
30 natural_t messageType,
33 void AddDevices(
int usagePage,
int usage, InputDevice&
id);
41 LockMut(m_ChangeLock);
44 void GetDevicesAndDescriptions(std::vector<InputDeviceInfo>& vDevicesOut);
45 std::string GetDeviceSpecificInputString(
const DeviceInput& di);
46 wchar_t DeviceButtonToChar(DeviceButton button,
47 bool bUseCurrentKeyModifiers);
48 static void QueueCallback(
void* target,
Definition HIDDevice.h:70
Definition RageThreads.h:232
Definition RageThreads.h:334
Thread, mutex, semaphore, and event classes.
Definition RageThreads.h:155