summaryrefslogtreecommitdiff
path: root/class/gamepad/usbd_gamepad.h
blob: 8f4f20a8330b4b5b24946ccb75be262e3699e610 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
 * Copyright (c) 2026, sakumisu
 *
 * SPDX-License-Identifier: Apache-2.0
 */
#ifndef USBD_GAMEPAD_H
#define USBD_GAMEPAD_H

#include "usb_gamepad.h"

#define USBD_GAMEPAD_MODE_XINPUT  0
#define USBD_GAMEPAD_MODE_SWITCH  1
#define USBD_GAMEPAD_MODE_XBOXONE 2
#define USBD_GAMEPAD_MODE_PS4     3

struct usbd_interface *usbd_gamepad_xinput_init_intf(struct usbd_interface *intf);
struct usbd_interface *usbd_gamepad_switch_init_intf(struct usbd_interface *intf);

int usbd_gamepad_xinput_send_report(uint8_t ep, struct usb_gamepad_report *report);
int usbd_gamepad_switch_send_report(uint8_t ep, struct usb_gamepad_report *report);

#endif /* USBD_GAMEPAD_H */