[Keyboard] Refactor atom47 and add rev4 and rev5 (#13201)
Co-authored-by: Nick Brassel <nick@tzarc.org>
This commit is contained in:
		
							parent
							
								
									374b388382
								
							
						
					
					
						commit
						81e19d61c0
					
				
					 28 changed files with 1169 additions and 267 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
// These are all aliases for the  function layers.
 | 
			
		||||
| 
						 | 
				
			
			@ -7,27 +24,27 @@
 | 
			
		|||
#define _L3 3
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
[_L0] = LAYOUT(
 | 
			
		||||
  KC_ESC,		KC_Q,		KC_W,		KC_E,		KC_R,		KC_T,		KC_Y,		KC_U,		KC_I,		KC_O,		KC_P,		KC_DEL,		KC_BSPC,	\
 | 
			
		||||
  KC_TAB,		KC_A,		KC_S,		KC_D,		KC_F,		KC_G,		KC_H,		KC_J,		KC_K,		KC_L,		KC_SCLN,				KC_ENT,  	\
 | 
			
		||||
  KC_LSFT,		KC_Z,		KC_X,		KC_C,		KC_V,		KC_B,		KC_N,		KC_M,		KC_COMM,	KC_DOT,		KC_RSFT,				MO(_L1),	\
 | 
			
		||||
  KC_LCTL,		KC_LGUI,	KC_LALT,	TG(_L3),	KC_SPC, 				KC_SPC,					MO(_L2),	KC_RALT,	KC_APP,					KC_RCTRL),	\
 | 
			
		||||
[_L0] = LAYOUT_split_space(
 | 
			
		||||
  KC_ESC,		KC_Q,		KC_W,		KC_E,		KC_R,		KC_T,		KC_Y,		KC_U,		KC_I,		KC_O,		KC_P,		KC_DEL,		KC_BSPC,
 | 
			
		||||
  KC_TAB,		KC_A,		KC_S,		KC_D,		KC_F,		KC_G,		KC_H,		KC_J,		KC_K,		KC_L,		KC_SCLN,				KC_ENT,
 | 
			
		||||
  KC_LSFT,		KC_Z,		KC_X,		KC_C,		KC_V,		KC_B,		KC_N,		KC_M,		KC_COMM,	KC_DOT,		KC_RSFT,				MO(_L1),
 | 
			
		||||
  KC_LCTL,		KC_LGUI,	KC_LALT,	TG(_L3),	KC_SPC, 				KC_SPC,					MO(_L2),	KC_RALT,	KC_APP,					KC_RCTRL),
 | 
			
		||||
 
 | 
			
		||||
[_L2] = LAYOUT(
 | 
			
		||||
  _______,		KC_VOLD,	KC_VOLU,	KC_MUTE,	RESET,		_______,	KC_CALC,	KC_PGUP,	KC_UP,		KC_PGDN,	KC_PSCR,	KC_SLCK,	KC_PAUS,	\
 | 
			
		||||
  KC_CAPS,		KC_MPRV,	KC_MPLY,	KC_MNXT,	_______,	_______,	KC_HOME,	KC_LEFT,	KC_DOWN,	KC_RIGHT,	KC_INS,					_______,	\
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	BL_TOGG,	BL_DEC,		BL_INC,		_______,				_______,	\
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),	\
 | 
			
		||||
[_L2] = LAYOUT_split_space(
 | 
			
		||||
  _______,		KC_VOLD,	KC_VOLU,	KC_MUTE,	RESET,		_______,	KC_CALC,	KC_PGUP,	KC_UP,		KC_PGDN,	KC_PSCR,	KC_SLCK,	KC_PAUS,
 | 
			
		||||
  KC_CAPS,		KC_MPRV,	KC_MPLY,	KC_MNXT,	_______,	_______,	KC_HOME,	KC_LEFT,	KC_DOWN,	KC_RIGHT,	KC_INS,					_______,
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	BL_TOGG,	BL_DEC,		BL_INC,		_______,				_______,
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),
 | 
			
		||||
 
 | 
			
		||||
[_L1] = LAYOUT(
 | 
			
		||||
  KC_GRV,		KC_F1,		KC_F2,		KC_F3,		KC_F4,		KC_F5,		KC_F6,		KC_F7,		KC_F8,		KC_F9,		KC_F10,		KC_F11,		KC_F12,		\
 | 
			
		||||
  KC_1,			KC_2,		KC_3,		KC_4,		KC_5,		KC_6,		KC_7,		KC_8,		KC_9,		KC_0,		KC_MINS,				KC_EQL,		\
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______,	KC_QUOT,	KC_SLSH,	KC_LBRC,	KC_RBRC,	KC_BSLS,	KC_RSFT,				_______,	\
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),	\
 | 
			
		||||
[_L1] = LAYOUT_split_space(
 | 
			
		||||
  KC_GRV,		KC_F1,		KC_F2,		KC_F3,		KC_F4,		KC_F5,		KC_F6,		KC_F7,		KC_F8,		KC_F9,		KC_F10,		KC_F11,		KC_F12,
 | 
			
		||||
  KC_1,			KC_2,		KC_3,		KC_4,		KC_5,		KC_6,		KC_7,		KC_8,		KC_9,		KC_0,		KC_MINS,				KC_EQL,
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______,	KC_QUOT,	KC_SLSH,	KC_LBRC,	KC_RBRC,	KC_BSLS,	KC_RSFT,				_______,
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),
 | 
			
		||||
 
 | 
			
		||||
[_L3] = LAYOUT(
 | 
			
		||||
  _______,		_______,	_______,	   KC_7,	   KC_8,	   KC_9,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	\
 | 
			
		||||
  _______,		_______,	_______,	   KC_4,	   KC_5,	   KC_6,	_______,	_______,	_______,	_______,	_______,				_______,	\
 | 
			
		||||
  _______,		_______,	_______,	   KC_1,	   KC_2,	   KC_3,	_______,	_______,	_______,	_______,	_______,				_______,	\
 | 
			
		||||
  _______,		_______,	_______,	   _______,    KC_0,	  KC_DOT, 	        	            _______,	_______,	_______,				RESET),     \
 | 
			
		||||
[_L3] = LAYOUT_split_space(
 | 
			
		||||
  _______,		_______,	_______,	   KC_7,	   KC_8,	   KC_9,	_______,	_______,	_______,	_______,	_______,	_______,	_______,
 | 
			
		||||
  _______,		_______,	_______,	   KC_4,	   KC_5,	   KC_6,	_______,	_______,	_______,	_______,	_______,				_______,
 | 
			
		||||
  _______,		_______,	_______,	   KC_1,	   KC_2,	   KC_3,	_______,	_______,	_______,	_______,	_______,				_______,
 | 
			
		||||
  _______,		_______,	_______,	   _______,    KC_0,	  KC_DOT, 	        	            _______,	_______,	_______,				RESET)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
 | 
			
		||||
| 
						 | 
				
			
			@ -11,40 +28,27 @@
 | 
			
		|||
#define _PN 3 //Pn
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
[_MA] = LAYOUT(
 | 
			
		||||
  KC_ESC,		KC_Q,		KC_W,		KC_E,		KC_R,		KC_T,		KC_Y,		KC_U,		KC_I,		KC_O,		KC_P,		KC_DEL,		KC_BSPC,	\
 | 
			
		||||
  KC_TAB,		KC_A,		KC_S,		KC_D,		KC_F,		KC_G,		KC_H,		KC_J,		KC_K,		KC_L,		KC_SCLN,				KC_ENT,  	\
 | 
			
		||||
  KC_LSFT,					KC_Z,		KC_X,		KC_C,		KC_V,		KC_B,		KC_N,		KC_M,		KC_COMM,	KC_DOT,		KC_RSFT,	MO(_FN1),	\
 | 
			
		||||
  KC_LCTL,		KC_LGUI,	KC_LALT,	MO(_PN),				KC_SPC, 				KC_SPC,					MO(_FN),	KC_RALT,	KC_APP,		KC_RCTRL),	\
 | 
			
		||||
[_MA] = LAYOUT_split_space(
 | 
			
		||||
  KC_ESC,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_DEL,   KC_BSPC,
 | 
			
		||||
  KC_TAB,   KC_A,     KC_S,     KC_D,     KC_F,     KC_G,     KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,            KC_ENT,
 | 
			
		||||
  KC_LSFT,            KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_RSFT,  MO(_FN1),
 | 
			
		||||
  KC_LCTL,  KC_LGUI,  KC_LALT,  MO(_PN),            KC_SPC,             KC_SPC,             MO(_FN),  KC_RALT,  KC_APP,   KC_RCTRL),
 | 
			
		||||
 
 | 
			
		||||
[_FN] = LAYOUT(
 | 
			
		||||
  _______,		KC_VOLD,	KC_VOLU,	KC_MUTE,	RESET,		_______,	KC_CALC,	KC_PGUP,	KC_UP,		KC_PGDN,	KC_PSCR,	KC_SLCK,	KC_PAUS,	\
 | 
			
		||||
  KC_CAPS,		KC_MPRV,	KC_MPLY,	KC_MNXT,	_______,	_______,	KC_HOME,	KC_LEFT,	KC_DOWN,	KC_RIGHT,	KC_INS,					_______,	\
 | 
			
		||||
  _______,					_______,	_______,	_______,	_______,	_______,	_______,	BL_TOGG,	BL_DEC,		BL_INC,		_______,	_______,	\
 | 
			
		||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______),	\
 | 
			
		||||
[_FN] = LAYOUT_split_space(
 | 
			
		||||
  _______,  KC_VOLD,  KC_VOLU,  KC_MUTE,  RESET,    _______,  KC_CALC,  KC_PGUP,  KC_UP,    KC_PGDN,  KC_PSCR,  KC_SLCK,  KC_PAUS,
 | 
			
		||||
  KC_CAPS,  KC_MPRV,  KC_MPLY,  KC_MNXT,  _______,  _______,  KC_HOME,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_INS,             _______,
 | 
			
		||||
  _______,            _______,  _______,  _______,  _______,  _______,  _______,  BL_TOGG,  BL_DEC,   BL_INC,   _______,  _______,
 | 
			
		||||
  _______,  _______,  _______,  _______,            _______,            _______,            _______,  _______,  _______,  _______),
 | 
			
		||||
 
 | 
			
		||||
[_FN1] = LAYOUT(
 | 
			
		||||
  KC_GRV,		KC_F1,		KC_F2,		KC_F3,		KC_F4,		KC_F5,		KC_F6,		KC_F7,		KC_F8,		KC_F9,		KC_F10,		KC_F11,		KC_F12,		\
 | 
			
		||||
  KC_1,			KC_2,		KC_3,		KC_4,		KC_5,		KC_6,		KC_7,		KC_8,		KC_9,		KC_0,		KC_MINS,				KC_EQL,		\
 | 
			
		||||
  _______,					_______,	_______,	_______,	_______,	KC_QUOT,	KC_SLSH,	KC_LBRC,	KC_RBRC,	KC_BSLS,	KC_RSFT,	_______,	\
 | 
			
		||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______),	\
 | 
			
		||||
[_FN1] = LAYOUT_split_space(
 | 
			
		||||
  KC_GRV,   KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,
 | 
			
		||||
  KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,            KC_EQL,
 | 
			
		||||
  _______,            _______,  _______,  _______,  _______,  KC_QUOT,  KC_SLSH,  KC_LBRC,  KC_RBRC,  KC_BSLS,  KC_RSFT,  _______,
 | 
			
		||||
  _______,  _______,  _______,  _______,            _______,            _______,            _______,  _______,  _______,  _______),
 | 
			
		||||
 
 | 
			
		||||
[_PN] = LAYOUT(
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	\
 | 
			
		||||
  RGB_TOG,		RGB_HUI,	RGB_SAI,	RGB_VAI,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	\
 | 
			
		||||
  RGB_MOD,					RGB_HUD,	RGB_SAD,	RGB_VAD,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	\
 | 
			
		||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	RESET),
 | 
			
		||||
[_PN] = LAYOUT_split_space(
 | 
			
		||||
  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
  RGB_TOG,  RGB_HUI,  RGB_SAI,  RGB_VAI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
  RGB_MOD,            RGB_HUD,  RGB_SAD,  RGB_VAD,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
  _______,  _______,  _______,  _______,            _______,            _______,            _______,  _______,  _______,  RESET),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void led_set_user(uint8_t usb_led) {
 | 
			
		||||
    if (usb_led & (1<<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
 | 
			
		||||
 | 
			
		||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
 | 
			
		||||
| 
						 | 
				
			
			@ -9,60 +26,24 @@
 | 
			
		|||
#define _LO 1 //FN1
 | 
			
		||||
#define _RA 2 //FN
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
    CTRLZ = SAFE_RANGE,
 | 
			
		||||
    CTRLX,
 | 
			
		||||
    CTRLC,
 | 
			
		||||
    CTRLV
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
[_MA] = LAYOUT(
 | 
			
		||||
  KC_GESC,		KC_Q,		KC_W,		KC_E,		KC_R,		KC_T,		KC_Y,		KC_U,		KC_I,		KC_O,		KC_P,		KC_DEL,		KC_BSPC,	\
 | 
			
		||||
  KC_TAB,		KC_A,		KC_S,		KC_D,		KC_F,		KC_G,		KC_H,		KC_J,		KC_K,		KC_L,		KC_SCLN,				KC_ENT,  	\
 | 
			
		||||
  KC_LSFT,					KC_Z,		KC_X,		KC_C,		KC_V,		KC_B,		KC_N,		KC_M,		KC_COMM,	KC_DOT,		KC_SLSH,	KC_RSFT,	\
 | 
			
		||||
  KC_LCTL,		KC_LGUI,	KC_LALT,	MO(_LO),				KC_SPC, 				KC_SPC,					MO(_RA),	KC_RALT,	KC_APP,		KC_RCTRL),	\
 | 
			
		||||
[_MA] = LAYOUT_split_space(
 | 
			
		||||
  KC_GESC,  KC_Q,     KC_W,       KC_E,      KC_R,        KC_T,       KC_Y,    KC_U,      KC_I,     KC_O,      KC_P,     KC_DEL,   KC_BSPC,
 | 
			
		||||
  KC_TAB,   KC_A,     KC_S,       KC_D,      KC_F,        KC_G,       KC_H,    KC_J,      KC_K,     KC_L,      KC_SCLN,            KC_ENT,
 | 
			
		||||
  KC_LSFT,            KC_Z,       KC_X,      KC_C,        KC_V,       KC_B,    KC_N,      KC_M,     KC_COMM,   KC_DOT,   KC_SLSH,  KC_RSFT,
 | 
			
		||||
  KC_LCTL,  KC_LGUI,  KC_LALT,    MO(_LO),                KC_SPC,              KC_SPC,              MO(_RA),   KC_RALT,  KC_APP,   KC_RCTRL),
 | 
			
		||||
 | 
			
		||||
[_LO] = LAYOUT(
 | 
			
		||||
  KC_GRV,		KC_F1,		KC_F2,		KC_F3,		KC_F4,		KC_F5,		KC_F6,		KC_F7,		KC_F8,		KC_F9,		KC_F10,		KC_F11,		KC_F12,		\
 | 
			
		||||
  KC_1,			KC_2,		KC_3,		KC_4,		KC_5,		KC_6,		KC_7,		KC_8,		KC_9,		KC_0,		KC_MINS,				KC_EQL,		\
 | 
			
		||||
  _______,					CTRLZ,		CTRLX,		CTRLC,		CTRLV,		_______,	_______,	KC_QUOT,	KC_LBRC,	KC_RBRC,	KC_BSLS,	_______,	\
 | 
			
		||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	RESET),	\
 | 
			
		||||
[_LO] = LAYOUT_split_space(
 | 
			
		||||
  KC_GRV,   KC_F1,    KC_F2,      KC_F3,      KC_F4,      KC_F5,      KC_F6,    KC_F7,    KC_F8,    KC_F9,     KC_F10,   KC_F11,   KC_F12,
 | 
			
		||||
  KC_1,     KC_2,     KC_3,       KC_4,       KC_5,       KC_6,       KC_7,     KC_8,     KC_9,     KC_0,      KC_MINS,            KC_EQL,
 | 
			
		||||
  _______,            LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______,  _______,  KC_QUOT,  KC_LBRC,   KC_RBRC,  KC_BSLS,  _______,
 | 
			
		||||
  _______,  _______,  _______,    _______,                _______,              _______,            _______,   _______,  _______,  RESET),
 | 
			
		||||
 | 
			
		||||
[_RA] = LAYOUT(
 | 
			
		||||
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	KC_PGUP,	KC_UP,		KC_PGDN,	_______,	_______,	_______,	\
 | 
			
		||||
  KC_CAPS,		_______,	_______,	_______,	_______,	_______,	_______,	KC_LEFT,	KC_DOWN,	KC_RIGHT,	_______,				_______,	\
 | 
			
		||||
  _______,					_______,	_______,	_______,	_______,	_______,	_______,	_______,	KC_VOLD,	KC_VOLU,	KC_MPLY,	KC_PSCR,	\
 | 
			
		||||
  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______),	\
 | 
			
		||||
[_RA] = LAYOUT_split_space(
 | 
			
		||||
  _______,  _______,  _______,    _______,    _______,    _______,    _______,  KC_PGUP,  KC_UP,    KC_PGDN,   _______,  _______,  _______,
 | 
			
		||||
  KC_CAPS,  _______,  _______,    _______,    _______,    _______,    _______,  KC_LEFT,  KC_DOWN,  KC_RIGHT,  _______,            _______,
 | 
			
		||||
  _______,            _______,    _______,    _______,    _______,    _______,  _______,  _______,  KC_VOLD,   KC_VOLU,  KC_MPLY,  KC_PSCR,
 | 
			
		||||
  _______,  _______,  _______,    _______,                _______,              _______,            _______,   _______,  _______,  _______)
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void led_set_user(uint8_t usb_led) {
 | 
			
		||||
    if (usb_led & (1<<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
 | 
			
		||||
 | 
			
		||||
/* enum custom_keycodes {
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +52,7 @@
 | 
			
		|||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
	
 | 
			
		||||
	// Primary layer	
 | 
			
		||||
	[_MAIN] = LAYOUT(
 | 
			
		||||
	[_MAIN] = LAYOUT_split_space(
 | 
			
		||||
	  KC_ESC,		KC_Q,		KC_W,		KC_E,		KC_R,		KC_T,		KC_Y,		KC_U,		KC_I,		KC_O,		KC_P,		KC_DEL,		KC_BSPC,
 | 
			
		||||
	  KC_TAB,		KC_A,		KC_S,		KC_D,		KC_F,		KC_G,		KC_H,		KC_J,		KC_K,		KC_L,		KC_SCLN,				KC_QUOT,
 | 
			
		||||
	  KC_LSFT,					KC_Z,		KC_X,		KC_C,		KC_V,		KC_B,		KC_N,		KC_M,		KC_COMM,	KC_DOT,		KC_SLSH,	SHIFTEN,
 | 
			
		||||
| 
						 | 
				
			
			@ -43,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
	),
 | 
			
		||||
 | 
			
		||||
	// Main Fn navigation layer
 | 
			
		||||
	[_SPLEFT] = LAYOUT(
 | 
			
		||||
	[_SPLEFT] = LAYOUT_split_space(
 | 
			
		||||
	  _______,		KC_VOLU, 	KC_PGUP, 	KC_UP,   	KC_PGDN, 	KC_INS,  	_______, 	_______, 	KC_UP,   	_______, 	KC_PSCR,	_______,	_______,	
 | 
			
		||||
	  _______,		KC_VOLD, 	KC_LEFT, 	KC_DOWN, 	KC_RGHT, 	KC_HOME, 	_______, 	KC_LEFT, 	KC_DOWN, 	KC_RGHT, 	_______, 				KC_DEL , 	
 | 
			
		||||
	  _______,					_______,    KC_MPRV, 	KC_MPLY, 	KC_MNXT, 	KC_END,  	_______, 	_______, 	KC_VOLD, 	KC_VOLU, 	KC_MUTE,	_______,	
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
	),	
 | 
			
		||||
 | 
			
		||||
	// Primary numeric layer using right Spacebar
 | 
			
		||||
	[_SPRIGHT] = LAYOUT(
 | 
			
		||||
	[_SPRIGHT] = LAYOUT_split_space(
 | 
			
		||||
	  KC_GRV,		_______,	_______,	KC_LBRC, 	KC_RBRC,	_______,	_______,	KC_7,		KC_8,		KC_9,		KC_0,		_______,	_______,	
 | 
			
		||||
	  _______,		_______,	_______,	KC_LCBR, 	KC_RCBR,	_______,	_______,	KC_4,		KC_5,		KC_6,	 	KC_MINUS, 				KC_BSLS, 	
 | 
			
		||||
	  _______,					_______,	_______,	_______,	_______,	_______,	_______,	KC_1,		KC_2,		KC_3,		KC_EQUAL,	_______,	
 | 
			
		||||
| 
						 | 
				
			
			@ -59,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
	),	
 | 
			
		||||
 | 
			
		||||
	// Secondary symbol layer, also Lower
 | 
			
		||||
	[_LOWER] = LAYOUT(
 | 
			
		||||
	[_LOWER] = LAYOUT_split_space(
 | 
			
		||||
	  KC_TILD, 		_______,	_______,	_______,	_______,	_______,	_______, 	KC_AMPR, 	KC_ASTR, 	KC_LPRN, 	KC_RPRN,	KC_SLCK,	KC_PAUS,	
 | 
			
		||||
	  KC_CAPS,		KC_F1,   	KC_F2,   	KC_F3,   	KC_F4,   	KC_F5,   	KC_F6,		KC_DLR,  	KC_PERC, 	KC_CIRC, 	KC_UNDS, 				KC_PIPE,	
 | 
			
		||||
	  _______,					KC_F7,   	KC_F8,   	KC_F9,   	KC_F10,  	KC_F11,  	KC_F12,		KC_EXLM, 	KC_AT,   	KC_HASH, 	KC_PLUS,	_______,	
 | 
			
		||||
| 
						 | 
				
			
			@ -67,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
	),	
 | 
			
		||||
	  
 | 
			
		||||
	// Numpad layer // Also a homage to Planck with the media player/pause button
 | 
			
		||||
	[_RAISE] = LAYOUT(
 | 
			
		||||
	[_RAISE] = LAYOUT_split_space(
 | 
			
		||||
	  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	
 | 
			
		||||
	  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,				_______,
 | 
			
		||||
	  _______,					_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	
 | 
			
		||||
| 
						 | 
				
			
			@ -75,26 +92,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
	),	
 | 
			
		||||
 | 
			
		||||
	// Safety layer for special functions
 | 
			
		||||
	[_ADJUST] = LAYOUT(
 | 
			
		||||
	[_ADJUST] = LAYOUT_split_space(
 | 
			
		||||
	  _______,		RESET,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,
 | 
			
		||||
	  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,				_______,
 | 
			
		||||
	  _______,					_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	DP_ON,
 | 
			
		||||
	  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______
 | 
			
		||||
	),
 | 
			
		||||
	
 | 
			
		||||
	[_DPAD] = LAYOUT(
 | 
			
		||||
	[_DPAD] = LAYOUT_split_space(
 | 
			
		||||
	  KC_ESC,		KC_Q,		KC_W,		KC_E,		KC_R,		KC_T,		KC_Y,		KC_U,		KC_I,		KC_O,		KC_P,		KC_DEL,		KC_BSPC,
 | 
			
		||||
	  KC_TAB,		KC_A,		KC_S,		KC_D,		KC_F,		KC_G,		KC_H,		KC_J,		KC_K,		KC_L,		KC_SCLN,				KC_QUOT,
 | 
			
		||||
	  KC_LSFT,					KC_Z,		KC_X,		KC_C,		KC_V,		KC_B,		KC_N,		KC_M,		KC_COMM,	KC_DOT,		KC_UP,		KC_ENT,
 | 
			
		||||
	  KC_LCTL,		KC_LGUI,	KC_LALT,	XXXXXXX,				DPADNUM, 				KC_SPC,					DP_OFF,		KC_LEFT,	KC_DOWN,	KC_RGHT
 | 
			
		||||
	),
 | 
			
		||||
	
 | 
			
		||||
	[_DPADNUM] = LAYOUT(
 | 
			
		||||
	[_DPADNUM] = LAYOUT_split_space(
 | 
			
		||||
	  _______,		KC_1,		KC_2,		KC_3,		KC_4,		KC_5,		KC_6,		KC_7,		KC_8,		KC_9,		KC_0,		_______,	_______,
 | 
			
		||||
	  _______,		_______,	_______,	_______,	_______,	KC_F1,   	KC_F2,   	KC_F3,   	KC_F4,   	KC_F5,   	KC_F6,					_______,
 | 
			
		||||
	  _______,					_______,	_______,	_______,	_______,	KC_F7,   	KC_F8,   	KC_F9,   	KC_F10,  	KC_F11,  	KC_F12,		_______,
 | 
			
		||||
	  _______,		_______,	_______,	_______,				_______, 				_______,				_______,	_______,	_______,	_______
 | 
			
		||||
	),
 | 
			
		||||
	)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
| 
						 | 
				
			
			@ -136,15 +153,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void led_set_user(uint8_t usb_led) {
 | 
			
		||||
    if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
 | 
			
		||||
        // Turn capslock on
 | 
			
		||||
 	   	writePinLow(E6);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    } else {
 | 
			
		||||
        // Turn capslock off
 | 
			
		||||
    	writePinHigh(E6);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										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
 | 
			
		||||
Keyboard Maintainer: [Evyd13](https://github.com/evyd13)  
 | 
			
		||||
Hardware Supported: Atom47 rev2/rev3
 | 
			
		||||
Hardware Availability: [GeekHack.com Group Buy](https://geekhack.org/index.php?topic=93447.msg2545221)  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Features (rev3 and up)
 | 
			
		||||
- QMK Firmware  
 | 
			
		||||
- 6 Underglow RGB leds  
 | 
			
		||||
- In-switch leds  
 | 
			
		||||
- Through-hole micro usb connector (less likely to break off!)  
 | 
			
		||||
- South facing leds for the QMX/Zealencio users  
 | 
			
		||||
- Multiple layouts  
 | 
			
		||||
- Easily reachable reset button under the spacebar  
 | 
			
		||||
- CapsLock indicator  
 | 
			
		||||
* Keyboard Maintainer: [Evelien Dekkers](https://github.com/evyd13)
 | 
			
		||||
* Hardware Supported: Atom47 rev2/rev3/rev4/rev5
 | 
			
		||||
* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/atom47)
 | 
			
		||||
 | 
			
		||||
## Build
 | 
			
		||||
To build the default keymap for the latest revision, simply run `make atom47:default`. Specifiy the revision like so: `make atom47/rev3:default`.
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
 | 
			
		||||
    make evyd13/atom47/rev5:default
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
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
 | 
			
		||||
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/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef REV2_CONFIG_H
 | 
			
		||||
#define REV2_CONFIG_H
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "config_common.h"
 | 
			
		||||
 | 
			
		||||
/* USB Device descriptor parameter */
 | 
			
		||||
#define VENDOR_ID       0xFEED
 | 
			
		||||
#define PRODUCT_ID      0x6060
 | 
			
		||||
#define DEVICE_VER      0x0003
 | 
			
		||||
#define MANUFACTURER    Vortex
 | 
			
		||||
#define PRODUCT         Core
 | 
			
		||||
#define VENDOR_ID       0x4705
 | 
			
		||||
#define PRODUCT_ID      0x8E66
 | 
			
		||||
#define DEVICE_VER      0x0001
 | 
			
		||||
#define MANUFACTURER    Evyd13
 | 
			
		||||
#define PRODUCT         Atom47 rev2
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
#define MATRIX_ROWS 4
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +36,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4}
 | 
			
		||||
#define UNUSED_PINS
 | 
			
		||||
 | 
			
		||||
#define BACKLIGHT_PIN B6
 | 
			
		||||
 | 
			
		||||
/* COL2ROW or ROW2COL */
 | 
			
		||||
#define DIODE_DIRECTION COL2ROW
 | 
			
		||||
| 
						 | 
				
			
			@ -55,13 +53,15 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
/* Backlight configuration
 | 
			
		||||
 */
 | 
			
		||||
#define BACKLIGHT_PIN B6
 | 
			
		||||
#define BACKLIGHT_BREATHING
 | 
			
		||||
#define BACKLIGHT_LEVELS 4
 | 
			
		||||
 | 
			
		||||
#define LED_CAPS_LOCK_PIN F5
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN D0    // The pin the LED strip is connected to
 | 
			
		||||
#define RGBLED_NUM 1     // Number of LEDs in your strip
 | 
			
		||||
 | 
			
		||||
#define QMK_ESC_OUTPUT D7 // usually COL
 | 
			
		||||
#define QMK_ESC_INPUT B1 // usually ROW
 | 
			
		||||
#define QMK_ESC_INPUT B7 // usually ROW
 | 
			
		||||
#define QMK_LED B6
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +1,63 @@
 | 
			
		|||
{
 | 
			
		||||
  "keyboard_name": "Atom47", 
 | 
			
		||||
  "url": "", 
 | 
			
		||||
  "maintainer": "evyd13", 
 | 
			
		||||
  "width": 13, 
 | 
			
		||||
  "height": 4, 
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}]
 | 
			
		||||
    "keyboard_name": "Atom47 rev2", 
 | 
			
		||||
    "url": "", 
 | 
			
		||||
    "maintainer": "evyd13", 
 | 
			
		||||
    "width": 13, 
 | 
			
		||||
    "height": 4, 
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_split_space": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x":0, "y":0},
 | 
			
		||||
                {"x":1, "y":0},
 | 
			
		||||
                {"x":2, "y":0},
 | 
			
		||||
                {"x":3, "y":0},
 | 
			
		||||
                {"x":4, "y":0},
 | 
			
		||||
                {"x":5, "y":0},
 | 
			
		||||
                {"x":6, "y":0},
 | 
			
		||||
                {"x":7, "y":0},
 | 
			
		||||
                {"x":8, "y":0},
 | 
			
		||||
                {"x":9, "y":0},
 | 
			
		||||
                {"x":10, "y":0},
 | 
			
		||||
                {"x":11, "y":0},
 | 
			
		||||
                {"x":12, "y":0},
 | 
			
		||||
                
 | 
			
		||||
                {"x":0, "y":1, "w":1.25},
 | 
			
		||||
                {"x":1.25, "y":1},
 | 
			
		||||
                {"x":2.25, "y":1},
 | 
			
		||||
                {"x":3.25, "y":1},
 | 
			
		||||
                {"x":4.25, "y":1},
 | 
			
		||||
                {"x":5.25, "y":1},
 | 
			
		||||
                {"x":6.25, "y":1},
 | 
			
		||||
                {"x":7.25, "y":1},
 | 
			
		||||
                {"x":8.25, "y":1},
 | 
			
		||||
                {"x":9.25, "y":1},
 | 
			
		||||
                {"x":10.25, "y":1},
 | 
			
		||||
                {"x":11.25, "y":1, "w":1.75},
 | 
			
		||||
                
 | 
			
		||||
                {"x":0, "y":2, "w":1.75},
 | 
			
		||||
                {"x":1.75, "y":2},
 | 
			
		||||
                {"x":2.75, "y":2},
 | 
			
		||||
                {"x":3.75, "y":2},
 | 
			
		||||
                {"x":4.75, "y":2},
 | 
			
		||||
                {"x":5.75, "y":2},
 | 
			
		||||
                {"x":6.75, "y":2},
 | 
			
		||||
                {"x":7.75, "y":2},
 | 
			
		||||
                {"x":8.75, "y":2},
 | 
			
		||||
                {"x":9.75, "y":2},
 | 
			
		||||
                {"x":10.75, "y":2, "w":1.25},
 | 
			
		||||
                {"x":12, "y":2},
 | 
			
		||||
                
 | 
			
		||||
                {"x":0, "y":3, "w":1.25},
 | 
			
		||||
                {"x":1.25, "y":3},
 | 
			
		||||
                {"x":2.25, "y":3},
 | 
			
		||||
                {"x":3.25, "y":3},
 | 
			
		||||
                {"x":4.25, "y":3, "w":1.75},
 | 
			
		||||
                {"x":6, "y":3, "w":2.75},
 | 
			
		||||
                {"x":8.75, "y":3},
 | 
			
		||||
                {"x":9.75, "y":3},
 | 
			
		||||
                {"x":10.75, "y":3},
 | 
			
		||||
                {"x":11.75, "y":3, "w":1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 "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"
 | 
			
		||||
 | 
			
		||||
// readability
 | 
			
		||||
#define XXX KC_NO
 | 
			
		||||
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
 | 
			
		||||
	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a,      k1c, \
 | 
			
		||||
	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a,      k2c, \
 | 
			
		||||
	k30, k31, k32, k33, k34,      k36,      k38, k39, k3a,      k3c \
 | 
			
		||||
#define LAYOUT_all LAYOUT_split_space
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_split_space( \
 | 
			
		||||
  k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
 | 
			
		||||
  k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a,      k1c, \
 | 
			
		||||
  k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a,      k2c, \
 | 
			
		||||
  k30, k31, k32, k33, k34,      k36,      k38, k39, k3a,      k3c \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
 | 
			
		||||
	{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
 | 
			
		||||
	{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \
 | 
			
		||||
	{k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c}  \
 | 
			
		||||
  {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
 | 
			
		||||
  {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
 | 
			
		||||
  {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \
 | 
			
		||||
  {k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c}  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_init_user(void);
 | 
			
		||||
void matrix_scan_user(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +1,2 @@
 | 
			
		|||
NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
			
		||||
RGBLIGHT_ENABLE = no   # Enable keyboard underlight functionality
 | 
			
		||||
# Build Options
 | 
			
		||||
RGBLIGHT_ENABLE = no
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2012 Evy Dekkers
 | 
			
		||||
Copyright 2021 Evelien Dekkers
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
| 
						 | 
				
			
			@ -15,17 +15,16 @@ You should have received a copy of the GNU General Public License
 | 
			
		|||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef REV3_CONFIG_H
 | 
			
		||||
#define REV3_CONFIG_H
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "config_common.h"
 | 
			
		||||
 | 
			
		||||
/* USB Device descriptor parameter */
 | 
			
		||||
#define VENDOR_ID       0xFEED
 | 
			
		||||
#define PRODUCT_ID      0x6060
 | 
			
		||||
#define DEVICE_VER      0x0003
 | 
			
		||||
#define MANUFACTURER    Vortex
 | 
			
		||||
#define PRODUCT         Core
 | 
			
		||||
#define VENDOR_ID       0x4705
 | 
			
		||||
#define PRODUCT_ID      0x0E6D
 | 
			
		||||
#define DEVICE_VER      0x0001
 | 
			
		||||
#define MANUFACTURER    Evyd13
 | 
			
		||||
#define PRODUCT         Atom47 rev3
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
#define MATRIX_ROWS 4
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +36,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#define MATRIX_COL_PINS {B7,F0,F1,F4,F6,D4,D6,D7,B4,B5,C6,C7,F7}
 | 
			
		||||
#define UNUSED_PINS
 | 
			
		||||
 | 
			
		||||
#define BACKLIGHT_PIN B6
 | 
			
		||||
 | 
			
		||||
/* COL2ROW or ROW2COL */
 | 
			
		||||
#define DIODE_DIRECTION COL2ROW
 | 
			
		||||
| 
						 | 
				
			
			@ -50,13 +48,15 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
/* Backlight configuration
 | 
			
		||||
 */
 | 
			
		||||
#define BACKLIGHT_LEVELS 4
 | 
			
		||||
#define BACKLIGHT_PIN B6
 | 
			
		||||
#define BACKLIGHT_BREATHING
 | 
			
		||||
#define BACKLIGHT_LEVELS 5
 | 
			
		||||
 | 
			
		||||
#define LED_CAPS_LOCK_PIN E6
 | 
			
		||||
 | 
			
		||||
#define RGB_DI_PIN F5    // The pin the LED strip is connected to
 | 
			
		||||
#define RGBLED_NUM 6     // Number of LEDs in your strip
 | 
			
		||||
#define RGBLIGHT_ANIMATIONS
 | 
			
		||||
#define QMK_ESC_OUTPUT B7 // usually COL
 | 
			
		||||
#define QMK_ESC_INPUT B3 // usually ROW
 | 
			
		||||
#define QMK_ESC_INPUT B0 // usually ROW
 | 
			
		||||
#define QMK_LED E6
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +1,114 @@
 | 
			
		|||
{
 | 
			
		||||
  "keyboard_name": "Atom47", 
 | 
			
		||||
  "url": "", 
 | 
			
		||||
  "maintainer": "evyd13", 
 | 
			
		||||
  "width": 13, 
 | 
			
		||||
  "height": 4, 
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}]
 | 
			
		||||
    "keyboard_name": "Atom47 rev3", 
 | 
			
		||||
    "url": "", 
 | 
			
		||||
    "maintainer": "evyd13", 
 | 
			
		||||
    "width": 13, 
 | 
			
		||||
    "height": 4, 
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_split_space": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x":0, "y":0},
 | 
			
		||||
                {"x":1, "y":0},
 | 
			
		||||
                {"x":2, "y":0},
 | 
			
		||||
                {"x":3, "y":0},
 | 
			
		||||
                {"x":4, "y":0},
 | 
			
		||||
                {"x":5, "y":0},
 | 
			
		||||
                {"x":6, "y":0},
 | 
			
		||||
                {"x":7, "y":0},
 | 
			
		||||
                {"x":8, "y":0},
 | 
			
		||||
                {"x":9, "y":0},
 | 
			
		||||
                {"x":10, "y":0},
 | 
			
		||||
                {"x":11, "y":0},
 | 
			
		||||
                {"x":12, "y":0},
 | 
			
		||||
                
 | 
			
		||||
                {"x":0, "y":1, "w":1.25},
 | 
			
		||||
                {"x":1.25, "y":1},
 | 
			
		||||
                {"x":2.25, "y":1},
 | 
			
		||||
                {"x":3.25, "y":1},
 | 
			
		||||
                {"x":4.25, "y":1},
 | 
			
		||||
                {"x":5.25, "y":1},
 | 
			
		||||
                {"x":6.25, "y":1},
 | 
			
		||||
                {"x":7.25, "y":1},
 | 
			
		||||
                {"x":8.25, "y":1},
 | 
			
		||||
                {"x":9.25, "y":1},
 | 
			
		||||
                {"x":10.25, "y":1},
 | 
			
		||||
                {"x":11.25, "y":1, "w":1.75},
 | 
			
		||||
                
 | 
			
		||||
                {"x":0, "y":2, "w":1.75},
 | 
			
		||||
                {"x":1.75, "y":2},
 | 
			
		||||
                {"x":2.75, "y":2},
 | 
			
		||||
                {"x":3.75, "y":2},
 | 
			
		||||
                {"x":4.75, "y":2},
 | 
			
		||||
                {"x":5.75, "y":2},
 | 
			
		||||
                {"x":6.75, "y":2},
 | 
			
		||||
                {"x":7.75, "y":2},
 | 
			
		||||
                {"x":8.75, "y":2},
 | 
			
		||||
                {"x":9.75, "y":2},
 | 
			
		||||
                {"x":10.75, "y":2, "w":1.25},
 | 
			
		||||
                {"x":12, "y":2},
 | 
			
		||||
                
 | 
			
		||||
                {"x":0, "y":3, "w":1.25},
 | 
			
		||||
                {"x":1.25, "y":3},
 | 
			
		||||
                {"x":2.25, "y":3},
 | 
			
		||||
                {"x":3.25, "y":3},
 | 
			
		||||
                {"x":4.25, "y":3, "w":1.75},
 | 
			
		||||
                {"x":6, "y":3, "w":2.75},
 | 
			
		||||
                {"x":8.75, "y":3},
 | 
			
		||||
                {"x":9.75, "y":3},
 | 
			
		||||
                {"x":10.75, "y":3},
 | 
			
		||||
                {"x":11.75, "y":3, "w":1.25}
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "LAYOUT_full_space": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"x":0, "y":0},
 | 
			
		||||
                {"x":1, "y":0},
 | 
			
		||||
                {"x":2, "y":0},
 | 
			
		||||
                {"x":3, "y":0},
 | 
			
		||||
                {"x":4, "y":0},
 | 
			
		||||
                {"x":5, "y":0},
 | 
			
		||||
                {"x":6, "y":0},
 | 
			
		||||
                {"x":7, "y":0},
 | 
			
		||||
                {"x":8, "y":0},
 | 
			
		||||
                {"x":9, "y":0},
 | 
			
		||||
                {"x":10, "y":0},
 | 
			
		||||
                {"x":11, "y":0},
 | 
			
		||||
                {"x":12, "y":0},
 | 
			
		||||
                
 | 
			
		||||
                {"x":0, "y":1, "w":1.25},
 | 
			
		||||
                {"x":1.25, "y":1},
 | 
			
		||||
                {"x":2.25, "y":1},
 | 
			
		||||
                {"x":3.25, "y":1},
 | 
			
		||||
                {"x":4.25, "y":1},
 | 
			
		||||
                {"x":5.25, "y":1},
 | 
			
		||||
                {"x":6.25, "y":1},
 | 
			
		||||
                {"x":7.25, "y":1},
 | 
			
		||||
                {"x":8.25, "y":1},
 | 
			
		||||
                {"x":9.25, "y":1},
 | 
			
		||||
                {"x":10.25, "y":1},
 | 
			
		||||
                {"x":11.25, "y":1, "w":1.75},
 | 
			
		||||
                
 | 
			
		||||
                {"x":0, "y":2, "w":1.75},
 | 
			
		||||
                {"x":1.75, "y":2},
 | 
			
		||||
                {"x":2.75, "y":2},
 | 
			
		||||
                {"x":3.75, "y":2},
 | 
			
		||||
                {"x":4.75, "y":2},
 | 
			
		||||
                {"x":5.75, "y":2},
 | 
			
		||||
                {"x":6.75, "y":2},
 | 
			
		||||
                {"x":7.75, "y":2},
 | 
			
		||||
                {"x":8.75, "y":2},
 | 
			
		||||
                {"x":9.75, "y":2},
 | 
			
		||||
                {"x":10.75, "y":2, "w":1.25},
 | 
			
		||||
                {"x":12, "y":2},
 | 
			
		||||
                
 | 
			
		||||
                {"x":0, "y":3, "w":1.25},
 | 
			
		||||
                {"x":1.25, "y":3, "w":1.25},
 | 
			
		||||
                {"x":2.5, "y":3, "w":1.25},
 | 
			
		||||
                {"x":3.75, "y":3, "w":6.25},
 | 
			
		||||
                {"x":10, "y":3},
 | 
			
		||||
                {"x":11, "y":3},
 | 
			
		||||
                {"x":12, "y":3}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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 "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"
 | 
			
		||||
 | 
			
		||||
// readability
 | 
			
		||||
#define XXX KC_NO
 | 
			
		||||
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
 | 
			
		||||
	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a,      k1c, \
 | 
			
		||||
	k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
 | 
			
		||||
	k30, k31, k32, k33,      k35,      k37,      k39, k3a, k3b, k3c \
 | 
			
		||||
#define LAYOUT_all LAYOUT_split_space
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_split_space( \
 | 
			
		||||
  k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
 | 
			
		||||
  k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a,      k1c, \
 | 
			
		||||
  k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
 | 
			
		||||
  k30, k31, k32, k33,      k35,      k37,      k39, k3a, k3b, k3c \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
 | 
			
		||||
	{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
 | 
			
		||||
	{k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \
 | 
			
		||||
	{k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c}  \
 | 
			
		||||
  {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
 | 
			
		||||
  {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
 | 
			
		||||
  {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \
 | 
			
		||||
  {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c}  \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#define LAYOUT_full_space( \
 | 
			
		||||
  k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
 | 
			
		||||
  k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a,      k1c, \
 | 
			
		||||
  k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
 | 
			
		||||
  k30, k31, k32,                k37,           k39, k3a, k3b, k3c \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
  {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
 | 
			
		||||
  {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
 | 
			
		||||
  {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \
 | 
			
		||||
  {k30, k31, k32, XXX, XXX, XXX, XXX, k37, XXX, k39, k3a, k3b, k3c}  \
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
# Bootloader selection
 | 
			
		||||
#   Teensy       halfkay
 | 
			
		||||
#   Pro Micro    caterina
 | 
			
		||||
#   Atmel DFU    atmel-dfu
 | 
			
		||||
#   LUFA DFU     lufa-dfu
 | 
			
		||||
#   QMK DFU      qmk-dfu
 | 
			
		||||
#   ATmega32A    bootloadHID
 | 
			
		||||
#   ATmega328P   USBasp
 | 
			
		||||
BOOTLOADER = qmk-dfu
 | 
			
		||||
 | 
			
		||||
# Build Options
 | 
			
		||||
#   comment out to disable the options.
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 | 
			
		||||
MOUSEKEY_ENABLE = no	# Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = yes	# Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = no	# Console for debug
 | 
			
		||||
COMMAND_ENABLE = no    # Commands for debug and configuration
 | 
			
		||||
BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
 | 
			
		||||
AUDIO_ENABLE = no
 | 
			
		||||
UNICODE_ENABLE = no 		# Unicode
 | 
			
		||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
			
		||||
BOOTMAGIC_ENABLE = lite     # Enable Bootmagic Lite
 | 
			
		||||
MOUSEKEY_ENABLE = yes       # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = no         # Console for debug
 | 
			
		||||
COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
			
		||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
			
		||||
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 | 
			
		||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
			
		||||
NKRO_ENABLE = no            # USB Nkey Rollover
 | 
			
		||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
			
		||||
BLUETOOTH_ENABLE = no       # Enable Bluetooth
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output
 | 
			
		||||
 | 
			
		||||
DEFAULT_FOLDER = evyd13/atom47/rev3
 | 
			
		||||
DEFAULT_FOLDER = evyd13/atom47/rev4
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue