forked from mirrors/qmk_userspace
Added Bulegiga iWRAP support into HHKB.(Bluetooth)
This commit is contained in:
parent
b703de7b29
commit
e67c988824
90 changed files with 3154 additions and 541 deletions
34
pjrc/usb.c
34
pjrc/usb.c
|
@ -91,18 +91,18 @@ bool suspend = false;
|
|||
static const uint8_t PROGMEM endpoint_config_table[] = {
|
||||
// enable, UECFG0X(type, direction), UECFG1X(size, bank, allocation)
|
||||
1, EP_TYPE_INTERRUPT_IN, EP_SIZE(KBD_SIZE) | KBD_BUFFER, // 1
|
||||
#ifdef USB_MOUSE_ENABLE
|
||||
#ifdef MOUSE_ENABLE
|
||||
1, EP_TYPE_INTERRUPT_IN, EP_SIZE(MOUSE_SIZE) | MOUSE_BUFFER, // 2
|
||||
#else
|
||||
0, // 2
|
||||
#endif
|
||||
1, EP_TYPE_INTERRUPT_IN, EP_SIZE(DEBUG_TX_SIZE) | DEBUG_TX_BUFFER, // 3
|
||||
#ifdef USB_EXTRA_ENABLE
|
||||
#ifdef EXTRAKEY_ENABLE
|
||||
1, EP_TYPE_INTERRUPT_IN, EP_SIZE(EXTRA_SIZE) | EXTRA_BUFFER, // 4
|
||||
#else
|
||||
0, // 4
|
||||
#endif
|
||||
#ifdef USB_NKRO_ENABLE
|
||||
#ifdef NKRO_ENABLE
|
||||
1, EP_TYPE_INTERRUPT_IN, EP_SIZE(KBD2_SIZE) | KBD2_BUFFER, // 5
|
||||
#else
|
||||
0, // 5
|
||||
|
@ -176,7 +176,7 @@ static uint8_t PROGMEM keyboard_hid_report_desc[] = {
|
|||
0x81, 0x00, // Input (Data, Array),
|
||||
0xc0 // End Collection
|
||||
};
|
||||
#ifdef USB_NKRO_ENABLE
|
||||
#ifdef NKRO_ENABLE
|
||||
static uint8_t PROGMEM keyboard2_hid_report_desc[] = {
|
||||
0x05, 0x01, // Usage Page (Generic Desktop),
|
||||
0x09, 0x06, // Usage (Keyboard),
|
||||
|
@ -213,7 +213,7 @@ static uint8_t PROGMEM keyboard2_hid_report_desc[] = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#ifdef USB_MOUSE_ENABLE
|
||||
#ifdef MOUSE_ENABLE
|
||||
// Mouse Protocol 1, HID 1.11 spec, Appendix B, page 59-60, with wheel extension
|
||||
// http://www.microchip.com/forums/tm.aspx?high=&m=391435&mpage=1#391521
|
||||
// http://www.keil.com/forum/15671/
|
||||
|
@ -282,7 +282,7 @@ static uint8_t PROGMEM debug_hid_report_desc[] = {
|
|||
0xC0 // end collection
|
||||
};
|
||||
|
||||
#ifdef USB_EXTRA_ENABLE
|
||||
#ifdef EXTRAKEY_ENABLE
|
||||
// audio controls & system controls
|
||||
// http://www.microsoft.com/whdc/archive/w2kbd.mspx
|
||||
static uint8_t PROGMEM extra_hid_report_desc[] = {
|
||||
|
@ -318,7 +318,7 @@ static uint8_t PROGMEM extra_hid_report_desc[] = {
|
|||
#define KBD_HID_DESC_NUM 0
|
||||
#define KBD_HID_DESC_OFFSET (9+(9+9+7)*KBD_HID_DESC_NUM+9)
|
||||
|
||||
#ifdef USB_MOUSE_ENABLE
|
||||
#ifdef MOUSE_ENABLE
|
||||
# define MOUSE_HID_DESC_NUM (KBD_HID_DESC_NUM + 1)
|
||||
# define MOUSE_HID_DESC_OFFSET (9+(9+9+7)*MOUSE_HID_DESC_NUM+9)
|
||||
#else
|
||||
|
@ -328,14 +328,14 @@ static uint8_t PROGMEM extra_hid_report_desc[] = {
|
|||
#define DEBUG_HID_DESC_NUM (MOUSE_HID_DESC_NUM + 1)
|
||||
#define DEBUG_HID_DESC_OFFSET (9+(9+9+7)*DEBUG_HID_DESC_NUM+9)
|
||||
|
||||
#ifdef USB_EXTRA_ENABLE
|
||||
#ifdef EXTRAKEY_ENABLE
|
||||
# define EXTRA_HID_DESC_NUM (DEBUG_HID_DESC_NUM + 1)
|
||||
# define EXTRA_HID_DESC_OFFSET (9+(9+9+7)*EXTRA_HID_DESC_NUM+9)
|
||||
#else
|
||||
# define EXTRA_HID_DESC_NUM (DEBUG_HID_DESC_NUM + 0)
|
||||
#endif
|
||||
|
||||
#ifdef USB_NKRO_ENABLE
|
||||
#ifdef NKRO_ENABLE
|
||||
# define KBD2_HID_DESC_NUM (EXTRA_HID_DESC_NUM + 1)
|
||||
# define KBD2_HID_DESC_OFFSET (9+(9+9+7)*EXTRA_HID_DESC_NUM+9)
|
||||
#else
|
||||
|
@ -383,7 +383,7 @@ static uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = {
|
|||
KBD_SIZE, 0, // wMaxPacketSize
|
||||
10, // bInterval
|
||||
|
||||
#ifdef USB_MOUSE_ENABLE
|
||||
#ifdef MOUSE_ENABLE
|
||||
// interface descriptor, USB spec 9.6.5, page 267-269, Table 9-12
|
||||
9, // bLength
|
||||
4, // bDescriptorType
|
||||
|
@ -444,7 +444,7 @@ static uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = {
|
|||
DEBUG_TX_SIZE, 0, // wMaxPacketSize
|
||||
1, // bInterval
|
||||
|
||||
#ifdef USB_EXTRA_ENABLE
|
||||
#ifdef EXTRAKEY_ENABLE
|
||||
// interface descriptor, USB spec 9.6.5, page 267-269, Table 9-12
|
||||
9, // bLength
|
||||
4, // bDescriptorType
|
||||
|
@ -473,7 +473,7 @@ static uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = {
|
|||
10, // bInterval
|
||||
#endif
|
||||
|
||||
#ifdef USB_NKRO_ENABLE
|
||||
#ifdef NKRO_ENABLE
|
||||
// interface descriptor, USB spec 9.6.5, page 267-269, Table 9-12
|
||||
9, // bLength
|
||||
4, // bDescriptorType
|
||||
|
@ -542,17 +542,17 @@ static struct descriptor_list_struct {
|
|||
// HID/REPORT descriptors
|
||||
{0x2100, KBD_INTERFACE, config1_descriptor+KBD_HID_DESC_OFFSET, 9},
|
||||
{0x2200, KBD_INTERFACE, keyboard_hid_report_desc, sizeof(keyboard_hid_report_desc)},
|
||||
#ifdef USB_MOUSE_ENABLE
|
||||
#ifdef MOUSE_ENABLE
|
||||
{0x2100, MOUSE_INTERFACE, config1_descriptor+MOUSE_HID_DESC_OFFSET, 9},
|
||||
{0x2200, MOUSE_INTERFACE, mouse_hid_report_desc, sizeof(mouse_hid_report_desc)},
|
||||
#endif
|
||||
{0x2100, DEBUG_INTERFACE, config1_descriptor+DEBUG_HID_DESC_OFFSET, 9},
|
||||
{0x2200, DEBUG_INTERFACE, debug_hid_report_desc, sizeof(debug_hid_report_desc)},
|
||||
#ifdef USB_EXTRA_ENABLE
|
||||
#ifdef EXTRAKEY_ENABLE
|
||||
{0x2100, EXTRA_INTERFACE, config1_descriptor+EXTRA_HID_DESC_OFFSET, 9},
|
||||
{0x2200, EXTRA_INTERFACE, extra_hid_report_desc, sizeof(extra_hid_report_desc)},
|
||||
#endif
|
||||
#ifdef USB_NKRO_ENABLE
|
||||
#ifdef NKRO_ENABLE
|
||||
{0x2100, KBD2_INTERFACE, config1_descriptor+KBD2_HID_DESC_OFFSET, 9},
|
||||
{0x2200, KBD2_INTERFACE, keyboard2_hid_report_desc, sizeof(keyboard2_hid_report_desc)},
|
||||
#endif
|
||||
|
@ -653,7 +653,7 @@ ISR(USB_GEN_vect)
|
|||
}
|
||||
}
|
||||
/* TODO: should keep IDLE rate on each keyboard interface */
|
||||
#ifdef USB_NKRO_ENABLE
|
||||
#ifdef NKRO_ENABLE
|
||||
if (!keyboard_nkro && usb_keyboard_idle_config && (++div4 & 3) == 0) {
|
||||
#else
|
||||
if (usb_keyboard_idle_config && (++div4 & 3) == 0) {
|
||||
|
@ -894,7 +894,7 @@ ISR(USB_COM_vect)
|
|||
}
|
||||
}
|
||||
}
|
||||
#ifdef USB_MOUSE_ENABLE
|
||||
#ifdef MOUSE_ENABLE
|
||||
if (wIndex == MOUSE_INTERFACE) {
|
||||
if (bmRequestType == 0xA1) {
|
||||
if (bRequest == HID_GET_REPORT) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue