+ case KB_T: // print timer
+ usb_keyboard_clear_report();
+ usb_keyboard_send();
+ print_enable = true;
+ print("timer: "); phex16(timer_count); print("\n");
+ _delay_ms(500);
+ break;
+ case KB_P: // print toggle
+ usb_keyboard_clear_report();
+ usb_keyboard_send();
+ if (print_enable) {
+ print("print disabled.\n");
+ print_enable = false;
+ } else {
+ print_enable = true;
+ print("print enabled.\n");
+ }
+ _delay_ms(1000);
+ break;
+ case KB_S:
+ usb_keyboard_clear_report();
+ usb_keyboard_send();
+ print("UDCON: "); phex(UDCON); print("\n");
+ print("UDIEN: "); phex(UDIEN); print("\n");
+ print("UDINT: "); phex(UDINT); print("\n");
+ print("usb_keyboard_leds:"); phex(usb_keyboard_leds); print("\n");
+ print("usb_keyboard_protocol:"); phex(usb_keyboard_protocol); print("\n");
+ print("usb_keyboard_idle_config:"); phex(usb_keyboard_idle_config); print("\n");
+ print("usb_keyboard_idle_count:"); phex(usb_keyboard_idle_count); print("\n");
+#ifdef USB_MOUSE_ENABLE
+ print("usb_mouse_protocol:"); phex(usb_mouse_protocol); print("\n");
+#endif
+ if (usb_keyboard_nkro) print("USB_NKRO: enabled\n"); else print("USB_NKRO: disabled\n");
+ _delay_ms(500);
+ break;
+ case KB_GRV:
+ usb_keyboard_clear_report();
+ usb_keyboard_send();
+ usb_keyboard_protocol = !usb_keyboard_protocol;
+ print("keyboard protcol: ");
+ if (usb_keyboard_protocol) print("report"); else print("boot");
+ print("\n");
+
+#ifdef USB_MOUSE_ENABLE
+ usb_mouse_protocol = !usb_mouse_protocol;
+ print("mouse protcol: ");
+ if (usb_mouse_protocol) print("report"); else print("boot");
+ print("\n");
+#endif
+ _delay_ms(1000);
+ break;
+#ifdef USB_NKRO_ENABLE
+ case KB_N:
+ usb_keyboard_clear_report();
+ usb_keyboard_send();
+ usb_keyboard_nkro = !usb_keyboard_nkro;
+ if (usb_keyboard_nkro) print("USB_NKRO: enabled\n"); else print("USB_NKRO: disabled\n");
+ _delay_ms(1000);
+ break;
+#endif
+#ifdef USB_EXTRA_ENABLE
+ case KB_ESC:
+ usb_keyboard_clear_report();
+ usb_keyboard_send();
+ if (suspend && remote_wakeup) {
+ usb_remote_wakeup();
+ } else {
+ usb_extra_system_send(SYSTEM_POWER_DOWN);
+ }
+ _delay_ms(1000);
+ break;
+#endif