mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-04-09 02:51:31 -06:00
32 lines
566 B
C++
32 lines
566 B
C++
#pragma once
|
|
|
|
#include "util/types.hpp"
|
|
#include <mutex>
|
|
#include <hidapi.h>
|
|
|
|
struct hid_instance
|
|
{
|
|
public:
|
|
hid_instance() = default;
|
|
~hid_instance();
|
|
|
|
static hid_instance& get_instance()
|
|
{
|
|
static hid_instance instance {};
|
|
return instance;
|
|
}
|
|
|
|
bool initialize();
|
|
|
|
static hid_device_info* enumerate(u16 vid, u16 pid);
|
|
static void free_enumeration(hid_device_info* devs);
|
|
static hid_device* open_path(const char* path);
|
|
static void close(hid_device* dev);
|
|
|
|
private:
|
|
bool m_initialized = false;
|
|
std::mutex m_hid_mutex;
|
|
};
|
|
|
|
extern std::mutex g_hid_mutex;
|