]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - common/keyboard.c
Remove MCU dependent code from common/keyboard.c
[tmk_firmware.git] / common / keyboard.c
index 6bc6fae6e25f55bf5e2b2bedb9b2c079b3a9f132..9a809ff4a153dbfca52f1a248cb9e001e26cfd06 100644 (file)
@@ -15,7 +15,6 @@ You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #include <stdint.h>
-#include <util/delay.h>
 #include "keyboard.h"
 #include "matrix.h"
 #include "keymap.h"
@@ -30,7 +29,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #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 MATRIX_HAS_GHOST
@@ -53,9 +58,6 @@ static bool has_ghost_in_row(uint8_t row)
 
 void keyboard_init(void)
 {
-    // TODO: configuration of sendchar impl
-    print_set_sendchar(sendchar);
-
     timer_init();
     matrix_init();
 #ifdef PS2_MOUSE_ENABLE
@@ -65,6 +67,10 @@ void keyboard_init(void)
 #ifdef BOOTMAGIC_ENABLE
     bootmagic();
 #endif
+
+#ifdef BACKLIGHT_ENABLE
+    backlight_init();
+#endif
 }
 
 /*
@@ -93,7 +99,7 @@ void keyboard_task(void)
             for (uint8_t c = 0; c < MATRIX_COLS; c++) {
                 if (matrix_change & ((matrix_row_t)1<<c)) {
                     action_exec((keyevent_t){
-                        .key = (key_t){ .row = r, .col = c },
+                        .key = (keypos_t){ .row = r, .col = c },
                         .pressed = (matrix_row & ((matrix_row_t)1<<c)),
                         .time = (timer_read() | 1) /* time should not be 0 */
                     });
@@ -109,10 +115,16 @@ 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
+
     // update LED
     if (led_status != host_keyboard_leds()) {
         led_status = host_keyboard_leds();