+++ /dev/null
-#ifndef usb_serial_h__
-#define usb_serial_h__
-
-#include <stdint.h>
-
-void usb_init(void); // initialize everything
-uint8_t usb_configured(void); // is the USB port configured
-
-int8_t usb_keyboard_press(uint8_t key, uint8_t modifier);
-int8_t usb_keyboard_send(void);
-extern uint8_t keyboard_modifier_keys;
-extern uint8_t keyboard_keys[6];
-extern volatile uint8_t keyboard_leds;
-
-// This file does not include the HID debug functions, so these empty
-// macros replace them with nothing, so users can compile code that
-// has calls to these functions.
-#define usb_debug_putchar(c)
-#define usb_debug_flush_output()
-
-
-#define KEY_CTRL 0x01
-#define KEY_SHIFT 0x02
-#define KEY_ALT 0x04
-#define KEY_GUI 0x08
-#define KEY_LEFT_CTRL 0x01
-#define KEY_LEFT_SHIFT 0x02
-#define KEY_LEFT_ALT 0x04
-#define KEY_LEFT_GUI 0x08
-#define KEY_RIGHT_CTRL 0x10
-#define KEY_RIGHT_SHIFT 0x20
-#define KEY_RIGHT_ALT 0x40
-#define KEY_RIGHT_GUI 0x80
-
-#define KEY_A 4
-#define KEY_B 5
-#define KEY_C 6
-#define KEY_D 7
-#define KEY_E 8
-#define KEY_F 9
-#define KEY_G 10
-#define KEY_H 11
-#define KEY_I 12
-#define KEY_J 13
-#define KEY_K 14
-#define KEY_L 15
-#define KEY_M 16
-#define KEY_N 17
-#define KEY_O 18
-#define KEY_P 19
-#define KEY_Q 20
-#define KEY_R 21
-#define KEY_S 22
-#define KEY_T 23
-#define KEY_U 24
-#define KEY_V 25
-#define KEY_W 26
-#define KEY_X 27
-#define KEY_Y 28
-#define KEY_Z 29
-#define KEY_1 30
-#define KEY_2 31
-#define KEY_3 32
-#define KEY_4 33
-#define KEY_5 34
-#define KEY_6 35
-#define KEY_7 36
-#define KEY_8 37
-#define KEY_9 38
-#define KEY_0 39
-#define KEY_ENTER 40
-#define KEY_ESC 41
-#define KEY_BACKSPACE 42
-#define KEY_TAB 43
-#define KEY_SPACE 44
-#define KEY_MINUS 45
-#define KEY_EQUAL 46
-#define KEY_LEFT_BRACE 47
-#define KEY_RIGHT_BRACE 48
-#define KEY_BACKSLASH 49
-#define KEY_NUMBER 50
-#define KEY_SEMICOLON 51
-#define KEY_QUOTE 52
-#define KEY_TILDE 53
-#define KEY_COMMA 54
-#define KEY_PERIOD 55
-#define KEY_SLASH 56
-#define KEY_CAPS_LOCK 57
-#define KEY_F1 58
-#define KEY_F2 59
-#define KEY_F3 60
-#define KEY_F4 61
-#define KEY_F5 62
-#define KEY_F6 63
-#define KEY_F7 64
-#define KEY_F8 65
-#define KEY_F9 66
-#define KEY_F10 67
-#define KEY_F11 68
-#define KEY_F12 69
-#define KEY_PRINTSCREEN 70
-#define KEY_SCROLL_LOCK 71
-#define KEY_PAUSE 72
-#define KEY_INSERT 73
-#define KEY_HOME 74
-#define KEY_PAGE_UP 75
-#define KEY_DELETE 76
-#define KEY_END 77
-#define KEY_PAGE_DOWN 78
-#define KEY_RIGHT 79
-#define KEY_LEFT 80
-#define KEY_DOWN 81
-#define KEY_UP 82
-#define KEY_NUM_LOCK 83
-#define KEYPAD_SLASH 84
-#define KEYPAD_ASTERIX 85
-#define KEYPAD_MINUS 86
-#define KEYPAD_PLUS 87
-#define KEYPAD_ENTER 88
-#define KEYPAD_1 89
-#define KEYPAD_2 90
-#define KEYPAD_3 91
-#define KEYPAD_4 92
-#define KEYPAD_5 93
-#define KEYPAD_6 94
-#define KEYPAD_7 95
-#define KEYPAD_8 96
-#define KEYPAD_9 97
-#define KEYPAD_0 98
-#define KEYPAD_PERIOD 99
-
-
-
-
-// Everything below this point is only intended for usb_serial.c
-#ifdef USB_SERIAL_PRIVATE_INCLUDE
-#include <avr/io.h>
-#include <avr/pgmspace.h>
-#include <avr/interrupt.h>
-
-#define EP_TYPE_CONTROL 0x00
-#define EP_TYPE_BULK_IN 0x81
-#define EP_TYPE_BULK_OUT 0x80
-#define EP_TYPE_INTERRUPT_IN 0xC1
-#define EP_TYPE_INTERRUPT_OUT 0xC0
-#define EP_TYPE_ISOCHRONOUS_IN 0x41
-#define EP_TYPE_ISOCHRONOUS_OUT 0x40
-
-#define EP_SINGLE_BUFFER 0x02
-#define EP_DOUBLE_BUFFER 0x06
-
-#define EP_SIZE(s) ((s) == 64 ? 0x30 : \
- ((s) == 32 ? 0x20 : \
- ((s) == 16 ? 0x10 : \
- 0x00)))
-
-#define MAX_ENDPOINT 4
-
-#define LSB(n) (n & 255)
-#define MSB(n) ((n >> 8) & 255)
-
-#if defined(__AVR_AT90USB162__)
-#define HW_CONFIG()
-#define PLL_CONFIG() (PLLCSR = ((1<<PLLE)|(1<<PLLP0)))
-#define USB_CONFIG() (USBCON = (1<<USBE))
-#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK)))
-#elif defined(__AVR_ATmega32U4__)
-#define HW_CONFIG() (UHWCON = 0x01)
-#define PLL_CONFIG() (PLLCSR = 0x12)
-#define USB_CONFIG() (USBCON = ((1<<USBE)|(1<<OTGPADE)))
-#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK)))
-#elif defined(__AVR_AT90USB646__)
-#define HW_CONFIG() (UHWCON = 0x81)
-#define PLL_CONFIG() (PLLCSR = 0x1A)
-#define USB_CONFIG() (USBCON = ((1<<USBE)|(1<<OTGPADE)))
-#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK)))
-#elif defined(__AVR_AT90USB1286__)
-#define HW_CONFIG() (UHWCON = 0x81)
-#define PLL_CONFIG() (PLLCSR = 0x16)
-#define USB_CONFIG() (USBCON = ((1<<USBE)|(1<<OTGPADE)))
-#define USB_FREEZE() (USBCON = ((1<<USBE)|(1<<FRZCLK)))
-#endif
-
-// standard control endpoint request types
-#define GET_STATUS 0
-#define CLEAR_FEATURE 1
-#define SET_FEATURE 3
-#define SET_ADDRESS 5
-#define GET_DESCRIPTOR 6
-#define GET_CONFIGURATION 8
-#define SET_CONFIGURATION 9
-#define GET_INTERFACE 10
-#define SET_INTERFACE 11
-// HID (human interface device)
-#define HID_GET_REPORT 1
-#define HID_GET_IDLE 2
-#define HID_GET_PROTOCOL 3
-#define HID_SET_REPORT 9
-#define HID_SET_IDLE 10
-#define HID_SET_PROTOCOL 11
-// CDC (communication class device)
-#define CDC_SET_LINE_CODING 0x20
-#define CDC_GET_LINE_CODING 0x21
-#define CDC_SET_CONTROL_LINE_STATE 0x22
-#endif
-#endif