X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=common%2Fkeyboard.c;h=020be8eadf2f09ad9bc1e94a32e7e83c5730c09d;hb=c672cbc31c67335050dc3ba9d54acb97e5d3da0c;hp=401fdb4e17f311be9bdae5d6f991f8ac4aff6bd1;hpb=ef8439bddb2d7fe5fd95faf2b6bebd8235acf160;p=tmk_firmware.git diff --git a/common/keyboard.c b/common/keyboard.c index 401fdb4..020be8e 100644 --- a/common/keyboard.c +++ b/common/keyboard.c @@ -30,7 +30,16 @@ along with this program. If not, see . #include "sendchar.h" #include "bootmagic.h" #include "eeconfig.h" -#include "mousekey.h" +#include "backlight.h" +#ifdef MOUSEKEY_ENABLE +# include "mousekey.h" +#endif +#ifdef PS2_MOUSE_ENABLE +# include "ps2_mouse.h" +#endif +#ifdef SERIAL_MOUSE_ENABLE +#include "serial_mouse.h" +#endif #ifdef MATRIX_HAS_GHOST @@ -53,29 +62,22 @@ static bool has_ghost_in_row(uint8_t row) void keyboard_init(void) { - // TODO: configuration of sendchar impl - print_sendchar_func = sendchar; - timer_init(); matrix_init(); #ifdef PS2_MOUSE_ENABLE ps2_mouse_init(); #endif +#ifdef SERIAL_MOUSE_ENABLE + serial_mouse_init(); +#endif + #ifdef BOOTMAGIC_ENABLE bootmagic(); +#endif - if (eeconfig_is_enabled()) { - uint8_t config; - config = eeconfig_read_debug(); - // ignored if debug is enabled by program before. - if (!debug_enable) debug_enable = (config & EECONFIG_DEBUG_ENABLE); - if (!debug_matrix) debug_matrix = (config & EECONFIG_DEBUG_MATRIX); - if (!debug_keyboard) debug_keyboard = (config & EECONFIG_DEBUG_KEYBOARD); - if (!debug_mouse) debug_mouse = (config & EECONFIG_DEBUG_MOUSE); - } else { - eeconfig_init(); - } +#ifdef BACKLIGHT_ENABLE + backlight_init(); #endif } @@ -121,10 +123,20 @@ void keyboard_task(void) action_exec(TICK); MATRIX_LOOP_END: + #ifdef MOUSEKEY_ENABLE // mousekey repeat & acceleration mousekey_task(); #endif + +#ifdef PS2_MOUSE_ENABLE + ps2_mouse_task(); +#endif + +#ifdef SERIAL_MOUSE_ENABLE + serial_mouse_task(); +#endif + // update LED if (led_status != host_keyboard_leds()) { led_status = host_keyboard_leds(); @@ -134,5 +146,6 @@ MATRIX_LOOP_END: void keyboard_set_leds(uint8_t leds) { + if (debug_keyboard) { debug("keyboard_set_led: "); debug_hex8(leds); debug("\n"); } led_set(leds); }