0x95, KBD_REPORT_KEYS, // Report Count (),
0x75, 0x08, // Report Size (8),
0x15, 0x00, // Logical Minimum (0),
- 0x25, 0xFF, // Logical Maximum(255),
+ 0x26, 0xFF, 0x00, // Logical Maximum(255),
0x05, 0x07, // Usage Page (Key Codes),
0x19, 0x00, // Usage Minimum (0),
0x29, 0xFF, // Usage Maximum (255),
* TODO: maybe disable some things when connection is lost? */
static void usb_event_cb(USBDriver *usbp, usbevent_t event) {
switch(event) {
- case USB_EVENT_RESET:
- //TODO: from ISR! print("[R]");
- return;
-
case USB_EVENT_ADDRESS:
return;
#endif /* NKRO_ENABLE */
osalSysUnlockFromISR();
return;
-
case USB_EVENT_SUSPEND:
//TODO: from ISR! print("[S]");
#ifdef SLEEP_LED_ENABLE
sleep_led_enable();
#endif /* SLEEP_LED_ENABLE */
+ /* Falls into.*/
+ case USB_EVENT_UNCONFIGURED:
+ /* Falls into.*/
+ case USB_EVENT_RESET:
return;
case USB_EVENT_WAKEUP:
chVTObjectInit(&keyboard_idle_timer);
#ifdef CONSOLE_ENABLE
- obqObjectInit(&console_buf_queue, console_queue_buffer, CONSOLE_EPSIZE, CONSOLE_QUEUE_CAPACITY, console_queue_onotify, (void*)usbp);
+ obqObjectInit(&console_buf_queue, false, console_queue_buffer, CONSOLE_EPSIZE, CONSOLE_QUEUE_CAPACITY, console_queue_onotify, (void*)usbp);
chVTObjectInit(&console_flush_timer);
#endif
}
-/*
- * Send remote wakeup packet
- * Note: should not be called from ISR
- */
-void send_remote_wakeup(USBDriver *usbp) {
- (void)usbp;
-#if defined(K20x) || defined(KL2x)
-#if KINETIS_USB_USE_USB0
- USB0->CTL |= USBx_CTL_RESUME;
- wait_ms(15);
- USB0->CTL &= ~USBx_CTL_RESUME;
-#endif /* KINETIS_USB_USE_USB0 */
-#elif defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) /* End K20x || KL2x */
- STM32_USB->CNTR |= CNTR_RESUME;
- wait_ms(15);
- STM32_USB->CNTR &= ~CNTR_RESUME;
-#else /* End STM32F0XX || STM32F1XX || STM32F3XX */
-#warning Sending remote wakeup packet not implemented for your platform.
-#endif
-}
-
/* ---------------------------------------------------------
* Keyboard functions
* ---------------------------------------------------------