[Keyboard] Refactor atom47 and add rev4 and rev5 (#13201)
Co-authored-by: Nick Brassel <nick@tzarc.org>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							374b388382
						
					
				
				
					commit
					81e19d61c0
				
			@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// These are all aliases for the  function layers.
 | 
					// These are all aliases for the  function layers.
 | 
				
			||||||
@@ -7,27 +24,27 @@
 | 
				
			|||||||
#define _L3 3
 | 
					#define _L3 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
[_L0] = LAYOUT(
 | 
					[_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_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_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_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),	\
 | 
					  KC_LCTL,		KC_LGUI,	KC_LALT,	TG(_L3),	KC_SPC, 				KC_SPC,					MO(_L2),	KC_RALT,	KC_APP,					KC_RCTRL),
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
[_L2] = LAYOUT(
 | 
					[_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_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,					_______,	\
 | 
					  KC_CAPS,		KC_MPRV,	KC_MPLY,	KC_MNXT,	_______,	_______,	KC_HOME,	KC_LEFT,	KC_DOWN,	KC_RIGHT,	KC_INS,					_______,
 | 
				
			||||||
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	BL_TOGG,	BL_DEC,		BL_INC,		_______,				_______,	\
 | 
					  _______,		_______,	_______,	_______,	_______,	_______,	_______,	BL_TOGG,	BL_DEC,		BL_INC,		_______,				_______,
 | 
				
			||||||
  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),	\
 | 
					  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
[_L1] = LAYOUT(
 | 
					[_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_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_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,				_______,	\
 | 
					  _______,		_______,	_______,	_______,	_______,	KC_QUOT,	KC_SLSH,	KC_LBRC,	KC_RBRC,	KC_BSLS,	KC_RSFT,				_______,
 | 
				
			||||||
  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),	\
 | 
					  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
[_L3] = LAYOUT(
 | 
					[_L3] = LAYOUT_split_space(
 | 
				
			||||||
  _______,		_______,	_______,	   KC_7,	   KC_8,	   KC_9,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	\
 | 
					  _______,		_______,	_______,	   KC_7,	   KC_8,	   KC_9,	_______,	_______,	_______,	_______,	_______,	_______,	_______,
 | 
				
			||||||
  _______,		_______,	_______,	   KC_4,	   KC_5,	   KC_6,	_______,	_______,	_______,	_______,	_______,				_______,	\
 | 
					  _______,		_______,	_______,	   KC_4,	   KC_5,	   KC_6,	_______,	_______,	_______,	_______,	_______,				_______,
 | 
				
			||||||
  _______,		_______,	_______,	   KC_1,	   KC_2,	   KC_3,	_______,	_______,	_______,	_______,	_______,				_______,	\
 | 
					  _______,		_______,	_______,	   KC_1,	   KC_2,	   KC_3,	_______,	_______,	_______,	_______,	_______,				_______,
 | 
				
			||||||
  _______,		_______,	_______,	   _______,    KC_0,	  KC_DOT, 	        	            _______,	_______,	_______,				RESET),     \
 | 
					  _______,		_______,	_______,	   _______,    KC_0,	  KC_DOT, 	        	            _______,	_______,	_______,				RESET)
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
 | 
					// Each layer gets a name for readability, which is then used in the keymap matrix below.
 | 
				
			||||||
@@ -11,40 +28,27 @@
 | 
				
			|||||||
#define _PN 3 //Pn
 | 
					#define _PN 3 //Pn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
[_MA] = LAYOUT(
 | 
					[_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_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_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_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),	\
 | 
					  KC_LCTL,  KC_LGUI,  KC_LALT,  MO(_PN),            KC_SPC,             KC_SPC,             MO(_FN),  KC_RALT,  KC_APP,   KC_RCTRL),
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
[_FN] = LAYOUT(
 | 
					[_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_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,					_______,	\
 | 
					  KC_CAPS,  KC_MPRV,  KC_MPLY,  KC_MNXT,  _______,  _______,  KC_HOME,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_INS,             _______,
 | 
				
			||||||
  _______,					_______,	_______,	_______,	_______,	_______,	_______,	BL_TOGG,	BL_DEC,		BL_INC,		_______,	_______,	\
 | 
					  _______,            _______,  _______,  _______,  _______,  _______,  _______,  BL_TOGG,  BL_DEC,   BL_INC,   _______,  _______,
 | 
				
			||||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______),	\
 | 
					  _______,  _______,  _______,  _______,            _______,            _______,            _______,  _______,  _______,  _______),
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
[_FN1] = LAYOUT(
 | 
					[_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_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_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,	_______,	\
 | 
					  _______,            _______,  _______,  _______,  _______,  KC_QUOT,  KC_SLSH,  KC_LBRC,  KC_RBRC,  KC_BSLS,  KC_RSFT,  _______,
 | 
				
			||||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______),	\
 | 
					  _______,  _______,  _______,  _______,            _______,            _______,            _______,  _______,  _______,  _______),
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
[_PN] = LAYOUT(
 | 
					[_PN] = LAYOUT_split_space(
 | 
				
			||||||
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	\
 | 
					  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
				
			||||||
  RGB_TOG,		RGB_HUI,	RGB_SAI,	RGB_VAI,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	\
 | 
					  RGB_TOG,  RGB_HUI,  RGB_SAI,  RGB_VAI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
				
			||||||
  RGB_MOD,					RGB_HUD,	RGB_SAD,	RGB_VAD,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	\
 | 
					  RGB_MOD,            RGB_HUD,  RGB_SAD,  RGB_VAD,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
				
			||||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	RESET),
 | 
					  _______,  _______,  _______,  _______,            _______,            _______,            _______,  _______,  _______,  RESET),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					 | 
				
			||||||
void led_set_user(uint8_t usb_led) {
 | 
					 | 
				
			||||||
    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
 | 
					 | 
				
			||||||
        // Turn capslock on
 | 
					 | 
				
			||||||
 	   	PORTE &= ~(1 << 6);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        // Turn capslock off
 | 
					 | 
				
			||||||
    	PORTE |= (1 << 6);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
 | 
					// 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 _LO 1 //FN1
 | 
				
			||||||
#define _RA 2 //FN
 | 
					#define _RA 2 //FN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
    CTRLZ = SAFE_RANGE,
 | 
					 | 
				
			||||||
    CTRLX,
 | 
					 | 
				
			||||||
    CTRLC,
 | 
					 | 
				
			||||||
    CTRLV
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
[_MA] = LAYOUT(
 | 
					[_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_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_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_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),	\
 | 
					  KC_LCTL,  KC_LGUI,  KC_LALT,    MO(_LO),                KC_SPC,              KC_SPC,              MO(_RA),   KC_RALT,  KC_APP,   KC_RCTRL),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[_LO] = LAYOUT(
 | 
					[_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_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_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,	_______,	\
 | 
					  _______,            LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______,  _______,  KC_QUOT,  KC_LBRC,   KC_RBRC,  KC_BSLS,  _______,
 | 
				
			||||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	RESET),	\
 | 
					  _______,  _______,  _______,    _______,                _______,              _______,            _______,   _______,  _______,  RESET),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[_RA] = LAYOUT(
 | 
					[_RA] = LAYOUT_split_space(
 | 
				
			||||||
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	KC_PGUP,	KC_UP,		KC_PGDN,	_______,	_______,	_______,	\
 | 
					  _______,  _______,  _______,    _______,    _______,    _______,    _______,  KC_PGUP,  KC_UP,    KC_PGDN,   _______,  _______,  _______,
 | 
				
			||||||
  KC_CAPS,		_______,	_______,	_______,	_______,	_______,	_______,	KC_LEFT,	KC_DOWN,	KC_RIGHT,	_______,				_______,	\
 | 
					  KC_CAPS,  _______,  _______,    _______,    _______,    _______,    _______,  KC_LEFT,  KC_DOWN,  KC_RIGHT,  _______,            _______,
 | 
				
			||||||
  _______,					_______,	_______,	_______,	_______,	_______,	_______,	_______,	KC_VOLD,	KC_VOLU,	KC_MPLY,	KC_PSCR,	\
 | 
					  _______,            _______,    _______,    _______,    _______,    _______,  _______,  _______,  KC_VOLD,   KC_VOLU,  KC_MPLY,  KC_PSCR,
 | 
				
			||||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______),	\
 | 
					  _______,  _______,  _______,    _______,                _______,              _______,            _______,   _______,  _______,  _______)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void led_set_user(uint8_t usb_led) {
 | 
					 | 
				
			||||||
    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
 | 
					 | 
				
			||||||
        // Turn capslock on
 | 
					 | 
				
			||||||
		PORTE &= ~(1 << 6);
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        // Turn capslock off
 | 
					 | 
				
			||||||
    	PORTE |= (1 << 6);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
    if (record->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;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* enum custom_keycodes {
 | 
					/* enum custom_keycodes {
 | 
				
			||||||
@@ -35,7 +52,7 @@
 | 
				
			|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	// Primary layer	
 | 
						// 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_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_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,
 | 
						  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
 | 
						// 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_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_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,	_______,	
 | 
						  _______,					_______,    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
 | 
						// 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_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_LCBR, 	KC_RCBR,	_______,	_______,	KC_4,		KC_5,		KC_6,	 	KC_MINUS, 				KC_BSLS, 	
 | 
				
			||||||
	  _______,					_______,	_______,	_______,	_______,	_______,	_______,	KC_1,		KC_2,		KC_3,		KC_EQUAL,	_______,	
 | 
						  _______,					_______,	_______,	_______,	_______,	_______,	_______,	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
 | 
						// 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_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_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,	_______,	
 | 
						  _______,					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
 | 
						// 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
 | 
						// Safety layer for special functions
 | 
				
			||||||
	[_ADJUST] = LAYOUT(
 | 
						[_ADJUST] = LAYOUT_split_space(
 | 
				
			||||||
	  _______,		RESET,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,
 | 
						  _______,		RESET,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,
 | 
				
			||||||
	  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,				_______,
 | 
						  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,				_______,
 | 
				
			||||||
	  _______,					_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	DP_ON,
 | 
						  _______,					_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	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_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_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_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
 | 
						  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_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_F1,   	KC_F2,   	KC_F3,   	KC_F4,   	KC_F5,   	KC_F6,					_______,
 | 
				
			||||||
	  _______,					_______,	_______,	_______,	_______,	KC_F7,   	KC_F8,   	KC_F9,   	KC_F10,  	KC_F11,  	KC_F12,		_______,
 | 
						  _______,					_______,	_______,	_______,	_______,	KC_F7,   	KC_F8,   	KC_F9,   	KC_F10,  	KC_F11,  	KC_F12,		_______,
 | 
				
			||||||
	  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______
 | 
						  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______
 | 
				
			||||||
	),
 | 
						)
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					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;
 | 
					  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);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										44
									
								
								keyboards/evyd13/atom47/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								keyboards/evyd13/atom47/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#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),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										1
									
								
								keyboards/evyd13/atom47/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/evyd13/atom47/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					VIA_ENABLE = yes
 | 
				
			||||||
@@ -3,24 +3,13 @@
 | 
				
			|||||||

 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Support
 | 
					## Support
 | 
				
			||||||
Keyboard Maintainer: [Evyd13](https://github.com/evyd13)  
 | 
					* Keyboard Maintainer: [Evelien Dekkers](https://github.com/evyd13)
 | 
				
			||||||
Hardware Supported: Atom47 rev2/rev3
 | 
					* Hardware Supported: Atom47 rev2/rev3/rev4/rev5
 | 
				
			||||||
Hardware Availability: [GeekHack.com Group Buy](https://geekhack.org/index.php?topic=93447.msg2545221)  
 | 
					* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/atom47)
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 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  
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Build
 | 
					## 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||

 | 
					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).
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
Copyright 2012 Evy Dekkers
 | 
					Copyright 2021 Evelien Dekkers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This program is free software: you can redistribute it and/or modify
 | 
					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
 | 
					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 <http://www.gnu.org/licenses/>.
 | 
					along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef REV2_CONFIG_H
 | 
					#pragma once
 | 
				
			||||||
#define REV2_CONFIG_H
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "config_common.h"
 | 
					#include "config_common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* USB Device descriptor parameter */
 | 
					/* USB Device descriptor parameter */
 | 
				
			||||||
#define VENDOR_ID       0xFEED
 | 
					#define VENDOR_ID       0x4705
 | 
				
			||||||
#define PRODUCT_ID      0x6060
 | 
					#define PRODUCT_ID      0x8E66
 | 
				
			||||||
#define DEVICE_VER      0x0003
 | 
					#define DEVICE_VER      0x0001
 | 
				
			||||||
#define MANUFACTURER    Vortex
 | 
					#define MANUFACTURER    Evyd13
 | 
				
			||||||
#define PRODUCT         Core
 | 
					#define PRODUCT         Atom47 rev2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* key matrix size */
 | 
					/* key matrix size */
 | 
				
			||||||
#define MATRIX_ROWS 4
 | 
					#define MATRIX_ROWS 4
 | 
				
			||||||
@@ -37,7 +36,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4}
 | 
					#define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4}
 | 
				
			||||||
#define UNUSED_PINS
 | 
					#define UNUSED_PINS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define BACKLIGHT_PIN B6
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* COL2ROW or ROW2COL */
 | 
					/* COL2ROW or ROW2COL */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
@@ -55,13 +53,15 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* Backlight configuration
 | 
					/* Backlight configuration
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					#define BACKLIGHT_PIN B6
 | 
				
			||||||
 | 
					#define BACKLIGHT_BREATHING
 | 
				
			||||||
#define BACKLIGHT_LEVELS 4
 | 
					#define BACKLIGHT_LEVELS 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define LED_CAPS_LOCK_PIN F5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define RGB_DI_PIN D0    // The pin the LED strip is connected to
 | 
					#define RGB_DI_PIN D0    // The pin the LED strip is connected to
 | 
				
			||||||
#define RGBLED_NUM 1     // Number of LEDs in your strip
 | 
					#define RGBLED_NUM 1     // Number of LEDs in your strip
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define QMK_ESC_OUTPUT D7 // usually COL
 | 
					#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
 | 
					#define QMK_LED B6
 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,63 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "keyboard_name": "Atom47", 
 | 
					    "keyboard_name": "Atom47 rev2", 
 | 
				
			||||||
  "url": "", 
 | 
					    "url": "", 
 | 
				
			||||||
  "maintainer": "evyd13", 
 | 
					    "maintainer": "evyd13", 
 | 
				
			||||||
  "width": 13, 
 | 
					    "width": 13, 
 | 
				
			||||||
  "height": 4, 
 | 
					    "height": 4, 
 | 
				
			||||||
  "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
    "LAYOUT": {
 | 
					        "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": [
 | 
				
			||||||
 | 
					                {"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}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "rev2.h"
 | 
					#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<<USB_LED_CAPS_LOCK)) {
 | 
					 | 
				
			||||||
        // Turn capslock on
 | 
					 | 
				
			||||||
        PORTF |= (1<<5);
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        // Turn capslock off
 | 
					 | 
				
			||||||
        PORTF &= ~(1<<5);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
	led_set_user(usb_led);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,25 +1,41 @@
 | 
				
			|||||||
#ifndef ATOM47_H
 | 
					/*
 | 
				
			||||||
#define ATOM47_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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "quantum.h"
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// readability
 | 
					// readability
 | 
				
			||||||
#define XXX KC_NO
 | 
					#define XXX KC_NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define LAYOUT( \
 | 
					#define LAYOUT_all 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, \
 | 
					#define LAYOUT_split_space( \
 | 
				
			||||||
	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a,      k2c, \
 | 
					  k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
 | 
				
			||||||
	k30, k31, k32, k33, k34,      k36,      k38, k39, k3a,      k3c \
 | 
					  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}, \
 | 
					  {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}, \
 | 
					  {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}, \
 | 
					  {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}  \
 | 
					  {k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c}  \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void matrix_init_user(void);
 | 
					void matrix_init_user(void);
 | 
				
			||||||
void matrix_scan_user(void);
 | 
					void matrix_scan_user(void);
 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					# Build Options
 | 
				
			||||||
RGBLIGHT_ENABLE = no   # Enable keyboard underlight functionality
 | 
					RGBLIGHT_ENABLE = no
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
Copyright 2012 Evy Dekkers
 | 
					Copyright 2021 Evelien Dekkers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This program is free software: you can redistribute it and/or modify
 | 
					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
 | 
					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 <http://www.gnu.org/licenses/>.
 | 
					along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef REV3_CONFIG_H
 | 
					#pragma once
 | 
				
			||||||
#define REV3_CONFIG_H
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "config_common.h"
 | 
					#include "config_common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* USB Device descriptor parameter */
 | 
					/* USB Device descriptor parameter */
 | 
				
			||||||
#define VENDOR_ID       0xFEED
 | 
					#define VENDOR_ID       0x4705
 | 
				
			||||||
#define PRODUCT_ID      0x6060
 | 
					#define PRODUCT_ID      0x0E6D
 | 
				
			||||||
#define DEVICE_VER      0x0003
 | 
					#define DEVICE_VER      0x0001
 | 
				
			||||||
#define MANUFACTURER    Vortex
 | 
					#define MANUFACTURER    Evyd13
 | 
				
			||||||
#define PRODUCT         Core
 | 
					#define PRODUCT         Atom47 rev3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* key matrix size */
 | 
					/* key matrix size */
 | 
				
			||||||
#define MATRIX_ROWS 4
 | 
					#define MATRIX_ROWS 4
 | 
				
			||||||
@@ -37,7 +36,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#define MATRIX_COL_PINS {B7,F0,F1,F4,F6,D4,D6,D7,B4,B5,C6,C7,F7}
 | 
					#define MATRIX_COL_PINS {B7,F0,F1,F4,F6,D4,D6,D7,B4,B5,C6,C7,F7}
 | 
				
			||||||
#define UNUSED_PINS
 | 
					#define UNUSED_PINS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define BACKLIGHT_PIN B6
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* COL2ROW or ROW2COL */
 | 
					/* COL2ROW or ROW2COL */
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
@@ -50,13 +48,15 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* Backlight configuration
 | 
					/* 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 RGB_DI_PIN F5    // The pin the LED strip is connected to
 | 
				
			||||||
#define RGBLED_NUM 6     // Number of LEDs in your strip
 | 
					#define RGBLED_NUM 6     // Number of LEDs in your strip
 | 
				
			||||||
#define RGBLIGHT_ANIMATIONS
 | 
					#define RGBLIGHT_ANIMATIONS
 | 
				
			||||||
#define QMK_ESC_OUTPUT B7 // usually COL
 | 
					#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
 | 
					#define QMK_LED E6
 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,114 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "keyboard_name": "Atom47", 
 | 
					    "keyboard_name": "Atom47 rev3", 
 | 
				
			||||||
  "url": "", 
 | 
					    "url": "", 
 | 
				
			||||||
  "maintainer": "evyd13", 
 | 
					    "maintainer": "evyd13", 
 | 
				
			||||||
  "width": 13, 
 | 
					    "width": 13, 
 | 
				
			||||||
  "height": 4, 
 | 
					    "height": 4, 
 | 
				
			||||||
  "layouts": {
 | 
					    "layouts": {
 | 
				
			||||||
    "LAYOUT": {
 | 
					        "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": [
 | 
				
			||||||
 | 
					                {"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}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "rev3.h"
 | 
					#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);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "quantum.h"
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// readability
 | 
					// readability
 | 
				
			||||||
#define XXX KC_NO
 | 
					#define XXX KC_NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define LAYOUT( \
 | 
					#define LAYOUT_all 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, \
 | 
					#define LAYOUT_split_space( \
 | 
				
			||||||
	k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
 | 
					  k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
 | 
				
			||||||
	k30, k31, k32, k33,      k35,      k37,      k39, k3a, k3b, k3c \
 | 
					  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}, \
 | 
					  {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}, \
 | 
					  {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}, \
 | 
					  {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}  \
 | 
					  {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c}  \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define LAYOUT_full_space( \
 | 
				
			||||||
#endif
 | 
					  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}  \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										58
									
								
								keyboards/evyd13/atom47/rev4/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								keyboards/evyd13/atom47/rev4/config.h
									
									
									
									
									
										Normal file
									
								
							@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#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
 | 
				
			||||||
							
								
								
									
										114
									
								
								keyboards/evyd13/atom47/rev4/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								keyboards/evyd13/atom47/rev4/info.json
									
									
									
									
									
										Normal file
									
								
							@@ -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}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										18
									
								
								keyboards/evyd13/atom47/rev4/rev4.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								keyboards/evyd13/atom47/rev4/rev4.c
									
									
									
									
									
										Normal file
									
								
							@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "rev4.h"
 | 
				
			||||||
							
								
								
									
										51
									
								
								keyboards/evyd13/atom47/rev4/rev4.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								keyboards/evyd13/atom47/rev4/rev4.h
									
									
									
									
									
										Normal file
									
								
							@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#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}  \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										7
									
								
								keyboards/evyd13/atom47/rev4/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								keyboards/evyd13/atom47/rev4/rules.mk
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					# MCU name
 | 
				
			||||||
 | 
					MCU = atmega32u2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					ENCODER_ENABLE = yes
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = no
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = no
 | 
				
			||||||
							
								
								
									
										164
									
								
								keyboards/evyd13/atom47/rev5/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								keyboards/evyd13/atom47/rev5/config.h
									
									
									
									
									
										Normal file
									
								
							@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#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
 | 
				
			||||||
							
								
								
									
										63
									
								
								keyboards/evyd13/atom47/rev5/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								keyboards/evyd13/atom47/rev5/info.json
									
									
									
									
									
										Normal file
									
								
							@@ -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}
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										153
									
								
								keyboards/evyd13/atom47/rev5/rev5.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										153
									
								
								keyboards/evyd13/atom47/rev5/rev5.c
									
									
									
									
									
										Normal file
									
								
							@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										38
									
								
								keyboards/evyd13/atom47/rev5/rev5.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								keyboards/evyd13/atom47/rev5/rev5.h
									
									
									
									
									
										Normal file
									
								
							@@ -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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#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}  \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										2
									
								
								keyboards/evyd13/atom47/rev5/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/evyd13/atom47/rev5/rules.mk
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					RGB_MATRIX_ENABLE = yes
 | 
				
			||||||
 | 
					RGB_MATRIX_DRIVER = IS31FL3733
 | 
				
			||||||
@@ -2,26 +2,23 @@
 | 
				
			|||||||
MCU = atmega32u4
 | 
					MCU = atmega32u4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Bootloader selection
 | 
					# 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
 | 
					BOOTLOADER = qmk-dfu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Build Options
 | 
					# Build Options
 | 
				
			||||||
#   comment out to disable the options.
 | 
					#   change yes to no to disable
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 | 
					BOOTMAGIC_ENABLE = lite     # Enable Bootmagic Lite
 | 
				
			||||||
MOUSEKEY_ENABLE = no	# Mouse keys
 | 
					MOUSEKEY_ENABLE = yes       # Mouse keys
 | 
				
			||||||
EXTRAKEY_ENABLE = yes	# Audio control and System control
 | 
					EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
				
			||||||
CONSOLE_ENABLE = no	# Console for debug
 | 
					CONSOLE_ENABLE = no         # Console for debug
 | 
				
			||||||
COMMAND_ENABLE = no    # Commands for debug and configuration
 | 
					COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
				
			||||||
BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
 | 
					# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
				
			||||||
AUDIO_ENABLE = no
 | 
					SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 | 
				
			||||||
UNICODE_ENABLE = no 		# Unicode
 | 
					# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
				
			||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
					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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user