Browse Source

Move functions for adding keys from to reports to report.h

pull/1409/head
Fred Sundvik 7 years ago
parent
commit
fb95d86b39
4 changed files with 45 additions and 35 deletions
  1. +0
    -32
      tmk_core/common/action_util.c
  2. +11
    -3
      tmk_core/common/action_util.h
  3. +30
    -0
      tmk_core/common/report.c
  4. +4
    -0
      tmk_core/common/report.h

+ 0
- 32
tmk_core/common/action_util.c View File

@ -136,38 +136,6 @@ void send_keyboard_report(void) {
host_keyboard_send(keyboard_report);
}
/* key */
void add_key(uint8_t key)
{
#ifdef NKRO_ENABLE
if (keyboard_protocol && keymap_config.nkro) {
add_key_bit(keyboard_report, key);
return;
}
#endif
add_key_byte(keyboard_report, key);
}
void del_key(uint8_t key)
{
#ifdef NKRO_ENABLE
if (keyboard_protocol && keymap_config.nkro) {
del_key_bit(keyboard_report, key);
return;
}
#endif
del_key_byte(keyboard_report, key);
}
void clear_keys(void)
{
// not clear mods
for (int8_t i = 1; i < KEYBOARD_REPORT_SIZE; i++) {
keyboard_report->raw[i] = 0;
}
}
/* modifier */
uint8_t get_mods(void) { return real_mods; }
void add_mods(uint8_t mods) { real_mods |= mods; }


+ 11
- 3
tmk_core/common/action_util.h View File

@ -29,9 +29,17 @@ extern report_keyboard_t *keyboard_report;
void send_keyboard_report(void);
/* key */
void add_key(uint8_t key);
void del_key(uint8_t key);
void clear_keys(void);
inline void add_key(uint8_t key) {
add_key_to_report(keyboard_report, key);
}
inline void del_key(uint8_t key) {
del_key_from_report(keyboard_report, key);
}
inline void clear_keys(void) {
clear_keys_from_report(keyboard_report);
}
/* modifier */
uint8_t get_mods(void);


+ 30
- 0
tmk_core/common/report.c View File

@ -175,3 +175,33 @@ void del_key_bit(report_keyboard_t* keyboard_report, uint8_t code)
}
}
#endif
void add_key_to_report(report_keyboard_t* keyboard_report, int8_t key)
{
#ifdef NKRO_ENABLE
if (keyboard_protocol && keymap_config.nkro) {
add_key_bit(keyboard_report, key);
return;
}
#endif
add_key_byte(keyboard_report, key);
}
void del_key_from_report(report_keyboard_t* keyboard_report, uint8_t key)
{
#ifdef NKRO_ENABLE
if (keyboard_protocol && keymap_config.nkro) {
del_key_bit(keyboard_report, key);
return;
}
#endif
del_key_byte(keyboard_report, key);
}
void clear_keys_from_report(report_keyboard_t* keyboard_report)
{
// not clear mods
for (int8_t i = 1; i < KEYBOARD_REPORT_SIZE; i++) {
keyboard_report->raw[i] = 0;
}
}

+ 4
- 0
tmk_core/common/report.h View File

@ -184,6 +184,10 @@ void add_key_bit(report_keyboard_t* keyboard_report, uint8_t code);
void del_key_bit(report_keyboard_t* keyboard_report, uint8_t code);
#endif
void add_key_to_report(report_keyboard_t* keyboard_report, int8_t key);
void del_key_from_report(report_keyboard_t* keyboard_report, uint8_t key);
void clear_keys_from_report(report_keyboard_t* keyboard_report);
#ifdef __cplusplus
}
#endif


Loading…
Cancel
Save