From 81e19d61c08ebdf6ba8d48dfb8e460a1814d9746 Mon Sep 17 00:00:00 2001 From: Evelien-Lillian Dekkers Date: Thu, 19 Aug 2021 18:40:28 +0200 Subject: [PATCH] [Keyboard] Refactor atom47 and add rev4 and rev5 (#13201) Co-authored-by: Nick Brassel --- .../evyd13/atom47/keymaps/LEdiodes/keymap.c | 57 +++--- .../evyd13/atom47/keymaps/default/keymap.c | 70 ++++---- .../evyd13/atom47/keymaps/evyd13/keymap.c | 83 ++++----- .../atom47/keymaps/junonum_a47/keymap.c | 47 ++--- keyboards/evyd13/atom47/keymaps/via/keymap.c | 44 +++++ keyboards/evyd13/atom47/keymaps/via/rules.mk | 1 + keyboards/evyd13/atom47/readme.md | 23 +-- keyboards/evyd13/atom47/rev2/config.h | 24 +-- keyboards/evyd13/atom47/rev2/info.json | 69 +++++++- keyboards/evyd13/atom47/rev2/rev2.c | 37 ++-- keyboards/evyd13/atom47/rev2/rev2.h | 42 +++-- keyboards/evyd13/atom47/rev2/rules.mk | 4 +- keyboards/evyd13/atom47/rev3/config.h | 26 +-- keyboards/evyd13/atom47/rev3/info.json | 122 +++++++++++-- keyboards/evyd13/atom47/rev3/rev3.c | 30 ++-- keyboards/evyd13/atom47/rev3/rev3.h | 54 ++++-- keyboards/evyd13/atom47/rev3/rules.mk | 2 - keyboards/evyd13/atom47/rev4/config.h | 58 +++++++ keyboards/evyd13/atom47/rev4/info.json | 114 ++++++++++++ keyboards/evyd13/atom47/rev4/rev4.c | 18 ++ keyboards/evyd13/atom47/rev4/rev4.h | 51 ++++++ keyboards/evyd13/atom47/rev4/rules.mk | 7 + keyboards/evyd13/atom47/rev5/config.h | 164 ++++++++++++++++++ keyboards/evyd13/atom47/rev5/info.json | 63 +++++++ keyboards/evyd13/atom47/rev5/rev5.c | 153 ++++++++++++++++ keyboards/evyd13/atom47/rev5/rev5.h | 38 ++++ keyboards/evyd13/atom47/rev5/rules.mk | 2 + keyboards/evyd13/atom47/rules.mk | 33 ++-- 28 files changed, 1169 insertions(+), 267 deletions(-) create mode 100644 keyboards/evyd13/atom47/keymaps/via/keymap.c create mode 100644 keyboards/evyd13/atom47/keymaps/via/rules.mk create mode 100644 keyboards/evyd13/atom47/rev4/config.h create mode 100644 keyboards/evyd13/atom47/rev4/info.json create mode 100644 keyboards/evyd13/atom47/rev4/rev4.c create mode 100644 keyboards/evyd13/atom47/rev4/rev4.h create mode 100644 keyboards/evyd13/atom47/rev4/rules.mk create mode 100644 keyboards/evyd13/atom47/rev5/config.h create mode 100644 keyboards/evyd13/atom47/rev5/info.json create mode 100644 keyboards/evyd13/atom47/rev5/rev5.c create mode 100644 keyboards/evyd13/atom47/rev5/rev5.h create mode 100644 keyboards/evyd13/atom47/rev5/rules.mk diff --git a/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c b/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c index 87e124421..ae72a3fd9 100644 --- a/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c +++ b/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include QMK_KEYBOARD_H // These are all aliases for the function layers. @@ -7,27 +24,27 @@ #define _L3 3 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_L0] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \ - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L1), \ - KC_LCTL, KC_LGUI, KC_LALT, TG(_L3), KC_SPC, KC_SPC, MO(_L2), KC_RALT, KC_APP, KC_RCTRL), \ +[_L0] = LAYOUT_split_space( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L1), + KC_LCTL, KC_LGUI, KC_LALT, TG(_L3), KC_SPC, KC_SPC, MO(_L2), KC_RALT, KC_APP, KC_RCTRL), -[_L2] = LAYOUT( - _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \ - KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \ - _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_L2] = LAYOUT_split_space( + _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, + KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, + _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -[_L1] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ - _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_L1] = LAYOUT_split_space( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -[_L3] = LAYOUT( - _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, KC_0, KC_DOT, _______, _______, _______, RESET), \ +[_L3] = LAYOUT_split_space( + _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_0, KC_DOT, _______, _______, _______, RESET) }; diff --git a/keyboards/evyd13/atom47/keymaps/default/keymap.c b/keyboards/evyd13/atom47/keymaps/default/keymap.c index dc87b5a52..a7fbdda31 100644 --- a/keyboards/evyd13/atom47/keymaps/default/keymap.c +++ b/keyboards/evyd13/atom47/keymaps/default/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include QMK_KEYBOARD_H // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -11,40 +28,27 @@ #define _PN 3 //Pn const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \ - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_FN1), \ - KC_LCTL, KC_LGUI, KC_LALT, MO(_PN), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTRL), \ +[_MA] = LAYOUT_split_space( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_FN1), + KC_LCTL, KC_LGUI, KC_LALT, MO(_PN), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTRL), -[_FN] = LAYOUT( - _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \ - KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \ - _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_FN] = LAYOUT_split_space( + _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, + KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, + _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -[_FN1] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ - _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_FN1] = LAYOUT_split_space( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -[_PN] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, \ - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), +[_PN] = LAYOUT_split_space( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), }; - -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<. +*/ + #include QMK_KEYBOARD_H // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -9,60 +26,24 @@ #define _LO 1 //FN1 #define _RA 2 //FN -enum custom_keycodes { - CTRLZ = SAFE_RANGE, - CTRLX, - CTRLC, - CTRLV -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = LAYOUT( - KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \ - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ - KC_LCTL, KC_LGUI, KC_LALT, MO(_LO), KC_SPC, KC_SPC, MO(_RA), KC_RALT, KC_APP, KC_RCTRL), \ +[_MA] = LAYOUT_split_space( + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(_LO), KC_SPC, KC_SPC, MO(_RA), KC_RALT, KC_APP, KC_RCTRL), -[_LO] = LAYOUT( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ - _______, CTRLZ, CTRLX, CTRLC, CTRLV, _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), \ +[_LO] = LAYOUT_split_space( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), -[_RA] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, \ - KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_RA] = LAYOUT_split_space( + _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<event.pressed) { - switch(keycode) { - case CTRLZ: - SEND_STRING(SS_LCTRL("z")); - return false; - case CTRLX: - SEND_STRING(SS_LCTRL("x")); - return false; - case CTRLC: - SEND_STRING(SS_LCTRL("c")); - return false; - case CTRLV: - SEND_STRING(SS_LCTRL("v")); - return false; - } - } - return true; -}; diff --git a/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c b/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c index ebd52ffd0..8204bc32b 100644 --- a/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c +++ b/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include QMK_KEYBOARD_H /* enum custom_keycodes { @@ -35,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Primary layer - [_MAIN] = LAYOUT( + [_MAIN] = LAYOUT_split_space( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTEN, @@ -43,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Main Fn navigation layer - [_SPLEFT] = LAYOUT( + [_SPLEFT] = LAYOUT_split_space( _______, KC_VOLU, KC_PGUP, KC_UP, KC_PGDN, KC_INS, _______, _______, KC_UP, _______, KC_PSCR, _______, _______, _______, KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL , _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, @@ -51,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Primary numeric layer using right Spacebar - [_SPRIGHT] = LAYOUT( + [_SPRIGHT] = LAYOUT_split_space( KC_GRV, _______, _______, KC_LBRC, KC_RBRC, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, KC_MINUS, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_EQUAL, _______, @@ -59,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Secondary symbol layer, also Lower - [_LOWER] = LAYOUT( + [_LOWER] = LAYOUT_split_space( KC_TILD, _______, _______, _______, _______, _______, _______, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_SLCK, KC_PAUS, KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_DLR, KC_PERC, KC_CIRC, KC_UNDS, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EXLM, KC_AT, KC_HASH, KC_PLUS, _______, @@ -67,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Numpad layer // Also a homage to Planck with the media player/pause button - [_RAISE] = LAYOUT( + [_RAISE] = LAYOUT_split_space( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -75,26 +92,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Safety layer for special functions - [_ADJUST] = LAYOUT( + [_ADJUST] = LAYOUT_split_space( _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DP_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [_DPAD] = LAYOUT( + [_DPAD] = LAYOUT_split_space( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, DPADNUM, KC_SPC, DP_OFF, KC_LEFT, KC_DOWN, KC_RGHT ), - [_DPADNUM] = LAYOUT( + [_DPADNUM] = LAYOUT_split_space( _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + ) }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -136,15 +153,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { - // Turn capslock on - writePinLow(E6); - - - } else { - // Turn capslock off - writePinHigh(E6); - } -} diff --git a/keyboards/evyd13/atom47/keymaps/via/keymap.c b/keyboards/evyd13/atom47/keymaps/via/keymap.c new file mode 100644 index 000000000..686a4d3db --- /dev/null +++ b/keyboards/evyd13/atom47/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_split_space( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(2), + KC_LCTL, KC_LGUI, KC_LALT, MO(3), KC_SPC, KC_SPC, MO(1), KC_RALT, KC_APP, KC_RCTRL), + +[1] = LAYOUT_split_space( + _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, + KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, + _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT_split_space( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +[3] = LAYOUT_split_space( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), +}; diff --git a/keyboards/evyd13/atom47/keymaps/via/rules.mk b/keyboards/evyd13/atom47/keymaps/via/rules.mk new file mode 100644 index 000000000..1e5b99807 --- /dev/null +++ b/keyboards/evyd13/atom47/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/evyd13/atom47/readme.md b/keyboards/evyd13/atom47/readme.md index 70171c04d..30ad714a7 100644 --- a/keyboards/evyd13/atom47/readme.md +++ b/keyboards/evyd13/atom47/readme.md @@ -3,24 +3,13 @@ ![Atom47](https://i.imgur.com/Wwflqvt.png) ## Support -Keyboard Maintainer: [Evyd13](https://github.com/evyd13) -Hardware Supported: Atom47 rev2/rev3 -Hardware Availability: [GeekHack.com Group Buy](https://geekhack.org/index.php?topic=93447.msg2545221) - - -## Features (rev3 and up) -- QMK Firmware -- 6 Underglow RGB leds -- In-switch leds -- Through-hole micro usb connector (less likely to break off!) -- South facing leds for the QMX/Zealencio users -- Multiple layouts -- Easily reachable reset button under the spacebar -- CapsLock indicator +* Keyboard Maintainer: [Evelien Dekkers](https://github.com/evyd13) +* Hardware Supported: Atom47 rev2/rev3/rev4/rev5 +* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/atom47) ## Build -To build the default keymap for the latest revision, simply run `make atom47:default`. Specifiy the revision like so: `make atom47/rev3:default`. +Make example for this keyboard (after setting up your build environment): -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. + make evyd13/atom47/rev5:default -![Atom47](https://i.imgur.com/JfYnOba.jpg) +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/evyd13/atom47/rev2/config.h b/keyboards/evyd13/atom47/rev2/config.h index 62e72723d..95fc7a478 100644 --- a/keyboards/evyd13/atom47/rev2/config.h +++ b/keyboards/evyd13/atom47/rev2/config.h @@ -1,5 +1,5 @@ /* -Copyright 2012 Evy Dekkers +Copyright 2021 Evelien Dekkers This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,17 +15,16 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef REV2_CONFIG_H -#define REV2_CONFIG_H +#pragma once #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0003 -#define MANUFACTURER Vortex -#define PRODUCT Core +#define VENDOR_ID 0x4705 +#define PRODUCT_ID 0x8E66 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Evyd13 +#define PRODUCT Atom47 rev2 /* key matrix size */ #define MATRIX_ROWS 4 @@ -37,7 +36,6 @@ along with this program. If not, see . #define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4} #define UNUSED_PINS -#define BACKLIGHT_PIN B6 /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW @@ -55,13 +53,15 @@ along with this program. If not, see . /* Backlight configuration */ +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_BREATHING #define BACKLIGHT_LEVELS 4 +#define LED_CAPS_LOCK_PIN F5 + #define RGB_DI_PIN D0 // The pin the LED strip is connected to #define RGBLED_NUM 1 // Number of LEDs in your strip #define QMK_ESC_OUTPUT D7 // usually COL -#define QMK_ESC_INPUT B1 // usually ROW +#define QMK_ESC_INPUT B7 // usually ROW #define QMK_LED B6 - -#endif diff --git a/keyboards/evyd13/atom47/rev2/info.json b/keyboards/evyd13/atom47/rev2/info.json index aa15e7606..a9947ae89 100644 --- a/keyboards/evyd13/atom47/rev2/info.json +++ b/keyboards/evyd13/atom47/rev2/info.json @@ -1,12 +1,63 @@ { - "keyboard_name": "Atom47", - "url": "", - "maintainer": "evyd13", - "width": 13, - "height": 4, - "layouts": { - "LAYOUT": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}] + "keyboard_name": "Atom47 rev2", + "url": "", + "maintainer": "evyd13", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_split_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3, "w":1.75}, + {"x":6, "y":3, "w":2.75}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3}, + {"x":11.75, "y":3, "w":1.25} + ] + } } - } } diff --git a/keyboards/evyd13/atom47/rev2/rev2.c b/keyboards/evyd13/atom47/rev2/rev2.c index 0242a84f4..adb21be36 100644 --- a/keyboards/evyd13/atom47/rev2/rev2.c +++ b/keyboards/evyd13/atom47/rev2/rev2.c @@ -1,21 +1,18 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include "rev2.h" -#include "led.h" - -void led_init_ports(void) { - // * Set our LED pins as output - DDRB &= ~(1<<5); - - //Set output high, so the capslock led is off - PORTB |= (1 << 5); -} - -void led_set_kb(uint8_t usb_led) { - if (usb_led & (1<. +*/ + +#pragma once #include "quantum.h" // readability #define XXX KC_NO -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ - k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3c \ +#define LAYOUT_all LAYOUT_split_space + +#define LAYOUT_split_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ + k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3c \ ) \ { \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ - {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ - {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \ - {k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c} \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \ + {k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c} \ } void matrix_init_user(void); void matrix_scan_user(void); - -#endif diff --git a/keyboards/evyd13/atom47/rev2/rules.mk b/keyboards/evyd13/atom47/rev2/rules.mk index 0b6b87998..632bdae8f 100644 --- a/keyboards/evyd13/atom47/rev2/rules.mk +++ b/keyboards/evyd13/atom47/rev2/rules.mk @@ -1,2 +1,2 @@ -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality +# Build Options +RGBLIGHT_ENABLE = no diff --git a/keyboards/evyd13/atom47/rev3/config.h b/keyboards/evyd13/atom47/rev3/config.h index f585ddda9..4e53abd01 100644 --- a/keyboards/evyd13/atom47/rev3/config.h +++ b/keyboards/evyd13/atom47/rev3/config.h @@ -1,5 +1,5 @@ /* -Copyright 2012 Evy Dekkers +Copyright 2021 Evelien Dekkers This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,17 +15,16 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef REV3_CONFIG_H -#define REV3_CONFIG_H +#pragma once #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0003 -#define MANUFACTURER Vortex -#define PRODUCT Core +#define VENDOR_ID 0x4705 +#define PRODUCT_ID 0x0E6D +#define DEVICE_VER 0x0001 +#define MANUFACTURER Evyd13 +#define PRODUCT Atom47 rev3 /* key matrix size */ #define MATRIX_ROWS 4 @@ -37,7 +36,6 @@ along with this program. If not, see . #define MATRIX_COL_PINS {B7,F0,F1,F4,F6,D4,D6,D7,B4,B5,C6,C7,F7} #define UNUSED_PINS -#define BACKLIGHT_PIN B6 /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW @@ -50,13 +48,15 @@ along with this program. If not, see . /* Backlight configuration */ -#define BACKLIGHT_LEVELS 4 +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 5 + +#define LED_CAPS_LOCK_PIN E6 #define RGB_DI_PIN F5 // The pin the LED strip is connected to #define RGBLED_NUM 6 // Number of LEDs in your strip #define RGBLIGHT_ANIMATIONS #define QMK_ESC_OUTPUT B7 // usually COL -#define QMK_ESC_INPUT B3 // usually ROW +#define QMK_ESC_INPUT B0 // usually ROW #define QMK_LED E6 - -#endif diff --git a/keyboards/evyd13/atom47/rev3/info.json b/keyboards/evyd13/atom47/rev3/info.json index aa15e7606..bd7d6c2ae 100644 --- a/keyboards/evyd13/atom47/rev3/info.json +++ b/keyboards/evyd13/atom47/rev3/info.json @@ -1,12 +1,114 @@ { - "keyboard_name": "Atom47", - "url": "", - "maintainer": "evyd13", - "width": 13, - "height": 4, - "layouts": { - "LAYOUT": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}] + "keyboard_name": "Atom47 rev3", + "url": "", + "maintainer": "evyd13", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_split_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3, "w":1.75}, + {"x":6, "y":3, "w":2.75}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3}, + {"x":11.75, "y":3, "w":1.25} + ] + }, + "LAYOUT_full_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3, "w":1.25}, + {"x":2.5, "y":3, "w":1.25}, + {"x":3.75, "y":3, "w":6.25}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3} + ] + } } - } -} +} \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev3/rev3.c b/keyboards/evyd13/atom47/rev3/rev3.c index 24e12c840..52fa91fbc 100644 --- a/keyboards/evyd13/atom47/rev3/rev3.c +++ b/keyboards/evyd13/atom47/rev3/rev3.c @@ -1,14 +1,18 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #include "rev3.h" -#include "led.h" - -void led_init_ports(void) { - // * Set our LED pins as output - DDRE |= (1 << 6); - - //Set output high, so the capslock led is off - PORTE |= (1 << 6); -} - -void led_set_kb(uint8_t usb_led) { - led_set_user(usb_led); -} diff --git a/keyboards/evyd13/atom47/rev3/rev3.h b/keyboards/evyd13/atom47/rev3/rev3.h index ad875bb40..aa2e53ba2 100644 --- a/keyboards/evyd13/atom47/rev3/rev3.h +++ b/keyboards/evyd13/atom47/rev3/rev3.h @@ -1,23 +1,51 @@ -#ifndef ATOM47_REV3_H -#define ATOM47_REV3_H +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once #include "quantum.h" // readability #define XXX KC_NO -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ - k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k35, k37, k39, k3a, k3b, k3c \ +#define LAYOUT_all LAYOUT_split_space + +#define LAYOUT_split_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k35, k37, k39, k3a, k3b, k3c \ ) \ { \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ - {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ - {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ - {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c} \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c} \ } - -#endif +#define LAYOUT_full_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k37, k39, k3a, k3b, k3c \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, XXX, XXX, XXX, XXX, k37, XXX, k39, k3a, k3b, k3c} \ +} diff --git a/keyboards/evyd13/atom47/rev3/rules.mk b/keyboards/evyd13/atom47/rev3/rules.mk index 2df225e38..e69de29bb 100644 --- a/keyboards/evyd13/atom47/rev3/rules.mk +++ b/keyboards/evyd13/atom47/rev3/rules.mk @@ -1,2 +0,0 @@ -NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality diff --git a/keyboards/evyd13/atom47/rev4/config.h b/keyboards/evyd13/atom47/rev4/config.h new file mode 100644 index 000000000..02a1b1675 --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/config.h @@ -0,0 +1,58 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4705 +#define PRODUCT_ID 0x8446 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Evyd13 +#define PRODUCT Atom47 rev4 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 13 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS {D0,C2,C5,C6} +#define MATRIX_COL_PINS {C4,C7,B7,B6,B5,B2,B1,B0,D6,D5,D4,D3,D2} +#define UNUSED_PINS + +#define ENCODERS_PAD_A { B3 } +#define ENCODERS_PAD_B { B4 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Backlight configuration + */ + +#define QMK_ESC_OUTPUT C4 // usually COL +#define QMK_ESC_INPUT C6 // usually ROW +#define QMK_LED D1 + +#define LED_CAPS_LOCK_PIN D1 diff --git a/keyboards/evyd13/atom47/rev4/info.json b/keyboards/evyd13/atom47/rev4/info.json new file mode 100644 index 000000000..a04e4cc18 --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/info.json @@ -0,0 +1,114 @@ +{ + "keyboard_name": "Atom47 rev4", + "url": "", + "maintainer": "evyd13", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_split_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3, "w":1.75}, + {"x":6, "y":3, "w":2.75}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3}, + {"x":11.75, "y":3, "w":1.25} + ] + }, + "LAYOUT_full_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3, "w":1.25}, + {"x":2.5, "y":3, "w":1.25}, + {"x":3.75, "y":3, "w":6.25}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev4/rev4.c b/keyboards/evyd13/atom47/rev4/rev4.c new file mode 100644 index 000000000..0ac2a41ac --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/rev4.c @@ -0,0 +1,18 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "rev4.h" diff --git a/keyboards/evyd13/atom47/rev4/rev4.h b/keyboards/evyd13/atom47/rev4/rev4.h new file mode 100644 index 000000000..aa2e53ba2 --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/rev4.h @@ -0,0 +1,51 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +// readability +#define XXX KC_NO + +#define LAYOUT_all LAYOUT_split_space + +#define LAYOUT_split_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k35, k37, k39, k3a, k3b, k3c \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c} \ +} + +#define LAYOUT_full_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k37, k39, k3a, k3b, k3c \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, XXX, XXX, XXX, XXX, k37, XXX, k39, k3a, k3b, k3c} \ +} diff --git a/keyboards/evyd13/atom47/rev4/rules.mk b/keyboards/evyd13/atom47/rev4/rules.mk new file mode 100644 index 000000000..3bce3b43a --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/rules.mk @@ -0,0 +1,7 @@ +# MCU name +MCU = atmega32u2 + +# Build Options +ENCODER_ENABLE = yes +BACKLIGHT_ENABLE = no +RGBLIGHT_ENABLE = no \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev5/config.h b/keyboards/evyd13/atom47/rev5/config.h new file mode 100644 index 000000000..f1f8eacfa --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/config.h @@ -0,0 +1,164 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4705 +#define PRODUCT_ID 0x92EA +#define DEVICE_VER 0x0001 +#define MANUFACTURER Evyd13 +#define PRODUCT Atom47 rev5 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 13 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS {B1,B2,B3,D4} +#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,E6,D7,B4,B5,B6,C6,C7} +#define UNUSED_PINS {B0,B7,D2,D3,D5,D6} + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 + +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +// The address will vary depending on your wiring: +// 00 <-> GND +// 01 <-> SCL +// 10 <-> SDA +// 11 <-> VCC +// ADDR1 represents A1:A0 of the 7-bit address. +// ADDR2 represents A3:A2 of the 7-bit address. +// The result is: 0b101(ADDR2)(ADDR1) +#define DRIVER_ADDR_1 0b1010000 +#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons. + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 64 +#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev5/info.json b/keyboards/evyd13/atom47/rev5/info.json new file mode 100644 index 000000000..f66c86e94 --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/info.json @@ -0,0 +1,63 @@ +{ + "keyboard_name": "Atom47 rev5", + "url": "", + "maintainer": "evyd13", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_split_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3, "w":1.75}, + {"x":6, "y":3, "w":2.75}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3}, + {"x":11.75, "y":3, "w":1.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev5/rev5.c b/keyboards/evyd13/atom47/rev5/rev5.c new file mode 100644 index 000000000..ea0208706 --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/rev5.c @@ -0,0 +1,153 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "rev5.h" + +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, B_1, C_1, A_1}, + {0, B_2, C_2, A_2}, + {0, B_3, C_3, A_3}, + {0, B_4, C_4, A_4}, + {0, B_5, C_5, A_5}, + {0, B_6, C_6, A_6}, + {0, B_7, C_7, A_7}, + {0, B_8, C_8, A_8}, + {0, B_9, C_9, A_9}, + {0, B_10, C_10, A_10}, + {0, B_11, C_11, A_11}, + {0, B_12, C_12, A_12}, + {0, B_13, C_13, A_13}, + + {0, E_1, F_1, D_1}, + {0, E_2, F_2, D_2}, + {0, E_3, F_3, D_3}, + {0, E_4, F_4, D_4}, + {0, E_5, F_5, D_5}, + {0, E_6, F_6, D_6}, + {0, E_7, F_7, D_7}, + {0, E_8, F_8, D_8}, + {0, E_9, F_9, D_9}, + {0, E_10, F_10, D_10}, + {0, E_11, F_11, D_11}, + {0, E_13, F_13, D_13}, + + {0, H_1, I_1, G_1}, + {0, H_2, I_2, G_2}, + {0, H_3, I_3, G_3}, + {0, H_4, I_4, G_4}, + {0, H_5, I_5, G_5}, + {0, H_6, I_6, G_6}, + {0, H_7, I_7, G_7}, + {0, H_8, I_8, G_8}, + {0, H_9, I_9, G_9}, + {0, H_10, I_10, G_10}, + {0, H_11, I_11, G_11}, + {0, H_12, I_12, G_12}, + {0, H_13, I_13, G_13}, + + {0, K_1, L_1, J_1}, + {0, K_2, L_2, J_2}, + {0, K_3, L_3, J_3}, + {0, K_4, L_4, J_4}, + {0, K_6, L_6, J_6}, + {0, K_8, L_8, J_8}, + {0, K_10, L_10, J_10}, + {0, K_11, L_11, J_11}, + {0, K_12, L_12, J_12}, + {0, K_13, L_13, J_13} +}; + +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }, + { 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, NO_LED, 24 }, + { 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 }, + { 38, 39, 40, 41, NO_LED, 42, NO_LED, 43, NO_LED, 44, 45, 46, 47 } +}, { + // LED Index to Physical Position + { 9, 8 }, + { 26, 8 }, + { 43, 8 }, + { 60, 8 }, + { 78, 8 }, + { 95, 8 }, + { 112, 8 }, + { 129, 8 }, + { 146, 8 }, + { 164, 8 }, + { 181, 8 }, + { 198, 8 }, + { 215, 8 }, + + { 11, 24 }, + { 30, 24 }, + { 47, 24 }, + { 64, 24 }, + { 82, 24 }, + { 99, 24 }, + { 116, 24 }, + { 134, 24 }, + { 151, 24 }, + { 168, 24 }, + { 185, 24 }, + { 209, 24 }, + + { 15, 40 }, + { 20, 22 }, + { 39, 40 }, + { 56, 40 }, + { 73, 40 }, + { 90, 40 }, + { 108, 40 }, + { 125, 40 }, + { 142, 40 }, + { 159, 40 }, + { 177, 40 }, + { 196, 40 }, + { 215, 40 }, + + { 11, 56 }, + { 30, 56 }, + { 47, 56 }, + { 64, 56 }, + { 88, 56 }, + { 127, 56 }, + { 159, 56 }, + { 177, 56 }, + { 194, 56 }, + { 213, 56 }, +}, { + // LED Index to Flag + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +} }; + +void rgb_matrix_indicators_kb(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(26, 255, 255, 255); + } else { + rgb_matrix_set_color(26, 0, 0, 0); + } +} diff --git a/keyboards/evyd13/atom47/rev5/rev5.h b/keyboards/evyd13/atom47/rev5/rev5.h new file mode 100644 index 000000000..874dc285a --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/rev5.h @@ -0,0 +1,38 @@ +/* +Copyright 2021 Evelien Dekkers + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +// readability +#define XXX KC_NO + +#define LAYOUT_all LAYOUT_split_space + +#define LAYOUT_split_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k35, k37, k39, k3a, k3b, k3c \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c} \ +} diff --git a/keyboards/evyd13/atom47/rev5/rules.mk b/keyboards/evyd13/atom47/rev5/rules.mk new file mode 100644 index 000000000..3f2f8d3dd --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/rules.mk @@ -0,0 +1,2 @@ +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = IS31FL3733 diff --git a/keyboards/evyd13/atom47/rules.mk b/keyboards/evyd13/atom47/rules.mk index 34a7f0ead..f86d6f607 100644 --- a/keyboards/evyd13/atom47/rules.mk +++ b/keyboards/evyd13/atom47/rules.mk @@ -2,26 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options -# comment out to disable the options. +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -AUDIO_ENABLE = no -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output -DEFAULT_FOLDER = evyd13/atom47/rev3 +DEFAULT_FOLDER = evyd13/atom47/rev4