mirror of
https://github.com/libretro/RetroArch.git
synced 2024-12-02 21:37:14 +00:00
180d6a28bf
== DETAILS Turns out the cause of the crash was a bad cast, resulting in a function call to nowhere. Also, I think the DSI exception handler only works on the primary core; when this was happening in the background thread, I got a black screen error instead. Next up: finishing up the GCA driver.
45 lines
1.7 KiB
C
45 lines
1.7 KiB
C
/* RetroArch - A frontend for libretro.
|
|
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
|
|
* Copyright (C) 2011-2017 - Daniel De Matteis
|
|
*
|
|
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
|
* of the GNU General Public License as published by the Free Software Found-
|
|
* ation, either version 3 of the License, or (at your option) any later version.
|
|
*
|
|
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along with RetroArch.
|
|
* If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef HID_DEVICE_DRIVER__H
|
|
#define HID_DEVICE_DRIVER__H
|
|
|
|
#include "../../input_driver.h"
|
|
#include "../../connect/joypad_connection.h"
|
|
#include "../../include/hid_driver.h"
|
|
#include "../../../verbosity.h"
|
|
|
|
typedef struct hid_device {
|
|
void *(*init)(void *handle);
|
|
void (*free)(void *data);
|
|
void (*handle_packet)(void *data, uint8_t *buffer, size_t size);
|
|
bool (*detect)(uint16_t vid, uint16_t pid);
|
|
const char *name;
|
|
} hid_device_t;
|
|
|
|
extern hid_device_t wiiu_gca_hid_device;
|
|
extern hid_device_t ds3_hid_device;
|
|
extern hid_device_t ds4_hid_device;
|
|
extern hid_driver_instance_t hid_instance;
|
|
|
|
hid_device_t *hid_device_driver_lookup(uint16_t vendor_id, uint16_t product_id);
|
|
|
|
void hid_pad_connect(hid_driver_instance_t *instance, int pad);
|
|
bool hid_init(hid_driver_instance_t *instance, hid_driver_t *hid_driver, input_device_driver_t *pad_driver, unsigned slots);
|
|
void hid_deinit(hid_driver_instance_t *instance);
|
|
|
|
#endif /* HID_DEVICE_DRIVER__H */
|