forked from mirrors/qmk_firmware
merging
This commit is contained in:
commit
e0ab1dcf4c
11 changed files with 64 additions and 56 deletions
|
@ -1,7 +1,7 @@
|
||||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
|
|
@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#include "backlight.h"
|
#include "backlight.h"
|
||||||
#include "keymap_midi.h"
|
#include "keymap_midi.h"
|
||||||
#include "bootloader.h"
|
#include "bootloader.h"
|
||||||
|
#include "eeconfig.h"
|
||||||
|
|
||||||
extern keymap_config_t keymap_config;
|
extern keymap_config_t keymap_config;
|
||||||
|
|
||||||
|
@ -33,15 +34,13 @@ extern keymap_config_t keymap_config;
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
|
|
||||||
#ifndef TONE_GOODBYE
|
#ifndef TONE_GOODBYE
|
||||||
#define TONE_GOODBYE { \
|
#define TONE_GOODBYE OLKB_GOODBYE
|
||||||
{440.0*pow(2.0,(31)/12.0), 8}, \
|
#endif /*! TONE_GOODBYE */
|
||||||
{440.0*pow(2.0,(24)/12.0), 8}, \
|
|
||||||
{440.0*pow(2.0,(19)/12.0), 12}, \
|
float tone_goodbye[][2] = SONG(TONE_GOODBYE);
|
||||||
}
|
#endif /* AUDIO_ENABLE */
|
||||||
#endif
|
|
||||||
float tone_goodbye[][2] = TONE_GOODBYE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static action_t keycode_to_action(uint16_t keycode);
|
static action_t keycode_to_action(uint16_t keycode);
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#define WD_NOTE(n) WHOLE_DOT_NOTE(n)
|
#define WD_NOTE(n) WHOLE_DOT_NOTE(n)
|
||||||
#define HD_NOTE(n) HALF_DOT_NOTE(n)
|
#define HD_NOTE(n) HALF_DOT_NOTE(n)
|
||||||
#define QD_NOTE(n) QUARTER_DOT_NOTE(n)
|
#define QD_NOTE(n) QUARTER_DOT_NOTE(n)
|
||||||
#define ED_NOTE(n) EIGTH_DOT_NOTE(n)
|
#define ED_NOTE(n) EIGHTH_DOT_NOTE(n)
|
||||||
#define SD_NOTE(n) SIXTEENTH_DOT_NOTE(n)
|
#define SD_NOTE(n) SIXTEENTH_DOT_NOTE(n)
|
||||||
|
|
||||||
// Note Styles
|
// Note Styles
|
||||||
|
|
|
@ -15,4 +15,9 @@
|
||||||
QD_NOTE(_B4), E__NOTE(_D5), Q__NOTE(_G5), \
|
QD_NOTE(_B4), E__NOTE(_D5), Q__NOTE(_G5), \
|
||||||
H__NOTE(_FS5),
|
H__NOTE(_FS5),
|
||||||
|
|
||||||
#endif
|
#define OLKB_GOODBYE \
|
||||||
|
E__NOTE(_E7), \
|
||||||
|
E__NOTE(_A6), \
|
||||||
|
ED_NOTE(_E6),
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -27,11 +27,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#include "action_util.h"
|
#include "action_util.h"
|
||||||
#include "action.h"
|
#include "action.h"
|
||||||
|
|
||||||
#ifdef DEBUG_ACTION
|
//#ifdef DEBUG_ACTION
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#else
|
//#else
|
||||||
#include "nodebug.h"
|
//#include "nodebug.h"
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
|
|
||||||
void action_exec(keyevent_t event)
|
void action_exec(keyevent_t event)
|
||||||
|
|
|
@ -4,14 +4,14 @@
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "action_layer.h"
|
#include "action_layer.h"
|
||||||
|
|
||||||
#ifdef DEBUG_ACTION
|
//#ifdef DEBUG_ACTION
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#else
|
//#else
|
||||||
#include "nodebug.h"
|
//#include "nodebug.h"
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Default Layer State
|
* Default Layer State
|
||||||
*/
|
*/
|
||||||
uint32_t default_layer_state = 0;
|
uint32_t default_layer_state = 0;
|
||||||
|
@ -52,7 +52,7 @@ void default_layer_xor(uint32_t state)
|
||||||
|
|
||||||
|
|
||||||
#ifndef NO_ACTION_LAYER
|
#ifndef NO_ACTION_LAYER
|
||||||
/*
|
/*
|
||||||
* Keymap Layer State
|
* Keymap Layer State
|
||||||
*/
|
*/
|
||||||
uint32_t layer_state = 0;
|
uint32_t layer_state = 0;
|
||||||
|
|
|
@ -19,11 +19,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#include "action_macro.h"
|
#include "action_macro.h"
|
||||||
#include "wait.h"
|
#include "wait.h"
|
||||||
|
|
||||||
#ifdef DEBUG_ACTION
|
//#ifdef DEBUG_ACTION
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#else
|
//#else
|
||||||
#include "nodebug.h"
|
//#include "nodebug.h"
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
|
|
||||||
#ifndef NO_ACTION_MACRO
|
#ifndef NO_ACTION_MACRO
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
#include "keycode.h"
|
#include "keycode.h"
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
|
|
||||||
#ifdef DEBUG_ACTION
|
//#ifdef DEBUG_ACTION
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#else
|
//#else
|
||||||
#include "nodebug.h"
|
//#include "nodebug.h"
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
#ifndef NO_ACTION_TAPPING
|
#ifndef NO_ACTION_TAPPING
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ bool process_tapping(keyrecord_t *keyp)
|
||||||
if (event.pressed) {
|
if (event.pressed) {
|
||||||
tapping_key.tap.interrupted = true;
|
tapping_key.tap.interrupted = true;
|
||||||
}
|
}
|
||||||
// enqueue
|
// enqueue
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -324,6 +324,7 @@ bool waiting_buffer_typed(keyevent_t event)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__attribute__((unused))
|
||||||
bool waiting_buffer_has_anykey_pressed(void)
|
bool waiting_buffer_has_anykey_pressed(void)
|
||||||
{
|
{
|
||||||
for (uint8_t i = waiting_buffer_tail; i != waiting_buffer_head; i = (i + 1) % WAITING_BUFFER_SIZE) {
|
for (uint8_t i = waiting_buffer_tail; i != waiting_buffer_head; i = (i + 1) % WAITING_BUFFER_SIZE) {
|
||||||
|
|
|
@ -122,7 +122,7 @@ static void command_common_help(void)
|
||||||
STR(MAGIC_KEY_VERSION ) ": Version\n"
|
STR(MAGIC_KEY_VERSION ) ": Version\n"
|
||||||
STR(MAGIC_KEY_STATUS ) ": Status\n"
|
STR(MAGIC_KEY_STATUS ) ": Status\n"
|
||||||
STR(MAGIC_KEY_CONSOLE ) ": Activate Console Mode\n"
|
STR(MAGIC_KEY_CONSOLE ) ": Activate Console Mode\n"
|
||||||
|
|
||||||
#if MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
|
#if MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
|
||||||
STR(MAGIC_KEY_LAYER0 ) ": Switch to Layer 0\n"
|
STR(MAGIC_KEY_LAYER0 ) ": Switch to Layer 0\n"
|
||||||
STR(MAGIC_KEY_LAYER1 ) ": Switch to Layer 1\n"
|
STR(MAGIC_KEY_LAYER1 ) ": Switch to Layer 1\n"
|
||||||
|
@ -136,11 +136,11 @@ static void command_common_help(void)
|
||||||
STR(MAGIC_KEY_LAYER9 ) ": Switch to Layer 9\n"
|
STR(MAGIC_KEY_LAYER9 ) ": Switch to Layer 9\n"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
|
#if MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
|
||||||
"F1-F10: Switch to Layer 0-9 (F10 = L0)\n"
|
"F1-F10: Switch to Layer 0-9 (F10 = L0)\n"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
|
#if MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
|
||||||
"0-9: Switch to Layer 0-9\n"
|
"0-9: Switch to Layer 0-9\n"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -251,6 +251,7 @@ static void print_status(void)
|
||||||
#ifdef BOOTMAGIC_ENABLE
|
#ifdef BOOTMAGIC_ENABLE
|
||||||
static void print_eeconfig(void)
|
static void print_eeconfig(void)
|
||||||
{
|
{
|
||||||
|
#ifndef NO_PRINT
|
||||||
print("default_layer: "); print_dec(eeconfig_read_default_layer()); print("\n");
|
print("default_layer: "); print_dec(eeconfig_read_default_layer()); print("\n");
|
||||||
|
|
||||||
debug_config_t dc;
|
debug_config_t dc;
|
||||||
|
@ -279,9 +280,12 @@ static void print_eeconfig(void)
|
||||||
print("backlight_config.raw: "); print_hex8(bc.raw); print("\n");
|
print("backlight_config.raw: "); print_hex8(bc.raw); print("\n");
|
||||||
print(".enable: "); print_dec(bc.enable); print("\n");
|
print(".enable: "); print_dec(bc.enable); print("\n");
|
||||||
print(".level: "); print_dec(bc.level); print("\n");
|
print(".level: "); print_dec(bc.level); print("\n");
|
||||||
#endif
|
#endif /* BACKLIGHT_ENABLE */
|
||||||
|
|
||||||
|
#endif /* !NO_PRINT */
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* BOOTMAGIC_ENABLE */
|
||||||
|
|
||||||
static bool command_common(uint8_t code)
|
static bool command_common(uint8_t code)
|
||||||
{
|
{
|
||||||
|
@ -305,7 +309,7 @@ static bool command_common(uint8_t code)
|
||||||
#ifdef BOOTMAGIC_ENABLE
|
#ifdef BOOTMAGIC_ENABLE
|
||||||
|
|
||||||
// print stored eeprom config
|
// print stored eeprom config
|
||||||
case MAGIC_KC(MAGIC_KEY_EEPROM):
|
case MAGIC_KC(MAGIC_KEY_EEPROM):
|
||||||
print("eeconfig:\n");
|
print("eeconfig:\n");
|
||||||
print_eeconfig();
|
print_eeconfig();
|
||||||
break;
|
break;
|
||||||
|
@ -369,7 +373,7 @@ static bool command_common(uint8_t code)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// debug matrix toggle
|
// debug matrix toggle
|
||||||
case MAGIC_KC(MAGIC_KEY_DEBUG_MATRIX):
|
case MAGIC_KC(MAGIC_KEY_DEBUG_MATRIX):
|
||||||
debug_matrix = !debug_matrix;
|
debug_matrix = !debug_matrix;
|
||||||
if (debug_matrix) {
|
if (debug_matrix) {
|
||||||
print("\nmatrix: on\n");
|
print("\nmatrix: on\n");
|
||||||
|
@ -380,7 +384,7 @@ static bool command_common(uint8_t code)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// debug keyboard toggle
|
// debug keyboard toggle
|
||||||
case MAGIC_KC(MAGIC_KEY_DEBUG_KBD):
|
case MAGIC_KC(MAGIC_KEY_DEBUG_KBD):
|
||||||
debug_keyboard = !debug_keyboard;
|
debug_keyboard = !debug_keyboard;
|
||||||
if (debug_keyboard) {
|
if (debug_keyboard) {
|
||||||
print("\nkeyboard: on\n");
|
print("\nkeyboard: on\n");
|
||||||
|
@ -551,6 +555,7 @@ static uint8_t mousekey_param = 0;
|
||||||
|
|
||||||
static void mousekey_param_print(void)
|
static void mousekey_param_print(void)
|
||||||
{
|
{
|
||||||
|
#ifndef NO_PRINT
|
||||||
print("\n\t- Values -\n");
|
print("\n\t- Values -\n");
|
||||||
print("1: delay(*10ms): "); pdec(mk_delay); print("\n");
|
print("1: delay(*10ms): "); pdec(mk_delay); print("\n");
|
||||||
print("2: interval(ms): "); pdec(mk_interval); print("\n");
|
print("2: interval(ms): "); pdec(mk_interval); print("\n");
|
||||||
|
@ -558,6 +563,8 @@ static void mousekey_param_print(void)
|
||||||
print("4: time_to_max: "); pdec(mk_time_to_max); print("\n");
|
print("4: time_to_max: "); pdec(mk_time_to_max); print("\n");
|
||||||
print("5: wheel_max_speed: "); pdec(mk_wheel_max_speed); print("\n");
|
print("5: wheel_max_speed: "); pdec(mk_wheel_max_speed); print("\n");
|
||||||
print("6: wheel_time_to_max: "); pdec(mk_wheel_time_to_max); print("\n");
|
print("6: wheel_time_to_max: "); pdec(mk_wheel_time_to_max); print("\n");
|
||||||
|
#endif /* !NO_PRINT */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//#define PRINT_SET_VAL(v) print(#v " = "); print_dec(v); print("\n");
|
//#define PRINT_SET_VAL(v) print(#v " = "); print_dec(v); print("\n");
|
||||||
|
@ -677,7 +684,7 @@ static void mousekey_console_help(void)
|
||||||
"pgdown: -10\n"
|
"pgdown: -10\n"
|
||||||
"\n"
|
"\n"
|
||||||
"speed = delta * max_speed * (repeat / time_to_max)\n");
|
"speed = delta * max_speed * (repeat / time_to_max)\n");
|
||||||
xprintf("where delta: cursor=%d, wheel=%d\n"
|
xprintf("where delta: cursor=%d, wheel=%d\n"
|
||||||
"See http://en.wikipedia.org/wiki/Mouse_keys\n", MOUSEKEY_MOVE_DELTA, MOUSEKEY_WHEEL_DELTA);
|
"See http://en.wikipedia.org/wiki/Mouse_keys\n", MOUSEKEY_MOVE_DELTA, MOUSEKEY_WHEEL_DELTA);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,17 +2,17 @@
|
||||||
/* Very basic print functions, intended to be used with usb_debug_only.c
|
/* Very basic print functions, intended to be used with usb_debug_only.c
|
||||||
* http://www.pjrc.com/teensy/
|
* http://www.pjrc.com/teensy/
|
||||||
* Copyright (c) 2008 PJRC.COM, LLC
|
* Copyright (c) 2008 PJRC.COM, LLC
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
* in the Software without restriction, including without limitation the rights
|
* in the Software without restriction, including without limitation the rights
|
||||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
* copies of the Software, and to permit persons to whom the Software is
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
* furnished to do so, subject to the following conditions:
|
* furnished to do so, subject to the following conditions:
|
||||||
*
|
*
|
||||||
* The above copyright notice and this permission notice shall be included in
|
* The above copyright notice and this permission notice shall be included in
|
||||||
* all copies or substantial portions of the Software.
|
* all copies or substantial portions of the Software.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
@ -91,9 +91,9 @@ void print_set_sendchar(int8_t (*print_sendchar_func)(uint8_t));
|
||||||
|
|
||||||
#else /* NO_PRINT */
|
#else /* NO_PRINT */
|
||||||
|
|
||||||
#define xprintf
|
#define xprintf(fmt, ...)
|
||||||
#define print
|
#define print(s)
|
||||||
#define println
|
#define println(s)
|
||||||
#define print_set_sendchar(func)
|
#define print_set_sendchar(func)
|
||||||
#define print_dec(data)
|
#define print_dec(data)
|
||||||
#define print_decs(data)
|
#define print_decs(data)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012 Jun Wako <wakojun@gmail.com>
|
* Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||||
* This file is based on:
|
* This file is based on:
|
||||||
* LUFA-120219/Demos/Device/Lowlevel/KeyboardMouse
|
* LUFA-120219/Demos/Device/Lowlevel/KeyboardMouse
|
||||||
|
@ -152,10 +152,10 @@ static void Console_Task(void)
|
||||||
{
|
{
|
||||||
/* Create a temporary buffer to hold the read in report from the host */
|
/* Create a temporary buffer to hold the read in report from the host */
|
||||||
uint8_t ConsoleData[CONSOLE_EPSIZE];
|
uint8_t ConsoleData[CONSOLE_EPSIZE];
|
||||||
|
|
||||||
/* Read Console Report Data */
|
/* Read Console Report Data */
|
||||||
Endpoint_Read_Stream_LE(&ConsoleData, sizeof(ConsoleData), NULL);
|
Endpoint_Read_Stream_LE(&ConsoleData, sizeof(ConsoleData), NULL);
|
||||||
|
|
||||||
/* Process Console Report Data */
|
/* Process Console Report Data */
|
||||||
//ProcessConsoleHIDReport(ConsoleData);
|
//ProcessConsoleHIDReport(ConsoleData);
|
||||||
}
|
}
|
||||||
|
@ -183,10 +183,6 @@ static void Console_Task(void)
|
||||||
|
|
||||||
Endpoint_SelectEndpoint(ep);
|
Endpoint_SelectEndpoint(ep);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
static void Console_Task(void)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -216,7 +212,7 @@ void EVENT_USB_Device_Disconnect(void)
|
||||||
print("[D]");
|
print("[D]");
|
||||||
/* For battery powered device */
|
/* For battery powered device */
|
||||||
USB_IsInitialized = false;
|
USB_IsInitialized = false;
|
||||||
/* TODO: This doesn't work. After several plug in/outs can not be enumerated.
|
/* TODO: This doesn't work. After several plug in/outs can not be enumerated.
|
||||||
if (USB_IsInitialized) {
|
if (USB_IsInitialized) {
|
||||||
USB_Disable(); // Disable all interrupts
|
USB_Disable(); // Disable all interrupts
|
||||||
USB_Controller_Enable();
|
USB_Controller_Enable();
|
||||||
|
@ -313,7 +309,7 @@ void EVENT_USB_Device_ConfigurationChanged(void)
|
||||||
|
|
||||||
#ifdef MIDI_ENABLE
|
#ifdef MIDI_ENABLE
|
||||||
ConfigSuccess &= Endpoint_ConfigureEndpoint(MIDI_STREAM_IN_EPADDR, EP_TYPE_BULK, MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE);
|
ConfigSuccess &= Endpoint_ConfigureEndpoint(MIDI_STREAM_IN_EPADDR, EP_TYPE_BULK, MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||||
ConfigSuccess &= Endpoint_ConfigureEndpoint(MIDI_STREAM_OUT_EPADDR, EP_TYPE_BULK, MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE);
|
ConfigSuccess &= Endpoint_ConfigureEndpoint(MIDI_STREAM_OUT_EPADDR, EP_TYPE_BULK, MIDI_STREAM_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -439,7 +435,7 @@ void EVENT_USB_Device_ControlRequest(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Host driver
|
* Host driver
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
static uint8_t keyboard_leds(void)
|
static uint8_t keyboard_leds(void)
|
||||||
{
|
{
|
||||||
|
@ -563,7 +559,7 @@ static void send_consumer(uint16_t data)
|
||||||
bluefruit_serial_send(0x00);
|
bluefruit_serial_send(0x00);
|
||||||
bluefruit_serial_send(0x02);
|
bluefruit_serial_send(0x02);
|
||||||
bluefruit_serial_send((bitmap>>8)&0xFF);
|
bluefruit_serial_send((bitmap>>8)&0xFF);
|
||||||
bluefruit_serial_send(bitmap&0xFF);
|
bluefruit_serial_send(bitmap&0xFF);
|
||||||
bluefruit_serial_send(0x00);
|
bluefruit_serial_send(0x00);
|
||||||
bluefruit_serial_send(0x00);
|
bluefruit_serial_send(0x00);
|
||||||
bluefruit_serial_send(0x00);
|
bluefruit_serial_send(0x00);
|
||||||
|
|
Loading…
Reference in a new issue