diff --git a/keyboards/atreus/atreus.h b/keyboards/atreus/atreus.h index f4e7ba7f39..9c8bea4260 100644 --- a/keyboards/atreus/atreus.h +++ b/keyboards/atreus/atreus.h @@ -34,6 +34,19 @@ // The first section contains all of the arguments. // The second converts the arguments into a two-dimensional array. // In the PCBDOWN case we need to swap the middle two keys: k35 and k36. +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ + k20, k21, k22, k23, k24, k40, k41, k25, k26, k27, k28, k29, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \ +) \ +{ \ + { k00, k01, k02, k03, k04, KC_NO, KC_NO, k05, k06, k07, k08, k09 }, \ + { k10, k11, k12, k13, k14, KC_NO, KC_NO, k15, k16, k17, k18, k19 }, \ + { k20, k21, k22, k23, k24, k40, k41, k25, k26, k27, k28, k29 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \ +} +/* #if defined(PCBDOWN) #define LAYOUT( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ @@ -60,4 +73,4 @@ { k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \ { k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a, k3b } \ } -#endif +#endif*/ diff --git a/keyboards/atreus/config.h b/keyboards/atreus/config.h index 07f4d7f15a..6f9b9826bd 100644 --- a/keyboards/atreus/config.h +++ b/keyboards/atreus/config.h @@ -28,7 +28,7 @@ /* key matrix size */ #define MATRIX_ROWS 4 -#define MATRIX_COLS 11 +#define MATRIX_COLS 12 /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST @@ -37,12 +37,19 @@ //#define BACKLIGHT_LEVELS 3 /* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 +#define DEBOUNCE 3 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE +//#define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE +//#define LOCKING_RESYNC_ENABLE + +#undef TAPPING_TERM +#define TAPPING_TERM 170 +#define TAPPING_FORCE_HOLD +#define TAPPING_FORCE_HOLD_PER_KEY +#define IGNORE_MOD_TAP_INTERRUPT +#define PERMISSIVE_HOLD /* * Feature disable options diff --git a/keyboards/atreus/keymaps/default/keymap.c b/keyboards/atreus/keymaps/default/keymap.c index 95207f5c46..b63c399dd2 100644 --- a/keyboards/atreus/keymaps/default/keymap.c +++ b/keyboards/atreus/keymaps/default/keymap.c @@ -3,42 +3,42 @@ #include QMK_KEYBOARD_H -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QW 0 -#define _RS 1 -#define _LW 2 +#define RALT_A RALT_T(KC_A) +#define ALT_S LALT_T(KC_S) +#define CTL_D LCTL_T(KC_D) +#define GUI_F LGUI_T(KC_F) + +#define GUI_J LGUI_T(KC_J) +#define CTL_K LCTL_T(KC_K) +#define ALT_L LALT_T(KC_L) +#define RALT_SCLN RALT_T(KC_SCLN) + +#define I_SPC LT(1, KC_SPC) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = LAYOUT( /* Qwerty */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , - KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT - ), + [0] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , + RALT_A, ALT_S, CTL_D, GUI_F, KC_G, KC_H, GUI_J, CTL_K, ALT_L, RALT_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_BSLS, KC_N, KC_M, KC_COMM,KC_DOT,KC_SLSH , + KC_ESC, KC_TAB, XXXXXXX,KC_LSFT,KC_BSPC, XXXXXXX,XXXXXXX, I_SPC, XXXXXXX,KC_MINS,KC_QUOT,KC_ENT) , - /* - * ! @ up { } || pgup 7 8 9 * - * # left down right $ || pgdn 4 5 6 + - * [ ] ( ) & || ` 1 2 3 \ - * lower insert super shift bksp ctrl || alt space fn . 0 = - */ - [_RS] = LAYOUT( /* [> RAISE <] */ - KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , - KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , - KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS , - TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ), - /* - * insert home up end pgup || up F7 F8 F9 F10 - * del left down right pgdn || down F4 F5 F6 F11 - * volup reset || F1 F2 F3 F12 - * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause - */ - [_LW] = LAYOUT( /* [> LOWER <] */ - KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , - KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS ) + [1] = LAYOUT( + KC_EXLM,KC_AT, KC_UP, KC_DLR, KC_PERC, KC_PGUP,KC_7, KC_8, KC_9, KC_BSPC, + KC_LPRN,KC_LEFT,KC_DOWN,KC_RGHT,KC_RPRN, KC_PGDN,KC_4, KC_5, KC_6, _______, + KC_LBRC,KC_RBRC,KC_HASH,KC_LCBR,KC_RCBR, KC_CIRC,KC_AMPR, KC_ASTR,KC_1, KC_2, KC_3, KC_PLUS, + TO(2), KC_INS, _______,KC_LSFT,KC_BSPC, XXXXXXX,XXXXXXX, _______,_______,KC_DOT, KC_0, KC_EQL), + + [2] = LAYOUT( + KC_INS, KC_HOME,KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , + KC_DEL, KC_LEFT,KC_DOWN,KC_RGHT,KC_PGDN, KC_DOWN,KC_F4, KC_F5, KC_F6, KC_F11 , + KC_NO, KC_VOLU,KC_NO, KC_NO, RESET, _______,_______, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , + TO(0), KC_VOLD,_______,KC_LSFT,KC_BSPC, XXXXXXX,XXXXXXX, _______,TO(0), KC_PSCR,KC_SLCK,KC_PAUS) }; + +bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { + return true; + switch (keycode) { + default: + return false; + } +} diff --git a/keyboards/atreus/promicro/config.h b/keyboards/atreus/promicro/config.h index a4ed1c642d..a240801520 100644 --- a/keyboards/atreus/promicro/config.h +++ b/keyboards/atreus/promicro/config.h @@ -28,15 +28,12 @@ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * */ - -/* key matrix pins */ -#define MATRIX_ROW_PINS { F4, B2, B4, B5 } -#if defined(PCBDOWN) - #define MATRIX_COL_PINS { D0, D4, C6, D7, E6, B6, B3, B1, F7, F6, F5 } -#else - #define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B6, E6, D7, C6, D4, D0 } -#endif +#define MATRIX_ROW_PINS { C6, B5, B2, B6 } +#define MATRIX_COL_PINS { F4, F6, F5, F7, B1, E6, D7, D4, D0, D1, D2, D3 } #define UNUSED_PINS /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW + +#define USB_POLLING_INTERVAL_MS 1 +#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/atreus/promicro/rules.mk b/keyboards/atreus/promicro/rules.mk index cf663a7ed6..a991c8d54b 100644 --- a/keyboards/atreus/promicro/rules.mk +++ b/keyboards/atreus/promicro/rules.mk @@ -3,3 +3,5 @@ MCU = atmega32u4 # Bootloader selection BOOTLOADER = caterina + +OPT_DEFS += -DBOOTLOADER_CATERINA