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
56
command.c
56
command.c
|
@ -30,24 +30,49 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#ifdef HOST_PJRC
|
||||
# include "jump_bootloader.h"
|
||||
# include "usb_keyboard.h"
|
||||
# ifdef USB_EXTRA_ENABLE
|
||||
# ifdef EXTRAKEY_ENABLE
|
||||
# include "usb_extra.h"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef HOST_VUSB
|
||||
# include "usbdrv.h"
|
||||
#endif
|
||||
|
||||
|
||||
static uint8_t command_common(void);
|
||||
static void help(void);
|
||||
static void switch_layer(uint8_t layer);
|
||||
|
||||
static bool last_print_enable;
|
||||
|
||||
uint8_t command_proc(void)
|
||||
{
|
||||
uint8_t processed = 0;
|
||||
last_print_enable = print_enable;
|
||||
|
||||
if (!IS_COMMAND())
|
||||
return 0;
|
||||
|
||||
uint8_t processed = 1;
|
||||
bool last_print_enable = print_enable;
|
||||
print_enable = true;
|
||||
if (command_extra() || command_common()) {
|
||||
processed = 1;
|
||||
_delay_ms(500);
|
||||
}
|
||||
print_enable = last_print_enable;
|
||||
return processed;
|
||||
}
|
||||
|
||||
/* This allows to define extra commands. return 0 when not processed. */
|
||||
uint8_t command_extra(void) __attribute__ ((weak));
|
||||
uint8_t command_extra(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static uint8_t command_common(void)
|
||||
{
|
||||
switch (host_get_first_key()) {
|
||||
case KB_H:
|
||||
help();
|
||||
|
@ -122,21 +147,27 @@ uint8_t command_proc(void)
|
|||
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");
|
||||
#endif
|
||||
|
||||
#ifdef HOST_VUSB
|
||||
# if USB_COUNT_SOF
|
||||
print("usbSofCount: "); phex(usbSofCount); print("\n");
|
||||
# endif
|
||||
#endif
|
||||
break;
|
||||
#ifdef USB_NKRO_ENABLE
|
||||
#ifdef NKRO_ENABLE
|
||||
case KB_N:
|
||||
// send empty report before change
|
||||
host_clear_keyboard_report();
|
||||
host_send_keyboard_report();
|
||||
keyboard_nkro = !keyboard_nkro;
|
||||
if (keyboard_nkro)
|
||||
print("USB_NKRO: enabled\n");
|
||||
print("NKRO: enabled\n");
|
||||
else
|
||||
print("USB_NKRO: disabled\n");
|
||||
print("NKRO: disabled\n");
|
||||
break;
|
||||
#endif
|
||||
#ifdef USB_EXTRA_ENABLE
|
||||
#ifdef EXTRAKEY_ENABLE
|
||||
case KB_ESC:
|
||||
host_clear_keyboard_report();
|
||||
host_send_keyboard_report();
|
||||
|
@ -175,12 +206,9 @@ uint8_t command_proc(void)
|
|||
switch_layer(4);
|
||||
break;
|
||||
default:
|
||||
processed = 0;
|
||||
return 0;
|
||||
}
|
||||
if (processed)
|
||||
_delay_ms(500);
|
||||
print_enable = last_print_enable;
|
||||
return processed;
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void help(void)
|
||||
|
@ -194,8 +222,8 @@ static void help(void)
|
|||
print("v: print version\n");
|
||||
print("t: print timer count\n");
|
||||
print("s: print status\n");
|
||||
#ifdef USB_NKRO_ENABLE
|
||||
print("n: toggle USB_NKRO\n");
|
||||
#ifdef NKRO_ENABLE
|
||||
print("n: toggle NKRO\n");
|
||||
#endif
|
||||
print("Backspace: clear matrix\n");
|
||||
print("ESC: power down/wake up\n");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue