@ -67,10 +67,11 @@
# endif
# endif
# ifdef BLUETOOTH_ENABLE
# ifdef BLUETOOTH_ENABLE
# include "bluetooth.h"
# ifdef MODULE_ADAFRUIT_BLE
# endif
# ifdef ADAFRUIT_BLE_ENABLE
# include "adafruit_ble.h"
# include "adafruit_ble.h"
# else
# include "bluetooth.h"
# endif
# endif
# endif
# ifdef VIRTSER_ENABLE
# ifdef VIRTSER_ENABLE
@ -602,18 +603,14 @@ static void send_keyboard(report_keyboard_t *report)
uint8_t where = where_to_send ( ) ;
uint8_t where = where_to_send ( ) ;
# ifdef BLUETOOTH_ENABLE
# ifdef BLUETOOTH_ENABLE
if ( where = = OUTPUT_BLUETOOTH | | where = = OUTPUT_USB_AND_BT ) {
# ifdef MODULE_ADAFRUIT_BLE
bluefruit_serial_send ( 0xFD ) ;
adafruit_ble_send_keys ( report - > mods , report - > keys , sizeof ( report - > keys ) ) ;
for ( uint8_t i = 0 ; i < KEYBOARD_EPSIZE ; i + + ) {
# else
bluefruit_serial_send ( report - > raw [ i ] ) ;
bluefruit_serial_send ( 0xFD ) ;
}
for ( uint8_t i = 0 ; i < KEYBOARD_EPSIZE ; i + + ) {
}
bluefruit_serial_send ( report - > raw [ i ] ) ;
# endif
# ifdef ADAFRUIT_BLE_ENABLE
if ( where = = OUTPUT_ADAFRUIT_BLE ) {
adafruit_ble_send_keys ( report - > mods , report - > keys , sizeof ( report - > keys ) ) ;
}
}
# endif
# endif
# endif
if ( where ! = OUTPUT_USB & & where ! = OUTPUT_USB_AND_BT ) {
if ( where ! = OUTPUT_USB & & where ! = OUTPUT_USB_AND_BT ) {
@ -660,24 +657,22 @@ static void send_mouse(report_mouse_t *report)
uint8_t where = where_to_send ( ) ;
uint8_t where = where_to_send ( ) ;
# ifdef BLUETOOTH_ENABLE
# ifdef BLUETOOTH_ENABLE
if ( where = = OUTPUT_BLUETOOTH | | where = = OUTPUT_USB_AND_BT ) {
if ( where = = OUTPUT_BLUETOOTH | | where = = OUTPUT_USB_AND_BT ) {
bluefruit_serial_send ( 0xFD ) ;
# ifdef MODULE_ADAFRUIT_BLE
bluefruit_serial_send ( 0x00 ) ;
bluefruit_serial_send ( 0x03 ) ;
bluefruit_serial_send ( report - > buttons ) ;
bluefruit_serial_send ( report - > x ) ;
bluefruit_serial_send ( report - > y ) ;
bluefruit_serial_send ( report - > v ) ; // should try sending the wheel v here
bluefruit_serial_send ( report - > h ) ; // should try sending the wheel h here
bluefruit_serial_send ( 0x00 ) ;
}
# endif
# ifdef ADAFRUIT_BLE_ENABLE
if ( where = = OUTPUT_ADAFRUIT_BLE ) {
// FIXME: mouse buttons
// FIXME: mouse buttons
adafruit_ble_send_mouse_move ( report - > x , report - > y , report - > v , report - > h ) ;
adafruit_ble_send_mouse_move ( report - > x , report - > y , report - > v , report - > h ) ;
}
# else
bluefruit_serial_send ( 0xFD ) ;
bluefruit_serial_send ( 0x00 ) ;
bluefruit_serial_send ( 0x03 ) ;
bluefruit_serial_send ( report - > buttons ) ;
bluefruit_serial_send ( report - > x ) ;
bluefruit_serial_send ( report - > y ) ;
bluefruit_serial_send ( report - > v ) ; // should try sending the wheel v here
bluefruit_serial_send ( report - > h ) ; // should try sending the wheel h here
bluefruit_serial_send ( 0x00 ) ;
# endif
}
# endif
# endif
if ( where ! = OUTPUT_USB & & where ! = OUTPUT_USB_AND_BT ) {
if ( where ! = OUTPUT_USB & & where ! = OUTPUT_USB_AND_BT ) {
@ -727,6 +722,9 @@ static void send_consumer(uint16_t data)
# ifdef BLUETOOTH_ENABLE
# ifdef BLUETOOTH_ENABLE
if ( where = = OUTPUT_BLUETOOTH | | where = = OUTPUT_USB_AND_BT ) {
if ( where = = OUTPUT_BLUETOOTH | | where = = OUTPUT_USB_AND_BT ) {
# ifdef MODULE_ADAFRUIT_BLE
adafruit_ble_send_consumer_key ( data , 0 ) ;
# else
static uint16_t last_data = 0 ;
static uint16_t last_data = 0 ;
if ( data = = last_data ) return ;
if ( data = = last_data ) return ;
last_data = data ;
last_data = data ;
@ -740,12 +738,7 @@ static void send_consumer(uint16_t data)
bluefruit_serial_send ( 0x00 ) ;
bluefruit_serial_send ( 0x00 ) ;
bluefruit_serial_send ( 0x00 ) ;
bluefruit_serial_send ( 0x00 ) ;
bluefruit_serial_send ( 0x00 ) ;
bluefruit_serial_send ( 0x00 ) ;
}
# endif
# endif
# ifdef ADAFRUIT_BLE_ENABLE
if ( where = = OUTPUT_ADAFRUIT_BLE ) {
adafruit_ble_send_consumer_key ( data , 0 ) ;
}
}
# endif
# endif
@ -1130,10 +1123,6 @@ int main(void)
// midi_send_noteoff(&midi_device, 0, 64, 127);
// midi_send_noteoff(&midi_device, 0, 64, 127);
# endif
# endif
# ifdef BLUETOOTH_ENABLE
serial_init ( ) ;
# endif
/* wait for USB startup & debug output */
/* wait for USB startup & debug output */
# ifdef WAIT_FOR_USB
# ifdef WAIT_FOR_USB
@ -1161,7 +1150,7 @@ int main(void)
print ( " Keyboard start. \n " ) ;
print ( " Keyboard start. \n " ) ;
while ( 1 ) {
while ( 1 ) {
# if !defined(BLUETOOTH_ENABLE) && !defined(ADAFRUIT_BLE_ENABLE)
# if !defined(BLUETOOTH_ENABLE)
while ( USB_DeviceState = = DEVICE_STATE_Suspended ) {
while ( USB_DeviceState = = DEVICE_STATE_Suspended ) {
print ( " [s] " ) ;
print ( " [s] " ) ;
suspend_power_down ( ) ;
suspend_power_down ( ) ;
@ -1182,7 +1171,11 @@ int main(void)
rgblight_task ( ) ;
rgblight_task ( ) ;
# endif
# endif
# ifdef ADAFRUIT_BLE_ENABLE
# ifdef MODULE_ADAFRUIT_EZKEY
serial_init ( ) ;
# endif
# ifdef MODULE_ADAFRUIT_BLE
adafruit_ble_task ( ) ;
adafruit_ble_task ( ) ;
# endif
# endif