|
|
@ -12,15 +12,13 @@ |
|
|
|
static uint8_t keyboard_leds(void); |
|
|
|
static void send_keyboard(report_keyboard_t *report); |
|
|
|
static void send_mouse(report_mouse_t *report); |
|
|
|
static void send_system(uint16_t data); |
|
|
|
static void send_consumer(uint16_t data); |
|
|
|
static void send_extra(uint8_t report_id, uint16_t data); |
|
|
|
|
|
|
|
host_driver_t rn42_driver = { |
|
|
|
keyboard_leds, |
|
|
|
send_keyboard, |
|
|
|
send_mouse, |
|
|
|
send_system, |
|
|
|
send_consumer |
|
|
|
send_extra |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
@ -198,12 +196,6 @@ static void send_mouse(report_mouse_t *report) |
|
|
|
serial_send(report->v); |
|
|
|
} |
|
|
|
|
|
|
|
static void send_system(uint16_t data) |
|
|
|
{ |
|
|
|
// Table 5-6 of RN-BT-DATA-UB |
|
|
|
// 81,82,83 scan codes can be used? |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static uint16_t usage2bits(uint16_t usage) |
|
|
|
{ |
|
|
@ -228,14 +220,17 @@ static uint16_t usage2bits(uint16_t usage) |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
static void send_consumer(uint16_t data) |
|
|
|
|
|
|
|
static void send_extra(uint8_t report_id, uint16_t data) |
|
|
|
{ |
|
|
|
uint16_t bits = usage2bits(data); |
|
|
|
serial_send(0xFD); // Raw report mode |
|
|
|
serial_send(3); // length |
|
|
|
serial_send(3); // descriptor type |
|
|
|
serial_send(bits&0xFF); |
|
|
|
serial_send((bits>>8)&0xFF); |
|
|
|
if (report_id == REPORT_ID_CONSUMER) { |
|
|
|
uint16_t bits = usage2bits(data); |
|
|
|
serial_send(0xFD); // Raw report mode |
|
|
|
serial_send(3); // length |
|
|
|
serial_send(3); // descriptor type |
|
|
|
serial_send(bits&0xFF); |
|
|
|
serial_send((bits>>8)&0xFF); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -243,19 +238,16 @@ static void send_consumer(uint16_t data) |
|
|
|
static uint8_t config_keyboard_leds(void); |
|
|
|
static void config_send_keyboard(report_keyboard_t *report); |
|
|
|
static void config_send_mouse(report_mouse_t *report); |
|
|
|
static void config_send_system(uint16_t data); |
|
|
|
static void config_send_consumer(uint16_t data); |
|
|
|
static void config_send_extra(uint8_t report_id, uint16_t data); |
|
|
|
|
|
|
|
host_driver_t rn42_config_driver = { |
|
|
|
config_keyboard_leds, |
|
|
|
config_send_keyboard, |
|
|
|
config_send_mouse, |
|
|
|
config_send_system, |
|
|
|
config_send_consumer |
|
|
|
config_send_extra |
|
|
|
}; |
|
|
|
|
|
|
|
static uint8_t config_keyboard_leds(void) { return leds; } |
|
|
|
static void config_send_keyboard(report_keyboard_t *report) {} |
|
|
|
static void config_send_mouse(report_mouse_t *report) {} |
|
|
|
static void config_send_system(uint16_t data) {} |
|
|
|
static void config_send_consumer(uint16_t data) {} |
|
|
|
static void config_send_extra(uint8_t report_id, uint16_t data) {} |