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