2010-09-23 07:23:50 -04:00
|
|
|
#ifndef USB_KEYBOARD_H
|
|
|
|
#define USB_KEYBOARD_H 1
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2010-09-30 01:17:01 -04:00
|
|
|
#include "usb.h"
|
2010-09-23 07:23:50 -04:00
|
|
|
|
|
|
|
|
|
|
|
#define KEYBOARD_INTERFACE 0
|
2010-09-30 01:17:01 -04:00
|
|
|
#define KEYBOARD_ENDPOINT 1
|
2010-09-23 07:23:50 -04:00
|
|
|
#define KEYBOARD_SIZE 8
|
|
|
|
#define KEYBOARD_BUFFER EP_DOUBLE_BUFFER
|
|
|
|
|
2010-09-24 02:01:21 -04:00
|
|
|
// modifier bits
|
|
|
|
#define MOD_LCTRL (1<<0)
|
|
|
|
#define MOD_LSHIFT (1<<1)
|
|
|
|
#define MOD_LALT (1<<2)
|
|
|
|
#define MOD_LGUI (1<<3)
|
|
|
|
#define MOD_RCTRL (1<<4)
|
|
|
|
#define MOD_RSHIFT (1<<5)
|
|
|
|
#define MOD_RALT (1<<6)
|
|
|
|
#define MOD_RGUI (1<<7)
|
|
|
|
|
2010-09-23 07:23:50 -04:00
|
|
|
|
|
|
|
extern uint8_t keyboard_modifier_keys;
|
|
|
|
extern uint8_t keyboard_keys[6];
|
|
|
|
extern uint8_t keyboard_protocol;
|
|
|
|
extern uint8_t keyboard_idle_config;
|
|
|
|
extern uint8_t keyboard_idle_count;
|
|
|
|
extern volatile uint8_t keyboard_leds;
|
|
|
|
|
|
|
|
|
|
|
|
int8_t usb_keyboard_press(uint8_t key, uint8_t modifier);
|
|
|
|
int8_t usb_keyboard_send(void);
|
|
|
|
|
|
|
|
#endif
|