#ifndef KEYBOARD_USB_H
#define KEYBOARD_USB_H

//不可更改
uint32_t usb_press_interval = 0; //usb模式计时


//根据按键位置更改
const uint8_t  USB_KEY_CODE[KEYBOARD_ROW][KEYBOARD_COLUMN] = {
  {KEY_USB_ESC,             0,             KEY_USB_F1,       KEY_USB_F2,     KEY_USB_F3,    KEY_USB_F4,    KEY_USB_F5,    KEY_USB_F6,  KEY_USB_F7,         KEY_USB_F8,        KEY_USB_F9,         KEY_USB_F10,          KEY_USB_F11,       KEY_USB_F12,         KEY_USB_F13,        KEY_USB_F14,        KEY_USB_F15},
  {KEY_USB_SEPARATOR,     KEY_USB_1,       KEY_USB_2,        KEY_USB_3,      KEY_USB_4,     KEY_USB_5,     KEY_USB_6,     KEY_USB_7,   KEY_USB_8,          KEY_USB_9,         KEY_USB_0,                  '-',                '=',            KEY_USB_BACKSPACE,   KEY_USB_INSERT,     KEY_USB_HOME,     KEY_USB_PAGE_UP},
  {KEY_USB_TAB,            'q',              'w',               'e',           'r',          't',            'y',          'u',          'i'  ,               'o',               'p',                  '[',                ']',                '\\',            KEY_USB_DELETE,     KEY_USB_END,      KEY_USB_PAGE_DOWN},
  {KEY_USB_CAPS_LOCK,      'a',              's',               'd',           'f',          'g',            'h',          'j',          'k'  ,               'l',               ';',                  '\'',                0,           0,                  0,                   0,                  0},
  {KEY_USB_LEFT_SHIFT,           'z',              'x',               'c',           'v',          'b',            'n',          'm',          ','  ,               '.',               '/',             KEY_USB_RIGHT_SHIFT,       0,                  0,                  0,           KEY_USB_UP_ARROW,           0},
  {KEY_USB_LEFT_CTRL,           KEY_USB_LEFT_GUI,      KEY_USB_LEFT_ALT,           0,             0,           ' ',             0,            0,       KEY_USB_RIGHT_ALT,   KEY_USB_RIGHT_GUI,      0,              KEY_USB_RIGHT_CTRL,        0,                  0,          KEY_USB_LEFT_ARROW,  KEY_USB_DOWN_ARROW, KEY_USB_RIGHT_ARROW}
};

const uint8_t  USB_KEY_MAC_CODE[KEYBOARD_ROW][KEYBOARD_COLUMN] = {
  {KEY_USB_ESC,             0,             KEY_USB_F1,       KEY_USB_F2,     KEY_USB_F3,    KEY_USB_F4,    KEY_USB_F5,    KEY_USB_F6,  KEY_USB_F7,         KEY_USB_F8,        KEY_USB_F9,         KEY_USB_F10,          KEY_USB_F11,       KEY_USB_F12,         KEY_USB_F13,        0,        0},
  {KEY_USB_SEPARATOR,     KEY_USB_1,       KEY_USB_2,        KEY_USB_3,      KEY_USB_4,     KEY_USB_5,     KEY_USB_6,     KEY_USB_7,   KEY_USB_8,          KEY_USB_9,         KEY_USB_0,                  '-',                '=',            KEY_USB_BACKSPACE,   KEY_USB_INSERT,     KEY_USB_HOME,     KEY_USB_PAGE_UP},
  {KEY_USB_TAB,            'q',              'w',               'e',           'r',          't',            'y',          'u',          'i'  ,               'o',               'p',                  '[',                ']',                '\\',            KEY_USB_DELETE,     KEY_USB_END,      KEY_USB_PAGE_DOWN},
  {KEY_USB_CAPS_LOCK,      'a',              's',               'd',           'f',          'g',            'h',          'j',          'k'  ,               'l',               ';',                  '\'',                0,           0,                  0,                   0,                  0},
  {KEY_USB_LEFT_SHIFT,           'z',              'x',               'c',           'v',          'b',            'n',          'm',          ','  ,               '.',               '/',             KEY_USB_RIGHT_SHIFT,       0,                  0,                  0,           KEY_USB_UP_ARROW,           0},
  {KEY_USB_LEFT_CTRL,           KEY_USB_LEFT_ALT,      KEY_USB_LEFT_GUI,           0,             0,           ' ',             0,            0,       KEY_USB_RIGHT_GUI,   KEY_USB_RIGHT_ALT,      0,              KEY_USB_RIGHT_CTRL,        0,                  0,          KEY_USB_LEFT_ARROW,  KEY_USB_DOWN_ARROW, KEY_USB_RIGHT_ARROW}
};
//USB
uint8_t usb_task_begin();
void usb_task_end();
void usb_fn(uint8_t state_, uint8_t i, uint8_t j);

#endif
