From 92b0674a7f7923f8efbe3bac1b5b8a410c5756cf Mon Sep 17 00:00:00 2001 From: tmk Date: Tue, 14 May 2013 23:06:07 +0900 Subject: [PATCH] Fix makefile, debug print and keymap of HHKB --- keyboard/hhkb/Makefile.lufa | 9 +++++++++ keyboard/hhkb/keymap.c | 7 ++++--- keyboard/hhkb/matrix.c | 38 ++----------------------------------- 3 files changed, 15 insertions(+), 39 deletions(-) diff --git a/keyboard/hhkb/Makefile.lufa b/keyboard/hhkb/Makefile.lufa index 3e621c2b..97b8faab 100644 --- a/keyboard/hhkb/Makefile.lufa +++ b/keyboard/hhkb/Makefile.lufa @@ -97,6 +97,15 @@ F_USB = $(F_CPU) OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=512 + + # Build Options # comment out to disable the options. # diff --git a/keyboard/hhkb/keymap.c b/keyboard/hhkb/keymap.c index 7afbdbec..eb66b9dc 100644 --- a/keyboard/hhkb/keymap.c +++ b/keyboard/hhkb/keymap.c @@ -67,7 +67,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSPC, \ LCTL,A, S, D, F, G, H, J, K, L, FN3, QUOT,FN4, \ FN5,Z, X, C, V, B, N, M, COMM,DOT, FN2, RSFT,FN1, \ - LGUI,LALT, FN6, RALT,FN7), + LGUI,LALT, FN6, RALT,NO), /* Layer 1: HHKB mode (HHKB Fn) * ,-----------------------------------------------------------. @@ -150,7 +150,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------. * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del| * |-----------------------------------------------------------| - * |Tab | | | | | |MwL|MwD|MwU|MwR| | | |Backs| + * |Tab | | | | | |MwL|MwD|MwU|MwR| |Wbk|Wfr|Close| * |-----------------------------------------------------------| * |Contro| | | | | |McL|McD|McU|McR|Fn0| |Return | * |-----------------------------------------------------------| @@ -161,7 +161,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel */ KEYMAP(ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \ - TAB, NO, NO, NO, NO, NO, WH_L,WH_D,WH_U,WH_R,NO, NO, NO, BSPC, \ + TAB, NO, NO, NO, NO, NO, WH_L,WH_D,WH_U,WH_R,WSTP,WBAK,WFWD,FN8, \ LCTL,NO, ACL0,ACL1,ACL2,NO, MS_L,MS_D,MS_U,MS_R,NO, NO, ENT, \ LSFT,NO, NO, NO, NO, BTN3,BTN2,BTN1,BTN4,BTN5,NO, RSFT,NO, \ LGUI,LALT, TRNS, RALT,RGUI), @@ -194,6 +194,7 @@ static const uint16_t PROGMEM fn_actions[] = { [5] = ACTION_MODS_ONESHOT(MOD_LSFT), // Oneshot Shift* [6] = ACTION_LAYER_TAP_KEY(5, KC_SPC), // Mousekey layer with Space [7] = ACTION_LAYER_TOGGLE(3), // Mousekey layer(toggle) + [8] = ACTION_MODS_KEY(MOD_LCTL, KC_W), // Close Tab // [8] = ACTION_LMOD_TAP_KEY(KC_LCTL, KC_BSPC), // LControl with tap Backspace // [9] = ACTION_LMOD_TAP_KEY(KC_LCTL, KC_ESC), // LControl with tap Esc diff --git a/keyboard/hhkb/matrix.c b/keyboard/hhkb/matrix.c index f53e36db..3d4b1f6c 100644 --- a/keyboard/hhkb/matrix.c +++ b/keyboard/hhkb/matrix.c @@ -35,13 +35,6 @@ along with this program. If not, see . # error "Timer resolution(>20us) is not enough for HHKB matrix scan tweak on V-USB." #endif -#if (MATRIX_COLS > 16) -# error "MATRIX_COLS must not exceed 16" -#endif -#if (MATRIX_ROWS > 255) -# error "MATRIX_ROWS must not exceed 255" -#endif - // matrix state buffer(1:on, 0:off) static matrix_row_t *matrix; @@ -226,42 +219,15 @@ bool matrix_is_on(uint8_t row, uint8_t col) } inline -#if (MATRIX_COLS <= 8) -uint8_t matrix_get_row(uint8_t row) -#else -uint16_t matrix_get_row(uint8_t row) -#endif +matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } void matrix_print(void) { -#if (MATRIX_COLS <= 8) print("\nr/c 01234567\n"); -#else - print("\nr/c 0123456789ABCDEF\n"); -#endif for (uint8_t row = 0; row < matrix_rows(); row++) { - phex(row); print(": "); -#if (MATRIX_COLS <= 8) - pbin_reverse(matrix_get_row(row)); -#else - pbin_reverse16(matrix_get_row(row)); -#endif - print("\n"); + xprintf("%02X: %08b\n", row, bitrev(matrix_get_row(row))); } } - -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { -#if (MATRIX_COLS <= 8) - count += bitpop(matrix[i]); -#else - count += bitpop16(matrix[i]); -#endif - } - return count; -}