Remove support for Adafruit EZ-Key (#10103)
* Remove support for Adafruit EZ-Key * Update docs/ja/feature_bluetooth.md Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									15df82cdf3
								
							
						
					
					
						commit
						0f596881b3
					
				
					 11 changed files with 68 additions and 220 deletions
				
			
		| 
						 | 
				
			
			@ -69,7 +69,7 @@ extern keymap_config_t keymap_config;
 | 
			
		|||
#    ifdef MODULE_ADAFRUIT_BLE
 | 
			
		||||
#        include "adafruit_ble.h"
 | 
			
		||||
#    else
 | 
			
		||||
#        include "bluetooth.h"
 | 
			
		||||
#        include "../serial.h"
 | 
			
		||||
#    endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -89,6 +89,46 @@ extern keymap_config_t keymap_config;
 | 
			
		|||
#    include "joystick.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// https://cdn.sparkfun.com/datasheets/Wireless/Bluetooth/bluetooth_cr_UG-v1.0r.pdf#G7.663734
 | 
			
		||||
static inline uint16_t CONSUMER2RN42(uint16_t usage) {
 | 
			
		||||
    switch (usage) {
 | 
			
		||||
        case AC_HOME:
 | 
			
		||||
            return 0x0001;
 | 
			
		||||
        case AL_EMAIL:
 | 
			
		||||
            return 0x0002;
 | 
			
		||||
        case AC_SEARCH:
 | 
			
		||||
            return 0x0004;
 | 
			
		||||
        case AL_KEYBOARD_LAYOUT:
 | 
			
		||||
            return 0x0008;
 | 
			
		||||
        case AUDIO_VOL_UP:
 | 
			
		||||
            return 0x0010;
 | 
			
		||||
        case AUDIO_VOL_DOWN:
 | 
			
		||||
            return 0x0020;
 | 
			
		||||
        case AUDIO_MUTE:
 | 
			
		||||
            return 0x0040;
 | 
			
		||||
        case TRANSPORT_PLAY_PAUSE:
 | 
			
		||||
            return 0x0080;
 | 
			
		||||
        case TRANSPORT_NEXT_TRACK:
 | 
			
		||||
            return 0x0100;
 | 
			
		||||
        case TRANSPORT_PREV_TRACK:
 | 
			
		||||
            return 0x0200;
 | 
			
		||||
        case TRANSPORT_STOP:
 | 
			
		||||
            return 0x0400;
 | 
			
		||||
        case TRANSPORT_EJECT:
 | 
			
		||||
            return 0x0800;
 | 
			
		||||
        case TRANSPORT_FAST_FORWARD:
 | 
			
		||||
            return 0x1000;
 | 
			
		||||
        case TRANSPORT_REWIND:
 | 
			
		||||
            return 0x2000;
 | 
			
		||||
        case TRANSPORT_STOP_EJECT:
 | 
			
		||||
            return 0x4000;
 | 
			
		||||
        case AL_LOCAL_BROWSER:
 | 
			
		||||
            return 0x8000;
 | 
			
		||||
        default:
 | 
			
		||||
            return 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
uint8_t keyboard_idle = 0;
 | 
			
		||||
/* 0: Boot Protocol, 1: Report Protocol(default) */
 | 
			
		||||
uint8_t        keyboard_protocol  = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -631,20 +671,13 @@ static void send_keyboard(report_keyboard_t *report) {
 | 
			
		|||
#    ifdef MODULE_ADAFRUIT_BLE
 | 
			
		||||
        adafruit_ble_send_keys(report->mods, report->keys, sizeof(report->keys));
 | 
			
		||||
#    elif MODULE_RN42
 | 
			
		||||
        bluefruit_serial_send(0xFD);
 | 
			
		||||
        bluefruit_serial_send(0x09);
 | 
			
		||||
        bluefruit_serial_send(0x01);
 | 
			
		||||
        bluefruit_serial_send(report->mods);
 | 
			
		||||
        bluefruit_serial_send(report->reserved);
 | 
			
		||||
        serial_send(0xFD);
 | 
			
		||||
        serial_send(0x09);
 | 
			
		||||
        serial_send(0x01);
 | 
			
		||||
        serial_send(report->mods);
 | 
			
		||||
        serial_send(report->reserved);
 | 
			
		||||
        for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
 | 
			
		||||
            bluefruit_serial_send(report->keys[i]);
 | 
			
		||||
        }
 | 
			
		||||
#    else
 | 
			
		||||
        bluefruit_serial_send(0xFD);
 | 
			
		||||
        bluefruit_serial_send(report->mods);
 | 
			
		||||
        bluefruit_serial_send(report->reserved);
 | 
			
		||||
        for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
 | 
			
		||||
            bluefruit_serial_send(report->keys[i]);
 | 
			
		||||
            serial_send(report->keys[i]);
 | 
			
		||||
        }
 | 
			
		||||
#    endif
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -697,15 +730,15 @@ static void send_mouse(report_mouse_t *report) {
 | 
			
		|||
        // FIXME: mouse buttons
 | 
			
		||||
        adafruit_ble_send_mouse_move(report->x, report->y, report->v, report->h, report->buttons);
 | 
			
		||||
#        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);
 | 
			
		||||
        serial_send(0xFD);
 | 
			
		||||
        serial_send(0x00);
 | 
			
		||||
        serial_send(0x03);
 | 
			
		||||
        serial_send(report->buttons);
 | 
			
		||||
        serial_send(report->x);
 | 
			
		||||
        serial_send(report->y);
 | 
			
		||||
        serial_send(report->v);  // should try sending the wheel v here
 | 
			
		||||
        serial_send(report->h);  // should try sending the wheel h here
 | 
			
		||||
        serial_send(0x00);
 | 
			
		||||
#        endif
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -778,25 +811,11 @@ static void send_consumer(uint16_t data) {
 | 
			
		|||
        if (data == last_data) return;
 | 
			
		||||
        last_data       = data;
 | 
			
		||||
        uint16_t bitmap = CONSUMER2RN42(data);
 | 
			
		||||
        bluefruit_serial_send(0xFD);
 | 
			
		||||
        bluefruit_serial_send(0x03);
 | 
			
		||||
        bluefruit_serial_send(0x03);
 | 
			
		||||
        bluefruit_serial_send(bitmap & 0xFF);
 | 
			
		||||
        bluefruit_serial_send((bitmap >> 8) & 0xFF);
 | 
			
		||||
#        else
 | 
			
		||||
        static uint16_t last_data = 0;
 | 
			
		||||
        if (data == last_data) return;
 | 
			
		||||
        last_data       = data;
 | 
			
		||||
        uint16_t bitmap = CONSUMER2BLUEFRUIT(data);
 | 
			
		||||
        bluefruit_serial_send(0xFD);
 | 
			
		||||
        bluefruit_serial_send(0x00);
 | 
			
		||||
        bluefruit_serial_send(0x02);
 | 
			
		||||
        bluefruit_serial_send(bitmap & 0xFF);
 | 
			
		||||
        bluefruit_serial_send((bitmap >> 8) & 0xFF);
 | 
			
		||||
        bluefruit_serial_send(0x00);
 | 
			
		||||
        bluefruit_serial_send(0x00);
 | 
			
		||||
        bluefruit_serial_send(0x00);
 | 
			
		||||
        bluefruit_serial_send(0x00);
 | 
			
		||||
        serial_send(0xFD);
 | 
			
		||||
        serial_send(0x03);
 | 
			
		||||
        serial_send(0x03);
 | 
			
		||||
        serial_send(bitmap & 0xFF);
 | 
			
		||||
        serial_send((bitmap >> 8) & 0xFF);
 | 
			
		||||
#        endif
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1018,7 +1037,7 @@ int main(void) {
 | 
			
		|||
    setup_usb();
 | 
			
		||||
    sei();
 | 
			
		||||
 | 
			
		||||
#if defined(MODULE_ADAFRUIT_EZKEY) || defined(MODULE_RN42)
 | 
			
		||||
#if defined(MODULE_RN42)
 | 
			
		||||
    serial_init();
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue