USB-USB converter cleanup (#16618)
This commit is contained in:
		
							parent
							
								
									8fe3864fe7
								
							
						
					
					
						commit
						df3770551a
					
				
					 11 changed files with 41 additions and 169 deletions
				
			
		| 
						 | 
					@ -1,3 +1,3 @@
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					#include "usb_usb.h"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,13 +1,6 @@
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#undef PRODUCT
 | 
					#undef PRODUCT
 | 
				
			||||||
#define PRODUCT         QMK BLE Adapter
 | 
					#define PRODUCT QMK BLE Adapter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Turn off the mode leds on the BLE module
 | 
					 | 
				
			||||||
#define BLUEFRUIT_LE_ENABLE_MODE_LEDS 0
 | 
					 | 
				
			||||||
#define BLUEFRUIT_LE_ENABLE_POWER_LED 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define NO_ACTION_MACRO
 | 
					 | 
				
			||||||
#define NO_ACTION_FUNCTION
 | 
					 | 
				
			||||||
#define NO_ACTION_ONESHOT
 | 
					#define NO_ACTION_ONESHOT
 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,14 +17,3 @@ Part list:
 | 
				
			||||||
* [Pololu 5V Step-Up Voltage Regulator U3V12F5](https://www.pololu.com/product/2115)
 | 
					* [Pololu 5V Step-Up Voltage Regulator U3V12F5](https://www.pololu.com/product/2115)
 | 
				
			||||||
* [Lithium Ion Battery - 3.7v 2000mAh](https://www.adafruit.com/product/2011)
 | 
					* [Lithium Ion Battery - 3.7v 2000mAh](https://www.adafruit.com/product/2011)
 | 
				
			||||||
* Some sort of switch to be able to turn it off
 | 
					* Some sort of switch to be able to turn it off
 | 
				
			||||||
 | 
					 | 
				
			||||||
Building and Flashing
 | 
					 | 
				
			||||||
---------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
make converter-usb_usb-ble
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
make converter-usb_usb-ble-avrdude
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,17 +1,7 @@
 | 
				
			||||||
# Processor frequency
 | 
					# Processor frequency
 | 
				
			||||||
F_CPU = 8000000
 | 
					F_CPU = 8000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 | 
					EXTRAKEY_ENABLE = no
 | 
				
			||||||
MOUSEKEY_ENABLE = no       # Mouse keys
 | 
					 | 
				
			||||||
EXTRAKEY_ENABLE = no       # Audio control and System control
 | 
					 | 
				
			||||||
CONSOLE_ENABLE = no        # Console for debug
 | 
					 | 
				
			||||||
COMMAND_ENABLE = no        # Commands for debug and configuration
 | 
					 | 
				
			||||||
NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
					 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
					 | 
				
			||||||
AUDIO_ENABLE = no           # Audio output
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
BLUETOOTH_ENABLE = yes
 | 
					BLUETOOTH_ENABLE = yes
 | 
				
			||||||
BLUETOOTH_DRIVER = BluefruitLE
 | 
					BLUETOOTH_DRIVER = BluefruitLE
 | 
				
			||||||
 | 
					 | 
				
			||||||
LTO_ENABLE = yes
 | 
					LTO_ENABLE = yes
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,6 +17,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "config_common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* USB Device descriptor parameter */
 | 
					/* USB Device descriptor parameter */
 | 
				
			||||||
#define VENDOR_ID       0xFEED
 | 
					#define VENDOR_ID       0xFEED
 | 
				
			||||||
#define PRODUCT_ID      0x005B
 | 
					#define PRODUCT_ID      0x005B
 | 
				
			||||||
| 
						 | 
					@ -43,5 +45,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
//#define NO_ACTION_LAYER
 | 
					//#define NO_ACTION_LAYER
 | 
				
			||||||
//#define NO_ACTION_TAPPING
 | 
					//#define NO_ACTION_TAPPING
 | 
				
			||||||
//#define NO_ACTION_ONESHOT
 | 
					//#define NO_ACTION_ONESHOT
 | 
				
			||||||
//#define NO_ACTION_MACRO
 | 
					 | 
				
			||||||
//#define NO_ACTION_FUNCTION
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -58,36 +58,31 @@ extern "C" {
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#define ROW_MASK 0xF0
 | 
					#define ROW_MASK 0xF0
 | 
				
			||||||
#define COL_MASK 0x0F
 | 
					#define COL_MASK 0x0F
 | 
				
			||||||
#define CODE(row, col)  (((row) << 4) | (col))
 | 
					#define CODE(row, col) (((row) << 4) | (col))
 | 
				
			||||||
#define ROW(code)       (((code) & ROW_MASK) >> 4)
 | 
					#define ROW(code)      (((code) & ROW_MASK) >> 4)
 | 
				
			||||||
#define COL(code)       ((code) & COL_MASK)
 | 
					#define COL(code)      ((code) & COL_MASK)
 | 
				
			||||||
#define ROW_BITS(code)  (1 << COL(code))
 | 
					#define ROW_BITS(code) (1 << COL(code))
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Integrated key state of all keyboards
 | 
					// Integrated key state of all keyboards
 | 
				
			||||||
static report_keyboard_t local_keyboard_report;
 | 
					static report_keyboard_t local_keyboard_report;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static bool matrix_is_mod = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * USB Host Shield HID keyboards
 | 
					 * USB Host Shield HID keyboards
 | 
				
			||||||
 * This supports two cascaded hubs and four keyboards
 | 
					 * This supports two cascaded hubs and four keyboards
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
USB usb_host;
 | 
					USB usb_host;
 | 
				
			||||||
HIDBoot<HID_PROTOCOL_KEYBOARD>    kbd1(&usb_host);
 | 
					USBHub hub1(&usb_host);
 | 
				
			||||||
HIDBoot<HID_PROTOCOL_KEYBOARD>    kbd2(&usb_host);
 | 
					USBHub hub2(&usb_host);
 | 
				
			||||||
HIDBoot<HID_PROTOCOL_KEYBOARD>    kbd3(&usb_host);
 | 
					HIDBoot<HID_PROTOCOL_KEYBOARD> kbd1(&usb_host);
 | 
				
			||||||
HIDBoot<HID_PROTOCOL_KEYBOARD>    kbd4(&usb_host);
 | 
					HIDBoot<HID_PROTOCOL_KEYBOARD> kbd2(&usb_host);
 | 
				
			||||||
 | 
					HIDBoot<HID_PROTOCOL_KEYBOARD> kbd3(&usb_host);
 | 
				
			||||||
 | 
					HIDBoot<HID_PROTOCOL_KEYBOARD> kbd4(&usb_host);
 | 
				
			||||||
KBDReportParser kbd_parser1;
 | 
					KBDReportParser kbd_parser1;
 | 
				
			||||||
KBDReportParser kbd_parser2;
 | 
					KBDReportParser kbd_parser2;
 | 
				
			||||||
KBDReportParser kbd_parser3;
 | 
					KBDReportParser kbd_parser3;
 | 
				
			||||||
KBDReportParser kbd_parser4;
 | 
					KBDReportParser kbd_parser4;
 | 
				
			||||||
USBHub hub1(&usb_host);
 | 
					 | 
				
			||||||
USBHub hub2(&usb_host);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern "C" {
 | 
				
			||||||
extern "C"
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    uint8_t matrix_rows(void) { return MATRIX_ROWS; }
 | 
					    uint8_t matrix_rows(void) { return MATRIX_ROWS; }
 | 
				
			||||||
    uint8_t matrix_cols(void) { return MATRIX_COLS; }
 | 
					    uint8_t matrix_cols(void) { return MATRIX_COLS; }
 | 
				
			||||||
    bool matrix_has_ghost(void) { return false; }
 | 
					    bool matrix_has_ghost(void) { return false; }
 | 
				
			||||||
| 
						 | 
					@ -135,6 +130,7 @@ extern "C"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    uint8_t matrix_scan(void) {
 | 
					    uint8_t matrix_scan(void) {
 | 
				
			||||||
 | 
					        bool changed = false;
 | 
				
			||||||
        static uint16_t last_time_stamp1 = 0;
 | 
					        static uint16_t last_time_stamp1 = 0;
 | 
				
			||||||
        static uint16_t last_time_stamp2 = 0;
 | 
					        static uint16_t last_time_stamp2 = 0;
 | 
				
			||||||
        static uint16_t last_time_stamp3 = 0;
 | 
					        static uint16_t last_time_stamp3 = 0;
 | 
				
			||||||
| 
						 | 
					@ -158,15 +154,13 @@ extern "C"
 | 
				
			||||||
            or_report(kbd_parser3.report);
 | 
					            or_report(kbd_parser3.report);
 | 
				
			||||||
            or_report(kbd_parser4.report);
 | 
					            or_report(kbd_parser4.report);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            matrix_is_mod = true;
 | 
					            changed = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            dprintf("state:  %02X %02X", local_keyboard_report.mods, local_keyboard_report.reserved);
 | 
					            dprintf("state:  %02X %02X", local_keyboard_report.mods, local_keyboard_report.reserved);
 | 
				
			||||||
            for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
 | 
					            for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
 | 
				
			||||||
                dprintf(" %02X", local_keyboard_report.keys[i]);
 | 
					                dprintf(" %02X", local_keyboard_report.keys[i]);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            dprint("\r\n");
 | 
					            dprint("\r\n");
 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            matrix_is_mod = false;
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        uint16_t timer;
 | 
					        uint16_t timer;
 | 
				
			||||||
| 
						 | 
					@ -189,7 +183,7 @@ extern "C"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        matrix_scan_quantum();
 | 
					        matrix_scan_quantum();
 | 
				
			||||||
        return 1;
 | 
					        return changed;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool matrix_is_on(uint8_t row, uint8_t col) {
 | 
					    bool matrix_is_on(uint8_t row, uint8_t col) {
 | 
				
			||||||
| 
						 | 
					@ -234,13 +228,11 @@ extern "C"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void led_set(uint8_t usb_led)
 | 
					    void led_set(uint8_t usb_led) {
 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        if (kbd1.isReady()) kbd1.SetReport(0, 0, 2, 0, 1, &usb_led);
 | 
					        if (kbd1.isReady()) kbd1.SetReport(0, 0, 2, 0, 1, &usb_led);
 | 
				
			||||||
        if (kbd2.isReady()) kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
 | 
					        if (kbd2.isReady()) kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
 | 
				
			||||||
        if (kbd3.isReady()) kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
 | 
					        if (kbd3.isReady()) kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
 | 
				
			||||||
        if (kbd4.isReady()) kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
 | 
					        if (kbd4.isReady()) kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
 | 
				
			||||||
        led_set_kb(usb_led);
 | 
					        led_set_kb(usb_led);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,3 @@
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					#include "usb_usb.h"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,102 +0,0 @@
 | 
				
			||||||
#include <avr/io.h>
 | 
					 | 
				
			||||||
#include <avr/wdt.h>
 | 
					 | 
				
			||||||
#include <avr/power.h>
 | 
					 | 
				
			||||||
#include <util/delay.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// LUFA
 | 
					 | 
				
			||||||
#include "lufa.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "sendchar.h"
 | 
					 | 
				
			||||||
#include "debug.h"
 | 
					 | 
				
			||||||
#include "keyboard.h"
 | 
					 | 
				
			||||||
#include "led.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* LED ping configuration */
 | 
					 | 
				
			||||||
#define TMK_LED
 | 
					 | 
				
			||||||
//#define LEONARDO_LED
 | 
					 | 
				
			||||||
#if defined(TMK_LED)
 | 
					 | 
				
			||||||
// For TMK converter and Teensy
 | 
					 | 
				
			||||||
#define LED_TX_INIT    (DDRD  |=  (1<<6))
 | 
					 | 
				
			||||||
#define LED_TX_ON      (PORTD |=  (1<<6))
 | 
					 | 
				
			||||||
#define LED_TX_OFF     (PORTD &= ~(1<<6))
 | 
					 | 
				
			||||||
#define LED_TX_TOGGLE  (PORTD ^=  (1<<6))
 | 
					 | 
				
			||||||
#elif defined(LEONARDO_LED)
 | 
					 | 
				
			||||||
// For Leonardo(TX LED)
 | 
					 | 
				
			||||||
#define LED_TX_INIT    (DDRD  |=  (1<<5))
 | 
					 | 
				
			||||||
#define LED_TX_ON      (PORTD &= ~(1<<5))
 | 
					 | 
				
			||||||
#define LED_TX_OFF     (PORTD |=  (1<<5))
 | 
					 | 
				
			||||||
#define LED_TX_TOGGLE  (PORTD ^=  (1<<5))
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
#define LED_TX_INIT
 | 
					 | 
				
			||||||
#define LED_TX_ON
 | 
					 | 
				
			||||||
#define LED_TX_OFF
 | 
					 | 
				
			||||||
#define LED_TX_TOGGLE
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static void LUFA_setup(void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    /* Disable watchdog if enabled by bootloader/fuses */
 | 
					 | 
				
			||||||
    MCUSR &= ~(1 << WDRF);
 | 
					 | 
				
			||||||
    wdt_disable();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* Disable clock division */
 | 
					 | 
				
			||||||
#if (F_CPU == 8000000)
 | 
					 | 
				
			||||||
    clock_prescale_set(clock_div_2);    // 16MHz crystal divided by 2
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
    clock_prescale_set(clock_div_1);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Leonardo needs. Without this USB device is not recognized.
 | 
					 | 
				
			||||||
    USB_Disable();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    USB_Init();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // for Console_Task
 | 
					 | 
				
			||||||
    USB_Device_EnableSOFEvents();
 | 
					 | 
				
			||||||
    print_set_sendchar(sendchar);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int main(void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    // LED for debug
 | 
					 | 
				
			||||||
    LED_TX_INIT;
 | 
					 | 
				
			||||||
    LED_TX_ON;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    debug_enable = true;
 | 
					 | 
				
			||||||
    debug_keyboard = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    host_set_driver(&lufa_driver);
 | 
					 | 
				
			||||||
    keyboard_init();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    LUFA_setup();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* NOTE: Don't insert time consuming job here.
 | 
					 | 
				
			||||||
     * It'll cause unclear initialization failure when DFU reset(worm start).
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    sei();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Some keyboards bootup quickly and cannot be initialized with this startup wait.
 | 
					 | 
				
			||||||
    // wait for startup of sendchar routine
 | 
					 | 
				
			||||||
    while (USB_DeviceState != DEVICE_STATE_Configured) ;
 | 
					 | 
				
			||||||
    if (debug_enable) {
 | 
					 | 
				
			||||||
        _delay_ms(1000);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    debug("init: done\n");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    for (;;) {
 | 
					 | 
				
			||||||
        keyboard_task();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#if !defined(INTERRUPT_CONTROL_ENDPOINT)
 | 
					 | 
				
			||||||
        // LUFA Task for control request
 | 
					 | 
				
			||||||
        USB_USBTask();
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,3 @@
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					#include "usb_usb.h"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,15 +8,17 @@ BOOTLOADER = caterina
 | 
				
			||||||
#   change yes to no to disable
 | 
					#   change yes to no to disable
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 | 
					BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 | 
				
			||||||
#MOUSEKEY_ENABLE  = yes  # Mouse keys
 | 
					MOUSEKEY_ENABLE = no        # Mouse keys
 | 
				
			||||||
EXTRAKEY_ENABLE  = yes  # Audio control and System control
 | 
					EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
				
			||||||
#CONSOLE_ENABLE   = yes  # Console for debug
 | 
					CONSOLE_ENABLE = no         # Console for debug
 | 
				
			||||||
#COMMAND_ENABLE   = yes  # Commands for debug and configuration
 | 
					COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
				
			||||||
NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
					NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
				
			||||||
#BACKLIGHT_ENABLE = yes
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
USB_HID_ENABLE   = yes
 | 
					RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
				
			||||||
CUSTOM_MATRIX    = yes
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
 | 
					USB_HID_ENABLE = yes
 | 
				
			||||||
 | 
					CUSTOM_MATRIX = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SRC = custom_matrix.cpp
 | 
					SRC += custom_matrix.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEFAULT_FOLDER = converter/usb_usb/hasu
 | 
					DEFAULT_FOLDER = converter/usb_usb/hasu
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "quantum.h"
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(KEYBOARD_converter_usb_usb_ble)
 | 
				
			||||||
 | 
					#    include "ble.h"
 | 
				
			||||||
 | 
					#elif defined(KEYBOARD_converter_usb_usb_hasu)
 | 
				
			||||||
 | 
					#    include "hasu.h"
 | 
				
			||||||
 | 
					#elif defined(KEYBOARD_converter_usb_usb_pro_micro)
 | 
				
			||||||
 | 
					#    include "pro_micro.h"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define XXX KC_NO
 | 
					#define XXX KC_NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ______ KC_TRNS
 | 
					#define ______ KC_TRNS
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue