- Added OLED functionality in keymap.c with custom rendering for layers and modifiers. - Created a Python script to generate simple icons for OLED displays. - Introduced a new rules.mk file to enable OLED features for the keymap. - Developed an OLED font helper script for visualizing and designing custom graphics. - Redesigned OLED layout to fit 128x32 displays, optimizing space for logos and layer indicators. - Implemented flow tap functionality in flow_tap.c for enhanced key responsiveness.
		
			
				
	
	
		
			309 lines
		
	
	
	
		
			14 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			309 lines
		
	
	
	
		
			14 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
#include "smathev.h"
 | 
						|
#include "keymap_danish.h"
 | 
						|
//#include "features/repeat_key.h"
 | 
						|
//#include "features/sentence_case.h"
 | 
						|
 | 
						|
/*
 | 
						|
Since our quirky block definitions are basically a list of comma separated
 | 
						|
arguments, we need a wrapper in order for these definitions to be
 | 
						|
expanded before being used as arguments to the LAYOUT_xxx macro.
 | 
						|
*/
 | 
						|
 | 
						|
// Since sweeeeep uses the name LAYOUT_sweeeeep instead of LAYOUT
 | 
						|
#if (!defined(LAYOUT) && defined(LAYOUT_sweeeeep))
 | 
						|
#    define LAYOUT LAYOUT_sweeeeep
 | 
						|
#endif
 | 
						|
 | 
						|
// clang-format off
 | 
						|
#define LAYOUT_ergodox_wrapper(...)          LAYOUT_ergodox(__VA_ARGS__)
 | 
						|
#define LAYOUT_ergodox_pretty_wrapper(...)   LAYOUT_ergodox_pretty(__VA_ARGS__)
 | 
						|
#define KEYMAP_wrapper(...)                  LAYOUT(__VA_ARGS__)
 | 
						|
#define LAYOUT_wrapper(...)                  LAYOUT(__VA_ARGS__)
 | 
						|
#define LAYOUT_ortho_4x12_wrapper(...)       LAYOUT_ortho_4x12(__VA_ARGS__)
 | 
						|
#define LAYOUT_ortho_5x12_wrapper(...)       LAYOUT_ortho_5x12(__VA_ARGS__)
 | 
						|
#define LAYOUT_gergo_wrapper(...)            LAYOUT_gergo(__VA_ARGS__)
 | 
						|
#define LAYOUT_split_3x6_3_wrapper(...)      LAYOUT_split_3x6_3(__VA_ARGS__)
 | 
						|
#define LAYOUT_reviung39_wrapper(...)        LAYOUT_reviung39(__VA_ARGS__)
 | 
						|
#define LAYOUT_pteron38_wrapper(...)         LAYOUT_pteron38(__VA_ARGS__)
 | 
						|
#define LAYOUT_ffkbhw_wrapper(...)           LAYOUT_ffkbhw(__VA_ARGS__)
 | 
						|
 | 
						|
/*
 | 
						|
Blocks for each of the four major keyboard layouts
 | 
						|
Organized so we can quickly adapt and modify all of them
 | 
						|
at once, rather than for each keyboard, one at a time.
 | 
						|
And this allows for much cleaner blocks in the keymaps.
 | 
						|
For instance Tap/Hold for Control on all of the layouts
 | 
						|
 | 
						|
NOTE: These are all the same length.  If you do a search/replace
 | 
						|
  then you need to add/remove underscores to keep the
 | 
						|
  lengths consistent.
 | 
						|
*/
 | 
						|
 | 
						|
 | 
						|
#define ____QWERTY_L1_K1__ KC_Q
 | 
						|
#define ____QWERTY_L1_K2__ KC_W
 | 
						|
#define ____QWERTY_L1_K3__ KC_E
 | 
						|
#define ____QWERTY_L1_K4__ KC_R
 | 
						|
#define ____QWERTY_L1_K5__ KC_T
 | 
						|
 | 
						|
#define ____QWERTY_L2_K1__ KC_A
 | 
						|
#define ____QWERTY_L2_K2__ KC_S
 | 
						|
#define ____QWERTY_L2_K3__ KC_D
 | 
						|
#define ____QWERTY_L2_K4__ KC_F
 | 
						|
#define ____QWERTY_L2_K5__ KC_G
 | 
						|
 | 
						|
#define ____QWERTY_L3_K1__ LGUI_T(KC_Z)
 | 
						|
#define ____QWERTY_L3_K2__ LALT_T(KC_X)
 | 
						|
#define ____QWERTY_L3_K3__ LSFT_T(KC_C)
 | 
						|
#define ____QWERTY_L3_K4__ LCTL_T(KC_V)
 | 
						|
#define ____QWERTY_L3_K5__ KC_B
 | 
						|
 | 
						|
 | 
						|
 | 
						|
#define ____QWERTY_R1_K1__ KC_Y
 | 
						|
#define ____QWERTY_R1_K2__ KC_U
 | 
						|
#define ____QWERTY_R1_K3__ KC_I
 | 
						|
#define ____QWERTY_R1_K4__ KC_O
 | 
						|
#define ____QWERTY_R1_K5__ KC_P
 | 
						|
 | 
						|
#define ____QWERTY_R2_K1__ KC_H
 | 
						|
#define ____QWERTY_R2_K2__ KC_J
 | 
						|
#define ____QWERTY_R2_K3__ KC_K
 | 
						|
#define ____QWERTY_R2_K4__ KC_L
 | 
						|
#define ____QWERTY_R2_K5__ DK_ARNG
 | 
						|
 | 
						|
#define ____QWERTY_R3_K1__ KC_N
 | 
						|
#define ____QWERTY_R3_K2__ RCTL_T(KC_M)
 | 
						|
#define ____QWERTY_R3_K3__ RSFT_T(DK_AE)
 | 
						|
#define ____QWERTY_R3_K4__ RALT_T(DK_OSTR)
 | 
						|
#define ____QWERTY_R3_K5__ RGUI_T(KC_MINS)
 | 
						|
 | 
						|
#define __________________QWERTY_L1____________________			____QWERTY_L1_K1__,    ____QWERTY_L1_K2__,    ____QWERTY_L1_K3__,    ____QWERTY_L1_K4__,    ____QWERTY_L1_K5__
 | 
						|
#define __________________QWERTY_L2____________________			____QWERTY_L2_K1__,    ____QWERTY_L2_K2__,    ____QWERTY_L2_K3__,    ____QWERTY_L2_K4__,    ____QWERTY_L2_K5__
 | 
						|
#define __________________QWERTY_L3____________________			____QWERTY_L3_K1__,    ____QWERTY_L3_K2__,    ____QWERTY_L3_K3__,    ____QWERTY_L3_K4__,    ____QWERTY_L3_K5__
 | 
						|
 | 
						|
#define __________________QWERTY_R1____________________			____QWERTY_R1_K1__,    ____QWERTY_R1_K2__,    ____QWERTY_R1_K3__,    ____QWERTY_R1_K4__,    ____QWERTY_R1_K5__
 | 
						|
#define __________________QWERTY_R2____________________			____QWERTY_R2_K1__,    ____QWERTY_R2_K2__,    ____QWERTY_R2_K3__,    ____QWERTY_R2_K4__,    ____QWERTY_R2_K5__
 | 
						|
#define __________________QWERTY_R3____________________			____QWERTY_R3_K1__,    ____QWERTY_R3_K2__,    ____QWERTY_R3_K3__,    ____QWERTY_R3_K4__,    ____QWERTY_R3_K5__
 | 
						|
 | 
						|
 | 
						|
#define _QWERTY_THUMB_L1__ KC_DEL
 | 
						|
#define _QWERTY_THUMB_L2__ DK_COMM
 | 
						|
#define _QWERTY_THUMB_L3__ KC_BSPC
 | 
						|
 | 
						|
#define _QWERTY_THUMB_R1__ KC_SPACE
 | 
						|
#define _QWERTY_THUMB_R2__ DK_DOT
 | 
						|
#define _QWERTY_THUMB_R3__ KC_ENT
 | 
						|
 | 
						|
#define _QWERTY_THUMBS_LEFT_2__                             _QWERTY_THUMB_L2__, _QWERTY_THUMB_L3__
 | 
						|
#define _QWERTY_THUMBS_RIGHT_2__                            _QWERTY_THUMB_R1__, _QWERTY_THUMB_R2__
 | 
						|
 | 
						|
#define _QWERTY_THUMBS_LEFT_3__                             _QWERTY_THUMB_L1__, _QWERTY_THUMB_L2__, _QWERTY_THUMB_L3__
 | 
						|
#define _QWERTY_THUMBS_RIGHT_3__                            _QWERTY_THUMB_R1__, _QWERTY_THUMB_R2__, _QWERTY_THUMB_R3__
 | 
						|
 | 
						|
#define __QWERTY_THUMBS_4__                                  _QWERTY_THUMBS_LEFT_2__, _QWERTY_THUMBS_RIGHT_2__
 | 
						|
#define __QWERTY_THUMBS_5__                                  _QWERTY_THUMB_L1__, _QWERTY_THUMB_L2__, _QWERTY_THUMB_R1__, _QWERTY_THUMB_R2__, _QWERTY_THUMB_R3__
 | 
						|
#define __QWERTY_THUMBS_6__                                  _QWERTY_THUMBS_LEFT_3__, _QWERTY_THUMBS_RIGHT_3__
 | 
						|
 | 
						|
/* Norto https://lykt.xyz/skl/norto/#da
 | 
						|
 *
 | 
						|
 * ,----------------------------------.           ,----------------------------------.
 | 
						|
 * |   Ø  |   Æ  |   U  |   G  |   J  |           |   B  |   F  |   L  |   H  |   X  |
 | 
						|
 * |------+------+------+------+------|           |------+------+------+------+------|
 | 
						|
 * |   O  |   I  |   A  |   T  |   M  |           |   P  |   N  |   R  |   S  |   D  |
 | 
						|
 * |------+------+------+------+------|           |------+------+------+------+------|
 | 
						|
 * |   Y  |   Å  |   V  |   C  |   ,  |           |   .  |   W  |   K  |   Z  |   Q  |
 | 
						|
 * `----------------------------------'           `----------------------------------'
 | 
						|
 *                  ,--------------------.    ,--------------------.
 | 
						|
 *                  | LOWER| Enter|   E  |    |BckSpc| Space| RAISE|
 | 
						|
 *                  `--------------------'    `--------------------.
 | 
						|
 */
 | 
						|
 | 
						|
#define __NORTO_THUMB_L1__ _______
 | 
						|
#define __NORTO_THUMB_L2__ DK_MINS
 | 
						|
#define __NORTO_THUMB_L3__ KC_E
 | 
						|
#define __NORTO_THUMB_R1__ KC_SPACE
 | 
						|
#define __NORTO_THUMB_R2__ KC_BSPC
 | 
						|
#define __NORTO_THUMB_R3__ _______
 | 
						|
 | 
						|
#define __NORTO_THUMBS_LEFT_2__                             __NORTO_THUMB_L2__, __NORTO_THUMB_L3__
 | 
						|
#define __NORTO_THUMBS_RIGHT_2__                            __NORTO_THUMB_R1__, __NORTO_THUMB_R2__
 | 
						|
 | 
						|
#define __NORTO_THUMBS_LEFT_3__                             __NORTO_THUMB_L1__, __NORTO_THUMB_L2__, __NORTO_THUMB_L3__
 | 
						|
#define __NORTO_THUMBS_RIGHT_3__                            __NORTO_THUMB_R1__, __NORTO_THUMB_R2__, __NORTO_THUMB_R3__
 | 
						|
 | 
						|
#define __NORTO_THUMBS_4__                                  __NORTO_THUMBS_LEFT_2__, __NORTO_THUMBS_RIGHT_2__
 | 
						|
#define __NORTO_THUMBS_5__                                  __NORTO_THUMB_L1__, __NORTO_THUMB_L2__, __NORTO_THUMB_R1__, __NORTO_THUMB_R2__, __NORTO_THUMB_R3__
 | 
						|
#define __NORTO_THUMBS_6__                                  __NORTO_THUMBS_LEFT_3__, __NORTO_THUMBS_RIGHT_3__
 | 
						|
 | 
						|
#define ____NORTO_L1_K1__ DK_OSTR
 | 
						|
#define ____NORTO_L1_K2__ DK_AE
 | 
						|
#define ____NORTO_L1_K3__ KC_U
 | 
						|
#define ____NORTO_L1_K4__ KC_G
 | 
						|
#define ____NORTO_L1_K5__ KC_J
 | 
						|
 | 
						|
#define ____NORTO_L2_K1__ KC_O
 | 
						|
#define ____NORTO_L2_K2__ KC_I
 | 
						|
#define ____NORTO_L2_K3__ KC_A
 | 
						|
#define ____NORTO_L2_K4__ KC_T
 | 
						|
#define ____NORTO_L2_K5__ KC_M
 | 
						|
 | 
						|
#define ____NORTO_L3_K1__ LGUI_T(DK_COMM)
 | 
						|
#define ____NORTO_L3_K2__ LALT_T(KC_Y)
 | 
						|
#define ____NORTO_L3_K3__ LSFT_T(DK_ARNG)
 | 
						|
#define ____NORTO_L3_K4__ LCTL_T(KC_V)
 | 
						|
#define ____NORTO_L3_K5__ KC_C
 | 
						|
 | 
						|
#define ____NORTO_R1_K1__ KC_B
 | 
						|
#define ____NORTO_R1_K2__ KC_F
 | 
						|
#define ____NORTO_R1_K3__ KC_L
 | 
						|
#define ____NORTO_R1_K4__ KC_H
 | 
						|
#define ____NORTO_R1_K5__ KC_X
 | 
						|
 | 
						|
#define ____NORTO_R2_K1__ KC_P
 | 
						|
#define ____NORTO_R2_K2__ KC_N
 | 
						|
#define ____NORTO_R2_K3__ KC_R
 | 
						|
#define ____NORTO_R2_K4__ KC_S
 | 
						|
#define ____NORTO_R2_K5__ KC_D
 | 
						|
 | 
						|
#define ____NORTO_R3_K1__ KC_W
 | 
						|
#define ____NORTO_R3_K2__ RCTL_T(KC_K)
 | 
						|
#define ____NORTO_R3_K3__ RSFT_T(KC_Z)
 | 
						|
#define ____NORTO_R3_K4__ RALT_T(KC_Q)
 | 
						|
#define ____NORTO_R3_K5__ RGUI_T(KC_DOT)
 | 
						|
 | 
						|
#define __________________NORTO_L1____________________			____NORTO_L1_K1__,    ____NORTO_L1_K2__,    ____NORTO_L1_K3__,    ____NORTO_L1_K4__,    ____NORTO_L1_K5__
 | 
						|
#define __________________NORTO_L2____________________			____NORTO_L2_K1__,    ____NORTO_L2_K2__,    ____NORTO_L2_K3__,    ____NORTO_L2_K4__,    ____NORTO_L2_K5__
 | 
						|
#define __________________NORTO_L3____________________			____NORTO_L3_K1__,    ____NORTO_L3_K2__,    ____NORTO_L3_K3__,    ____NORTO_L3_K4__,    ____NORTO_L3_K5__
 | 
						|
 | 
						|
#define __________________NORTO_R1____________________			____NORTO_R1_K1__,    ____NORTO_R1_K2__,    ____NORTO_R1_K3__,    ____NORTO_R1_K4__,    ____NORTO_R1_K5__
 | 
						|
#define __________________NORTO_R2____________________			____NORTO_R2_K1__,    ____NORTO_R2_K2__,    ____NORTO_R2_K3__,    ____NORTO_R2_K4__,    ____NORTO_R2_K5__
 | 
						|
#define __________________NORTO_R3____________________			____NORTO_R3_K1__,    ____NORTO_R3_K2__,    ____NORTO_R3_K3__,    ____NORTO_R3_K4__,    ____NORTO_R3_K5__
 | 
						|
 | 
						|
// BLANK FULL LINE
 | 
						|
#define ___________________BLANK___________________			_______, _______, _______, _______, _______
 | 
						|
 | 
						|
// NAVNORT
 | 
						|
 | 
						|
#define __NORTNAV_L1_K1__ KC_ESC
 | 
						|
#define __NORTNAV_L1_K2__ KC_PGUP
 | 
						|
#define __NORTNAV_L1_K3__ KC_UP
 | 
						|
#define __NORTNAV_L1_K4__ KC_PGDN
 | 
						|
#define __NORTNAV_L1_K5__ FP_SUPER_TAB
 | 
						|
 | 
						|
#define __NORTNAV_L2_K1__ KC_HOME
 | 
						|
#define __NORTNAV_L2_K2__ KC_LEFT
 | 
						|
#define __NORTNAV_L2_K3__ KC_DOWN
 | 
						|
#define __NORTNAV_L2_K4__ KC_RGHT
 | 
						|
#define __NORTNAV_L2_K5__ KC_END
 | 
						|
 | 
						|
#define __NORTNAV_L3_K1__ LGUI_T(_______)
 | 
						|
#define __NORTNAV_L3_K2__ LALT_T(_______)
 | 
						|
#define __NORTNAV_L3_K3__ LSFT_T(_______)
 | 
						|
#define __NORTNAV_L3_K4__ LCTL_T(_______)
 | 
						|
#define __NORTNAV_L3_K5__ _______
 | 
						|
 | 
						|
#define ____________NORTNAVIGATION_1_______________			__NORTNAV_L1_K1__, __NORTNAV_L1_K2__, __NORTNAV_L1_K3__, __NORTNAV_L1_K4__, __NORTNAV_L1_K5__
 | 
						|
#define ____________NORTNAVIGATION_2_______________			__NORTNAV_L2_K1__, __NORTNAV_L2_K2__, __NORTNAV_L2_K3__, __NORTNAV_L2_K4__, __NORTNAV_L2_K5__
 | 
						|
#define ____________NORTNAVIGATION_3_______________			__NORTNAV_L3_K1__, __NORTNAV_L3_K2__, __NORTNAV_L3_K3__, __NORTNAV_L3_K4__, __NORTNAV_L3_K5__
 | 
						|
 | 
						|
#define __NUMPAD_R1_K1__ DK_ASTR
 | 
						|
#define __NUMPAD_R1_K2__ KC_7
 | 
						|
#define __NUMPAD_R1_K3__ KC_8
 | 
						|
#define __NUMPAD_R1_K4__ KC_9
 | 
						|
#define __NUMPAD_R1_K5__ DK_PLUS
 | 
						|
 | 
						|
#define __NUMPAD_R2_K1__ DK_SLSH
 | 
						|
#define __NUMPAD_R2_K2__ KC_4
 | 
						|
#define __NUMPAD_R2_K3__ KC_5
 | 
						|
#define __NUMPAD_R2_K4__ KC_6
 | 
						|
#define __NUMPAD_R2_K5__ DK_MINS
 | 
						|
 | 
						|
#define __NUMPAD_R3_K1__ DK_LPRN
 | 
						|
#define __NUMPAD_R3_K2__ RCTL_T(KC_1)
 | 
						|
#define __NUMPAD_R3_K3__ RSFT_T(KC_2)
 | 
						|
#define __NUMPAD_R3_K4__ RALT_T(KC_3)
 | 
						|
#define __NUMPAD_R3_K5__ RGUI_T(KC_0)
 | 
						|
 | 
						|
#define _________________NUMPAD_1__________________			__NUMPAD_R1_K1__, __NUMPAD_R1_K2__, __NUMPAD_R1_K3__, __NUMPAD_R1_K4__, __NUMPAD_R1_K5__
 | 
						|
#define _________________NUMPAD_2__________________			__NUMPAD_R2_K1__, __NUMPAD_R2_K2__, __NUMPAD_R2_K3__, __NUMPAD_R2_K4__, __NUMPAD_R2_K5__
 | 
						|
#define _________________NUMPAD_3__________________			__NUMPAD_R3_K1__, __NUMPAD_R3_K2__, __NUMPAD_R3_K3__, __NUMPAD_R3_K4__, __NUMPAD_R3_K5__
 | 
						|
 | 
						|
// FKeys + SYM
 | 
						|
#define ______FKEY____L1_K1__ KC_F1
 | 
						|
#define ______FKEY____L1_K2__ KC_F2
 | 
						|
#define ______FKEY____L1_K3__ KC_F3
 | 
						|
#define ______FKEY____L1_K4__ KC_F4
 | 
						|
#define ______FKEY____L1_K5__ KC_F5
 | 
						|
 | 
						|
#define ______FKEY____L2_K1__ KC_F6
 | 
						|
#define ______FKEY____L2_K2__ KC_F7
 | 
						|
#define ______FKEY____L2_K3__ KC_F8
 | 
						|
#define ______FKEY____L2_K4__ KC_F9
 | 
						|
#define ______FKEY____L2_K5__ KC_F10
 | 
						|
 | 
						|
#define ______FKEY____L3_K1__ LGUI_T(KC_F11)
 | 
						|
#define ______FKEY____L3_K2__ LALT_T(KC_F12)
 | 
						|
#define ______FKEY____L3_K3__ LSFT_T(KC_C)
 | 
						|
#define ______FKEY____L3_K4__ LCTL_T(KC_V)
 | 
						|
#define ______FKEY____L3_K5__ KC_B
 | 
						|
 | 
						|
#define __NORTSYMBOLS_R1_K1__ DK_AT // @
 | 
						|
#define __NORTSYMBOLS_R1_K2__ DK_LBRC // [ - Shifted ]
 | 
						|
#define __NORTSYMBOLS_R1_K3__ DK_LCBR // { - Shifted {}
 | 
						|
#define __NORTSYMBOLS_R1_K4__ DK_CIRC
 | 
						|
#define __NORTSYMBOLS_R1_K5__ _______
 | 
						|
 | 
						|
#define __NORTSYMBOLS_R2_K1__ DK_QUOT // ' SHFITED "
 | 
						|
#define __NORTSYMBOLS_R2_K2__ DK_LABK // < - Shifted >
 | 
						|
#define __NORTSYMBOLS_R2_K3__ DK_DLR // $ - Shifted €
 | 
						|
#define __NORTSYMBOLS_R2_K4__ DK_PIPE // |
 | 
						|
#define __NORTSYMBOLS_R2_K5__ DK_GRV // ` - Shifted ¨
 | 
						|
 | 
						|
#define __NORTSYMBOLS_R3_K1__ _______
 | 
						|
#define __NORTSYMBOLS_R3_K2__ RCTL_T(C_CAPSWORD)
 | 
						|
#define __NORTSYMBOLS_R3_K3__ RSFT_T(C_UNDERSCORECASE)
 | 
						|
#define __NORTSYMBOLS_R3_K4__ RALT_T(C_HYPHENCASE)
 | 
						|
#define __NORTSYMBOLS_R3_K5__ RGUI_T(_______)
 | 
						|
 | 
						|
 | 
						|
 | 
						|
#define ___________________FKEY______L1________________			______FKEY____L1_K1__, ______FKEY____L1_K2__, ______FKEY____L1_K3__, ______FKEY____L1_K4__, ______FKEY____L1_K5__
 | 
						|
#define ___________________FKEY______L2________________			______FKEY____L2_K1__, ______FKEY____L2_K2__, ______FKEY____L2_K3__, ______FKEY____L2_K4__, ______FKEY____L2_K5__
 | 
						|
#define ___________________FKEY______L3________________         ______FKEY____L3_K1__, ______FKEY____L3_K2__, ______FKEY____L3_K3__, ______FKEY____L3_K4__, ______FKEY____L3_K5__
 | 
						|
 | 
						|
#define ________________NORTSYMBOLS_R1_________________			__NORTSYMBOLS_R1_K1__, __NORTSYMBOLS_R1_K2__, __NORTSYMBOLS_R1_K3__, __NORTSYMBOLS_R1_K4__, __NORTSYMBOLS_R1_K5__
 | 
						|
#define ________________NORTSYMBOLS_R2_________________			__NORTSYMBOLS_R2_K1__, __NORTSYMBOLS_R2_K2__, __NORTSYMBOLS_R2_K3__, __NORTSYMBOLS_R2_K4__, __NORTSYMBOLS_R2_K5__
 | 
						|
#define ________________NORTSYMBOLS_R3_________________			__NORTSYMBOLS_R3_K1__, __NORTSYMBOLS_R3_K2__, __NORTSYMBOLS_R3_K3__, __NORTSYMBOLS_R3_K4__, __NORTSYMBOLS_R3_K5__
 | 
						|
 | 
						|
// GAMES_LAYER?
 | 
						|
 | 
						|
 | 
						|
#define _________________KB_SETUP_1________________     AS_UP,   DT_UP,   KC_C,    KC_V,    KC_G
 | 
						|
#define _________________KB_SETUP_2________________     AS_DOWN,    DT_DOWN,    KC_E,    KC_R,    KC_D
 | 
						|
#define _________________KB_SETUP_3________________     AS_RPT,    DT_PRNT,    KC_TAB,  KC_L,    KC_H
 | 
						|
#define _________________KB_SETUP_4________________     KC_T,    KC_COMM, KC_K,    KC_SCLN, KC_DOT
 | 
						|
 | 
						|
 | 
						|
#define ___________________GAMES_0_________________     KC_F1,   KC_F2,   KC_C,    KC_V,    KC_G
 | 
						|
#define ___________________GAMES_1_________________     KC_Q,    KC_W,    KC_E,    KC_R,    KC_D
 | 
						|
#define ___________________GAMES_2_________________     KC_A,    KC_F,    KC_TAB,  KC_L,    KC_H
 | 
						|
#define ___________________GAMES_3_________________     KC_T,    KC_COMM, KC_K,    KC_SCLN, KC_DOT
 | 
						|
#define __GAMES_R0_L__ KC_F4
 | 
						|
#define __GAMES_R1_L__ KC_Z
 | 
						|
#define __GAMES_R2_L__ KC_P
 | 
						|
#define __GAMES_R3_L__ KC_LSFT
 | 
						|
#define __GAMES_R0_R__ KC_N
 | 
						|
#define __GAMES_R1_R__ KC_Y
 | 
						|
#define __GAMES_R2_R__ KC_F7
 | 
						|
#define __GAMES_R3_R__ KC_ESC
 | 
						|
#define __GAMES_TH_L__ KC_LALT
 | 
						|
#define __GAMES_TH_C__ KC_X
 | 
						|
#define __GAMES_TH_R__ KC_B
 | 
						|
#define __GAMES_R4_1__ KC_J
 | 
						|
#define __GAMES_R4_2__ __GAMES_R3_R__
 | 
						|
#define __GAMES_R4_3__ KC_LCTL
 | 
						|
 | 
						|
 | 
						|
// clang-format on
 |