summaryrefslogtreecommitdiffstats
path: root/usb_mouse.h
blob: da975c26266b44a4c46ef0738756ada9b1d36d8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef USB_MOUSE_H
#define  USB_MOUSE_H 1

#include <stdint.h>
#include <stdbool.h>
#include "usb.h"


#define MOUSE_INTERFACE		1
#define MOUSE_ENDPOINT		2
#define MOUSE_SIZE		8
#define MOUSE_BUFFER		EP_DOUBLE_BUFFER

#define BIT_BTN1 (1<<0)
#define BIT_BTN2 (1<<1)
#define BIT_BTN3 (1<<2)
#define BIT_BTN4 (1<<3)
#define BIT_BTN5 (1<<4)


extern uint8_t mouse_buttons;
extern uint8_t mouse_protocol;


int8_t usb_mouse_buttons(uint8_t left, uint8_t middle, uint8_t right);
int8_t usb_mouse_move(int8_t x, int8_t y, int8_t wheel, int8_t hwheel);
void usb_mouse_clear(void);
bool usb_mouse_is_sent(void);
void usb_mouse_print(int8_t mouse_x, int8_t mouse_y, int8_t wheel_v, int8_t wheel_h);

#endif