summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2024-02-19 09:48:06 +0000
committerGitHub <noreply@github.com>2024-02-19 09:48:06 +0000
commite26e12402b7a5a619a95999f5c8a2a73defcd9b3 (patch)
tree22b25da1370626c7f1cb31ff6c6683115b2ba968 /keyboards
parentdb1df185c9f779bc36f85786f87135e03cfafd29 (diff)
Manual user keymap removal (#23104)
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/combos.def11
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/config.h31
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/gergoplex.def7
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c212
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/readme.md6
-rw-r--r--keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk20
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def11
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h4
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def17
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c286
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md12
-rw-r--r--keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk18
-rw-r--r--keyboards/geonworks/w1_at/keymaps/zq/keymap.c119
-rw-r--r--keyboards/geonworks/w1_at/keymaps/zq/readme.md21
-rw-r--r--keyboards/geonworks/w1_at/keymaps/zq/rules.mk1
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/keymap.c56
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/readme.md1
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rgb_matrix_user.inc72
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rules.mk1
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/keymap.c44
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/readme.md1
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c107
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/readme.md8
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c72
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md8
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c232
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md9
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/yt/config.h19
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/yt/keymap.c139
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/yt/readme.md3
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/yt/rules.mk5
-rw-r--r--keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c43
-rw-r--r--keyboards/hadron/ver3/keymaps/sebaslayout/readme.md7
-rw-r--r--keyboards/handwired/aim65/keymaps/bonnee/keymap.c42
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c99
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md16
-rw-r--r--keyboards/handwired/bento/keymaps/cbc02009/keymap.c42
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c89
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h21
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c75
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h49
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c106
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/rules.mk1
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/happysalada/keymap.c167
-rw-r--r--keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c61
-rw-r--r--keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk1
-rw-r--r--keyboards/handwired/lagrange/keymaps/dpapavas/config.h22
-rw-r--r--keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c202
-rw-r--r--keyboards/handwired/lagrange/keymaps/dpapavas/rules.mk4
-rw-r--r--keyboards/handwired/marauder/keymaps/orvia/keymap.c199
-rw-r--r--keyboards/handwired/marauder/keymaps/orvia/rules.mk3
-rw-r--r--keyboards/handwired/pteron/keymaps/FSund/keymap.c116
-rw-r--r--keyboards/handwired/pteron/keymaps/alzafacon/config.h22
-rw-r--r--keyboards/handwired/pteron/keymaps/alzafacon/keymap.c120
-rw-r--r--keyboards/handwired/pteron/keymaps/alzafacon/readme.md4
-rw-r--r--keyboards/handwired/pteron/keymaps/alzafacon/rules.mk2
-rw-r--r--keyboards/handwired/selene/keymaps/bpendragon/keymap.c43
-rw-r--r--keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c64
-rw-r--r--keyboards/handwired/steamvan/keymaps/jmdaly/readme.md1
-rw-r--r--keyboards/handwired/z150/keymaps/zyxx/keymap.c65
-rw-r--r--keyboards/helix/rev2/keymaps/fraanrosi/config.h64
-rw-r--r--keyboards/helix/rev2/keymaps/fraanrosi/keymap.c288
-rw-r--r--keyboards/helix/rev2/keymaps/fraanrosi/readme.md40
-rw-r--r--keyboards/helix/rev2/keymaps/fraanrosi/rules.mk24
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/config.h50
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/helixfont.h235
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/keymap.c696
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/readme.md83
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/rules.mk27
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/config.h47
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/helixfont.h235
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/keymap.c810
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/readme.md85
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/rules.mk27
-rw-r--r--keyboards/hotdox76v2/keymaps/dancxjo/config.h6
-rw-r--r--keyboards/hotdox76v2/keymaps/dancxjo/keymap.c177
-rw-r--r--keyboards/hotdox76v2/keymaps/dancxjo/rules.mk4
-rw-r--r--keyboards/hs60/v2/hhkb/keymaps/goatmaster/config.h22
-rw-r--r--keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c71
-rw-r--r--keyboards/hs60/v2/hhkb/keymaps/goatmaster/readme.md6
-rw-r--r--keyboards/hs60/v2/hhkb/keymaps/goatmaster/rules.mk1
-rw-r--r--keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c23
-rw-r--r--keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c136
-rw-r--r--keyboards/lfkeyboards/lfk78/keymaps/ca178858/readme.md1
-rw-r--r--keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk3
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c170
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/ca178858/readme.md1
-rw-r--r--keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk2
-rw-r--r--keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c108
-rw-r--r--keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk1
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h28
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c301
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md29
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk7
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h19
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c293
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md22
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk3
-rw-r--r--keyboards/mehkee96/keymaps/johann/keymap.c80
-rw-r--r--keyboards/minimacro5/keymaps/kabraxcis/keymap.c63
-rw-r--r--keyboards/minimacro5/keymaps/voaraq/keymap.c63
-rw-r--r--keyboards/misonoworks/karina/keymaps/voltex/keymap.c70
-rw-r--r--keyboards/mitosis/keymaps/carvac_dv/keymap.c123
-rw-r--r--keyboards/mitosis/keymaps/carvac_dv/rules.mk1
-rw-r--r--keyboards/mitosis/keymaps/nzen/keymap.c207
-rw-r--r--keyboards/mitosis/keymaps/nzen/readme.md75
-rw-r--r--keyboards/mitosis/keymaps/nzen/rules.mk8
-rw-r--r--keyboards/miuni32/keymaps/adam-lee/config.h8
-rw-r--r--keyboards/miuni32/keymaps/adam-lee/keymap.c60
-rw-r--r--keyboards/miuni32/keymaps/adam-lee/readme.md1
-rw-r--r--keyboards/miuni32/keymaps/adam-lee/rules.mk18
-rw-r--r--keyboards/miuni32/keymaps/cassdelacruzmunoz/config.h22
-rw-r--r--keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c173
-rw-r--r--keyboards/miuni32/keymaps/cassdelacruzmunoz/readme.md19
-rw-r--r--keyboards/mt/mt980/keymaps/walker/config.h5
-rw-r--r--keyboards/mt/mt980/keymaps/walker/keymap.c168
-rw-r--r--keyboards/mt/mt980/keymaps/walker/rules.mk1
-rw-r--r--keyboards/nack/keymaps/farfalleflickan/keymap.c203
-rw-r--r--keyboards/nack/keymaps/farfalleflickan/keymap.h116
-rw-r--r--keyboards/nack/keymaps/farfalleflickan/readme.md1
-rw-r--r--keyboards/ning/tiny_board/tb16_rgb/keymaps/ningjx/keymap.c37
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/snailmap/keymap.c543
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/snailmap/readme.md36
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/snailmap/rules.mk5
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c289
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk7
-rw-r--r--keyboards/numatreus/keymaps/yohewi/keymap.c61
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h27
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c141
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md62
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h27
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c111
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md4
-rw-r--r--keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk4
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h27
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c219
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json1
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md73
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk3
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h30
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c199
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md89
-rw-r--r--keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk3
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h26
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c60
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk3
-rw-r--r--keyboards/orthodox/keymaps/rfvizarra/config.h41
-rw-r--r--keyboards/orthodox/keymaps/rfvizarra/keymap.c134
-rw-r--r--keyboards/orthodox/keymaps/rfvizarra/readme.md19
-rw-r--r--keyboards/p3d/q4z/keymaps/rjboone/config.h21
-rw-r--r--keyboards/p3d/q4z/keymaps/rjboone/keymap.c107
-rw-r--r--keyboards/p3d/q4z/keymaps/rjboone/readme.md1
-rw-r--r--keyboards/p3d/q4z/keymaps/rjboone/rules.mk1
-rw-r--r--keyboards/pierce/keymaps/durken1/config.h69
-rw-r--r--keyboards/pierce/keymaps/durken1/keymap.c159
-rw-r--r--keyboards/pierce/keymaps/durken1/rules.mk4
-rw-r--r--keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c29
-rw-r--r--keyboards/playkbtw/pk60/keymaps/rfvizarra/readme.md11
-rw-r--r--keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c86
-rw-r--r--keyboards/ploopyco/trackball_nano/keymaps/maddie/readme.md1
-rw-r--r--keyboards/primekb/prime_o/keymaps/reasonsandreasons/config.h21
-rw-r--r--keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c174
-rw-r--r--keyboards/primekb/prime_o/keymaps/reasonsandreasons/readme.md5
-rw-r--r--keyboards/primekb/prime_o/keymaps/reasonsandreasons/rules.mk20
-rw-r--r--keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c56
-rw-r--r--keyboards/psuieee/pluto12/keymaps/wymcg/readme.md1
-rw-r--r--keyboards/qvex/lynepad2/keymaps/mcrosson/keymap.c142
-rw-r--r--keyboards/qvex/lynepad2/keymaps/mcrosson/rules.mk1
-rw-r--r--keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c81
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/config.h25
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c333
-rw-r--r--keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk10
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/config.h42
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c248
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk5
-rw-r--r--keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c272
-rw-r--r--keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk15
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h42
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c97
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/rules.mk1
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/samae/config.h35
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c79
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/samae/rules.mk1
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h41
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c148
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/rules.mk3
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c151
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/readme.md23
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/rominronin/config.h24
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c65
-rw-r--r--keyboards/rominronin/katana60/rev1/keymaps/rominronin/readme.md5
-rw-r--r--keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c79
-rw-r--r--keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/readme.md1
-rw-r--r--keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c270
-rw-r--r--keyboards/ungodly/launch_pad/keymaps/warzone/rules.mk2
-rw-r--r--keyboards/waterfowl/keymaps/cyanduck/keymap.c129
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/tusing/README.md79
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/tusing/config.h45
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c48
-rw-r--r--keyboards/wilba_tech/zeal60/keymaps/tusing/rules.mk6
-rw-r--r--keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c75
-rw-r--r--keyboards/winkeyless/bface/keymaps/kpeatt/readme.md10
-rw-r--r--keyboards/winkeyless/bface/keymaps/p3lim/README.md21
-rw-r--r--keyboards/winkeyless/bface/keymaps/p3lim/keymap.c188
-rw-r--r--keyboards/winkeyless/bface/keymaps/p3lim/rules.mk1
-rw-r--r--keyboards/wren/keymaps/walterhanley/config.h20
-rw-r--r--keyboards/wren/keymaps/walterhanley/keymap.c170
-rw-r--r--keyboards/wren/keymaps/walterhanley/readme.md12
209 files changed, 0 insertions, 14964 deletions
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/combos.def b/keyboards/gboards/gergoplex/keymaps/georgepetri/combos.def
deleted file mode 100644
index a9205c028a..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/combos.def
+++ /dev/null
@@ -1,11 +0,0 @@
1// List any combo dictionaries you want loaded to your device below!
2
3// QMK wide includes
4//#include "combos/germ-vim-helpers.def"
5#include "combos/germ-mouse-keys.def"
6
7// User includes
8#include "gergoplex.def"
9
10// Word completion
11// #include "combos/eng-combos.def"
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h b/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h
deleted file mode 100644
index e2c27583fa..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h
+++ /dev/null
@@ -1,31 +0,0 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19// Copy and worked on with love from the EZ team
20
21#pragma once
22
23#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
24
25#undef DEBOUNCE
26#define DEBOUNCE 25
27
28#define COMBO_ALLOW_ACTION_KEYS
29#define COMBO_VARIABLE_LEN
30
31#define TAPPING_TERM_PER_KEY
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/gergoplex.def b/keyboards/gboards/gergoplex/keymaps/georgepetri/gergoplex.def
deleted file mode 100644
index d50d431c8b..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/gergoplex.def
+++ /dev/null
@@ -1,7 +0,0 @@
1// Gergoplex specfic combos
2
3COMB(hjEnt, KC_ENT, KC_H, KC_J)
4COMB(loDel, KC_DEL, KC_L, KC_O)
5COMB(pscBspace, KC_BSPC, KC_P, KC_SCLN)
6COMB(sdEsc, KC_ESC, KC_D, KC_F)
7COMB(fgEsc, KC_ESC, KC_F, KC_G)
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c b/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c
deleted file mode 100644
index 44c570b42c..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c
+++ /dev/null
@@ -1,212 +0,0 @@
1/* Copyright 2021 Jane Bernhardt
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/* Good on you for modifying your layout! if you don't have
18 * time to read the QMK docs, a list of keycodes can be found at
19 * https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md
20 */
21
22#include QMK_KEYBOARD_H
23#include "g/keymap_combo.h"
24
25enum {
26 _ALPHA, // default
27 _GAME, // gaming
28 _SPECIAL, // special characters
29 _NUMBERS // numbers/function/motion
30};
31
32typedef enum {
33 TD_NONE,
34 TD_UNKNOWN,
35 TD_SINGLE_TAP,
36 TD_DOUBLE_TAP,
37 TD_TRIPLE_TAP
38} td_state_t;
39
40typedef struct {
41 bool is_press_action;
42 td_state_t state;
43} td_tap_t;
44
45enum {
46 GAME
47};
48
49td_state_t cur_dance(tap_dance_state_t *state);
50
51void ql_finished(tap_dance_state_t *state, void *user_data);
52void ql_reset(tap_dance_state_t *state, void *user_data);
53
54#define KC_CTL_A MT(MOD_LCTL, KC_A) // Tap for A, hold for Control
55#define KC_SFT_Z MT(MOD_RSFT, KC_Z) // Tap for Z, hold for Shift
56#define KC_SFT_SL MT(MOD_RSFT, KC_SLSH) // Tap for slash, hold for Shift
57#define KC_SPE_SPC LT(_SPECIAL, KC_SPC) // Tap for Space, hold for Special layer
58#define KC_NUM_SPC LT(_NUMBERS, KC_SPC) // Tap for Space, hold for Numbers layer
59
60 /* Combomap
61 *
62 * ,-------------------------------. ,-------------------------------.
63 * | | | | | | | | | | | |
64 * |-------+-----+-----+-----+-----| |-----+-----+-----+-DEL-+-BSPC--|
65 * | | | ESC ESC | | ENT | | | |
66 * |-------+-----+-----+-RMB-+-LMB-| |-----+-----+-----+-----+-------|
67 * | | | | | | | | | | | |
68 * `-------------------------------' `-------------------------------'
69 * .-----------------. .-----------------.
70 * | | | | | | | |
71 * '-----------------' '-----------------'
72 */
73
74const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
75 /* Alpha layer
76 *
77 * ,-------------------------------. ,-------------------------------.
78 * | Q | W | E | R | T | | Y | U | I | O | P |
79 * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
80 * | CTRL A| S | D | F | G | | H | J | K | L | ; |
81 * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
82 * | SHFT Z| X | C | V | B | | N | M | , | . |SHFT / |
83 * `-------------------------------' `-------------------------------'
84 * .----------------------. .----------------------.
85 * | META | ALT | SPC SPE | | SPC NUM | TAB | SHFT |
86 * '----------------------' '----------------------'
87 */
88 [_ALPHA] = LAYOUT_split_3x5_3(
89 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
90 KC_CTL_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
91 KC_SFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TD(GAME), KC_DOT, KC_SFT_SL,
92 KC_LGUI, KC_LALT, KC_SPE_SPC, KC_NUM_SPC, KC_TAB, KC_RSFT),
93
94 /* Gaming layer
95 *
96 * ,-------------------------------. ,-------------------------------.
97 * | ~ | Q | W | E | R | | Y | U | I | O | P |
98 * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
99 * | CTRL | A | S | D | F | | H | J | K | L | ; |
100 * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
101 * | SHFT | Z | X | C | V | | N | M | , | . |SHFT / |
102 * `-------------------------------' `-------------------------------'
103 * .------------------. .----------------------.
104 * | META | ALT | SPC | | SPC NUM | TAB | SHFT |
105 * '------------------' '----------------------'
106 */
107 [_GAME] = LAYOUT_split_3x5_3(
108 KC_TILD, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P,
109 KC_LCTL , KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
110 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_M, TD(GAME), KC_DOT, KC_SFT_SL,
111 KC_LGUI, KC_LALT, KC_SPC, KC_NUM_SPC, KC_TAB, KC_RSFT),
112
113 /* Special characters layer
114 *
115 * ,-------------------------------. ,-------------------------------.
116 * | ! | @ | { | } | | | | ` | - | = | / | \ |
117 * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
118 * | # | $ | ( | ) | | | LFT | DWN | UP | RGT | ' |
119 * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
120 * | % | ^ | [ | ] | | | & | ~ | + | * | |
121 * `-------------------------------' `-------------------------------'
122 * .-------------------. .-----------------.
123 * | | | | | | " | _ |
124 * '-------------------' '-----------------'
125 */
126 [_SPECIAL] = LAYOUT_split_3x5_3(
127 KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_MINS, KC_EQL , KC_SLSH, KC_BSLS,
128 KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_QUOT,
129 KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TRNS, KC_AMPR, KC_TILD, KC_PLUS, KC_ASTR, KC_TRNS,
130 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_QUOTE), LSFT(KC_MINS)),
131
132 /* Numbers/Function/Motion layer
133 *
134 * ,-------------------------------. ,-------------------------------.
135 * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
136 * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
137 * | F1 | F2 | F3 | F4 | F5 | | | | | | |
138 * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
139 * | F6 | F7 | F8 | F9 | F10 | | MLFT| MDWN| MUP | MRGT| |
140 * `-------------------------------' `-------------------------------'
141 * .-----------------. .-----------------.
142 * | F11 | F12 | | | | | |
143 * '-----------------' '-----------------'
144 */
145 [_NUMBERS] = LAYOUT_split_3x5_3(
146 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
147 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
148 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS,
149 KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
150};
151
152bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
153 switch (keycode) {
154 case KC_CTL_A:
155 return false;
156 default:
157 return true;
158 }
159}
160
161td_state_t cur_dance(tap_dance_state_t *state) {
162 if (state->count == 1)
163 return TD_SINGLE_TAP;
164 if (state->count == 2)
165 return TD_DOUBLE_TAP;
166 else if (state->count == 3)
167 return TD_TRIPLE_TAP;
168 return TD_UNKNOWN;
169}
170
171static td_tap_t ql_tap_state = {
172 .is_press_action = true,
173 .state = TD_NONE
174};
175
176void ql_finished(tap_dance_state_t *state, void *user_data) {
177 ql_tap_state.state = cur_dance(state);
178 switch (ql_tap_state.state) {
179 case TD_SINGLE_TAP:
180 tap_code(KC_COMMA);
181 break;
182 case TD_DOUBLE_TAP:
183 tap_code(KC_COMMA);
184 tap_code(KC_COMMA);
185 break;
186 case TD_TRIPLE_TAP:
187 if (layer_state_is(_GAME))
188 layer_off(_GAME);
189 else
190 layer_on(_GAME);
191 break;
192 default:
193 break;
194 }
195}
196
197void ql_reset(tap_dance_state_t *state, void *user_data) {
198 ql_tap_state.state = TD_NONE;
199}
200
201tap_dance_action_t tap_dance_actions[] = {
202 [GAME] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset)
203};
204
205uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
206 switch (keycode) {
207 case QK_TAP_DANCE ... QK_TAP_DANCE_MAX:
208 return 275;
209 default:
210 return TAPPING_TERM;
211 }
212}
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/readme.md b/keyboards/gboards/gergoplex/keymaps/georgepetri/readme.md
deleted file mode 100644
index 7c8a6f2023..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
1# George Petri's Gergoplex layout
2Vim and programming focused layout.
3```
4qmk compile -kb gboards/gergoplex -km georgepetri
5qmk flash -kb gboards/gergoplex -km georgepetri
6```
diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk b/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk
deleted file mode 100644
index 74d02c23bd..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/georgepetri/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
1#----------------------------------------------------------------------------
2# make gboards/gergoplex:default:flash
3# Make sure you have dfu-programmer installed!
4#----------------------------------------------------------------------------
5
6#Debug options
7VERBOSE = no
8DEBUG_MATRIX_SCAN_RATE = no
9DEBUG_MATRIX = no
10CONSOLE_ENABLE = no
11
12#Combos!
13COMBO_ENABLE = yes
14VPATH += keyboards/gboards/
15
16ifeq ($(strip $(DEBUG_MATRIX)), yes)
17 OPT_DEFS += -DDEBUG_MATRIX
18endif
19
20TAP_DANCE_ENABLE = yes
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def b/keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def
deleted file mode 100644
index ef953d53f5..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/combos.def
+++ /dev/null
@@ -1,11 +0,0 @@
1// List any combo dictionaries you want loaded to your device below!
2
3// QMK wide includes
4//#include "combos/germ-vim-helpers.def"
5//#include "combos/germ-mouse-keys.def"
6
7// User includes
8#include "gergoplex.def"
9
10// Word completion
11// #include "combos/eng-combos.def"
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h b/keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h
deleted file mode 100644
index 1b30cc73b3..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
1#pragma once
2
3#define COMBO_ALLOW_ACTION_KEYS
4#define COMBO_VARIABLE_LEN
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def b/keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def
deleted file mode 100644
index c7a93ed294..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/gergoplex.def
+++ /dev/null
@@ -1,17 +0,0 @@
1// Gergoplex specfic combos
2
3COMB(qwGrav, KC_GRV, KC_W, KC_Q)
4COMB(wsEsc, KC_ESC, KC_W, KC_S)
5COMB(sdBackspace, KC_BSPC, KC_S, KC_D)
6COMB(dfTab, KC_TAB, KC_D, KC_F)
7COMB(cvEnter, KC_ENT, KC_C, KC_V)
8
9COMB(ioMinus, KC_MINS, KC_I, KC_O)
10COMB(opBackslash, KC_BSLS, KC_O, KC_P)
11COMB(hjLess, KC_LT, KC_H, KC_J)
12COMB(klGreat, KC_GT, KC_K, KC_L)
13COMB(jkColon, KC_COLN, KC_J, KC_K)
14COMB(mcUnder, KC_UNDS, KC_M, KC_COMM)
15COMB(nmQuote, KC_QUOT, KC_N, KC_M)
16
17SUBS(pasta, "I'd just like to interject for a moment.", KC_H, KC_J, KC_K, KC_L)
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c b/keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c
deleted file mode 100644
index 74c0899fdb..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/keymap.c
+++ /dev/null
@@ -1,286 +0,0 @@
1/* Copyright 2022 Tony Grosinger
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18#include "g/keymap_combo.h"
19
20enum {
21 _ALPHA, // Default
22 _SYMB, // Symbols
23 _NUMB, // Numbers
24 _ARROWS, // Arrows and OS
25 _TMUX, // TMUX Nav layer
26 _POPOS, // Gnome Shell, aka PopOS
27};
28
29
30// Macros
31enum custom_keycodes {
32 TMUX_NEW = SAFE_RANGE,
33 TMUX_ZOOM,
34 TMUX_SCROLL,
35 TMUX_PN_LT,
36 TMUX_PN_UP,
37 TMUX_PN_DN,
38 TMUX_PN_RT,
39 TMUX_WN_LT,
40 TMUX_WN_RT,
41 TMUX_SP_VT,
42 TMUX_SP_HZ,
43 VIM_CLIP_CP,
44 VIM_CLIP_PST,
45 VIM_MACRO,
46};
47
48bool process_record_user(uint16_t keycode, keyrecord_t *record) {
49 switch (keycode) {
50 case TMUX_NEW:
51 if (record->event.pressed) {
52 tap_code16(C(KC_B));
53 SEND_STRING("c");
54 }
55 break;
56 case TMUX_ZOOM:
57 if (record->event.pressed) {
58 tap_code16(C(KC_B));
59 SEND_STRING("z");
60 }
61 break;
62 case TMUX_SCROLL:
63 if (record->event.pressed) {
64 tap_code16(C(KC_B));
65 SEND_STRING("[");
66 }
67 break;
68 case TMUX_PN_LT:
69 if (record->event.pressed) {
70 tap_code16(C(KC_B));
71 tap_code(KC_LEFT);
72 }
73 break;
74 case TMUX_PN_DN:
75 if (record->event.pressed) {
76 tap_code16(C(KC_B));
77 tap_code(KC_DOWN);
78 }
79 break;
80 case TMUX_PN_UP:
81 if (record->event.pressed) {
82 tap_code16(C(KC_B));
83 tap_code(KC_UP);
84 }
85 break;
86 case TMUX_PN_RT:
87 if (record->event.pressed) {
88 tap_code16(C(KC_B));
89 tap_code(KC_RIGHT);
90 }
91 break;
92 case TMUX_WN_LT:
93 if (record->event.pressed) {
94 tap_code16(C(KC_B));
95 SEND_STRING("p");
96 }
97 break;
98 case TMUX_WN_RT:
99 if (record->event.pressed) {
100 tap_code16(C(KC_B));
101 SEND_STRING("n");
102 }
103 break;
104 case TMUX_SP_VT:
105 if (record->event.pressed) {
106 tap_code16(C(KC_B));
107 SEND_STRING("%");
108 }
109 break;
110 case TMUX_SP_HZ:
111 if (record->event.pressed) {
112 tap_code16(C(KC_B));
113 SEND_STRING("\"");
114 }
115 break;
116 case VIM_CLIP_CP:
117 if (record->event.pressed) {
118 tap_code16(S(KC_QUOTE));
119 tap_code16(S(KC_EQUAL));
120 tap_code(KC_Y);
121 }
122 break;
123 case VIM_CLIP_PST:
124 if (record->event.pressed) {
125 tap_code16(S(KC_QUOTE));
126 tap_code16(S(KC_EQUAL));
127 tap_code(KC_P);
128 }
129 break;
130 case VIM_MACRO:
131 if (record->event.pressed) {
132 tap_code16(S(KC_2));
133 tap_code(KC_Q);
134 }
135 break;
136 /*
137 case LAYRMOD:
138 // Act as a mod key if held, or toggle a layer if tapped
139 // replace KC_LCTL with desired mod, and _TARGET with desired layer name / number
140 if (record->event.pressed) {
141 uint8_t key_timer = timer_read();
142 register_mods(MOD_BIT(KC_LCTL));
143 } else {
144 unregister_mods(MOD_BIT(KC_LCTL));
145 if (timer_elapsed(key_timer) < 200) {
146 layer_invert(_TARGET);
147 }
148 }
149 return false;
150 break;
151 */
152 }
153 return true;
154}
155
156/* Combos
157 *
158 * ,-----------------------------. ,-----------------------------.
159 * | ` | | | | | | MINS | BSLH |
160 * |-----+----ESC----+-----+-----| |-----+-----+-----+-----------|
161 * | | BSPC TAB | | | LES COLN GRT | |
162 * |-----+-----+-----+--RMB+-LMB-| |-----+-----+-----+-----------|
163 * | | | ENT | | | QUO UNDR | | |
164 * `-----+-----+-----+-----+-----' `-----------------------------'
165 * .-------------------------. .-------------------.
166 * | | | | | | | |
167 * '-------------------------' '-------------------'
168 */
169
170const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
171 /* Keymap 0: Default layer
172 * ,------------------------------. ,----------------------------------.
173 * | Q | W | E | R | T | | Y | U | I | O | P |
174 * |------+-----+-----+-----+-----| |-----+-----+-----+-------+--------|
175 * |CTRL/A| S | D | F | G | | H | J | K | L | CTRL/; |
176 * |------+-----+-----+-----+-----| |-----+-----+-----+-------+--------|
177 * |SHFT/Z|ALT/X| C | V | B | | N | M | < | ALT/> | SHFT/? |
178 * `------+-----+-----+------+----' `----------------------------------'
179 * .-----------------. .----------------------.
180 * | |GUI |SPC(NUM)| |SPC(SYM)|TMUX | PopOS |
181 * '-----------------' '----------------------'
182 */
183 [_ALPHA] = LAYOUT_split_3x5_3(
184 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
185 MT(MOD_LCTL, KC_A),KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MT(MOD_LCTL, KC_SCLN),
186 MT(MOD_LSFT, KC_Z),MT(MOD_LALT, KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, MT(MOD_LALT, KC_DOT), MT(MOD_RSFT, KC_SLSH),
187
188 KC_NO, KC_LGUI, LT(_NUMB, KC_SPC), // Left
189 LT(_SYMB, KC_SPC), MO(_TMUX), MO(_POPOS) // Right
190 ),
191
192 /* Keymap 1: Symbols layer
193 * ,------------------------------. ,-------------------------------.
194 * | ! | @ | # | $ | % | | ^ | & | * | + | = |
195 * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
196 * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
197 * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
198 * | | | | | | | | | | F11 | F12 |
199 * `------+-----+-----+-----+-----' `-------------------------------'
200 * .-----------------. .-----------------.
201 * | | DEL | MO3 | | HLD | SPC | |
202 * '-----------------' '-----------------'
203 */
204 [_SYMB] = LAYOUT_split_3x5_3(
205 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PLUS, KC_EQL,
206 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
207 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12,
208 KC_NO, KC_DEL, MO(_ARROWS), KC_TRNS, KC_SPC, KC_NO
209 ),
210
211 /* Keymap 2: Number layer
212 * ,------------------------------. ,-------------------------------.
213 * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
214 * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
215 * | CTRL | | ( | ) | | | | 4 | 7 | 6 | |
216 * |------+-----+-----+-----+-----| |-----+-----+-----+-----+-------|
217 * | SHFT | | [ | ] | | | | 1 | 2 | 3 | . |
218 * `------+-----+-----+-----+-----' `-------------------------------'
219 * .-----------------. .-----------------.
220 * | | | HLD | | MO3 | 0 | |
221 * '-----------------' '-----------------'
222 */
223 [_NUMB] = LAYOUT_split_3x5_3(
224 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
225 KC_LCTL, KC_NO, KC_LPRN, KC_RPRN, KC_NO, KC_NO, KC_4, KC_5, KC_6, KC_NO,
226 KC_LSFT, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_DOT,
227 KC_NO,KC_NO,KC_TRNS, MO(_ARROWS),KC_0,KC_NO
228 ),
229
230 /* Keymap 3: Arrows and OS
231 * ,------------------------------. ,------------------------------------.
232 * | | | | | | | | | | | |
233 * |------+-----+-----+-----+-----| |-------+-------+------+-------+-----|
234 * | CTRL |HOME | PUP | | | | LEFT | DOWN | UP | RIGHT | |
235 * |------+-----+-----+-----+-----| |-------+-------+------+-------+-----|
236 * | SHFT |END | PDN | | | | | | | | |
237 * `------+-----+-----+-----+-----' `------------------------------------'
238 * .-----------------. .-----------------.
239 * | | | HLD | | HLD | | |
240 * '-----------------' '-----------------'
241 */
242 [_ARROWS] = LAYOUT_split_3x5_3(
243 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
244 KC_LCTL, KC_HOME, KC_PGUP, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
245 KC_LSFT, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
246 KC_NO,KC_NO,KC_TRNS, KC_TRNS,KC_NO,KC_NO
247 ),
248
249 /* Keymap 4: Tmux navigation layer
250 * ,----------------------------------. ,---------------------------------------.
251 * | Vi Mcr | | | | SP VT | | Vi Ynk| | | | Vi PT |
252 * |--------+-----+-----+-----+-------| |-------+-------+-------+-------+-------|
253 * | | SCRL| | | | | PN LT | PN DN | PN UP | PN RT | SP HZ |
254 * |--------+-----+-----+-----+-------| |-------+-------+-------+-------+-------|
255 * | ZOOM | KILL| NEW | | | | W LT | | | W RT | |
256 * `--------+-----+-----+-----+-------' `---------------------------------------'
257 * .-----------------. .-----------------.
258 * | | | | | | HLD | |
259 * '-----------------' '-----------------'
260 */
261 [_TMUX] = LAYOUT_split_3x5_3(
262 VIM_MACRO, KC_NO, KC_NO, KC_NO, TMUX_SP_VT, VIM_CLIP_CP, KC_NO, KC_NO, KC_NO, VIM_CLIP_PST,
263 KC_NO, TMUX_SCROLL, KC_NO, KC_NO, KC_NO, TMUX_PN_LT, TMUX_PN_DN, TMUX_PN_UP, TMUX_PN_RT, TMUX_SP_HZ,
264 TMUX_ZOOM, KC_NO, TMUX_NEW, KC_NO, KC_NO, TMUX_WN_LT, KC_NO, KC_NO, TMUX_WN_RT, KC_NO,
265 KC_NO,KC_NO,KC_NO, KC_NO,KC_TRNS,KC_NO
266 ),
267
268 /* Keymap 5: Gnome Shell (PopOS)
269 * ,------------------------------. ,--------------------------------------.
270 * | | | | | | | MV-DWN| D-DWN | D-UP | MV-UP | Flip |
271 * |------+-----+-----+-----+-----| |-------+-------+-------+-------+------|
272 * | | | | | | | W-L | W-DWN | W-UP | W-R | |
273 * |------+-----+-----+-----+-----| |-------+-------+-------+-------+------|
274 * | | | | | | | Scrns | Apps | Close | | |
275 * `------+-----+-----+-----+-----' `--------------------------------------'
276 * .-----------------. .-----------------.
277 * | | | | | | | HLD |
278 * '-----------------' '-----------------'
279 */
280 [_POPOS] = LAYOUT_split_3x5_3(
281 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, SGUI(KC_J), LCTL(LGUI(KC_J)), LCTL(LGUI(KC_K)), SGUI(KC_K), LGUI(KC_O),
282 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), KC_NO,
283 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_D), LGUI(KC_A), LGUI(KC_Q), KC_NO, KC_NO,
284 KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_TRNS
285 ),
286};
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md b/keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md
deleted file mode 100644
index 0a53aa1cbf..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
1# GergoPlex
2
3This keymap I created for the GergoPlex with a focus on:
4
5- Keeping keys close to their normal locations when possible (number/symbol rows)
6- Work well for vim, tmux, and Ubuntu default desktop shortcuts
7- Work okay for OSx shortcuts
8
9## Firmware Building
10
11 util/docker_build.sh gboards/gergoplex:tgrosinger
12 util/docker_build.sh gboards/gergoplex:tgrosinger:flash
diff --git a/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk b/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk
deleted file mode 100644
index 620cab16c0..0000000000
--- a/keyboards/gboards/gergoplex/keymaps/tgrosinger/rules.mk
+++ /dev/null
@@ -1,18 +0,0 @@
1#----------------------------------------------------------------------------
2# make gboards/gergoplex:default:flash
3# Make sure you have dfu-programmer installed!
4#----------------------------------------------------------------------------
5
6#Debug options
7VERBOSE = no
8DEBUG_MATRIX_SCAN_RATE = no
9DEBUG_MATRIX = no
10CONSOLE_ENABLE = no
11
12#Combos!
13COMBO_ENABLE = yes
14VPATH += keyboards/gboards/
15
16ifeq ($(strip $(DEBUG_MATRIX)), yes)
17 OPT_DEFS += -DDEBUG_MATRIX
18endif
diff --git a/keyboards/geonworks/w1_at/keymaps/zq/keymap.c b/keyboards/geonworks/w1_at/keymaps/zq/keymap.c
deleted file mode 100644
index eba9aedb8f..0000000000
--- a/keyboards/geonworks/w1_at/keymaps/zq/keymap.c
+++ /dev/null
@@ -1,119 +0,0 @@
1/* Copyright 2021 Zhi Quan
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18enum custom_keycodes {
19 KC_P00 = SAFE_RANGE
20};
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23[0] = LAYOUT_all( /* Base */
24 KC_F1, KC_F2, KC_GRV, 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_BSPC, KC_DEL, TG(2), KC_PSLS, KC_PAST, KC_PMNS,
25 KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
26 KC_F5, KC_F6, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
27 KC_F7, KC_F8, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PENT,
28 KC_F9, KC_F10, KC_LCTL, KC_LCMD, KC_SPC, KC_ROPT, MO(1), KC_P0, KC_P00, KC_PDOT, KC_PENT),
29
30[1] = LAYOUT_all( /* FN */
31 KC_TRNS, KC_TRNS, KC_TRNS, 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_DEL, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_VOLD,
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, QK_BOOT, KC_HOME, KC_UP, KC_PGUP, KC_VOLU,
33 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_MUTE, KC_RGHT, KC_VOLU,
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_DOWN, KC_PGDN, KC_MPLY,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY),
36
37[2] = LAYOUT_all( /* Numpad */
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
39 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_PGUP, KC_TRNS,
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, XXXXXXX, KC_RGHT, KC_TRNS,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_DOWN, KC_PGDN, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
43
44[3] = LAYOUT_all( /* Empty for dynamic keymaps */
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
50};
51
52bool process_record_user(uint16_t keycode, keyrecord_t *record) {
53 switch(keycode) {
54 case KC_P00:
55 if (record->event.pressed) {
56 tap_code(KC_P0);
57 tap_code(KC_P0);
58 }
59 return false;
60 break;
61 case KC_ESC:
62 if (record->event.pressed) {
63 // Turn on capslock indicator.
64 writePin(LED_CAPS_LOCK_PIN, LED_PIN_ON_STATE);
65 } else {
66 // Turn off capslock indicator.
67 writePin(LED_CAPS_LOCK_PIN, !LED_PIN_ON_STATE);
68 }
69 }
70 return true;
71}
72
73// Customized function so that numlock and capslock indicator are no longer controlled by the host.
74bool led_update_user(led_t led_state) {
75#if defined(LED_NUM_LOCK_PIN) || defined(LED_CAPS_LOCK_PIN) || defined(LED_SCROLL_LOCK_PIN) || defined(LED_COMPOSE_PIN) || defined(LED_KANA_PIN)
76# if LED_PIN_ON_STATE == 0
77 // invert the whole thing to avoid having to conditionally !led_state.x later
78 led_state.raw = ~led_state.raw;
79# endif
80
81// # ifdef LED_NUM_LOCK_PIN
82// writePin(LED_NUM_LOCK_PIN, led_state.num_lock);
83// # endif
84// # ifdef LED_CAPS_LOCK_PIN
85// writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
86// # endif
87# ifdef LED_SCROLL_LOCK_PIN
88 writePin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock);
89# endif
90# ifdef LED_COMPOSE_PIN
91 writePin(LED_COMPOSE_PIN, led_state.compose);
92# endif
93# ifdef LED_KANA_PIN
94 writePin(LED_KANA_PIN, led_state.kana);
95# endif
96#endif
97
98 // Return false to let led_update_kb fall through.
99 return false;
100}
101
102// Customized function to manage numlock indicator based on layer.
103layer_state_t layer_state_set_user(layer_state_t state) {
104 switch (get_highest_layer(state)) {
105 // Base layer
106 case 0:
107 // Turn on numlock indicator.
108 writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE);
109 break;
110
111 // Numpad navigation layer
112 case 2:
113 // Turn off numlock indicator.
114 writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE);
115 break;
116 }
117
118 return state;
119} \ No newline at end of file
diff --git a/keyboards/geonworks/w1_at/keymaps/zq/readme.md b/keyboards/geonworks/w1_at/keymaps/zq/readme.md
deleted file mode 100644
index 103130b161..0000000000
--- a/keyboards/geonworks/w1_at/keymaps/zq/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
1# Personal W1-AT keymap
2The main highlights are as follows:
3* VIA support enabled
4* Enter bootloader mode using Fn + \
5* Grave key (` and ~) in place of Esc key
6* Esc in place of CapsLock key
7* Use NumLock LED indicator on layers: ON in layer 0, OFF in layer 2 (workaround for macOS since there is no NumLock key)
8* Use CapsLock LED indicator on Esc key
9
10
11## Layer 0 (Base)
12---
13![Layer 0](https://i.imgur.com/l1OKSBB.png)
14
15## Layer 1 (Function)
16---
17![Layer 1](https://i.imgur.com/RdzVyvb.png)
18
19## Layer 2 (Numpad Navigation)
20---
21![Layer 2](https://i.imgur.com/xKVnQaK.png) \ No newline at end of file
diff --git a/keyboards/geonworks/w1_at/keymaps/zq/rules.mk b/keyboards/geonworks/w1_at/keymaps/zq/rules.mk
deleted file mode 100644
index 036bd6d1c3..0000000000
--- a/keyboards/geonworks/w1_at/keymaps/zq/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/keymap.c
deleted file mode 100644
index 8ca676273b..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
1/* Copyright 2022 Eugenio Pastoral
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// Each layer gets a name for readability, which is then used in the keymap matrix below.
20// The underscores don't mean anything - you can have a layer called STUFF or any other name.
21enum custom_layers {
22 _BL,
23 _FL,
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 /* Keymap _BL: Base Layer (Default Layer)
28 */
29[_BL] = LAYOUT(
30 QK_GESC, 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_BSPC, KC_HOME,
31 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
32 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
33 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
34 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
35
36 /* Keymap _FL: Function Layer
37 */
38[_FL] = LAYOUT(
39 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_DEL, RGB_TOG,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_VAI, _______,
43 EE_CLR, _______, _______, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD)
44};
45
46// Turns side LEDs to white for caps lock and layer indicators.
47bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
48 if (host_keyboard_led_state().caps_lock || get_highest_layer(layer_state | default_layer_state)) {
49 for (uint8_t i = led_min; i < led_max; i++) {
50 if (HAS_FLAGS(g_led_config.flags[i], 0x02)) { // 0x02 == LED_FLAG_UNDERGLOW
51 rgb_matrix_set_color(i, 0xff, 0xff, 0xff);
52 }
53 }
54 }
55 return false;
56};
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/readme.md b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/readme.md
deleted file mode 100644
index 4f80a5b956..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# ANSI GMMKV2 65% Layout
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rgb_matrix_user.inc b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rgb_matrix_user.inc
deleted file mode 100644
index 2966fe2586..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rgb_matrix_user.inc
+++ /dev/null
@@ -1,72 +0,0 @@
1 /* Copyright 2022 Eugenio Pastoral
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17RGB_MATRIX_EFFECT(SOLID_UNDERGLOW)
18RGB_MATRIX_EFFECT(HOLOGRAPHICS_UNDERGLOW)
19
20#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
21
22// This is a side lights only configuration where the solid color is following the current HSV setting.
23static bool SOLID_UNDERGLOW(effect_params_t* params) {
24 RGB_MATRIX_USE_LIMITS(led_min, led_max);
25
26 RGB rgb = rgb_matrix_hsv_to_rgb(rgb_matrix_config.hsv);
27 for (uint8_t i = led_min; i < led_max; i++) {
28 if (HAS_FLAGS(g_led_config.flags[i], 0x02)) { // 0x02 == LED_FLAG_UNDERGLOW
29 rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
30 } else {
31 rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
32 }
33 }
34 return rgb_matrix_check_finished_leds(led_max);
35}
36
37// This is a side lights only configuration where the color is set to a static gradient.
38static bool HOLOGRAPHICS_UNDERGLOW(effect_params_t* params) {
39 RGB_MATRIX_USE_LIMITS(led_min, led_max);
40
41 for (uint8_t i = led_min; i < led_max; i++) {
42 if (HAS_FLAGS(g_led_config.flags[i], 0x02)) { // 0x02 == LED_FLAG_UNDERGLOW
43 // RIGHT-HAND SIDE LEDS || LEFT-HAND SIDE LEDS
44 if (i == 67 || i == 77) {
45 rgb_matrix_set_color(i, 0xff, 0x00, 0xee);
46 } else if (i == 68 || i == 78) {
47 rgb_matrix_set_color(i, 0xcc, 0x00, 0xff);
48 } else if (i == 69 || i == 79) {
49 rgb_matrix_set_color(i, 0x9e, 0x00, 0xff);
50 } else if (i == 70 || i == 80) {
51 rgb_matrix_set_color(i, 0x70, 0x00, 0xff);
52 } else if (i == 71 || i == 81) {
53 rgb_matrix_set_color(i, 0x52, 0x00, 0xff);
54 } else if (i == 72 || i == 82) {
55 rgb_matrix_set_color(i, 0x33, 0x00, 0xff);
56 } else if (i == 73 || i == 83) {
57 rgb_matrix_set_color(i, 0x00, 0x38, 0xff);
58 } else if (i == 74 || i == 84) {
59 rgb_matrix_set_color(i, 0x00, 0x57, 0xff);
60 } else if (i == 75 || i == 85) {
61 rgb_matrix_set_color(i, 0x00, 0x85, 0xff);
62 } else if (i == 76 || i == 86) {
63 rgb_matrix_set_color(i, 0x00, 0xb2, 0xff);
64 } else {
65 rgb_matrix_set_color(i, 0x00, 0x00, 0x00);
66 }
67 }
68 }
69 return rgb_matrix_check_finished_leds(led_max);
70}
71
72#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rules.mk b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rules.mk
deleted file mode 100644
index 6245023e80..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/achrovisual/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1RGB_MATRIX_CUSTOM_USER = yes
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/keymap.c b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/keymap.c
deleted file mode 100644
index c5f90e3fee..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
1/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// Each layer gets a name for readability, which is then used in the keymap matrix below.
20// The underscores don't mean anything - you can have a layer called STUFF or any other name.
21enum custom_layers {
22 _BL,
23 _FL,
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 /* Keymap _BL: Base Layer (Default Layer)
28 */
29[_BL] = LAYOUT(
30 QK_GESC, 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_BSPC, KC_HOME,
31 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
32 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
33 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
34 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
35
36 /* Keymap _FL: Function Layer
37 */
38[_FL] = LAYOUT(
39 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_INS,
40 RGB_M_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, RGB_VAI, RGB_TOG,
43 KC_MUTE, KC_VOLU, KC_VOLD, QK_BOOT, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD)
44};
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/readme.md b/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/readme.md
deleted file mode 100644
index 4f80a5b956..0000000000
--- a/keyboards/gmmk/gmmk2/p65/ansi/keymaps/thekorn/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# ANSI GMMKV2 65% Layout
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c
deleted file mode 100644
index 971e0821a3..0000000000
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c
+++ /dev/null
@@ -1,107 +0,0 @@
1/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#include QMK_KEYBOARD_H
18
19// clang-format off
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
23// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
24// Tab Q W E R T Y U I O P [ ] PgUp
25// Caps A S D F G H J K L ; " # Enter PgDn
26// Sh_L / Z X C V B N M , . ? Sh_R Up End
27// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
28
29
30 // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
31 // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
32 // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
33 // if that's your preference.
34 //
35 // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
36 // it'll be back to normal when you plug it back in.
37 //
38 // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
39 // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
40 // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
41 [0] = LAYOUT(
42 KC_ESC, 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_HOME, KC_MUTE,
43 KC_GRV, 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_BSPC, KC_DEL,
44 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
45 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
46 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
47 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
48 ),
49
50 [1] = LAYOUT(
51 _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_PSCR, _______,
52 _______, RGB_TOG, RGB_M_P, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
53 _______, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
54 _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______,
55 _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
56 _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
57 ),
58
59
60};
61// clang-format on
62
63#ifdef ENCODER_ENABLE
64bool encoder_update_user(uint8_t index, bool clockwise) {
65 if (clockwise) {
66 tap_code(KC_VOLU);
67 } else {
68 tap_code(KC_VOLD);
69 }
70 return false;
71}
72#endif
73
74bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
75 static uint32_t cycle_led_timer = 0;
76 static uint8_t current_value = 0;
77 static uint8_t left_side_leds[8] = {68, 71, 74, 77, 81, 84, 88, 92};
78 static uint8_t right_side_leds[8] = {69, 72, 75, 78, 82, 85, 89, 93};
79
80 if (host_keyboard_led_state().caps_lock) {
81 if (timer_elapsed32(cycle_led_timer) > 500) {
82 current_value = current_value == 0 ? 255 : 0;
83 cycle_led_timer = timer_read32();
84 }
85 HSV tempHSV = {.h = 0, .s = 255, .v = current_value};
86 RGB tempRGB = hsv_to_rgb(tempHSV);
87 for (uint8_t i = 0; i < ARRAY_SIZE(left_side_leds); i++) {
88 rgb_matrix_set_color(left_side_leds[i], tempRGB.r, tempRGB.g, tempRGB.b);
89 rgb_matrix_set_color(right_side_leds[i], tempRGB.r, tempRGB.g, tempRGB.b);
90 }
91 }
92
93 static uint8_t l2_functions[26] = {6, 7, 8, 12, 13, 14, 15, 16, 18, 23, 28, 34, 38, 39, 44, 50, 56, 61, 66, 70, 80, 86, 94, 95, 96, 98};
94 switch(get_highest_layer(layer_state)){ // special handling per layer
95 case 2: //layer one
96 break;
97 case 1:
98 for (uint8_t i = 0; i < ARRAY_SIZE(l2_functions); i++) {
99 RGB_MATRIX_INDICATOR_SET_COLOR(l2_functions[i], 255, 0, 0);
100 }
101 break;
102 default:
103 break;
104 break;
105 }
106 return false;
107}
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/readme.md b/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/readme.md
deleted file mode 100644
index da66c447ad..0000000000
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
1# chofstede GMMK Pro layout
2
3- Added Print-Screen to FN+POS1
4- Added Insert to FN+#
5- The LED bars on the left and right side of the keyboard blink red when CAPS Lock is enabled
6- All mapped keys light up red when FN is being pressed
7
8
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c
deleted file mode 100644
index 694fd80e19..0000000000
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/keymap.c
+++ /dev/null
@@ -1,72 +0,0 @@
1/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#include QMK_KEYBOARD_H
18
19// clang-format off
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
23// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
24// Tab Q W E R T Y U I O P [ ] PgUp
25// Caps A S D F G H J K L ; " # Enter PgDn
26// Sh_L / Z X C V B N M , . ? Sh_R Up End
27// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
28
29
30 // The FN key by default maps to a momentary toggle to layer 1 to provide access to the QK_BOOT key (to put the board into bootloader mode). Without
31 // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
32 // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
33 // if that's your preference.
34 //
35 // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
36 // it'll be back to normal when you plug it back in.
37 //
38 // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO).
39 // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience.
40 // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts.
41 [0] = LAYOUT(
42 KC_ESC, 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_DEL, KC_MPLY,
43 KC_GRV, 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_BSPC, KC_HOME,
44 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
45 MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
46 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
47 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
48 ),
49
50 [1] = LAYOUT(
51 _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, KC_MNXT,
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
53 _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______,
54 _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
55 _______, _______, RGB_VAD, RGB_TOG, RGB_VAI, RGB_HUI, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______,
56 _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
57 ),
58
59
60};
61// clang-format on
62
63#ifdef ENCODER_ENABLE
64bool encoder_update_user(uint8_t index, bool clockwise) {
65 if (clockwise) {
66 tap_code(KC_VOLU);
67 } else {
68 tap_code(KC_VOLD);
69 }
70 return false;
71}
72#endif
diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md b/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md
deleted file mode 100644
index 4239e0dcb8..0000000000
--- a/keyboards/gmmk/pro/rev1/iso/keymaps/falkecarlsen/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
1# Falke Carlsen keymap for GMMK PRO ISO
2Based on the default keymap, inheriting rotary encoder and LED configs without modification.
3
4## Changes:
5- Fixes layer 1 of top-row to correspond to 'Keychron ISO Q1 & K2 Dye-Sub PBT Nordic' printed legend multimedia keys.
6- Adds early 2010s Ducky layer 1 mouse-emulation to WASD with left+right click and scroll in the 2x4 cluster.
7- Remaps default keymaps LED-handling to 2nd-row due to addition of mouse-emulation.
8- Swap layer 0 rotary encoder click to play/pause, and layer 1 click to next.
diff --git a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c
deleted file mode 100644
index 884efb7b96..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c
+++ /dev/null
@@ -1,232 +0,0 @@
1/* Copyright 2021 Qiaowei Tang
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18
19 /*
20 * LED ranges for Think6.5v2 2U
21 * These values were derived from manual testing. Derived from keymaps/rys.
22 * ┌───────┬───────┬─────────────┬───────────────────────────────────────────┐
23 * │ 00 01 │ 02 03 │ 04 05 06 07 │ 08 09 10 11 12 13 14 15 16 17 18 19 20 21 │
24 * │ badge │ badge │    (?)     │              underglow (?)                │
25 * │  bar │ icon │         │                               │
26 * └───────┴───────┴─────────────┴───────────────────────────────────────────┘
27 */
28
29// Define the LED ranges start, end
30#define THINK65_LED_RANGE_OFF 0, 0
31#define THINK65_LED_RANGE_CAPS 0, 2
32#define THINK65_LED_RANGE_BADGE 0, 4
33#define THINK65_LED_RANGE_UNDERGLOW 4, 22
34#define THINK65_LED_RANGE_ALL 0, 22
35
36// Turn the LEDs off by setting HSV to 0, 0, 0
37#define THINK65_LEDS_OFF 0, 0, 0
38
39// Caps Lock indicator LED
40#define THINK65_LEDS_CAPS 0, 0, 255
41
42#define THINK65_LED_STATE_OFF 0x0 // 0b00000000
43#define THINK65_LED_STATE_CAPS 0x1 // 0b00000001
44#define THINK65_LED_STATE_BADGE 0x2 // 0b00000010
45#define THINK65_LED_STATE_CAPS_AND_BADGE 0x3 // 0b00000011
46
47// Define each LED range as a bit flag
48#define THINK65_LED_CAPS_RANGE_BIT 0
49#define THINK65_LED_BADGE_RANGE_BIT 1
50
51// Setup some keycodes to control cycling and range toggling
52enum {
53 KVM_SW1 = SAFE_RANGE,
54 KVM_SW2,
55 CYC_LED,
56 TOG_BDG
57};
58
59// setup the user EEPROM space we need
60typedef union {
61 uint8_t raw;
62 struct {
63 uint8_t current_led_state:8;
64 };
65} user_config_t;
66
67user_config_t user_config;
68
69// toggle one of the range flag bits
70void toggle_led_state(unsigned int led_range) {
71 if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) {
72 user_config.current_led_state ^= 1 << led_range;
73 }
74}
75
76// set one of the range flag bits
77void set_led_state(unsigned int led_range) {
78 if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) {
79 user_config.current_led_state |= 1 << led_range;
80 }
81}
82
83// clear one of the range flag bits
84void clear_led_state(unsigned int led_range) {
85 if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) {
86 user_config.current_led_state &= ~(1 << led_range);
87 }
88}
89
90// cycle LED states: Off -> Esc -> Badge -> Underglow -> Esc+Badge -> Esc+Underglow -> Badge+Underglow -> All
91void cycle_led_state(void) {
92 switch(user_config.current_led_state) {
93 case THINK65_LED_STATE_OFF:
94 user_config.current_led_state = THINK65_LED_STATE_CAPS;
95 break;
96 case THINK65_LED_STATE_CAPS:
97 user_config.current_led_state = THINK65_LED_STATE_BADGE;
98 break;
99 case THINK65_LED_STATE_BADGE:
100 user_config.current_led_state = THINK65_LED_STATE_CAPS_AND_BADGE;
101 break;
102 case THINK65_LED_STATE_CAPS_AND_BADGE:
103 user_config.current_led_state = THINK65_LED_STATE_OFF;
104 break;
105 default:
106 break;
107 }
108}
109
110void apply_led_state(void) {
111 uint8_t h = rgblight_get_hue();
112 uint8_t s = rgblight_get_sat();
113 uint8_t v = rgblight_get_val();
114
115 // Set the RGB ranges based on the current state
116 switch(user_config.current_led_state) {
117 case THINK65_LED_STATE_OFF:
118 rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_ALL);
119 break;
120 case THINK65_LED_STATE_CAPS:
121 rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_BADGE);
122 rgblight_sethsv_range(THINK65_LEDS_CAPS, THINK65_LED_RANGE_CAPS);
123 break;
124 case THINK65_LED_STATE_BADGE:
125 rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_CAPS);
126 rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE);
127 break;
128 case THINK65_LED_STATE_CAPS_AND_BADGE:
129 rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE);
130 rgblight_sethsv_range(THINK65_LEDS_CAPS, THINK65_LED_RANGE_CAPS);
131 break;
132 default:
133 break;
134 }
135}
136
137void keyboard_post_init_user(void) {
138 user_config.raw = eeconfig_read_user();
139
140 if (user_config.current_led_state >= THINK65_LED_STATE_OFF && user_config.current_led_state <= THINK65_LED_STATE_CAPS_AND_BADGE) {
141 // If the current state read from user EEPROM is valid, apply it
142 apply_led_state();
143 } else {
144 // Setup a new default state of off
145 user_config.current_led_state = THINK65_LED_STATE_OFF;
146 apply_led_state();
147 eeconfig_update_user(user_config.raw);
148 }
149}
150
151bool process_record_user(uint16_t keycode, keyrecord_t *record) {
152 switch (keycode) {
153 case KVM_SW1:
154 if (record->event.pressed) {
155 SEND_STRING(SS_TAP(X_RCTL) SS_TAP(X_RCTL) "1");
156 } else {}
157 break;
158 case KVM_SW2:
159 if(record->event.pressed) {
160 SEND_STRING(SS_TAP(X_RCTL) SS_TAP(X_RCTL) "2");
161 } else {}
162 break;
163 case CYC_LED:
164 if (record->event.pressed) {
165 cycle_led_state();
166 apply_led_state();
167 eeconfig_update_user(user_config.raw);
168 }
169 break;
170 case TOG_BDG:
171 if (record->event.pressed) {
172 toggle_led_state(THINK65_LED_BADGE_RANGE_BIT);
173 apply_led_state();
174 eeconfig_update_user(user_config.raw);
175 }
176 break;
177 case KC_CAPS:
178 if (!record->event.pressed) {
179 // connect capslock LED control to the badge LEDs
180 host_keyboard_led_state().caps_lock ? set_led_state(THINK65_LED_CAPS_RANGE_BIT) : clear_led_state(THINK65_LED_CAPS_RANGE_BIT);
181 apply_led_state();
182 eeconfig_update_user(user_config.raw);
183 }
184 break;
185 }
186 return true;
187};
188
189const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
190 /* Base Layer
191 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
192 * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│` ~│
193 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
194 * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│Del│
195 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
196 * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │
197 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ │
198 * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│ │
199 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
200 * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│
201 * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
202 */
203 [0] = LAYOUT_65_ansi_blocker(
204 QK_GESC, 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_BSPC, KC_GRV,
205 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
206 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, XXXXXXX,
207 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_UP, XXXXXXX,
208 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
209 ),
210 /*
211 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┬───┐
212 * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│        │SW1│
213 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┼───┤
214 * │ TOG │PLN│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │Hom│End│ │SW2│
215 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┼───┤
216 * │ │CYC│BDG│UGL│CAP│ │ │ │ │ │ │ │ │ │
217 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬────┤ │
218 * │ │ │ │ │ │ │ │ │ │ │ │ │Vol+│ │
219 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼────┼───┤
220 * │ │ │ │ │ │ │ │ │Vol-│ │
221 * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴────┴───┘
222 */
223 [1] = LAYOUT_65_ansi_blocker(
224 QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KVM_SW1,
225 TOG_BDG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_HOME, KC_END, _______, KVM_SW2,
226 _______, CYC_LED, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
227 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
228 _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______
229 ),
230
231};
232
diff --git a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md
deleted file mode 100644
index 520e7e0752..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
1# dangjoeltang's Think6.5v2 keymap
2
3My personal keymap for the Think6.5v2. Using the `LAYOUT_65_ansi_blocker` LAYOUT for a 2U blocker version. I added functionality to enable the Caps-lock indicator LED above the badge. This functionality shipped with the original board; however, for those who reflash their boards using the default `gray_studio/think65/solder` keymaps that functionality disappeared.
4
5## [Base Layer](http://www.keyboard-layout-editor.com/#/gists/9c6a905a643b77249958f28662348f53)
6![Base Layer](https://imgur.com/Gyim08a)
7
8## [Function Layer](http://www.keyboard-layout-editor.com/#/gists/1c061d3664ea5caf5cb64c759339278d)
9![Function Layer](https://imgur.com/H2Yqnv3)
diff --git a/keyboards/gray_studio/think65/solder/keymaps/yt/config.h b/keyboards/gray_studio/think65/solder/keymaps/yt/config.h
deleted file mode 100644
index 6bdff5008e..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/yt/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
1/* Copyright 2022 Yt Liu
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define RGBLIGHT_LAYERS
diff --git a/keyboards/gray_studio/think65/solder/keymaps/yt/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/yt/keymap.c
deleted file mode 100644
index d4d6a7157a..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/yt/keymap.c
+++ /dev/null
@@ -1,139 +0,0 @@
1/* Copyright 2021 Qiaowei Tang
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17
18
19 /*
20 * LED ranges for Think6.5v2 2U
21 * These values were derived from manual testing. Derived from keymaps/rys.
22 * ┌───────┬───────┬─────────────┬───────────────────────────────────────────┐
23 * │ 00 01 │ 02 03 │ 04 05 06 07 │ 08 09 10 11 12 13 14 15 16 17 18 19 20 21 │
24 * │ badge │ badge │    (?)     │              underglow (?)                │
25 * │  bar │ icon │         │                               │
26 * └───────┴───────┴─────────────┴───────────────────────────────────────────┘
27 */
28
29
30// Setup some layers to control mac/win layouts
31#include QMK_KEYBOARD_H
32
33enum bs_layers {
34 _WIN,
35 _MAC,
36 _FN,
37 _BLANC
38};
39
40// Setup some keycodes to control cycling and range toggling
41enum bs_keycodes {
42 WIN = SAFE_RANGE,
43 MAC
44};
45
46// Light LEDs 6 to 9 and 12 to 15 red when caps lock is active. Hard to ignore!
47const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
48 {0, 4, HSV_WHITE} // Light 4 LEDs, starting with LED 12
49);
50
51// Now define the array of layers. Later layers take precedence
52const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
53 my_capslock_layer // Overrides other layers
54);
55
56void keyboard_post_init_user(void) {
57 // Enable the LED layers
58 rgblight_layers = my_rgb_layers;
59};
60
61bool led_update_user(led_t led_state) {
62 rgblight_set_layer_state(0, led_state.caps_lock);
63 return true;
64};
65
66layer_state_t default_layer_state_set_user(layer_state_t state) {
67 if (get_highest_layer(state) == _MAC) {
68 rgblight_mode_noeeprom(6);
69 } else {
70 rgblight_mode_noeeprom(9);
71 }
72 return state;
73}
74
75const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
76 /* Win Layer
77 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
78 * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│pup│
79 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
80 * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│pdw│
81 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
82 * │lTCap │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │
83 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ │
84 * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│ │
85 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴───┴┬─┬───┼───┼───┤
86 * │Ctrl│ win│ alt│ Space │ Func │ │Lef│Dow│Rig│
87 * └────┴────┴────┴────────────────────────┴─────────┴─┴───┴───┴───┘
88 */
89 [_WIN] = LAYOUT_65_ansi_blocker(
90 QK_GESC, 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_BSPC, KC_PGUP,
91 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
92 LT(_FN, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _______,
93 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_UP, _______,
94 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_1, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
95 ),
96 /* Mac Layer
97 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
98 * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│pup│
99 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
100 * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│pdw│
101 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
102 * │lTCap │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │
103 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ │
104 * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│ │
105 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴───┴┬─┬───┼───┼───┤
106 * │Ctrl│ Opt│ Cmd│ Space │ Func │ │Lef│Dow│Rig│
107 * └────┴────┴────┴────────────────────────┴─────────┴─┴───┴───┴───┘
108 */
109 [_MAC] = LAYOUT_65_ansi_blocker(
110 QK_GESC, 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_BSPC, KC_PGUP,
111 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
112 LT(_FN, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _______,
113 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_UP, _______,
114 KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_1, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
115 ),
116 /* Fn Layer
117 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┬───┐
118 * │lck│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ delete │mac│
119 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┼───┤
120 * │ TOG │MB1│MSU│MB2│MDU│ │ │ │UP │ │Hom│pgu│End│ │win│
121 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┼───┤
122 * │MO(2) │MSL│MSD│MSR│MWD│ │ │Lft│Dwn│rgt│END│pgd│ reset │ │
123 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬────┤ │
124 * │ RGB_mod│F13│F14│F15│F16│F17│F18│F19│F20│F21│F22│F23 │Bri+│ │
125 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼────┼───┤
126 * │Vold│Mute│Volu│ │ │ │ │ │Bri-│ │
127 * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴────┴───┘
128 */
129 [_FN] = LAYOUT_65_ansi_blocker(
130 QK_LOCK, 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_DEL, MAC,
131 RGB_TOG, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP, _______, _______, _______, KC_UP, _______, KC_HOME, KC_PGUP, _______, _______, WIN,
132 _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_PGDN, QK_BOOT, _______,
133 RGB_MOD, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_BRIU, _______,
134 KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, KC_BRID, _______
135 ),
136
137};
138
139
diff --git a/keyboards/gray_studio/think65/solder/keymaps/yt/readme.md b/keyboards/gray_studio/think65/solder/keymaps/yt/readme.md
deleted file mode 100644
index 84286c5e34..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/yt/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
1# YT45's Think6.5v2 keymap
2
3My personal keymap for the Think6.5v2. Using the dangjoeltang as a the base and adding a quick switch from mac to win layouts. also with indication of the current layer with RGB lights.
diff --git a/keyboards/gray_studio/think65/solder/keymaps/yt/rules.mk b/keyboards/gray_studio/think65/solder/keymaps/yt/rules.mk
deleted file mode 100644
index 3786848529..0000000000
--- a/keyboards/gray_studio/think65/solder/keymaps/yt/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
1LTO_ENABLE = yes
2VIA_ENABLE = yes
3MOUSEKEY_ENABLE = yes
4KEY_LOCK_ENABLE = yes
5CONSOLE_ENABLE = no \ No newline at end of file
diff --git a/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c b/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c
deleted file mode 100644
index fcae7f07c6..0000000000
--- a/keyboards/hadron/ver3/keymaps/sebaslayout/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
1#include QMK_KEYBOARD_H
2const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
3
4 LAYOUT(
5 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PSCR,
6 KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_P7, KC_P8, KC_P9,
7 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_SCLN, KC_P4, KC_P5, KC_P6,
8 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, KC_P1, KC_P2, KC_P3,
9 KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
10/* Primary
11 * ,------+------+------+------+------+------------------------------------------------.
12 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | PRTSN|
13 * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------.
14 * | ˜ | Q | W | E | R | T | Y | U | I | O | P | BKSP | 7 | 8 | 9 |
15 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
16 * | Tab | A | S | D | F | G | H | J | K | L | ' | ; | 4 | 5 | 6 |
17 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
18 * | Shift| Z | X | C | V | B | N | M | , | . | Up | /? | 1 | 2 | 3 |
19 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
20 * | Ctrl | Alt | GUI | Raise| Space | Raise| Ctrl | Left | Down |Right | 0 | . | Enter|
21 * `--------------------------------------------------------------------------------------------------------'
22 */
23 LAYOUT(
24 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
25 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_HOME, KC_INS, KC_PGUP,
26 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_DEL, KC_PGDN,
27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
28 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
29/* Secondary
30 * ,------+------+------+------+------+------------------------------------------------.
31 * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
32 * |------+------+------+------+------+------+------+------+------+------+------+------+--------------------.
33 * | | | | | | | | | | F11 | F12 | | Home | Ins | PgUP |
34 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
35 * | | | | | | | | | | | | | End | Del | PgDN |
36 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
37 * | | | | | | | | | | | Vol+ | | | | |
38 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
39 * | | | | | | | | | | | Vol- | | | | |
40 * `--------------------------------------------------------------------------------------------------------'
41 */
42};
43
diff --git a/keyboards/hadron/ver3/keymaps/sebaslayout/readme.md b/keyboards/hadron/ver3/keymaps/sebaslayout/readme.md
deleted file mode 100644
index ce6974ce09..0000000000
--- a/keyboards/hadron/ver3/keymaps/sebaslayout/readme.md
+++ /dev/null
@@ -1,7 +0,0 @@
1![Hadron v3 Layout Image](https://i.imgur.com/Mi5L57j.png)
2
3# My Custome Hadron Layout
4
5+ Moved numpad to the right
6+ changed F row to standard numbers
7+ Bottom row subject to change
diff --git a/keyboards/handwired/aim65/keymaps/bonnee/keymap.c b/keyboards/handwired/aim65/keymaps/bonnee/keymap.c
deleted file mode 100644
index 7884841b21..0000000000
--- a/keyboards/handwired/aim65/keymaps/bonnee/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
1/* Copyright 2021 Matteo Bonora
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19#define CTESC LCTL_T(KC_ESC)
20
21enum layer_names {
22 BL,
23 FL
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [BL] = LAYOUT(
28 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
29 KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_RGUI,
30 CTESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
31 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
32 LT(FL, KC_SPC)
33 ),
34
35 [FL] = LAYOUT(
36 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_DEL,
37 KC_TAB, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______
41 )
42};
diff --git a/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
deleted file mode 100644
index 82277e2158..0000000000
--- a/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
+++ /dev/null
@@ -1,99 +0,0 @@
1/* Copyright 2021 Fernando "ManoShu" Rodrigues
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18#include "keymap_brazilian_abnt2.h"
19#include "sendstring_brazilian_abnt2.h"
20
21enum {
22 LAYER_BASE,
23 LAYER_FUNCTIONS
24};
25
26#define L_FUNCT MO(LAYER_FUNCTIONS)
27#define W_CHOLD LGUI_T(KC_CAPS)
28
29//Combination keycodes
30#define KC_PSBR C(KC_PAUSE) // Ctrl+Pause/Break
31#define KC_SNIP SGUI(BR_S) // Screen Snip (GUI + Shift + S)
32#define KC_WRUN G(BR_R) // Run (GUI + R)
33#define KC_WLCK G(BR_L) // Lock (GUI + L)
34#define KC_WDSK G(BR_D) // Desktop (GUI + D)
35#define KC_WEXP G(BR_E) // Explorer (GUI + E)
36#define KC_WPSE G(KC_PAUSE) // System Properties (GUI + Pause)
37#define KC_WMGP G(BR_EQL) // Magnify (+)
38#define KC_WMGM G(BR_MINS) // Magnify (-)
39
40enum custom_keycodes {
41 KC_WPRN = SAFE_RANGE, // Project (P)
42 KC_WSPC // Input Select (Space)
43};
44
45layer_state_t layer_state_set_user(layer_state_t state) {
46 if (get_highest_layer(state) == LAYER_BASE) {
47 unregister_mods(MOD_MASK_GUI);
48 }
49 return state;
50}
51
52bool process_record_user(uint16_t keycode, keyrecord_t *record) {
53 if(keycode == KC_WPRN || keycode == KC_WSPC) {
54 if (record->event.pressed) {
55
56 register_code(KC_LGUI);
57
58 if(keycode == KC_WPRN) {
59 tap_code(KC_P);
60 } else if (keycode == KC_WSPC) {
61 tap_code(KC_SPACE);
62 }
63 }
64 }
65 return true;
66};
67
68const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
69 [LAYER_BASE] = LAYOUT(
70 /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
71 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
72 /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
73 BR_QUOT, BR_1, BR_2, BR_3, BR_4, BR_5, BR_6, BR_7, BR_8, BR_9, BR_0, BR_MINS, BR_EQL, KC_BSPC,
74 /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
75 KC_TAB, BR_Q, BR_W, BR_E, BR_R, BR_T, BR_Y, BR_U, BR_I, BR_O, BR_P, BR_ACUT, BR_LBRC, KC_ENT,
76 /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
77 W_CHOLD, BR_A, BR_S, BR_D, BR_F, BR_G, BR_H, BR_J, BR_K, BR_L, BR_CCED, BR_TILD, BR_RBRC,
78 /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
79 KC_LSFT, BR_BSLS, BR_Z, BR_X, BR_C, BR_V, BR_B, BR_N, BR_M, BR_COMM, BR_DOT, BR_SCLN, BR_SLSH, KC_UP,
80 /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
81 KC_LCTL, L_FUNCT, KC_LALT, KC_SPC, KC_APP, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
82 /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
83 ),
84 [LAYER_FUNCTIONS] = LAYOUT(
85 /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
86 QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSBR, KC_SNIP,
87 /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
88 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WMGM, KC_WMGP, _______,
89 /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
90 _______, KC_MPLY, KC_MUTE, KC_WEXP, KC_WRUN, _______, _______, _______, _______, _______, KC_WPRN, _______, _______, _______,
91 /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
92 _______, KC_MPRV, KC_MNXT, KC_WDSK, _______, _______, _______, _______, _______, KC_WLCK, _______, _______, _______,
93 /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
94 _______, _______, KC_VOLU, KC_VOLD, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
95 /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
96 _______, _______, _______, KC_WSPC, _______, KC_INS, KC_HOME, KC_PGDN, KC_END
97 /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
98 )
99}; \ No newline at end of file
diff --git a/keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md b/keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md
deleted file mode 100644
index 1852a0fbc2..0000000000
--- a/keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
1![BareDev Layout Image](https://i.imgur.com/FXye4Hn.png)
2
3# ManoShu's custom layout
4
5Has all the functions of a ABNT TKL keyboard, sans right shift.
6
7Basic media functions also included.
8
9Trying to emulate where notebooks/smaller OEM keyboard put the function key, for this reason the GUI key was moved and it can be used by holding the Caps Lock key.
10
11To not use the new GUI position very often, commonly used GUI + [X] commands are sent using `SEND_STRING()`, `(un)register_code()` and `tap_code()`.
12
13## Why you didn't used `LT(FUNCTIONS, KC_LGUI)` on the GUI/FN key?
14Because I don't want rely on the tapping term to determine I will send either KC_HOME or snap the active window to the left.
15
16If there is a better way to solve this, please let me know. \ No newline at end of file
diff --git a/keyboards/handwired/bento/keymaps/cbc02009/keymap.c b/keyboards/handwired/bento/keymaps/cbc02009/keymap.c
deleted file mode 100644
index 57c107b9fc..0000000000
--- a/keyboards/handwired/bento/keymaps/cbc02009/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
1/* Copyright 2019 cbc02009
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18
19/* LAYER 1
20 * ,---------------+-------.
21 * |KC_MPRV|KC_MNXT|KC_MUTE|
22 * |-------+-------+-------,
23 * |KC_MPLY|KC_MSTP|KC_MUTE|
24 * `-------+-------+-------'
25 */
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [0] = LAYOUT(KC_MPRV, KC_MNXT, KC_MUTE, KC_MPLY, KC_MSTP, KC_MUTE)
28};
29
30#ifdef ENCODER_ENABLE
31#include "encoder.h"
32bool encoder_update_user(uint8_t index, bool clockwise) {
33 if (index == 0) { /* First encoder */
34 if (clockwise) {
35 tap_code(KC_VOLU);
36 } else {
37 tap_code(KC_VOLD);
38 }
39 }
40 return true;
41}
42#endif
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c b/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c
deleted file mode 100644
index 5774ab7f3b..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5_5/keymaps/ssedrick/keymap.c
+++ /dev/null
@@ -1,89 +0,0 @@
1// Copyright 2022 Shem Sedrick (@ssedrick)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5#include "print.h"
6
7enum key_layers {
8 _BASE,
9 _COLEMAK,
10 _RAISE,
11 _LOWER
12};
13
14enum layer_keycodes {
15 QWERTY = SAFE_RANGE,
16 COLEMAK,
17};
18
19#define RAISE TT(_RAISE)
20#define LOWER MO(_LOWER)
21#define SH_ESC SFT_T(KC_ESC)
22#define UNDSC RSFT(KC_MINS)
23#define MAC_LOCK C(G(KC_D))
24#define ____ KC_TRANSPARENT
25
26#undef TAPPING_TOGGLE
27#define TAPPING_TOGGLE 2
28
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 [_BASE] = LAYOUT(
31 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
32 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
33 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
34 KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
35 SH_ESC, KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, KC_ENT,
36 RAISE, KC_LCTL, KC_BSPC, LOWER
37 ),
38
39 [_COLEMAK] = LAYOUT(
40 KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
41 KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
42 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH,
43 KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
44 ____, ____, ____, ____, ____, ____,
45 ____, ____, ____, ____
46 ),
47
48 [_RAISE] = LAYOUT(
49 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
50 S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT,
51 QK_RBT, QK_BOOT, ____, ____, ____, ____, KC_1, KC_2, KC_3, ____,
52 MAC_LOCK, ____, KC_0, KC_DOT,
53 ____, ____, ____, ____, ____, ____,
54 ____, ____, ____, ____
55 ),
56
57 [_LOWER] = LAYOUT(
58 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
59 S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, UNDSC, KC_MINS, KC_EQL, KC_BSLS, KC_PIPE,
60 KC_MNXT, KC_MPLY, KC_VOLU, KC_VOLD, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
61 ____, ____, QWERTY, COLEMAK,
62 ____, ____, ____, ____, ____, ____,
63 ____, ____, ____, ____
64 )
65};
66
67
68bool process_record_user(uint16_t keycode, keyrecord_t *record) {
69 // If console is enabled, it will print the matrix position and status of each key pressed
70#ifdef CONSOLE_ENABLE
71 uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %d, time: %u, interrupt: %d, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
72#endif
73 switch (keycode) {
74 case QWERTY:
75 if (record->event.pressed) {
76 set_single_persistent_default_layer(_BASE);
77 }
78 return false;
79 break;
80 case COLEMAK:
81 if (record->event.pressed) {
82 set_single_persistent_default_layer(_COLEMAK);
83 }
84 return false;
85 break;
86 }
87 return true;
88}
89
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h
deleted file mode 100644
index 2ab0c912a3..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
1/*
2Copyright 2022 Nabos <nabos at glargh dot fr>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define EE_HANDS
21
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c
deleted file mode 100644
index d118eec92a..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/nabos/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
1/*
2Copyright 2022 Nabos <nabos at glargh dot fr>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include QMK_KEYBOARD_H
18
19enum layer_names {
20 _QWERTY,
21 _FUNCTIONS,
22 _NUMPAD,
23 _GAMING
24};
25
26#define FUNCTIONS MO(_FUNCTIONS)
27#define NUMPAD MO(_NUMPAD)
28#define GAMING TG(_GAMING)
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 [_QWERTY] = LAYOUT_5x6(
32 QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_RBRC,
33 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_LBRC,
34 KC_PGUP, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
35 KC_PGDN, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT,KC_SLSH,_______,
36 KC_LEFT,KC_RIGHT, KC_DOWN,KC_UP ,
37 KC_LSFT,KC_SPC , KC_ENT ,KC_BSPC,
38 KC_LGUI,KC_LALT, FUNCTIONS,KC_RALT,
39 KC_DEL ,GAMING , NUMPAD ,KC_RCTL
40 ),
41
42 [_FUNCTIONS] = LAYOUT_5x6(
43 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
44 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
45 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
46 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
47 _______,_______, _______,_______,
48 _______,_______, _______,_______,
49 _______,_______, _______,_______,
50 _______,_______, _______,_______
51 ),
52
53 [_NUMPAD] = LAYOUT_5x6(
54 _______,_______,_______,_______,_______,_______, _______,KC_NUM ,_______,_______,KC_MINS,KC_EQL ,
55 _______,_______,_______,_______,_______,_______, _______,KC_KP_7,KC_KP_8,KC_KP_9,_______,_______,
56 _______,_______,_______,_______,_______,_______, _______,KC_KP_4,KC_KP_5,KC_KP_6,_______,_______,
57 _______,_______,_______,_______,_______,_______, _______,KC_KP_1,KC_KP_2,KC_KP_3,_______,KC_PSCR,
58 _______,_______, KC_KP_0,KC_PDOT,
59 _______,_______, KC_PENT,_______,
60 _______,_______, _______,_______,
61 _______,_______, _______,_______
62 ),
63
64 [_GAMING] = LAYOUT_5x6(
65 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
66 KC_T ,KC_TAB , KC_Q , KC_W , KC_E , KC_R , _______,_______,_______,_______,_______,_______,
67 KC_G ,KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______,_______,_______,_______,_______,_______,
68 KC_B ,KC_LCTL, KC_Z , KC_X , KC_C , KC_V , _______,_______,_______,_______,_______,_______,
69 _______,_______, _______,_______,
70 _______,_______, _______,_______,
71 _______,_______, _______,_______,
72 _______,_______, _______,_______
73 )
74};
75
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h
deleted file mode 100644
index e97810f8bc..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h
+++ /dev/null
@@ -1,49 +0,0 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18
19#pragma once
20
21#define MASTER_LEFT
22// #define MASTER_RIGHT
23//#define EE_HANDS
24
25// Mouse
26#undef MOUSEKEY_INTERVAL
27#define MOUSEKEY_INTERVAL 15
28#undef MOUSEKEY_TIME_TO_MAX
29#define MOUSEKEY_TIME_TO_MAX 60
30#undef MOUSEKEY_WHEEL_MAX_SPEED
31#define MOUSEKEY_WHEEL_MAX_SPEED 3
32
33// RGB backlight
34#undef WS2812_DI_PIN
35#define WS2812_DI_PIN D3
36#undef RGBLED_NUM
37#define RGBLED_NUM 30
38#define RGBLIGHT_EFFECT_BREATHING
39#define RGBLIGHT_EFFECT_RAINBOW_MOOD
40#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
41#define RGBLIGHT_EFFECT_SNAKE
42#define RGBLIGHT_EFFECT_KNIGHT
43#define RGBLIGHT_EFFECT_CHRISTMAS
44#define RGBLIGHT_EFFECT_STATIC_GRADIENT
45#define RGBLIGHT_EFFECT_RGB_TEST
46#define RGBLIGHT_EFFECT_ALTERNATING
47#define RGBLIGHT_EFFECT_TWINKLE
48#define RGBLIGHT_LIMIT_VAL 95
49#define RGBLIGHT_SPLIT
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c
deleted file mode 100644
index c4887a3dbb..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/keymap.c
+++ /dev/null
@@ -1,106 +0,0 @@
1/* A standard layout for the Dactyl Manuform 5x6 Keyboard */
2
3#include QMK_KEYBOARD_H
4
5enum layer_names {
6 _MAC,
7 _WINDOWS,
8 _MOUSE,
9 _ARROWS,
10 _SYMBOLS,
11 _NUMBERS,
12 _MEDIA,
13};
14
15#define RAISE MO(_RAISE)
16#define LOWER MO(_LOWER)
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20 [_MAC] = LAYOUT_5x6(
21 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_GRAVE,
22 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS,
23 KC_BSPC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
24 KC_LSFT, CTL_T(KC_Z) , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLS,
25 KC_LALT,KC_LCTL, KC_DEL, KC_PMNS,
26 KC_SPC, MO(_ARROWS), MO(_MOUSE), KC_ENT,
27 KC_LCMD, MO(_SYMBOLS), KC_EQL, KC_RALT,
28 KC_LALT, MO(_NUMBERS), MO(_MEDIA), KC_EJCT
29 ),
30
31 [_WINDOWS] = LAYOUT_5x6(
32
33 _______,_______, _______ ,_______,_______ ,_______, _______,_______,_______,_______,_______,_______,
34 _______,_______,_______,_______,_______,_______, _______, _______ , _______ , _______ ,_______,_______,
35 _______,_______,_______,_______,_______ ,_______, _______, _______ , _______ , _______ ,_______,_______,
36 _______,_______,_______,_______,_______,_______, _______, _______ , _______ , _______ ,_______ ,_______,
37 KC_LCMD,KC_LALT, _______, _______,
38 _______,_______, _______,_______,
39 KC_LCTL,_______, _______,_______,
40 _______,_______, _______,_______
41
42 ),
43
44 [_MOUSE] = LAYOUT_5x6(
45
46 KC_F11,KC_F1, KC_F2 ,KC_F3,KC_F4 ,KC_F5, KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F12,
47 _______,_______,_______,KC_WH_U,_______,_______, _______, _______ , KC_MS_U , _______ ,_______,_______,
48 _______,_______,KC_WH_L,KC_WH_D,KC_WH_R ,_______, KC_BTN1, KC_MS_L , KC_MS_D , KC_MS_R ,_______,_______,
49 _______,_______,KC_ACL0,KC_ACL1,KC_ACL2,_______, _______, KC_BTN2 , _______ , _______ ,_______ ,_______,
50 _______,_______, _______, QK_BOOT,
51 KC_BTN1,KC_BTN2, _______,_______,
52 _______,KC_BTN2, _______,_______,
53 _______,_______, _______,_______
54
55 ),
56 [_ARROWS] = LAYOUT_5x6(
57
58 QK_BOOT,_______, _______ ,_______,_______ ,TG(_WINDOWS), _______,_______,_______,_______,_______,_______,
59 _______,_______,_______,_______,_______,_______, _______, KC_HOME , KC_UP , KC_END ,_______,_______,
60 _______,_______,_______,_______,_______ ,_______, KC_HOME, KC_LEFT , KC_DOWN , KC_RIGHT ,KC_END,_______,
61 _______,_______,_______,_______,_______,_______, _______, KC_PGDN , _______ , KC_PGUP ,_______ ,_______,
62 QK_BOOT,_______, _______, _______,
63 _______,_______, _______,_______,
64 _______,_______, _______,_______,
65 _______,_______, _______,_______
66
67 ),
68 [_SYMBOLS] = LAYOUT_5x6(
69
70 _______,_______, _______ ,_______,_______ ,_______, KC_CIRC,KC_CIRC,KC_LABK,KC_RABK,_______,_______,
71 _______,_______,_______,_______,_______,_______, KC_LABK, KC_AT , KC_LCBR , KC_RCBR ,KC_HASH,KC_RABK,
72 _______,_______,_______,_______,_______ ,_______, KC_PERC, KC_EQL , KC_LPRN , KC_RPRN ,KC_DLR,KC_AMPR,
73 _______,_______,_______,_______,_______,_______, KC_TILD, KC_GRAVE , KC_LBRC , KC_RBRC ,KC_PIPE ,KC_EXLM,
74 _______,_______, KC_PPLS, KC_PMNS,
75 _______,_______, _______,_______,
76 _______,_______, _______,_______,
77 _______,_______, _______,_______
78
79 ),
80 [_NUMBERS] = LAYOUT_5x6(
81
82 QK_BOOT,_______, _______ ,_______,_______ ,_______, KC_PSLS,KC_PAST,KC_PPLS,KC_PMNS,_______,_______,
83 _______,_______,_______,KC_PSLS,KC_PAST,_______, _______, KC_7 , KC_8 , KC_9 ,_______,_______,
84 _______,_______,_______,KC_PMNS,KC_PPLS ,_______, _______, KC_4 , KC_5 , KC_6 ,_______,_______,
85 _______,_______,_______,_______,_______,_______, _______, KC_1 , KC_2 , KC_3 ,_______ ,_______,
86 _______,_______, KC_0, KC_DOT,
87 _______,_______, _______,_______,
88 _______,_______, _______,_______,
89 _______,_______, _______,_______
90
91 ),
92 [_MEDIA] = LAYOUT_5x6(
93
94 KC_MSTP,KC_MPRV, KC_MPLY ,KC_MNXT,_______ ,_______, _______,_______,_______,_______,_______,_______,
95 _______,_______,_______,_______,KC_VOLU,_______, RGB_SPI, _______ , _______ , _______ ,_______,_______,
96 _______,_______,_______,_______,KC_VOLD ,_______, RGB_TOG, RGB_MODE_FORWARD , RGB_HUI , RGB_SAI ,RGB_VAI,_______,
97 _______,_______,_______,_______,KC_MUTE,_______, RGB_SPD, RGB_MODE_REVERSE , RGB_HUD , RGB_SAD ,RGB_VAD ,_______,
98 _______,_______, _______, _______,
99 _______,_______, _______,_______,
100 _______,_______, _______,_______,
101 _______,_______, _______,_______
102
103 ),
104};
105
106
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1RGBLIGHT_ENABLE = yes
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/happysalada/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/happysalada/keymap.c
deleted file mode 100644
index d96ae996a5..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/happysalada/keymap.c
+++ /dev/null
@@ -1,167 +0,0 @@
1/*
2Copyright 2021 Raphael Megzari <raphael@megzari.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20enum custom_layers {
21 _COLEMAK_DH,
22 _LEFT,
23 _LEFT_UP,
24 _RIGHT,
25 _RIGHT_UP,
26 _QWERTY
27};
28
29#define COLMAK TO(_COLEMAK_DH)
30#define QWERTY TO(_QWERTY)
31
32enum custom_keycodes {
33 EQ_SUP = SAFE_RANGE,
34 INF_EQ,
35 SUP_EQ,
36 INF_MIN,
37 MIN_SUP,
38 PIPE_R,
39 SUP_SUP,
40 INF_INF,
41};
42
43const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
44
45 [_COLEMAK_DH] = LAYOUT_6x6(
46
47 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
48 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
49 QWERTY ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_K , KC_Z ,KC_L ,KC_U ,KC_Y ,KC_COLN,_______,
50 _______,KC_A ,KC_R ,KC_S ,KC_T ,KC_G , KC_M ,KC_N ,KC_E ,KC_I ,KC_O ,_______,
51 KC_LSFT,KC_J ,KC_B ,KC_C ,KC_D ,KC_V , KC_X ,KC_H ,KC_COMM,KC_DOT ,KC_QUES,KC_RSFT,
52 KC_K ,KC_V , KC_X ,KC_Z ,
53 LT(_RIGHT_UP,KC_BSPC),LSFT_T(KC_ESC), LT(_LEFT, KC_ENT),LT(_LEFT_UP,KC_SPC),
54 _______,LCTL_T(KC_DEL), LGUI_T(KC_TAB),_______,
55 _______,_______, _______,_______
56 ),
57
58 [_QWERTY] = LAYOUT_6x6(
59
60 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
61 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
62 COLMAK ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,_______,
63 _______,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_COLN,_______,
64 KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_QUES,KC_RSFT,
65 _______,_______, _______,_______,
66 LT(_RIGHT_UP,KC_BSPC),LSFT_T(KC_ESC), LT(_LEFT, KC_ENT),LT(_LEFT_UP,KC_SPC),
67 _______,LCTL_T(KC_DEL), LGUI_T(KC_TAB),_______,
68 _______,_______, _______,_______
69 ),
70
71 [_LEFT] = LAYOUT_6x6(
72
73 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
74 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
75 _______,_______,KC_PLUS,KC_CIRC,KC_AMPR,_______, _______,KC_EQL ,KC_PERC,KC_HASH,_______,_______,
76 _______,_______,KC_TILD,KC_DQUO,KC_PIPE,_______, _______,KC_LPRN,KC_LCBR,KC_LBRC,_______,_______,
77 _______,_______,KC_BSLS,KC_ASTR,KC_SLSH,_______, _______,KC_RPRN,KC_RCBR,KC_RBRC,_______,_______,
78 _______,_______, _______,_______,
79 _______,_______, _______,_______,
80 _______,_______, _______,_______,
81 _______,_______, _______,_______
82 ),
83
84 [_LEFT_UP] = LAYOUT_6x6(
85
86 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
87 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
88 _______,_______,KC_LABK,KC_MINS,KC_RABK,_______, _______,KC_7 ,KC_8 ,KC_9 ,_______,_______,
89 _______,_______,KC_UNDS,KC_QUOT,KC_DLR ,KC_GRV , _______,KC_4 ,KC_5 ,KC_6 ,KC_0 ,_______,
90 _______,_______,KC_SCLN,KC_AT ,KC_EXLM,_______, _______,KC_1 ,KC_2 ,KC_3 ,_______,_______,
91 _______,_______, _______,_______,
92 _______,_______, _______,_______,
93 _______,_______, _______,_______,
94 _______,_______, _______,_______
95 ),
96
97 [_RIGHT] = LAYOUT_6x6(
98
99 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
100 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
101 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
102 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
103 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
104 _______,_______, _______,_______,
105 _______,_______, _______,_______,
106 _______,_______, _______,_______,
107 _______,_______, _______,_______
108 ),
109
110 [_RIGHT_UP] = LAYOUT_6x6(
111
112 _______,_______,_______,_______,_______,_______, _______,_______ ,_______ ,_______ ,_______,_______,
113 _______,_______,_______,_______,_______,_______, _______,_______ ,_______ ,_______ ,_______,_______,
114 _______,_______,INF_INF,_______,SUP_SUP,_______, _______,LCTL(KC_LEFT),KC_UP ,LCTL(KC_RGHT),_______,_______,
115 _______,_______,MIN_SUP,EQ_SUP ,PIPE_R ,_______, _______,KC_LEFT ,KC_DOWN ,KC_RGHT ,LGUI(KC_UP),_______,
116 _______,_______,INF_MIN,INF_EQ ,_______,_______, _______,_______ ,KC_CAPS ,_______ ,_______,_______,
117 _______,_______, _______ ,_______ ,
118 _______,_______, _______,_______,
119 _______,_______, _______,_______,
120 _______,_______, _______,_______
121 ),
122
123
124};
125
126bool process_record_user(uint16_t keycode, keyrecord_t *record) {
127 switch(keycode) {
128 case PIPE_R:
129 if (record->event.pressed) {
130 SEND_STRING("|> ");
131 }
132 break;
133 case EQ_SUP:
134 if (record->event.pressed) {
135 SEND_STRING("=> ");
136 }
137 break;
138 case INF_EQ:
139 if (record->event.pressed) {
140 SEND_STRING("<= ");
141 }
142 break;
143 case MIN_SUP:
144 if (record->event.pressed) {
145 SEND_STRING("-> ");
146 }
147 break;
148 case INF_MIN:
149 if (record->event.pressed) {
150 SEND_STRING("<- ");
151 }
152 break;
153 case INF_INF:
154 if (record->event.pressed) {
155 SEND_STRING("<<");
156 }
157 break;
158 case SUP_SUP:
159 if (record->event.pressed) {
160 SEND_STRING(">>");
161 }
162 break;
163 }
164 return true;
165}
166
167
diff --git a/keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c b/keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c
deleted file mode 100644
index fdbc3c8a39..0000000000
--- a/keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c
+++ /dev/null
@@ -1,61 +0,0 @@
1#include QMK_KEYBOARD_H
2
3//Tap Dance Declarations
4enum {
5 TD_DOT_COMMAS = 0
6};
7
8//Tap Dance Definitions
9tap_dance_action_t tap_dance_actions[] = {
10 //Tap once for Esc, twice for Caps Lock
11 [TD_DOT_COMMAS] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_COMMA)
12// Other declarations would go here, separated by commas, if you have them
13};
14
15//In Layer declaration, add tap dance item in place of a key code
16
17
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 /*
21 * ,-------------------.
22 * |bcsp| / | * | - |
23 * |----|----|----|----|
24 * | 7 | 8 | 9 | |
25 * |----|----|----| + |
26 * | 4 | 5 | 6 | |
27 * |----|----|----|----|
28 * | 1 | 2 | 3 | |
29 * |----|----|----| En |
30 * | FN/0 | . | |
31 * `-------------------'
32 */
33
34 [0] = LAYOUT_numpad_5x4(
35 KC_BSPC, KC_PSLS, KC_PAST, KC_PMNS,
36 KC_P7, KC_P8, KC_P9,
37 KC_P4, KC_P5, KC_P6, KC_PPLS,
38 KC_P1, KC_P2, KC_P3,
39 LT(1, KC_P0), TD(TD_DOT_COMMAS), KC_PENT
40 ),
41 /*
42 * ,-------------------.
43 * | F10| F11| F12| - |
44 * |----|----|----|----|
45 * | F7 | F8 | F9 | |
46 * |----|----|----| vol|
47 * | F4 | F5 | F6 | + |
48 * |----|----|----|----|
49 * | F1 | F2 | F3 | vol|
50 * |----|----|----| - |
51 * | FN | . | |
52 * `-------------------'
53 */
54 [1] = LAYOUT_numpad_5x4(
55 KC_F10, KC_F11, KC_F12, KC_NO,
56 KC_F7, KC_F8, KC_F9,
57 KC_F4, KC_F5, KC_F6, KC_VOLU,
58 KC_F1, KC_F2, KC_F3,
59 KC_NO, KC_PDOT, KC_VOLD
60 )
61};
diff --git a/keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk b/keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1TAP_DANCE_ENABLE = yes
diff --git a/keyboards/handwired/lagrange/keymaps/dpapavas/config.h b/keyboards/handwired/lagrange/keymaps/dpapavas/config.h
deleted file mode 100644
index 0114d6c7f9..0000000000
--- a/keyboards/handwired/lagrange/keymaps/dpapavas/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
1/* Copyright 2020 Dimitris Papavasiliou <dpapavas@protonmail.ch>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <https://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#undef TAPPING_TERM
20#define TAPPING_TERM 175
21#define TAPPING_TERM_PER_KEY
22#define PERMISSIVE_HOLD_PER_KEY
diff --git a/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c b/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c
deleted file mode 100644
index 8d2ecd9c79..0000000000
--- a/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c
+++ /dev/null
@@ -1,202 +0,0 @@
1/* Copyright 2020 Dimitris Papavasiliou <dpapavas@protonmail.ch>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <https://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19#define CAPS_SFT MT(MOD_LSFT, KC_CAPS)
20#define QUOT_SFT MT(MOD_RSFT, KC_QUOT)
21#define PSCR_SFT MT(MOD_LSFT, KC_PSCR)
22#define PAUSE_SFT MT(MOD_RSFT, KC_PAUSE)
23#define F_SFT MT(MOD_LSFT, KC_F)
24#define J_SFT MT(MOD_RSFT, KC_J)
25#define PGUP_GUI MT(MOD_LGUI, KC_PGUP)
26#define END_GUI MT(MOD_LGUI, KC_END)
27#define UP_GUI MT(MOD_RGUI, KC_UP)
28#define LEFT_GUI MT(MOD_RGUI, KC_LEFT)
29#define EQL_CTL MT(MOD_RCTL, KC_EQL)
30#define MINS_CTL MT(MOD_LCTL, KC_MINS)
31#define BSPC_ALT LALT_T(KC_BSPC)
32#define ENT_ALT LALT_T(KC_ENT)
33#define SPC_ALT RALT_T(KC_SPC)
34#define DEL_ALT RALT_T(KC_DEL)
35
36enum tapdance_keycodes {
37 TD_LEFT,
38 TD_RGHT,
39 TD_C_X
40};
41
42const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43 [0] = LAYOUT(
44 /* Left hand */ /* Right hand */
45
46 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC,
47 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
48 CAPS_SFT, KC_A, KC_S, KC_D, F_SFT, KC_G, KC_H, J_SFT, KC_K, KC_L, KC_SCLN, QUOT_SFT,
49 PSCR_SFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, PAUSE_SFT,
50
51 TD(TD_LEFT), KC_INS, KC_LBRC, MINS_CTL, BSPC_ALT, DEL_ALT, TD(TD_C_X), TD(TD_C_X), ENT_ALT, SPC_ALT, EQL_CTL, KC_RBRC, KC_DEL, TD(TD_RGHT),
52 KC_HOME, PGUP_GUI, END_GUI, LEFT_GUI, UP_GUI, KC_RGHT,
53 KC_PGDN, KC_DOWN
54 ),
55
56 [1] = LAYOUT(
57 /* Left hand */ /* Right hand */
58
59 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11,
61 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12,
62 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
63
64 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
65 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
66 KC_TRNS, KC_TRNS
67 ),
68};
69
70/* The following helper macros define tap dances that support
71 * separated press, release, tap and double-tap functions. */
72
73#define STEPS(DANCE) [DANCE] = ACTION_TAP_DANCE_FN_ADVANCED( \
74 NULL, \
75 dance_ ## DANCE ## _finished, \
76 dance_ ## DANCE ## _reset)
77
78#define CHOREOGRAPH(DANCE, PRESS, RELEASE, TAP, DOUBLETAP) \
79 static bool dance_ ## DANCE ## _pressed; \
80 \
81 void dance_ ## DANCE ## _finished(tap_dance_state_t *state, void *user_data) { \
82 if (state->count == 1) { \
83 if (state->pressed) { \
84 dance_ ## DANCE ## _pressed = true; \
85 PRESS; \
86 } else { \
87 TAP; \
88 } \
89 } else if (state->count == 2) { \
90 if (!state->pressed) { \
91 DOUBLETAP; \
92 } \
93 } \
94 } \
95 \
96 void dance_ ## DANCE ## _reset(tap_dance_state_t *state, void *user_data) { \
97 if (state->count == 1) { \
98 if (dance_ ## DANCE ## _pressed) { \
99 RELEASE; \
100 dance_ ## DANCE ## _pressed = false; \
101 } \
102 } \
103 }
104
105/* Define dance for left palm key. */
106
107CHOREOGRAPH(TD_LEFT,
108 layer_invert(1), /* Temporarily toggle layer when held. */
109 layer_invert(1),
110
111 /* Press and release both shifts on tap, to change
112 * keyboard layout (i.e. language). */
113
114 SEND_STRING(SS_DOWN(X_LSFT) SS_DOWN(X_RSFT)
115 SS_UP(X_LSFT) SS_UP(X_RSFT)),
116
117 layer_invert(1)); /* Toggle layer (permanently) on
118 * double-tap. */
119
120/* Define dance for right palm key. */
121
122CHOREOGRAPH(TD_RGHT,
123 layer_invert(1), /* Same as above */
124 layer_invert(1),
125 /* Send a complex macro: C-x C-s Mod-t up. (Save in
126 * Emacs, switch to terminal and recall previous command,
127 * hopefully a compile command.) */
128 SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_X) SS_TAP(X_S) SS_UP(X_LCTL)
129 SS_DOWN(X_LGUI) SS_TAP(X_T) SS_UP(X_LGUI) SS_TAP(X_UP)),
130 layer_invert(1));
131
132/* This facilitates C-x chords in Emacs. Used as a modifier along
133 * with, say, the s-key, it saves, by sending C-x C-s. When tapped it
134 * just sends C-x. */
135
136CHOREOGRAPH(TD_C_X,
137 SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_X)),
138 SEND_STRING(SS_UP(X_LCTL)),
139 SEND_STRING(SS_DOWN(X_LCTL) SS_TAP(X_X) SS_UP(X_LCTL)),);
140
141tap_dance_action_t tap_dance_actions[] = {
142 STEPS(TD_LEFT), STEPS(TD_RGHT), STEPS(TD_C_X)
143};
144
145/* Set a longer tapping term for palm keys to allow comfortable
146 * permanent layer toggle. Also set an essentially infinite tapping
147 * term for certain mod-tap keys one tends to keep pressed (such as
148 * space, backspace, etc.). This prevents sending the modifier
149 * keycode by accident (allowing re-tap to get repeated key-press)
150 * and, in combination with permissive hold, they can still be used
151 * fine as modifiers. */
152
153uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
154 switch (keycode) {
155 case TD(TD_LEFT):
156 case TD(TD_RGHT):
157 return 250;
158 case BSPC_ALT:
159 case UP_GUI:
160 case LEFT_GUI:
161 return 5000;
162 default:
163 return TAPPING_TERM;
164 }
165}
166
167bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
168 switch (keycode) {
169 case TD(TD_LEFT):
170 case TD(TD_RGHT):
171 case BSPC_ALT:
172 case UP_GUI:
173 case LEFT_GUI:
174 return true;
175 default:
176 return false;
177 }
178}
179
180/* Use the first LED to indicate the active layer. */
181
182layer_state_t layer_state_set_user(layer_state_t state) {
183 writePin(D0, (get_highest_layer(state) > 0));
184
185 return state;
186}
187
188/* Cycle through the LEDs after initialization. */
189
190void keyboard_post_init_user(void) {
191 const pin_t pins[] = {D0, D1, D2};
192 uint8_t i, j;
193
194 for (i = 0 ; i < ARRAY_SIZE(pins) + 2 ; i += 1) {
195 for (j = 0 ; j < ARRAY_SIZE(pins); j += 1) {
196 setPinOutput(pins[j]);
197 writePin(pins[j], (j == i || j == i - 1));
198 }
199
200 wait_ms(100);
201 }
202}
diff --git a/keyboards/handwired/lagrange/keymaps/dpapavas/rules.mk b/keyboards/handwired/lagrange/keymaps/dpapavas/rules.mk
deleted file mode 100644
index 42f42f627a..0000000000
--- a/keyboards/handwired/lagrange/keymaps/dpapavas/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
1# Enable additional features.
2
3DEBOUNCE_TYPE = sym_defer_pk
4TAP_DANCE_ENABLE = yes
diff --git a/keyboards/handwired/marauder/keymaps/orvia/keymap.c b/keyboards/handwired/marauder/keymaps/orvia/keymap.c
deleted file mode 100644
index 53463fa002..0000000000
--- a/keyboards/handwired/marauder/keymaps/orvia/keymap.c
+++ /dev/null
@@ -1,199 +0,0 @@
1/* Copyright 2021 BB-66
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18bool is_alt_tab_active = false;
19uint16_t alt_tab_timer = 0;
20
21char wpm_str[4];
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 [0] = LAYOUT(
25 KC_ESC, 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_PAUS, KC_PSCR, KC_SCRL, KC_ESC,
26 KC_GRV, 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_BSPC, KC_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
27 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
28 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_KP_4, KC_KP_5, KC_KP_6,
29 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_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
30 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_KP_0, KC_KP_DOT
31 ),
32 [1] = LAYOUT(
33 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
34 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
35 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
36 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
37 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
38 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
39 ),
40 [2] = LAYOUT(
41 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
42 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
43 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
44 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
45 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
46 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
47 ),
48 [3] = LAYOUT(
49 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
50 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
51 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
52 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
53 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
54 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
55 ),
56
57};
58
59
60#ifdef OLED_ENABLE
61// WPM-responsive animation stuff here
62# define IDLE_FRAMES 5
63# define IDLE_SPEED 20 // below this wpm value your animation will idle
64
65// #define PREP_FRAMES 1 // uncomment if >1
66
67# define TAP_FRAMES 2
68# define TAP_SPEED 40 // above this wpm value typing animation to trigger
69
70# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
71// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
72# define ANIM_SIZE 610 // number of bytes in array, minimize for adequate firmware size, max is 1024
73
74uint32_t anim_timer = 0;
75uint32_t anim_sleep = 0;
76uint8_t current_idle_frame = 0;
77// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1
78uint8_t current_tap_frame = 0;
79
80// Code containing pixel art, contains:
81// 5 idle frames, 1 prep frame, and 2 tap frames
82
83// To make your own pixel art:
84// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw )
85// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display-
86// replace numbers in brackets with your own
87// if you start getting errors when compiling make sure you didn't accedentally delete a bracket
88static void render_anim(void) {
89 static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
90 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
91 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
92 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
93 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
95 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
96 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
97 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
98 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x82, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
101 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x34, 0xc4, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
104 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
105 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
106 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0d, 0x31, 0xc1, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
107 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
108 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
109 static const char PROGMEM prep[][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
113 static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
114 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
116 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x98, 0xc0, 0x88, 0x88, 0x8c, 0x9c, 0x1c, 0x1e, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
118 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01,
120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x61, 0xf0, 0xf8, 0xfc, 0x60, 0x01, 0x01, 0x01, 0x3c, 0x78, 0xf8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
122 };
123
124 // assumes 1 frame prep stage
125 void animation_phase(void) {
126 if (get_current_wpm() <= IDLE_SPEED) {
127 current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
128 oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE);
129 }
130 if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
131 // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
132 oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
133 }
134 if (get_current_wpm() >= TAP_SPEED) {
135 current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
136 oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE);
137 }
138 }
139 if (get_current_wpm() != 000) {
140 oled_on(); // not essential but turns on animation OLED with any alpha keypress
141 if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
142 anim_timer = timer_read32();
143 animation_phase();
144 }
145 anim_sleep = timer_read32();
146 } else {
147 if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
148 oled_off();
149 } else {
150 if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
151 anim_timer = timer_read32();
152 animation_phase();
153 }
154 }
155 }
156}
157
158// Used to draw on to the oled screen
159bool oled_task_user(void) {
160 render_anim(); // renders pixelart
161
162 oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (4 rows, 21 full columns on a 128x32 screen, anything more will overflow back to the top)
163 uint8_t n = get_current_wpm();
164 wpm_str[3] = '\0';
165 wpm_str[2] = '0' + n % 10;
166 wpm_str[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
167 wpm_str[0] = n / 10 ? '0' + n / 10 : ' ';
168 oled_write_P(PSTR("WPM:"), false);
169 oled_write(wpm_str, false);
170
171 led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on
172 oled_set_cursor(0, 1);
173 oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
174 oled_set_cursor(0, 2);
175 oled_write_P(led_state.num_lock ? PSTR("NUM") : PSTR(" "), false);
176 oled_set_cursor(4, 2);
177 oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false);
178 oled_set_cursor(0, 3);
179 switch (get_highest_layer(layer_state)) {
180 case 0:
181 oled_write_P(PSTR("Base Layer\n"), false);
182 break;
183 case 1:
184 oled_write_P(PSTR("Base Enhanced\n"), false);
185 break;
186 case 2:
187 oled_write_P(PSTR("Gaming\n"), false);
188 break;
189 case 3:
190 oled_write_P(PSTR("Gaming Enh\n"), false);
191 break;
192 default:
193 oled_write_ln_P(PSTR("Undefined"), false);
194 }
195 oled_set_cursor(17, 3);
196 oled_write_P(PSTR("NKRO"), keymap_config.nkro);
197 return false;
198}
199#endif
diff --git a/keyboards/handwired/marauder/keymaps/orvia/rules.mk b/keyboards/handwired/marauder/keymaps/orvia/rules.mk
deleted file mode 100644
index e39f8c6e9e..0000000000
--- a/keyboards/handwired/marauder/keymaps/orvia/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
1VIA_ENABLE = yes
2OLED_ENABLE = yes
3WPM_ENABLE = yes # WPM counting Enable
diff --git a/keyboards/handwired/pteron/keymaps/FSund/keymap.c b/keyboards/handwired/pteron/keymaps/FSund/keymap.c
deleted file mode 100644
index 14ad23cd43..0000000000
--- a/keyboards/handwired/pteron/keymaps/FSund/keymap.c
+++ /dev/null
@@ -1,116 +0,0 @@
1#include QMK_KEYBOARD_H
2
3enum pteron_layers {
4 _QWERTY,
5 _LOWER,
6 _RAISE,
7 _ADJUST
8};
9
10#define LOWER MO(_LOWER)
11#define RAISE MO(_RAISE)
12
13// alt gr
14#undef G
15#define G(kc) RALT(kc)
16
17// custom keycodes
18// use F_ prefix to avoid problems
19
20// NB! I use Norwegian keyboard layout on my machines, so the keymap probably
21// doesn't make much sense for US/ANSI users
22
23#define F_FSLH S(KC_7) // forward slash
24#define F_BSLH KC_EQL // backward slash
25#define F_EQL S(KC_0) // equals sign
26#define F_APOS KC_BSLS // '
27#define F_TIMES S(KC_BSLS) // *
28#define F_PLUS KC_MINS // +
29#define F_QUEST S(KC_MINS) // ?
30#define F_HAT S(KC_RBRC) // ^
31#define F_TILD G(KC_RBRC) // ~
32#define F_UML KC_RBRC // ¨ (umlaut)
33#define F_SECT S(KC_GRV) // section sign ("law sign") (shifted key below esc)
34#define F_GRAVE S(KC_EQL)
35#define F_ACUTE G(KC_EQL)
36
37#define KC_AA KC_LBRC
38#define KC_OE KC_SCLN
39#define KC_AE KC_QUOT
40
41// brackets
42#define F_SBRL G(KC_8) // square bracket left
43#define F_SBRR G(KC_9) // square bracket right
44#define F_CBRL G(KC_7) // curly bracket left
45#define F_CBRR G(KC_0) // curly bracket right
46#define F_RBRL S(KC_8) // round bracket left
47#define F_RBRR S(KC_9) // round bracket right
48#define F_ABRL KC_NUBS // angle bracket left
49#define F_ABRR S(KC_NUBS) // angle bracket right
50
51const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
52
53/* QWERTY
54 * +-----------------------------------------+ +-----------------------------------------+
55 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
56 * |------+------+------+------+------+------| |------+------+------+------+------+------|
57 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Å |
58 * |------+------+------+------+------+------| |------+------+------+------+------+------|
59 * | Ctrl | A | S | D | F | G | | H | J | K | L | Ø | Æ |
60 * |------+------+------+------+------+------| |------+------+------+------+------+------|
61 * | Shft | Z | X | C | V | B | | N | M | , | . | - | Shft |
62 * +---------------------------+------+------+-------------+ +-------------+------+------+---------------------------+
63 * | LOWR | Spc | Alt | Win | | Win | Alt | Spc | RISE |
64 * +---------------------------+ +---------------------------+
65 */
66
67[_QWERTY] = LAYOUT(
68 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
69 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_AA,
70 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_OE, KC_AE,
71 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
72 LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_RGUI, KC_RALT, KC_ENT, RAISE
73 ),
74
75/* LOWER
76 * +-----------------------------------------+ +-----------------------------------------+
77 * | | | | | | | | | | | | | |
78 * |------+------+------+------+------+------| |------+------+------+------+------+------|
79 * | | | | | | | | \ | / | [ | ] | = | Del |
80 * |------+------+------+------+------+------| |------+------+------+------+------+------|
81 * | | F1 | F2 | F3 | F4 | F5 | | < | > | ( | ) | * | ~ |
82 * |------+------+------+------+------+------| |------+------+------+------+------+------|
83 * | | F6 | F7 | F8 | F9 | F10 | | F11 | F12 | { | } | + | |
84 * +---------------------------+------+------+-------------+ +-------------+------+------+---------------------------+
85 * | | | | | | | | | |
86 * +---------------------------+ +---------------------------+
87 */
88
89[_LOWER] = LAYOUT(
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
91 _______, _______, _______, _______, _______, _______, F_BSLH, F_FSLH, F_SBRL, F_SBRR, F_EQL, KC_DEL,
92 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, F_ABRL, F_ABRR, F_RBRL, F_RBRR, F_TIMES, F_TILD,
93 _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, F_CBRL, F_CBRR, F_PLUS, _______,
94 _______, _______, _______, _______, _______, _______, _______, _______
95 ),
96
97[_RAISE] = LAYOUT(
98 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
99 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_AA,
100 F_SECT, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), F_QUEST, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, F_APOS,
101 _______, S(KC_6), G(KC_2), G(KC_3), G(KC_4), G(KC_5), F_HAT, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______,
102 _______, _______, _______, _______, _______, _______, _______, _______
103 ),
104
105[_ADJUST] = LAYOUT(
106 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
107 _______, F_UML, F_GRAVE, F_ACUTE, _______, QK_BOOT, _______, _______, _______, _______, KC_PSCR, _______,
108 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
109 _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______,
110 _______, _______, _______, _______, _______, _______, _______, _______
111 )
112};
113
114layer_state_t layer_state_set_user(layer_state_t state) {
115 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
116}
diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/config.h b/keyboards/handwired/pteron/keymaps/alzafacon/config.h
deleted file mode 100644
index 3bc36a62ae..0000000000
--- a/keyboards/handwired/pteron/keymaps/alzafacon/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
1 /* Copyright 2021 Fidel Coria
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19/* override diode direction from keyboard config */
20/* COL2ROW or ROW2COL */
21#undef DIODE_DIRECTION
22#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c b/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c
deleted file mode 100644
index 1d030599fd..0000000000
--- a/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c
+++ /dev/null
@@ -1,120 +0,0 @@
1 /* Copyright 2021 Fidel Coria
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19enum pteron_layers {
20 _QWERTY,
21 _LOWER,
22 _RAISE,
23 _ADJUST
24};
25
26
27#define LOWER MO(_LOWER)
28#define RAISE MO(_RAISE)
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31
32/* Qwerty
33 * +-----------------------------------------+ +-----------------------------------------+
34 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
35 * |------+------+------+------+------+------| |------+------+------+------+------+------|
36 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Del |
37 * |------+------+------+------+------+------| |------+------+------+------+------+------|
38 * | Esc | A | S | D | F | G | | H | J | K | L | ; | " |
39 * |------+------+------+------+------+------| |------+------+------+------+------+------|
40 * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter |
41 * +-------------+------+------+------+------| |------+------+------+------+-------------+
42 * |Lower | SPC | Alt | GUI | | Alt | GUI | SPC |Raise |
43 * +---------------------------+ +---------------------------+
44 */
45[_QWERTY] = LAYOUT(
46 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
47 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
48 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
49 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
50 LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_RALT, KC_RGUI, KC_SPC, RAISE
51),
52
53/* Lower
54 * +-----------------------------------------+ +-----------------------------------------+
55 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Bksp |
56 * |------+------+------+------+------+------| |------+------+------+------+------+------|
57 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del |
58 * |------+------+------+------+------+------| |------+------+------+------+------+------|
59 * | Del | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | |
60 * |------+------+------+------+------+------| |------+------+------+------+------+------|
61 * | | F7 | F8 | F9 | F10 | F11 | | F12 |ISO ~ |ISO | | | | |
62 * +-------------+------+------+------+------| |------+------+------+------+-------------+
63 * | | | | | | Next | Vol- | Vol+ | Play |
64 * +---------------------------+ +---------------------------+
65 */
66[_LOWER] = LAYOUT(
67 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
68 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
69 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
70 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
71 _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
72),
73
74/* Raise
75 * +-----------------------------------------+ +-----------------------------------------+
76 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
77 * |------+------+------+------+------+------| |------+------+------+------+------+------|
78 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
79 * |------+------+------+------+------+------| |------+------+------+------+------+------|
80 * | Del | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
81 * |------+------+------+------+------+------| |------+------+------+------+------+------|
82 * | | F7 | F8 | F9 | F10 | F11 | | F12 |ISO # |ISO / | | | |
83 * +-------------+------+------+------+------| |------+------+------+------+-------------+
84 * | | | | | | Next | Vol- | Vol+ | Play |
85 * +---------------------------+ +---------------------------+
86 */
87[_RAISE] = LAYOUT(
88 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
89 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
90 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
91 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
92 _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
93),
94
95/* Adjust (Lower + Raise)
96 * +-----------------------------------------+ +-----------------------------------------+
97 * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
98 * |------+------+------+------+------+------| |------+------+------+------+------+------|
99 * | | Reset| | | | | | | | | | | Del |
100 * |------+------+------+------+------+------| |------+------+------+------+------+------|
101 * | | | |Aud on|AudOff|AGnorm| |AGswap|Qwerty|Colemk|Dvorak| | |
102 * |------+------+------+------+------+------| |------+------+------+------+------+------|
103 * | |Voice-|Voice+|Mus on|MusOff|MidiOn| |MidOff| | | | | |
104 * +-------------+------+------+------+------| |------+------+------+------+-------------+
105 * | | | | | | | | | |
106 * +---------------------------+ +---------------------------+
107 */
108[_ADJUST] = LAYOUT(
109 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
110 _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
111 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
112 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
113 _______, _______, _______, _______, _______, _______, _______, _______
114)
115
116};
117
118layer_state_t layer_state_set_user(layer_state_t state) {
119 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
120}
diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/readme.md b/keyboards/handwired/pteron/keymaps/alzafacon/readme.md
deleted file mode 100644
index 0bc5f2704f..0000000000
--- a/keyboards/handwired/pteron/keymaps/alzafacon/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
1# alzafacon pteron layout
2
3This keymap is for builds with elite-c controllers.
4Also notice `DIODE_DIRECTION COL2ROW`. I prefer to hand-wire this way.
diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/rules.mk b/keyboards/handwired/pteron/keymaps/alzafacon/rules.mk
deleted file mode 100644
index 03323308e7..0000000000
--- a/keyboards/handwired/pteron/keymaps/alzafacon/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
1# for elite-c
2BOOTLOADER = atmel-dfu
diff --git a/keyboards/handwired/selene/keymaps/bpendragon/keymap.c b/keyboards/handwired/selene/keymaps/bpendragon/keymap.c
deleted file mode 100644
index 4723250e35..0000000000
--- a/keyboards/handwired/selene/keymaps/bpendragon/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
1/* Copyright 2020 Bpendragon
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19enum custom_keycodes {
20 DBL_0 = SAFE_RANGE,
21};
22
23bool process_record_user(uint16_t keycode, keyrecord_t *record) {
24 switch (keycode) {
25 case DBL_0:
26 if(record->event.pressed) {
27 SEND_STRING("00");
28 }
29 break;
30 }
31 return true;
32};
33
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35 [0] = LAYOUT (
36 KC_ESC, 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_PSCR, KC_SCRL, KC_PAUS, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,
37 KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
38 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
39 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
40 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
41 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, DBL_0, KC_PDOT
42 )
43};
diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c b/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c
deleted file mode 100644
index 21ba0e5b3d..0000000000
--- a/keyboards/handwired/steamvan/keymaps/jmdaly/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
1/* Copyright 2019 John M Daly <jmdaly@gmail.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18
19// Each layer gets a name for readability, which is then used in the keymap matrix below.
20// The underscores don't mean anything - you can have a layer called STUFF or any other name.
21// Layer names don't all need to be of the same length, obviously, and you can also skip them
22// entirely and just use numbers.
23
24enum {
25 // Layers
26 _L1,
27 _L2,
28 _L3,
29 _L4,
30 _L5
31};
32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 [_L1] = LAYOUT_standard( /* Qwerty */
35 LT(_L5, KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
36 CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_L2, KC_QUOT),
37 SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
38 MO(_L2), KC_LGUI, MO(_L3), KC_ENT, LT(_L2, KC_SPC), KC_RALT, KC_BSLS, MO(_L4)
39 ),
40 [_L2] = LAYOUT_standard( /* LAYER 2 */
41 KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
42 _______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
43 _______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_LBRC, KC_RBRC, KC_MNXT, _______,
44 _______, KC_LGUI, _______, _______, _______, _______, _______, MO(_L4)
45 ),
46 [_L3] = LAYOUT_standard( /* LAYER 3 */
47 KC_MINS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
48 KC_EQL, KC_PIPE, KC_TILD, KC_UNDS, KC_PLUS, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_4, KC_5, KC_6, KC_VOLU, KC_INS,
49 _______, RGB_TOG, RGB_MOD, RGB_RMOD, KC_DQUO, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______
51 ),
52 [_L4] = LAYOUT_standard( /* LAYER 4 */
53 QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_PGUP, _______,
54 KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_HOME, KC_END, _______,
55 KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_PGDN, KC_F12, _______,
56 _______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______
57 ),
58 [_L5] = LAYOUT_standard( /* LAYER 5 */
59 _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LGUI(KC_MINS),
60 KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_HOME, KC_END, _______,
61 KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_PGDN, KC_F12, _______,
62 _______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______
63 )
64};
diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/readme.md b/keyboards/handwired/steamvan/keymaps/jmdaly/readme.md
deleted file mode 100644
index 5aeae7064f..0000000000
--- a/keyboards/handwired/steamvan/keymaps/jmdaly/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# jmdaly's keymap for the steamvan
diff --git a/keyboards/handwired/z150/keymaps/zyxx/keymap.c b/keyboards/handwired/z150/keymaps/zyxx/keymap.c
deleted file mode 100644
index 76ee90d9dc..0000000000
--- a/keyboards/handwired/z150/keymaps/zyxx/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
1/* Copyright 2020 DmNosachev
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Defines names for use in layer keycodes and the keymap
19enum layer_names {
20 _BASE,
21 _FN1
22};
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25/*
26 * ,---------------------------------------------------------------------------------------------------------------------------.
27 * | F1 | F2 | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Backspace| ~` | ScrLk | FN1 |
28 * |---------------------------------------------------------------------------------------------------------------------------|
29 * | F3 | F4 | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | |Home | ↑ |PgUp |PrnSc|
30 * |--------------------------------------------------------------------------------------------- ------------------------|
31 * | F5 | F6 | Ctrl | A | S | D | F | G | H | J | K | L | ;: | '" | Enter | ← | ↓ | → | wh+ |
32 * |---------------------------------------------------------------------------------------------------------------------------|
33 * | F7 | F8 | Shift | Z | X | C | V | B | N | M | , | . | /? | Shift | |\ |End | |PgDn | wh- |
34 * |---------------------------------------------------------------------------------------------------------------------- |
35 * | F9 | F10 | Alt |FN1 | Space | Alt | Ins | Del | |
36 * `---------------------------------------------------------------------------------------------------------------------------'
37*/
38 [_BASE] = LAYOUT(
39 KC_F1, KC_F2, KC_ESC, 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_BSPC, KC_GRV, KC_SCRL, MO(_FN1),
40 KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_HOME, KC_UP, KC_PGUP, KC_PSCR,
41 KC_F5, KC_F6, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LEFT, KC_DOWN, KC_RGHT, KC_WH_U,
42 KC_F7, KC_F8, 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_BSLS, KC_END, KC_NO, KC_PGDN, KC_WH_D,
43 KC_F9, KC_F10,KC_LALT, MO(_FN1), KC_SPC, KC_RALT, KC_INS, KC_DEL
44 ),
45/*
46 * ,---------------------------------------------------------------------------------------------------------------------------.
47 * |reset| | | F11 | F12 | au+ | au- | clk | clk+| clk-| clkr| | | | | Delete |NumLk| / | FN1 |
48 * |---------------------------------------------------------------------------------------------------------------------------|
49 * | | | | | mlb | m↑ | mrb | | | | | | | | | | 7 | 8 | 9 | * |
50 * |--------------------------------------------------------------------------------------------- ------------------------|
51 * | | | | | m← | m↓ | m→ | | | | | | | | | 4 | 5 | 6 | - |
52 * |---------------------------------------------------------------------------------------------------------------------------|
53 * | | | | | | | | | | | | | | | | 1 | 2 | 3 | + |
54 * |---------------------------------------------------------------------------------------------------------------------- |
55 * | | | |FN1 | | CapsLock| 0 Ins | . Del | |
56 * `---------------------------------------------------------------------------------------------------------------------------'
57*/
58 [_FN1] = LAYOUT(
59 QK_BOOT, _______, _______, KC_F11, KC_F12, AU_ON, AU_OFF, CK_TOGG, CK_UP, CK_DOWN, CK_RST, _______, _______, _______, _______, KC_DEL, KC_NUM, KC_PSLS, _______,
60 _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PAST,
61 _______, _______, _______ , _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PMNS,
62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PPLS,
63 _______, _______, _______, _______, _______, KC_CAPS, KC_P0, KC_PDOT
64 )
65};
diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/config.h b/keyboards/helix/rev2/keymaps/fraanrosi/config.h
deleted file mode 100644
index 6c816d0acc..0000000000
--- a/keyboards/helix/rev2/keymaps/fraanrosi/config.h
+++ /dev/null
@@ -1,64 +0,0 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6Copyright 2021 Franco Rosi <fraanrosi@gmail.com>
7
8This program is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 2 of the License, or
11(at your option) any later version.
12
13This program is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with this program. If not, see <http://www.gnu.org/licenses/>.
20*/
21
22#pragma once
23
24// place overrides here
25
26// If you need more program area, try select and reduce rgblight modes to use.
27
28#ifndef LED_ANIMATIONS
29# define LED_ANIMATIONS
30#endif
31
32// Selection of RGBLIGHT MODE to use.
33#if defined(LED_ANIMATIONS)
34 #define RGBLIGHT_EFFECT_BREATHING
35 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
36 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
37 #define RGBLIGHT_EFFECT_SNAKE
38 #define RGBLIGHT_EFFECT_KNIGHT
39 #define RGBLIGHT_EFFECT_CHRISTMAS
40 #define RGBLIGHT_EFFECT_STATIC_GRADIENT
41 #define RGBLIGHT_EFFECT_RGB_TEST
42 #define RGBLIGHT_EFFECT_ALTERNATING
43 #define RGBLIGHT_EFFECT_TWINKLE
44#endif
45
46#undef RGBLIGHT_HUE_STEP
47#define RGBLIGHT_HUE_STEP 4
48
49#ifdef MOUSEKEY_ENABLE
50 #undef MOUSEKEY_INTERVAL
51 #define MOUSEKEY_INTERVAL 20
52
53 #undef MOUSEKEY_TIME_TO_MAX
54 #define MOUSEKEY_TIME_TO_MAX 40
55
56 #undef MOUSEKEY_MAX_SPEED
57 #define MOUSEKEY_MAX_SPEED 6
58
59 #undef MOUSEKEY_MOVE_DELTA
60 #define MOUSEKEY_MOVE_DELTA 5
61
62 #undef MOUSEKEY_DELAY
63 #define MOUSEKEY_DELAY 0
64#endif
diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c b/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c
deleted file mode 100644
index 1bd43ab24a..0000000000
--- a/keyboards/helix/rev2/keymaps/fraanrosi/keymap.c
+++ /dev/null
@@ -1,288 +0,0 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6Copyright 2021 Franco Rosi <fraanrosi@gmail.com>
7
8This program is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 2 of the License, or
11(at your option) any later version.
12
13This program is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with this program. If not, see <http://www.gnu.org/licenses/>.
20*/
21#include QMK_KEYBOARD_H
22
23// Following line allows macro to read current RGB settings
24#ifdef RGBLIGHT_ENABLE
25uint8_t RGB_current_mode;
26HSV CURRENT_COLOR;
27bool caps_is_active = false;
28/*Here I set the first rgb mode*/
29void keyboard_post_init_user(void) {
30 rgblight_enable(); // Enables RGB, without saving settings
31 rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 3);
32 RGB_current_mode = rgblight_get_mode();
33 rgblight_sethsv(HSV_RED);
34 CURRENT_COLOR = rgblight_get_hsv();
35}
36#endif
37
38extern uint8_t is_master;
39
40// Each layer gets a name for readability, which is then used in the keymap matrix below.
41// The underscores don't mean anything - you can have a layer called STUFF or any other name.
42// Layer names don't all need to be of the same length, obviously, and you can also skip them
43// entirely and just use numbers.
44enum layer_number {
45 _QWERTY = 0,
46 _LOWER,
47 _RAISE
48};
49
50enum custom_keycodes {
51 QWERTY = SAFE_RANGE,
52 LOWER,
53 RAISE,
54 RGBRST,
55 RGB_1,
56 RGB_2,
57 RGB_3,
58 RGB_4,
59 RGB_5,
60 RGB_6,
61 RGB_7,
62 RGB_8,
63 RGB_9
64};
65
66#define LOWER MO(1)
67#define RAISE MO(2)
68
69
70const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
71
72 /* Qwerty
73 * ,-----------------------------------------. ,-----------------------------------------.
74 * | | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
75 * |------+------+------+------+------+------| |------+------+------+------+------+------|
76 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
77 * |------+------+------+------+------+------| |------+------+------+------+------+------|
78 * | CAPS | A | S | D | F | G | | H | J | K | L | Ñ |Enter |
79 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
80 * |Shift | Z | X | C | V | B | { | } | N | M | , | . | - |Shift |
81 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
82 * | Ctrl | Esc | Win | Alt |Raise |Lower |Space |Space |Alt Gr| Left | Up | Down |Right | Ctrl |
83 * `-------------------------------------------------------------------------------------------------'
84 */
85 [_QWERTY] = LAYOUT(
86 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
87 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
88 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
89 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_QUOT, KC_NUHS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
90 KC_LCTL, KC_ESC, KC_LGUI, KC_LALT, MO(2), MO(1), KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_RCTL
91 ),
92
93 /*Lower
94 * ,-----------------------------------------. ,-----------------------------------------.
95 * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
96 * |------+------+------+------+------+------| |------+------+------+------+------+------|
97 * | | Mute | Play |Mouse1|Mouse2| | |Print | |Insert|' ? \ | ¿ ¡ | |
98 * |------+------+------+------+------+------| |------+------+------+------+------+------|
99 * | |Shine+|Shine-| Vol -| Vol +| | | |Mouse↑| | ´ ¨ |+ * ~ | |
100 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
101 * | | < > | | | | | | |Mouse←|Mouse↓|Mouse→| | | |
102 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
103 * | | | | | | | | | | Home |PageUp|PageDn| End | |
104 * `-------------------------------------------------------------------------------------------------'
105 */
106 [_LOWER] = LAYOUT(
107 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
108 KC_TRNS, KC_MUTE, KC_MPLY, KC_BTN1, KC_BTN2, KC_TRNS, KC_PSCR, KC_TRNS, KC_INS, KC_MINS, KC_EQL, KC_TRNS,
109 KC_NO, KC_BRID, KC_BRIU, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS,
110 KC_TRNS, KC_NUBS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS,
111 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_TRNS
112 ),
113
114 /* Raise
115 * ,-----------------------------------------. ,-----------------------------------------.
116 * | | | | | | | | | | | | | |
117 * |------+------+------+------+------+------| |------+------+------+------+------+------|
118 * | RGB1 | RGB2 | RGB3 | RGB4 |RGB ON| | | | MODE+| MODE-| | | |
119 * |------+------+------+------+------+------| |------+------+------+------+------+------|
120 * | RGB5 | RGB6 | RGB7 | RGB8 | RGB9 | | | | HUE+ | HUE- | | | |
121 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
122 * | | MODE+| MODE-| HUE+ | HUE- | | Reset| | | | | | | |
123 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
124 * | | | | | | | | | | | | | | |
125 * `-------------------------------------------------------------------------------------------------'
126 */
127 [_RAISE] = LAYOUT(
128 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
129 RGB_1, RGB_2, RGB_3, RGB_4, RGB_TOG, KC_NO, KC_NO, RGB_MOD, RGB_RMOD,KC_NO, KC_NO, KC_NO,
130 RGB_5, RGB_6, RGB_7, RGB_8, RGB_9, KC_NO, KC_NO, RGB_HUI, RGB_HUD, KC_NO, KC_NO, KC_NO,
131 KC_NO, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
132 KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
133 )
134};
135
136// define variables for reactive RGB
137bool TOG_STATUS = false;
138
139bool process_record_user(uint16_t keycode, keyrecord_t *record) {
140 switch (keycode) {
141 case LOWER:
142 if (record->event.pressed) {
143 // not sure how to have keyboard check mode and set it to a variable, so my work around
144 // uses another variable that would be set to true after the first time a reactive key is pressed.
145 if (TOG_STATUS) { // TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
146 } else {
147 TOG_STATUS = !TOG_STATUS;
148 #ifdef RGBLIGHT_ENABLE
149 if (!caps_is_active) {
150 RGB_current_mode = rgblight_get_mode();
151 CURRENT_COLOR = rgblight_get_hsv();
152 }
153 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
154 rgblight_sethsv(HSV_BLUE);
155 #endif
156 }
157 layer_on(_LOWER);
158 } else {
159 #ifdef RGBLIGHT_ENABLE
160 if (!caps_is_active) {
161 rgblight_mode(RGB_current_mode);
162 rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
163 } else {
164 rgblight_mode(RGBLIGHT_MODE_ALTERNATING);
165 rgblight_sethsv(HSV_WHITE);
166 }
167 #endif
168 TOG_STATUS = false;
169 layer_off(_LOWER);
170 }
171 return false;
172 break;
173 case RAISE:
174 if (record->event.pressed) {
175 // not sure how to have keyboard check mode and set it to a variable, so my work around
176 // uses another variable that would be set to true after the first time a reactive key is pressed.
177 if (TOG_STATUS) { // TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
178 } else {
179 TOG_STATUS = !TOG_STATUS;
180 #ifdef RGBLIGHT_ENABLE
181 if (!caps_is_active) {
182 RGB_current_mode = rgblight_get_mode();
183 CURRENT_COLOR = rgblight_get_hsv();
184 }
185 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
186 rgblight_sethsv(HSV_RED);
187 #endif
188 }
189 layer_on(_RAISE);
190 } else {
191 #ifdef RGBLIGHT_ENABLE
192 if (!caps_is_active) {
193 rgblight_mode(RGB_current_mode);
194 rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
195 } else {
196 rgblight_mode(RGBLIGHT_MODE_ALTERNATING);
197 rgblight_sethsv(HSV_WHITE);
198 }
199 #endif
200 layer_off(_RAISE);
201 TOG_STATUS = false;
202 }
203 return false;
204 break;
205 //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
206 case RGB_1 ... RGB_9:
207 if (record->event.pressed) {
208 rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
209 //this to have each custom mode separately, but sharing logic
210 switch(keycode){
211 case RGB_1:
212 rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD + 1);
213 break;
214 case RGB_2:
215 rgblight_mode(RGBLIGHT_MODE_KNIGHT);
216 break;
217 case RGB_3:
218 rgblight_mode(RGBLIGHT_MODE_SNAKE);
219 break;
220 case RGB_4:
221 rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 3);
222 break;
223 case RGB_5:
224 rgblight_mode(RGBLIGHT_MODE_TWINKLE + 5);
225 break;
226 case RGB_6:
227 rgblight_mode(RGBLIGHT_MODE_BREATHING + 3);
228 break;
229 case RGB_7:
230 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
231 break;
232 case RGB_8:
233 rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 5);
234 break;
235 case RGB_9:
236 rgblight_mode(RGBLIGHT_MODE_CHRISTMAS);
237 break;
238 }
239 RGB_current_mode = rgblight_get_mode();
240 CURRENT_COLOR = rgblight_get_hsv();
241 }
242 return false;
243 break;
244 case RGB_TOG ... RGB_HUD:
245 if (record->event.pressed) {
246 rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
247 rgblight_mode(RGB_current_mode);
248 process_rgb(keycode, record);
249 RGB_current_mode = rgblight_get_mode();
250 CURRENT_COLOR = rgblight_get_hsv();
251 }
252 return false;
253 break;
254 case KC_CAPS:
255 if (record->event.pressed) {
256 register_code(KC_CAPS);
257 caps_is_active = !caps_is_active;
258 if (caps_is_active) {
259 CURRENT_COLOR = rgblight_get_hsv();
260 rgblight_mode(RGBLIGHT_MODE_ALTERNATING);
261 rgblight_sethsv(HSV_WHITE);
262 } else if (!caps_is_active) {
263 unregister_code(KC_CAPS);
264 rgblight_mode(RGB_current_mode);
265 rgblight_sethsv(CURRENT_COLOR.h, CURRENT_COLOR.s, CURRENT_COLOR.v);
266 }
267 }
268 return false;
269 break;
270 case RGBRST:
271 #ifdef RGBLIGHT_ENABLE
272 if (record->event.pressed) {
273 eeconfig_update_rgblight_default();
274 rgblight_enable();
275 RGB_current_mode = rgblight_get_mode();
276 }
277 #endif
278 break;
279 }
280 return true;
281}
282
283void matrix_init_user(void) {
284#ifdef RGBLIGHT_ENABLE
285 RGB_current_mode = rgblight_get_mode();
286 CURRENT_COLOR = rgblight_get_hsv();
287#endif
288}
diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/readme.md b/keyboards/helix/rev2/keymaps/fraanrosi/readme.md
deleted file mode 100644
index 71f71bbb99..0000000000
--- a/keyboards/helix/rev2/keymaps/fraanrosi/readme.md
+++ /dev/null
@@ -1,40 +0,0 @@
1 <!---Copyright 2021 Franco Rosi <fraanrosi@gmail.com> -->
2## Fraanrosi
3A **Latin American Spanish** keymap for Helix/rev2/under, 5 rows.
4Designed to be as simple and more touch typing oriented as possible.
5It was inspired by a DELL Latitude E5470.
6
7## Layers
8
9The Helix obviously does not have enough keys compared to a typical keyboard.
10The keymap has multiple layers, moving extra keys to different layers.
11
12|Priority|Layer ID|Layer Name|Contents|
13| ---- | ---- | --- | --- |
14||0|Qwerty|Qwerty layout (Base)|
15||1|Lower|Symbols, media, function keys and mouse.(Blue)|
16||2|Raise|Underglow RGB config(Red)|
17
18Keymap : http://www.keyboard-layout-editor.com/#/gists/4cd7b4ccda1de5cf9edc56d29b64da30
19### First layer (qwerty).
20
21It contains the "**Ñ**" letter.
22"Caps Lock" key toggle an RGB mode, to alert.
23@ is typed with AltGr+q
24![first-layer](https://i.imgur.com/BaVDVdB.png)
25### Second layer (Lower).
26
27While "Lower" key is pressed, the RBG mode remains BLUE.
28It has the "Symbols, media, function keys and mouse" features.
29It completes the rest of the needed qwerty and F keys.
30![second-layer](https://i.imgur.com/HbDVTfp.png)
31### Third layer (Raise).
32
33While "Raise" key is pressed, the RBG mode remains RED.
34This is the underglow RGB's layer , where can be controlled the modes and hue.
35With reset button for the micros.
36![third-layer](https://i.imgur.com/MF8jjbu.png)
37### All the layers.
38 ![all-the-layers](https://i.imgur.com/jn1VI4V.png)
39
40 <!---![Keyboard](https://i.imgur.com/Onwmsss.png) -->
diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk b/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk
deleted file mode 100644
index 688813ce39..0000000000
--- a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk
+++ /dev/null
@@ -1,24 +0,0 @@
1# QMK Standard Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
6# See TOP/docs/config_options.md for more information.
7#
8SPLIT_KEYBOARD = yes
9LTO_ENABLE = yes # if firmware size over limit, try this option
10MOUSEKEY_ENABLE = yes # Mouse keys
11EXTRAKEY_ENABLE = yes # Audio control and System control
12# AUDIO_ENABLE = yes # Audio output on port C6
13# Helix Spacific Build Options
14# you can uncomment and edit follows 7 Variables
15# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
16# OLED_ENABLE = no # OLED_ENABLE
17# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
18# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
19# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
20LED_ANIMATIONS = yes # LED animations
21# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
22
23LED_BACK_ENABLE = no
24LED_UNDERGLOW_ENABLE = yes
diff --git a/keyboards/helix/rev2/keymaps/froggy/config.h b/keyboards/helix/rev2/keymaps/froggy/config.h
deleted file mode 100644
index fea362bcd6..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/config.h
+++ /dev/null
@@ -1,50 +0,0 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H
23
24#undef TAPPING_TERM
25#define TAPPING_TERM 200
26#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */
27#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
28
29// the froggy keymap does not use the right hand side, so sync_timer is not needed
30#define DISABLE_SYNC_TIMER
31// For the same reason, the following are also not needed
32#undef SPLIT_LAYER_STATE_ENABLE
33#undef SPLIT_LED_STATE_ENABLE
34
35// If you need more program area, try select and reduce rgblight modes to use.
36
37// Selection of RGBLIGHT MODE to use.
38#if defined(LED_ANIMATIONS)
39 #define RGBLIGHT_EFFECT_BREATHING
40 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
41 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
42 #define RGBLIGHT_EFFECT_SNAKE
43 #define RGBLIGHT_EFFECT_KNIGHT
44 #define RGBLIGHT_EFFECT_CHRISTMAS
45 #define RGBLIGHT_EFFECT_STATIC_GRADIENT
46 //#define RGBLIGHT_EFFECT_RGB_TEST
47 //#define RGBLIGHT_EFFECT_ALTERNATING
48#endif
49
50#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/keymaps/froggy/helixfont.h b/keyboards/helix/rev2/keymaps/froggy/helixfont.h
deleted file mode 100644
index 5360eace95..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/helixfont.h
+++ /dev/null
@@ -1,235 +0,0 @@
1// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
2// See gfxfont.h for newer custom bitmap font info.
3
4#pragma once
5
6#include "progmem.h"
7
8// Standard ASCII 5x7 font
9
10static const unsigned char font[] PROGMEM = {
110x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
130x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
140x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
150x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
160x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
170x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
180x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
190xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
200x00, 0x18, 0x24, 0x18, 0x00, 0x00,
210xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
220x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
230x26, 0x29, 0x79, 0x29, 0x26, 0x00,
240x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
250x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
260x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
270x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
280x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
290x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
300x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
310x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
320x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
330x60, 0x60, 0x60, 0x60, 0x60, 0x00,
340x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
350x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
360x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
370x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
380x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
390x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
400x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
410x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
420x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
430x00, 0x00, 0x00, 0x00, 0x00, 0x00,
440x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
450x00, 0x07, 0x00, 0x07, 0x00, 0x00,
460x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
470x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
480x23, 0x13, 0x08, 0x64, 0x62, 0x00,
490x36, 0x49, 0x56, 0x20, 0x50, 0x00,
500x00, 0x08, 0x07, 0x03, 0x00, 0x00,
510x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
520x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
530x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
540x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
550x00, 0x80, 0x70, 0x30, 0x00, 0x00,
560x08, 0x08, 0x08, 0x08, 0x08, 0x00,
570x00, 0x00, 0x60, 0x60, 0x00, 0x00,
580x20, 0x10, 0x08, 0x04, 0x02, 0x00,
590x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
600x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
610x72, 0x49, 0x49, 0x49, 0x46, 0x00,
620x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
630x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
640x27, 0x45, 0x45, 0x45, 0x39, 0x00,
650x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
660x41, 0x21, 0x11, 0x09, 0x07, 0x00,
670x36, 0x49, 0x49, 0x49, 0x36, 0x00,
680x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
690x00, 0x00, 0x14, 0x00, 0x00, 0x00,
700x00, 0x40, 0x34, 0x00, 0x00, 0x00,
710x00, 0x08, 0x14, 0x22, 0x41, 0x00,
720x14, 0x14, 0x14, 0x14, 0x14, 0x00,
730x00, 0x41, 0x22, 0x14, 0x08, 0x00,
740x02, 0x01, 0x59, 0x09, 0x06, 0x00,
750x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
760x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
770x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
780x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
790x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
800x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
810x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
820x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
830x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
840x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
850x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
860x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
870x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
880x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
890x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
900x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
910x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
920x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
930x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
940x26, 0x49, 0x49, 0x49, 0x32, 0x00,
950x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
960x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
970x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
980x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
990x63, 0x14, 0x08, 0x14, 0x63, 0x00,
1000x03, 0x04, 0x78, 0x04, 0x03, 0x00,
1010x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
1020x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
1030x02, 0x04, 0x08, 0x10, 0x20, 0x00,
1040x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
1050x04, 0x02, 0x01, 0x02, 0x04, 0x00,
1060x40, 0x40, 0x40, 0x40, 0x40, 0x00,
1070xFC, 0xFE, 0x02, 0x82, 0x82, 0x82,
1080x82, 0x82, 0x82, 0xC2, 0x82, 0x02,
1090x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
1100x02, 0x62, 0x62, 0x62, 0x62, 0xE2,
1110x62, 0x62, 0xE2, 0x02, 0x02, 0xFC,
1120x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
1130x30, 0x40, 0x00, 0x00, 0x00, 0x00,
1140x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1150x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1160x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1170x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1180x00, 0x00, 0x00, 0x00, 0x80, 0x00,
1190x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1200x00, 0x40, 0x00, 0x00, 0x24, 0xA4,
1210xA4, 0xBC, 0xA4, 0x24, 0x24, 0x00,
1220x00, 0x00, 0x24, 0xA4, 0x24, 0x24,
1230x3C, 0x04, 0x04, 0x00, 0x00, 0x00,
1240xB8, 0xA4, 0xA4, 0xA4, 0xBC, 0x00,
1250x00, 0x00, 0x00, 0xFC, 0x00, 0xFC,
1260x00, 0x44, 0x44, 0x44, 0xDC, 0x44,
1270x04, 0x3C, 0x00, 0x00, 0x00, 0x00,
1280xFC, 0xFE, 0xFE, 0x7E, 0x7E, 0x7E,
1290x7E, 0x7E, 0x7E, 0x3E, 0x7E, 0xFE,
1300xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
1310xFE, 0x9E, 0x9E, 0x9E, 0x9E, 0x1E,
1320x9E, 0x9E, 0x1E, 0xFE, 0xFE, 0xFC,
1330x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1340x00, 0x08, 0x36, 0x41, 0x00, 0x00,
1350x00, 0x00, 0x77, 0x00, 0x00, 0x00,
1360x00, 0x41, 0x36, 0x08, 0x00, 0x00,
1370x02, 0x01, 0x02, 0x04, 0x02, 0x00,
1380x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
1390x7F, 0x7F, 0x40, 0x41, 0x41, 0x41,
1400x41, 0x41, 0x41, 0x41, 0x41, 0x40,
1410x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
1420x40, 0x40, 0x40, 0x40, 0x40, 0x41,
1430x40, 0x40, 0x43, 0x40, 0x40, 0x7F,
1440x00, 0x00, 0x00, 0xF0, 0xFB, 0xFB,
1450x00, 0x50, 0x60, 0xFF, 0xFC, 0x3C,
1460x1E, 0x0E, 0x0C, 0xFC, 0xF8, 0xE8,
1470xE8, 0xE8, 0x30, 0x00, 0x00, 0x00,
1480x00, 0x00, 0x02, 0x00, 0x00, 0x00,
1490x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1500x00, 0x00, 0x02, 0x02, 0x0D, 0x02,
1510x02, 0x00, 0x00, 0x00, 0x00, 0x00,
1520x00, 0x00, 0x00, 0x00, 0x57, 0x50,
1530x57, 0x54, 0x57, 0x10, 0x50, 0x00,
1540x00, 0x00, 0x97, 0x94, 0x97, 0x94,
1550xF7, 0x00, 0x00, 0x00, 0x00, 0x00,
1560xE4, 0x14, 0xF4, 0x94, 0xF7, 0x00,
1570x00, 0x00, 0x00, 0xFF, 0x00, 0xFF,
1580x00, 0x38, 0xA4, 0xA4, 0xA5, 0x3C,
1590x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1600x7F, 0x7F, 0x7F, 0x7E, 0x7E, 0x7E,
1610x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7F,
1620x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
1630x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7E,
1640x7F, 0x7F, 0x7C, 0x7F, 0x7F, 0x7F,
1650x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1660x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1670x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1680x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1690x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1700x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1710xFE, 0xFE, 0x02, 0x62, 0x62, 0x62,
1720xE2, 0x62, 0x62, 0x62, 0xC2, 0x02,
1730x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
1740x02, 0x82, 0xC2, 0xE2, 0xF2, 0x82,
1750x82, 0x82, 0x82, 0x02, 0x02, 0xFE,
1760x00, 0x00, 0x00, 0x07, 0x7F, 0xDF,
1770x00, 0x05, 0x03, 0x7F, 0x1F, 0x1E,
1780x3C, 0x38, 0x18, 0x1F, 0x0F, 0x0D,
1790x0D, 0x0D, 0x06, 0x00, 0x00, 0x00,
1800x00, 0x00, 0x00, 0x20, 0x20, 0x50,
1810x8C, 0x50, 0x20, 0x20, 0x00, 0x00,
1820x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1830x00, 0x00, 0x00, 0x00, 0x80, 0x80,
1840x40, 0x30, 0x40, 0x80, 0x89, 0x09,
1850x06, 0x09, 0x09, 0x00, 0x00, 0x00,
1860x00, 0x00, 0x1C, 0x12, 0x12, 0x12,
1870x1E, 0x10, 0x10, 0x00, 0x00, 0x00,
1880x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1890x00, 0x00, 0x00, 0xFF, 0x00, 0x73,
1900x84, 0xE7, 0x94, 0x94, 0x94, 0x67,
1910x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1920xFE, 0xFE, 0xFE, 0x9E, 0x9E, 0x9E,
1930x1E, 0x9E, 0x9E, 0x9E, 0x3E, 0xFE,
1940xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
1950xFE, 0x7E, 0x3E, 0x1E, 0x0E, 0x7E,
1960x7E, 0x7E, 0x7E, 0xFE, 0xFE, 0xFE,
1970x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1980x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1990x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2000x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2010x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2020x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2030x3F, 0x7F, 0x40, 0x46, 0x46, 0x46,
2040x47, 0x46, 0x46, 0x46, 0x43, 0x40,
2050x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
2060x40, 0x41, 0x43, 0x47, 0x4F, 0x41,
2070x41, 0x41, 0x41, 0x40, 0x40, 0x3F,
2080x00, 0x00, 0x00, 0x00, 0x00, 0x07,
2090x06, 0x01, 0x00, 0x00, 0x00, 0x00,
2100x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2110x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2120x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2130x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2140x00, 0x00, 0x04, 0x00, 0x00, 0x00,
2150x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2160x01, 0x06, 0x01, 0x00, 0x00, 0x00,
2170x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2180x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2190x00, 0x00, 0x00, 0x00, 0x08, 0x08,
2200x36, 0x08, 0x08, 0x00, 0x00, 0x00,
2210x00, 0x00, 0x00, 0x1F, 0x00, 0x0E,
2220x10, 0x1C, 0x12, 0x12, 0x12, 0x12,
2230x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2240x3F, 0x7F, 0x7F, 0x79, 0x79, 0x79,
2250x78, 0x79, 0x79, 0x79, 0x7C, 0x7F,
2260x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
2270x7F, 0x7E, 0x7C, 0x78, 0x70, 0x7E,
2280x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x3F,
2290x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2300x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2310x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2320x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2330x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2340x00, 0x00, 0x00, 0x00, 0x00, 0x00
235};
diff --git a/keyboards/helix/rev2/keymaps/froggy/keymap.c b/keyboards/helix/rev2/keymaps/froggy/keymap.c
deleted file mode 100644
index 1680147157..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/keymap.c
+++ /dev/null
@@ -1,696 +0,0 @@
1#include QMK_KEYBOARD_H
2#include <string.h>
3
4#define MIN(x, y) (((x) < (y)) ? (x) : (y))
5#define MAX(x, y) (((x) > (y)) ? (x) : (y))
6
7#define LAYOUT_half( \
8 L00, L01, L02, L03, L04, L05, \
9 L10, L11, L12, L13, L14, L15, \
10 L20, L21, L22, L23, L24, L25, \
11 L30, L31, L32, L33, L34, L35, L36, \
12 L40, L41, L42, L43, L44, L45, L46 \
13) { \
14 { L00, L01, L02, L03, L04, L05, KC_NO }, \
15 { L10, L11, L12, L13, L14, L15, KC_NO }, \
16 { L20, L21, L22, L23, L24, L25, KC_NO }, \
17 { L30, L31, L32, L33, L34, L35, L36 }, \
18 { L40, L41, L42, L43, L44, L45, L46 }, \
19 { _______, _______, _______, _______, _______, _______, KC_NO }, \
20 { _______, _______, _______, _______, _______, _______, KC_NO }, \
21 { _______, _______, _______, _______, _______, _______, KC_NO }, \
22 { _______, _______, _______, _______, _______, _______, _______ }, \
23 { _______, _______, _______, _______, _______, _______, _______ } \
24}
25
26#define DELAY_TIME 75
27static uint16_t key_timer;
28static uint16_t tap_timer;
29static uint16_t delay_registered_code;
30static uint8_t delay_mat_row;
31static uint8_t delay_mat_col;
32static bool delay_key_stat;
33static bool delay_key_pressed;
34static bool tapping_key;
35
36// Each layer gets a name for readability, which is then used in the keymap matrix below.
37// The underscores don't mean anything - you can have a layer called STUFF or any other name.
38// Layer names don't all need to be of the same length, obviously, and you can also skip them
39// entirely and just use numbers.
40#define _BASE 0
41#define _OPT 1
42#define _FUNC 2
43#define _SYM 3
44#define _NUM 4
45
46bool RGBAnimation = false; //Flag for LED Layer color Refresh.
47
48enum custom_keycodes {
49 QWERTY = SAFE_RANGE,
50 EISU,
51 KANA,
52 RGBRST,
53 RGBOFF,
54 RGB1,
55 RGB2,
56 RGB3,
57 OPT_TAP_SP,
58 DESKTOP,
59 MAC,
60 WIN,
61};
62
63enum macro_keycodes {
64 KC_SAMPLEMACRO,
65};
66
67//Macros
68#define M_SAMPLE M(KC_SAMPLEMACRO)
69
70const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
71
72 /* Base
73 * ,-----------------------------------------.
74 * | C+z | ; | [ | ( | < | { |
75 * |------+------+------+------+------+------|
76 * | KANA | P | K | R | A | F |
77 * |------+------+------+------+------+------|
78 * | BS | D | T | H | E | O |
79 * |------+------+------+------+------+------+------.
80 * | Shift| Y | S | N | I | U |Space |
81 * |------+------+------+------+------+------+------|
82 * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent |
83 * `------------------------------------------------'
84 */
85 [_BASE] = LAYOUT_half(
86 LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR,
87 KANA, KC_P, KC_K, KC_R, KC_A, KC_F,
88 KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O,
89 OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC,
90 OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), MO(_SYM), MO(_NUM), OPT_TAP_SP, KC_ENT ),
91
92 /* Opt
93 * ,-----------------------------------------.
94 * | Esc | : | ] | ) | > | } |
95 * |------+------+------+------+------+------|
96 * | EISU| J | M | B | ' | Tab |
97 * |------+------+------+------+------+------|
98 * | . | V | C | L | Z | Q |
99 * |------+------+------+------+------+------+------.
100 * | | X | G | W | - | Del | Esc |
101 * |------+------+------+------+------+------+------|
102 * | | | | , | DTOP | | |
103 * `------------------------------------------------'
104 */
105 [_OPT] = LAYOUT_half(
106 KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR,
107 EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB,
108 KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q,
109 _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC,
110 _______, _______,_______, KC_COMM,DESKTOP, _______, _______
111 ),
112
113 /* Func
114 * ,-----------------------------------------.
115 * |RGBRST| Hue | | RST | Mac | Win |
116 * |------+------+------+------+------+------|
117 * | RGB1 | VAL+ | F7 | F8 | F9 | |
118 * |------+------+------+------+------+------|
119 * | RGB2 | VAL- | F4 | F5 | F6 | F12 |
120 * |------+------+------+------+------+------+------.
121 * | RGB3 | F10 | F1 | F2 | F3 | F11 | |
122 * |------+------+------+------+------+------+------|
123 * |RGBOFF| | | | | | |
124 * `------------------------------------------------'
125 */
126 [_FUNC] = LAYOUT_half(
127 RGBRST,RGB_HUI, _______, QK_BOOT, MAC, WIN,
128 RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, _______,
129 RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12,
130 RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______,
131 RGBOFF,_______, _______, _______, _______, _______, _______
132 ),
133
134 /* Sym
135 * ,-----------------------------------------.
136 * | Ins | GRV | | PU | PD | ^ |
137 * |------+------+------+------+------+------|
138 * | | \ | # | = | ? | % |
139 * |------+------+------+------+------+------|
140 * | | $ | upA | @ | ! | | |
141 * |------+------+------+------+------+------+------.
142 * | CL | <- | dwA | -> | _ | & | |
143 * |------+------+------+------+------+------+------|
144 * | | | PS | | ~ | | |
145 * `------------------------------------------------'
146 */
147 [_SYM] = LAYOUT_half(
148 KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC,
149 _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC,
150 _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE,
151 KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______,
152 _______, _______, KC_PSCR, _______, KC_TILD, _______, _______
153 ),
154
155 /* Raise
156 * ,-----------------------------------------.
157 * | | | Func | home | End | |
158 * |------+------+------+------+------+------|
159 * | | * | 7 | 8 | 9 | - |
160 * |------+------+------+------+------+------|
161 * | . | / | 4 | 5 | 6 | + |
162 * |------+------+------+------+------+------+------.
163 * | LN | 0 | 1 | 2 | 3 |C+S+F1| |
164 * |------+------+------+------+------+------+------|
165 * | | | | , | | | |
166 * `------------------------------------------------'
167 */
168 [_NUM] = LAYOUT_half(
169 _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______,
170 _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS,
171 KC_PDOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS,
172 KC_NUM, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______,
173 _______, _______, KC_PDOT, KC_COMM, _______, _______, _______
174 )
175};
176
177#ifdef AUDIO_ENABLE
178
179float tone_qwerty[][2] = SONG(QWERTY_SOUND);
180float tone_dvorak[][2] = SONG(DVORAK_SOUND);
181float tone_colemak[][2] = SONG(COLEMAK_SOUND);
182float tone_plover[][2] = SONG(PLOVER_SOUND);
183float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
184#endif
185
186// define variables for reactive RGB
187//bool TOG_STATUS = false;
188int RGB_current_mode;
189
190void persistent_default_layer_set(uint16_t default_layer) {
191 eeconfig_update_default_layer(default_layer);
192 default_layer_set(default_layer);
193}
194
195bool find_mairix(uint16_t keycode, uint8_t *row, uint8_t *col){
196 for(uint8_t i=0; i<MATRIX_ROWS; i++){
197 for(uint8_t j=0; j<MATRIX_COLS; j++){
198 if( pgm_read_word(&(keymaps[_BASE][i][j]))==keycode){
199 *row = i;
200 *col = j;
201 return true;
202 }
203 }
204 }
205 return false;
206}
207
208void unregister_delay_code(void){
209 if(delay_registered_code){
210 unregister_code(delay_registered_code);
211 if (delay_registered_code & QK_LSFT){
212 unregister_code(KC_LSFT);
213 }
214 if (delay_registered_code & QK_LCTL){
215 unregister_code(KC_LCTL);
216 }
217 if (delay_registered_code & QK_LALT){
218 unregister_code(KC_LALT);
219 }
220 if (delay_registered_code & QK_LGUI){
221 unregister_code(KC_LGUI);
222 }
223 delay_registered_code=0;
224 }
225}
226
227void register_delay_code(uint8_t layer){
228 if(delay_key_stat){
229 unregister_delay_code();
230
231 uint16_t code = pgm_read_word(&(keymaps[layer][delay_mat_row][delay_mat_col]));
232 if (code & QK_LSFT){
233 register_code(KC_LSFT);
234 }
235 if (code & QK_LCTL){
236 register_code(KC_LCTL);
237 }
238 if (code & QK_LALT){
239 register_code(KC_LALT);
240 }
241 if (code & QK_LGUI){
242 register_code(KC_LGUI);
243 }
244 register_code(code);
245 delay_registered_code = code;
246 delay_key_stat = false;
247 tapping_key = true;
248 }
249}
250
251#ifdef RGBLIGHT_ENABLE
252struct keybuf {
253 char col, row;
254 char frame;
255};
256struct keybuf keybufs[256];
257unsigned char keybuf_begin, keybuf_end;
258
259int col, row;
260#endif
261
262bool process_record_user(uint16_t keycode, keyrecord_t *record) {
263
264 #ifdef RGBLIGHT_ENABLE
265 col = record->event.key.col;
266 row = record->event.key.row;
267 if (record->event.pressed && ((row < 5 && is_keyboard_master()) || (row >= 5 && !is_keyboard_master()))) {
268 int end = keybuf_end;
269 keybufs[end].col = col;
270 keybufs[end].row = row % 5;
271 keybufs[end].frame = 0;
272 keybuf_end ++;
273 }
274 #endif
275
276 if(tap_timer&&keycode!=OPT_TAP_SP){
277 tapping_key = true;
278 }
279
280 if(keycode==delay_registered_code){
281 if (!record->event.pressed){
282 unregister_delay_code();
283 }
284 }
285
286 switch (keycode) {
287 case KC_SCLN:
288 case KC_LBRC:
289 case KC_LPRN:
290 case KC_LT:
291 case KC_LCBR:
292 case KC_P:
293 case KC_K:
294 case KC_R:
295 case KC_A:
296 case KC_F:
297 case KC_BSPC:
298 case KC_D:
299 case KC_T:
300 case KC_H:
301 case KC_E:
302 case KC_O:
303 case KC_Y:
304 case KC_S:
305 case KC_N:
306 case KC_I:
307 case KC_U:
308 case LCTL(KC_Z):
309 case KC_SPC:
310 if (record->event.pressed) {
311 register_delay_code(_BASE);
312 if(find_mairix(keycode, &delay_mat_row, &delay_mat_col)){
313 key_timer = timer_read();
314 delay_key_stat = true;
315 delay_key_pressed = true;
316 }
317 }else{
318 delay_key_pressed = false;
319 }
320 return false;
321 break;
322 case OPT_TAP_SP:
323 if (record->event.pressed) {
324 tapping_key = false;
325 register_delay_code(_OPT);
326 layer_on(_OPT);
327 tap_timer = timer_read();
328 }else{
329 layer_off(_OPT);
330 if(tapping_key==false && timer_elapsed(tap_timer) < TAPPING_TERM){
331 SEND_STRING(" ");
332 }
333 tap_timer = 0;
334 }
335 return false;
336 break;
337 case EISU:
338 if (record->event.pressed) {
339 if(keymap_config.swap_lalt_lgui==false){
340 register_code(KC_LNG2);
341 }else{
342 SEND_STRING(SS_LALT("`"));
343 }
344 } else {
345 unregister_code(KC_LNG2);
346 }
347 return false;
348 break;
349 case KANA:
350 if (record->event.pressed) {
351 if(keymap_config.swap_lalt_lgui==false){
352 register_code(KC_LNG1);
353 }else{
354 SEND_STRING(SS_LALT("`"));
355 }
356 } else {
357 unregister_code(KC_LNG1);
358 }
359 return false;
360 break;
361 case DESKTOP:
362 if (record->event.pressed) {
363 if(keymap_config.swap_lalt_lgui==false){
364 register_code(KC_F11);
365 }else{
366 SEND_STRING(SS_LGUI("d"));
367 }
368 } else {
369 unregister_code(KC_F11);
370 }
371 return false;
372 break;
373 case RGBRST:
374 #ifdef RGBLIGHT_ENABLE
375 if (record->event.pressed) {
376 eeconfig_update_rgblight_default();
377 rgblight_enable();
378 RGB_current_mode = rgblight_get_mode();
379 RGBAnimation = false;
380 }
381 #endif
382 break;
383 case RGBOFF:
384 #ifdef RGBLIGHT_ENABLE
385 if (record->event.pressed) {
386 rgblight_disable();
387 }
388 #endif
389 break;
390 case RGB1:
391 #ifdef RGBLIGHT_ENABLE
392 if (record->event.pressed) {
393 RGBAnimation = true;
394 rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD);
395 RGB_current_mode = rgblight_get_mode();
396 }
397 #endif
398 break;
399 case RGB2:
400 #ifdef RGBLIGHT_ENABLE
401 if (record->event.pressed) {
402 RGBAnimation = true;
403 rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 1);
404 RGB_current_mode = rgblight_get_mode();
405 }
406 #endif
407 break;
408 case RGB3:
409 #ifdef RGBLIGHT_ENABLE
410 if (record->event.pressed) {
411 RGBAnimation = true;
412 rgblight_mode(RGBLIGHT_MODE_KNIGHT);
413 RGB_current_mode = rgblight_get_mode();
414 }
415 #endif
416 break;
417 case MAC:
418 if (record->event.pressed) {
419 keymap_config.swap_lalt_lgui = false;
420 keymap_config.swap_ralt_rgui = false;
421 #ifdef AUDIO_ENABLE
422 PLAY_SONG(ag_norm_song);
423 #endif
424 }
425 break;
426 case WIN:
427 if (record->event.pressed) {
428 keymap_config.swap_lalt_lgui = true;
429 keymap_config.swap_ralt_rgui = true;
430 #ifdef AUDIO_ENABLE
431 PLAY_SONG(ag_swap_song);
432 #endif
433 }
434 break;
435 }
436 return true;
437}
438
439
440//keyboard start-up code. Runs once when the firmware starts up.
441void matrix_init_user(void) {
442 #ifdef RGBLIGHT_ENABLE
443 RGB_current_mode = rgblight_get_mode();
444 #endif
445}
446
447
448//assign the right code to your layers for OLED display
449#define L_BASE 0
450#define L_OPT 2
451#define L_FUNC 4
452#define L_SYM 8
453#define L_NUM 16
454#define L_FNLAYER 64
455#define L_NUMLAY 128
456#define L_NLOWER 136
457#define L_NFNLAYER 192
458#define L_MOUSECURSOR 256
459
460// LED Effect
461#ifdef RGBLIGHT_ENABLE
462unsigned char rgb[7][5][3];
463void led_ripple_effect(char r, char g, char b) {
464 static int scan_count = -10;
465 static int keys[] = { 6, 6, 6, 7, 7 };
466 static int keys_sum[] = { 0, 6, 12, 18, 25 };
467
468 if (scan_count == -1) {
469 rgblight_enable_noeeprom();
470 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
471 } else if (scan_count >= 0 && scan_count < 5) {
472 for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
473 int i = c;
474 // FIXME:
475
476 int y = scan_count;
477 int dist_y = abs(y - keybufs[i].row);
478 for (int x=0; x<keys[y]; x++) {
479 int dist = abs(x - keybufs[i].col) + dist_y;
480 if (dist <= keybufs[i].frame) {
481 int elevation = MAX(0, (8 + dist - keybufs[i].frame)) << 2;
482 if (elevation) {
483 if ((rgb[x][y][0] != 255) && r) { rgb[x][y][0] = MIN(255, elevation + rgb[x][y][0]); }
484 if ((rgb[x][y][1] != 255) && g) { rgb[x][y][1] = MIN(255, elevation + rgb[x][y][1]); }
485 if ((rgb[x][y][2] != 255) && b) { rgb[x][y][2] = MIN(255, elevation + rgb[x][y][2]); }
486 }
487 }
488 }
489 }
490 } else if (scan_count == 5) {
491 for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
492 int i = c;
493 if (keybufs[i].frame < 18) {
494 keybufs[i].frame ++;
495 } else {
496 keybuf_begin ++;
497 }
498 }
499 } else if (scan_count >= 6 && scan_count <= 10) {
500 int y = scan_count - 6;
501 for (int x=0; x<keys[y]; x++) {
502 int at = keys_sum[y] + ((y & 1) ? x : (keys[y] - x - 1));
503 led[at].r = rgb[x][y][0];
504 led[at].g = rgb[x][y][1];
505 led[at].b = rgb[x][y][2];
506 }
507 rgblight_set();
508 } else if (scan_count == 11) {
509 memset(rgb, 0, sizeof(rgb));
510 }
511 scan_count++;
512 if (scan_count >= 12) { scan_count = 0; }
513}
514#endif
515
516uint8_t layer_state_old;
517
518//runs every scan cycle (a lot)
519void matrix_scan_user(void) {
520 if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){
521 register_delay_code(_BASE);
522 if(!delay_key_pressed){
523 unregister_delay_code();
524 }
525 }
526
527 if(layer_state_old != layer_state){
528 switch (layer_state) {
529 case L_BASE:
530 break;
531 case L_OPT:
532 register_delay_code(_OPT);
533 break;
534 case L_NUM:
535 register_delay_code(_NUM);
536 break;
537 case L_SYM:
538 register_delay_code(_SYM);
539 break;
540 case L_FUNC:
541 register_delay_code(_FUNC);
542 break;
543 }
544 layer_state_old = layer_state;
545 }
546
547 #ifdef RGBLIGHT_ENABLE
548 if(!RGBAnimation){
549 switch (layer_state) {
550 case L_BASE:
551 #ifdef RGBLED_BACK
552 led_ripple_effect(0,112,127);
553 #else
554 rgblight_setrgb(0,112,127);
555 #endif
556 break;
557 case L_OPT:
558 #ifdef RGBLED_BACK
559 led_ripple_effect(127,0,100);
560 #else
561 rgblight_setrgb(127,0,100);
562 #endif
563 break;
564 case L_NUM:
565 #ifdef RGBLED_BACK
566 led_ripple_effect(127,23,0);
567 #else
568 rgblight_setrgb(127,23,0);
569 #endif
570 break;
571 case L_SYM:
572 #ifdef RGBLED_BACK
573 led_ripple_effect(0,127,0);
574 #else
575 rgblight_setrgb(0,127,0);
576 #endif
577 break;
578 case L_FUNC:
579 #ifdef RGBLED_BACK
580 led_ripple_effect(127,0,61);
581 #else
582 rgblight_setrgb(127,0,61);
583 #endif
584 break;
585 }
586 }
587 #endif
588}
589
590//OLED update loop
591#ifdef OLED_ENABLE
592
593oled_rotation_t oled_init_user(oled_rotation_t rotation) {
594 return OLED_ROTATION_0;
595}
596
597// Render to OLED
598void render_status(void) {
599
600 // froggy logo
601 static char logo[4][1][17]=
602 {
603 {
604 {0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0}
605 },
606 {
607 {0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0}
608 },
609 {
610 {0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0}
611 },
612 {
613 {0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0}
614 }
615 };
616
617 static char indctr[8][2][4]=
618 {
619 // white icon
620 {
621 {0x60,0x61,0x62,0},
622 {0x63,0x64,0}
623 },
624 {
625 {0x80,0x81,0x82,0},
626 {0x83,0x84,0}
627 },
628 {
629 {0xa0,0xa1,0xa2,0},
630 {0xa3,0xa4,0}
631 },
632 {
633 {0xc0,0xc1,0xc2,0},
634 {0xc3,0xc4,0}
635 },
636 // Black icon
637 {
638 {0x75,0x76,0x77,0},
639 {0x78,0x79,0}
640 },
641 {
642 {0x95,0x96,0x97,0},
643 {0x98,0x99,0}
644 },
645 {
646 {0xb5,0xb6,0xb7,0},
647 {0xb8,0xb9,0}
648 },
649 {
650 {0xd5,0xd6,0xd7,0},
651 {0xd8,0xd9,0}
652 },
653 };
654
655 int rown = 0;
656 int rowf = 0;
657 int rowa = 0;
658 int rows = 0;
659
660 //Set Indicator icon
661 led_t led_state = host_keyboard_led_state();
662 if (led_state.num_lock) { rown = 4; } else { rown = 0; }
663 if (led_state.caps_lock) { rowa = 4; } else { rowa = 0; }
664 if (led_state.scroll_lock) { rows = 4; } else { rows = 0; }
665 if (layer_state == L_FUNC) { rowf = 4; }
666
667 oled_write(indctr[rown] [0], false);
668 oled_write(indctr[rowf] [1], false);
669 oled_write(logo [0] [0], false);
670 oled_write(indctr[rown+1][0], false);
671 oled_write(indctr[rowf+1][1], false);
672 oled_write(logo [1] [0], false);
673 oled_write(indctr[rowa+2][0], false);
674 oled_write(indctr[rows+2][1], false);
675 oled_write(logo [2] [0], false);
676 oled_write(indctr[rowa+3][0], false);
677 oled_write(indctr[rows+3][1], false);
678 oled_write(logo [3] [0], false);
679
680}
681
682bool oled_task_user(void) {
683
684#if DEBUG_TO_SCREEN
685 if (debug_enable) {
686 return;
687 }
688#endif
689
690 if (is_keyboard_master()) {
691 render_status();
692 }
693 return false;
694}
695
696#endif // end of OLED_ENABLE
diff --git a/keyboards/helix/rev2/keymaps/froggy/readme.md b/keyboards/helix/rev2/keymaps/froggy/readme.md
deleted file mode 100644
index 624e738a6c..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/readme.md
+++ /dev/null
@@ -1,83 +0,0 @@
1Froggy -one hand Helix-
2======
3
4![Imgur](https://i.imgur.com/S1Dw3XW.jpg)
5
6## Features
7It is a one-handed keyboard with reference to Frogpad. Layout Designed by タクマ ([@humid](https://twitter.com/humid)).
8
9## Layout
10### Base
11```
12,-----------------------------------------.
13| C+z | ; | [ | ( | < | { |
14|------+------+------+------+------+------|
15| KANA | P | K | R | A | F |
16|------+------+------+------+------+------|
17| BS | D | T | H | E | O |
18|------+------+------+------+------+------+------.
19| Shift| Y | S | N | I | U | Space|
20|------+------+------+------+------+------+------|
21| Ctrl | Alt | win | Sym | Num | OPT | Ent |
22`------------------------------------------------'
23```
24
25### Opt
26```
27,-----------------------------------------.
28| Esc | : | ] | ) | > | } |
29|------+------+------+------+------+------|
30| EISU | J | M | B | ' | Tab |
31|------+------+------+------+------+------|
32| . | V | C | L | Z | Q |
33|------+------+------+------+------+------+------.
34| | X | G | W | - | Del | Esc |
35|------+------+------+------+------+------+------|
36| | | | , | DTOP | | |
37`------------------------------------------------'
38```
39
40### Num
41```
42,-----------------------------------------.
43| | | Func | home | End | |
44|------+------+------+------+------+------|
45| | * | 7 | 8 | 9 | - |
46|------+------+------+------+------+------|
47| . | / | 4 | 5 | 6 | + |
48|------+------+------+------+------+------+------.
49| LN | 0 | 1 | 2 | 3 |C+S+F1| |
50|------+------+------+------+------+------+------|
51| | | | , | | | |
52`------------------------------------------------'
53```
54
55### Sym
56```
57,-----------------------------------------.
58| Ins | GRV | | PU | PD | ^ |
59|------+------+------+------+------+------|
60| | \ | # | = | ? | % |
61|------+------+------+------+------+------|
62| | $ | upA | @ | ! | | |
63|------+------+------+------+------+------+------.
64| CL | <- | dwA | -> | _ | & | |
65|------+------+------+------+------+------+------|
66| | | PS | | ~ | | |
67 `-----------------------------------------------'
68```
69
70### Func
71```
72,-----------------------------------------.
73|RGBRST| Hue | | RST | Mac | Win |
74|------+------+------+------+------+------|
75| RGB1 | VAL+ | F7 | F8 | F9 | |
76|------+------+------+------+------+------|
77| RGB2 | VAL- | F4 | F5 | F6 | F12 |
78|------+------+------+------+------+------+------.
79| RGB3 | F10 | F1 | F2 | F3 | F11 | |
80|------+------+------+------+------+------+------|
81|RGBOFF| | | | | | |
82`------------------------------------------------'
83```
diff --git a/keyboards/helix/rev2/keymaps/froggy/rules.mk b/keyboards/helix/rev2/keymaps/froggy/rules.mk
deleted file mode 100644
index 048ecefff3..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy/rules.mk
+++ /dev/null
@@ -1,27 +0,0 @@
1# QMK Standard Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
6# See TOP/docs/config_options.md for more information.
7#
8LTO_ENABLE = no # if firmware size over limit, try this option
9SPLIT_KEYBOARD = yes
10
11# Helix Spacific Build Options
12# you can uncomment and edit follows 7 Variables
13# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
14OLED_ENABLE = yes # OLED_ENABLE
15LOCAL_GLCDFONT = yes # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
16LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.)
17LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
18LED_ANIMATIONS = yes # LED animations
19# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
20
21# OLED_ENABLE が yes のとき
22# OLED_SELECT が core ならば QMK 標準の oled_dirver.c を使用します。
23# OLED_SELECT が core 以外ならば従来どおり helix/local_drivers/ssd1306.c を使用します。
24# If OLED_ENABLE is 'yes'
25# If OLED_SELECT is 'core', use QMK standard oled_dirver.c.
26# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c.
27OLED_SELECT = core
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/config.h b/keyboards/helix/rev2/keymaps/froggy_106/config.h
deleted file mode 100644
index 9affa1d296..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/config.h
+++ /dev/null
@@ -1,47 +0,0 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23#undef TAPPING_TERM
24#define TAPPING_TERM 200
25#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */
26#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
27
28// the froggy keymap does not use the right hand side, so sync_timer is not needed
29#define DISABLE_SYNC_TIMER
30// For the same reason, the following are also not needed
31#undef SPLIT_LAYER_STATE_ENABLE
32#undef SPLIT_LED_STATE_ENABLE
33
34// If you need more program area, try select and reduce rgblight modes to use.
35
36// Selection of RGBLIGHT MODE to use.
37#if defined(LED_ANIMATIONS)
38 #define RGBLIGHT_EFFECT_BREATHING
39 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
40 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
41 #define RGBLIGHT_EFFECT_SNAKE
42 #define RGBLIGHT_EFFECT_KNIGHT
43 #define RGBLIGHT_EFFECT_CHRISTMAS
44 #define RGBLIGHT_EFFECT_STATIC_GRADIENT
45 //#define RGBLIGHT_EFFECT_RGB_TEST
46 //#define RGBLIGHT_EFFECT_ALTERNATING
47#endif
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/helixfont.h b/keyboards/helix/rev2/keymaps/froggy_106/helixfont.h
deleted file mode 100644
index 3a79a1937b..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/helixfont.h
+++ /dev/null
@@ -1,235 +0,0 @@
1// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
2// See gfxfont.h for newer custom bitmap font info.
3
4#pragma once
5
6#include "progmem.h"
7
8// Standard ASCII 5x7 font
9
10static const unsigned char font[] PROGMEM = {
110x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
130x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
140x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
150x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
160x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
170x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
180x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
190xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
200x00, 0x18, 0x24, 0x18, 0x00, 0x00,
210xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
220x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
230x26, 0x29, 0x79, 0x29, 0x26, 0x00,
240x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
250x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
260x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
270x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
280x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
290x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
300x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
310x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
320x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
330x60, 0x60, 0x60, 0x60, 0x60, 0x00,
340x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
350x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
360x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
370x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
380x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
390x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
400x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
410x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
420x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
430x00, 0x00, 0x00, 0x00, 0x00, 0x00,
440x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
450x00, 0x07, 0x00, 0x07, 0x00, 0x00,
460x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
470x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
480x23, 0x13, 0x08, 0x64, 0x62, 0x00,
490x36, 0x49, 0x56, 0x20, 0x50, 0x00,
500x00, 0x08, 0x07, 0x03, 0x00, 0x00,
510x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
520x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
530x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
540x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
550x00, 0x80, 0x70, 0x30, 0x00, 0x00,
560x08, 0x08, 0x08, 0x08, 0x08, 0x00,
570x00, 0x00, 0x60, 0x60, 0x00, 0x00,
580x20, 0x10, 0x08, 0x04, 0x02, 0x00,
590x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
600x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
610x72, 0x49, 0x49, 0x49, 0x46, 0x00,
620x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
630x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
640x27, 0x45, 0x45, 0x45, 0x39, 0x00,
650x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
660x41, 0x21, 0x11, 0x09, 0x07, 0x00,
670x36, 0x49, 0x49, 0x49, 0x36, 0x00,
680x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
690x00, 0x00, 0x14, 0x00, 0x00, 0x00,
700x00, 0x40, 0x34, 0x00, 0x00, 0x00,
710x00, 0x08, 0x14, 0x22, 0x41, 0x00,
720x14, 0x14, 0x14, 0x14, 0x14, 0x00,
730x00, 0x41, 0x22, 0x14, 0x08, 0x00,
740x02, 0x01, 0x59, 0x09, 0x06, 0x00,
750x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
760x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
770x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
780x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
790x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
800x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
810x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
820x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
830x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
840x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
850x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
860x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
870x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
880x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
890x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
900x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
910x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
920x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
930x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
940x26, 0x49, 0x49, 0x49, 0x32, 0x00,
950x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
960x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
970x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
980x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
990x63, 0x14, 0x08, 0x14, 0x63, 0x00,
1000x03, 0x04, 0x78, 0x04, 0x03, 0x00,
1010x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
1020x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
1030x02, 0x04, 0x08, 0x10, 0x20, 0x00,
1040x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
1050x04, 0x02, 0x01, 0x02, 0x04, 0x00,
1060x40, 0x40, 0x40, 0x40, 0x40, 0x00,
1070xFC, 0xFE, 0x02, 0x82, 0x82, 0x82,
1080x82, 0x82, 0x82, 0xC2, 0x82, 0x02,
1090x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
1100x02, 0x62, 0x62, 0x62, 0x62, 0xE2,
1110x62, 0x62, 0xE2, 0x02, 0x02, 0xFC,
1120x00, 0x00, 0x00, 0xF0, 0xFC, 0xFC,
1130xFC, 0x00, 0xFC, 0xFC, 0xF0, 0x80,
1140x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
1150x30, 0x40, 0x00, 0x00, 0x00, 0x00,
1160x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1170x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1180x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1190x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1200x00, 0x20, 0x00, 0x00, 0x24, 0xA4,
1210xA4, 0xBC, 0xA4, 0x24, 0x24, 0x00,
1220x00, 0x00, 0x24, 0xA4, 0x24, 0x24,
1230x3C, 0x04, 0x04, 0x00, 0x00, 0x00,
1240xB8, 0xA4, 0xA4, 0xA4, 0xBC, 0x00,
1250x00, 0x00, 0x00, 0xFC, 0x00, 0xFC,
1260x00, 0x44, 0x44, 0x44, 0xDC, 0x44,
1270x04, 0x3C, 0x00, 0x00, 0x00, 0x00,
1280xFC, 0xFE, 0xFE, 0x7E, 0x7E, 0x7E,
1290x7E, 0x7E, 0x7E, 0x3E, 0x7E, 0xFE,
1300xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
1310xFE, 0x9E, 0x9E, 0x9E, 0x9E, 0x1E,
1320x9E, 0x9E, 0x1E, 0xFE, 0xFE, 0xFC,
1330x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1340x00, 0x08, 0x36, 0x41, 0x00, 0x00,
1350x00, 0x00, 0x77, 0x00, 0x00, 0x00,
1360x00, 0x41, 0x36, 0x08, 0x00, 0x00,
1370x02, 0x01, 0x02, 0x04, 0x02, 0x00,
1380x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
1390x7F, 0x7F, 0x40, 0x41, 0x41, 0x41,
1400x41, 0x41, 0x41, 0x41, 0x41, 0x40,
1410x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
1420x40, 0x40, 0x40, 0x40, 0x40, 0x41,
1430x40, 0x40, 0x43, 0x40, 0x40, 0x7F,
1440x00, 0x20, 0x3C, 0x3E, 0x3E, 0x3E,
1450x3E, 0x00, 0x3E, 0x3E, 0x3E, 0x3E,
1460x38, 0x00, 0x00, 0xF0, 0xFB, 0xFB,
1470x00, 0x50, 0x60, 0xFF, 0xFC, 0x3C,
1480x1E, 0x0E, 0x0C, 0xFC, 0xF8, 0xE8,
1490xE8, 0xE8, 0x30, 0x00, 0x00, 0x00,
1500x00, 0x00, 0x02, 0x00, 0x00, 0x00,
1510x00, 0x04, 0x04, 0x1B, 0x04, 0x04,
1520x00, 0x00, 0x00, 0x00, 0x57, 0x50,
1530x57, 0x54, 0x57, 0x10, 0x50, 0x00,
1540x00, 0x00, 0x97, 0x94, 0x97, 0x94,
1550xF7, 0x00, 0x00, 0x00, 0x00, 0x00,
1560xE4, 0x14, 0xF4, 0x94, 0xF7, 0x00,
1570x00, 0x00, 0x00, 0xFF, 0x00, 0xFF,
1580x00, 0x38, 0xA4, 0xA4, 0xA5, 0x3C,
1590x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1600x7F, 0x7F, 0x7F, 0x7E, 0x7E, 0x7E,
1610x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7F,
1620x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
1630x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7E,
1640x7F, 0x7F, 0x7C, 0x7F, 0x7F, 0x7F,
1650x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1660x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1670x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1680x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1690x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1700x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1710xFE, 0xFE, 0x02, 0x62, 0x62, 0x62,
1720xE2, 0x62, 0x62, 0x62, 0xC2, 0x02,
1730x02, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
1740x02, 0x82, 0xC2, 0xE2, 0xF2, 0x82,
1750x82, 0x82, 0x82, 0x02, 0x02, 0xFE,
1760x00, 0x00, 0x00, 0x3C, 0x66, 0x66,
1770x66, 0x66, 0x66, 0x66, 0x66, 0x66,
1780x00, 0x00, 0x00, 0x07, 0x7F, 0xDF,
1790x00, 0x05, 0x03, 0x7F, 0x1F, 0x1E,
1800x3C, 0x38, 0x18, 0x1F, 0x0F, 0x0D,
1810x0D, 0x0D, 0x06, 0x00, 0x00, 0x00,
1820x00, 0x00, 0x00, 0x20, 0x20, 0x50,
1830x8C, 0x50, 0x20, 0x20, 0x00, 0x00,
1840x00, 0x00, 0x00, 0x00, 0x09, 0x09,
1850x06, 0x09, 0x09, 0x00, 0x00, 0x00,
1860x00, 0x00, 0x1C, 0x12, 0x12, 0x12,
1870x1E, 0x10, 0x10, 0x00, 0x00, 0x00,
1880x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1890x00, 0x00, 0x00, 0xFF, 0x00, 0x73,
1900x84, 0xE7, 0x94, 0x94, 0x94, 0x67,
1910x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1920xFE, 0xFE, 0xFE, 0x9E, 0x9E, 0x9E,
1930x1E, 0x9E, 0x9E, 0x9E, 0x3E, 0xFE,
1940xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE,
1950xFE, 0x7E, 0x3E, 0x1E, 0x0E, 0x7E,
1960x7E, 0x7E, 0x7E, 0xFE, 0xFE, 0xFE,
1970x00, 0x00, 0x00, 0x3C, 0x66, 0x66,
1980x60, 0x60, 0x60, 0x60, 0x60, 0x60,
1990x00, 0x00, 0x00, 0x07, 0x7F, 0xDF,
2000x00, 0x00, 0xE0, 0xF8, 0xFC, 0xFC,
2010xFC, 0xFC, 0xFC, 0xFC, 0xF0, 0x80,
2020x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
2030x3F, 0x7F, 0x40, 0x46, 0x46, 0x46,
2040x47, 0x46, 0x46, 0x46, 0x43, 0x40,
2050x40, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
2060x40, 0x41, 0x43, 0x47, 0x4F, 0x41,
2070x41, 0x41, 0x41, 0x40, 0x40, 0x3F,
2080x00, 0x00, 0x00, 0x3E, 0x73, 0x60,
2090x70, 0x3E, 0x07, 0x03, 0x67, 0x3E,
2100x00, 0x00, 0x00, 0x00, 0x00, 0x07,
2110x06, 0x01, 0x00, 0x00, 0x00, 0x00,
2120x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2130x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2140x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2150x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2160x00, 0x00, 0x04, 0x00, 0x00, 0x00,
2170x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2180x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2190x00, 0x00, 0x00, 0x00, 0x08, 0x08,
2200x36, 0x08, 0x08, 0x00, 0x00, 0x00,
2210x00, 0x00, 0x00, 0x1F, 0x00, 0x0E,
2220x10, 0x1C, 0x12, 0x12, 0x12, 0x12,
2230x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2240x3F, 0x7F, 0x7F, 0x79, 0x79, 0x79,
2250x78, 0x79, 0x79, 0x79, 0x7C, 0x7F,
2260x7F, 0x7F, 0x00, 0x00, 0x7F, 0x7F,
2270x7F, 0x7E, 0x7C, 0x78, 0x70, 0x7E,
2280x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x3F,
2290x00, 0x00, 0x00, 0x03, 0x03, 0x03,
2300x03, 0x3F, 0x63, 0x63, 0x63, 0x3F,
2310x00, 0x00, 0x00, 0x00, 0x00, 0x07,
2320x00, 0x00, 0x07, 0x1F, 0x3F, 0x0F,
2330x07, 0x0F, 0x3F, 0x3F, 0x0F, 0x00,
2340x03, 0x06, 0x00, 0xF0, 0xFB, 0xFB,
235};
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
deleted file mode 100644
index d0a17cb4ae..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
+++ /dev/null
@@ -1,810 +0,0 @@
1#include QMK_KEYBOARD_H
2#include "keymap_japanese.h"
3#include <string.h>
4
5#define LAYOUT_half( \
6 L00, L01, L02, L03, L04, L05, \
7 L10, L11, L12, L13, L14, L15, \
8 L20, L21, L22, L23, L24, L25, \
9 L30, L31, L32, L33, L34, L35, L36, \
10 L40, L41, L42, L43, L44, L45, L46 \
11) { \
12 { L00, L01, L02, L03, L04, L05, KC_NO }, \
13 { L10, L11, L12, L13, L14, L15, KC_NO }, \
14 { L20, L21, L22, L23, L24, L25, KC_NO }, \
15 { L30, L31, L32, L33, L34, L35, L36 }, \
16 { L40, L41, L42, L43, L44, L45, L46 }, \
17 { _______, _______, _______, _______, _______, _______, KC_NO }, \
18 { _______, _______, _______, _______, _______, _______, KC_NO }, \
19 { _______, _______, _______, _______, _______, _______, KC_NO }, \
20 { _______, _______, _______, _______, _______, _______, _______ }, \
21 { _______, _______, _______, _______, _______, _______, _______ } \
22}
23
24#define DELAY_TIME 75
25static uint16_t key_timer;
26static uint16_t tap_timer;
27static uint16_t delay_registered_code;
28static uint8_t delay_registered_layer;
29static uint8_t delay_mat_row;
30static uint8_t delay_mat_col;
31static bool delay_key_stat;
32static bool delay_key_pressed;
33static bool tapping_key;
34
35// Each layer gets a name for readability, which is then used in the keymap matrix below.
36// The underscores don't mean anything - you can have a layer called STUFF or any other name.
37// Layer names don't all need to be of the same length, obviously, and you can also skip them
38// entirely and just use numbers.
39enum layer_number {
40 _BASE = 0,
41 _BASE_106,
42 _OPT,
43 _OPT_106,
44 _SYM,
45 _SYM_106,
46 _NUM,
47 _NUM_106,
48 _FUNC,
49 _LAYER_NUM,
50};
51bool RGBAnimation = false; //Flag for LED Layer color Refresh.
52
53typedef union {
54 uint32_t raw;
55 struct {
56 bool mac_mode:1;
57 };
58} user_config_t;
59user_config_t user_config;
60
61#define IS_MODE_106() ((default_layer_state & (1UL << _BASE_106)) != 0)
62#define IS_MODE_MAC() (user_config.mac_mode)
63#ifndef MAX
64#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
65#endif
66#ifndef MIN
67#define MIN(X, Y) ((X) < (Y) ? (X) : (Y))
68#endif
69
70enum custom_keycodes {
71 QWERTY = SAFE_RANGE,
72 EISU,
73 KANA,
74 RGBRST,
75 RGBOFF,
76 RGB1,
77 RGB2,
78 RGB3,
79 OPT_TAP_SP,
80 DESKTOP,
81 MAC,
82 WIN,
83 L_SYM,
84 L_NUM,
85 TO_106,
86 TO_101,
87};
88
89enum macro_keycodes {
90 KC_SAMPLEMACRO,
91};
92
93//Macros
94#define M_SAMPLE M(KC_SAMPLEMACRO)
95
96const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
97
98 /* Base
99 * ,-----------------------------------------.
100 * | C+z | ; | [ | ( | < | { |
101 * |------+------+------+------+------+------|
102 * | KANA | P | K | R | A | F |
103 * |------+------+------+------+------+------|
104 * | BS | D | T | H | E | O |
105 * |------+------+------+------+------+------+------.
106 * | Shift| Y | S | N | I | U |Space |
107 * |------+------+------+------+------+------+------|
108 * | Ctrl | Alt | Gui | Sym | Num | OPT | Ent |
109 * `------------------------------------------------'
110 */
111 [_BASE] = LAYOUT_half(
112 LCTL(KC_Z), KC_SCLN, KC_LBRC, KC_LPRN, KC_LT, KC_LCBR,
113 KANA, KC_P, KC_K, KC_R, KC_A, KC_F,
114 KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O,
115 OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC,
116 OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT
117 ),
118 [_BASE_106] = LAYOUT_half(
119 LCTL(KC_Z), JP_SCLN, JP_LBRC, JP_LPRN, JP_LABK, JP_LCBR,
120 KANA, KC_P, KC_K, KC_R, KC_A, KC_F,
121 KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O,
122 OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC,
123 OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT
124 ),
125
126 /* Opt
127 * ,-----------------------------------------.
128 * | Esc | : | ] | ) | > | } |
129 * |------+------+------+------+------+------|
130 * | EISU| J | M | B | ' | Tab |
131 * |------+------+------+------+------+------|
132 * | . | V | C | L | Z | Q |
133 * |------+------+------+------+------+------+------.
134 * | | X | G | W | - | Del | Esc |
135 * |------+------+------+------+------+------+------|
136 * | | | | , | DTOP | | |
137 * `------------------------------------------------'
138 */
139 [_OPT] = LAYOUT_half(
140 KC_ESC, KC_COLN,KC_RBRC, KC_RPRN,KC_GT, KC_RCBR,
141 EISU, KC_J, KC_M, KC_B, KC_QUOT, KC_TAB,
142 KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q,
143 _______, KC_X, KC_G, KC_W, KC_MINUS, KC_DEL, KC_ESC,
144 _______, _______,_______, KC_COMM,DESKTOP, _______, _______
145 ),
146 [_OPT_106] = LAYOUT_half(
147 KC_ESC, JP_COLN,JP_RBRC, JP_RPRN,JP_RABK, JP_RCBR,
148 EISU, KC_J, KC_M, KC_B, JP_QUOT, KC_TAB,
149 KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q,
150 _______, KC_X, KC_G, KC_W, JP_MINS, KC_DEL, KC_ESC,
151 _______, _______,_______, KC_COMM,DESKTOP, _______, _______
152 ),
153
154 /* Sym
155 * ,-----------------------------------------.
156 * | Ins | GRV | | PU | PD | ^ |
157 * |------+------+------+------+------+------|
158 * | | \ | # | = | ? | % |
159 * |------+------+------+------+------+------|
160 * | | $ | upA | @ | ! | | |
161 * |------+------+------+------+------+------+------.
162 * | CL | <- | dwA | -> | _ | & | |
163 * |------+------+------+------+------+------+------+
164 * | | | PS | | ~ | | |
165 * `------------------------------------------------'
166 */
167 [_SYM] = LAYOUT_half(
168 KC_INS, KC_GRV, _______, KC_PGUP, KC_PGDN, KC_CIRC,
169 _______, KC_BSLS, KC_HASH, KC_EQL, KC_QUES, KC_PERC,
170 _______, KC_DLR, KC_UP, KC_AT, KC_EXLM, KC_PIPE,
171 KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_UNDS, KC_AMPR, _______,
172 _______, _______, KC_PSCR, _______, KC_TILD, _______, _______
173 ),
174 [_SYM_106] = LAYOUT_half(
175 KC_INS, JP_GRV, _______, KC_PGUP, KC_PGDN, JP_CIRC,
176 _______, JP_BSLS, JP_HASH, JP_EQL, JP_QUES, JP_PERC,
177 _______, JP_DLR, KC_UP, JP_AT, JP_EXLM, JP_PIPE,
178 KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT,JP_UNDS, JP_AMPR, _______,
179 _______, _______, KC_PSCR, _______, JP_TILD, _______, _______
180 ),
181
182 /* Raise
183 * ,-----------------------------------------.
184 * | | | Func | home | End | |
185 * |------+------+------+------+------+------|
186 * | | * | 7 | 8 | 9 | - |
187 * |------+------+------+------+------+------|
188 * | . | / | 4 | 5 | 6 | + |
189 * |------+------+------+------+------+------+------.
190 * | LN | 0 | 1 | 2 | 3 |C+S+F1| |
191 * |------+------+------+------+------+------+------|
192 * | | | . | , | | | |
193 * `------------------------------------------------'
194 */
195 [_NUM] = LAYOUT_half(
196 _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______,
197 _______, KC_ASTR, KC_P7, KC_P8, KC_P9, KC_MINS,
198 KC_DOT, KC_SLSH, KC_P4, KC_P5, KC_P6, KC_PLUS,
199 KC_NUM, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______,
200 _______, _______, KC_PDOT, KC_COMM, _______, _______, _______
201 ),
202 [_NUM_106] = LAYOUT_half(
203 _______, _______, OSL(_FUNC), KC_HOME, KC_END, _______,
204 _______, JP_ASTR, KC_P7, KC_P8, KC_P9, JP_MINS,
205 KC_DOT, JP_SLSH, KC_P4, KC_P5, KC_P6, JP_PLUS,
206 KC_NUM, KC_P0, KC_P1, KC_P2, KC_P3, LCTL(S(KC_F1)), _______,
207 _______, _______, KC_PDOT, JP_COMM, _______, _______, _______
208 ),
209
210 /* Func
211 * ,-----------------------------------------.
212 * |RGBRST| Hue |To101 | RST | Mac | Win |
213 * |------+------+------+------+------+------|
214 * | RGB1 | VAL+ | F7 | F8 | F9 |To106 |
215 * |------+------+------+------+------+------|
216 * | RGB2 | VAL- | F4 | F5 | F6 | F12 |
217 * |------+------+------+------+------+------+------.
218 * | RGB3 | F10 | F1 | F2 | F3 | F11 | |
219 * |------+------+------+------+------+------+------|
220 * |RGBOFF| | | | | | |
221 * `------------------------------------------------'
222 */
223 [_FUNC] = LAYOUT_half(
224 RGBRST,RGB_HUI, TO_101, QK_BOOT, MAC, WIN,
225 RGB1, RGB_VAI, KC_F7, KC_F8, KC_F9, TO_106,
226 RGB2, RGB_VAD, KC_F4, KC_F5, KC_F6, KC_F12,
227 RGB3, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11, _______,
228 RGBOFF,_______, _______, _______, _______, _______, _______
229 )
230};
231
232void set_mac_mode(bool enable) {
233 if(enable){
234 user_config.mac_mode = true;
235 keymap_config.swap_lalt_lgui = false;
236 keymap_config.swap_ralt_rgui = false;
237 }else{
238 user_config.mac_mode = false;
239 keymap_config.swap_lalt_lgui = true;
240 keymap_config.swap_ralt_rgui = true;
241 }
242 eeconfig_update_user(user_config.raw);
243}
244
245void eeconfig_init_user(void) {
246 user_config.raw = 0;
247 eeconfig_update_user(user_config.raw);
248}
249
250void keyboard_post_init_user(void) {
251 user_config.raw = eeconfig_read_user();
252 set_mac_mode(user_config.mac_mode);
253}
254
255bool find_mairix(uint16_t keycode, uint8_t *row, uint8_t *col){
256 int base_keymap = IS_MODE_106() ? _BASE_106 : _BASE;
257 for(uint8_t i=0; i<MATRIX_ROWS; i++){
258 for(uint8_t j=0; j<MATRIX_COLS; j++){
259 if( pgm_read_word(&(keymaps[base_keymap][i][j]))==keycode){
260 *row = i;
261 *col = j;
262 return true;
263 }
264 }
265 }
266 return false;
267}
268
269void unregister_delay_code(void){
270 if(delay_registered_code){
271 unregister_code(delay_registered_code);
272 if (delay_registered_code & QK_LSFT){
273 unregister_code(KC_LSFT);
274 }
275 if (delay_registered_code & QK_LCTL){
276 unregister_code(KC_LCTL);
277 }
278 if (delay_registered_code & QK_LALT){
279 unregister_code(KC_LALT);
280 }
281 if (delay_registered_code & QK_LGUI){
282 unregister_code(KC_LGUI);
283 }
284 delay_registered_code=0;
285 delay_registered_layer=0;
286 }
287}
288
289void register_delay_code(uint8_t layer){
290 if(delay_key_stat){
291 unregister_delay_code();
292
293 uint16_t code = pgm_read_word(&(keymaps[layer][delay_mat_row][delay_mat_col]));
294 if (code & QK_LSFT){
295 register_code(KC_LSFT);
296 }
297 if (code & QK_LCTL){
298 register_code(KC_LCTL);
299 }
300 if (code & QK_LALT){
301 register_code(KC_LALT);
302 }
303 if (code & QK_LGUI){
304 register_code(KC_LGUI);
305 }
306 register_code(code);
307 delay_registered_code = code;
308 delay_registered_layer = layer;
309 delay_key_stat = false;
310 tapping_key = true;
311 }
312}
313
314#ifdef RGBLIGHT_ENABLE
315struct keybuf {
316 char col, row;
317 char frame;
318};
319struct keybuf keybufs[256];
320unsigned char keybuf_begin, keybuf_end;
321
322int col, row;
323#endif
324
325bool process_record_user(uint16_t keycode, keyrecord_t *record) {
326
327 #ifdef RGBLIGHT_ENABLE
328 col = record->event.key.col;
329 row = record->event.key.row;
330 if (record->event.pressed && ((row < 5 && is_keyboard_master()) || (row >= 5 && !is_keyboard_master()))) {
331 int end = keybuf_end;
332 keybufs[end].col = col;
333 keybufs[end].row = row % 5;
334 keybufs[end].frame = 0;
335 keybuf_end ++;
336 }
337 #endif
338
339 if(tap_timer&&keycode!=OPT_TAP_SP){
340 tapping_key = true;
341 }
342
343 if(keycode==delay_registered_code){
344 if (!record->event.pressed){
345 unregister_delay_code();
346 }
347 }
348
349 switch (keycode) {
350 case KC_SCLN:
351 case KC_LBRC:
352 case KC_LPRN:
353 case KC_LT:
354 case KC_LCBR:
355 case KC_P:
356 case KC_K:
357 case KC_R:
358 case KC_A:
359 case KC_F:
360 case KC_BSPC:
361 case KC_D:
362 case KC_T:
363 case KC_H:
364 case KC_E:
365 case KC_O:
366 case KC_Y:
367 case KC_S:
368 case KC_N:
369 case KC_I:
370 case KC_U:
371 case LCTL(KC_Z):
372 case KC_SPC:
373 //case JP_SCLN: // == KC_SCLN
374 case JP_LBRC:
375 case JP_LPRN:
376 //case JP_LABK: // == KC_LT
377 case JP_LCBR:
378 if (IS_MODE_106()) {
379 if (keycode == KC_LBRC || keycode == KC_LPRN || keycode == KC_LCBR)
380 break;
381 }else{
382 if (keycode == JP_LBRC || keycode == JP_LPRN || keycode == JP_LCBR)
383 break;
384 }
385 if (record->event.pressed) {
386 if (IS_MODE_106())
387 register_delay_code(_BASE_106);
388 else
389 register_delay_code(_BASE);
390 if(find_mairix(keycode, &delay_mat_row, &delay_mat_col)){
391 key_timer = timer_read();
392 delay_key_stat = true;
393 delay_key_pressed = true;
394 }
395 }else{
396 delay_key_pressed = false;
397 }
398 return false;
399 break;
400 case L_SYM:
401 if (record->event.pressed) {
402 if (IS_MODE_106()) {
403 register_delay_code(_SYM_106);
404 layer_on(_SYM_106);
405 }else{
406 register_delay_code(_SYM);
407 layer_on(_SYM);
408 }
409 }else{
410 layer_off(_SYM);
411 layer_off(_SYM_106);
412 if(delay_registered_layer == _SYM || delay_registered_layer == _SYM_106) {
413 unregister_delay_code();
414 }
415 }
416 return false;
417 break;
418 case L_NUM:
419 if (record->event.pressed) {
420 if (IS_MODE_106()) {
421 register_delay_code(_NUM_106);
422 layer_on(_NUM_106);
423 }else{
424 register_delay_code(_NUM);
425 layer_on(_NUM);
426 }
427 }else{
428 layer_off(_NUM);
429 layer_off(_NUM_106);
430 if(delay_registered_layer == _NUM || delay_registered_layer == _NUM_106) {
431 unregister_delay_code();
432 }
433 }
434 return false;
435 break;
436 case OPT_TAP_SP:
437 if (record->event.pressed) {
438 tapping_key = false;
439 if (IS_MODE_106()) {
440 register_delay_code(_OPT_106);
441 layer_on(_OPT_106);
442 }else{
443 register_delay_code(_OPT);
444 layer_on(_OPT);
445 }
446 tap_timer = timer_read();
447 }else{
448 layer_off(_OPT);
449 layer_off(_OPT_106);
450 if(tapping_key==false && timer_elapsed(tap_timer) < TAPPING_TERM){
451 SEND_STRING(" ");
452 }else if(delay_registered_layer == _OPT || delay_registered_layer == _OPT_106) {
453 unregister_delay_code();
454 }
455 tap_timer = 0;
456 }
457 return false;
458 break;
459 case EISU:
460 if (record->event.pressed) {
461 if(IS_MODE_MAC()){
462 register_code(KC_LNG2);
463 }else{
464 SEND_STRING(SS_LALT("`"));
465 }
466 } else {
467 unregister_code(KC_LNG2);
468 }
469 return false;
470 break;
471 case KANA:
472 if (record->event.pressed) {
473 if(IS_MODE_MAC()){
474 register_code(KC_LNG1);
475 }else{
476 SEND_STRING(SS_LALT("`"));
477 }
478 } else {
479 unregister_code(KC_LNG1);
480 }
481 return false;
482 break;
483 case DESKTOP:
484 if (record->event.pressed) {
485 if(IS_MODE_MAC()){
486 register_code(KC_F11);
487 }else{
488 SEND_STRING(SS_LGUI("d"));
489 }
490 } else {
491 unregister_code(KC_F11);
492 }
493 return false;
494 break;
495 case RGBRST:
496 #ifdef RGBLIGHT_ENABLE
497 if (record->event.pressed) {
498 eeconfig_update_rgblight_default();
499 rgblight_enable();
500 RGBAnimation = false;
501 }
502 #endif
503 break;
504 case RGBOFF:
505 #ifdef RGBLIGHT_ENABLE
506 if (record->event.pressed) {
507 rgblight_disable();
508 }
509 #endif
510 break;
511 case RGB1:
512 #ifdef RGBLIGHT_ENABLE
513 if (record->event.pressed) {
514 RGBAnimation = true;
515 rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD);
516 }
517 #endif
518 break;
519 case RGB2:
520 #ifdef RGBLIGHT_ENABLE
521 if (record->event.pressed) {
522 RGBAnimation = true;
523 rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 1);
524 }
525 #endif
526 break;
527 case RGB3:
528 #ifdef RGBLIGHT_ENABLE
529 if (record->event.pressed) {
530 RGBAnimation = true;
531 rgblight_mode(RGBLIGHT_MODE_KNIGHT);
532 }
533 #endif
534 break;
535 case MAC:
536 if (record->event.pressed) {
537 set_mac_mode(true);
538 }
539 break;
540 case WIN:
541 if (record->event.pressed) {
542 set_mac_mode(false);
543 }
544 break;
545 case TO_101:
546 if (record->event.pressed) {
547 if (IS_MODE_106()) {
548 set_single_persistent_default_layer(_BASE);
549 }
550 }
551 break;
552 case TO_106:
553 if (record->event.pressed) {
554 if (!IS_MODE_106()) {
555 set_single_persistent_default_layer(_BASE_106);
556 }
557 }
558 break;
559 }
560 return true;
561}
562
563// LED Effect
564#ifdef RGBLIGHT_ENABLE
565unsigned char rgb[7][5][3];
566void led_ripple_effect(char r, char g, char b) {
567 static int scan_count = -10;
568 static int keys[] = { 6, 6, 6, 7, 7 };
569 static int keys_sum[] = { 0, 6, 12, 18, 25 };
570
571 if (scan_count == -1) {
572 rgblight_enable_noeeprom();
573 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
574 } else if (scan_count >= 0 && scan_count < 5) {
575 for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
576 int i = c;
577 // FIXME:
578
579 int y = scan_count;
580 int dist_y = abs(y - keybufs[i].row);
581 for (int x=0; x<keys[y]; x++) {
582 int dist = abs(x - keybufs[i].col) + dist_y;
583 if (dist <= keybufs[i].frame) {
584 int elevation = MAX(0, (8 + dist - keybufs[i].frame)) << 2;
585 if (elevation) {
586 if ((rgb[x][y][0] != 255) && r) { rgb[x][y][0] = MIN(255, elevation + rgb[x][y][0]); }
587 if ((rgb[x][y][1] != 255) && g) { rgb[x][y][1] = MIN(255, elevation + rgb[x][y][1]); }
588 if ((rgb[x][y][2] != 255) && b) { rgb[x][y][2] = MIN(255, elevation + rgb[x][y][2]); }
589 }
590 }
591 }
592 }
593 } else if (scan_count == 5) {
594 for (unsigned char c=keybuf_begin; c!=keybuf_end; c++) {
595 int i = c;
596 if (keybufs[i].frame < 18) {
597 keybufs[i].frame ++;
598 } else {
599 keybuf_begin ++;
600 }
601 }
602 } else if (scan_count >= 6 && scan_count <= 10) {
603 int y = scan_count - 6;
604 for (int x=0; x<keys[y]; x++) {
605 int at = keys_sum[y] + ((y & 1) ? x : (keys[y] - x - 1));
606 led[at].r = rgb[x][y][0];
607 led[at].g = rgb[x][y][1];
608 led[at].b = rgb[x][y][2];
609 }
610 rgblight_set();
611 } else if (scan_count == 11) {
612 memset(rgb, 0, sizeof(rgb));
613 }
614 scan_count++;
615 if (scan_count >= 12) { scan_count = 0; }
616}
617#endif
618
619layer_state_t layer_state_old;
620
621//runs every scan cycle (a lot)
622void matrix_scan_user(void) {
623 if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){
624 if (IS_MODE_106())
625 register_delay_code(_BASE_106);
626 else
627 register_delay_code(_BASE);
628 if(!delay_key_pressed){
629 unregister_delay_code();
630 }
631 }
632
633 if(layer_state_old != layer_state){
634 for (int8_t i = _LAYER_NUM-1; i > _BASE_106; i--) {
635 if(IS_LAYER_ON(i)){
636 register_delay_code(i);
637 break;
638 }
639 }
640 layer_state_old = layer_state;
641 }
642
643 #ifdef RGBLIGHT_ENABLE
644 if(!RGBAnimation){
645 if(IS_LAYER_ON(_FUNC)){
646 #ifdef RGBLED_BACK
647 led_ripple_effect(127,23,0);
648 #else
649 rgblight_setrgb(127,23,0);
650 #endif
651 }else if(IS_LAYER_ON(_NUM)||IS_LAYER_ON(_NUM_106)){
652 #ifdef RGBLED_BACK
653 led_ripple_effect(127,0,61);
654 #else
655 rgblight_setrgb(127,0,61);
656 #endif
657 }else if(IS_LAYER_ON(_SYM)||IS_LAYER_ON(_SYM_106)){
658 #ifdef RGBLED_BACK
659 led_ripple_effect(0,127,0);
660 #else
661 rgblight_setrgb(0,127,0);
662 #endif
663 }else if(IS_LAYER_ON(_OPT)||IS_LAYER_ON(_OPT_106)){
664 #ifdef RGBLED_BACK
665 led_ripple_effect(127,0,100);
666 #else
667 rgblight_setrgb(127,0,100);
668 #endif
669 } else {
670 #ifdef RGBLED_BACK
671 led_ripple_effect(0,112,127);
672 #else
673 rgblight_setrgb(0,112,127);
674 #endif
675 }
676 }
677 #endif
678}
679
680//OLED update loop
681#ifdef OLED_ENABLE
682
683// Render to OLED
684void render_status(void) {
685
686 // froggy logo
687 static char logo[4][17]=
688 {
689 {0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0},
690 {0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0},
691 {0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0},
692 {0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0},
693 };
694
695 static char modectl[4][2][4]=
696 {
697 {
698 {0x65,0x66,0x67,0}, //WIN
699 {0x85,0x86,0x87,0}, //WIN
700 },
701 {
702 {0xa5,0xa6,0xa7,0}, //US(101)
703 {0xc5,0xc6,0xc7,0}, //US(101)
704 },
705 {
706 {0xbd,0xbe,0xbf,0}, //MAC
707 {0xdd,0xde,0xdf,0}, //MAC
708 },
709 {
710 {0xba,0xbb,0xbc,0}, //JP(106)
711 {0xda,0xdb,0xdc,0}, //JP(106)
712 },
713 };
714
715 static char indctr[8][2][4]=
716 {
717 // white icon
718 {
719 {0x60,0x61,0x62,0}, //NUM
720 {0x63,0x64,0} //FUNC
721 },
722 {
723 {0x80,0x81,0x82,0}, //NUM
724 {0x83,0x84,0} //FUNC
725 },
726 {
727 {0xa0,0xa1,0xa2,0}, //CAPS
728 {0xa3,0xa4,0} //SCLK
729 },
730 {
731 {0xc0,0xc1,0xc2,0}, //CAPS
732 {0xc3,0xc4,0} //SCLK
733 },
734 // Black icon
735 {
736 {0x75,0x76,0x77,0}, //NUM
737 {0x78,0x79,0} //FUNC
738 },
739 {
740 {0x95,0x96,0x97,0}, //NUM
741 {0x98,0x99,0} //FUNC
742 },
743 {
744 {0xb5,0xb6,0xb7,0}, //CAPS
745 {0xb8,0xb9,0} //SCLK
746 },
747 {
748 {0xd5,0xd6,0xd7,0}, //CAPS
749 {0xd8,0xd9,0} //SCLK
750 },
751 };
752
753 int rown = 0;
754 int rowf = 0;
755 int rowa = 0;
756 int rows = 0;
757 int rowm = 0;
758 int rowj = 1;
759
760 //Set Indicator icon
761 led_t led_state = host_keyboard_led_state();
762 if (led_state.num_lock) { rown = 4; }
763 if (led_state.caps_lock) { rowa = 4; }
764 if (led_state.scroll_lock) { rows = 4; }
765 if (IS_LAYER_ON(_FUNC)) { rowf = 4; }
766
767 //Set Mode icon
768 if (IS_MODE_MAC()) { rowm = 2; }
769 if (IS_MODE_106()) { rowj = 3; }
770
771 oled_write(indctr[rown] [0], false);
772 oled_write(indctr[rowf] [1], false);
773 oled_write(modectl[rowm] [0], false);
774 oled_write(logo[0], false);
775 oled_write(indctr[rown+1][0], false);
776 oled_write(indctr[rowf+1][1], false);
777 oled_write(modectl[rowm] [1], false);
778 oled_write(logo[1], false);
779 oled_write(indctr[rowa+2][0], false);
780 oled_write(indctr[rows+2][1], false);
781 oled_write(modectl[rowj] [0], false);
782 oled_write(logo[2], false);
783 oled_write(indctr[rowa+3][0], false);
784 oled_write(indctr[rows+3][1], false);
785 oled_write(modectl[rowj] [1], false);
786 oled_write(logo[3], false);
787
788}
789
790bool oled_task_user(void) {
791
792#if DEBUG_TO_SCREEN
793 if (debug_enable) {
794 return;
795 }
796#endif
797
798 if (is_keyboard_master()) {
799 render_status();
800 }
801 return false;
802}
803
804#endif // end of OLED_ENABLE
805
806// Local Variables:
807// mode: c++
808// truncate-lines: t
809// indent-tabs-mode: nil
810// End:
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/readme.md b/keyboards/helix/rev2/keymaps/froggy_106/readme.md
deleted file mode 100644
index 911fb40432..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/readme.md
+++ /dev/null
@@ -1,85 +0,0 @@
1Froggy -one hand Helix- with 106-key mode
2======
3
4![Imgur](https://i.imgur.com/S1Dw3XW.jpg)
5
6## Features
7It is a one-handed keyboard with reference to Frogpad. Layout Designed by タクマ ([@humid](https://twitter.com/humid)).
8
9This keymap has 106-key mode, This is usable when keyboard setting of OS is OADG 106/109 keyboard.
10
11## Layout
12### Base
13```
14,-----------------------------------------.
15| C+z | ; | [ | ( | < | { |
16|------+------+------+------+------+------|
17| KANA | P | K | R | A | F |
18|------+------+------+------+------+------|
19| BS | D | T | H | E | O |
20|------+------+------+------+------+------+------.
21| Shift| Y | S | N | I | U | Space|
22|------+------+------+------+------+------+------|
23| Ctrl | Alt | win | Sym | Num | OPT | Ent |
24`------------------------------------------------'
25```
26
27### Opt
28```
29,-----------------------------------------.
30| Esc | : | ] | ) | > | } |
31|------+------+------+------+------+------|
32| EISU | J | M | B | ' | Tab |
33|------+------+------+------+------+------|
34| . | V | C | L | Z | Q |
35|------+------+------+------+------+------+------.
36| | X | G | W | - | Del | Esc |
37|------+------+------+------+------+------+------|
38| | | | , | DTOP | | |
39`------------------------------------------------'
40```
41
42### Num
43```
44,-----------------------------------------.
45| | | Func | home | End | |
46|------+------+------+------+------+------|
47| | * | 7 | 8 | 9 | - |
48|------+------+------+------+------+------|
49| . | / | 4 | 5 | 6 | + |
50|------+------+------+------+------+------+------.
51| LN | 0 | 1 | 2 | 3 |C+S+F1| |
52|------+------+------+------+------+------+------|
53| | | | , | | | |
54`------------------------------------------------'
55```
56
57### Sym
58```
59,-----------------------------------------.
60| Ins | GRV | | PU | PD | ^ |
61|------+------+------+------+------+------|
62| | \ | # | = | ? | % |
63|------+------+------+------+------+------|
64| | $ | upA | @ | ! | | |
65|------+------+------+------+------+------+------.
66| CL | <- | dwA | -> | _ | & | |
67|------+------+------+------+------+------+------|
68| | | PS | | ~ | | |
69 `-----------------------------------------------'
70```
71
72### Func
73```
74,-----------------------------------------.
75|RGBRST| Hue | to101| RST | Mac | Win |
76|------+------+------+------+------+------|
77| RGB1 | VAL+ | F7 | F8 | F9 | to106|
78|------+------+------+------+------+------|
79| RGB2 | VAL- | F4 | F5 | F6 | F12 |
80|------+------+------+------+------+------+------.
81| RGB3 | F10 | F1 | F2 | F3 | F11 | |
82|------+------+------+------+------+------+------|
83|RGBOFF| | | | | | |
84`------------------------------------------------'
85```
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/rules.mk b/keyboards/helix/rev2/keymaps/froggy_106/rules.mk
deleted file mode 100644
index b77e8af4f2..0000000000
--- a/keyboards/helix/rev2/keymaps/froggy_106/rules.mk
+++ /dev/null
@@ -1,27 +0,0 @@
1# QMK Standard Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
6# See TOP/docs/config_options.md for more information.
7#
8LTO_ENABLE = yes # if firmware size over limit, try this option
9SPLIT_KEYBOARD = yes
10
11# Helix Spacific Build Options
12# you can uncomment and edit follows 7 Variables
13# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
14OLED_ENABLE = yes # OLED_ENABLE
15LOCAL_GLCDFONT = yes # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
16LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.)
17LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
18LED_ANIMATIONS = yes # LED animations
19# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
20
21# OLED_ENABLE が yes のとき
22# OLED_SELECT が core ならば QMK 標準の oled_dirver.c を使用します。
23# OLED_SELECT が core 以外ならば従来どおり helix/local_drivers/ssd1306.c を使用します。
24# If OLED_ENABLE is 'yes'
25# If OLED_SELECT is 'core', use QMK standard oled_dirver.c.
26# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c.
27OLED_SELECT = core
diff --git a/keyboards/hotdox76v2/keymaps/dancxjo/config.h b/keyboards/hotdox76v2/keymaps/dancxjo/config.h
deleted file mode 100644
index fac328091d..0000000000
--- a/keyboards/hotdox76v2/keymaps/dancxjo/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
1// Copyright 2023 Travis Reed (@dancxjo)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5#define DYNAMIC_KEYMAP_LAYER_COUNT 5
6#define EE_HANDS
diff --git a/keyboards/hotdox76v2/keymaps/dancxjo/keymap.c b/keyboards/hotdox76v2/keymaps/dancxjo/keymap.c
deleted file mode 100644
index 1f55685de0..0000000000
--- a/keyboards/hotdox76v2/keymaps/dancxjo/keymap.c
+++ /dev/null
@@ -1,177 +0,0 @@
1// Copyright 2023 Travis Reed (@dancxjo)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5
6enum layer {
7 _ENGRAM = 0,
8 _QWERTY,
9 _ENGRAM_SHIFT,
10 _FUNCTION,
11 _MEDIA
12};
13
14/* Combines the compose key (right super) and the AltGr */
15#define KC_COMP MT(MOD_RALT, KC_RGUI)
16#define KC_SCMP MT(MOD_RSFT | MOD_RALT, KC_RGUI)
17
18#define KC_STAB MT(MOD_LSFT, KC_TAB)
19
20/* Use a fake shift layer since Engram switches level 2 assignments */
21#define KC_PSFT MO(_ENGRAM_SHIFT)
22
23#define KC_FUNC TT(_FUNCTION)
24#define KC_MEDI TT(_MEDIA)
25
26/* Easily switch between MacOS & other OSes*/
27#define KC_HLM1 LM(1, MOD_LCTL)
28#define KC_HLM2 LM(1, MOD_LGUI)
29#define KC_SHM1 LM(1, MOD_LCTL | MOD_LSFT)
30#define KC_SHM2 LM(1, MOD_LGUI | MOD_LSFT)
31#define KC_STRN RSFT(KC_TRNS)
32
33#define KC_FORW LGUI(KC_TAB)
34#define KC_BACK LGUI(LSFT(KC_TAB))
35
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37 /* Differs slightly from official Engram in that {} are the level 1 and [] are the level 2 */
38 [_ENGRAM] = LAYOUT_ergodox_pretty(
39 KC_LCBR, KC_1, KC_2, KC_3, KC_4, KC_5, CG_NORM, KC_PAUSE, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RCBR,
40 KC_TAB, KC_B, KC_Y, KC_O, KC_U, KC_QUOT, KC_AT, KC_HASH, KC_DQUO, KC_L, KC_D, KC_W, KC_V, KC_Z,
41 KC_CAPS, KC_C, KC_I, KC_E, KC_A, KC_COMM, KC_DOT, KC_H, KC_T, KC_S, KC_N, KC_Q,
42 KC_PSFT, KC_G, KC_X, KC_J, KC_K, KC_MINS, KC_SLSH, KC_PSCR, KC_QUES, KC_R, KC_M, KC_F, KC_P, KC_PSFT,
43 KC_HLM1, KC_FUNC, KC_MEDI, KC_LALT, KC_HLM2, KC_RGUI, KC_RALT, KC_MEDI, KC_FUNC,KC_HLM1,
44 KC_INS, KC_HOME, KC_END, KC_DEL,
45 KC_PGUP, KC_PGDN,
46 KC_ENT, KC_ESC, KC_LSFT, KC_RSFT, KC_BSPC, KC_SPC
47 ),
48 [_ENGRAM_SHIFT] = LAYOUT_ergodox_pretty(
49 KC_LBRC, KC_PIPE, KC_EQL, KC_TILD, KC_PLUS, KC_LT, CG_SWAP, KC_STRN, KC_GT, KC_CIRC, KC_AMPR, KC_PERC, KC_ASTR, KC_RBRC,
50 KC_STRN, RSFT(KC_B), RSFT(KC_Y), RSFT(KC_O), RSFT(KC_U), KC_LPRN, KC_GRV, KC_DLR, KC_RPRN, RSFT(KC_L), RSFT(KC_D), RSFT(KC_W), RSFT(KC_V), RSFT(KC_Z),
51 KC_STRN, RSFT(KC_C), RSFT(KC_I), RSFT(KC_E), RSFT(KC_A), KC_SCLN, KC_COLN, RSFT(KC_H), RSFT(KC_T), RSFT(KC_S), RSFT(KC_N), RSFT(KC_Q),
52 KC_TRNS, RSFT(KC_G), RSFT(KC_X), RSFT(KC_J), RSFT(KC_K), KC_UNDS, KC_BSLS, KC_STRN, KC_EXLM, RSFT(KC_R), RSFT(KC_M), RSFT(KC_F), RSFT(KC_P), KC_TRNS,
53 KC_SHM1, KC_STRN, KC_STRN, KC_STRN, KC_SHM2, KC_STRN, KC_STRN, KC_STRN, KC_STRN, KC_SHM1,
54 KC_STRN, KC_STRN, KC_HYPR, KC_STRN,
55 KC_STRN, KC_STRN,
56 KC_SHM1, KC_STRN, KC_STRN, KC_SHM2, KC_STRN, KC_STRN
57 ),
58 [_QWERTY] = LAYOUT_ergodox_pretty(
59 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
60 KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
61 KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
62 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, KC_TRNS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
63 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
64 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
65 KC_TRNS, KC_TRNS,
66 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
67 ),
68 [_FUNCTION] = LAYOUT_ergodox_pretty(
69 KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_BRID, KC_BRIU, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PWR,
70 KC_APP, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, TG(1), TG(1), KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_SLEP,
71 KC_SCRL, KC_F21, KC_F22, KC_F23, KC_F24, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WAKE,
72 KC_PAUS, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, KC_NO, CG_SWAP, CG_NORM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
73 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
74 RGB_SAD, RGB_HUD, RGB_HUI, RGB_SAI,
75 RGB_RMOD, RGB_MOD,
76 RGB_SPD, RGB_VAD, KC_TRNS, KC_TRNS, RGB_VAI, RGB_SPI
77 ),
78 [_MEDIA] = LAYOUT_ergodox_pretty(
79 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WREF, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
80 KC_NO, KC_NO, KC_NO, KC_NO, KC_WREF, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_UP, KC_PGDN, KC_MSEL, KC_NO,
81 KC_NO, KC_NO, KC_WSTP, KC_MYCM, KC_WSCH, KC_FIND, KC_WHOM, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_NO,
82 KC_LSFT, KC_NO, KC_NO, KC_CALC, KC_NO, KC_WFAV, KC_NO, KC_NO, KC_NO, KC_HOME, KC_MAIL, KC_END, KC_NO, KC_NO,
83 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
84 KC_MUTE, KC_EJCT, KC_MSTP, KC_MPLY,
85 KC_MPRV, KC_MNXT,
86 KC_MRWD, KC_VOLD, KC_TRNS, KC_TRNS, KC_VOLU, KC_MFFD
87 )
88};
89
90char* get_layer_name(uint8_t layer, bool capitalized) {
91 char *layer_name = "Unknown ";
92
93 switch (layer) {
94 case _ENGRAM:
95 case _ENGRAM_SHIFT:
96 if (capitalized) {
97 layer_name = "ENGRAM ";
98 } else {
99 layer_name = "engram ";
100 }
101 break;
102 case _QWERTY:
103 if (capitalized) {
104 layer_name = "QWERTY ";
105 } else {
106 layer_name = "qwerty ";
107 }
108 break;
109 case _MEDIA:
110 layer_name = "Media+ ";
111 break;
112 case _FUNCTION:
113 layer_name = "Function";
114 break;
115 }
116 return layer_name;
117}
118
119void render_locks(led_t led_state) {
120 oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
121 oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
122 oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
123}
124
125void render_mods(uint8_t modifiers, uint8_t layer) {
126 oled_write_P(modifiers & MOD_MASK_GUI ? PSTR("Super") : PSTR(" "), false);
127 oled_write_P(PSTR(" "), false);
128 oled_write_P(modifiers & MOD_MASK_ALT ? PSTR("Alt") : PSTR(" "), false);
129 oled_write_P(PSTR(" "), false);
130 oled_write_P(modifiers & MOD_MASK_CTRL ? PSTR("Ctl") : PSTR(" "), false);
131 oled_write_P(PSTR(" "), false);
132
133 if (layer == _ENGRAM_SHIFT) {
134 oled_write_P(PSTR("Pseudo"), false);
135 } else {
136 oled_write_P(modifiers & MOD_MASK_SHIFT ? PSTR("Shift ") : PSTR(" "), false);
137 }
138}
139
140char* get_helm_key(void) {
141 if (keymap_config.swap_lctl_lgui) {
142 return "Super";
143 } else {
144 return "Control";
145 }
146}
147
148bool oled_task_user(void) {
149 uint8_t layer = get_highest_layer(layer_state);
150 uint8_t modifiers = get_mods()|get_oneshot_mods();
151 led_t led_state = host_keyboard_led_state();
152
153 bool real_shifted = modifiers & MOD_MASK_SHIFT;
154 bool pseudo_shifted = layer == _ENGRAM_SHIFT;
155 bool shifted = real_shifted || pseudo_shifted;
156 bool caps = led_state.caps_lock;
157 bool capitalized = (caps && !shifted) || (!caps && shifted);
158
159 oled_write_P(PSTR("Layer: "), false);
160 oled_write(get_layer_name(layer, capitalized), false);
161 oled_write_P(PSTR("\n"), false);
162
163 // Only the master knows if we've swapped the gui and ctl key
164 if (is_keyboard_master()) {
165 oled_write_P(PSTR(" Helm: "), false);
166 oled_write(get_helm_key(), false);
167 }
168
169 oled_write_P(PSTR("\n"), false);
170
171 render_mods(modifiers, layer);
172 oled_write_P(PSTR("\n"), false);
173
174 render_locks(led_state);
175
176 return false;
177}
diff --git a/keyboards/hotdox76v2/keymaps/dancxjo/rules.mk b/keyboards/hotdox76v2/keymaps/dancxjo/rules.mk
deleted file mode 100644
index bc20eb20b7..0000000000
--- a/keyboards/hotdox76v2/keymaps/dancxjo/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
1COMMAND_ENABLE = yes
2VIA_ENABLE = yes
3EXTRAKEY_ENABLE = no
4MOUSEKEY_ENABLE = no
diff --git a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/config.h b/keyboards/hs60/v2/hhkb/keymaps/goatmaster/config.h
deleted file mode 100644
index 50c76489e6..0000000000
--- a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
1/*
2Copyright 2018 Yiancar
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#pragma once
18
19/* Include overwrites for specific keymap */
20
21#undef RGB_BACKLIGHT_CAPS_LOCK_INDICATOR
22#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 255 }, .index = 3-1 } //red
diff --git a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c b/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c
deleted file mode 100644
index 374dc6ad4b..0000000000
--- a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
1/* Copyright 2018 Yiancar
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18//This is the HHKB version of the PCB
19
20enum macro_keys {
21 KC_EML = SAFE_RANGE
22};
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25[0] = LAYOUT_60_hhkb( /* Base */
26 KC_ESC, 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_GRV, KC_BSLS,
27 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
28 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
29 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
30 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ),
31
32[1] = LAYOUT_60_hhkb( /* FN */
33 QK_BOOT, 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_TRNS, KC_TRNS,
34 KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_UP, KC_TRNS, KC_DEL,
35 KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
36 KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
38
39[2] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
45
46[3] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
52};
53
54void matrix_init_user(void) {
55 //user initialization
56}
57
58void matrix_scan_user(void) {
59 //user matrix
60}
61
62bool process_record_user(uint16_t keycode, keyrecord_t *record) {
63 switch (keycode) {
64 case KC_EML: //use "KC_EML" as keycode in layers above to call macro
65 if (!record->event.pressed) {
66 send_string_with_delay_P(PSTR("example@email.com"), 10); //change email value here
67 }
68 break;
69 }
70 return true;
71}
diff --git a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/readme.md b/keyboards/hs60/v2/hhkb/keymaps/goatmaster/readme.md
deleted file mode 100644
index ea9803cc0b..0000000000
--- a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
1The default keymap for HHKB HS60 V2. VIA support enabled.
2=========================================================
3
4![Layout image](https://imgur.com/usbrQWL.png)
5
6Default layer is normal HHKB with 7U space. Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file
diff --git a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/rules.mk b/keyboards/hs60/v2/hhkb/keymaps/goatmaster/rules.mk
deleted file mode 100644
index 1e5b99807c..0000000000
--- a/keyboards/hs60/v2/hhkb/keymaps/goatmaster/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1VIA_ENABLE = yes
diff --git a/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c b/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c
deleted file mode 100644
index e490d68900..0000000000
--- a/keyboards/lazydesigners/dimple/staggered/keymaps/oncesavedgaming/keymap.c
+++ /dev/null
@@ -1,23 +0,0 @@
1/* Copyright 2021 LAZYDESIGNERS
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT(KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT(KC_SLSH), KC_DEL, KC_ESC, KC_LALT, KC_SPC, LT(1,KC_SPC), KC_RALT, KC_RGUI, KC_LCTL),
21 [1] = LAYOUT(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, QK_BOOT, RGB_SPI, RGB_SPD, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_SCLN, KC_NO, KC_LSFT, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, MO(2), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT),
22 [2] = LAYOUT(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_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO)
23};
diff --git a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c
deleted file mode 100644
index 80e267e458..0000000000
--- a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/keymap.c
+++ /dev/null
@@ -1,136 +0,0 @@
1#include QMK_KEYBOARD_H
2
3enum keymap_layout {
4 VANILLA = 0, // matches MF68 layout
5 CS_GO, // 0x08
6 FUNC, // 0x10
7 SETTINGS, // 0x20
8};
9
10enum {
11 TD_ESC_FUNC = 0,
12 TD_ESC_CTRL,
13 TD_SPC_SPAM
14};
15
16bool spam_space = false;
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Keymap BASE: (Base Layer) Default Layer
20 * ,---------. ,------------------------------------------------------------. ,---------.
21 * |Vol-|Vol+| |Esc~| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backspa| | Ins|PgUp|
22 * |---------| |------------------------------------------------------------| |---------|
23 * | F3 | F4 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del|PgDn|
24 * |---------| |------------------------------------------------------------| `---------'
25 * | F5 | F6 | |Control | A| S| D| F| G| H| J| K| L| ;| '|Return |
26 * |---------| |------------------------------------------------------------| ,----.
27 * | F7 | F8 | |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift | | Up |
28 * |---------| |-------------------------------------------------------------------------.
29 * | F9 | F10| |Func|Alt |Cmd | Space |Cmd |Alt |Func | |Lft| Dn |Rig |
30 * `---------' `------------------------------------------------------' `-------------'
31 */
32 [VANILLA] = LAYOUT_split_rshift(
33 KC_VOLD, KC_VOLU, QK_GESC, 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_BSPC, LALT(KC_F5), KC_PGUP,
34 KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
35 KC_F5, KC_F6, TD(TD_ESC_FUNC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
36 KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(CS_GO), KC_UP,
37 KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT
38 ),
39
40 [CS_GO] = LAYOUT_split_rshift(
41 _______, _______, QK_GESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 _______, _______, KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
46 ),
47
48 /* Keymap FUNCTION: Function Layer
49 * ,---------. ,-------------------------------------------------------------. ,---------.
50 * | V- | V+ | | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | Ins|Home|
51 * |---------| |-------------------------------------------------------------| |---------|
52 * | | | |Tab | |PgU| | | | | | Up| | | | | | | Del|End |
53 * |---------| |-------------------------------------------------------------| `---------'
54 * | | | |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | |
55 * |---------| |-------------------------------------------------------------| ,----.
56 * | | | |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up |
57 * |---------| |--------------------------------------------------------------------------.
58 * | | F10| |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig |
59 * `---------' `------------------------------------------------------' `-------------'
60 */
61 [FUNC] = LAYOUT_split_rshift(
62 _______, _______, 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_DEL, TO(CS_GO), KC_HOME,
63 _______, _______, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_END,
64 _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX,
65 _______, _______, _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), XXXXXXX, _______,
66 _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______
67 ),
68
69 /* Keymap SETTINGS: Settings Layer
70 * ,---------. ,-----------------------------------------------------------. ,-------------.
71 * | | | |FN0 |BL0|BL1|BL2|BL3| | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+|
72 * |---------| |-----------------------------------------------------------| |-------------|
73 * | | | |Debug| | | | | | | | | | | | |RGBTst| |RGB Mode|Val-|
74 * |---------| |-----------------------------------------------------------| `-------------'
75 * | | | |LayrClr|Hz+|MS+| | | | | | | | | | RST |
76 * |---------| |-----------------------------------------------------------| ,----.
77 * | | | |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+|
78 * |---------| |------------------------------------------------------------------------.
79 * | | | | | | | Print Debug | | | | |Sat-|Hue-|Sat+|
80 * `---------' `------------------------------------------------------' `--------------'
81 */
82 [SETTINGS] = LAYOUT_split_rshift(
83 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, BL_UP, BL_TOGG, RGB_TOG, RGB_VAI,
84 XXXXXXX, XXXXXXX, DB_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD,
85 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
86 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI,
87 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI
88 )
89};
90
91void tap_space_spam_finished(tap_dance_state_t *state, void *user_data) {
92 if (get_mods() & (MOD_BIT(KC_LGUI))) {
93 return;
94 }
95 if (state->pressed) {
96 spam_space = true;
97 }
98 tap_code(KC_SPC);
99}
100
101void tap_space_spam_reset(tap_dance_state_t *state, void *user_data) {
102 spam_space = false;
103 unregister_code(KC_SPC);
104}
105
106void tap_esc_func_finished(tap_dance_state_t *state, void *user_data) {
107 if (state->pressed) {
108 layer_on(FUNC);
109 } else {
110 tap_code(KC_ESC);
111 }
112}
113
114void tap_esc_func_reset(tap_dance_state_t *state, void *user_data) {
115 layer_off(FUNC);
116}
117
118tap_dance_action_t tap_dance_actions[] = {
119 [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset),
120 [TD_SPC_SPAM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_space_spam_finished, tap_space_spam_reset),
121};
122
123void matrix_scan_user(void) {
124 if (spam_space && !(get_mods() & (MOD_BIT(KC_LGUI)))) {
125 tap_code(KC_SPC);
126 }
127}
128
129bool process_record_user(uint16_t keycode, keyrecord_t *record) {
130 if ((layer_state & (1 << CS_GO)) && (keycode == 44)) {
131 if (get_mods() & (MOD_BIT(KC_LGUI))) {
132 return false;
133 }
134 }
135 return true;
136}
diff --git a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/readme.md b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/readme.md
deleted file mode 100644
index 85b7b1a8d2..0000000000
--- a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# The default keymap for bluepad
diff --git a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk
deleted file mode 100644
index 732bfcfa8f..0000000000
--- a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
1AUDIO_ENABLE = no
2TAP_DANCE_ENABLE = yes
3WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c
deleted file mode 100644
index 3be46837c1..0000000000
--- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/keymap.c
+++ /dev/null
@@ -1,170 +0,0 @@
1#include QMK_KEYBOARD_H
2
3enum keymap_layout {
4 VANILLA = 0, // matches MF68 layout
5 DEFAULT_WKL, // 0x02 Function in CapsLock location, gui key disabled
6 DEFAULT_OSX, // 0x04 Function in CapsLock location, gui/alt swapped for OSX
7 CS_GO, // 0x08 Function in CapsLock location, gui/alt swapped for OSX
8 FUNC, // 0x10
9 SETTINGS, // 0x20
10};
11
12enum {
13 TD_ESC_FUNC = 0,
14};
15
16const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
17 /* Keymap VANILLA: (Base Layer) Default Layer
18 * ,-----------------------------------------------------------------------------.
19 * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
20 * |-----------------------------------------------------------| |--------------|
21 * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
22 * |-----------------------------------------------------------| |--------------|
23 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
24 * |-----------------------------------------------------------| `--------------'
25 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
26 * |-----------------------------------------------------------| ,----.
27 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
28 * |-----------------------------------------------------------| ,-------------.
29 * |Ctrl|Gui |Alt | Space |ALT |GUI |CTRL |Func| |Lft| Dn |Rig |
30 * `-----------------------------------------------------------' `-------------'
31 */
32 [VANILLA] = LAYOUT_tkl_ansi(
33 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5,
34 KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP,
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
36 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
37 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_UP,
38 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), MO(SETTINGS), KC_LEFT, KC_DOWN, KC_RGHT
39 ),
40
41 /* Keymap DEFAULT_TKL: (Base Layer) Default Layer
42 * ,-----------------------------------------------------------------------------.
43 * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
44 * |-----------------------------------------------------------| |--------------|
45 * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
46 * |-----------------------------------------------------------| |--------------|
47 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
48 * |-----------------------------------------------------------| `--------------'
49 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
50 * |-----------------------------------------------------------| ,----.
51 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
52 * |-----------------------------------------------------------| ,-------------.
53 * |Ctrl| |Alt | Space |ALT | |CTRL |Func| |Lft| Dn |Rig |
54 * `-----------------------------------------------------------' `-------------'
55 */
56 [DEFAULT_WKL] = LAYOUT_tkl_ansi(
57 KC_ESC, 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_PSCR, KC_SCRL, KC_PAUS,
58 KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP,
59 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
60 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
61 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_UP,
62 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT
63 ),
64
65 /* Keymap DEFAULT_OSX: (Base Layer) Default Layer
66 * ,-----------------------------------------------------------------------------.
67 * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
68 * |-----------------------------------------------------------| |--------------|
69 * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
70 * |-----------------------------------------------------------| |--------------|
71 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
72 * |-----------------------------------------------------------| `--------------'
73 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
74 * |-----------------------------------------------------------| ,----.
75 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
76 * |-----------------------------------------------------------| ,-------------.
77 * |Ctrl| Opt |Cmd | Space |Cmd |Opt |CTRL |Func| |Lft| Dn |Rig |
78 * `-----------------------------------------------------------' `-------------'
79 */
80 [DEFAULT_OSX] = LAYOUT_tkl_ansi(
81 KC_ESC, 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_SCRL, KC_PAUS, LALT(KC_F5),
82 KC_GRV, 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_BSPC, KC_INS, KC_HOME, KC_PGUP,
83 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
84 TD(TD_ESC_FUNC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
85 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_UP,
86 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), MO(SETTINGS), KC_LEFT, KC_DOWN, KC_RGHT
87 ),
88
89 [CS_GO] = LAYOUT_tkl_ansi(
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
91 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
93 KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
96 ),
97
98 /* Keymap FUNCTION: Function Layer
99 * ,-------------------------------------------------------------. ,--------------.
100 * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
101 * |-------------------------------------------------------------| |--------------|
102 * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | |
103 * |-------------------------------------------------------------| |--------------|
104 * |Tab | |PgU| | | | | | Up| | | | | | | | | |
105 * |-------------------------------------------------------------| `--------------'
106 * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | |
107 * |-------------------------------------------------------------| ,----.
108 * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up |
109 * |-------------------------------------------------------------' ,-------------.
110 * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig |
111 * `------------------------------------------------------' `-------------'
112 */
113 [FUNC] = LAYOUT_tkl_ansi(
114 KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
115 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, TO(CS_GO), _______, _______,
116 XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______,
117 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX,
118 _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______,
119 _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______
120 ),
121
122 /* Keymap SETTINGS: Settings Layer
123 * ,-----------------------------------------------------------. ,-------------.
124 * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
125 * |-------------------------------------------------------------| |--------------|
126 * |LayClr| | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+|
127 * |-----------------------------------------------------------| |-------------|
128 * |Debug| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-|
129 * |-----------------------------------------------------------| `-------------'
130 * |AU_TOGG|Hz+|MS+| | | | | | | | | | RST |
131 * |-----------------------------------------------------------| ,----.
132 * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+|
133 * |------------------------------------------------------------------------.
134 * | | | | Print Debug | | | | |Sat-|Hue-|Sat+|
135 * `------------------------------------------------------' `--------------'
136 */
137 [SETTINGS] = LAYOUT_tkl_ansi(
138 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, XXXXXXX, XXXXXXX, XXXXXXX,
139 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, BL_UP, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX,
140 MU_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX,
141 AU_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
142 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI,
143 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI
144 )
145};
146
147void tap_esc_func_finished(tap_dance_state_t *state, void *user_data) {
148 if (state->pressed) {
149 layer_on(FUNC);
150 } else {
151 tap_code(KC_ESC);
152 }
153}
154
155void tap_esc_func_reset(tap_dance_state_t *state, void *user_data) {
156 layer_off(FUNC);
157}
158
159tap_dance_action_t tap_dance_actions[] = {
160 [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset),
161};
162
163bool process_record_user(uint16_t keycode, keyrecord_t *record) {
164 if ((layer_state & (1 << CS_GO)) && (keycode == 44)) {
165 if (get_mods() & (MOD_BIT(KC_LGUI))) {
166 return false;
167 }
168 }
169 return true;
170}
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/readme.md b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/readme.md
deleted file mode 100644
index 56742f3b28..0000000000
--- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# The default keymap for LFK87
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk
deleted file mode 100644
index eb12c33f4a..0000000000
--- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
1TAP_DANCE_ENABLE = yes
2WATCHDOG_ENABLE = yes # Resets keyboard if matrix_scan isn't run every 250ms
diff --git a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c b/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c
deleted file mode 100644
index 9e3927f545..0000000000
--- a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/keymap.c
+++ /dev/null
@@ -1,108 +0,0 @@
1#include QMK_KEYBOARD_H
2
3enum keymap_layout {
4 VANILLA = 0, // matches MF68 layout
5 FUNC, // 0x08
6 SETTINGS, // 0x10
7};
8
9enum {
10 TD_ESC_FUNC = 0,
11 TD_ESC_CTRL,
12 TD_SPC_SPAM
13};
14
15const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap VANILLA: (Base Layer) Default Layer
17 * ,-----------------------------------------------------------------------------.
18 * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
19 * |-----------------------------------------------------------| |--------------|
20 * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
21 * |-----------------------------------------------------------| |--------------|
22 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
23 * |-----------------------------------------------------------| `--------------'
24 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |
25 * |-----------------------------------------------------------| ,----.
26 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
27 * |-----------------------------------------------------------| ,-------------.
28 * |Ctrl|Gui |Alt | Space |ALT |GUI |Func|CTRL | |Lft| Dn |Rig |
29 * `-----------------------------------------------------------' `-------------'
30 */
31 [VANILLA] = LAYOUT(
32 QK_GESC, 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_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
33 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
34 TD(TD_ESC_FUNC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, LALT(KC_F5),
35 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
36 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, MO(FUNC), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
37 ),
38
39 /* Keymap FUNCTION: Function Layer
40 * ,-------------------------------------------------------------. ,--------------.
41 * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
42 * |-------------------------------------------------------------| |--------------|
43 * | ` |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Delete | | | | |
44 * |-------------------------------------------------------------| |--------------|
45 * |Tab | |PgU| | | | | | Up| | | | | | | | | |
46 * |-------------------------------------------------------------| `--------------'
47 * |Control|Hme|PgD|End| | | |Lft|Dwn|Rgt| | | |
48 * |-------------------------------------------------------------| ,----.
49 * |Shift | |Del| | | | |Mute|V- |V+ | |TG(SETTINGS)| | Up |
50 * |-------------------------------------------------------------' ,-------------.
51 * |Func|Win |Alt | PgD |Alt |Ctrl |Func | |Lft| Dn |Rig |
52 * `------------------------------------------------------' `-------------'
53 */
54 [FUNC] = LAYOUT(
55 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_DEL, _______, _______, _______, _______,
56 XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
57 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
58 _______, XXXXXXX, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, TG(SETTINGS), _______, _______, _______, _______, _______,
59 _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______
60 ),
61
62 /* Keymap SETTINGS: Settings Layer
63 * ,-----------------------------------------------------------. ,-------------.
64 * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12 | |Prnt|ScLk|Paus|
65 * |-------------------------------------------------------------| |--------------|
66 * |FN0 | | | | | | | | | | |BL-|BL+|BL Togl| |RGB Tog |Val+|
67 * |-----------------------------------------------------------| |-------------|
68 * |MuMode| | | | | | | | | | | | |LEDTst| |RGB Mode|Val-|
69 * |-----------------------------------------------------------| `-------------'
70 * |AudTgl |Hz+|MS+| | | | | | | | | | RST |
71 * |-----------------------------------------------------------| ,----.
72 * |ClickTgl|Hz-|MS-| | | | | | | | |Layer Clr | |Hue+|
73 * |--------------------------------------------------------------------------.
74 * | | | | | | | | | |Sat-|Hue-|Sat+|
75 * `----------------------------------------------------------------------------'
76 */
77 [SETTINGS] = LAYOUT(
78 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, BL_UP, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX,
79 MU_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX,
80 AU_TOGG, KC_F1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
81 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
82 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI, XXXXXXX, XXXXXXX
83 )
84};
85
86void tap_esc_func_finished(tap_dance_state_t *state, void *user_data) {
87 if (state->pressed) {
88 layer_on(FUNC);
89 } else {
90 tap_code(KC_ESC);
91 }
92}
93
94void tap_esc_func_reset(tap_dance_state_t *state, void *user_data) {
95 layer_off(FUNC);
96}
97
98tap_dance_action_t tap_dance_actions[] = {
99 [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset),
100};
101
102void matrix_init_user(void) {
103 // This keymap only has a single base layer, so reset the default if needed
104 if (eeconfig_read_default_layer() > 1) {
105 eeconfig_update_default_layer(1);
106 default_layer_set(1);
107 }
108}
diff --git a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/lfkeyboards/mini1800/keymaps/ca178858/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1TAP_DANCE_ENABLE = yes
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h
deleted file mode 100644
index f29c91f9e0..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/config.h
+++ /dev/null
@@ -1,28 +0,0 @@
1/* Copyright 2022 Fearless Spiff
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define TAPPING_TERM 180
20
21#define MK_KINETIC_SPEED
22#define MOUSEKEY_DELAY 8
23#define MOUSEKEY_INTERVAL 5
24#define MOUSEKEY_MOVE_DELTA 1
25#define MOUSEKEY_INITIAL_SPEED 3
26#define MOUSEKEY_BASE_SPEED 120
27#define MOUSEKEY_DECELERATED_SPEED 100
28#define MOUSEKEY_ACCELERATED_SPEED 1000
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
deleted file mode 100644
index 76438f9dc3..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c
+++ /dev/null
@@ -1,301 +0,0 @@
1/* Copyright 2021 Kyle McCreery
2 * Copyright 2021 Jonavin Eng
3 * Copyright 2022 Fearless Spiff
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#include QMK_KEYBOARD_H
20#include "keymap_german.h"
21
22// OLED setup for bongocat
23#define IDLE_FRAMES 5
24#define IDLE_SPEED 30
25#define TAP_FRAMES 2
26#define TAP_SPEED 40
27#define ANIM_FRAME_DURATION 200
28#define ANIM_SIZE 512
29
30#define LABEL_LENGTH 8
31
32#define KC_CAD LALT(LCTL(KC_DEL))
33#define KC_TEAMS_CAM C(S(KC_O))
34#define KC_TEAMS_MUTE C(S(KC_M))
35
36enum layers {
37 QWERT,
38 FN_1,
39 FN_2,
40 FN_MOUSE
41};
42
43enum custom_user_keycodes {
44 KC_ENC = SAFE_RANGE
45};
46
47static long int oled_timeout = 1800000; // 30 minutes
48bool gui_on = true;
49char wpm_str[10];
50uint32_t anim_timer = 0;
51uint32_t anim_sleep = 0;
52uint8_t current_idle_frame = 0;
53uint8_t current_tap_frame = 0;
54
55// Tap Dance declarations
56enum {
57 TD_TAB_ESC,
58};
59
60// Tap Dance definitions
61tap_dance_action_t tap_dance_actions[] = {
62 // Tap once for Tab, twice for Esc
63 [TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
64};
65
66typedef struct {
67 char label_top[LABEL_LENGTH];
68 char label_mid[LABEL_LENGTH];
69 char label_bottom[LABEL_LENGTH];
70 uint16_t keycode;
71} encoder_key;
72
73static const encoder_key PROGMEM encoder_keys[] = {
74 // list of key codes that will be scrolled through by encoder and description
75 // Be aware that it only works when using one char less than defined. In this case 7 max. No idea why?
76 {"Teams", "Toggle", "Mic", KC_TEAMS_MUTE},
77 {"Teams", "Toggle", "Cam", KC_TEAMS_CAM},
78 {"Ctrl", "Alt", "Del", KC_CAD},
79 {"Caps", "Lock", "", KC_CAPS_LOCK},
80 {"Pause", "", "", KC_PAUSE},
81 {"PrtScr", "", "", KC_PSCR},
82 {"Insert", "", "", KC_INS},
83 {"Play", "", "", KC_MEDIA_PLAY_PAUSE}
84};
85
86#define NUMBER_OF_ENCODER_KEYS ARRAY_SIZE(encoder_keys)
87
88static uint8_t selected_encoder_key_id = 0;
89static encoder_key selected_encoder_key;
90
91static void set_selected_encoder_key(uint8_t idx) {
92 // make a copy from PROGMEM
93 memcpy_P (&selected_encoder_key, &encoder_keys[idx], sizeof selected_encoder_key);
94}
95
96bool process_record_user(uint16_t keycode, keyrecord_t *record) {
97 switch (keycode) {
98 case KC_ENC:
99 if (record->event.pressed) {
100 tap_code16(selected_encoder_key.keycode);
101 }
102 break;
103 }
104 return true;
105}
106
107
108const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
109 [QWERT] = LAYOUT_all(
110 KC_ENC,
111 TD(TD_TAB_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
112 MO(FN_1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT,
113 KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,
114 KC_LCTL, KC_LGUI, KC_LALT, LT(FN_2,KC_SPC), LT(FN_2,KC_SPC), LT(FN_2,KC_SPC), KC_RALT, DE_MINS, KC_RCTL ),
115
116 [FN_1] = LAYOUT_all(
117 KC_MUTE,
118 QK_GESC, _______, _______, _______, DE_LCBR, DE_RCBR, _______, DE_UDIA, KC_UP, DE_ODIA, DE_QUES, KC_DEL,
119 _______, DE_ADIA, DE_SS, _______, DE_LPRN, DE_RPRN, _______, KC_LEFT, KC_DOWN, KC_RIGHT, DE_HASH, _______,
120 _______, _______, DE_CIRC, DE_ACUT, _______, DE_LBRC, DE_RBRC, KC_HOME, KC_END, DE_QUOT, DE_DQUO, DE_EQL,
121 _______, _______, _______, MO(FN_MOUSE), MO(FN_MOUSE), MO(FN_MOUSE), DE_BSLS, DE_SLSH, DE_TILD ),
122
123 [FN_2] = LAYOUT_all(
124 _______,
125 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_BSPC,
126 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______,
127 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______,
128 _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
129
130 [FN_MOUSE] = LAYOUT_all(
131 _______,
132 _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, _______,
133 _______, _______, _______, _______, KC_ACL0, _______, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______,
134 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
135 _______, _______, _______, _______, _______, _______, _______, _______, _______ )
136};
137
138#ifdef ENCODER_ENABLE
139 bool encoder_update_user(uint8_t index, bool clockwise) {
140 if (clockwise) {
141 if (IS_LAYER_ON(QWERT) && selected_encoder_key_id < NUMBER_OF_ENCODER_KEYS-1) {
142 selected_encoder_key_id ++;
143 set_selected_encoder_key(selected_encoder_key_id);
144 }
145 if (IS_LAYER_ON(FN_1)) {
146 tap_code16(KC_PGDN);
147 }
148 if (IS_LAYER_ON(FN_2)) {
149 tap_code(KC_VOLU);
150 }
151 } else {
152 if (IS_LAYER_ON(QWERT) && selected_encoder_key_id > 0) {
153 selected_encoder_key_id --;
154 set_selected_encoder_key(selected_encoder_key_id);
155 }
156 if (IS_LAYER_ON(FN_1)) {
157 tap_code16(KC_PGUP);
158 }
159 if (IS_LAYER_ON(FN_2)) {
160 tap_code(KC_VOLD);
161 }
162 }
163 return false;
164 }
165#endif
166
167#ifdef OLED_ENABLE
168 oled_rotation_t oled_init_user(oled_rotation_t rotation) {
169 set_selected_encoder_key(selected_encoder_key_id);
170
171 return OLED_ROTATION_180; // flips the display 180 degrees
172 }
173
174 static void render_anim(void) {
175
176 // Idle animation
177 static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
178
179 {
180 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
181 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,
182 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
183 },
184
185 {
186 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
187 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
188 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
189 },
190
191 {
192 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32,
193 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,0,
194 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
195 },
196
197 {
198 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
199 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
200 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
201 },
202
203 {
204 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64,
205 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,
206 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
207 }
208
209 };
210
211 // Prep animation
212 static const char PROGMEM prep[][ANIM_SIZE] = {
213
214 {
215 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,
216 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,
217 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
218 }
219
220 };
221
222 // Typing animation
223 static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
224
225 {
226 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159,
227 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,
228 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
229 },
230
231 {
232 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32,
233 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,128,
234 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
235 }
236
237 };
238
239 void animation_phase(void) {
240 if (get_current_wpm() <= IDLE_SPEED) {
241 current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
242 oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE);
243 }
244
245 if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
246 oled_write_raw_P(prep[0], ANIM_SIZE);
247 }
248
249 if (get_current_wpm() >= TAP_SPEED) {
250 current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
251 oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
252 }
253 }
254
255 if (get_current_wpm() != 000) {
256 oled_on();
257
258 if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
259 anim_timer = timer_read32();
260 animation_phase();
261 }
262
263 anim_sleep = timer_read32();
264 } else {
265 if (timer_elapsed32(anim_sleep) > oled_timeout) {
266 oled_off();
267 } else {
268 if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
269 anim_timer = timer_read32();
270 animation_phase();
271 }
272 }
273 }
274 }
275
276 bool oled_task_user(void) {
277
278 render_anim();
279
280 oled_set_cursor(0,0);
281 oled_write(selected_encoder_key.label_top, false);
282
283 oled_set_cursor(0,1);
284 oled_write(selected_encoder_key.label_mid, false);
285
286 oled_set_cursor(0,2);
287 oled_write(selected_encoder_key.label_bottom, false);
288
289 /* hide wpm display for now
290 oled_set_cursor(13,3);
291 oled_write_P(PSTR("WPM: "), false);
292 oled_write(get_u8_str(get_current_wpm(), ' '), false);
293 */
294
295 return false;
296 }
297
298 void suspend_power_down_user(void) {
299 oled_off();
300 }
301#endif
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md
deleted file mode 100644
index 85b3490608..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/readme.md
+++ /dev/null
@@ -1,29 +0,0 @@
1Fearless Spiff's Custom Mercutio Keymap
2 - "Programmer"-centric and German layout based keymap
3 - Based on Bongocat and Jonavin keymap
4
5Features
6 - Fancy Bongocat! Yay! (borrowed from bongocat obviously)
7 - Encoder selectable key codes and displayed on OLED (borrowed and multi-line-enhanced from Jonavin)
8 - Change encoder_keys in keymap.c to assign your desired key selection
9 - Additional encoder functionality
10 - While holding FN_1, page up and down
11 - While holding FN_2, volume up and down
12 - Mouse controls by holding Caps-Space
13 - Use my templates for your own layout overview at [Keyboard Layout Editor](http://www.keyboard-layout-editor.com) using my gist [here](https://gist.github.com/FearlessSpiff)
14 - Shout out to [KMonad](https://github.com/kmonad/kmonad) which enabled my laptop keyboard to behave like my Mercutio!
15
16QWERT Layer
17![image](https://user-images.githubusercontent.com/1927259/148683284-04932e15-a34d-451e-b657-335780033f36.png)
18
19FN_1 Layer
20![image](https://user-images.githubusercontent.com/1927259/157032746-8aa68e1c-27b9-4cf5-88ed-a071d8238f56.png)
21
22FN_2 layer
23![image](https://user-images.githubusercontent.com/1927259/148683306-364bc59c-b41b-4092-b93b-d7b4fc58567b.png)
24
25FN_MOUSE layer
26![image](https://user-images.githubusercontent.com/1927259/157032817-83922578-8932-42bf-a2d2-f785136b4d4e.png)
27
28
29
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk
deleted file mode 100644
index fc0ec28153..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
1WPM_ENABLE = yes
2TAP_DANCE_ENABLE = yes
3VIA_ENABLE = no
4MOUSEKEY_ENABLE = yes
5EXTRAKEY_ENABLE = yes # Audio control and System control
6KEY_LOCK_ENABLE = no
7CONSOLE_ENABLE = no
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h
deleted file mode 100644
index 9d588ed8c0..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
1/* Copyright 2022 Fearless Spiff
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define TAPPING_TERM 180
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c
deleted file mode 100644
index c79c00a707..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c
+++ /dev/null
@@ -1,293 +0,0 @@
1/* Copyright 2021 Kyle McCreery
2 * Copyright 2021 Jonavin Eng
3 * Copyright 2022 Fearless Spiff
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#include QMK_KEYBOARD_H
20#include "keymap_german.h"
21
22// OLED setup for bongocat
23#define IDLE_FRAMES 5
24#define IDLE_SPEED 30
25#define TAP_FRAMES 2
26#define TAP_SPEED 40
27#define ANIM_FRAME_DURATION 200
28#define ANIM_SIZE 512
29
30#define LABEL_LENGTH 8
31
32#define KC_CAD LALT(LCTL(KC_DEL))
33#define KC_TEAMS_CAM C(S(KC_O))
34#define KC_TEAMS_MUTE C(S(KC_M))
35
36enum layers {
37 QWERT,
38 FN_1,
39 FN_2
40};
41
42enum custom_user_keycodes {
43 KC_ENC = SAFE_RANGE
44};
45
46static long int oled_timeout = 1800000; // 30 minutes
47bool gui_on = true;
48char wpm_str[10];
49uint32_t anim_timer = 0;
50uint32_t anim_sleep = 0;
51uint8_t current_idle_frame = 0;
52uint8_t current_tap_frame = 0;
53
54// Tap Dance declarations
55enum {
56 TD_TAB_ESC,
57};
58
59// Tap Dance definitions
60tap_dance_action_t tap_dance_actions[] = {
61 // Tap once for Tab, twice for Esc
62 [TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
63};
64
65typedef struct {
66 char label_top[LABEL_LENGTH];
67 char label_mid[LABEL_LENGTH];
68 char label_bottom[LABEL_LENGTH];
69 uint16_t keycode;
70} encoder_key;
71
72static const encoder_key PROGMEM encoder_keys[] = {
73 // list of key codes that will be scrolled through by encoder and description
74 // Be aware that it only works when using one char less than defined. In this case 7 max. No idea why?
75 {"Teams", "Toggle", "Mic", KC_TEAMS_MUTE},
76 {"Teams", "Toggle", "Cam", KC_TEAMS_CAM},
77 {"Ctrl", "Alt", "Del", KC_CAD},
78 {"Caps", "Lock", "", KC_CAPS_LOCK},
79 {"Pause", "", "", KC_PAUSE},
80 {"PrtScr", "", "", KC_PSCR},
81 {"Insert", "", "", KC_INS},
82 {"Play", "", "", KC_MEDIA_PLAY_PAUSE}
83};
84
85#define NUMBER_OF_ENCODER_KEYS ARRAY_SIZE(encoder_keys)
86
87static uint8_t selected_encoder_key_id = 0;
88static encoder_key selected_encoder_key;
89
90static void set_selected_encoder_key(uint8_t idx) {
91 // make a copy from PROGMEM
92 memcpy_P (&selected_encoder_key, &encoder_keys[idx], sizeof selected_encoder_key);
93}
94
95bool process_record_user(uint16_t keycode, keyrecord_t *record) {
96 switch (keycode) {
97 case KC_ENC:
98 if (record->event.pressed) {
99 tap_code16(selected_encoder_key.keycode);
100 }
101 break;
102 }
103 return true;
104}
105
106
107const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
108 [QWERT] = LAYOUT_all(
109 KC_ENC,
110 TD(TD_TAB_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
111 LT(1,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_PLUS, KC_ENT,
112 KC_LSFT, KC_LABK, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,
113 KC_LCTL, KC_LGUI, LT(2,KC_LALT), KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(2), KC_RCTL ),
114
115 [FN_1] = LAYOUT_all(
116 KC_MUTE,
117 QK_GESC, _______, KC_UP, _______, KC_LCBR, KC_RCBR, _______, _______, KC_UP, _______, KC_QUES, KC_DEL,
118 _______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LPRN, KC_RPRN, KC_QUES, KC_LEFT, KC_DOWN, KC_LABK, KC_RABK, _______,
119 _______, KC_BSLS, KC_SLSH, KC_PIPE, _______, KC_LBRC, KC_RBRC, KC_HOME, KC_END, KC_QUOT, KC_DQUO, KC_EQL,
120 _______, _______, _______, _______, _______, _______, KC_BSLS, KC_SLSH, KC_TILD ),
121
122 [FN_2] = LAYOUT_all(
123 _______,
124 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
125 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_AMPR, KC_PERC, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______,
126 _______, _______, KC_MINS, KC_PLUS, KC_BSLS, KC_SLSH, KC_SCLN, KC_COLN, KC_QUES, KC_LBRC, KC_RBRC, KC_DOT,
127 KC_DQUO, KC_QUOT, KC_DQUO, _______, _______, _______, _______, _______, KC_PIPE )
128};
129
130#ifdef ENCODER_ENABLE
131 bool encoder_update_user(uint8_t index, bool clockwise) {
132 if (clockwise) {
133 if (IS_LAYER_ON(QWERT) && selected_encoder_key_id < NUMBER_OF_ENCODER_KEYS-1) {
134 selected_encoder_key_id ++;
135 set_selected_encoder_key(selected_encoder_key_id);
136 }
137 if (IS_LAYER_ON(FN_1)) {
138 tap_code16(KC_PGDN);
139 }
140 if (IS_LAYER_ON(FN_2)) {
141 tap_code(KC_VOLU);
142 }
143 } else {
144 if (IS_LAYER_ON(QWERT) && selected_encoder_key_id > 0) {
145 selected_encoder_key_id --;
146 set_selected_encoder_key(selected_encoder_key_id);
147 }
148 if (IS_LAYER_ON(FN_1)) {
149 tap_code16(KC_PGUP);
150 }
151 if (IS_LAYER_ON(FN_2)) {
152 tap_code(KC_VOLD);
153 }
154 }
155 return false;
156 }
157#endif
158
159#ifdef OLED_ENABLE
160 oled_rotation_t oled_init_user(oled_rotation_t rotation) {
161 set_selected_encoder_key(selected_encoder_key_id);
162
163 return OLED_ROTATION_180; // flips the display 180 degrees
164 }
165
166 static void render_anim(void) {
167
168 // Idle animation
169 static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {
170
171 {
172 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
173 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,
174 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
175 },
176
177 {
178 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,16,8,8,4,4,4,8,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,100,130,2,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
179 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,56,4,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
180 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
181 },
182
183 {
184 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,64,64,64,64,32,32,32,32,16,8,4,2,2,4,24,96,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,194,1,1,2,2,4,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,129,130,130,132,8,16,32,64,128,0,0,0,0,128,128,128,128,64,64,64,64,32,
185 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,25,6,0,0,0,0,0,0,0,24,24,24,27,3,0,64,160,34,36,20,18,18,18,11,8,8,8,8,5,5,9,9,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,0,
186 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
187 },
188
189 {
190 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,
191 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,
192 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
193 },
194
195 {
196 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,8,4,2,2,2,4,56,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,226,1,1,2,2,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,192,193,193,194,4,8,16,32,64,128,0,0,0,128,128,128,128,64,64,64,64,
197 32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,12,12,12,13,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,2,2,4,4,8,8,8,8,8,7,0,0,
198 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
199 }
200
201 };
202
203 // Prep animation
204 static const char PROGMEM prep[][ANIM_SIZE] = {
205
206 {
207 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,
208 64,64,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,195,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,
209 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
210 }
211
212 };
213
214 // Typing animation
215 static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = {
216
217 {
218 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,248,248,248,248,0,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,129,128,128,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,1,2,4,8,16,32,67,135,7,1,0,184,188,190,159,
219 95,95,79,76,32,32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,24,6,5,152,153,132,67,124,65,65,64,64,32,33,34,18,17,17,17,9,8,8,8,8,4,4,8,8,16,16,16,16,16,17,15,1,61,124,252,252,252,252,252,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,2,2,1,1,1,
220 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
221 },
222
223 {
224 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,0,0,0,0,0,128,64,64,32,32,32,32,16,16,16,16,8,4,2,1,1,2,12,48,64,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,225,0,0,1,1,2,2,1,0,0,0,0,128,128,0,0,0,0,0,0,0,0,0,128,0,48,48,0,0,1,225,26,6,9,49,53,1,138,124,0,0,128,128,128,128,64,64,64,64,32,
225 32,32,32,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,112,12,3,0,0,0,0,0,0,0,0,0,0,1,1,0,64,160,33,34,18,17,17,17,9,8,8,8,8,4,4,4,4,4,4,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,64,64,64,64,64,32,32,32,32,32,16,16,16,16,16,8,8,8,8,8,4,4,4,4,4,2,3,122,122,121,121,121,121,57,49,2,2,4,4,8,8,8,136,136,135,128,
226 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
227 }
228
229 };
230
231 void animation_phase(void) {
232 if (get_current_wpm() <= IDLE_SPEED) {
233 current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES;
234 oled_write_raw_P(idle[abs((IDLE_FRAMES-1)-current_idle_frame)], ANIM_SIZE);
235 }
236
237 if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
238 oled_write_raw_P(prep[0], ANIM_SIZE);
239 }
240
241 if (get_current_wpm() >= TAP_SPEED) {
242 current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
243 oled_write_raw_P(tap[abs((TAP_FRAMES-1)-current_tap_frame)], ANIM_SIZE);
244 }
245 }
246
247 if (get_current_wpm() != 000) {
248 oled_on();
249
250 if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
251 anim_timer = timer_read32();
252 animation_phase();
253 }
254
255 anim_sleep = timer_read32();
256 } else {
257 if (timer_elapsed32(anim_sleep) > oled_timeout) {
258 oled_off();
259 } else {
260 if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
261 anim_timer = timer_read32();
262 animation_phase();
263 }
264 }
265 }
266 }
267
268 bool oled_task_user(void) {
269
270 render_anim();
271
272 oled_set_cursor(0,0);
273 oled_write(selected_encoder_key.label_top, false);
274
275 oled_set_cursor(0,1);
276 oled_write(selected_encoder_key.label_mid, false);
277
278 oled_set_cursor(0,2);
279 oled_write(selected_encoder_key.label_bottom, false);
280
281 /* hide wpm display for now
282 oled_set_cursor(13,3);
283 oled_write_P(PSTR("WPM: "), false);
284 oled_write(get_u8_str(get_current_wpm(), ' '), false);
285 */
286
287 return false;
288 }
289
290 void suspend_power_down_user(void) {
291 oled_off();
292 }
293#endif
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md
deleted file mode 100644
index dea71bf358..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
1Fearless Spiff's Custom Mercutio Keymap
2 - "Programmer"-centric and German layout based keymap
3 - Based on Bongocat and Jonavin keymap
4
5Features
6 - Fancy Bongocat! Yay! (borrowed from bongocat obviously)
7 - Encoder selectable key codes and displayed on OLED (borrowed and multi-line-enhanced from Jonavin)
8 - Change encoder_keys in keymap.c to assign your desired key selection
9 - Additional encoder functionality
10 - While holding FN_1, page up and down
11 - While holding FN_2, volume up and down
12 - Use my templates for your own layout overview at [Keyboard Layout Editor](http://www.keyboard-layout-editor.com) using my gist [here](https://gist.github.com/FearlessSpiff)
13
14QWERT Layer
15![image](https://user-images.githubusercontent.com/1927259/148683284-04932e15-a34d-451e-b657-335780033f36.png)
16
17FN_1 Layer
18![image](https://user-images.githubusercontent.com/1927259/148683299-f2c80403-3f29-4ba8-9fc4-957729f30b05.png)
19
20FN_2 layer
21![image](https://user-images.githubusercontent.com/1927259/148683306-364bc59c-b41b-4092-b93b-d7b4fc58567b.png)
22
diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk
deleted file mode 100644
index 4775e0e11d..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
1WPM_ENABLE = yes
2TAP_DANCE_ENABLE = yes
3MOUSEKEY_ENABLE = no
diff --git a/keyboards/mehkee96/keymaps/johann/keymap.c b/keyboards/mehkee96/keymaps/johann/keymap.c
deleted file mode 100644
index 30fdb742c4..0000000000
--- a/keyboards/mehkee96/keymaps/johann/keymap.c
+++ /dev/null
@@ -1,80 +0,0 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5 /* Layer 0, default layer
6____________________________________________________________________________________________________________________________________________________________________________
7| | | | | | | | | | | | | | | | | | | |
8| ESC* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | P SCN | HOME | DEL | INSERT | P Up | P Down |
9|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
10| | | | | | | | | | | | | | | BACK | NUM | | | Play |
11| ~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | _ - | = + | \ | SPACE | LOCK | / | * | Pause |
12|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
13| | | | | | | | | | | | [ | ] | | | | | |
14| TAB | Q | W | E | R | T | Y | U | I | O | P | { | } | | \ | 7 | 8 | 9 | Next |
15|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________|
16| | | | | | | | | | | ; | ' | | | | | |
17| CAPS LOCK | A | S | D | F | G | H | J | K | L | : | " | ENTER | 4 | 5 | 6 | - |
18|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
19| | | | | | | | | , | . | / | | | | | | |
20| SHIFT | Z | X | C | V | B | N | M | < | > | ? | SHIFT | UP | 1 | 2 | 3 | + |
21|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________|
22| | | | | | | MO | | | | | | |
23| CTRL | LGUI | L ALT | SPACE | R ALT | RGUI | _FN | LEFT | DOWN | RIGHT | 0 | . | ENTER |
24|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
25*/
26
27
28
29 LAYOUT(
30 KC_ESC, 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_PSCR, KC_HOME, KC_DEL, KC_INS, KC_PGUP, KC_PGDN,
31 KC_GRV, 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_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_MPLY,
32 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_MNXT,
33 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PMNS,
34 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_UP, KC_P1, KC_P2, KC_P3, KC_PPLS,
35 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
36
37
38
39 /* Layer 1, function layer
40____________________________________________________________________________________________________________________________________________________________________________
41| | | | | | | | | | | | | | | VOL | VOL | | | |
42| QK_BOOT | | | | | | | | | | | | | MUTE | DOWN | UP | | | |
43|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
44| | | | | | | | | | | | | | | | | | | |
45| | | | | | | | | | | | | | | | | | | |
46|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
47| | RGB | | RGB | HUE | HUE | SATUR. | SATUR. | VALUE | VALUE | | | | | | | | |
48| | TOGGLE | | MODE |INCREASE| DCRSE |INCREASE| DCRSE |INCREASE| DCRSE | | | | | | | | |
49|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________|________|
50| BACKLIGHT | | | | | | | | | | | | | | | | |
51| TOGGLE | | | | | | | | | | | | | | | | |
52|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
53| | | | |BACKLHT |BACKLHT |BACKLHT | | | | | | | | | | | |
54| | | | | DCRSE |TOGGLE |INCREASE| | | | | | | | | | | |
55|_________|________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________|________|
56| | | | | | | | | | | | | |
57| | | | | | | | | | | | | |
58|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
59BL_TOGG, BL_DOWN,BL_UP changes the in-switch LEDs
60*/
61
62
63 LAYOUT(
64 QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
66 _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
67 BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
68 _______ , _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
69 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
70};
71
72void matrix_init_user(void) {
73}
74
75void matrix_scan_user(void) {
76}
77
78bool process_record_user(uint16_t keycode, keyrecord_t *record) {
79 return true;
80}
diff --git a/keyboards/minimacro5/keymaps/kabraxcis/keymap.c b/keyboards/minimacro5/keymaps/kabraxcis/keymap.c
deleted file mode 100644
index 6b7026ce20..0000000000
--- a/keyboards/minimacro5/keymaps/kabraxcis/keymap.c
+++ /dev/null
@@ -1,63 +0,0 @@
1/* Copyright 2020 dezlidezlidezli
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19enum layers {
20 _MAIN,
21};
22
23bool encoder_update_user(uint8_t index, bool clockwise) {
24 if (index == 0) { /* First encoder*/
25 if (clockwise) {
26 tap_code(KC_VOLU);
27 } else {
28 tap_code(KC_VOLD);
29 }
30 } else if (index == 1) { /* Second encoder*/
31 if (clockwise) {
32 tap_code(KC_3);
33 } else {
34 tap_code(KC_4);
35 }
36 } else if (index == 2) { /* Third encoder*/
37 if (clockwise) {
38 tap_code(KC_5);
39 } else {
40 tap_code(KC_6);
41 }
42 } else if (index == 3) { /* Fourth encoder*/
43 if (clockwise) {
44 tap_code(KC_7);
45 } else {
46 tap_code(KC_8);
47 }
48 } else if (index == 4) { /* Fifth encoder*/
49 if (clockwise) {
50 tap_code(KC_VOLU);
51 } else {
52 tap_code(KC_VOLD);
53 }
54 }
55 return true;
56}
57
58//
59const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
60 [_MAIN] = LAYOUT_ortho_1x5(
61 KC_CAPS, KC_MNXT, KC_MPLY, KC_MPRV, KC_CAPS
62 )
63};
diff --git a/keyboards/minimacro5/keymaps/voaraq/keymap.c b/keyboards/minimacro5/keymaps/voaraq/keymap.c
deleted file mode 100644
index 9af37167dc..0000000000
--- a/keyboards/minimacro5/keymaps/voaraq/keymap.c
+++ /dev/null
@@ -1,63 +0,0 @@
1/* Copyright 2020 dezlidezlidezli
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19enum layers {
20 _MAIN,
21};
22
23bool encoder_update_user(uint8_t index, bool clockwise) {
24 if (index == 0) { /* First encoder*/
25 if (clockwise) {
26 tap_code(KC_1);
27 } else {
28 tap_code(KC_2);
29 }
30 } else if (index == 1) { /* Second encoder*/
31 if (clockwise) {
32 tap_code(KC_3);
33 } else {
34 tap_code(KC_4);
35 }
36 } else if (index == 2) { /* Third encoder*/
37 if (clockwise) {
38 tap_code(KC_5);
39 } else {
40 tap_code(KC_6);
41 }
42 } else if (index == 3) { /* Fourth encoder*/
43 if (clockwise) {
44 tap_code(KC_7);
45 } else {
46 tap_code(KC_8);
47 }
48 } else if (index == 4) { /* Fifth encoder*/
49 if (clockwise) {
50 tap_code(KC_VOLU);
51 } else {
52 tap_code(KC_VOLD);
53 }
54 }
55 return true;
56}
57
58//
59const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //buttion closest to usb is first
60 [_MAIN] = LAYOUT_ortho_1x5(
61 KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MUTE
62 )
63};
diff --git a/keyboards/misonoworks/karina/keymaps/voltex/keymap.c b/keyboards/misonoworks/karina/keymaps/voltex/keymap.c
deleted file mode 100644
index f06522f92a..0000000000
--- a/keyboards/misonoworks/karina/keymaps/voltex/keymap.c
+++ /dev/null
@@ -1,70 +0,0 @@
1/*
2Copyright 2020 MisonoWorks
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20enum layers {
21 DEFAULT,
22 SUPER,
23 META,
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28 [DEFAULT] = LAYOUT(
29 KC_TRNS, KC_TRNS,
30 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
31 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
32 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,
33 KC_LALT, MO(SUPER), KC_SPC, KC_BSPC, MO(META), KC_LCTL
34 ),
35
36 [SUPER] = LAYOUT(
37 KC_ESC, KC_TRNS,
38 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
39 KC_MINS, KC_EQL, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_SCLN,
40 KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, KC_BSLS,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS
42 ),
43
44 [META] = LAYOUT(
45 KC_TRNS, KC_TRNS,
46 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
47 KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC,
48 KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PPLS, KC_P2, KC_P0, KC_P1, KC_TRNS, KC_TRNS,
49 RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, KC_TRNS, RGB_MOD
50 )
51
52};
53
54bool encoder_update_user(uint8_t index, bool clockwise) {
55 if (index == 0) {
56 if (clockwise) {
57 tap_code(KC_MS_LEFT);
58 } else {
59 tap_code(KC_MS_RIGHT);
60 }
61 }
62 else if (index == 1) {
63 if (clockwise) {
64 tap_code(KC_MS_U);
65 } else {
66 tap_code(KC_MS_D);
67 }
68 }
69 return true;
70}
diff --git a/keyboards/mitosis/keymaps/carvac_dv/keymap.c b/keyboards/mitosis/keymaps/carvac_dv/keymap.c
deleted file mode 100644
index 842556324f..0000000000
--- a/keyboards/mitosis/keymaps/carvac_dv/keymap.c
+++ /dev/null
@@ -1,123 +0,0 @@
1// This is the Dvorak-friendly layout for the Mitosis by CarVac (/u/CarVac)
2// It features space on the left thumb, shift on the right thumb, a
3// number layer with all the numbers on the home row, and a function layer
4// that provides mouse keys among other things.
5
6#include QMK_KEYBOARD_H
7
8enum mitosis_layers
9{
10 _STD,
11 _NUM,
12 _FN
13};
14
15
16//Mousekeys
17#define MOUSEKEY_DELAY 300
18#define MOUSEKEY_INTERNAL 50
19#define MOUSEKEY_MAX_SPEED 20
20#define MOUSEKEY_TIME_TO_MAX 30
21#define MOUSEKEY_WHEEL_MAX_SPEED 8
22#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26 /* QWERTY
27 * .--------------------------------------------..--------------------------------------------.
28 * | Q | W | E | R | T || Y | U | I | O | P |
29 * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
30 * | A | S | D | F | G || J | H | K | L | ; |
31 * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
32 * | Z | X | C | V | B || N | M | , | . | / |
33 * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
34 * | PGUP | TAB | LCTRL | SPACE || LSHIFT | ENTER | UP | PSCR |
35 * |--------+--------+--------+--------||--------+--------+--------+--------|
36 * | PGDN | LGUI | LALT | FN || NUM | LEFT | DOWN | RIGHT |
37 * '-----------------------------------''-----------------------------------'
38 */
39 [_STD] = LAYOUT( /* Standard; as compatible with dvorak and qwerty as possible */
40 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
41 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
42 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
43 KC_PGUP, KC_TAB, KC_LCTL, KC_SPC, KC_LSFT, KC_ENT, KC_UP, KC_PSCR,
44 KC_PGDN, KC_LGUI, KC_LALT, MO(_FN), MO(_NUM), KC_LEFT, KC_DOWN, KC_RGHT
45 ),
46
47 /* Number layout, for data entry and programming purposes (Dvorak result in parens)
48 * .--------------------------------------------..--------------------------------------------.
49 * | TAB | (,<) | (.>) | - ([{) | = (]}) || ] (=+) | pad * | pad + | pad - | [ (/?) |
50 * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
51 * | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 |
52 * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
53 * | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 |
54 * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
55 * | F11 | F12 | | || | | | |
56 * |--------+--------+--------+--------||--------+--------+--------+--------|
57 * | | | | || | | | |
58 * '-----------------------------------''-----------------------------------'
59 */
60 [_NUM] = LAYOUT( /* Number layout along the home row for maximum speed*/
61 KC_TAB, _______, _______, KC_MINS, KC_EQL, KC_RBRC, KC_PAST, KC_PPLS, KC_PMNS, KC_LBRC,
62 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
63 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
64 KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
65 _______, _______, _______, _______, _______, _______, _______, _______
66 ),
67
68
69 /* Fn layout, for typing purposes (Dvorak result in parens)
70 * .--------------------------------------------..--------------------------------------------.
71 * | ` | | MS_U | | || WH_U | WH_L | BTN3 | WH_R | [ (/?) |
72 * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
73 * | ESC | MS_L | MS_D | MS_R | || WH_D | BTN1 | BTN2 | | ' (-_) |
74 * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
75 * | APP | MPRV | MPLY | MSTP | MNXT || | BSPC | DEL | INS | \ |
76 * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
77 * | VOLU | | | || | | PGUP | |
78 * |--------+--------+--------+--------||--------+--------+--------+--------|
79 * | VOLD | | | || | HOME | PGDN | END |
80 * '-----------------------------------''-----------------------------------'
81 */
82 [_FN] = LAYOUT( /* Function Layer, primary alternative layer featuring numpad on right hand,
83 cursor keys on left hand, and all symbols*/
84 KC_GRV, _______, KC_MS_U, _______, _______, KC_WH_U, KC_WH_L, KC_BTN3, KC_WH_R, KC_LBRC,
85 KC_ESC, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_WH_D, KC_BTN1, KC_BTN2, _______, KC_QUOT,
86 KC_APP, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, _______, KC_BSPC, KC_DEL, KC_INS, KC_BSLS,
87 KC_VOLU, _______, _______, _______, _______, _______, KC_PGUP, _______,
88 KC_VOLD, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
89 ),
90
91 /* blank key layout template
92 * .--------------------------------------------..--------------------------------------------.
93 * | | | | | || | | | | |
94 * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
95 * | | | | | || | | | | |
96 * |--------+--------+--------+--------+--------||--------+--------+--------+--------+--------|
97 * | | | | | || | | | | |
98 * '--------+--------+--------+--------+--------||--------+--------+--------+--------+--------'
99 * | | | | || | | | |
100 * |--------+--------+--------+--------||--------+--------+--------+--------|
101 * | | | | || | | | |
102 * '-----------------------------------''-----------------------------------'
103 */
104
105};
106
107void matrix_scan_user(void) {
108 uint8_t layer = get_highest_layer(layer_state);
109
110 switch (layer) {
111 case _STD:
112 set_led_off;
113 break;
114 case _FN:
115 set_led_blue;
116 break;
117 case _NUM:
118 set_led_red;
119 break;
120 default:
121 break;
122 }
123};
diff --git a/keyboards/mitosis/keymaps/carvac_dv/rules.mk b/keyboards/mitosis/keymaps/carvac_dv/rules.mk
deleted file mode 100644
index 6c605daecf..0000000000
--- a/keyboards/mitosis/keymaps/carvac_dv/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1MOUSEKEY_ENABLE = yes
diff --git a/keyboards/mitosis/keymaps/nzen/keymap.c b/keyboards/mitosis/keymaps/nzen/keymap.c
deleted file mode 100644
index 07816067b4..0000000000
--- a/keyboards/mitosis/keymaps/nzen/keymap.c
+++ /dev/null
@@ -1,207 +0,0 @@
1
2
3#include QMK_KEYBOARD_H
4
5enum mitosis_layers
6{
7 _QWERTY,
8 _WORKMAN,
9 _NUMBERS,
10 _PUNCT,
11 _MOUSE,
12 _LAYERS,
13 _GAMING,
14 _UNICODE,
15 _NUMPAD
16};
17
18
19//Mousekeys
20#define MOUSEKEY_DELAY 300
21#define MOUSEKEY_INTERNAL 50
22#define MOUSEKEY_MAX_SPEED 20
23#define MOUSEKEY_TIME_TO_MAX 30
24#define MOUSEKEY_WHEEL_MAX_SPEED 8
25#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
26
27// Fillers to make layering more clear
28#define XXX KC_NO
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 // https://github.com/nhou7/qmk_firmware_amj40/blob/master/doc/keycode.txt
32 /* QWERTY
33 ['Q', 'W', 'E', 'R', 'T',// 'Y', 'U', 'I', 'O', 'P' ],
34 ['A', 'S', 'D', 'F', 'G',// 'H', 'J', 'K', 'L', '; :' ],
35 ['Z', 'X', 'C', 'V', 'B',// 'N', 'M', ', <', '. >', '\' "' ],
36 [ 'back', 'del', 'ctrl', 'L_n',// 'L_p', 'ctrl', 'ent', 'back', ],
37 [ 'alt', '0', 'shif', 'spac',// 'spac', 'shif', 'cap', 'alt', ]
38 */
39 [_QWERTY] = LAYOUT(
40 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
41 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
42 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOTE,
43 KC_BSPC, KC_DELETE, KC_LCTL, TG( 2 ), TG( 3 ), KC_RCTL, KC_ENTER, KC_BSPC,
44 KC_LALT, KC_0, KC_LSFT, KC_SPACE, KC_SPACE, KC_RSFT, KC_CAPS, KC_RALT
45 ),
46 /*
47 ['Q', 'D', 'R', 'W', 'B',/ ** / 'J', 'F', 'U', 'P', '; :' ],
48 ['A', 'S', 'H', 'T', 'G',/ ** / 'Y', 'N', 'E', 'O', 'I' ],
49 ['Z', 'X', 'M', 'C', 'V',/ ** / 'K', 'L', ', <', '. >', '\' "' ],
50 [ '', '', '', '',/ ** / '', '', '', '', ],
51 [ '', '4', '', '',/ ** / '', '', '', '', ]
52 */
53 [_WORKMAN] = LAYOUT(
54 KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN,
55 KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I,
56 KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMMA, KC_DOT, KC_QUOTE,
57 _______, _______, _______, _______, _______, _______, _______, _______,
58 _______, KC_1, _______, _______, _______, _______, _______, _______
59 ),
60 /*
61 ['9', '8', '7', '6', '5',/ ** / 'F2', 'pDn', *up* /, '*tab* /, 'pUp' ],
62 [' 4', ' 3', ' 2', ' 1', ' 0',/ ** / 'home', *lf* /, '*dn* /, *rt* /, 'end' ],
63 ['undo', 'cut', 'copy', 'paste', 'os',/ ** / 'D', '_', ',', '-', '.' ],
64 // --
65 [ '', '', '', 'L_=6',/ ** / 'L_7', '', '', '', ],
66 [ '', '6', '', '',/ ** / '', '', '', '', ]
67 */
68 [_NUMBERS] = LAYOUT(
69 KC_9, KC_8, KC_7, KC_6, KC_5, KC_F2, KC_PGDN, KC_UP, KC_TAB, KC_PGUP,
70 KC_4, KC_3, KC_2, KC_1, KC_0, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END,
71 LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_LGUI, KC_D, KC_UNDERSCORE, KC_COMMA, KC_MINUS, KC_DOT,
72 _______, _______, _______, TG( 2 ), TG( 3 ), _______, _______, _______,
73 _______, KC_2, _______, _______, _______, _______, _______, _______
74 ),
75 /*
76 [ '#', '@', '&', '.', ';',/ ** / '_', ',', '|', '^', '%' ],
77 [ '*', '+', '{', '(', ':',/ ** / '"', ')', '}', '-', '=' ],
78 [ '\\', '?', '<', '[', '$',/ ** / '~', ']', '>', '!', '/' ],
79 // --
80 ['', '', '', 'L_8',/ ** / 'L_=7', '', '', '', ],
81 ['', '7', '', '',/ ** / '', '', '', '', ]
82 */
83 [_PUNCT] = LAYOUT(
84 KC_HASH, KC_AT, KC_AMPERSAND, KC_DOT, KC_SCLN, KC_UNDERSCORE, KC_COMMA, KC_PIPE, KC_CIRCUMFLEX, KC_PERCENT,
85 KC_ASTERISK, KC_PLUS, KC_LCBR, KC_LPRN, KC_COLON, KC_DQUO, KC_RPRN, KC_RCBR, KC_MINUS, KC_EQUAL,
86 KC_BSLS, KC_QUESTION, KC_LT, KC_LBRC, KC_DOLLAR, KC_TILDE, KC_RBRC, KC_GT, KC_EXCLAIM, KC_SLASH,
87 _______, _______, _______, TG( 4 ), TG( 3 ), _______, _______, _______,
88 _______, KC_3, _______, _______, _______, _______, _______, _______
89 ),
90 /*
91 ['F6', 'F7', 'F8', 'F9', 'F10',/ ** / 'app', 'mb1', 'mmU', 'mb2', 'mwU' ],
92 ['F1', 'F2', 'F3', 'F4', 'F5',/ ** / 'mnu', 'mmL', 'mmD', 'mmR', 'mwD' ],
93 ['F11', 'F12', '`', 'mute', 'ESC',/ ** / 'prtSc', 'scrLk', 'mwL', 'mwR', 'mb3' ],
94 // --
95 [ '', '', '', 'L_=8',/ ** / 'L_9', '', '', '', ],
96 [ '', '8', '', '',/ ** / '', '', '', '', ]
97 */
98 [_MOUSE] = LAYOUT(
99 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MENU, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP,
100 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MENU, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN,
101 KC_F11, KC_F12, KC_GRAVE, KC_MUTE, KC_ESCAPE, KC_PSCR, KC_SCRL, KC_MS_WH_LEFT, KC_MS_WH_RIGHT, KC_MS_BTN3,
102 _______, _______, _______, TG( 4 ), TG( 5 ), _______, _______, _______,
103 _______, KC_4, _______, _______, _______, _______, _______, _______
104 ),
105 /*
106 ['L_ma1', '!', 'L_dv2', '!', 'L_cl3',/ ** / 'L_wk4', '!', 'L_ar5', '!', '!' ],
107 ['!', '!', '!', '!', '!',/ ** / '!', '!', '!', '!', '!' ],
108 ['L_gmA', '!', 'L_ucB', '!', 'L_npC',/ ** / '!', '!', '!', '!', '!' ],
109 // --
110 [ '', '', '', 'L_=9',/ ** / 'L_=9', '', '', '', ],
111 [ '', '9', '', '',/ ** / '', '', '', '', ]
112 */
113 [_LAYERS] = LAYOUT(
114 KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, TG( 1 ), KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM,
115 KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM,
116 TG( 6 ), KC_EXCLAIM, TG( 7 ), KC_EXCLAIM, TG( 8 ), KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM, KC_EXCLAIM,
117 _______, _______, _______, TG( 5 ), TG( 5 ), _______, _______, _______,
118 _______, KC_5, _______, _______, _______, _______, _______, _______
119 ),
120 /*
121 ['Q', 'W', 'E', 'R', 'T',/ ** / 'P', 'Y', '\u2191'*up* /, 'K', '1' ],
122 ['A', 'S', 'D', 'F', 'G',/ ** / 'H', '\u2190'*lf* /, '\u2193'*dn* /, '\u2192'*rt* /, '2' ],
123 ['Z', 'X', 'C', 'V', 'B',/ ** / 'M', '*', '*', '*', '3' ],
124 // --
125 [ '', '', '', 'L_=A',/ ** / 'A', '', '', '', ],
126 [ '', 'A', '', '',/ ** / '', '', '', '', ]
127 */
128 [_GAMING] = LAYOUT(
129 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P, KC_Y, KC_UP, KC_K, KC_1,
130 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_LEFT, KC_DOWN, KC_RIGHT, KC_2,
131 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_M, KC_ASTERISK, KC_ASTERISK, KC_ASTERISK, KC_3,
132 _______, _______, _______, TG( 6 ), KC_6, _______, _______, _______,
133 _______, KC_6, _______, _______, _______, _______, _______, _______
134 ),
135 /*
136 ['\u00a2'cent* /, '\u00bc'1/4* /, '\u00bd'1/2* /, '\u03a3'sum* /, '\u00d8'Oslash* /,/ ** / '\u250f'box ul* /, '\u2533'box um* /, '\u2513'box ur* /, '\u03bb'lambda* /, '\u2018'sm'dn* / ],
137 ['\u00F1'n~* /, '\u00a9'&copy* /, '\u00b0'degrees* /, '\u00b1'+-* /, '\u2b0f'arrow up* /,/ ** / '\u2523'box ml* /, '\u254B'box mm* /, '\u252B'box mr* /, '\u0394'delta* /, '\u2019'sm'up* / ],
138 ['\u00a1'down !* /, '\u00bf'down ?* /, '\u00d7'mult x* /, '\u00f7'div/ * /, '\u03c0'pi* /,/ ** / '\u2517'box ll* /, '\u253b'bos lm* /, '\u251b'box lr* /, '\u201c'sm"dn* /, '\u201d'sm"up* / ],
139 // --
140 [ '', '', '', 'L_=B',/ ** / 'B', '', '', '', ],
141 [ '', 'B', '', '',/ ** / '', '', '', '', ]
142 */
143 [_UNICODE] = LAYOUT(
144 UC(0x00A2), UC(0x00BC), UC(0x00BD), UC(0x03A3), UC(0x00D8), UC(0x250F), UC(0x2533), UC(0x2513), UC(0x03BB), UC(0x2018),
145 UC(0x00F1), UC(0x00A9), UC(0x00B0), UC(0x00B1), UC(0x2B0F), UC(0x2523), UC(0x254B), UC(0x252B), UC(0x0394), UC(0x2019),
146 UC(0x00A1), UC(0x00BF), UC(0x00D7), UC(0x00F7), UC(0x03C0), UC(0x2517), UC(0x253B), UC(0x251B), UC(0x201C), UC(0x201D),
147 _______, _______, _______, TG( 7 ), KC_7, _______, _______, _______,
148 _______, KC_7, _______, _______, _______, _______, _______, _______
149 ),
150 /*
151 ['n-.', 'n-7', 'n-8', 'n-9', 'n--',/ ** / 'n-=', 'volU', 'volD', 'volU', 'volD' ],
152 ['n-0', 'n-4', 'n-5', 'n-6', 'n-+',/ ** / 'N-lck', 'BACK', 'MUTE', 'RGUI', 'paus' ],
153 ['n -*', 'n-1', 'n-2', 'n-3', 'n-/',/ ** / 'n-ent', 'PLAY', 'PREV', 'NEXT', 'insr' ],
154 // --
155 [ '', '', '', 'L_=C',/ ** / 'C', '', '', '', ],
156 [ '', 'C', '', '',/ ** / '', '', '', '', ]
157 */
158 [_NUMPAD] = LAYOUT(
159 KC_KP_DOT, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, KC_KP_EQUAL, KC_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN, KC_VOLU, KC_VOLD,
160 KC_KP_0, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_NUM, KC_WWW_BACK, KC_AUDIO_MUTE, KC_RGUI, KC_PAUSE,
161 KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_SLASH, KC_KP_ENTER, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_INSERT,
162 _______, _______, _______, TG( 8 ), KC_8, _______, _______, _______,
163 _______, KC_8, _______, _______, _______, _______, _______, _______
164 )// ,
165 /*
166 * /
167 [_] = LAYOUT(
168 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
169 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
170 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
171 _______, _______, _______, _______, _______, _______, _______, _______,
172 _______, _______, _______, _______, _______, _______, _______, _______
173 )
174 */
175};
176
177void matrix_scan_user(void) {
178 uint8_t layer = get_highest_layer(layer_state);
179
180 switch (layer) {
181 case _QWERTY:
182 case _WORKMAN:
183 set_led_off;
184 break;
185 case _NUMBERS:
186 set_led_blue;
187 break;
188 case _PUNCT:
189 set_led_red;
190 break;
191 case _MOUSE:
192 set_led_green;
193 break;
194 case _LAYERS:
195 set_led_yellow;
196 break;
197 case _UNICODE:
198 set_led_cyan;
199 break;
200 default:
201 break;
202 }
203};
204
205void matrix_init_user(void) {
206 set_unicode_input_mode(UNICODE_MODE_LINUX); // or UNICODE_MODE_WINCOMPOSE
207};
diff --git a/keyboards/mitosis/keymaps/nzen/readme.md b/keyboards/mitosis/keymaps/nzen/readme.md
deleted file mode 100644
index c11981bd4d..0000000000
--- a/keyboards/mitosis/keymaps/nzen/readme.md
+++ /dev/null
@@ -1,75 +0,0 @@
1
2### personal layout: Nzen
3
4Levels
5
6* Qwerty, with quotes in place of slash question.
7* Workman
8* Numbers and navigation, left and right hands respectively
9* Punctuation, mostly symmetric
10* Function and mouse, l/r respectively
11* Layer hub, to reach workman or upper layers
12* Gaming, qwert and arrows
13* Unicode, some numerics and one of the box styles
14* Numpad and media, l/r respectively
15
16Bottom cluster is the same on all levels and mostly symmetric. The 'ring fingers' differ between the two sides. N is a number corresponding to the current layer. Toggle layer will be one down and one up.
17
18* back del/enter ctrl toggle-layer
19* alt N/caps shift space
20
21You can preview the layout by cloning [this webpage](https://gitlab.com/Nzen/impatient-broth-nenem). The page imitates qmk's fallthrough.
22
23['Q', 'W', 'E', 'R', 'T',// 'Y', 'U', 'I', 'O', 'P'
24['A', 'S', 'D', 'F', 'G',// 'H', 'J', 'K', 'L', '; :'
25['Z', 'X', 'C', 'V', 'B',// 'N', 'M', ', <', '. >', '\' "'
26[ 'back', 'del', 'ctrl', 'L_n',// 'L_p', 'ctrl', 'ent', 'back',
27[ 'alt', '0', 'shif', 'spac',// 'spac', 'shif', 'cap', 'alt',
28
29['Q', 'D', 'R', 'W', 'B',/ ** / 'J', 'F', 'U', 'P', '; :'
30['A', 'S', 'H', 'T', 'G',/ ** / 'Y', 'N', 'E', 'O', 'I'
31['Z', 'X', 'M', 'C', 'V',/ ** / 'K', 'L', ', <', '. >', '\' "'
32[ '', '', '', '',/ ** / '', '', '', '',
33[ '', '4', '', '',/ ** / '', '', '', '',
34
35['9', '8', '7', '6', '5',/ ** / 'F2', 'pDn', *up* /, '*tab* /, 'pUp'
36[' 4', ' 3', ' 2', ' 1', ' 0',/ ** / 'home', *lf* /, '*dn* /, *rt* /, 'end'
37['undo', 'cut', 'copy', 'paste', 'os',/ ** / 'D', '_', ',', '-', '.'
38[ '', '', '', 'L_=6',/ ** / 'L_7', '', '', '',
39[ '', '6', '', '',/ ** / '', '', '', '',
40
41[ '#', '@', '&', '.', ';',/ ** / '_', ',', '|', '^', '%'
42[ '*', '+', '{', '(', ':',/ ** / '"', ')', '}', '-', '='
43[ '\\', '?', '<', '[', '$',/ ** / '~', ']', '>', '!', '/'
44['', '', '', 'L_8',/ ** / 'L_=7', '', '', '',
45['', '7', '', '',/ ** / '', '', '', '',
46
47['F6', 'F7', 'F8', 'F9', 'F10',/ ** / 'app', 'mb1', 'mmU', 'mb2', 'mwU'
48['F1', 'F2', 'F3', 'F4', 'F5',/ ** / 'mnu', 'mmL', 'mmD', 'mmR', 'mwD'
49['F11', 'F12', '`', 'mute', 'ESC',/ ** / 'prtSc', 'scrLk', 'mwL', 'mwR', 'mb3'
50[ '', '', '', 'L_=8',/ ** / 'L_9', '', '', '',
51[ '', '8', '', '',/ ** / '', '', '', '',
52
53['L_ma1', '!', 'L_dv2', '!', 'L_cl3',/ ** / 'L_wk4', '!', 'L_ar5', '!', '!'
54['!', '!', '!', '!', '!',/ ** / '!', '!', '!', '!', '!'
55['L_gmA', '!', 'L_ucB', '!', 'L_npC',/ ** / '!', '!', '!', '!', '!'
56[ '', '', '', 'L_=9',/ ** / 'L_=9', '', '', '',
57[ '', '9', '', '',/ ** / '', '', '', '',
58
59['Q', 'W', 'E', 'R', 'T',/ ** / 'P', 'Y', '\u2191'*up* /, 'K', '1'
60['A', 'S', 'D', 'F', 'G',/ ** / 'H', '\u2190'*lf* /, '\u2193'*dn* /, '\u2192'*rt* /, '2'
61['Z', 'X', 'C', 'V', 'B',/ ** / 'M', '*', '*', '*', '3'
62[ '', '', '', 'L_=A',/ ** / 'A', '', '', '',
63[ '', 'A', '', '',/ ** / '', '', '', '',
64
65['\u00a2'cent* /, '\u00bc'1/4* /, '\u00bd'1/2* /, '\u03a3'sum* /, '\u00d8'Oslash* /,/ ** / '\u250f'box ul* /, '\u2533'box um* /, '\u2513'box ur* /, '\u03bb'lambda* /, '\u2018'sm'dn* / ],
66['\u00F1'n~* /, '\u00a9'&copy* /, '\u00b0'degrees* /, '\u00b1'+-* /, '\u2b0f'arrow up* /,/ ** / '\u2523'box ml* /, '\u254B'box mm* /, '\u252B'box mr* /, '\u0394'delta* /, '\u2019'sm'up* / ],
67['\u00a1'down !* /, '\u00bf'down ?* /, '\u00d7'mult x* /, '\u00f7'div/ * /, '\u03c0'pi* /,/ ** / '\u2517'box ll* /, '\u253b'bos lm* /, '\u251b'box lr* /, '\u201c'sm"dn* /, '\u201d'sm"up* /
68[ '', '', '', 'L_=B',/ ** / 'B', '', '', '',
69[ '', 'B', '', '',/ ** / '', '', '', '',
70
71['n-.', 'n-7', 'n-8', 'n-9', 'n--',/ ** / 'n-=', 'volU', 'volD', 'volU', 'volD'
72['n-0', 'n-4', 'n-5', 'n-6', 'n-+',/ ** / 'N-lck', 'BACK', 'MUTE', 'RGUI', 'paus'
73['n -*', 'n-1', 'n-2', 'n-3', 'n-/',/ ** / 'n-ent', 'PLAY', 'PREV', 'NEXT', 'insr'
74[ '', '', '', 'L_=C',/ ** / 'C', '', '', '',
75[ '', 'C', '', '',/ ** / '', '', '', '',
diff --git a/keyboards/mitosis/keymaps/nzen/rules.mk b/keyboards/mitosis/keymaps/nzen/rules.mk
deleted file mode 100644
index eaba18db96..0000000000
--- a/keyboards/mitosis/keymaps/nzen/rules.mk
+++ /dev/null
@@ -1,8 +0,0 @@
1
2
3# Build Options
4# change to "no" to disable the options, or define them in the Makefile in
5# the appropriate keymap folder that will get included automatically
6#
7CONSOLE_ENABLE = no # Console for debug(+400)
8COMMAND_ENABLE = no # Commands for debug and configuration
diff --git a/keyboards/miuni32/keymaps/adam-lee/config.h b/keyboards/miuni32/keymaps/adam-lee/config.h
deleted file mode 100644
index df06a26206..0000000000
--- a/keyboards/miuni32/keymaps/adam-lee/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7
8#endif \ No newline at end of file
diff --git a/keyboards/miuni32/keymaps/adam-lee/keymap.c b/keyboards/miuni32/keymaps/adam-lee/keymap.c
deleted file mode 100644
index d6f5f40fdd..0000000000
--- a/keyboards/miuni32/keymaps/adam-lee/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 /* Level 0: Default Layer
5 * ,---------------------------------------------------------------------------------------.
6 * | Q | W | E | R | T | Y | U | I | O | P | BSP |
7 * |---------------------------------------------------------------------------------------|
8 * | A | S | D | F | G | H | J | K | L | ENT |LT(1|,)|
9 * |---------------------------------------------------------------------------------------|
10 * |LT(3|Z)| X | C | V | SPC | B | N | M | RSFT |LT(2|.)|
11 * |---------------------------------------------------------------------------------------|
12 */
13 [0] = LAYOUT(
14 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
15 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, LT(1, KC_COMMA),
16 LT(3, KC_Z), KC_X, KC_C, KC_V, KC_SPC, KC_B, KC_N, KC_M, KC_RSFT, LT(2, KC_DOT)
17 ),
18 /* Level 1: Numbers Layer
19 * ,---------------------------------------------------------------------------------------.
20 * | ESC | 7 | 8 | 9 | / | * | . | , | ( | ) | DEL |
21 * |---------------------------------------------------------------------------------------|
22 * | TAB | 4 | 5 | 6 | - | + | HOME | UP | END | PGUP | TRNS |
23 * |---------------------------------------------------------------------------------------|
24 * | LATL | 1 | 2 | 3 | 0 | LEFT | DOWN | RGHT | PGDN | RSHFT |
25 * |---------------------------------------------------------------------------------------|
26 */
27 [1] = LAYOUT(
28 KC_ESC, KC_7, KC_8, KC_9, KC_SLSH, KC_ASTR, KC_DOT, KC_COMM, KC_LPRN, KC_RPRN, KC_DEL,
29 KC_TAB, KC_4, KC_5, KC_6, KC_MINS, KC_PLUS, KC_HOME, KC_UP, KC_END, KC_PGUP, _______,
30 KC_LALT, KC_1, KC_2, KC_3, KC_0, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_RSFT
31 ),
32 /* Level 2: Symbols Layer
33 * ,---------------------------------------------------------------------------------------.
34 * | ! | @ | # | $ | % | ^ | & | * | - | + | = |
35 * |---------------------------------------------------------------------------------------|
36 * | { | } | [ | ] | TRNS | TRNS | \ | ; | : | ` | ? |
37 * |---------------------------------------------------------------------------------------|
38 * | LSFT | LCTL | L | T | TAB | N | TRNS | TRNS | RCTL | TRNS |
39 * |---------------------------------------------------------------------------------------|
40 */
41 [2] = LAYOUT(
42 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_PLUS, KC_EQL,
43 KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______, _______, KC_BSLS, KC_SCLN, KC_COLN, KC_GRV, KC_QUES,
44 KC_LSFT, KC_LCTL, KC_L, KC_T, KC_TAB, KC_N, _______, _______, KC_RCTL, _______
45 ),
46 /* Level 3: RGB Layer
47 * ,---------------------------------------------------------------------------------------.
48 * | QK_BOOT | TRNS | TRNS | TRNS | TRNS | F1 | F2 | F3 | F4 | F5 | F6 |
49 * |---------------------------------------------------------------------------------------|
50 * |RGB_TOG|RGB_MOD|RGB_HUI|RGB_HUD| NO |RGB_SAI|RGB_SAD|RGB_VAI|RGB_VAD| TRNS | TRNS |
51 * |---------------------------------------------------------------------------------------|
52 * | TRNS | TRNS | TRNS | TRNS | F7 | F8 | F9 | F10 | F11 | F12 |
53 * |---------------------------------------------------------------------------------------|
54 */
55 [3] = LAYOUT(
56 QK_BOOT, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
57 RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_NO, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______,
58 _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12
59 )
60};
diff --git a/keyboards/miuni32/keymaps/adam-lee/readme.md b/keyboards/miuni32/keymaps/adam-lee/readme.md
deleted file mode 100644
index 4cff8ef5a3..0000000000
--- a/keyboards/miuni32/keymaps/adam-lee/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# The default keymap for miuni32 \ No newline at end of file
diff --git a/keyboards/miuni32/keymaps/adam-lee/rules.mk b/keyboards/miuni32/keymaps/adam-lee/rules.mk
deleted file mode 100644
index 1022078ba6..0000000000
--- a/keyboards/miuni32/keymaps/adam-lee/rules.mk
+++ /dev/null
@@ -1,18 +0,0 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
diff --git a/keyboards/miuni32/keymaps/cassdelacruzmunoz/config.h b/keyboards/miuni32/keymaps/cassdelacruzmunoz/config.h
deleted file mode 100644
index d057ce4f34..0000000000
--- a/keyboards/miuni32/keymaps/cassdelacruzmunoz/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
1/* Copyright 2020 Cassandra de la Cruz-Munoz cassandra.delacruzmunoz@gmaill.com @cassdelacruzmunoz
2*
3* This program is free software: you can redistribute it and/or modify
4* it under the terms of the GNU General Public License as published by
5* the Free Software Foundation, either version 2 of the License, or
6* (at your option) any later version.
7*
8* This program is distributed in the hope that it will be useful,
9* but WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>
15*/
16
17#pragma once
18
19// place overrides here
20#define RGBLIGHT_LAYERS
21#define RGBLIGHT_SLEEP
22#define MIDI_ADVANCED
diff --git a/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c b/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c
deleted file mode 100644
index 7d347edb66..0000000000
--- a/keyboards/miuni32/keymaps/cassdelacruzmunoz/keymap.c
+++ /dev/null
@@ -1,173 +0,0 @@
1/* Copyright 2020 Cassandra de la Cruz-Munoz cassandra.delacruzmunoz@gmaill.com @cassdelacruzmunoz
2*
3* This program is free software: you can redistribute it and/or modify
4* it under the terms of the GNU General Public License as published by
5* the Free Software Foundation, either version 2 of the License, or
6* (at your option) any later version.
7*
8* This program is distributed in the hope that it will be useful,
9* but WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>
15*/
16
17#include QMK_KEYBOARD_H
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 /* Level 0: Default Layer
21 * ,---------------------------------------------------------------------------------------.
22 * | Q | W | E | R | T | Y | U | I | O | P | BSP |
23 * |---------------------------------------------------------------------------------------|
24 * | A | S | D | F | G | H | J | K | L | ENT |LT(1|,)|
25 * |---------------------------------------------------------------------------------------|
26 * | Z | X | C | V | SPC | B | N | M | RSFT | . |
27 * |---------------------------------------------------------------------------------------|
28 */
29 [0] = LAYOUT(
30 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
31 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, LT(1, KC_COMMA),
32 KC_Z, KC_X, KC_C, KC_V, KC_SPC, KC_B, KC_N, KC_M, KC_RSFT, KC_DOT
33 ),
34 /* Level 1: Layers Layer
35 * ,---------------------------------------------------------------------------------------.
36 * | TO(2) | TO(3) | TO(4) | TO(5) | TO(6) | TO(7) | TO(8) | TO(9) | TO(10)| TO(11)| TO(12)|
37 * |---------------------------------------------------------------------------------------|
38 * | TO(13)| TO(14)| TO(15)| TO(16)| TO(17)| TO(18)| TO(19)| TO(20)| TO(21)| TO(22)| TRNS |
39 * |---------------------------------------------------------------------------------------|
40 * | TO(23)| TO(24)| TO(25)| TO(26)| | TO(27)| TO(28)| TO(29)| TO(30)| TO(31)|
41 * |---------------------------------------------------------------------------------------|
42 */
43 [1] = LAYOUT(
44 TO(2), TO(3), TO(4), TO(5), TO(6),//TO(7), TO(8), TO(9), TO(10), TO(11), TO(12),
45 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
46 //TO(13), TO(14), TO(15), TO(16), TO(17), TO(18), TO(19), TO(20), TO(21), TO(22), _______,
47 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
48 //TO(23), TO(24), TO(25), TO(26), KC_NO, TO(27), TO(28), TO(29), TO(30), TO(31)
49 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
50 ),
51 /* Level 2: Numbers Layer
52 * ,---------------------------------------------------------------------------------------.
53 * | ESC | 7 | 8 | 9 | / | * | . | , | ( | ) | DEL |
54 * |---------------------------------------------------------------------------------------|
55 * | TAB | 4 | 5 | 6 | - | + | HOME | UP | END | PGUP | TG(2) |
56 * |---------------------------------------------------------------------------------------|
57 * | LALT | 1 | 2 | 3 | 0 | LEFT | DOWN | RGHT | PGDN | RSHFT |
58 * |---------------------------------------------------------------------------------------|
59 */
60 [2] = LAYOUT(
61 KC_ESC, KC_7, KC_8, KC_9, KC_SLSH, KC_ASTR, KC_DOT, KC_COMM, KC_LPRN, KC_RPRN, KC_DEL,
62 KC_TAB, KC_4, KC_5, KC_6, KC_MINS, KC_PLUS, KC_HOME, KC_UP, KC_END, KC_PGUP, TG(2),
63 KC_LALT, KC_1, KC_2, KC_3, KC_0, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_RSFT
64 ),
65 /* Level 3: Symbols Layer
66 * ,---------------------------------------------------------------------------------------.
67 * | ! | @ | # | $ | % | ^ | & | * | - | + | = |
68 * |---------------------------------------------------------------------------------------|
69 * | { | } | [ | ] | ' | | \ | ; | : | ` | TG(3) |
70 * |---------------------------------------------------------------------------------------|
71 * | LSFT | LCTL | | | TAB | | | | RCTL | ? |
72 * |---------------------------------------------------------------------------------------|
73 */
74 [3] = LAYOUT(
75 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_PLUS, KC_EQL,
76 KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_QUOT, KC_NO, KC_BSLS, KC_SCLN, KC_COLN, KC_GRV, TG(3),
77 KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_TAB, KC_NO, KC_NO, KC_NO, KC_RCTL, KC_QUES
78 ),
79 /* Level 4: F-keys and Media Layer
80 * ,---------------------------------------------------------------------------------------.
81 * | QK_BOOT | MUTE | VOLU | MPLY | TRNS | F1 | F2 | F3 | F4 | F5 | F6 |
82 * |---------------------------------------------------------------------------------------|
83 * | LGUI | MPRV | VOLD | MNXT | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TG(4) |
84 * |---------------------------------------------------------------------------------------|
85 * | TRNS | TRNS | TRNS | TRNS | F7 | F8 | F9 | F10 | F11 | F12 |
86 * |---------------------------------------------------------------------------------------|
87 */
88 [4] = LAYOUT(
89 QK_BOOT, KC_MUTE, KC_VOLU, KC_MPLY, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
90 KC_LGUI, KC_MPRV, KC_VOLD, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(4),
91 KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12
92 ),
93 /* Level 5: Commands Layer
94 * ,---------------------------------------------------------------------------------------.
95 * | CUT | PSCR | BRIU | PWR | | | | | | | |
96 * |---------------------------------------------------------------------------------------|
97 * | COPY | FIND | BRID | SLEP | | | | | | | TG(5) |
98 * |---------------------------------------------------------------------------------------|
99 * | PSTE | | | WAKE | | | | | | |
100 * |---------------------------------------------------------------------------------------|
101 */
102 [5] = LAYOUT(
103 KC_CUT, KC_PSCR, KC_BRIU, KC_PWR, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
104 KC_COPY, KC_FIND, KC_BRID, KC_SLEP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(5),
105 KC_PSTE, KC_NO, KC_NO, KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
106 ),
107 /* Level 6: MIDI Layer
108 * ,---------------------------------------------------------------------------------------.
109 * | C1 | E1 | G1 | B1 | D2 | F2 | A2 | C3 | E3 | G3 | |
110 * |---------------------------------------------------------------------------------------|
111 * | D1 | F1 | A1 | C2 | E2 | G2 | B2 | D3 | F3 | A3 | TG(6) |
112 * |---------------------------------------------------------------------------------------|
113 * | OCTD | OCTU | TRNSD | TRNSU | | | | | | |
114 * |---------------------------------------------------------------------------------------|
115 */
116 [6] = LAYOUT(
117 MI_C1, MI_E1, MI_G1, MI_B1, MI_D2, MI_F2, MI_A2, MI_C3, MI_E3, MI_G3, KC_NO,
118 MI_D1, MI_F1, MI_A1, MI_C2, MI_E2, MI_G2, MI_B2, MI_D3, MI_F3, MI_A3, TG(6),
119 MI_OCTD, MI_OCTU, MI_TRSD, MI_TRSU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
120 )
121};
122
123// Light LEDs 0 through 16 in white when keyboard layer 0 is active
124const rgblight_segment_t PROGMEM my_layer0_layer[] = RGBLIGHT_LAYER_SEGMENTS(
125 {0, 17, HSV_WHITE}
126);
127// Light LEDs 0 through 16 in blue when keyboard layer 1 is active
128const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
129 {0, 17, HSV_BLUE}
130);
131// Light LEDs 0 through 16 in green when keyboard layer 2 is active
132const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
133 {0, 17, HSV_GREEN}
134);
135// Light LEDs 0 through 16 in yellow when keyboard layer 3 is active
136const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS(
137 {0, 17, HSV_YELLOW}
138);
139// Light LEDs 0 through 16 in red when keyboard layer 4 is active
140const rgblight_segment_t PROGMEM my_layer4_layer[] = RGBLIGHT_LAYER_SEGMENTS(
141 {0, 17, HSV_RED}
142);
143// Light LEDs 0 through 16 in cyan when keyboard layer 5 is active
144const rgblight_segment_t PROGMEM my_layer5_layer[] = RGBLIGHT_LAYER_SEGMENTS(
145 {0, 17, HSV_CYAN}
146);
147// Light LEDs 0 through 16 in orange when keyboard layer 6 is active
148const rgblight_segment_t PROGMEM my_layer6_layer[] = RGBLIGHT_LAYER_SEGMENTS(
149 {0, 17, HSV_ORANGE}
150);
151
152// Now define the array of layers. Later layers take precedence
153const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
154 my_layer0_layer,
155 my_layer1_layer,
156 my_layer2_layer,
157 my_layer3_layer,
158 my_layer4_layer,
159 my_layer5_layer,
160 my_layer6_layer
161);
162
163void keyboard_post_init_user(void) {
164 // Enable the LED layers
165 rgblight_layers = my_rgb_layers;
166}
167
168layer_state_t layer_state_set_user(layer_state_t state) {
169 for (int i = 0; i < 7; i++) {
170 rgblight_set_layer_state(i, layer_state_cmp(state, i));
171 }
172 return state;
173}
diff --git a/keyboards/miuni32/keymaps/cassdelacruzmunoz/readme.md b/keyboards/miuni32/keymaps/cassdelacruzmunoz/readme.md
deleted file mode 100644
index b9e42964cf..0000000000
--- a/keyboards/miuni32/keymaps/cassdelacruzmunoz/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
1# Cass de la Cruz-Munoz's keymap for Miuni32
2
37 layers:
4
5* QUERTY
6* Layer access
7* Numberpad, navigation keys
8* Symbols
9* Function and media keys
10* Assorted command keys
11* MIDI keys
12
13![QUERTY](https://imgur.com/0B3Xl2D.png)
14![Layers](https://imgur.com/Rb9KRgL.png)
15![Numberpad & Navigation](https://imgur.com/psq5U5o.png)
16![Symbols](https://imgur.com/nbxOjCG.png)
17![Function & Media](https://imgur.com/AZe6Vib.png)
18![Commands](https://imgur.com/Pl0NYbw.png)
19![MIDI](https://imgur.com/c6BcDe2.png)
diff --git a/keyboards/mt/mt980/keymaps/walker/config.h b/keyboards/mt/mt980/keymaps/walker/config.h
deleted file mode 100644
index 0bd3959938..0000000000
--- a/keyboards/mt/mt980/keymaps/walker/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
1#pragma once
2
3#define TAPPING_TERM 200
4#define ONESHOT_TAP_TOGGLE 5
5#define ONESHOT_TIMEOUT 5000
diff --git a/keyboards/mt/mt980/keymaps/walker/keymap.c b/keyboards/mt/mt980/keymaps/walker/keymap.c
deleted file mode 100644
index f0817dd33d..0000000000
--- a/keyboards/mt/mt980/keymaps/walker/keymap.c
+++ /dev/null
@@ -1,168 +0,0 @@
1#include QMK_KEYBOARD_H
2
3bool numlock_on = true;
4
5typedef struct {
6 bool is_press_action;
7 int state;
8} tap;
9
10enum {
11 SINGLE_TAP = 1,
12 SINGLE_HOLD = 2,
13 DOUBLE_TAP = 3,
14 DOUBLE_HOLD = 4,
15 TRIPLE_TAP = 5,
16 TRIPLE_HOLD = 6
17};
18
19enum {
20 ALT_L1 = 0
21};
22
23int cur_dance (tap_dance_state_t *state);
24void alt_finished (tap_dance_state_t *state, void *user_data);
25void alt_reset (tap_dance_state_t *state, void *user_data);
26
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28
29 [0] = LAYOUT(
30 KC_ESC, 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_NO, KC_INS, KC_PSCR, KC_PGUP, KC_PGDN,
31 KC_GRV, 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_BSPC, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
32 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
33 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
34 KC_LSFT, 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
35 KC_LCTL, KC_LGUI, TD(ALT_L1), KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
36
37 [1] = LAYOUT(
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUSE, KC_SCRL, KC_HOME, KC_END,
39 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS)
44
45};
46
47int cur_dance (tap_dance_state_t *state) {
48 if (state->count == 1) {
49 if (state->pressed) return SINGLE_HOLD;
50 else return SINGLE_TAP;
51 }
52 else if (state->count == 2) {
53 if (state->pressed) return DOUBLE_HOLD;
54 else return DOUBLE_TAP;
55 }
56 else if (state->count == 3) {
57 if (state->interrupted || !state->pressed) return TRIPLE_TAP;
58 else return TRIPLE_HOLD;
59 }
60 else return 8;
61}
62
63static tap alttap_state = {
64 .is_press_action = true,
65 .state = 0
66};
67
68void alt_finished (tap_dance_state_t *state, void *user_data) {
69 alttap_state.state = cur_dance(state);
70 switch (alttap_state.state) {
71 case SINGLE_TAP: set_oneshot_layer(1, ONESHOT_START); clear_oneshot_layer_state(ONESHOT_PRESSED); break;
72 case SINGLE_HOLD: register_code(KC_LALT); break;
73 case DOUBLE_TAP: set_oneshot_layer(1, ONESHOT_START); set_oneshot_layer(1, ONESHOT_PRESSED); break;
74 case DOUBLE_HOLD: register_code(KC_LALT); layer_on(1); break;
75 }
76}
77
78void alt_reset (tap_dance_state_t *state, void *user_data) {
79 switch (alttap_state.state) {
80 case SINGLE_TAP: break;
81 case SINGLE_HOLD: unregister_code(KC_LALT); break;
82 case DOUBLE_TAP: break;
83 case DOUBLE_HOLD: layer_off(1); unregister_code(KC_LALT); break;
84 }
85 alttap_state.state = 0;
86}
87
88tap_dance_action_t tap_dance_actions[] = {
89 [ALT_L1] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,alt_finished, alt_reset)
90};
91
92bool led_update_keymap(led_t led_state) {
93 if (led_state.num_lock) {
94 numlock_on = true;
95 }
96 else {
97 numlock_on = false;
98 }
99}
100
101bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
102
103 switch (keycode) {
104 case KC_TRNS:
105 case KC_NO:
106 /* Always cancel one-shot layer when another key gets pressed */
107 if (record->event.pressed && is_oneshot_layer_active())
108 clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
109 return true;
110 case QK_BOOT:
111 /* Don't allow reset from oneshot layer state */
112 if (record->event.pressed && is_oneshot_layer_active()) {
113 clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
114 return false;
115 }
116 return true;
117 case KC_PPLS:
118 if (!numlock_on) {
119 if (is_oneshot_layer_active() || layer_state & 0x2) {
120 if (record->event.pressed)
121 register_code(KC_HOME);
122 else
123 unregister_code(KC_HOME);
124 clear_oneshot_layer_state(ONESHOT_START);
125 }
126 else {
127 if (record->event.pressed)
128 register_code(KC_PGUP);
129 else
130 unregister_code(KC_PGUP);
131 }
132 return false;
133 }
134 return true;
135 case KC_PENT:
136 if (!numlock_on) {
137 if (is_oneshot_layer_active() || layer_state & 0x2) {
138 if (record->event.pressed)
139 register_code(KC_END);
140 else
141 unregister_code(KC_END);
142 clear_oneshot_layer_state(ONESHOT_START);
143 }
144 else {
145 if (record->event.pressed)
146 register_code(KC_PGDN);
147 else
148 unregister_code(KC_PGDN);
149 }
150 return false;
151 }
152 return true;
153 case KC_NUM:
154 /* Shift + NumLock will be treated as shift-Insert */
155 if ((keyboard_report->mods & MOD_BIT (KC_LSFT)) || (keyboard_report->mods & MOD_BIT (KC_RSFT))) {
156 if (record->event.pressed) {
157 register_code(KC_INS);
158 unregister_code(KC_INS);
159 }
160 return false;
161 }
162 else
163 return true;
164 default:
165 return true;
166 }
167 return true;
168}
diff --git a/keyboards/mt/mt980/keymaps/walker/rules.mk b/keyboards/mt/mt980/keymaps/walker/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/mt/mt980/keymaps/walker/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1TAP_DANCE_ENABLE = yes
diff --git a/keyboards/nack/keymaps/farfalleflickan/keymap.c b/keyboards/nack/keymaps/farfalleflickan/keymap.c
deleted file mode 100644
index ec0b2434fa..0000000000
--- a/keyboards/nack/keymaps/farfalleflickan/keymap.c
+++ /dev/null
@@ -1,203 +0,0 @@
1/* Copyright 2020 farfalleflickan <farfalleflickan@gmail.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17#include "keymap.h"
18
19#define ____ _______
20
21// Defines names for use in layer keycodes and the keymap
22enum layer_names {
23 BASE,
24 NOGUI,
25 NUM,
26 FN
27};
28
29// Defines the keycodes used by our macros in process_record_user
30enum custom_keycodes {
31 CK_LSFT = SAFE_RANGE, // Shift
32 CK_RALT, // AltGr
33 CK_BSPC_DEL, // Backspace or Del (if pressed with CK_LSFT or CK_RALT)
34 KK_RESET
35};
36
37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38 [BASE] = LAYOUT(
39/* __________________________________________________________________________________________________________________________________________________________________________
40 | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
41// | |----TAB-----|---Q--------|-----W------|-----E------|-----R------|----T-------|-----Y------|-----U------|----I-------|------O-----|----P-------|----Å-------|--( ¨^~ )---|
42 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
43// | |----ESC-----|---A--------|---S--------|----D-------|-----F------|-----G------|-----H------|-----J------|-----K------|-----L------|-----Ö------|-----Ä------|--( '* )----|
44 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS,
45// | |---SHIFT----|---Z--------|---X--------|----C-------|-----V------|-----B------|-----N------|------M-----|---( ,; )---|---( .: )---|---( -_ )---|----UP------|-BACKSPACE--|
46 CK_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, CK_BSPC_DEL,
47// | |---CTRL-----|---ALT------|---META-----|----FN_1----|----------SPACE----------|----FN_2----|----AltGr---|--( <>| )---|---ENTER----|-LEFT-------|---DOWN-----|--RIGHT-----|
48 KC_LCTL, KC_LALT, KC_LGUI, MO(NUM), KC_SPC, KC_NO, MO(FN), CK_RALT, KC_NUBS, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT
49// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
50 ),
51 [NOGUI] = LAYOUT(
52/* __________________________________________________________________________________________________________________________________________________________________________
53 | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
54// | |----TAB-----|---Q--------|-----W------|-----E------|-----R------|----T-------|-----Y------|-----U------|----I-------|------O-----|----P-------|----Å-------|--( ¨^~ )---|
55 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
56// | |----ESC-----|---A--------|---S--------|----D-------|-----F------|-----G------|-----H------|-----J------|-----K------|-----L------|-----Ö------|-----Ä------|--( '* )----|
57 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS,
58// | |---SHIFT----|---Z--------|---X--------|----C-------|-----V------|-----B------|-----N------|------M-----|---( ,; )---|---( .: )---|---( -_ )---|----UP------|-BACKSPACE--|
59 CK_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, CK_BSPC_DEL,
60// | |---CTRL-----|---ALT------|---META-----|----FN_1----|----------SPACE----------|----FN_2----|----AltGr---|--( <>| )---|---ENTER----|-LEFT-------|---DOWN-----|--RIGHT-----|
61 KC_LCTL, KC_LALT, KC_NO, MO(NUM), KC_SPC, KC_NO, TO(BASE), CK_RALT, KC_NUBS, KC_ENT, KC_LEFT, KC_DOWN, KC_RIGHT
62// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
63 ),
64 [NUM] = LAYOUT(
65/* __________________________________________________________________________________________________________________________________________________________________________
66 | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
67// | |---TAB------|---( 1! )---|--( 2"@ )---|--( 3#£ )---|---( 4¤$ )--|--( 5%€ )---|---( 6& )---|--( 7/{ )---|--( 8([ )---|--( 9)] )---|--( 0=} )---|---( +?\ )--|---( ´` )---|
68 ____, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
69// | |----ESC-----|-----F1-----|-----F2-----|----F3------|----F4------|----F5------|-----F6-----|-----F7------|----F8-----|-----F9-----|-----F10----|----F11-----|----F12-----|
70 ____, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
71// | |---SHIFT----|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|
72 ____, KC_P0, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_PGUP, KC_NO,
73// | |---CTRL-----|---ALT------|---META-----|---FN_1-----|------------|------------|----FN_2----|--AltGr-----|---( §½ )---|------------|------------|------------|------------|
74 ____, ____, ____, TO(BASE), KC_NO, KC_NO, MO(FN), ____, KC_GRV, KC_PDOT, KC_HOME, KC_PGDN, KC_END
75// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
76 ),
77 [FN] = LAYOUT(
78/* __________________________________________________________________________________________________________________________________________________________________________
79 | \ \ \ \ \ \ \ \ \ \ \ \ \ \ */
80// | |-RGB TOGGLE-|-CHANGE RGB-|-RGB HUE UP-|-RGB SAT UP-|------------|------------|------------|------------|------------|------------|------------|------------|-QK_BOOT KBD--|
81 RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KK_RESET,
82// | |------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|
83 MU_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
84// | |------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|-RGB LIGHT +|------------|
85 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAI, KC_NO,
86// | |------------|------------|------------|---FN_1-----|------------|------------|----FN_2----|------------|------------|------------|------------|-RGB LIGHT -|------------|
87 KC_NO, KC_NO, KC_NO, TO(BASE), KC_NO, KC_NO, TO(BASE), TO(NOGUI), KC_NO, KC_NO, KC_NO, RGB_VAD, KC_NO
88// \|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|____________|
89 )
90};
91
92// Interrupt bools
93bool lshift = false, ralt = false;
94
95// Number of items that are saved in prev_kcs
96uint8_t prev_indx = 0;
97// Used to save the last 6 actual keycodes
98uint16_t prev_kcs[6] = {0, 0, 0, 0, 0, 0};
99
100/*
101Used to add a keycode to a prev_kcs to remember it.
102When full the last code gets discarded and replaced by
103the new one.
104*/
105void add_to_prev(uint16_t kc){
106 for (int i=0; i<prev_indx; i++){
107 if (kc == prev_kcs[i])
108 return;
109 }
110 if (prev_indx == 6){
111 for (int i=5; i>0; i--){
112 prev_kcs[i] = prev_kcs[i-1];
113 }
114 prev_kcs[0] = kc;
115 } else {
116 prev_kcs[prev_indx] = kc;
117 prev_indx++;
118 }
119}
120
121/*
122Unregisters all codes saved in prev_kcs and resets prev_indx.
123gets called on multiple occasions mainly when shift is released
124and when frankenkeycodes are pressed. Prevents output of
125wrong characters when really specific key combinations
126that would never occur during normal usage are pressed.
127*/
128void unreg_prev(void){
129 if (prev_indx == 0)
130 return;
131 for (int i=0; i<prev_indx; i++){
132 unregister_code(prev_kcs[i]);
133 }
134 prev_indx = 0;
135}
136
137bool process_record_user(uint16_t keycode, keyrecord_t *record) {
138 static uint32_t key_timer;
139 switch (keycode) {
140 case CK_LSFT:
141 if(record->event.pressed) {
142 unregister_code(KC_LSFT);
143 register_code(KC_LSFT);
144 lshift = true;
145 } else {
146 unreg_prev();
147 unregister_code(KC_LSFT);
148 lshift = false;
149 }
150 return false;
151 break;
152 case CK_RALT:
153 if(record->event.pressed) {
154 unregister_code(KC_RALT);
155 register_code(KC_RALT);
156 ralt = true;
157 } else {
158 unreg_prev();
159 unregister_code(KC_RALT);
160 ralt = false;
161 }
162 return false;
163 break;
164 case CK_BSPC_DEL:
165 if (ralt==true) {
166 RALT_NO(KC_BSPC,KC_DEL);
167 } else {
168 SHIFT_NO(KC_BSPC,KC_DEL);
169 }
170 break;
171 case KK_RESET: // Basically, turn off RGB before resetting
172 if (record->event.pressed) {
173 key_timer = timer_read32();
174 #ifdef RGB_MATRIX_ENABLE
175 rgb_matrix_disable_noeeprom();
176 #endif
177 } else {
178 if (timer_elapsed32(key_timer) >= 20) {
179 reset_keyboard();
180 }
181 }
182 break;
183 default:
184 if(record->event.pressed) {
185 timer_timeout_keymap();
186 if (lshift)
187 register_code(KC_LSFT);
188 else
189 unregister_code(KC_LSFT);
190
191 if (ralt)
192 register_code(KC_ALGR);
193 else
194 unregister_code(KC_ALGR);
195 }
196 break;
197 }
198 return true;
199}
200
201__attribute__((weak))
202void timer_timeout_keymap(void){
203}
diff --git a/keyboards/nack/keymaps/farfalleflickan/keymap.h b/keyboards/nack/keymaps/farfalleflickan/keymap.h
deleted file mode 100644
index 212f45ffdb..0000000000
--- a/keyboards/nack/keymaps/farfalleflickan/keymap.h
+++ /dev/null
@@ -1,116 +0,0 @@
1/* Copyright 2020 farfalleflickan <farfalleflickan@gmail.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18#include "quantum.h"
19
20void add_to_prev(uint16_t kc);
21void unreg_prev(void);
22void timer_timeout_keymap(void);
23bool process_record_user(uint16_t keycode, keyrecord_t *record);
24
25// Normal shift status
26#define SHIFT_NORM(kc1, kc2) \
27if (record->event.pressed) { \
28 timer_timeout_keymap(); \
29 if (lshift) { \
30 register_code(KC_LSFT); \
31 unregister_code(kc2); \
32 register_code(kc2); \
33 add_to_prev(kc2); \
34 } else { \
35 unregister_code(KC_LSFT); \
36 unregister_code(kc1); \
37 register_code(kc1); \
38 } \
39} else { \
40 unregister_code(kc1); \
41 unregister_code(kc2); \
42} \
43return false;
44
45// Always shifted
46#define SHIFT_ALL(kc1, kc2) \
47if (record->event.pressed) { \
48 timer_timeout_keymap(); \
49 register_code(KC_LSFT); \
50 if (lshift) { \
51 unregister_code(kc2); \
52 register_code(kc2); \
53 add_to_prev(kc2); \
54 } else { \
55 unregister_code(kc1); \
56 register_code(kc1); \
57 add_to_prev(kc1); \
58 } \
59} else { \
60 unregister_code(kc1); \
61 unregister_code(kc2); \
62 unreg_prev(); \
63 if (lshift) \
64 register_code(KC_LSFT); \
65 else \
66 unregister_code(KC_LSFT); \
67} \
68return false;
69
70// Never shifted
71#define SHIFT_NO(kc1, kc2) \
72if (record->event.pressed) { \
73 timer_timeout_keymap(); \
74 unregister_code(KC_LSFT); \
75 if (lshift) { \
76 unregister_code(kc2); \
77 register_code(kc2); \
78 add_to_prev(kc2); \
79 } else { \
80 unregister_code(kc1); \
81 register_code(kc1); \
82 } \
83} else { \
84 unregister_code(kc1); \
85 unregister_code(kc2); \
86 unreg_prev(); \
87 if (lshift) \
88 register_code(KC_LSFT); \
89 else \
90 unregister_code(KC_LSFT); \
91} \
92return false;
93
94//Never RALT
95#define RALT_NO(kc1, kc2) \
96if (record->event.pressed) { \
97 timer_timeout_keymap(); \
98 unregister_code(KC_RALT); \
99 if (ralt) { \
100 unregister_code(kc2); \
101 register_code(kc2); \
102 add_to_prev(kc2); \
103 } else { \
104 unregister_code(kc1); \
105 register_code(kc1); \
106 } \
107} else { \
108 unregister_code(kc1); \
109 unregister_code(kc2); \
110 unreg_prev(); \
111 if (ralt) \
112 register_code(KC_RALT); \
113 else \
114 unregister_code(KC_RALT); \
115} \
116return false;
diff --git a/keyboards/nack/keymaps/farfalleflickan/readme.md b/keyboards/nack/keymaps/farfalleflickan/readme.md
deleted file mode 100644
index fbe5c6f5e3..0000000000
--- a/keyboards/nack/keymaps/farfalleflickan/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# farfalleflickan's keymap for nack
diff --git a/keyboards/ning/tiny_board/tb16_rgb/keymaps/ningjx/keymap.c b/keyboards/ning/tiny_board/tb16_rgb/keymaps/ningjx/keymap.c
deleted file mode 100644
index e9529fe91e..0000000000
--- a/keyboards/ning/tiny_board/tb16_rgb/keymaps/ningjx/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
1/* Copyright 2023 Ning (@ningjx)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 /*
21 * ┌───┬───┬───┬───┐
22 * │ 7 │ 8 │ 9 │RGB│
23 * ├───┼───┼───┼───┤
24 * │ 4 │ 5 │ 6 │MOD│
25 * ├───┼───┼───┼───┤
26 * │ 1 │ 2 │ 3 │ - │
27 * ├───┼───┼───┼───┤
28 * │ 0 │ . │Ent│ + │
29 * └───┴───┴───┴───┘
30 */
31 [0] = LAYOUT_ortho_4x4(
32 KC_P7, KC_P8, KC_P9, RGB_TOG,
33 KC_P4, KC_P5, KC_P6, RGB_MODE_FORWARD,
34 KC_P1, KC_P2, KC_P3, KC_PMNS,
35 KC_P0, KC_PDOT, KC_PENT, KC_PPLS
36 )
37};
diff --git a/keyboards/nullbitsco/nibble/keymaps/snailmap/keymap.c b/keyboards/nullbitsco/nibble/keymaps/snailmap/keymap.c
deleted file mode 100644
index a53335003f..0000000000
--- a/keyboards/nullbitsco/nibble/keymaps/snailmap/keymap.c
+++ /dev/null
@@ -1,543 +0,0 @@
1/* Copyright 2021 dogspace <https://github.com/dogspace>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19enum custom_keycodes {
20 KC_CUST = SAFE_RANGE,
21};
22
23enum layer_names {
24 _MA,
25 _L1,
26 _L2,
27 _L3
28};
29
30// NOTE: Default keymap layers were designed for ANSI split-space layout http://www.keyboard-layout-editor.com/#/gists/f28bd5ff4e62f69e89896df3a59671c6
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 [_MA] = LAYOUT_ansi(
33 KC_ESC, 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_BSPC, KC_DEL,
34 KC_MUTE, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, LCTL(KC_F),
35 KC_CAPS, MO(_L2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_CALC,
36 TG(_L2), 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_UP, KC_WHOM,
37 MO(_L3), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_L1), LCTL(KC_C), LCTL(KC_V), KC_LEFT, KC_DOWN, KC_RGHT
38 ),
39 [_L1] = LAYOUT_ansi(
40 KC_GRAVE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 RGB_TOG, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, _______, _______, _______, _______, _______, _______,
42 _______, LCTL(KC_Z), KC_LCTL, KC_LSFT, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, _______, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, _______, LCTL(KC_SLSH), _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, LCTL(KC_X), _______, _______, _______, _______
45 ),
46 [_L2] = LAYOUT_ansi(
47 KC_GRAVE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 RGB_TOG, _______, _______, _______, _______, _______, _______, KC_PAST, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______,
49 _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_4, KC_5, KC_6, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, KC_PMNS, KC_1, KC_2, KC_3, _______, _______, _______, _______,
51 _______, _______, _______, _______, KC_0, KC_PSLS, _______, _______, _______, _______, _______
52 ),
53 [_L3] = LAYOUT_ansi(
54 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
55 RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
56 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
57 KC_SYRQ, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
58 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
59 )
60};
61
62#ifdef OLED_ENABLE
63/*=========================================== OLED CONFIGURATION ===========================================*/
64bool oled_horizontal = true; // OLED rotation (true = horizontal, false = vertical)
65bool ansi_layout = true; // ANSI or ISO layout (true = ANSI, false = ISO)
66bool split_space = true; // Split spacebar (true = split spacebar, false = 6.25u or 7u spacebar)
67bool three_mods_left = true; // Left mods layout (true = 3x 1.25u keys, false = 2x 1.5u keys)
68bool three_mods_right = false; // Right mods layout (true = 3x 1u keys, false = 2x 1.5u keys)
69bool graph_direction = true; // Graph movement (true = right to left, false = left to right)
70float graph_top_wpm = 100.0; // Minimum WPM required to reach the top of the graph
71int graph_refresh = 1000; // In milliseconds, determines the graph-line frequency
72int icon_med_wpm = 50; // WPM required to display the medium snail
73int icon_fast_wpm = 72; // WPM required to display the fast snail
74// Layer names: Should be exactly 5 characters in length if vertical display, or 6 characters if horizontal
75#define MA_LAYER_NAME "QWERTY" // Layer _MA name
76#define L1_LAYER_NAME "ARROWS" // Layer _L1 name
77#define L2_LAYER_NAME "NUMPAD" // Layer _L2 name
78#define L3_LAYER_NAME "FUNCTN" // Layer _L3 name
79/*================================================================================================================*/
80bool first_loop = true;
81int timer = 0;
82int wpm_limit = 20;
83int max_wpm = -1;
84int wpm_icon = -1;
85int graph_lines[64];
86
87// Set OLED rotation
88oled_rotation_t oled_init_user(oled_rotation_t rotation) {
89 if (oled_horizontal) {
90 return OLED_ROTATION_180;
91 } else {
92 return OLED_ROTATION_90;
93 }
94}
95
96// Toggles pixel on/off, converts horizontal coordinates to vertical equivalent if necessary
97static void write_pixel(int x, int y, bool onoff) {
98 if (oled_horizontal) {
99 oled_write_pixel(x, y, onoff);
100 } else {
101 oled_write_pixel(y, 127 - x, onoff);
102 }
103}
104
105// Draw static background image to OLED (keyboard with no bottom row)
106static void render_background(void) {
107 if (oled_horizontal) {
108 static const char PROGMEM oled_keymap_horizontal[] = {
109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
112 0x84, 0x80, 0x80, 0x80, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04,
113 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00,
114 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
115 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00,
116 0x80, 0x04, 0x04, 0x04, 0x04, 0x84, 0x84, 0x84, 0x84, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00,
117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
120 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10,
121 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
122 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
123 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
124 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
125 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
126 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
127 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
128 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
129 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
130 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02,
131 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02,
132 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
141 };
142 oled_write_raw_P(oled_keymap_horizontal, sizeof(oled_keymap_horizontal));
143 } else {
144 static const char PROGMEM oled_keymap_vertical[] = {
145 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00,
146 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
147 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
148 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
149 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
150 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
151 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
152 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00,
154 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
156 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00,
158 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
159 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
160 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
162 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
163 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
164 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
166 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
173 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
174 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
177 };
178 oled_write_raw_P(oled_keymap_vertical, sizeof(oled_keymap_vertical));
179 }
180}
181
182// Location of OLED keyboard's top left pixel, relative to the display
183static const int keymap_template[2] = {41, 0};
184// Location of key highlights top left pixels, relative to keymap_template {X, Y, Key length in px}
185static int keymap_coords[MATRIX_ROWS][MATRIX_COLS][3] = {
186 { {12, 15, 1}, {5, 0, 1}, {10, 0, 1}, {15, 0, 1}, {20, 0, 1}, {25, 0, 1}, {30, 0, 1}, {35, 0, 1}, {40, 0, 1}, {45, 0, 1}, {50, 0, 1}, {55, 0, 1}, {60, 0, 1}, {65, 0, 1}, {70, 0, 8}, {82, 0, 1} },
187 { {0, 5, 1}, {5, 5, 5}, {14, 5, 1}, {19, 5, 1}, {24, 5, 1}, {29, 5, 1}, {34, 5, 1}, {39, 5, 1}, {44, 5, 1}, {49, 5, 1}, {54, 5, 1}, {59, 5, 1}, {64, 5, 1}, {69, 5, 1}, {74, 5, 4}, {82, 5, 1} },
188 { {0, 10, 1}, {5, 10, 6}, {15, 10, 1}, {20, 10, 1}, {25, 10, 1}, {30, 10, 1}, {35, 10, 1}, {40, 10, 1}, {45, 10, 1}, {50, 10, 1}, {55, 10, 1}, {60, 10, 1}, {65, 10, 1}, {0, 0, 0}, {70, 10, 8}, {82, 10, 1} },
189 { {0, 15, 1}, {5, 15, 8}, {17, 15, 1}, {22, 15, 1}, {27, 15, 1}, {32, 15, 1}, {37, 15, 1}, {42, 15, 1}, {47, 15, 1}, {52, 15, 1}, {57, 15, 1}, {62, 15, 1}, {67, 15, 6}, {0, 0, 0}, {77, 15, 1}, {82, 15, 1} },
190 { {0, 20, 1}, {5, 20, 2}, {11, 20, 2}, {17, 20, 2}, {0, 0, 0}, {0, 0, 0}, {23, 20, 12}, {0, 0, 0}, {0, 0, 0}, {39, 20, 3}, {56, 20, 4}, {64, 20, 4}, {72, 20, 1}, {0, 0, 0}, {77, 20, 1}, {82, 20, 1} }
191};
192
193// Draw the bottom row of the keyboard (based on OLED config variables), update coordinates
194static void render_fn_row(void) {
195 // Update locations of spacebar and modifier key highlights
196 if ((split_space == false) && (three_mods_left == false)) {
197 keymap_coords[4][1][2] = 3;
198 keymap_coords[4][2][0] = 12;
199 keymap_coords[4][2][2] = 3;
200 keymap_coords[4][3][0] = 0;
201 keymap_coords[4][3][1] = 0;
202 keymap_coords[4][3][2] = 0;
203 keymap_coords[4][6][0] = 19;
204 keymap_coords[4][6][2] = 34;
205 } else if ((split_space == false) && (three_mods_left == true)) {
206 keymap_coords[4][6][2] = 30;
207 }
208 if ((split_space == false) && (three_mods_right == true)) {
209 keymap_coords[4][9][0] = 57;
210 keymap_coords[4][9][2] = 1;
211 keymap_coords[4][10][0] = 62;
212 keymap_coords[4][10][2] = 1;
213 keymap_coords[4][11][0] = 67;
214 keymap_coords[4][11][2] = 1;
215 }
216 // Draw modifiers
217 for (int i = 0; i < 16; i++) {
218 if (keymap_coords[4][i][2] != 0) {
219 for (int p = 0; p < keymap_coords[4][i][2]; p++) {
220 int x = keymap_template[0] + keymap_coords[4][i][0] + 2 + p;
221 write_pixel(x, 22, true);
222 }
223 }
224 }
225 // Draw second line for split spacebar
226 if (split_space == true) {
227 for (int i = 0; i < 6; i++) {
228 int x = keymap_template[0] + 46 + 2 + i;
229 write_pixel(x, 22, true);
230 }
231 }
232}
233
234// Update OLED keyboard with ISO layout, update coordinates
235static void render_iso(void) {
236 for (int i = 0; i < 6; i++) {
237 // Turn off ANSI enter
238 write_pixel(keymap_template[0] + 73 + i, keymap_template[1] + 12, false);
239 if (i < 4) {
240 // Turn off part of ANSI left shift
241 write_pixel(keymap_template[0] + 10 + i, keymap_template[1] + 17, false);
242 // Draw vertical line for ISO enter
243 write_pixel(keymap_template[0] + 79, keymap_template[1] + 8 + i, true);
244 }
245 }
246 // Update locations of shift and grave key highlights
247 keymap_coords[3][1][2] = 3;
248 keymap_coords[1][14][0] = 70;
249 keymap_coords[1][14][1] = 10;
250 keymap_coords[1][14][2] = 1;
251}
252
253// Toggles pixels surrounding key
254static void render_keymap(uint8_t key_row, uint8_t key_col, bool onoff) {
255 int length = keymap_coords[key_row][key_col][2] + 4;
256 int left = keymap_coords[key_row][key_col][0] + keymap_template[0];
257 int top = keymap_coords[key_row][key_col][1] + keymap_template[1];
258 int right = left + length - 1;
259 int bottom = top + 4;
260
261 // Special case 1 - Draw enter key on ISO layout, return
262 if ((ansi_layout == false) && (key_row == 2) && (key_col == 14)) {
263 for (int i = 0; i < 10; i++) {
264 write_pixel(keymap_template[0] + 81, keymap_template[1] + 5 + i, onoff);
265 if (i < 5) {
266 write_pixel(keymap_template[0] + 74, keymap_template[1] + 5 + i, onoff);
267 }
268 if (i < 6) {
269 write_pixel(keymap_template[0] + 75, keymap_template[1] + 9 + i, onoff);
270 }
271 if (i < 7) {
272 write_pixel(keymap_template[0] + 75 + i, keymap_template[1] + 5, onoff);
273 write_pixel(keymap_template[0] + 75 + i, keymap_template[1] + 14, onoff);
274 }
275 }
276 return;
277 }
278 // Draw top and bottom walls (horizontal for <length>px)
279 for (int x = 0; x < length; x++) {
280 write_pixel(left + x, top, onoff);
281 write_pixel(left + x, bottom, onoff);
282 }
283 // Draw left and right walls (vertical for 5px)
284 for (int y = 0; y < 5; y++) {
285 write_pixel(left, top + y, onoff);
286 write_pixel(right, top + y, onoff);
287 }
288 // Special case 2 - Draw right spacebar on split-space layout
289 if ((split_space == true) && (key_row == 4) && (key_col == 6)) {
290 int start = keymap_template[0] + 46;
291 int stop = keymap_template[0] + 55;
292 for (int x = start; x < stop; x++) {
293 write_pixel(x, top, onoff);
294 write_pixel(x, bottom, onoff);
295 }
296 for (int y = 0; y < 5; y++) {
297 write_pixel(start, top + y, onoff);
298 write_pixel(stop, top + y, onoff);
299 }
300 }
301}
302
303// Write active layer name
304static void render_layer_state(void) {
305 if (oled_horizontal) {
306 oled_set_cursor(0, 0);
307 } else {
308 oled_set_cursor(0, 15);
309 }
310 switch (get_highest_layer(layer_state)) {
311 case _MA:
312 oled_write_P(PSTR(MA_LAYER_NAME), false);
313 break;
314 case _L1:
315 oled_write_P(PSTR(L1_LAYER_NAME), false);
316 break;
317 case _L2:
318 oled_write_P(PSTR(L2_LAYER_NAME), false);
319 break;
320 case _L3:
321 oled_write_P(PSTR(L3_LAYER_NAME), false);
322 break;
323 default:
324 oled_write("ERROR", false);
325 break;
326 }
327}
328
329// Update WPM counters
330static void render_wpm_counters(int current_wpm) {
331 int cursorposition_cur = 2;
332 int cursorposition_max = 1;
333 if (oled_horizontal == false) {
334 cursorposition_cur = 13;
335 cursorposition_max = 14;
336 }
337
338 char wpm_counter[4];
339 wpm_counter[3] = '\0';
340 wpm_counter[2] = '0' + current_wpm % 10;
341 wpm_counter[1] = '0' + (current_wpm / 10) % 10;
342 wpm_counter[0] = '0' + (current_wpm / 100) % 10;
343 oled_set_cursor(0, cursorposition_cur);
344 oled_write(wpm_counter, false);
345
346 if (current_wpm > max_wpm) {
347 max_wpm = current_wpm;
348 wpm_limit = max_wpm + 20;
349 oled_set_cursor(0, cursorposition_max);
350 oled_write(wpm_counter, false);
351 }
352}
353
354// Update WPM snail icon
355static void render_wpm_icon(int current_wpm) {
356 // wpm_icon is used to prevent unnecessary redraw
357 if ((current_wpm < icon_med_wpm) && (wpm_icon != 0)) {
358 wpm_icon = 0;
359 } else if ((current_wpm >= icon_med_wpm) && (current_wpm < icon_fast_wpm) && (wpm_icon != 1)) {
360 wpm_icon = 1;
361 } else if ((current_wpm >= icon_fast_wpm) && (wpm_icon != 2)) {
362 wpm_icon = 2;
363 } else {
364 return;
365 }
366 static const char PROGMEM snails[][2][24] = {
367 {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0xA0, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00},
368 {0x40, 0x60, 0x50, 0x4E, 0x51, 0x64, 0x4A, 0x51, 0x54, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x40, 0x30, 0x09, 0x04, 0x02, 0x01, 0x00, 0x00}},
369 {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x04, 0x98, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00},
370 {0x60, 0x50, 0x54, 0x4A, 0x51, 0x64, 0x4A, 0x51, 0x55, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x21, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00, 0x00}},
371 {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x10, 0x10, 0x10, 0x20, 0x40, 0x40, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00},
372 {0x60, 0x58, 0x54, 0x62, 0x49, 0x54, 0x52, 0x51, 0x55, 0x49, 0x62, 0x52, 0x4D, 0x45, 0x46, 0x22, 0x21, 0x11, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00}}
373 };
374 if (oled_horizontal) {
375 oled_set_cursor(3, 1);
376 oled_write_raw_P(snails[wpm_icon][0], sizeof(snails[wpm_icon][0]));
377 oled_set_cursor(3, 2);
378 oled_write_raw_P(snails[wpm_icon][1], sizeof(snails[wpm_icon][1]));
379 } else {
380 oled_set_cursor(0, 11);
381 oled_write_raw_P(snails[wpm_icon][0], sizeof(snails[wpm_icon][0]));
382 oled_set_cursor(0, 12);
383 oled_write_raw_P(snails[wpm_icon][1], sizeof(snails[wpm_icon][1]));
384 }
385}
386
387// Update WPM graph
388static void render_wpm_graph(int current_wpm) {
389 int line_height = ((current_wpm / graph_top_wpm) * 7);
390 if (line_height > 7) {
391 line_height = 7;
392 }
393 // Count graph line pixels, return if nothing to draw
394 int pixel_count = line_height;
395 for (int i = 0; i < 63; i++) {
396 pixel_count += graph_lines[i];
397 }
398 if (pixel_count == 0) {
399 return;
400 }
401 // Shift array elements left or right depending on graph_direction, append new graph line
402 if (graph_direction) {
403 for (int i = 0; i < 63; i++) {
404 graph_lines[i] = graph_lines[i + 1];
405 }
406 graph_lines[63] = line_height;
407 } else {
408 for (int i = 63; i > 0; i--) {
409 graph_lines[i] = graph_lines[i - 1];
410 }
411 graph_lines[0] = line_height;
412 }
413 // Draw all graph lines (left to right, bottom to top)
414 int draw_count, arrpos;
415 for (int x = 1; x <= 127; x += 2) {
416 arrpos = x / 2;
417 draw_count = graph_lines[arrpos];
418 for (int y = 31; y >= 25; y--) {
419 if (draw_count > 0) {
420 write_pixel(x, y, true);
421 draw_count--;
422 } else {
423 write_pixel(x, y, false);
424 }
425 }
426 }
427}
428
429// Call OLED functions
430bool oled_task_user(void) {
431 // Draw OLED keyboard, prevent redraw
432 if (first_loop) {
433 render_background();
434 render_fn_row();
435 if (ansi_layout == false) {
436 render_iso();
437 }
438 first_loop = false;
439 }
440 // Get current WPM, subtract 25% for accuracy and prevent large jumps caused by simultaneous keypresses
441 int current_wpm = get_current_wpm();
442 // Note: This will most likely be removed once QMK's WPM calculation is updated
443 current_wpm -= current_wpm >> 2;
444 if (current_wpm > wpm_limit) {
445 current_wpm = max_wpm;
446 set_current_wpm(max_wpm);
447 }
448 // Write active layer name to display
449 render_layer_state();
450 // Update WPM counters
451 render_wpm_counters(current_wpm);
452 // Update WPM snail icon
453 render_wpm_icon(current_wpm);
454 // Update WPM graph every graph_refresh milliseconds
455 if (timer_elapsed(timer) > graph_refresh) {
456 render_wpm_graph(current_wpm);
457 timer = timer_read();
458 }
459 return false;
460}
461#endif
462
463// Called by QMK during key processing
464bool process_record_user(uint16_t keycode, keyrecord_t *record) {
465 // Forwards keystrokes from an external input device over UART/TRRS
466 process_record_remote_kb(keycode, record);
467
468 #ifdef OLED_ENABLE
469 // Toggle pixels surrounding key
470 render_keymap(record->event.key.row, record->event.key.col, record->event.pressed);
471 #endif
472
473 return true;
474}
475
476// Rotary encoder - RGB and OLED settings
477void change_RGB(bool clockwise) {
478 // While on any layer except default: // Rotary = RGB Mode
479 bool shift = get_mods() & MOD_MASK_SHIFT; // Rotary + Shift = OLED Brightness
480 bool ctrl = get_mods() & MOD_MASK_CTRL; // Rotary + Ctrl = RGB Brightness
481 bool gui = get_mods() & MOD_MASK_GUI; // Rotary + Gui = RGB Saturation
482 bool alt = get_mods() & MOD_MASK_ALT; // Rotary + Alt = RGB Hue
483
484 if (clockwise) {
485 if (shift) {
486 int new_brightness = oled_get_brightness() + 10;
487 if (new_brightness < 255) {
488 oled_set_brightness(new_brightness);
489 } else {
490 oled_set_brightness(255);
491 }
492 } else if (ctrl) {
493 rgblight_increase_val();
494 } else if (gui) {
495 rgblight_increase_sat();
496 } else if (alt) {
497 rgblight_increase_hue();
498 } else {
499 rgblight_step();
500 }
501 } else {
502 if (shift) {
503 int new_brightness = oled_get_brightness() - 10;
504 if (new_brightness > 0) {
505 oled_set_brightness(new_brightness);
506 } else {
507 oled_set_brightness(0);
508 }
509 } else if (ctrl) {
510 rgblight_decrease_val();
511 } else if (gui) {
512 rgblight_decrease_sat();
513 } else if (alt) {
514 rgblight_decrease_hue();
515 } else {
516 rgblight_step_reverse();
517 }
518 }
519}
520
521// Rotary encoder behavior - Change volume on default layer, RGB/OLED on other layers
522bool encoder_update_user(uint8_t index, bool clockwise) {
523 if (layer_state_is(0)) {
524 if (clockwise) {
525 tap_code(KC_VOLU);
526 } else {
527 tap_code(KC_VOLD);
528 }
529 } else {
530 change_RGB(clockwise);
531 }
532 return true;
533}
534
535// Initialize remote keyboard, if connected
536void matrix_init_user(void) {
537 matrix_init_remote_kb();
538}
539
540// Scan and parse keystrokes from remote keyboard, if connected
541void matrix_scan_user(void) {
542 matrix_scan_remote_kb();
543}
diff --git a/keyboards/nullbitsco/nibble/keymaps/snailmap/readme.md b/keyboards/nullbitsco/nibble/keymaps/snailmap/readme.md
deleted file mode 100644
index 5ea93b01af..0000000000
--- a/keyboards/nullbitsco/nibble/keymaps/snailmap/readme.md
+++ /dev/null
@@ -1,36 +0,0 @@
1
2# SnailMap
3
4![KeySnail](https://i.imgur.com/yEQJyI2h.png)
5
6## :snail: Display
7
8- Mini keyboard that highlights the currently pressed keys
9- Snail icon that changes based on the current WPM
10- Current and max WPM counters
11- Active layer name
12- WPM graph
13
14## :gear: Customization
15
16The `OLED configuration variables` can be used to easily customize the display
17
18```
19oled_horizontal - Horizontal or vertical orientation
20ansi_layout - ANSI or ISO layout
21split_space - Bottom row spacebar
22three_mods_left - Left modifier keys
23three_mods_right - Right modifier keys
24graph_direction - Graph movement direction
25graph_refresh - Frequency of graph lines
26graph_top_wpm - WPM required to reach the top of the graph
27icon_med_wpm - WPM required to display the medium snail
28icon_fast_wpm - WPM required to display the fast snail
29MA_LAYER_NAME - Layer 0 display name
30L1_LAYER_NAME - Layer 1 display name
31L2_LAYER_NAME - Layer 2 display name
32L3_LAYER_NAME - Layer 3 display name
33```
34___
35
36###### *Keymap created by* [dogspace](https://github.com/dogspace)
diff --git a/keyboards/nullbitsco/nibble/keymaps/snailmap/rules.mk b/keyboards/nullbitsco/nibble/keymaps/snailmap/rules.mk
deleted file mode 100644
index 4e0f1b619a..0000000000
--- a/keyboards/nullbitsco/nibble/keymaps/snailmap/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
1OLED_ENABLE = yes
2WPM_ENABLE = yes
3SPACE_CADET_ENABLE = no
4GRAVE_ESC_ENABLE = no
5MAGIC_ENABLE = no \ No newline at end of file
diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c
deleted file mode 100644
index d14723df03..0000000000
--- a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c
+++ /dev/null
@@ -1,289 +0,0 @@
1/* Copyright 2021 dogspace <https://github.com/dogspace>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19enum layer_names {
20 _LAY0,
21 _LAY1,
22 _LAY2,
23 _LAY3
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_LAY0] = LAYOUT(
28 KC_PSLS, KC_PAST, KC_PMNS,
29 KC_P7, KC_P8, KC_P9, KC_PPLS,
30 KC_P4, KC_P5, KC_P6, KC_PPLS,
31 KC_P1, KC_P2, KC_P3, KC_PENT,
32 KC_P0, KC_P0, KC_PDOT, KC_PENT
33 ),
34 [_LAY1] = LAYOUT(
35 _______, _______, _______,
36 _______, _______, _______, _______,
37 _______, _______, _______, _______,
38 _______, _______, _______, _______,
39 _______, _______, _______, _______
40 ),
41 [_LAY2] = LAYOUT(
42 _______, _______, _______,
43 _______, _______, _______, _______,
44 _______, _______, _______, _______,
45 _______, _______, _______, _______,
46 _______, _______, _______, _______
47 ),
48 [_LAY3] = LAYOUT(
49 _______, _______, _______,
50 _______, _______, _______, _______,
51 _______, _______, _______, _______,
52 _______, _______, _______, _______,
53 _______, _______, _______, _______
54 )
55};
56
57#ifdef ENCODER_MAP_ENABLE
58const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
59 [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
60 [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
61 [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
62 [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
63};
64#endif
65
66#ifdef OLED_ENABLE
67/*=========================================== OLED CONFIGURATION ===========================================*/
68#define OLED_ROTATE true // OLED rotation (flip 180* from default orientation)
69#define GRAPH_DIRECTION true // Graph movement (true = right to left, false = left to right)
70#define GRAPH_TOP_WPM 100.0 // Minimum WPM required to reach the top of the graph
71#define GRAPH_REFRESH 1000 // In milliseconds, determines the graph-line frequency
72#define ICON_MED_WPM 10 // WPM required to display the medium snail
73#define ICON_FAST_WPM 25 // WPM required to display the fast snail
74
75// Layer names: Should be exactly 5 characters in length if vertical display, or 6 characters if horizontal
76#define MA_LAYER_NAME "LAY 0" // Layer _MA name
77#define L1_LAYER_NAME "LAY 1" // Layer _L1 name
78#define L2_LAYER_NAME "LAY 2" // Layer _L2 name
79#define L3_LAYER_NAME "LAY 3" // Layer _L3 name
80
81#define CAPLCK_STR "CAPLK" // Caps Lock string
82#define NUMLCK_STR "NUMLK" // Num Lock string
83#define SCRLK_STR "SCRLK" // Scroll Lock string
84#define EMPTY_STR " " // Empty string
85
86/*================================================================================================================*/
87
88typedef struct oled_params {
89 bool first_loop : 1;
90 uint8_t wpm_icon : 7;
91 uint16_t timer;
92 uint8_t wpm_limit;
93 uint8_t max_wpm;
94 uint8_t graph_lines[32];
95} oled_params;
96
97oled_params oled_data;
98
99void oled_init_data(void) {
100 // Initialize oled params
101 oled_data.first_loop = true;
102 oled_data.wpm_icon = 5;
103 oled_data.timer = 0;
104 oled_data.wpm_limit = 20;
105 oled_data.max_wpm = 0;
106
107 for (int i=0; i<32; i++) {
108 oled_data.graph_lines[i] = 0;
109 }
110}
111
112// Set OLED rotation
113oled_rotation_t oled_init_user(oled_rotation_t rotation) {
114 oled_init_data();
115 return OLED_ROTATE ? OLED_ROTATION_270 : OLED_ROTATION_90;
116}
117
118// Draw static background image to OLED (keyboard with no bottom row)
119static void render_background(void) {
120 static const char PROGMEM nullbits_n_oled[] = {
121 0x00, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0x80, 0x20, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
122 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
123 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
124 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0x00, 0x00,
125 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
126 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
127 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
129 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
131 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
132 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x00,
133 };
134 oled_write_raw_P(nullbits_n_oled, sizeof(nullbits_n_oled));
135}
136
137// Toggles pixel on/off, converts horizontal coordinates to vertical equivalent if necessary
138static void write_pixel(uint8_t x, uint8_t y, bool onoff) {
139 oled_write_pixel(y, 127 - x, onoff);
140}
141
142// Write active layer name
143static void render_layer_state(void) {
144 oled_set_cursor(0, 15);
145 switch (get_highest_layer(layer_state)) {
146 case _LAY0:
147 oled_write_P(PSTR(MA_LAYER_NAME), false);
148 break;
149 case _LAY1:
150 oled_write_P(PSTR(L1_LAYER_NAME), false);
151 break;
152 case _LAY2:
153 oled_write_P(PSTR(L2_LAYER_NAME), false);
154 break;
155 case _LAY3:
156 oled_write_P(PSTR(L3_LAYER_NAME), false);
157 break;
158 default:
159 oled_write("ERROR", false);
160 break;
161 }
162}
163
164// Update WPM counters
165static void render_wpm_counters(uint8_t current_wpm) {
166 uint8_t cursorposition_cur = 13;
167 uint8_t cursorposition_max = 14;
168
169 oled_set_cursor(0, cursorposition_cur);
170 oled_write(get_u8_str(current_wpm, '0'), false);
171
172 if (current_wpm > oled_data.max_wpm) {
173 oled_data.max_wpm = current_wpm;
174 oled_data.wpm_limit = oled_data.max_wpm + 20;
175 oled_set_cursor(0, cursorposition_max);
176 oled_write(get_u8_str(current_wpm, '0'), false);
177 }
178}
179
180static void render_led_status(void) {
181 // Host Keyboard LED Status
182 led_t led_state = host_keyboard_led_state();
183 oled_set_cursor(0, 8);
184 oled_write_P(led_state.caps_lock ? PSTR(CAPLCK_STR) : PSTR(EMPTY_STR), false);
185 oled_set_cursor(0, 9);
186 oled_write_P(led_state.num_lock ? PSTR(NUMLCK_STR) : PSTR(EMPTY_STR), false);
187 oled_set_cursor(0, 10);
188 oled_write_P(led_state.scroll_lock ? PSTR(SCRLK_STR) : PSTR(EMPTY_STR), false);
189}
190
191// Update WPM snail icon
192static void render_wpm_icon(uint8_t current_wpm) {
193 // wpm_icon is used to prevent unnecessary redraw
194 if ((current_wpm < ICON_MED_WPM) && (oled_data.wpm_icon != 0)) {
195 oled_data.wpm_icon = 0;
196 } else if ((current_wpm >= ICON_MED_WPM) && (current_wpm < ICON_FAST_WPM) && (oled_data.wpm_icon != 1)) {
197 oled_data.wpm_icon = 1;
198 } else if ((current_wpm >= ICON_FAST_WPM) && (oled_data.wpm_icon != 2)) {
199 oled_data.wpm_icon = 2;
200 } else {
201 return;
202 }
203 static const char PROGMEM snails[][2][24] = {
204 {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0xA0, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x50, 0x88, 0x04, 0x00, 0x00},
205 {0x40, 0x60, 0x50, 0x4E, 0x51, 0x64, 0x4A, 0x51, 0x54, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x40, 0x30, 0x09, 0x04, 0x02, 0x01, 0x00, 0x00}},
206 {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x04, 0x98, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00},
207 {0x60, 0x50, 0x54, 0x4A, 0x51, 0x64, 0x4A, 0x51, 0x55, 0x49, 0x41, 0x62, 0x54, 0x49, 0x46, 0x41, 0x21, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00, 0x00}},
208 {{0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x10, 0x10, 0x10, 0x20, 0x40, 0x40, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00},
209 {0x60, 0x58, 0x54, 0x62, 0x49, 0x54, 0x52, 0x51, 0x55, 0x49, 0x62, 0x52, 0x4D, 0x45, 0x46, 0x22, 0x21, 0x11, 0x10, 0x0A, 0x08, 0x05, 0x02, 0x00}}
210 };
211 oled_set_cursor(0, 11);
212 oled_write_raw_P(snails[oled_data.wpm_icon][0], sizeof(snails[oled_data.wpm_icon][0]));
213 oled_set_cursor(0, 12);
214 oled_write_raw_P(snails[oled_data.wpm_icon][1], sizeof(snails[oled_data.wpm_icon][1]));
215}
216
217// Update WPM graph
218static void render_wpm_graph(uint8_t current_wpm) {
219 uint8_t line_height = ((current_wpm / GRAPH_TOP_WPM) * 7);
220 if (line_height > 7) {
221 line_height = 7;
222 }
223 // Count graph line pixels, return if nothing to draw
224 uint8_t pixel_count = line_height;
225 for (int i = 0; i < 31; i++) {
226 pixel_count += oled_data.graph_lines[i];
227 }
228 if (pixel_count == 0) {
229 return;
230 }
231 // Shift array elements left or right depending on GRAPH_DIRECTION pend new graph line
232 if (GRAPH_DIRECTION) {
233 for (int i = 0; i < 31; i++) {
234 oled_data.graph_lines[i] = oled_data.graph_lines[i + 1];
235 }
236 oled_data.graph_lines[31] = line_height;
237 } else {
238 for (int i = 31; i > 0; i--) {
239 oled_data.graph_lines[i] = oled_data.graph_lines[i - 1];
240 }
241 oled_data.graph_lines[0] = line_height;
242 }
243 // Draw all graph lines (left to right, bottom to top)
244 uint16_t draw_count, arrpos;
245 for (int x = 1; x <= 63; x += 2) {
246 arrpos = x / 2;
247 draw_count = oled_data.graph_lines[arrpos];
248 for (int y = 31; y >= 25; y--) {
249 if (draw_count > 0) {
250 write_pixel(x, y, true);
251 draw_count--;
252 } else {
253 write_pixel(x, y, false);
254 }
255 }
256 }
257}
258
259// Call OLED functions
260bool oled_task_user(void) {
261 // Draw OLED keyboard, prevent redraw
262 if (oled_data.first_loop) {
263 render_background();
264 oled_data.first_loop = false;
265 }
266 // Get current WPM, subtract 25% for accuracy and prevent large jumps caused by simultaneous keypresses
267 uint8_t current_wpm = get_current_wpm();
268 // Write active layer name to display
269 render_layer_state();
270 // Update WPM counters
271 render_wpm_counters(current_wpm);
272 // Update WPM snail icon
273 render_wpm_icon(current_wpm);
274 // Update LED status
275 render_led_status();
276 // Update WPM graph every graph_refresh milliseconds
277 if (timer_elapsed(oled_data.timer) > GRAPH_REFRESH) {
278 render_wpm_graph(current_wpm);
279 oled_data.timer = timer_read();
280 }
281 return false;
282}
283#endif
284
285bool wpm_keycode_user(uint16_t keycode) {
286 // Count all keycodes on the macropad
287 return true;
288}
289
diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk
deleted file mode 100644
index 605f034e1d..0000000000
--- a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
1OLED_ENABLE = yes
2WPM_ENABLE = yes
3VIA_ENABLE = yes
4SPACE_CADET_ENABLE = no
5GRAVE_ESC_ENABLE = no
6MAGIC_ENABLE = no
7ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/numatreus/keymaps/yohewi/keymap.c b/keyboards/numatreus/keymaps/yohewi/keymap.c
deleted file mode 100644
index 5b53389f98..0000000000
--- a/keyboards/numatreus/keymaps/yohewi/keymap.c
+++ /dev/null
@@ -1,61 +0,0 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7
8enum layer_number {
9 _QWERTY,
10 _LOWER,
11 _RAISE,
12};
13
14enum custom_keycodes {
15 BASE = SAFE_RANGE,
16 LOWER,
17 RAISE,
18};
19
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22
23 /*
24 * q w e r t || y u i o p
25 * a s d f g || h j k l ;
26 * z x c v b || n m , . \
27 * esc tab ctl lw spc bspc|| GRV ent RS / alt -
28 */
29
30 [_QWERTY] = LAYOUT( /* Qwerty */
31 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
32 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
33 SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_BSLS) ,
34 KC_ESC, KC_TAB, KC_LCTL, MO(_LOWER), KC_SPC, KC_BSPC, LALT(KC_GRV), KC_ENT, MO(_RAISE), KC_DOT, KC_RALT, KC_MINS ),
35
36
37 /*
38 * 1 2 3 4 5 || 6 7 8 9 0
39 * # < > = - || _ + ENT
40 * [ ] ( ) & || ` . UP \
41 * TRANS TRANS TRANS TRANS TRANS TRANS|| TRANS TRANS RS LEFT DPWM RGHT
42 */
43 [_RAISE] = LAYOUT( /* [> RAISE <] */
44 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 ,
45 KC_HASH, KC_LABK, KC_RABK, KC_EQL, KC_MINS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, KC_ENT ,
46 KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_TRNS, KC_DOT, KC_UP, KC_BSLS ,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT ),
48
49 /*
50 * ! @ # $ % || ^ & * ( )
51 * F1 F2 F3 F4 F5 || F6 F7 F8 F9 F10
52 * F11 F12 reset || , UP \
53 * TRNS TRNS TRNS TRNS TRNS TRNS||TRNS TRNS TRNS LEFT DPWM RGHT
54 */
55
56 [_LOWER] = LAYOUT( /* [> LOWER <] */
57 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN ,
58 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 ,
59 KC_F11, KC_F12, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_TRNS, KC_QUOT, KC_UP, KC_BSLS ,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, TO(_QWERTY), KC_LEFT, KC_DOWN, KC_RGHT )
61};
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h
deleted file mode 100644
index a597d848e2..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23/* Select hand configuration */
24
25#define MASTER_LEFT
26// #define MASTER_RIGHT
27// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c
deleted file mode 100644
index 8bc5d09d80..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/keymap.c
+++ /dev/null
@@ -1,141 +0,0 @@
1/* Copyright 2020 Toyoshima Hidenori <t@toyo.dev>
2*
3* This program is free software: you can redistribute it and/or modify
4* it under the terms of the GNU General Public License as published by
5* the Free Software Foundation, either version 2 of the License, or
6* (at your option) any later version.
7*
8* This program is distributed in the hope that it will be useful,
9* but WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>
15*/
16
17#include QMK_KEYBOARD_H
18
19enum layers {
20 _QWERTY,
21 _LOWER,
22 _RAISE,
23 _ADJUST,
24};
25
26enum custom_keycodes {
27 QWERTY = SAFE_RANGE,
28 LOWER,
29 RAISE,
30 ADJUST,
31};
32
33#define EISU LALT(KC_GRV)
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35
36 /* Qwerty
37 * ,----------------------------------------------------------------------------------------------------------------------.
38 * | TAB | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
39 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
40 * | Ctrl | A | S | D | F | G | [ | | ] | H | J | K | L | ; | ' |
41 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
42 * | Shift| Z | X | C | V | B | GUI | | GUI | N | M | , | . | / | Shift|
43 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
44 * | Ctrl | ESC | ALt | ESC |||||||| Shift| Raise| Space|||||||| enter| Lower| Bcspc|||||||| Left | Down | Up | Right|
45 * ,----------------------------------------------------------------------------------------------------------------------.
46 */
47 [_QWERTY] = LAYOUT(
48 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_EQL , KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
49 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
50 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, KC_RGUI, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
51 KC_LCTL, KC_ESC, KC_LALT, KC_ESC, KC_LSFT, RAISE, KC_SPC, KC_ENT, LOWER, KC_BSPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
52 ),
53
54 /* Lower
55 * ,----------------------------------------------------------------------------------------------------------------------.
56 * | ~ | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
57 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
58 * | Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
59 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
60 * | Shift| ! | @ | # | $ | % | GUI | | GUI | - | = | < | > | ? | Shift|
61 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
62 * | Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
63 * ,----------------------------------------------------------------------------------------------------------------------.
64 */
65 [_LOWER] = LAYOUT(
66 KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_UNDS, KC_PLUS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PIPE,
67 KC_LCTL, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_COLN, KC_DQT ,
68 KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LGUI, KC_RGUI, KC_MINS, KC_EQL, KC_LT, KC_GT, KC_QUES, KC_RSFT,
69 KC_LCTL, KC_ESC, KC_LALT, KC_LNG2, KC_LNG1, RAISE, KC_SPC, KC_ENT, LOWER, KC_DEL, KC_HOME,KC_PGDN, KC_PGUP, KC_END
70 ),
71
72 /* Raise
73 * ,----------------------------------------------------------------------------------------------------------------------.
74 * | ` | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
75 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
76 * | Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
77 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
78 * | Shift| ! | @ | # | $ | % | GUI | | GUI | _ | + | < | > | ? | Shift|
79 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
80 * | Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
81 * ,----------------------------------------------------------------------------------------------------------------------.
82 */
83 [_RAISE] = LAYOUT(
84 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_UNDS, KC_PLUS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PIPE,
85 KC_LCTL, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_COLN, KC_DQT ,
86 KC_LSFT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LGUI, KC_RGUI, KC_UNDS, KC_PLUS, KC_LT, KC_GT, KC_QUES, KC_RSFT,
87 KC_LCTL, KC_ESC, KC_LALT, KC_LNG2, KC_LNG1, RAISE, KC_SPC, KC_ENT, LOWER, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END
88 ),
89
90 /* Adjust
91 * ,----------------------------------------------------------------------------------------------------------------------.
92 * | | Reset|RGB ON| MODE| HUE-| HUE+| | | | SAT-| SAT+| VAL-| VAL+| | |
93 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
94 * | | | | | | | | | | | |
95 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
96 * | F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
97 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
98 * | | | | |||||||| | | |||||||| | | |||||||| | | | |
99 * ,----------------------------------------------------------------------------------------------------------------------.
100 */
101 [_ADJUST] = LAYOUT(
102 _______, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI,_______, _______, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, _______,
103 _______, _______, BL_TOGG, BL_BRTG, BL_UP , BL_DOWN,_______, _______, _______, _______, _______, _______, _______, _______,
104 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6 ,_______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
105 _______, _______, _______, _______, _______,_______,_______, _______,_______, _______, _______, _______, _______, _______
106 )
107};
108
109bool process_record_user(uint16_t keycode, keyrecord_t *record) {
110 switch (keycode) {
111 case LOWER:
112 if (record->event.pressed) {
113 layer_on(_LOWER);
114 update_tri_layer(_LOWER, _RAISE, _ADJUST);
115 } else {
116 layer_off(_LOWER);
117 update_tri_layer(_LOWER, _RAISE, _ADJUST);
118 }
119 return false;
120 break;
121 case RAISE:
122 if (record->event.pressed) {
123 layer_on(_RAISE);
124 update_tri_layer(_LOWER, _RAISE, _ADJUST);
125 } else {
126 layer_off(_RAISE);
127 update_tri_layer(_LOWER, _RAISE, _ADJUST);
128 }
129 return false;
130 break;
131 case ADJUST:
132 if (record->event.pressed) {
133 layer_on(_ADJUST);
134 } else {
135 layer_off(_ADJUST);
136 }
137 return false;
138 break;
139 }
140 return true;
141}
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md
deleted file mode 100644
index ebc13043a7..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/readme.md
+++ /dev/null
@@ -1,62 +0,0 @@
1# ToyoshimaHidenori's keymap for Ergodash mini
2
3This is the ToyoshimaHidenori's keymap configuration for Ergodash mini.
4There are four layers, QWERTY(default), LOWER, RAISE and ADJSUT.
5
6## Layers
7
8### Qwerty
9
10```
11,----------------------------------------------------------------------------------------------------------------------.
12| TAB | Q | W | E | R | T | - | | = | Y | U | I | O | P | \ |
13|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
14| Ctrl | A | S | D | F | G | [ | | ] | H | J | K | L | ; | ' |
15|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
16| Shift| Z | X | C | V | B | GUI | | GUI | N | M | , | . | / | Shift|
17|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
18| Ctrl | ESC | ALt | ESC |||||||| Shift| Raise| Space|||||||| enter| Lower| Bcspc|||||||| Left | Down | Up | Right|
19,----------------------------------------------------------------------------------------------------------------------.
20```
21
22### Lower
23
24```
25,----------------------------------------------------------------------------------------------------------------------.
26| ~ | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
27|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
28| Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
29|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
30| Shift| ! | @ | # | $ | % | GUI | | GUI | - | = | < | > | ? | Shift|
31|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
32| Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
33,----------------------------------------------------------------------------------------------------------------------.
34```
35
36### Raise
37
38```
39,----------------------------------------------------------------------------------------------------------------------.
40| ` | 1 | 2 | 3 | 4 | 5 | _ | | + | 6 | 7 | 8 | 9 | 0 | | |
41|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
42| Ctrl | ^ | & | * | ( | ) | { | | } | Left | Down | Up | Right| : | " |
43|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
44| Shift| ! | @ | # | $ | % | GUI | | GUI | _ | + | < | > | ? | Shift|
45|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
46| Ctrl | ESC | ALt | EISU |||||||| kana | Raise| Space|||||||| Enter| Lower|Delete|||||||| Home |PageDn|PageUp| End |
47,----------------------------------------------------------------------------------------------------------------------.
48```
49
50### Adjust
51
52```
53,----------------------------------------------------------------------------------------------------------------------.
54| | Reset|RGB ON| MODE| HUE-| HUE+| | | | SAT-| SAT+| VAL-| VAL+| | |
55|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
56| | | | | | | | | | | |
57|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
58| F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
59|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
60| | | | |||||||| | | |||||||| | | |||||||| | | | |
61,----------------------------------------------------------------------------------------------------------------------.
62```
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk
deleted file mode 100644
index 11b62b9bff..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
1BACKLIGHT_ENABLE = yes
2RGBLIGHT_ENABLE = yes
3AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h
deleted file mode 100644
index a597d848e2..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23/* Select hand configuration */
24
25#define MASTER_LEFT
26// #define MASTER_RIGHT
27// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c
deleted file mode 100644
index 9636b761bc..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/keymap.c
+++ /dev/null
@@ -1,111 +0,0 @@
1/* Copyright 2021 Yoshihiro Saito
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>
15 */
16
17#include QMK_KEYBOARD_H
18
19enum layers {
20 _QWERTY,
21 _LOWER,
22 _RAISE,
23 _ADJUST,
24};
25
26enum custom_keycodes {
27 QWERTY = SAFE_RANGE,
28 LOWER,
29 RAISE,
30 ADJUST,
31};
32
33// Shift + ( = <
34const key_override_t left_paren_angle_bracket_override = ko_make_basic(MOD_MASK_SHIFT, KC_LEFT_PAREN, KC_LEFT_ANGLE_BRACKET);
35
36// Shift + ) = >
37const key_override_t right_paren_angle_bracket_override = ko_make_basic(MOD_MASK_SHIFT, KC_RIGHT_PAREN, KC_RIGHT_ANGLE_BRACKET);
38
39const key_override_t **key_overrides = (const key_override_t *[]){
40 &left_paren_angle_bracket_override,
41 &right_paren_angle_bracket_override,
42 NULL
43};
44
45const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
46 /* Qwerty */
47 [_QWERTY] = LAYOUT(
48 QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LPRN, KC_RPRN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
49 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_DEL,
50 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
51 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, LOWER, CTL_T(KC_SPC), SC_SENT, RAISE, KC_RGUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
52 ),
53
54 /* Lower */
55 [_LOWER] = LAYOUT(
56 XXXXXXX, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_F11, KC_GRV, KC_CIRC, KC_AMPR, KC_ASTR, XXXXXXX, XXXXXXX, XXXXXXX,
57 XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F12, KC_BSLS, KC_TILD, KC_MINS, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX,
58 XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_PIPE, KC_UNDS, KC_PLUS, XXXXXXX, XXXXXXX, XXXXXXX,
59 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
60 ),
61
62 /* Raise */
63 [_RAISE] = LAYOUT(
64 XXXXXXX, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, XXXXXXX, XXXXXXX, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, XXXXXXX,
65 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
66 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, XXXXXXX, XXXXXXX,
67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
68 ),
69
70 /* Adjust */
71 [_ADJUST] = LAYOUT(
72 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
73 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
74 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
75 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______ ,_______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
76 ),
77};
78
79bool process_record_user(uint16_t keycode, keyrecord_t *record) {
80 switch (keycode) {
81 case LOWER:
82 if (record->event.pressed) {
83 layer_on(_LOWER);
84 update_tri_layer(_LOWER, _RAISE, _ADJUST);
85 } else {
86 layer_off(_LOWER);
87 update_tri_layer(_LOWER, _RAISE, _ADJUST);
88 }
89 return false;
90 break;
91 case RAISE:
92 if (record->event.pressed) {
93 layer_on(_RAISE);
94 update_tri_layer(_LOWER, _RAISE, _ADJUST);
95 } else {
96 layer_off(_RAISE);
97 update_tri_layer(_LOWER, _RAISE, _ADJUST);
98 }
99 return false;
100 break;
101 case ADJUST:
102 if (record->event.pressed) {
103 layer_on(_ADJUST);
104 } else {
105 layer_off(_ADJUST);
106 }
107 return false;
108 break;
109 }
110 return true;
111}
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md
deleted file mode 100644
index 67a6ed9b90..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
1# yoshimaru46's keymap for Ergodash mini
2
3This is the yoshimaru46's keymap configuration for Ergodash mini.
4There are three layers, QWERTY(default), LOWER, and RAISE.
diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk
deleted file mode 100644
index f85c6a4151..0000000000
--- a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
1BACKLIGHT_ENABLE = no
2RGBLIGHT_ENABLE = no
3AUDIO_ENABLE = no
4KEY_OVERRIDE_ENABLE = yes
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h
deleted file mode 100644
index a597d848e2..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23/* Select hand configuration */
24
25#define MASTER_LEFT
26// #define MASTER_RIGHT
27// #define EE_HANDS
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c
deleted file mode 100644
index 3b52ba975e..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/keymap.c
+++ /dev/null
@@ -1,219 +0,0 @@
1#include QMK_KEYBOARD_H
2#include "keymap_japanese.h"
3
4// clang-format off
5enum layers { _QWERTY, _LOWER, _RAISE, _ADJUST };
6
7enum custom_keycodes { JP = SAFE_RANGE, US, SHIFT, LOWER, RAISE, ADJUST,
8 CSTM_0, CSTM_1, CSTM_2, CSTM_3, CSTM_4, CSTM_5, CSTM_6, CSTM_7, CSTM_8, CSTM_9,
9 CIRC, AT, LBRC, RBRC, BSLS, AMPR, QUOT, LPRN, RPRN, EQL, TILD, PIPE, GRV, LCBR,
10 PLUS, ASTR, RCBR, UNDS, MINS, SCLN, COMM, DOT, SLSH, EXLM, HASH, DLR, PERC, DEL };
11
12const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13 /* Qwerty
14 * ,----------------------------------------------------------------------------------------------------------------------.
15 * | ESC | 1 | 2 | 3 | 4 | 5 | ZKHK | | ZKHK | 6 | 7 | 8 | 9 | 0 | ` |
16 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
17 * | TAB | Q | W | E | R | T | MHEN | |HENKAN| Y | U | I | O | P | \ |
18 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
19 * | CTRL | A | S | D | F | G | EISU | <- ONLY FOR MAC -> | KANA | H | J | K | L | ; | ' |
20 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
21 * | SHIFT| Z | X | C | V | B | SHIFT| | SHIFT| N | M | , | . | / | SHIFT|
22 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
23 * | SHIFT|ADJUST| ALT | GUI |||||||| LOWER| SPACE| |||||||| | ENTER| RAISE|||||||| GUI | ALT |ADJUST| SHIFT|
24 * ,----------------------------------------------------------------------------------------------------------------------.
25 */
26 [_QWERTY] = LAYOUT(
27 KC_ESC, CSTM_1, CSTM_2, CSTM_3, CSTM_4, CSTM_5, JP_KANA, JP_KANA, CSTM_6, CSTM_7, CSTM_8, CSTM_9, CSTM_0, GRV ,
28 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, JP_MHEN, JP_HENK, KC_Y, KC_U, KC_I, KC_O, KC_P, BSLS ,
29 KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LNG2, JP_LANG1,KC_H, KC_J, KC_K, KC_L, SCLN, QUOT ,
30 SHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SHIFT , SHIFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFT ,
31 SHIFT, ADJUST, KC_LALT, KC_LCTL, LOWER, KC_SPC ,XXXXXXX, XXXXXXX,KC_ENT , RAISE, KC_LCTL, KC_LALT, ADJUST, SHIFT
32 ),
33
34 /* Lower
35 * ,----------------------------------------------------------------------------------------------------------------------.
36 * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
37 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
38 * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
39 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
40 * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
41 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
42 * | |||||||||||||||||||||| - | _ | | | | + | = | [ | ] |||||||| |
43 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
44 * | | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
45 * ,----------------------------------------------------------------------------------------------------------------------.
46 */
47 [_LOWER] = LAYOUT(
48 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 ,
49 TILD, EXLM, AT, HASH, DLR, PERC, _______, _______, CIRC, AMPR, ASTR, LPRN, RPRN, PIPE ,
50 _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0 , _______,
51 _______, XXXXXXX, XXXXXXX, XXXXXXX, MINS, UNDS, _______, _______, PLUS, EQL, LBRC, RBRC, XXXXXXX, _______,
52 _______, _______, _______, _______, _______, KC_ESC ,_______, _______,KC_BSPC, _______, _______, _______, _______, _______
53 ),
54
55 /* Raise
56 * ,----------------------------------------------------------------------------------------------------------------------.
57 * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
58 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
59 * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
60 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
61 * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
62 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
63 * | |||||||| [ | ] | - | _ | | | | + | = |||||||||||||||||||||| |
64 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
65 * | | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
66 * ,----------------------------------------------------------------------------------------------------------------------.
67 */
68 [_RAISE] = LAYOUT(
69 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 ,
70 TILD, EXLM, AT, HASH, DLR, PERC, _______, _______, CIRC, AMPR, ASTR, LPRN, RPRN, PIPE ,
71 _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0 , _______,
72 _______, XXXXXXX, LBRC, RBRC, MINS, UNDS, _______, _______, PLUS, EQL, XXXXXXX, XXXXXXX, XXXXXXX, _______,
73 _______, _______, _______, _______, _______, KC_ESC ,_______, _______,KC_BSPC, _______, _______, _______, _______, _______
74 ),
75
76 /* Adjust
77 * ,----------------------------------------------------------------------------------------------------------------------.
78 * | | | | | | | US | | JP | | | | | | |
79 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
80 * | | | | | | | | | | | | | | | |
81 * |------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
82 * | | HOME |PAGEDN|PAGEUP| END |||||||| | | | LEFT | DOWN | UP | RIGHT|||||||| |
83 * |------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
84 * | | | { | } | | | | | | | | { | } | | |
85 * |-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
86 * | | | | |||||||| | | |||||||| | | |||||||| | | | |
87 * ,----------------------------------------------------------------------------------------------------------------------.
88 */
89 [_ADJUST] = LAYOUT(
90 _______, _______, _______, _______, _______, _______, US , JP, _______, _______, _______, _______, _______, _______,
91 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
92 _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, _______,
93 _______, _______, LCBR, RCBR, _______, _______, _______, _______, _______, _______, LCBR, RCBR, _______, _______,
94 _______, _______, _______, _______, _______, _______,_______, _______,_______, _______, _______, _______, _______, _______
95 )};
96// clang-format on
97
98#ifdef AUDIO_ENABLE
99float tone_qwerty[][2] = SONG(QWERTY_SOUND);
100#endif
101
102#define JP_LAYOUT true
103#define US_LAYOUT false
104
105#ifdef MASTER_LEFT
106bool LAYOUT_STATUS = US_LAYOUT;
107#else
108bool LAYOUT_STATUS = JP_LAYOUT;
109#endif
110
111bool SHIFT_PRESSED = false;
112
113void persistent_default_layer_set(uint16_t default_layer) {
114 eeconfig_update_default_layer(default_layer);
115 default_layer_set(default_layer);
116}
117
118#define SEND_STRING_RESTORE(STR) (SHIFT_PRESSED ? SEND_STRING(STR SS_DOWN(X_LSFT)) : SEND_STRING(STR SS_UP(X_LSFT)))
119
120#define KEY(CODE) (record->event.pressed ? SEND_STRING(SS_DOWN(X_##CODE)) : SEND_STRING_RESTORE(SS_UP(X_##CODE)))
121
122#define KEY_SHIFT(CODE) (record->event.pressed ? SEND_STRING(SS_DOWN(X_LSFT) SS_DOWN(X_##CODE)) : SEND_STRING_RESTORE(SS_UP(X_##CODE)))
123
124#define KEY_UPSHIFT(CODE) (record->event.pressed ? SEND_STRING(SS_UP(X_LSFT) SS_DOWN(X_##CODE)) : SEND_STRING_RESTORE(SS_UP(X_##CODE)))
125
126#define SHIFT_DU(CODE_DOWN, CODE_UP) (SHIFT_PRESSED ? CODE_DOWN : CODE_UP)
127#define CASE_US(CODE, US, JP) \
128 case CODE: \
129 (LAYOUT_STATUS == JP_LAYOUT ? JP : US); \
130 return false;
131
132bool process_record_user(uint16_t keycode, keyrecord_t *record) {
133 switch (keycode) {
134 CASE_US(CSTM_0, KEY(0), SHIFT_DU(KEY_SHIFT(9), KEY(0)));
135 CASE_US(CSTM_1, KEY(1), KEY(1));
136 CASE_US(CSTM_2, KEY(2), SHIFT_DU(KEY_UPSHIFT(LBRACKET), KEY(2)));
137 CASE_US(CSTM_3, KEY(3), KEY(3));
138 CASE_US(CSTM_4, KEY(4), KEY(4));
139 CASE_US(CSTM_5, KEY(5), KEY(5));
140 CASE_US(CSTM_6, KEY(6), SHIFT_DU(KEY_UPSHIFT(EQUAL), KEY(6)));
141 CASE_US(CSTM_7, KEY(7), SHIFT_DU(KEY_SHIFT(6), KEY(7)));
142 CASE_US(CSTM_8, KEY(8), SHIFT_DU(KEY_SHIFT(QUOTE), KEY(8)));
143 CASE_US(CSTM_9, KEY(9), SHIFT_DU(KEY_SHIFT(8), KEY(9)));
144 CASE_US(DEL, KEY(DELETE), KEY_UPSHIFT(BSPACE));
145 CASE_US(TILD, KEY_SHIFT(GRAVE), KEY_SHIFT(EQUAL));
146 CASE_US(EXLM, KEY_SHIFT(1), KEY_SHIFT(1));
147 CASE_US(AT, KEY_SHIFT(2), KEY(LBRACKET));
148 CASE_US(HASH, KEY_SHIFT(3), KEY_SHIFT(3));
149 CASE_US(DLR, KEY_SHIFT(4), KEY_SHIFT(4));
150 CASE_US(PERC, KEY_SHIFT(5), KEY_SHIFT(5));
151 CASE_US(CIRC, KEY_SHIFT(6), KEY(EQUAL));
152 CASE_US(AMPR, KEY_SHIFT(7), KEY_SHIFT(6));
153 CASE_US(ASTR, KEY_SHIFT(8), KEY_SHIFT(QUOTE));
154 CASE_US(LPRN, KEY_SHIFT(9), KEY_SHIFT(8));
155 CASE_US(RPRN, KEY_SHIFT(0), KEY_SHIFT(9));
156 CASE_US(LBRC, KEY(LBRACKET), SHIFT_DU(KEY_SHIFT(RBRACKET), KEY(RBRACKET)));
157 CASE_US(RBRC, KEY(RBRACKET), SHIFT_DU(KEY_SHIFT(NONUS_HASH), KEY(NONUS_HASH)));
158 CASE_US(LCBR, KEY_SHIFT(LBRACKET), KEY_SHIFT(RBRACKET));
159 CASE_US(RCBR, KEY_SHIFT(RBRACKET), KEY_SHIFT(NONUS_HASH));
160 CASE_US(GRV, KEY(GRAVE), SHIFT_DU(KEY_SHIFT(EQUAL), KEY_SHIFT(LBRACKET)));
161 CASE_US(BSLS, KEY(BSLASH), SHIFT_DU(KEY_SHIFT(INT3), KEY(INT3)));
162 CASE_US(PIPE, KEY_SHIFT(BSLASH), KEY_SHIFT(INT3));
163 CASE_US(MINS, KEY(MINUS), SHIFT_DU(KEY_SHIFT(INT1), KEY(MINUS)));
164 CASE_US(UNDS, KEY_SHIFT(MINUS), KEY_SHIFT(INT1));
165 CASE_US(EQL, KEY(EQUAL), SHIFT_DU(KEY_SHIFT(SCOLON), KEY_SHIFT(MINUS)));
166 CASE_US(PLUS, KEY_SHIFT(EQUAL), KEY_SHIFT(SCOLON));
167 CASE_US(SCLN, KEY(SCOLON), SHIFT_DU(KEY_UPSHIFT(QUOTE), KEY(SCOLON)));
168 CASE_US(QUOT, KEY(QUOTE), SHIFT_DU(KEY_SHIFT(2), KEY_SHIFT(7)));
169 case JP:
170 if (record->event.pressed) {
171 LAYOUT_STATUS = JP_LAYOUT;
172 }
173 return false;
174 break;
175 case US:
176 if (record->event.pressed) {
177 LAYOUT_STATUS = US_LAYOUT;
178 }
179 return false;
180 break;
181 case SHIFT:
182 if (record->event.pressed) {
183 SEND_STRING(SS_DOWN(X_LSFT));
184 SHIFT_PRESSED = true;
185 } else {
186 SEND_STRING(SS_UP(X_LSFT));
187 SHIFT_PRESSED = false;
188 }
189 return false;
190 break;
191 case LOWER:
192 if (record->event.pressed) {
193 layer_on(_LOWER);
194 } else {
195 layer_off(_LOWER);
196 }
197 update_tri_layer(_LOWER, _RAISE, _ADJUST);
198 return false;
199 break;
200 case RAISE:
201 if (record->event.pressed) {
202 layer_on(_RAISE);
203 } else {
204 layer_off(_RAISE);
205 }
206 update_tri_layer(_LOWER, _RAISE, _ADJUST);
207 return false;
208 break;
209 case ADJUST:
210 if (record->event.pressed) {
211 layer_on(_ADJUST);
212 } else {
213 layer_off(_ADJUST);
214 }
215 return false;
216 break;
217 }
218 return true;
219}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json
deleted file mode 100644
index 1f5eee6014..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/m47ch4ns_keymap.json
+++ /dev/null
@@ -1 +0,0 @@
1{"keyboard":"ergodash/rev1","keymap":"m47ch4ns_keymap","layout":"LAYOUT_3key_1us","layers":[["KC_ESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_NO","KC_NO","KC_6","KC_7","KC_8","KC_9","KC_0","KC_GRV","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_NO","KC_NO","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_BSLS","KC_LCTL","KC_A","KC_S","KC_D","KC_F","KC_G","KC_NO","KC_NO","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_LSFT","KC_RSFT","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_RSFT","KC_LSFT","ANY(ADJUST)","KC_LALT","KC_LGUI","ANY(LOWER)","KC_SPC","KC_ENT","ANY(RAISE)","KC_RGUI","KC_RALT","ANY(ADJUST)","KC_RSFT"],["KC_F11","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_TRNS","KC_TRNS","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F12","KC_TRNS","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_TRNS","KC_TRNS","KC_CIRC","KC_AMPR","KC_ASTR","KC_LPRN","KC_RPRN","KC_PIPE","KC_TRNS","KC_1","KC_2","KC_3","KC_4","KC_5","KC_TRNS","KC_TRNS","KC_6","KC_7","KC_8","KC_9","KC_0","KC_TRNS","KC_TRNS","KC_NO","KC_NO","KC_NO","KC_MINS","KC_UNDS","KC_TRNS","KC_TRNS","KC_PLUS","KC_EQL","KC_LBRC","KC_RBRC","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_ESC","KC_BSPC","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_F11","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_TRNS","KC_TRNS","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F12","KC_TRNS","KC_EXLM","KC_AT","KC_HASH","KC_DLR","KC_PERC","KC_TRNS","KC_TRNS","KC_CIRC","KC_AMPR","KC_ASTR","KC_LPRN","KC_RPRN","KC_PIPE","KC_TRNS","KC_1","KC_2","KC_3","KC_4","KC_5","KC_TRNS","KC_TRNS","KC_6","KC_7","KC_8","KC_9","KC_0","KC_TRNS","KC_TRNS","KC_NO","KC_LBRC","KC_RBRC","KC_MINS","KC_UNDS","KC_TRNS","KC_TRNS","KC_PLUS","KC_EQL","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_ESC","KC_BSPC","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_HOME","KC_PGDN","KC_PGUP","KC_END","KC_TRNS","KC_TRNS","KC_TRNS","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LCBR","KC_RCBR","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"]],"author":"","notes":""} \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md
deleted file mode 100644
index 598f258e1c..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/readme.md
+++ /dev/null
@@ -1,73 +0,0 @@
1# m47ch4n's keymap for Ergodash rev1
2
3This is the m47ch4n's keymap configuration for Ergodash rev1.
4There are four layers, QWERTY(default), LOWER, RAISE and ADJSUT.
5
6## Layers
7
8### Qwerty
9
10```
11,----------------------------------------------------------------------------------------------------------------------.
12| ESC | 1 | 2 | 3 | 4 | 5 | ZKHK | | ZKHK | 6 | 7 | 8 | 9 | 0 | ` |
13|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
14| TAB | Q | W | E | R | T | MHEN | |HENKAN| Y | U | I | O | P | \ |
15|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
16| CTRL | A | S | D | F | G | EISU |<-- ONLY FOR MAC -->| KANA | H | J | K | L | ; | ' |
17|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
18| SHIFT| Z | X | C | V | B | SHIFT| | SHIFT| N | M | , | . | / | SHIFT|
19|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
20| SHIFT|ADJUST| ALT | GUI |||||||| LOWER| SPACE| |||||||| | ENTER| RAISE|||||||| GUI | ALT |ADJUST| SHIFT|
21,----------------------------------------------------------------------------------------------------------------------.
22```
23
24### Lower
25
26```
27,----------------------------------------------------------------------------------------------------------------------.
28| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
29|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
30| ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
31|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
32| | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
33|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
34| |||||||||||||||||||||| - | _ | | | | + | = | [ | ] |||||||| |
35|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
36| | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
37,----------------------------------------------------------------------------------------------------------------------.
38```
39
40### Raise
41
42```
43,----------------------------------------------------------------------------------------------------------------------.
44| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
45|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
46| ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | | |
47|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
48| | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
49|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
50| |||||||| [ | ] | - | _ | | | | + | = |||||||||||||||||||||| |
51|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
52| | | | |||||||| | ESC | |||||||| | BKSP | |||||||| | | | |
53,----------------------------------------------------------------------------------------------------------------------.
54```
55
56### Adjust
57
58```
59,----------------------------------------------------------------------------------------------------------------------.
60| | | | | | | US | | JP | | | | | | |
61|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
62| | | | | | | | | | | | | | | |
63|------+------+------+------+------+------+------+--------------------+------+------+------+------+------+------+------|
64| | HOME |PAGEDN|PAGEUP| END |||||||| | | | LEFT | DOWN | UP | RIGHT|||||||| |
65|------+------+------+------+------+------+---------------------------+------+------+------+------+------+------+------|
66| | | { | } | | | | | | | | { | } | | |
67|-------------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------------|
68| | | | |||||||| | | |||||||| | | |||||||| | | | |
69,----------------------------------------------------------------------------------------------------------------------.
70```
71
72If your pc connect this keyboard with JIS(JP) layout, you should press JP MODE key.
73
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk
deleted file mode 100644
index bb9e33b082..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
1BACKLIGHT_ENABLE = no
2RGBLIGHT_ENABLE = no
3AUDIO_ENABLE = no
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h
deleted file mode 100644
index 2493fe09e2..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h
+++ /dev/null
@@ -1,30 +0,0 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23/* Select hand configuration */
24
25#define MASTER_LEFT
26// #define MASTER_RIGHT
27// #define EE_HANDS
28
29#define LEADER_PER_KEY_TIMING
30#define LEADER_TIMEOUT 250
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c
deleted file mode 100644
index e197874ab5..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/keymap.c
+++ /dev/null
@@ -1,199 +0,0 @@
1#include QMK_KEYBOARD_H
2
3
4enum layers {
5 _WINDOWS,
6 _LINUX,
7 _NUMPAD,
8 _LOWER,
9 _RAISE,
10 _ADJUST,
11};
12
13enum custom_keycodes {
14 WINDOWS = SAFE_RANGE,
15 LINUX,
16 NUMPAD,
17 LOWER,
18 RAISE,
19 ADJUST
20};
21
22#define CTL_ENT MT(MOD_RCTL, KC_PENT)
23#define NUMPAD MO(_NUMPAD)
24#define SHELL LCA(KC_T)
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28 /* Windows Qwerty
29 * .---------------------------------------------------------------------------------------------------------------------------------------.
30 * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
31 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
32 * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
33 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
34 * | Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
35 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
36 * | Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
37 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
38 * | LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| F5 | RAlt | RGui |Ctl/Ent|
39 * .---------------------------------------------------------------------------------------------------------------------------------------.
40 */
41 [_WINDOWS] = LAYOUT(
42 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
43 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
44 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
45 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MINS, KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
46 KC_LCTL, KC_LGUI, KC_LALT, NUMPAD, KC_SPC, LOWER, KC_ENT, KC_ENT, RAISE, KC_BSPC, KC_F5, KC_RALT, KC_RGUI, CTL_ENT
47 ),
48
49 /* Linux Qwerty
50 * .---------------------------------------------------------------------------------------------------------------------------------------.
51 * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
52 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
53 * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
54 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
55 * | Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
56 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
57 * | Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
58 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
59 * | LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| Shell | RAlt | RGui |Ctl/Ent|
60 * .---------------------------------------------------------------------------------------------------------------------------------------.
61 */
62 [_LINUX] = LAYOUT(
63 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
64 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
65 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
66 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MINS, KC_EQL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
67 KC_LCTL, KC_LGUI, KC_LALT, NUMPAD, KC_SPC, LOWER, KC_ENT, KC_ENT, RAISE, KC_BSPC, SHELL, KC_RALT, KC_RGUI, CTL_ENT
68 ),
69
70 /* Numpad
71 * .---------------------------------------------------------------------------------------------------------------------------------------.
72 * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|NumLock| / | * | - |XXXXXXX|
73 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
74 * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 7 | 8 | 9 | |XXXXXXX|
75 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ + +-------|
76 * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 4 | 5 | 6 | |XXXXXXX|
77 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
78 * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 1 | 2 | 3 | |XXXXXXX|
79 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ Enter +-------|
80 * |XXXXXXX|XXXXXXX|XXXXXXX|Numpad |||||||||XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX||||||||| 0 | . | | Enter |
81 * .---------------------------------------------------------------------------------------------------------------------------------------.
82 */
83 [_NUMPAD] = LAYOUT(
84 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_BSPC,
85 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, XXXXXXX,
86 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, XXXXXXX,
87 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, XXXXXXX,
88 XXXXXXX, XXXXXXX, XXXXXXX, NUMPAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_0, KC_PDOT, KC_PENT, KC_PENT
89 ),
90
91 /* Lower
92 * .---------------------------------------------------------------------------------------------------------------------------------------.
93 * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
94 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
95 * | | | | ( | { | [ | | | | ] | } | ) | | | |
96 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
97 * | | | | | |PageUp | | | | | | | | | |
98 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
99 * | |VolDown| VolUp | | |PageDwn| | | | | | | | | |
100 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
101 * | | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
102 * .---------------------------------------------------------------------------------------------------------------------------------------.
103 */
104 [_LOWER] = LAYOUT(
105 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
106 _______, _______, _______, KC_LPRN, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_RPRN, _______, _______, _______,
107 _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______,
108 KC_CAPS, KC_VOLD, KC_VOLU, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_CAPS,
109 _______, _______, _______, _______, _______, LOWER, _______, _______, RAISE, _______, _______, _______, _______, _______
110 ),
111
112 /* Raise
113 * .---------------------------------------------------------------------------------------------------------------------------------------.
114 * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
115 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
116 * | | | | ( | { | [ | | | | ] | } | ) | | | |
117 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
118 * | | | | | | | End | | | Left | Down | Up | Right | | |
119 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
120 * | | | | | | | | | | | | | | | |
121 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
122 * | | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
123 * .---------------------------------------------------------------------------------------------------------------------------------------.
124 */
125 [_RAISE] = LAYOUT(
126 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
127 _______, _______, _______, KC_LPRN, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_RPRN, _______, _______, _______,
128 _______, _______, _______, _______, _______, _______, KC_END, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
129 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, KC_CAPS,
130 _______, _______, _______, _______, _______, LOWER, _______, _______, RAISE, _______, _______, _______, _______, _______
131 ),
132
133 /* Adjust
134 * .---------------------------------------------------------------------------------------------------------------------------------------.
135 * |XXXXXXX|Windows| Linux |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
136 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
137 * |XXXXXXX|XXXXXXX|XXXXXXX| Cycle |On/Off |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|On/Off | Cycle |XXXXXXX|XXXXXXX|XXXXXXX|
138 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
139 * | Reset |XXXXXXX|XXXXXXX|Breathe| Inc |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue inc|Sat inc| Inc |XXXXXXX|XXXXXXX|
140 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
141 * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| Dec |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue dec|Sat dec| Dec |XXXXXXX|XXXXXXX|
142 * |-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
143 * |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX| Lower |XXXXXXX|||||||||XXXXXXX| Raise |XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
144 * .---------------------------------------------------------------------------------------------------------------------------------------.
145 */
146 [_ADJUST] = LAYOUT(
147 XXXXXXX, WINDOWS, LINUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
148 XXXXXXX, XXXXXXX, XXXXXXX, BL_STEP, BL_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX,
149 QK_BOOT, XXXXXXX, XXXXXXX, BL_BRTG, BL_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX,
150 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX,
151 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
152 )
153};
154
155bool process_record_user(uint16_t keycode, keyrecord_t *record) {
156 switch (keycode) {
157 case WINDOWS:
158 if (record->event.pressed) {
159 set_single_persistent_default_layer(_WINDOWS);
160 }
161 return false;
162 break;
163 case LINUX:
164 if (record->event.pressed) {
165 set_single_persistent_default_layer(_LINUX);
166 }
167 return false;
168 break;
169 case LOWER:
170 if (record->event.pressed) {
171 layer_on(_LOWER);
172 update_tri_layer(_LOWER, _RAISE, _ADJUST);
173 } else {
174 layer_off(_LOWER);
175 update_tri_layer(_LOWER, _RAISE, _ADJUST);
176 }
177 return false;
178 break;
179 case RAISE:
180 if (record->event.pressed) {
181 layer_on(_RAISE);
182 update_tri_layer(_LOWER, _RAISE, _ADJUST);
183 } else {
184 layer_off(_RAISE);
185 update_tri_layer(_LOWER, _RAISE, _ADJUST);
186 }
187 return false;
188 break;
189 case ADJUST:
190 if (record->event.pressed) {
191 layer_on(_ADJUST);
192 } else {
193 layer_off(_ADJUST);
194 }
195 return false;
196 break;
197 }
198 return true;
199}
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md
deleted file mode 100644
index 7ab665a8d4..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/readme.md
+++ /dev/null
@@ -1,89 +0,0 @@
1# ShadowProgr's layout for ErgoDash
2
3There are 2 different QWERTY base layers for use with Windows and Linux OSes. Beside those 2 there are also a numpad layer and 3 modifier layers (lower, raise and adjust).
4
5## Layouts
6### Windows
7```
8.---------------------------------------------------------------------------------------------------------------------------------------.
9| ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
10|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
11| Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
12|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
13| Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
14|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
15| Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
16|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
17| LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| F5 | RAlt | RGui |Ctl/Ent|
18.---------------------------------------------------------------------------------------------------------------------------------------.
19```
20### Linux
21```
22.---------------------------------------------------------------------------------------------------------------------------------------.
23| ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 |BSpace |
24|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
25| Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
26|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
27| Esc | A | S | D | F | G | Home | | Del | H | J | K | L | : | ' |
28|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
29| Shift | Z | X | C | V | B | - | | = | N | M | , | . | / | Shift |
30|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
31| LCtrl | LGUI | LAlt |Numpad ||||||||| Space | Lower | Enter ||||||||| Enter | Raise |BSpace ||||||||| Shell | RAlt | RGui |Ctl/Ent|
32.---------------------------------------------------------------------------------------------------------------------------------------.
33```
34### Numpad
35```
36.---------------------------------------------------------------------------------------------------------------------------------------.
37|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|NumLock| / | * | - |XXXXXXX|
38|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
39|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 7 | 8 | 9 | |XXXXXXX|
40|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ + +-------|
41|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 4 | 5 | 6 | |XXXXXXX|
42|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
43|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX| 1 | 2 | 3 | |XXXXXXX|
44|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+ Enter +-------|
45|XXXXXXX|XXXXXXX|XXXXXXX|Numpad |||||||||XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX||||||||| 0 | . | | Enter |
46.---------------------------------------------------------------------------------------------------------------------------------------.
47```
48### Lower
49```
50.---------------------------------------------------------------------------------------------------------------------------------------.
51| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
52|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
53| | | | ( | { | [ | | | | ] | } | ) | | | |
54|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
55| | | | | |PageUp | | | | | | | | | |
56|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
57| |VolDown| VolUp | | |PageDwn| | | | | | | | | |
58|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
59| | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
60.---------------------------------------------------------------------------------------------------------------------------------------.
61```
62### Raise
63```
64.---------------------------------------------------------------------------------------------------------------------------------------.
65| F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
66|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
67| | | | ( | { | [ | | | | ] | } | ) | | | |
68|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
69| | | | | | | End | | | Left | Down | Up | Right | | |
70|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
71| | | | | | | | | | | | | | | |
72|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
73| | | | ||||||||| | Lower | ||||||||| | Raise | ||||||||| | | | |
74.---------------------------------------------------------------------------------------------------------------------------------------.
75```
76### Adjust
77```
78.---------------------------------------------------------------------------------------------------------------------------------------.
79|XXXXXXX|Windows| Linux |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
80|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
81|XXXXXXX|XXXXXXX|XXXXXXX| Cycle |On/Off |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|On/Off | Cycle |XXXXXXX|XXXXXXX|XXXXXXX|
82|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
83| Reset |XXXXXXX|XXXXXXX|Breathe| Inc |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue inc|Sat inc| Inc |XXXXXXX|XXXXXXX|
84|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
85|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| Dec |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|Hue dec|Sat dec| Dec |XXXXXXX|XXXXXXX|
86|-------+-------+-------+-------+-------+-------+-------+-----------------------+-------+-------+-------+-------+-------+-------+-------|
87|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|||||||||XXXXXXX| Lower |XXXXXXX|||||||||XXXXXXX| Raise |XXXXXXX|||||||||XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|
88.---------------------------------------------------------------------------------------------------------------------------------------.
89``` \ No newline at end of file
diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk
deleted file mode 100644
index 30d8419904..0000000000
--- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
1BACKLIGHT_ENABLE = yes
2RGBLIGHT_ENABLE = yes
3AUDIO_ENABLE = no \ No newline at end of file
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h
deleted file mode 100644
index 818ea7d4af..0000000000
--- a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/config.h
+++ /dev/null
@@ -1,26 +0,0 @@
1/* Copyright 2021 omkbd
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
20//#define USE_MATRIX_I2C
21
22/* Select hand configuration */
23
24// #define MASTER_LEFT
25// #define MASTER_RIGHT
26#define EE_HANDS
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c
deleted file mode 100644
index e23ba19d7a..0000000000
--- a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
1/* Copyright 2021 omkbd
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19enum layer_number {
20 _QWERTY = 0,
21 _NAV,
22 _SYMBOL,
23 _MEDIA
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28 [_QWERTY] = LAYOUT(
29 KC_GRV, 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_BSPC,
30 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
31 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
32 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_UP, KC_DEL,
33 KC_LCTL, KC_LALT, KC_LGUI, MO(2), MO(1), KC_SPC, KC_SPC, MO(1), MO(2), KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
34),
35
36[_NAV] = LAYOUT(
37 KC_ESC, 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_DEL,
38 KC_TRNS, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
39 KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_TRNS, KC_TRNS,
40 KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_PGUP, KC_TRNS,
41 KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
42),
43
44[_SYMBOL] = LAYOUT(
45 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_BSPC,
46 KC_TRNS, KC_NO, KC_P7, KC_P8, KC_P9, KC_NO, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_NO, KC_LCBR, KC_RCBR, KC_PIPE,
47 KC_ESC, KC_NO, KC_P4, KC_P5, KC_P6, KC_NO, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_COLN, KC_DQUO, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_LBRC, KC_RBRC, KC_LT, KC_GT, KC_QUES, KC_TRNS, KC_UP, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_P0, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT
50),
51
52[_MEDIA] = LAYOUT(
53 KC_NO, KC_SCRL, KC_PAUS, KC_NO, KC_NO, RGB_VAD, RGB_VAI, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO,
54 RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPLY, KC_NO, KC_NO, KC_NO,
55 KC_NO, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
56 KC_NO, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_G, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU, KC_NO,
57 KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_MRWD, KC_VOLD, KC_MFFD
58)
59
60};
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk b/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk
deleted file mode 100644
index 8110dbaa1f..0000000000
--- a/keyboards/omkbd/runner3680/5x6_5x8/keymaps/derekhsu/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
1RGB_MATRIX_ENABLE = yes
2EXTRAKEY_ENABLE = yes
3VIA_ENABLE = yes
diff --git a/keyboards/orthodox/keymaps/rfvizarra/config.h b/keyboards/orthodox/keymaps/rfvizarra/config.h
deleted file mode 100644
index 92b3713350..0000000000
--- a/keyboards/orthodox/keymaps/rfvizarra/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6Copyright 2017 Art Ortenburger
7
8This program is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 2 of the License, or
11(at your option) any later version.
12
13This program is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with this program. If not, see <http://www.gnu.org/licenses/>.
20*/
21
22#ifndef CONFIG_USER_H
23#define CONFIG_USER_H
24
25
26#ifdef AUDIO_ENABLE
27#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
28 SONG(COLEMAK_SOUND), \
29 SONG(DVORAK_SOUND) \
30}
31#endif
32
33#define USE_I2C
34
35/* Select hand configuration */
36
37// #define MASTER_LEFT
38// #define MASTER_RIGHT
39#define EE_HANDS
40
41#endif
diff --git a/keyboards/orthodox/keymaps/rfvizarra/keymap.c b/keyboards/orthodox/keymaps/rfvizarra/keymap.c
deleted file mode 100644
index af9f8d5e20..0000000000
--- a/keyboards/orthodox/keymaps/rfvizarra/keymap.c
+++ /dev/null
@@ -1,134 +0,0 @@
1/*
2This is the keymap for the keyboard
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6Copyright 2017 Art Ortenburger
7
8This program is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 2 of the License, or
11(at your option) any later version.
12
13This program is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with this program. If not, see <http://www.gnu.org/licenses/>.
20*/
21
22#include QMK_KEYBOARD_H
23
24extern keymap_config_t keymap_config;
25
26// Each layer gets a name for readability, which is then used in the keymap matrix below.
27// The underscores don't mean anything - you can have a layer called STUFF or any other name.
28// Layer names don't all need to be of the same length, obviously, and you can also skip them
29// entirely and just use numbers.
30#define _QWERTY 0
31#define _COLEMAK 1
32#define _DVORAK 2
33#define _LOWER 3
34#define _RAISE 4
35#define _NAV 5
36#define _NAV2 6
37#define _MEDIA 7
38#define _ADJUST 16
39
40enum custom_keycodes {
41 QWERTY = SAFE_RANGE,
42 COLEMAK,
43 DVORAK
44};
45
46const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47
48 [_QWERTY] = LAYOUT(
49 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
50 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LGUI, KC_LALT, MO(_MEDIA) , KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
51 MO(_NAV),KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_LOWER), KC_LSFT, CTL_T(KC_ENT), KC_RALT, KC_SPC, MO(_RAISE), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI
52 ),
53
54 [_COLEMAK] = LAYOUT(
55 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
56 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
57 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_LOWER), KC_SPACE, KC_BSPC, KC_DEL, KC_ENT, MO(_RAISE), KC_K, KC_M, KC_COMM, KC_DOT, KC_SLASH, KC_LGUI
58 ),
59
60 [_DVORAK] = LAYOUT(
61 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
62 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
63 KC_LCTL, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(_LOWER), KC_SPACE, KC_BSPC, KC_DEL, KC_ENT, MO(_RAISE), KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LGUI
64 ),
65
66 [_LOWER] = LAYOUT(
67 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
68 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LCTL, _______, _______, KC_RCTL, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
69 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, _______, _______, _______, _______, KC_F12, KC_HOME, KC_COMM, KC_DOT, KC_END, _______
70 ),
71
72 [_RAISE] = LAYOUT(
73 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
74 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
75 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, _______, _______, _______, _______, KC_F12, KC_PGUP, KC_COMM, KC_DOT, KC_PGDN, _______
76 ),
77
78 [_NAV] = LAYOUT(
79 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
82 ),
83
84 [_NAV2] = LAYOUT(
85 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______,
86 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______,
87 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
88 ),
89
90 [_MEDIA] = LAYOUT(
91 _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______,
92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_MPLY, _______, _______,
93 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
94 ),
95
96 [_ADJUST] = LAYOUT(
97 _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
98 _______, _______, _______, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, QWERTY , COLEMAK, DVORAK, _______, _______,
99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
100 )
101
102
103};
104
105layer_state_t layer_state_set_user(layer_state_t state) {
106 state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
107 state = update_tri_layer_state(state, _LOWER, _NAV, _NAV2);
108 return state;
109}
110
111bool process_record_user(uint16_t keycode, keyrecord_t *record) {
112 switch (keycode) {
113 case QWERTY:
114 if (record->event.pressed) {
115 set_single_persistent_default_layer(_QWERTY);
116 }
117 return false;
118 break;
119 case COLEMAK:
120 if (record->event.pressed) {
121 set_single_persistent_default_layer(_COLEMAK);
122 }
123 return false;
124 break;
125 case DVORAK:
126 if (record->event.pressed) {
127 set_single_persistent_default_layer(_DVORAK);
128 }
129 return false;
130 break;
131 }
132 return true;
133}
134
diff --git a/keyboards/orthodox/keymaps/rfvizarra/readme.md b/keyboards/orthodox/keymaps/rfvizarra/readme.md
deleted file mode 100644
index 10a60ebfd3..0000000000
--- a/keyboards/orthodox/keymaps/rfvizarra/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
1# A personal Orthodox Layout
2
3![Orthodox](https://i.imgur.com/RQ5SKj4.jpg)
4
5This is the layout for my daily driver orthodox. It's based on a custom handwire keyboard that I've been using for quite some time. It's based on Plank's/Let's split layouts for the lower/raise layers. I added the shift, control/enter, alt/altgr and del to the thumb cluster.
6
7To build the firmware run from qmk's project folder
8
9 make orthodox/rev3:rfvizarra
10
11And to flash it, run
12
13 make orthodox/rev3:rfvizarra:avrdude
14
15reset your keyboard pro micro while connected to the PC with a micro usb cable.
16
17Repeat on both halves.
18
19See [install build tools](https://docs.qmk.fm/install-build-tools) then the [build/compile instructions](https://docs.qmk.fm/build-compile-instructions) for more information.
diff --git a/keyboards/p3d/q4z/keymaps/rjboone/config.h b/keyboards/p3d/q4z/keymaps/rjboone/config.h
deleted file mode 100644
index 9264f33bae..0000000000
--- a/keyboards/p3d/q4z/keymaps/rjboone/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
1/* Copyright 2021 rjboone
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#undef TAPPING_TERM
19#define TAPPING_TERM 300
20
21#define COMBO_TERM 50
diff --git a/keyboards/p3d/q4z/keymaps/rjboone/keymap.c b/keyboards/p3d/q4z/keymaps/rjboone/keymap.c
deleted file mode 100644
index c54ec014ec..0000000000
--- a/keyboards/p3d/q4z/keymaps/rjboone/keymap.c
+++ /dev/null
@@ -1,107 +0,0 @@
1/* Copyright 2021 rjboone
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18enum layers{
19 _BASE,
20 _NUM_SYM,
21 _NAV,
22 _GAME
23};
24
25enum combo_events {
26 COMBO_BSPC,
27 COMBO_NUMBAK,
28 COMBO_TAB,
29 COMBO_ESC,
30 COMBO_DEL,
31};
32
33#define KC_GA LGUI_T(KC_A)
34#define KC_AS LALT_T(KC_S)
35#define KC_CD LCTL_T(KC_D)
36#define KC_SF LSFT_T(KC_F)
37#define KC_SJ RSFT_T(KC_J)
38#define KC_CK RCTL_T(KC_K)
39#define KC_AL RALT_T(KC_L)
40#define KC_GSCLN RGUI_T(KC_SCLN)
41
42const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43 [_BASE] = LAYOUT(
44 KC_1, KC_2, KC_3, KC_4, KC_5,
45 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
46 KC_A, KC_S, KC_D, KC_SF, KC_G, KC_H, KC_SJ, KC_K, KC_L, KC_SCLN,
47 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,
48 KC_LCTL, KC_LALT, KC_LGUI, LT(_NUM_SYM, KC_ENT), KC_SPC, MO(_NAV), TG(_GAME), KC_SLSH
49 ),
50
51 [_NUM_SYM] = LAYOUT(
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
53 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
54 KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_LBRC, KC_RBRC, KC_EQL, KC_TRNS, KC_TRNS, KC_QUOT,
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_TRNS, KC_TRNS, KC_BSLS
57 ),
58
59 [_NAV] = LAYOUT(
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
61 QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS,
62 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS,
63 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
64 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
65 ),
66
67 [_GAME] = LAYOUT(
68 KC_1, KC_2, KC_3, KC_4, KC_5,
69 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_NO, KC_NO,
70 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_NO, KC_NO, KC_NO,
71 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_NO,
72 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_ENT, KC_NO, TG(_GAME), KC_NO
73 ),
74};
75
76#ifdef COMBO_ENABLE
77const uint16_t PROGMEM combo_bspc[] = {KC_O, KC_P, COMBO_END};
78const uint16_t PROGMEM combo_numbak[] = {KC_0, KC_9, COMBO_END};
79const uint16_t PROGMEM combo_tab[] = {KC_A, KC_S, COMBO_END};
80const uint16_t PROGMEM combo_esc[] = {KC_Q, KC_W, COMBO_END};
81const uint16_t PROGMEM combo_del[] = {KC_MINS, KC_EQL, COMBO_END};
82
83combo_t key_combos[] = {
84 [COMBO_BSPC] = COMBO(combo_bspc,KC_BSPC),
85 [COMBO_NUMBAK] = COMBO(combo_numbak,KC_BSPC),
86 [COMBO_TAB] = COMBO(combo_tab,KC_TAB),
87 [COMBO_ESC] = COMBO(combo_esc,KC_ESC),
88 [COMBO_DEL] = COMBO(combo_del,KC_DEL),
89
90};
91#endif
92
93layer_state_t layer_state_set_user(layer_state_t state) {
94
95#ifdef COMBO_ENABLE
96 switch(get_highest_layer(state)) {
97 case _GAME:
98 combo_disable();
99 break;
100 default:
101 combo_enable();
102 break;
103 }
104#endif // COMBO_ENABLE
105
106 return state;
107}
diff --git a/keyboards/p3d/q4z/keymaps/rjboone/readme.md b/keyboards/p3d/q4z/keymaps/rjboone/readme.md
deleted file mode 100644
index 29f2d31f6f..0000000000
--- a/keyboards/p3d/q4z/keymaps/rjboone/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# Default Le Chiffre Keymap
diff --git a/keyboards/p3d/q4z/keymaps/rjboone/rules.mk b/keyboards/p3d/q4z/keymaps/rjboone/rules.mk
deleted file mode 100644
index ab1e438182..0000000000
--- a/keyboards/p3d/q4z/keymaps/rjboone/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1COMBO_ENABLE = yes
diff --git a/keyboards/pierce/keymaps/durken1/config.h b/keyboards/pierce/keymaps/durken1/config.h
deleted file mode 100644
index ecc59f31bd..0000000000
--- a/keyboards/pierce/keymaps/durken1/config.h
+++ /dev/null
@@ -1,69 +0,0 @@
1/* Copyright 2022 durken (https://github.com/durken1/)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19// default but important
20#define TAPPING_TERM 220
21
22// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
23#define QUICK_TAP_TERM 0
24
25#define PERMISSIVE_HOLD
26
27// Combo settings
28#define COMBO_TERM 35
29
30#ifdef PS2_DRIVER_USART
31#define PS2_CLOCK_PIN D5
32#define PS2_DATA_PIN D2
33
34/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
35/* set DDR of CLOCK as input to be slave */
36#define PS2_MOUSE_ROTATE 270 // compensate for east-facing device orientation
37#define PS2_USART_INIT() do { \
38 PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \
39 PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \
40 UCSR1C = ((1 << UMSEL10) | \
41 (3 << UPM10) | \
42 (0 << USBS1) | \
43 (3 << UCSZ10) | \
44 (0 << UCPOL1)); \
45 UCSR1A = 0; \
46 UBRR1H = 0; \
47 UBRR1L = 0; \
48} while (0)
49#define PS2_USART_RX_INT_ON() do { \
50 UCSR1B = ((1 << RXCIE1) | \
51 (1 << RXEN1)); \
52} while (0)
53#define PS2_USART_RX_POLL_ON() do { \
54 UCSR1B = (1 << RXEN1); \
55} while (0)
56#define PS2_USART_OFF() do { \
57 UCSR1C = 0; \
58 UCSR1B &= ~((1 << RXEN1) | \
59 (1 << TXEN1)); \
60} while (0)
61#define PS2_USART_RX_READY (UCSR1A & (1<<RXC1))
62#define PS2_USART_RX_DATA UDR1
63#define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1)))
64#define PS2_USART_RX_VECT USART1_RX_vect
65#endif
66
67#ifdef AUTO_BUTTONS
68 #define AUTO_BUTTONS_TIMEOUT 750
69#endif
diff --git a/keyboards/pierce/keymaps/durken1/keymap.c b/keyboards/pierce/keymaps/durken1/keymap.c
deleted file mode 100644
index 5bc2f4d307..0000000000
--- a/keyboards/pierce/keymaps/durken1/keymap.c
+++ /dev/null
@@ -1,159 +0,0 @@
1/* Copyright 2022 durken (https://github.com/durken1/)
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18#include "keymap_swedish.h"
19
20enum layers {
21 BASE,
22 MBO,
23 SYM,
24 NUM,
25 FN
26};
27
28enum combos {
29 WF_ARNG,
30 EI_ADIA,
31 UK_ODIA
32};
33
34#if defined PS2_MOUSE_ENABLE
35#include "ps2_mouse.h"
36#endif
37
38#if defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE
39
40static uint16_t auto_buttons_timer;
41extern int tp_buttons; // mousekey button state set in action.c and used in ps2_mouse.c
42
43void ps2_mouse_moved_user(report_mouse_t *mouse_report) {
44 if (auto_buttons_timer) {
45 auto_buttons_timer = timer_read();
46 } else {
47 if (!tp_buttons) {
48 layer_on(MBO);
49 auto_buttons_timer = timer_read();
50 }
51 }
52}
53
54void matrix_scan_user(void) {
55 if (auto_buttons_timer && (timer_elapsed(auto_buttons_timer) > AUTO_BUTTONS_TIMEOUT)) {
56 if (!tp_buttons) {
57 layer_off(MBO);
58 auto_buttons_timer = 0;
59 }
60 }
61}
62
63#endif // defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE
64
65// Left-hand home row mods
66#define GUI_A LGUI_T(KC_A)
67#define ALT_R LALT_T(KC_R)
68#define SFT_S LSFT_T(KC_S)
69#define CTRL_T LCTL_T(KC_T)
70
71// Right-hand home row mods
72#define CTL_N RCTL_T(KC_N)
73#define SFT_E RSFT_T(KC_E)
74#define ALT_I LALT_T(KC_I)
75#define GUI_O LGUI_T(KC_O)
76
77#define NUM_SPC LT(NUM, KC_SPC)
78#define FN_ENT LT(FN, KC_ENT)
79#define SYM_BSP LT(SYM, KC_BSPC)
80
81const uint16_t PROGMEM arng_combo[] = {ALT_R, SFT_S, COMBO_END};
82const uint16_t PROGMEM adia_combo[] = {SFT_E, ALT_I, COMBO_END};
83const uint16_t PROGMEM odia_combo[] = {SE_U, SE_K, COMBO_END};
84
85combo_t key_combos[] = {
86 [WF_ARNG] = COMBO(arng_combo, SE_ARNG),
87 [EI_ADIA] = COMBO(adia_combo, SE_ADIA),
88 [UK_ODIA] = COMBO(odia_combo, SE_ODIA)
89};
90
91const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
92 [BASE] = LAYOUT_split_3x5_3(
93 // BASE
94 //,--------------------------------------------, ,--------------------------------------------.
95 SE_Q, SE_W, SE_F, SE_P, SE_B, SE_Y, SE_L, SE_U, SE_K, SE_QUOT,
96 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
97 GUI_A, ALT_R, SFT_S, CTRL_T, SE_G, SE_M, CTL_N, SFT_E, ALT_I, GUI_O,
98 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
99 SE_Z, SE_X, SE_C, SE_D, SE_V, SE_J, SE_H, SE_COMM, SE_DOT, SE_MINS,
100 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
101 KC_ESC, NUM_SPC, KC_TAB, FN_ENT, SYM_BSP, KC_DEL
102 //`--------------------------' '--------------------------'
103
104 ),
105
106
107 [MBO] = LAYOUT_split_3x5_3(
108 // Mouse
109 //,--------------------------------------------, ,--------------------------------------------.
110 _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______,
111 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
112 _______, _______, _______, _______, _______, KC_BTN3, _______, _______, _______, _______,
113 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
114 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
115 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
116 _______, _______, _______, _______, KC_BSPC, _______
117 //`--------------------------' '--------------------------'
118
119 ),
120
121 [SYM] = LAYOUT_split_3x5_3(
122 // Symbols
123 //,--------------------------------------------, ,--------------------------------------------.
124 SE_SECT, SE_ACUT, SE_SLSH, SE_TILD, _______, _______, SE_PIPE, SE_BSLS, SE_DIAE, SE_CIRC,
125 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
126 SE_EXLM, SE_DLR, SE_LPRN, SE_LBRC, _______, _______, SE_RBRC, SE_RPRN, SE_HASH, SE_QUES,
127 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
128 _______, SE_PERC, SE_LCBR, SE_LABK, _______, _______, SE_RABK, SE_RCBR, SE_AMPR, _______,
129 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
130 SE_AT, SE_EQL, SE_DQUO, _______, _______, _______
131 //`--------------------------' '--------------------------'
132 ),
133
134 [NUM] = LAYOUT_split_3x5_3(
135 // Numbers
136 //,--------------------------------------------, ,--------------------------------------------.
137 _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, SE_7, SE_8, SE_9, SE_QUOT,
138 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
139 SE_PLUS, SE_MINS, SE_ASTR, SE_SLSH, SE_CIRC, _______, SE_4, SE_5, SE_6, _______,
140 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
141 _______, _______, KC_VOLD, KC_VOLU, _______, KC_SPC, SE_1, SE_2, SE_3, _______,
142 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
143 _______, _______, _______, SE_COMM, SE_0, SE_DOT
144 //`--------------------------' '--------------------------'
145 ),
146
147 [FN] = LAYOUT_split_3x5_3(
148 // FN
149 //,--------------------------------------------, ,--------------------------------------------.
150 _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10,
151 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
152 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11,
153 //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
154 _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12,
155 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
156 KC_PSCR, KC_CAPS, _______, _______, _______, _______
157 //`--------------------------' '--------------------------'
158 )
159};
diff --git a/keyboards/pierce/keymaps/durken1/rules.mk b/keyboards/pierce/keymaps/durken1/rules.mk
deleted file mode 100644
index bea18c02d1..0000000000
--- a/keyboards/pierce/keymaps/durken1/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
1EXTRAKEY_ENABLE = yes
2TRACKPOINT = yes
3AUTO_BUTTONS = yes
4COMBO_ENABLE = yes
diff --git a/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c b/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c
deleted file mode 100644
index b6988e1cdc..0000000000
--- a/keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c
+++ /dev/null
@@ -1,29 +0,0 @@
1#include QMK_KEYBOARD_H
2
3
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5
6 [0] = LAYOUT_minila(
7 KC_ESC, 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_GRAVE, KC_BSPC,
8 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
9 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
10 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_DEL,
11 KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, MO(2), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
12 ),
13
14 [1] = LAYOUT_minila(
15 QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
16 _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
17 _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
18 _______, RGB_RMOD, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
19 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_MPLY
20 ),
21
22 [2] = LAYOUT_minila(
23 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
24 _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
25 _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
26 _______, RGB_RMOD, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
27 _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
28 ),
29};
diff --git a/keyboards/playkbtw/pk60/keymaps/rfvizarra/readme.md b/keyboards/playkbtw/pk60/keymaps/rfvizarra/readme.md
deleted file mode 100644
index cd9a221087..0000000000
--- a/keyboards/playkbtw/pk60/keymaps/rfvizarra/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
1# A personal keymap for Play Keyboard60 based on the minila layout
2
3![Mininla layout](https://i.imgur.com/K7ONE1k.jpg)
4
5To build the firmware use
6
7 make playkbtw/pk60:rfvizarra
8
9or if you prefer to use docker
10
11 util/docker_build.sh playkbtw/pk60:rfvizarra
diff --git a/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c b/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c
deleted file mode 100644
index 370eb95aa0..0000000000
--- a/keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c
+++ /dev/null
@@ -1,86 +0,0 @@
1/* Copyright 2021 Colin Lam (Ploopy Corporation)
2 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
3 * Copyright 2019 Sunjun Kim
4 * Copyright 2019 Hiroyuki Okada
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19#include QMK_KEYBOARD_H
20
21// Configuration options
22#define SCROLL_TIMEOUT 25
23#define DELTA_X_THRESHOLD 60
24#define DELTA_Y_THRESHOLD 15
25
26bool scroll_enabled = false;
27bool lock_state = false;
28
29// State
30static int8_t delta_x = 0;
31static int8_t delta_y = 0;
32
33// Dummy
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {{{ KC_NO }}};
35
36report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
37 if (scroll_enabled) {
38 delta_x += mouse_report.x;
39 delta_y += mouse_report.y;
40
41 if (delta_x > DELTA_X_THRESHOLD) {
42 mouse_report.h = 1;
43 delta_x = 0;
44 } else if (delta_x < -DELTA_X_THRESHOLD) {
45 mouse_report.h = -1;
46 delta_x = 0;
47 }
48
49 if (delta_y > DELTA_Y_THRESHOLD) {
50 mouse_report.v = -1;
51 delta_y = 0;
52 } else if (delta_y < -DELTA_Y_THRESHOLD) {
53 mouse_report.v = 1;
54 delta_y = 0;
55 }
56 mouse_report.x = 0;
57 mouse_report.y = 0;
58 }
59 return mouse_report;
60}
61
62void keyboard_post_init_user(void) {
63 lock_state = host_keyboard_led_state().num_lock;
64}
65
66bool led_update_user(led_t led_state) {
67 static uint8_t lock_count = 0;
68 static uint16_t scroll_timer = 0;
69
70 if (timer_elapsed(scroll_timer) > SCROLL_TIMEOUT) {
71 scroll_timer = timer_read();
72 lock_count = 0;
73 }
74
75 if (led_state.num_lock != lock_state) {
76 lock_count++;
77
78 if (lock_count == 2) {
79 scroll_enabled = !scroll_enabled;
80 lock_count = 0;
81 }
82 }
83
84 lock_state = led_state.num_lock;
85 return true;
86}
diff --git a/keyboards/ploopyco/trackball_nano/keymaps/maddie/readme.md b/keyboards/ploopyco/trackball_nano/keymaps/maddie/readme.md
deleted file mode 100644
index 3a597e38d8..0000000000
--- a/keyboards/ploopyco/trackball_nano/keymaps/maddie/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1toggles scroll mode when numlock is double-tapped within 25ms. add a macro or something, unless you have ungodly fast fingers.
diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/config.h b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/config.h
deleted file mode 100644
index 4bcfa2ce5c..0000000000
--- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
1/* Copyright 2018 Jumail Mundekkat
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define TAPPING_TERM 200
20
21// place overrides here
diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c
deleted file mode 100644
index 2f0290dc03..0000000000
--- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/keymap.c
+++ /dev/null
@@ -1,174 +0,0 @@
1/* Copyright 2018 Jumail Mundekkat
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19#define L1BS LT(2, KC_BSPC)
20#define LSUP LSFT_T(KC_UP)
21#define CTLL LCTL_T(KC_LEFT)
22#define ECTL LCTL_T(KC_ESC)
23#define ALLM ALL_T(KC_MINS)
24#define SCLS LT(3, KC_SCLN)
25
26// Establishes tap dance keys
27enum {
28 TD_SPC_ENT = 0
29};
30
31tap_dance_action_t tap_dance_actions[] = {
32 [TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)
33
34};
35
36// Defines the keycodes used by our macros in process_record_user
37enum custom_keycodes {
38 QMKBEST = SAFE_RANGE,
39 QMKURL
40};
41
42const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43
44/* BASE
45 * ,---------------------------------------------------------------------------------------------------------------,
46 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | NMLK | / | * | - |
47 * | | | | | | | | | | | | | | | | |
48 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
49 * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | 7 | 8 | 9 | + |
50 * | | | | | | | | | | | | | | | | |
51 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
52 * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | 4 | 5 | 6 | = |
53 * | Ctrl | | | | | | | | | | | | | | | |
54 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
55 * | | Z | X | C | V | B | N | M | , | . | / | Up | 1 | 2 | 3 | |
56 * | Shift| | | | | | | | | | | Shift| | | | |
57 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+ Enter|
58 * | - | | | | Backspace | Space | | | Left | Down | Right| 0 | . | |
59 * | ALL | Ctrl | Alt | GUI | Fn1 | | GUI | Alt | Ctrl | | | | | |
60 * `---------------------------------------------------------------------------------------------------------------'
61 */
62
63 [0] = LAYOUT(
64 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
65 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_7, KC_8, KC_9, KC_PPLS,
66 ECTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SCLS, KC_QUOT, KC_4, KC_5, KC_6, KC_PEQL,
67 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, LSUP, KC_1, KC_2, KC_3, KC_ENT,
68 ALLM, KC_LCTL, KC_LALT, KC_LGUI, L1BS, L1BS, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, CTLL, KC_DOWN, KC_RIGHT, KC_0, KC_PDOT, KC_ENT
69 ),
70
71/* GAME
72 * ,---------------------------------------------------------------------------------------------------------------,
73 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | NMLK | / | * | - |
74 * | ` | | | | | | | | | | | | | | | |
75 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
76 * | Tab | Q | W | E | R | T | Y | U | I | O | P | ' | 7 | 8 | 9 | + |
77 * | | | | | | | | | | | | | | | | |
78 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
79 * | Caps | A | S | D | F | G | H | J | K | L | ; | Rtrn | 4 | 5 | 6 | = |
80 * | | | | | | | | | | | | | | | | |
81 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
82 * | | Z | X | C | V | B | N | M | , | . | / | Up | 1 | 2 | 3 | |
83 * | Shift| | | | | | | | | | | | | | | |
84 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+ Enter|
85 * | | | | | Space | Backspace | | | Left | Down | Right| 0 | . | |
86 * | Fn1 | Ctrl | Alt | Alt | | | GUI | DF(0)| | | | | | |
87 * `---------------------------------------------------------------------------------------------------------------'
88 */
89
90 [1] = LAYOUT(
91 QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
92 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, KC_7, KC_8, KC_9, KC_PPLS,
93 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, KC_4, KC_5, KC_6, KC_PEQL,
94 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_1, KC_2, KC_3, KC_ENT,
95 MO(2), KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_BSPC, KC_BSPC, KC_RGUI, DF(0), KC_LEFT, KC_DOWN, KC_RIGHT, KC_0, KC_PDOT, KC_ENT
96 ),
97
98/* SYMBOL
99 * ,---------------------------------------------------------------------------------------------------------------,
100 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | | |
101 * | | | | | | | | | | | | | | | | |
102 * |------+-------------+------+------+------+------+------+------+------+------+------+------+------+------+------|
103 * | | | | # | [ | < | > | ] | _ | | | | | | | | |
104 * | | | | | | | | | | | | | | | | |
105 * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
106 * | | | | ~ | ( | { | } | ) | @ | - | | | | | | |
107 * | | | | | | | | | | | | | | | | |
108 * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
109 * | | | | | | | | | | | | | | | | |
110 * | | | | | | | | | | | | | | | | |
111 * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+ |
112 * | | | | | | Enter | | | | | | | | |
113 * | | | | | | | | | | | | | | |
114 * `---------------------------------------------------------------------------------------------------------------'
115 */
116
117 [2] = LAYOUT(
118 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
119 _______, _______, _______, KC_HASH, KC_LBRC, KC_LT, KC_GT, KC_RBRC, KC_UNDS, KC_PIPE, _______, _______, _______, _______, _______, _______,
120 _______, _______, _______, KC_TILD, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_AT, KC_MINS, _______, _______, _______, _______, _______, _______,
121 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
122 _______, _______, _______, _______, _______, _______, KC_ENT, KC_ENT, _______, _______, _______, _______, _______, _______, _______, _______
123 ),
124
125/* SYSTEM
126 * ,---------------------------------------------------------------------------------------------------------------,
127 * | | | | | | | | | | | | | | | | |
128 * | | | | | | | | | | | | | | | | |
129 * |------+-------------+------+------+------+------+------+------+------+------+------+------+------+------+------|
130 * | | PgUp | Home | Up | End | | | Vol- | Vol+ | Mute | | | | | | |
131 * | | | | | | | | | | | | | | | | |
132 * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
133 * | | PgDn | Left | Down |Right | | | Play | Prev | Next | | | | | | QK_BOOT|
134 * | | | | | | | | | | | | | | | | |
135 * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+------|
136 * | | | | | | | | | | | | | | | | |
137 * | | | | | | | | | | | | | | | | |
138 * |------+------|------+------+------+------+------+------+------+------+------+------+------+------+------+ BL |
139 * | | | | | | | | | | | | | BL | TGGL |
140 * | GAME | | | | | | | | | | | | STEP | |
141 * `---------------------------------------------------------------------------------------------------------------'
142 */
143
144 [3] = LAYOUT(
145 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
146 _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______,
147 _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MPLY, KC_MRWD, KC_MFFD, _______, _______, _______, _______, _______, QK_BOOT,
148 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,
149 DF(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG
150 ),
151
152};
153
154bool process_record_user(uint16_t keycode, keyrecord_t *record) {
155 switch (keycode) {
156 case QMKBEST:
157 if (record->event.pressed) {
158 // when keycode QMKBEST is pressed
159 SEND_STRING("QMK is the best thing ever!");
160 } else {
161 // when keycode QMKBEST is released
162 }
163 break;
164 case QMKURL:
165 if (record->event.pressed) {
166 // when keycode QMKURL is pressed
167 SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
168 } else {
169 // when keycode QMKURL is released
170 }
171 break;
172 }
173 return true;
174}
diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/readme.md b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/readme.md
deleted file mode 100644
index e14e989e32..0000000000
--- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
1![reasonsandreasons Layout Image](https://imgur.com/a/xIpn2U5)
2
3# reasonsandreasons's Prime_O Layout
4
5This is a relatively simple layout for the Prime_O, designed for mostly typing use and occasional gaming. I'm still testing it and there will likely be minor changes, but most of the bones of it will likely stay the same.
diff --git a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/rules.mk b/keyboards/primekb/prime_o/keymaps/reasonsandreasons/rules.mk
deleted file mode 100644
index 645e8d523f..0000000000
--- a/keyboards/primekb/prime_o/keymaps/reasonsandreasons/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
6MOUSEKEY_ENABLE = no # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = no # Commands for debug and configuration
10NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17TAP_DANCE_ENABLE=yes # Enable Tap Dance
18
19# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
20SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c b/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c
deleted file mode 100644
index 96499b8789..0000000000
--- a/keyboards/psuieee/pluto12/keymaps/wymcg/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
1// Copyright 2021-22 Will McGLoughlin (wymcg)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5
6// Defines names for use in layer keycodes and the keymap
7enum layer_names {
8 _BASE,
9 _NAV,
10 _PROD
11};
12
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14 [_BASE] = LAYOUT(
15 KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT,
16 TO(_NAV), G(KC_1), G(KC_2), G(KC_3),
17 TO(_PROD), G(KC_4), G(KC_5), G(KC_6)
18 ),
19 [_NAV] = LAYOUT(
20 TO(_BASE), KC_HOME, KC_UP, KC_END,
21 A(KC_TAB), KC_LEFT, KC_DOWN, KC_RIGHT,
22 G(KC_TAB), KC_PGDN, KC_PGUP, MO(_BASE)
23 ),
24 [_PROD] = LAYOUT(
25 TO(_BASE), KC_NO, KC_NO, KC_NO,
26 C(KC_Z), C(KC_X), C(KC_C), C(KC_V),
27 C(KC_A), C(KC_LEFT), C(KC_RIGHT),MO(_BASE)
28 )
29};
30
31bool encoder_update_user(uint8_t index, bool clockwise) {
32 switch (biton32(layer_state)) {
33 case _BASE:
34 if (clockwise) {
35 tap_code(KC_VOLU);
36 } else {
37 tap_code(KC_VOLD);
38 }
39 break;
40 case _NAV:
41 if (clockwise) {
42 tap_code16(C(G(KC_RIGHT)));
43 } else {
44 tap_code16(C(G(KC_LEFT)));
45 }
46 break;
47 case _PROD:
48 if (clockwise) {
49 tap_code16(C(KC_Y));
50 } else {
51 tap_code16(C(KC_Z));
52 }
53 break;
54 }
55 return false;
56}
diff --git a/keyboards/psuieee/pluto12/keymaps/wymcg/readme.md b/keyboards/psuieee/pluto12/keymaps/wymcg/readme.md
deleted file mode 100644
index 60d2f19be3..0000000000
--- a/keyboards/psuieee/pluto12/keymaps/wymcg/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# wymcg's custom keymap
diff --git a/keyboards/qvex/lynepad2/keymaps/mcrosson/keymap.c b/keyboards/qvex/lynepad2/keymaps/mcrosson/keymap.c
deleted file mode 100644
index ead8ab40a6..0000000000
--- a/keyboards/qvex/lynepad2/keymaps/mcrosson/keymap.c
+++ /dev/null
@@ -1,142 +0,0 @@
1/*
2Copyright 2023 QVEX Tech
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#include QMK_KEYBOARD_H
18
19#define RGB_HUE_LAYER0 0 //default layer
20#define RGB_HUE_LAYER1 50
21#define RGB_HUE_LAYER2 100
22#define RGB_HUE_LAYER3 150
23#define RGB_HUE_LAYER4 200
24
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [0] = LAYOUT //Default
28 (
29 KC_MS_BTN4, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1,
30 KC_MS_BTN5, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT,
31 KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2,
32
33 KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT, //joystick up, down, left, right
34 KC_MPLY, MO(4) //joystick center push, thumbwheel push
35 ),
36
37 [1] = LAYOUT //KiCad
38 (
39 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
40 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
41 XXXXXXX, XXXXXXX, XXXXXXX,
42
43 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //joystick up, down, left, right
44 XXXXXXX, MO(4) //joystick center push, thumbwheel push
45 ),
46
47 [2] = LAYOUT
48 (
49 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
50 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
51 XXXXXXX, XXXXXXX, XXXXXXX,
52
53 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //joystick up, down, left, right
54 XXXXXXX, MO(4) //joystick center push, thumbwheel push
55 ),
56
57 [3] = LAYOUT
58 (
59 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
60 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
61 XXXXXXX, XXXXXXX, XXXXXXX,
62
63 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //joystick up, down, left, right
64 XXXXXXX, MO(4) //joystick center push, thumbwheel push
65 ),
66
67 [4] = LAYOUT
68 (
69 TO(0), TO(1), TO(2), TO(3),
70 BL_TOGG, BL_STEP, XXXXXXX, XXXXXXX,
71 QK_RBT, EE_CLR, QK_BOOT,
72
73 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //joystick up, down, left, right
74 RGB_TOG, XXXXXXX //joystick center push, thumbwheel push
75 )
76};
77
78#if defined(ENCODER_MAP_ENABLE)
79const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
80 [0] = {
81 ENCODER_CCW_CW(KC_VOLD, KC_VOLU),
82 ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP)
83 },
84
85 [1] = {
86 ENCODER_CCW_CW(XXXXXXX, XXXXXXX),
87 ENCODER_CCW_CW(XXXXXXX, XXXXXXX)
88 },
89
90 [2] = {
91 ENCODER_CCW_CW(XXXXXXX, XXXXXXX),
92 ENCODER_CCW_CW(XXXXXXX, XXXXXXX)
93 },
94
95 [3] = {
96 ENCODER_CCW_CW(XXXXXXX, XXXXXXX),
97 ENCODER_CCW_CW(XXXXXXX, XXXXXXX)
98 },
99
100 [4] = {
101 ENCODER_CCW_CW(RGB_VAD, RGB_VAI),
102 ENCODER_CCW_CW(XXXXXXX, XXXXXXX)
103 }
104};
105#endif
106
107//set only hue, retain saturation, and value
108void rgblight_sethue_noeeprom(uint8_t hue) {
109 //only if rgb led ring is on
110 if (rgblight_get_mode()) {
111 rgblight_sethsv_noeeprom(hue,rgblight_get_sat(),rgblight_get_val());
112 }
113}
114
115//set correct layer hue on layer change
116layer_state_t layer_state_set_user(layer_state_t state) {
117 switch (get_highest_layer(state)) {
118 case 1:
119 rgblight_sethue_noeeprom(RGB_HUE_LAYER1);
120 break;
121 case 2:
122 rgblight_sethue_noeeprom(RGB_HUE_LAYER2);
123 break;
124 case 3:
125 rgblight_sethue_noeeprom(RGB_HUE_LAYER3);
126 break;
127 case 4:
128 rgblight_sethue_noeeprom(RGB_HUE_LAYER4);
129 break;
130 default:
131 rgblight_sethue_noeeprom(RGB_HUE_LAYER0);
132 break;
133
134 }
135 return state;
136}
137
138//set default layer hue upon init
139void keyboard_post_init_user(void) {
140 rgblight_init();
141 rgblight_sethue_noeeprom(RGB_HUE_LAYER0);
142} \ No newline at end of file
diff --git a/keyboards/qvex/lynepad2/keymaps/mcrosson/rules.mk b/keyboards/qvex/lynepad2/keymaps/mcrosson/rules.mk
deleted file mode 100644
index a40474b4d5..0000000000
--- a/keyboards/qvex/lynepad2/keymaps/mcrosson/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c b/keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c
deleted file mode 100644
index e6019db2ee..0000000000
--- a/keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c
+++ /dev/null
@@ -1,81 +0,0 @@
1/* Copyright 2019 Andy Lee <alee@alittlepeacemusic.com>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Defines the keycodes used by our macros in process_record_user
19enum custom_keycodes {
20 KC_P00 = SAFE_RANGE,
21
22};
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26 [0] = LAYOUT_60_ansi_numpad_split0(
27 QK_GESC, 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_BSPC, TG(1), KC_PSLS, KC_PAST, KC_PMNS,
28 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS, KC_HOME, KC_PGUP,
29 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL, KC_END, KC_PGDN, KC_PPLS,
30 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, C(S(KC_TAB)), KC_UP, LCTL(KC_TAB),
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(2), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT
32 ),
33
34 [1] = LAYOUT_60_ansi_numpad_split0(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3,
39 _______, _______, _______, _______, _______, _______, _______, _______, KC_0, KC_P00, KC_DOT, _______
40 ),
41
42 [2] = LAYOUT_60_ansi_numpad_split0(
43 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
48 ),
49};
50bool process_record_user(uint16_t keycode, keyrecord_t *record) {
51 switch (keycode) {
52 case KC_P00:
53 if (record->event.pressed) {
54 SEND_STRING("00");
55 }
56 break;
57 case TG(1):
58 if (record->event.pressed) {
59 tap_code(KC_NUM_LOCK);
60 return true;
61 }
62 break;
63
64 }
65 return true;
66}
67
68void matrix_init_user (void) {
69 if (!host_keyboard_led_state ().num_lock) {
70 tap_code(KC_NUM_LOCK);
71 }
72}
73
74bool led_update_user(led_t led_state) {
75 if (led_state.num_lock) {
76 layer_on(1);
77 } else {
78 layer_off(1);
79 }
80 return true;
81}
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h
deleted file mode 100644
index 1d7ad67a62..0000000000
--- a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
1/* Copyright 2021 @Ciutadellla
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18#define RGBLIGHT_LAYERS
19 // /*== or choose animations ==*/
20 #define RGBLIGHT_EFFECT_BREATHING
21 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
22 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
23
24#define TAPPING_TERM 200
25#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
deleted file mode 100644
index a4279821cc..0000000000
--- a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c
+++ /dev/null
@@ -1,333 +0,0 @@
1/* Copyright 2021 @Ciutadellla
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17
18 #include QMK_KEYBOARD_H
19
20 enum layer_names {
21 _BASE,
22 _LOWER,
23 _RAISE,
24 _MOVE,
25 _ADJUST
26 };
27
28 //UNICODES
29 #include "process_unicode.h"
30
31 enum unicode_names {
32 CKC_EUR,
33 N_TILDE,
34 COMB_ACUTE_ACCENT,
35 GRINNING_FACE, // 😃
36 BEAMING_FACE, // 😁
37 GRINNING_FACE_WITH_SWEAT, // 😅
38 ROLLING_LAUGHING, // 🤣
39 FACE_TEARS_JOY, // 😂
40 WINKING_FACE, // 😉
41 SMILING_FACE_HALO, // 😇
42 SMILING_FACE_HEARTS, // 🥰
43 SMILING_FACE_HEART_EYES, // 😍
44 FACE_BLOWING_KISS, // 😘
45 FACE_SAVORING_FOOD, // 😋
46 ZANY_FACE, // 🤪
47 HUGGING_FACE, // 🤗
48 SHUSHING_FACE, // 🤫
49 THINKING_FACE, // 🤔
50 FACE_RAISED_EYEBROW, // 🤨
51 NEUTRAL_FACE, // 😐
52 SMIRKING_FACE, // 😏
53 FACE_ROLLING_EYES, // 🙄
54 PENSIVE_FACE, // 😔
55 FACE_VOMITING, // 🤮
56 WOOZY_FACE, // 🥴
57 PLEADING_FACE, // 🥺
58 LOUDLY_CRYING_FACE, // 😭
59 DISAPPOINTED_FACE, // 😞
60 FACE_SYMBOLS_MOUTH, // 🤬
61 SMILING_FACE_HORNS, // 😈
62 SKULL, // 💀
63 PILE_POO, // 💩
64 GHOST, // 👻
65 ALIEN_MONSTER, // 👾
66 RED_HEART, // ❤
67 BOMB, // 💣
68 WAVING_HAND, // 👋
69 OK_HAND, // 👌
70 CLAPPING_HANDS, // 👏
71 EYES, // 👀
72 MAN_FACEPALMING, // 🤦
73 TURTLE, // 🐢
74 SNAKE, // 🐍
75 SPOUTING_WHALE, // 🐳
76 DRAGON, // 🐉
77 TREX, // 🦖
78 THUMBSDOWN, // 👍
79 THUMBSUP, // 👎
80 };
81
82 //https://unicode-table.com/en/#00F1
83 const uint32_t unicode_map[] PROGMEM = {
84 [CKC_EUR] = 0x20AC, //€
85 [N_TILDE] = 0x00F1, // ñ
86 [COMB_ACUTE_ACCENT] = 0x0301, // ´
87 [GRINNING_FACE] = 0x1F603,
88 [BEAMING_FACE] = 0x1F601,
89 [GRINNING_FACE_WITH_SWEAT] = 0x1F605,
90 [ROLLING_LAUGHING] = 0x1F923,
91 [FACE_TEARS_JOY] = 0x1F602,
92 [WINKING_FACE] = 0x1F609,
93 [SMILING_FACE_HALO] = 0x1F607,
94 [SMILING_FACE_HEARTS] = 0x1F970,
95 [SMILING_FACE_HEART_EYES] = 0x1F60D,
96 [FACE_BLOWING_KISS] = 0x1F618,
97 [FACE_SAVORING_FOOD] = 0x1F60B,
98 [ZANY_FACE] = 0x1F92A,
99 [HUGGING_FACE] = 0x1F917,
100 [SHUSHING_FACE] = 0x1F92B,
101 [THINKING_FACE] = 0x1F914,
102 [FACE_RAISED_EYEBROW] = 0x1F928,
103 [NEUTRAL_FACE] = 0x1F610,
104 [SMIRKING_FACE] = 0x1F60F,
105 [FACE_ROLLING_EYES] = 0x1F644,
106 [PENSIVE_FACE] = 0x1F614,
107 [FACE_VOMITING] = 0x1F92E,
108 [WOOZY_FACE] = 0x1F974,
109 [PLEADING_FACE] = 0x1F97A,
110 [LOUDLY_CRYING_FACE] = 0x1F62D,
111 [DISAPPOINTED_FACE] = 0x1F61E,
112 [FACE_SYMBOLS_MOUTH] = 0x1F92C,
113 [SMILING_FACE_HORNS] = 0x1F608,
114 [SKULL] = 0x1F480,
115 [PILE_POO] = 0x1F4A9,
116 [GHOST] = 0x1F47B,
117 [ALIEN_MONSTER] = 0x1F47E,
118 [RED_HEART] = 0x2764,
119 [BOMB] = 0x1F4A3,
120 [WAVING_HAND] = 0x1F44B,
121 [OK_HAND] = 0x1F44C,
122 [CLAPPING_HANDS] = 0x1F44F,
123 [EYES] = 0x1F440,
124 [MAN_FACEPALMING] = 0x1F926,
125 [TURTLE] = 0x1F422,
126 [SNAKE] = 0x1F40D,
127 [SPOUTING_WHALE] = 0x1F433,
128 [DRAGON] = 0x1F409,
129 [TREX] = 0x1F996,
130 [THUMBSDOWN] = 0x1F44E,
131 [THUMBSUP] = 0x1F44D,
132 };
133
134
135 void matrix_init_user(void){
136 set_unicode_input_mode(UNICODE_MODE_MACOS);
137 }
138
139
140 // Shortcut to make keymap more readable
141 #define KC_OSX_EJECT 0x66
142 #define LOCK_OSX LSFT(LCTL(KC_OSX_EJECT))
143 #define SLEEP_OSX LALT(LGUI(KC_OSX_EJECT))
144 #define KC_C_LF RCTL(KC_LEFT) // control + left
145 #define KC_C_RT RCTL(KC_RGHT) // control + right
146
147 // tap dance declarations
148 enum {
149 _TD_TAB_ESC = 0,
150 _TD_BSPC_WDEL,
151 _TD_SFT_CAPS,
152 _TD_SPC_ENT,
153 _TD_N_NTILDE,
154 _TD_CTRL_LANG,
155 _TD_SCLN_NTILDE
156 };
157
158 #define TD_TAB_ESC TD(_TD_TAB_ESC)
159 #define TD_BSPC_WDEL TD(_TD_BSPC_WDEL)
160 #define TD_SFT_CAPS TD(_TD_SFT_CAPS)
161 #define TD_SPC_ENT TD(_TD_SPC_ENT)
162 #define TD_N_NTILDE TD(_TD_N_NTILDE)
163 #define TD_CTRL_LANG TD(_TD_CTRL_LANG)
164 #define TD_SCLN_NTILDE TD(_TD_SCLN_NTILDE) //TP with costum keycodes has to be a funtion
165
166 void td_scln_ntilde(tap_dance_state_t *state, void *user_data) {
167 if (state->count == 1) {
168 register_code(KC_SCLN);
169 unregister_code(KC_SCLN);
170 } else {
171 send_unicode_string("ñ");
172 }
173 reset_tap_dance(state);
174 }
175
176 // Tap Dance Definitions
177 tap_dance_action_t tap_dance_actions[] = {
178 [_TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC),
179 [_TD_BSPC_WDEL] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, LALT(KC_BSPC)),
180 [_TD_SFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
181 [_TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT),
182 [_TD_CTRL_LANG] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, LCTL(LSFT(KC_SPACE))),
183 [_TD_SCLN_NTILDE] = ACTION_TAP_DANCE_FN(td_scln_ntilde),
184 };
185
186
187 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
188
189
190 /* Qwerty 0
191 * ,-----------------------------------------+ +-----------------------------------------.
192 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
193 * |------+------+------+------+------+------+ +------+------+------+------+------+------|
194 * |CtlLNG| A | S | D | F | G | | H | J | K | L | ; | " |
195 * |------+------+------+------+------+------+ +------+------+------+------+------+------|
196 * | Shift| Z | X | C | V | B | | N | M | , | . | / | Shift|
197 * |------+------+------+------+------+------+ +------+------+------+------+------+------|
198 * | GUI | Lower| Space | Raise| Alt |
199 * +-------------/ \--------------+
200 */
201 [_BASE] = LAYOUT_reviung41(TD_TAB_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD_BSPC_WDEL, TD_CTRL_LANG, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD_SCLN_NTILDE, KC_QUOT, TD_SFT_CAPS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), KC_LGUI, MO(1), TD_SPC_ENT, MO(2), LT(4,KC_NO)),
202
203
204 /* LOWER 1
205 * ,-----------------------------------------+ +-----------------------------------------.
206 * | Tab | ! | @ | # | $ | % | | ^ | & | * | () | ) | Del |
207 * |------+------+------+------+------+------+ +------+------+------+------+------+------|
208 * | Ctl | _ | + | {} | } | | | | LEFT | DOWN | UP | RIGHT| ´ | " |
209 * |------+------+------+------+------+------+ +------+------+------+------+------+------|
210 * | Shift| Esc | Gui | Alt | = | "" | | HOME | END | PGUP | PDOWN| / | Shft |
211 * |------+------+------+------+------+------+ +------+------+------+------+------+------|
212 * | GUI | Lower| Space | Raise| Alt |
213 * +-------------/ \--------------+
214 */
215 [_LOWER] = LAYOUT_reviung41(KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_ESC, KC_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, MT(MOD_LSFT | MOD_RSFT,KC_SPC), KC_TRNS, KC_TRNS, KC_ENT, MO(3), KC_TRNS),
216
217 /* Raise 2
218 * ,-----------------------------------------+ +-----------------------------------------.
219 * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL |
220 * |------+------+------+------+------+------+ +------+------+------+------+------+------|
221 * | | MINS | EQL | LBRC | RBRC | BSLS | | F1 | F2 | F3 | F4 | F5 | F6 |
222 * |------+------+------+------+------+------+ +------+------+------+------+------+------|
223 * | | | | | | QUOT | | F7 | F8 | F9 | F10 | F11 | F12 |
224 * |------+------+------+------+------+------+ +------+------+------+------+------+------|
225 * | ____ | MO(3)| BSPC | ____ | ____ |
226 * +-------------/ \--------------+
227 */
228
229 // [_RAISE] = LAYOUT_reviung41(
230 // KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_DEL,
231 // KC_TRNS, KC_LPRN, KC_RPRN, KC_LT, KC_GT, KC_AMPR, KC_PMNS, KC_PPLS, KC_HASH, KC_PERC, KC_COLN, KC_PEQL,
232 // KC_TRNS, KC_LCBR, KC_RCBR, KC_SLSH, KC_INT1, KC_PIPE, KC_PSLS, KC_PAST, KC_PCMM, KC_PDOT, KC_HASH, KC_PENT,
233 // KC_TRNS, MO(3), KC_BSPC, KC_TRNS, KC_TRNS
234 // ),
235
236 [_RAISE] = LAYOUT_reviung41(
237 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_P0, KC_PPLS, KC_PMNS,
238 KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_LT, KC_GT, KC_P4, KC_P5, KC_P6, KC_PERC, KC_PAST, KC_PSLS,
239 KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_P1, KC_P2, KC_P3, KC_PCMM, KC_PDOT, KC_PEQL,
240 KC_TRNS, MO(3), KC_PENT, KC_TRNS, KC_TRNS
241 ),
242
243
244 /* _MOVE 3
245 * ,---------------------------------------------------+ +------------------------------------------.
246 * | | | | | | | | | WHD | WHU | | | LOCK |
247 * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
248 * | | | | | | | | M_L | M_D | M_I | M_R | | SLEEP |
249 * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
250 * | | | | | SCRLFT| SCRRGHT | | M_B1 | M_B2| M0 | M2 | | QK_BOOT |
251 * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------|
252 * | ____ | ____ | BSPC | ____ | ____ |
253 * +-------------/ \--------------+
254 */
255 [_MOVE] = LAYOUT_reviung41(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ACL2, LOCK_OSX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ACL0, SLEEP_OSX, KC_F13, KC_F14, KC_F15, KC_F16, KC_C_LF, KC_C_RT, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
256 /* _ADJUST 4
257 * ,----------------------------------------+ +---------------------------------------------------.
258 * | 😃 | 😅 | 🤣 | 😉 | 😇 | 🥰 | | RGBUP | HUEUP | RGB_MOD | BRIU | PLAY | VOLU |
259 * |------+-----+------+------+------+------+ +-------+--------+----------+-------+-------+------|
260 * | 😍 | 😘 | 🙄 | 😔 | 😭 | 💩 | | RGBDWN| HUEDWN | RGB_TOG | BRID | STOP | VOLD |
261 * |------+-----+------+------+------+------+ +-------+--------+----------+--------+------+------|
262 * | 👍 | 👎 | 👏 | 👀 | 🤦 | 👻 | | RGB_TG| | | | | MUTE |
263 * |------+------+------+------+------+------+ +-------+--------+----------+--------+------+------|
264 * | GUI | Lower| BSPC | Raise| Alt |
265 * +-------------/ \--------------+
266 */
267
268 [_ADJUST] = LAYOUT_reviung41(UM(GRINNING_FACE), UM(GRINNING_FACE_WITH_SWEAT), UM(ROLLING_LAUGHING), UM(WINKING_FACE), UM(SMILING_FACE_HALO), UM(SMILING_FACE_HEARTS), RGB_VAI, RGB_HUI, RGB_MOD, KC_BRIU, KC_MPLY, KC_VOLU, UM(SMILING_FACE_HEART_EYES), UM(FACE_BLOWING_KISS), UM(FACE_ROLLING_EYES), UM(PENSIVE_FACE), UM(LOUDLY_CRYING_FACE), UM(PILE_POO), RGB_VAD, RGB_HUD, RGB_RMOD, KC_BRID, KC_MSTP, KC_VOLD, UM(THUMBSUP), UM(THUMBSDOWN), UM(CLAPPING_HANDS), UM(EYES), UM(MAN_FACEPALMING), UM(GHOST), RGB_TOG, RGB_SAD, RGB_SAI, RGB_SPD, RGB_SPI, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
269
270 };
271
272
273
274 #ifdef RGBLIGHT_ENABLE
275 // RGB LED Indicators
276 const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
277 {0, 11, HSV_RED} // Light 1 LED, starting with LED 0
278 );
279
280 // RGB LED Indicators
281 const rgblight_segment_t PROGMEM my_base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
282 {0, 11, HSV_CYAN} // Light 1 LED, starting with LED 0
283 );
284
285 const rgblight_segment_t PROGMEM my_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS(
286 {0, 11, HSV_GREEN} // Light 1 LED, starting with LED 1
287 );
288
289 // RGB LED Indicators
290 const rgblight_segment_t PROGMEM my_rise_layer[] = RGBLIGHT_LAYER_SEGMENTS(
291 {0, 11, HSV_MAGENTA} // Light 1 LED, starting with LED 0
292 );
293
294 // RGB LED Indicators
295 const rgblight_segment_t PROGMEM my_MOVE_layer[] = RGBLIGHT_LAYER_SEGMENTS(
296 {0, 11, HSV_YELLOW} // Light 1 LED, starting with LED 0
297 );
298
299
300 // RGB LED Indicators
301 const rgblight_segment_t PROGMEM my_ADJUST_layer[] = RGBLIGHT_LAYER_SEGMENTS(
302 {0, 11, HSV_AZURE} // Light 1 LED, starting with LED 0
303 );
304
305 // Now define the array of layers. Later layers take precedence
306 const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
307 my_base_layer, // 0
308 my_lower_layer, // 1
309 my_rise_layer, // 2
310 my_MOVE_layer, // 3
311 my_ADJUST_layer, // 4
312 my_capslock_layer // 5
313 );
314
315 // Enable the LED layers
316 void keyboard_post_init_user(void) {
317 rgblight_layers = my_rgb_layers;
318 }
319
320 layer_state_t layer_state_set_user(layer_state_t state) {
321 rgblight_set_layer_state(1, layer_state_cmp(state, _LOWER));
322 rgblight_set_layer_state(2, layer_state_cmp(state, _RAISE));
323 rgblight_set_layer_state(3, layer_state_cmp(state, _MOVE));
324 rgblight_set_layer_state(4, layer_state_cmp(state, _ADJUST));
325 return state;
326 }
327
328 bool led_update_user(led_t led_state) {
329 rgblight_set_layer_state(5, led_state.caps_lock);
330 return true;
331 }
332 #endif
333
diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk b/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk
deleted file mode 100644
index eeafc12006..0000000000
--- a/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
1# MCU name
2MCU = atmega32u4
3BOOTLOADER = atmel-dfu
4MOUSEKEY_ENABLE = yes # Mouse keys
5CONSOLE_ENABLE = no # Console for debug
6COMMAND_ENABLE = no # Commands for debug and configuration
7BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
8RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
9UNICODEMAP_ENABLE = yes # Unicode
10TAP_DANCE_ENABLE = yes
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h
deleted file mode 100644
index b34b40c785..0000000000
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
1/*
2 * ----------------------------------------------------------------------------
3 * "THE BEER-WARE LICENSE" (Revision 42):
4 * <https://github.com/Legonut> wrote this file. As long as you retain this
5 * notice you can do whatever you want with this stuff. If we meet some day, and
6 * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
7 * ----------------------------------------------------------------------------
8 */
9
10#pragma once
11
12// Xulkal custom stuff
13#undef QUICK_TAP_TERM
14
15#undef TAPPING_TERM
16#define TAPPING_TERM 175
17
18#define SPACE_CADET_MODIFIER_CARRYOVER
19#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_LBRC
20#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_RBRC
21#define LCPO_KEYS KC_LCTL, KC_TRNS, KC_MINS
22#define RCPC_KEYS KC_RCTL, KC_TRNS, KC_EQL
23
24// No need for the single versions when multi performance isn't a problem =D
25#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
26#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
27#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
28#undef ENABLE_RGB_MATRIX_SPLASH
29#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
30
31// 20m timeout (20m * 60s * 1000mil)
32// #define RGB_MATRIX_TIMEOUT 1200000
33#define RGB_MATRIX_SLEEP
34#define OLED_SCROLL_TIMEOUT 20000
35#define ONESHOT_TAP_TOGGLE 2
36
37#define RGB_MATRIX_HUE_STEP 8
38#define RGB_MATRIX_SAT_STEP 8
39#define RGB_MATRIX_VAL_STEP 8
40#define RGB_MATRIX_SPD_STEP 8
41
42#define ENCODER_RESOLUTION 2
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
deleted file mode 100644
index eefb59e676..0000000000
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
+++ /dev/null
@@ -1,248 +0,0 @@
1/*
2 * ----------------------------------------------------------------------------
3 * "THE BEER-WARE LICENSE" (Revision 42):
4 * <https://github.com/Legonut> wrote this file. As long as you retain this
5 * notice you can do whatever you want with this stuff. If we meet some day, and
6 * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
7 * ----------------------------------------------------------------------------
8 */
9
10#include QMK_KEYBOARD_H
11#include "common_oled.h"
12
13enum keymap_layers {
14 _QWERTY,
15 _FUNCTION,
16 _ADJUST
17};
18
19enum keymap_keycodes {
20 // Disables touch processing
21 TCH_TOG = SAFE_RANGE,
22 MENU_BTN,
23 MENU_UP,
24 MENU_DN,
25 RGB_RST
26};
27
28// Default Layers
29#define QWERTY DF(_QWERTY)
30
31// Momentary Layers
32#define FN OSL(_FUNCTION)
33#define ADJ OSL(_ADJUST)
34
35// clang-format off
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37 /* QWERTY
38 * .--------------------------------------------------------------. .--------------------------------------------------------------.
39 * | `~/ESC | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | Bckspc |
40 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
41 * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
42 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
43 * | Caps | A | S | D | F | G | Play | | MN BTN | H | J | K | L | : | Enter |
44 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
45 * | Shft[ | Z | X | C | V | B | { | | } | N | M | , | . | / | Shft] |
46 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
47 * | Ctrl- | Win | Alt | Del | Space | | ADJ | | FN | | Space | '" | Alt | App | Ctrl= |
48 * '--------+--------+--------+--------|--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
49 * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
50 * | VolDn | VolUp | Next | Play | Prev | Touch Encoder Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI |
51 * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
52 */
53 [_QWERTY] = LAYOUT(
54 QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
55 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
56 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_MPLY, MENU_BTN,KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
57 SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
58 SC_LCPO, KC_LGUI, KC_LALT, KC_DEL, KC_SPC, KC_NO, ADJ, FN, KC_NO, KC_SPC, KC_QUOTE,KC_RALT, KC_APP, SC_RCPC,
59
60 KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD
61 ),
62
63 /* Function
64 * .--------------------------------------------------------------. .--------------------------------------------------------------.
65 * | F12 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
66 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
67 * | | SPDI | SAI | VAI | HUI | RGBMD | | | | | | PrtScr | ScrLck | PseBrk | |
68 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
69 * | | SPDD | SAD | VAD | HUD | RGBRMD | | | | | | Ins | Home | PgUp | |
70 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
71 * | | RGBRST | | | | RGBTOG | | | | | | Del | End | PgDn | |
72 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
73 * | | | | | | | | | | | Play | Prev | Next | VolUp | VolDn |
74 * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
75 * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
76 * | | | | | | Touch Encoder Touch Encoder | | | | | |
77 * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
78 */
79 [_FUNCTION] = LAYOUT(
80 KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
81 _______, RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, RGB_MOD, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
82 _______, RGB_SPD, RGB_SAD, RGB_VAD, RGB_HUD, RGB_RMOD,_______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______,
83 _______, RGB_RST, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______,
84 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD,
85
86 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
87 ),
88
89 /* Adjust
90 * .--------------------------------------------------------------. .--------------------------------------------------------------.
91 * | | | | | | | | | | | NumLck | / | * | - | Del |
92 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
93 * | | Home | Up | End | Reset | T_TOG | | | | | 7 | 8 | 9 | + | |
94 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
95 * | | Left | Down | Right | | | | | | | 4 | 5 | 6 | + | |
96 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
97 * | | | | | | EepRst | | | | | 1 | 2 | 3 | Enter | |
98 * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
99 * | | | | | | | | | | | | 0 | . | Enter | |
100 * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
101 * Encoder 1 Encoder 2 Encoder 3 Encoder 4
102 * .-----------------------------------. .-----------------------------------.
103 * | | | | | | | | | |
104 * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
105 * | | | | | | Touch Encoder Touch Encoder | | | | | |
106 * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
107 */
108 [_ADJUST] = LAYOUT(
109 KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_DEL,
110 _______, KC_HOME, KC_UP, KC_END, QK_BOOT, TCH_TOG, _______, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______,
111 _______, KC_LEFT, KC_DOWN, KC_RIGHT,_______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______,
112 _______, _______, _______, _______, _______, EE_CLR, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______,
113 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_PDOT, KC_PENT, _______,
114
115 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
116 )
117};
118// clang-format on
119
120bool process_record_user(uint16_t keycode, keyrecord_t *record) {
121 switch (keycode)
122 {
123 case MENU_BTN:
124 if (record->event.pressed) {
125 rgb_menu_selection();
126 }
127 return false;
128 case MENU_UP:
129 if (record->event.pressed) {
130 rgb_menu_action(true);
131 }
132 return false;
133 case MENU_DN:
134 if (record->event.pressed) {
135 rgb_menu_action(false);
136 }
137 return false;
138 case RGB_RST:
139 if (record->event.pressed) {
140 eeconfig_update_rgb_matrix_default();
141 }
142 return false;
143 case TCH_TOG:
144 if (record->event.pressed) {
145 touch_encoder_toggle();
146 }
147 return false; // Skip all further processing of this key
148 default:
149 return true;
150 }
151}
152
153//#define MATRIX_SCAN_DEBUG
154#if !defined(MATRIX_SCAN_DEBUG)
155static void render_layer(void) {
156 // Host Keyboard Layer Status
157 oled_write_P(PSTR("Layer"), false);
158 switch (get_highest_layer(layer_state)) {
159 case _QWERTY:
160 oled_write_ln_P(PSTR("BASE "), false);
161 break;
162 case _FUNCTION:
163 oled_write_ln_P(PSTR("FUNC "), false);
164 break;
165 case _ADJUST:
166 oled_write_ln_P(PSTR("ADJS "), false);
167 break;
168 }
169}
170
171static void render_leds(void)
172{
173 // Host Keyboard LED Status
174 led_t led_state = host_keyboard_led_state();
175 oled_write_P(led_state.num_lock ? PSTR("NUMLK") : PSTR(" "), false);
176 oled_write_P(led_state.caps_lock ? PSTR("CAPLK") : PSTR(" "), false);
177 oled_write_P(led_state.scroll_lock ? PSTR("SCRLK") : PSTR(" "), false);
178}
179
180static void render_touch(void)
181{
182 // Host Touch LED Status
183 oled_write_P(touch_encoder_is_on() ? PSTR("TOUCH") : PSTR(" "), false);
184 oled_write_P(touch_encoder_is_calibrating() ? PSTR("CLBRT") : PSTR(" "), false);
185}
186#else
187static uint32_t scan_counter = 0;
188static uint32_t scan_value = 0;
189static uint16_t scan_timer = 1000;
190
191void do_counters(void) {
192 scan_counter++;
193 uint16_t now = sync_timer_read();
194 if (timer_expired(now, scan_timer))
195 {
196 scan_timer += 1000;
197 scan_value = (scan_value + scan_counter) / 2;
198 scan_counter = 0;
199 }
200}
201
202void matrix_scan_user(void) {
203 do_counters();
204}
205
206void matrix_slave_scan_user(void) {
207 do_counters();
208}
209
210void render_debug_scan(void) {
211 static char buffer[6] = {0};
212 snprintf(buffer, sizeof(buffer), "%5d", scan_value);
213 oled_write_ln_P(buffer, false);
214}
215#endif
216
217bool oled_task_user(void) {
218#if !defined(MATRIX_SCAN_DEBUG)
219 if (is_keyboard_left()) {
220 render_layer();
221 oled_write_P(PSTR(" "), false);
222 render_leds();
223 oled_write_P(PSTR(" "), false);
224 render_touch();
225 }
226 else {
227 render_rgb_menu();
228 }
229#else
230 oled_write_P(PSTR(" "), false);
231 render_debug_scan();
232#endif
233 oled_set_cursor(0, 12);
234 render_icon();
235 return false;
236}
237
238oled_rotation_t oled_init_user(oled_rotation_t rotation) {
239 return OLED_ROTATION_270;
240}
241
242#ifdef ENCODER_MAP_ENABLE
243const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
244 [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(MENU_DN, MENU_UP), ENCODER_CCW_CW(MENU_DN, MENU_UP) },
245 [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
246 [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
247};
248#endif
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk b/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk
deleted file mode 100644
index e6b71e56d1..0000000000
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
1MOUSEKEY_ENABLE = yes # using for mouse wheel up and down, more granular than page up/down
2
3OPT_DEFS += -DRGB_UNLIMITED_POWER
4
5ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c b/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c
deleted file mode 100644
index 194ec4de2f..0000000000
--- a/keyboards/rgbkb/sol/keymaps/brianweyer/keymap.c
+++ /dev/null
@@ -1,272 +0,0 @@
1#include QMK_KEYBOARD_H
2#ifdef PROTOCOL_LUFA
3#include "lufa.h"
4#include "split_util.h"
5#endif
6
7extern keymap_config_t keymap_config;
8
9#ifdef RGBLIGHT_ENABLE
10//Following line allows macro to read current RGB settings
11extern rgblight_config_t rgblight_config;
12#endif
13
14// Each layer gets a name for readability, which is then used in the keymap matrix below.
15// The underscores don't mean anything - you can have a layer called STUFF or any other name.
16// Layer names don't all need to be of the same length, obviously, and you can also skip them
17// entirely and just use numbers.
18enum layer_number {
19 _QWERTY = 0,
20 _FN,
21 _ADJ
22};
23
24enum custom_keycodes {
25 QWERTY = SAFE_RANGE,
26 FN,
27 ADJ,
28 RGBRST
29};
30
31
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 /* QWERTY
34 * ,------------------------------------------------. ,------------------------------------------------.
35 * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Bspc |
36 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
37 * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
38 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
39 * | Esc | A | S | D | F | G | | | | H | J | K | L | ; | ' |
40 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
41 * | Shift| Z | X | C | V | B | | | | N | M | , | . | / | Shift|
42 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
43 * | Ctrl | Alt | FN | LGui | RGB | Spc | Del | | Bspc | Spc | Adj | LGui | FN | Alt | Ctrl |
44 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
45 * | Spc | Ent | | Ent | Spc |
46 * `-------------' `-------------'
47 */
48 [_QWERTY] = LAYOUT(
49 //,--------+--------+--------+--------+--------+--------+--+--------+. ,--------+--+--------+--------+--------+--------+--------+--------+
50 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
51 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
52 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
53 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
54 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
55 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
56 SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
57 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
58 KC_LCTL, KC_LALT, FN, KC_LGUI, RGB_MOD, KC_SPC, KC_DEL, KC_BSPC, KC_SPC, ADJ, KC_LGUI, FN, KC_LALT, KC_LCTL,
59 //|--------+--------+--------+--------+--------+--+--------+--------| |--------+--+--------+--------+--------+--------+--------+--------|
60 KC_SPC, KC_ENT, KC_ENT, KC_SPC
61 // |--------+--------| |--------+-----------+
62 ),
63
64 /* FN
65 * ,------------------------------------------------. ,------------------------------------------------.
66 * | F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
67 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
68 * | | | | Up | | | | | | | | | | | |
69 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
70 * | | | Left | Down | Right| | | | | Play | Next | Mute | V-Up |V-Down| |
71 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
72 * | | | | | | | | | | | | | | | |
73 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
74 * | | | | | | | | | | | | | | | |
75 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
76 * | | | | | |
77 * `-------------' `-------------'
78 */
79 [_FN] = LAYOUT(
80 //,--------+--------+--------+--------+--------+--------+--+--------+. ,--------+--+--------+--------+--------+--------+--------+--------+
81 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
82 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
83 _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
84 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
85 _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______,
86 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
87 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
88 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
90 //|--------+--------+--------+--------+--------+--+--------+--------| |--------+--+--------+--------+--------+--------+--------+--------|
91 _______, _______, _______, _______
92 // |--------+--------| |--------+-----------+
93 ),
94
95 /* ADJ
96 * ,------------------------------------------------. ,------------------------------------------------.
97 * | | | | | | | | | | | | | | | |
98 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
99 * | | Sat+ | Val+ | Hue+ |Speed+|Toggle| | | | | | | | | |
100 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
101 * | | Sat- | Val- | Hue- |Speed-|Reset | | | | |QWERTY| COLE | | | |
102 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
103 * | | | | | | | | | | | | | | | |
104 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
105 * | | | | | | | | | | | | | | | |
106 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
107 * | | | | | |
108 * `-------------' `-------------'
109 */
110
111 [_ADJ] = LAYOUT(
112 //,--------+--------+--------+--------+--------+--------+--+--------+. ,--------+--+--------+--------+--------+--------+--------+--------+
113 QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
114 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
115 _______, RGB_SAI, RGB_VAI, RGB_HUI, RGB_SPI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______,
116 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
117 _______, RGB_SAD, RGB_VAD, RGB_HUD, RGB_SPD, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______,
118 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
119 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
120 //|--------+--------+--------+--------+--------+--------+--+--------| |--------+--+--------+--------+--------+--------+--------+--------|
121 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
122 //|--------+--------+--------+--------+--------+--+--------+--------| |--------+--------+--+--------+--------+--------+--------+--------|
123 _______, _______, _______, _______
124 // |--------+--------| |--------+--------+
125 )
126};
127
128
129// define variables for reactive RGB
130bool TOG_STATUS = false;
131int RGB_current_mode;
132
133#ifdef ENCODER_ENABLE
134bool encoder_update_user(uint8_t index, bool clockwise) {
135 if (index == 0) { /* First encoder */
136 if (clockwise) {
137 tap_code(KC_VOLU);
138 } else {
139 tap_code(KC_VOLD);
140 }
141 } else if (index == 1) { /* Second encoder*/
142 if (clockwise) {
143 tap_code(KC_UP);
144 } else {
145 tap_code(KC_DOWN);
146 }
147 }
148 return true;
149}
150#endif
151
152bool process_record_user(uint16_t keycode, keyrecord_t *record) {
153
154 switch (keycode) {
155 case QWERTY:
156 if (record->event.pressed) {
157 set_single_persistent_default_layer(_QWERTY);
158 }
159 return false;
160 break;
161 case FN:
162 if (record->event.pressed) {
163 layer_on(_FN);
164 } else {
165 layer_off(_FN);
166 }
167 return false;
168 break;
169 case ADJ:
170 if (record->event.pressed) {
171 layer_on(_ADJ);
172 } else {
173 layer_off(_ADJ);
174 }
175 return false;
176 break;
177 //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
178 case RGBRST:
179 #ifdef RGBLIGHT_ENABLE
180 if (record->event.pressed) {
181 eeconfig_update_rgblight_default();
182 rgblight_enable();
183 RGB_current_mode = rgblight_config.mode;
184 }
185 #endif
186 break;
187 }
188 return true;
189}
190
191void matrix_init_user(void) {
192#ifdef RGBLIGHT_ENABLE
193 RGB_current_mode = rgblight_config.mode;
194#endif
195}
196
197
198// OLED Driver Logic
199#ifdef OLED_ENABLE
200
201oled_rotation_t oled_init_user(oled_rotation_t rotation) {
202 if (!is_keyboard_master())
203 return OLED_ROTATION_180; // flip 180 for offhand
204 return rotation;
205}
206
207static void render_logo(void) {
208 static const char PROGMEM sol_logo[] = {
209 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
210 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
211 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
212
213 oled_write_P(sol_logo, false);
214}
215
216//assign the right code to your layers for OLED display
217#define L_BASE 0
218#define L_FN (1<<_FN)
219#define L_ADJ (1<<_ADJ)
220#define L_ADJ_TRI (L_ADJ|L_FN)
221
222static void render_status(void) {
223 // Render to mode icon
224 static const char PROGMEM mode_logo[4][4] = {
225 {0x95,0x96,0x0a,0},
226 {0xb5,0xb6,0x0a,0},
227 {0x97,0x98,0x0a,0},
228 {0xb7,0xb8,0x0a,0} };
229
230 if (keymap_config.swap_lalt_lgui != false) {
231 oled_write_P(mode_logo[0], false);
232 oled_write_P(mode_logo[1], false);
233 } else {
234 oled_write_P(mode_logo[2], false);
235 oled_write_P(mode_logo[3], false);
236 }
237
238 // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
239
240 oled_write_P(PSTR("Layer: "), false);
241 switch (layer_state) {
242 case L_BASE:
243 oled_write_P(PSTR("Laser \n"), false);
244 break;
245 case L_FN:
246 oled_write_P(PSTR("Function \n"), false);
247 break;
248 case L_ADJ:
249 case L_ADJ_TRI:
250 oled_write_P(PSTR("Adjustment\n"), false);
251 break;
252 default:
253 oled_write_P(PSTR("Undefined \n"), false);
254 }
255
256 // Host Keyboard LED Status
257 led_t led_state = host_keyboard_led_state();
258 oled_write_P(led_state.num_lock ? PSTR("NUMLOCK ") : PSTR(" "), false);
259 oled_write_P(led_state.caps_lock ? PSTR("CAPS ") : PSTR(" "), false);
260 oled_write_P(led_state.scroll_lock ? PSTR("SCLK ") : PSTR(" "), false);
261}
262
263bool oled_task_user(void) {
264 if (is_keyboard_master())
265 render_status();
266 else
267 render_logo();
268
269 return false;
270}
271
272#endif
diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk b/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk
deleted file mode 100644
index f9832323b4..0000000000
--- a/keyboards/rgbkb/sol/keymaps/brianweyer/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
1# Overridden build options from rev1
2
3# RGB Options
4LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
5
6# Misc
7OLED_ENABLE = yes # Enable the OLED Driver
8
9
10
11
12
13# Do not edit past here
14
15include keyboards/$(KEYBOARD)/post_rules.mk
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h
deleted file mode 100644
index ca7d19afab..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h
+++ /dev/null
@@ -1,42 +0,0 @@
1/*
2Copyright 2017 Danny Nguyen <danny@hexwire.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20// place overrides here
21
22/* Select hand configuration */
23
24#define MASTER_LEFT
25// #define MASTER_RIGHT
26// #define EE_HANDS
27
28#undef RGBLED_NUM
29#define RGBLIGHT_EFFECT_BREATHING
30#define RGBLIGHT_EFFECT_RAINBOW_MOOD
31#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
32#define RGBLIGHT_EFFECT_SNAKE
33#define RGBLIGHT_EFFECT_KNIGHT
34#define RGBLIGHT_EFFECT_CHRISTMAS
35#define RGBLIGHT_EFFECT_STATIC_GRADIENT
36#define RGBLIGHT_EFFECT_RGB_TEST
37#define RGBLIGHT_EFFECT_ALTERNATING
38#define RGBLIGHT_EFFECT_TWINKLE
39#define RGBLED_NUM 16
40#define RGBLIGHT_HUE_STEP 8
41#define RGBLIGHT_SAT_STEP 8
42#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c
deleted file mode 100644
index ece995075b..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/keymap.c
+++ /dev/null
@@ -1,97 +0,0 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9#define _QWERTY 0
10#define _NAV 2
11
12
13enum custom_keycodes {
14 QWERTY = SAFE_RANGE,
15 NAV,
16
17};
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20
21 /* Qwerty
22 * ,-----------------------------------------. .-----------------------------------------.
23 * | GESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
24 * |------+------+------+------+------+------| |------+------+------+------+------+------|
25 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
26 * |------+------+------+------+------+------| |------+------+------+------+------+------|
27 * |CAPS(NAV)|A | S | D | F | G | | H | J | K | L | ; | " |
28 * |------+------+------+------+------+------| |------+------+------+------+------+------|
29 * | Shift| Z | X | C | V | B | | N | M | , | . | / |Shift |
30 * |------+------+------+------+------+------+------..-----+------+------+------+------+------+------|
31 * | Ctrl | Alt | GUI | GUI | NAV |Space |Delete||Enter|Space | NAV | - | = |RGBTOG|Enter |
32 * `------------------------------------------------''-----------------------------------------------'
33 */
34 [_QWERTY] = LAYOUT(
35 QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
36 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
37 LT(_NAV, KC_CAPS),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
38 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
39 KC_LCTL, KC_LALT, KC_LGUI, KC_LGUI, MO(_NAV), KC_SPC, KC_DEL, KC_ENT, KC_SPACE, MO(_NAV), KC_MINS, KC_EQL, RGB_TOG, KC_ENT
40 ),
41
42 /* NAV
43 * ,-----------------------------------------. .-----------------------------------------.
44 * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
45 * |------+------+------+------+------+------| |------+------+------+------+------+------|
46 * | |RGBSAI|RGBVAI|RGBSAD| QK_BOOT| [ | | ] | Pgup | Up | Pgdn |Insert| Home |
47 * |------+------+------+------+------+------| |------+------+------+------+------+------|
48 * | |RGBHUD|RGBVAD|RGBHUI|RGBMOD| | | | Left | Down | Right|Delete| End |
49 * |------+------+------+------+------+------| |------+------+------+------+------+------|
50 * |Shift | | | | | | | NKRO | | | Pause| Back | Next |
51 * |------+------+------+------+------+------+------..-----+------+------+------+------+------+------|
52 * | Ctrl | Alt | GUI | | | | || | | | | Mute | VOLUP| VOLDN|
53 * `------------------------------------------------''-----------------------------------------------'
54 */
55 [_NAV] = LAYOUT(
56 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
57 _______, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
58 _______, RGB_HUD, RGB_VAD, RGB_HUI, RGB_MOD, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
59 KC_LSFT, _______, _______, _______, _______, _______, MAGIC_TOGGLE_NKRO, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT,
60 KC_LCTL, KC_LALT, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD
61 ),
62
63};
64
65#ifdef AUDIO_ENABLE
66float tone_qwerty[][2] = SONG(QWERTY_SOUND);
67float tone_colemak[][2] = SONG(COLEMAK_SOUND);
68#endif
69
70void persistant_default_layer_set(uint16_t default_layer) {
71 eeconfig_update_default_layer(default_layer);
72 default_layer_set(default_layer);
73}
74
75bool process_record_user(uint16_t keycode, keyrecord_t *record) {
76 switch (keycode) {
77 case QWERTY:
78 if (record->event.pressed) {
79 #ifdef AUDIO_ENABLE
80 PLAY_SONG(tone_qwerty);
81 #endif
82 persistant_default_layer_set(1UL<<_QWERTY);
83 }
84 return false;
85 break;
86 //case COLEMAK:
87 //if (record->event.pressed) {
88 //#ifdef AUDIO_ENABLE
89 //PLAY_SONG(tone_colemak);
90 //#endif
91 //persistant_default_layer_set(1UL<<_COLEMAK);
92 //}
93 //return false;
94 //break;
95 }
96 return true;
97}
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/rules.mk b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1RGBLIGHT_ENABLE = yes
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h b/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h
deleted file mode 100644
index b3521279cf..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h
+++ /dev/null
@@ -1,35 +0,0 @@
1/*
2Copyright 2017 Danny Nguyen <danny@hexwire.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20
21/* Select hand configuration */
22
23// #define MASTER_LEFT
24// #define MASTER_RIGHT
25#define EE_HANDS
26
27#undef RGBLED_NUM
28#define RGBLIGHT_EFFECT_BREATHING
29#define RGBLIGHT_EFFECT_RAINBOW_MOOD
30#define RGBLIGHT_EFFECT_RGB_TEST
31#define RGBLIGHT_EFFECT_STATIC_GRADIENT
32#define RGBLED_NUM 16
33#define RGBLIGHT_HUE_STEP 4
34#define RGBLIGHT_SAT_STEP 4
35#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c
deleted file mode 100644
index 19289846b6..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
1 /* Copyright 2020 Martin J. Potier
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <https://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19// Each layer gets a name for readability, which is then used in the keymap matrix below.
20// The underscores don't mean anything - you can have a layer called STUFF or any other name.
21// Layer names don't all need to be of the same length, obviously, and you can also skip them
22// entirely and just use numbers.
23enum layer_number {
24 _QWERTY = 0,
25 _NAV
26};
27
28
29enum custom_keycodes {
30 QWERTY = SAFE_RANGE,
31 NAV,
32
33};
34
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36
37 /* Qwerty
38 * ,-----------------------------------------. .-----------------------------------------.
39 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
40 * |------+------+------+------+------+------| |------+------+------+------+------+------|
41 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
42 * |------+------+------+------+------+------| |------+------+------+------+------+------|
43 * |DELETE| A | S | D | F | G | | H | J | K | L | ; | " |
44 * |------+------+------+------+------+------| |------+------+------+------+------+------|
45 * | Shift| Z | X | C | V | B | | N | M | , | . | / |RGBMOD|
46 * |------+------+------+------+------+------+------. .--------+------+------+------+------+------+------|
47 * | Ctrl | GUI | Alt |RGBTOG| NAV |Space | ESC | |Enter|Space/NAV| AltGr| NAV | | - | = |
48 * `------------------------------------------------' '--------------------------------------------------'
49 */
50 [_QWERTY] = LAYOUT(
51 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
52 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
53 KC_DEL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
54 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RGB_MOD,
55 KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, MO(_NAV), KC_SPC, QK_GESC, KC_ENT, LT(_NAV, KC_SPACE), KC_RALT, MO(_NAV), _______, KC_MINS, KC_EQL
56 ),
57
58 /* NAV
59 * ,-----------------------------------------. .-----------------------------------------.
60 * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
61 * |------+------+------+------+------+------| |------+------+------+------+------+------|
62 * | |RGBSAI|RGBVAI|RGBSAD| | [ | | ] | Pgup | Up | Pgdn |Insert| Home |
63 * |------+------+------+------+------+------| |------+------+------+------+------+------|
64 * | |RGBHUD|RGBVAD|RGBHUI| | | | | Left | Down | Right|Delete| End |
65 * |------+------+------+------+------+------| |------+------+------+------+------+------|
66 * |Shift | | | | | | | | | | Pause| Back | Next |
67 * |------+------+------+------+------+------+------. .------+------+------+------+------+------+------|
68 * | Ctrl | GUI | Alt |RGBMOD| | | | | QK_BOOT| | | | Mute | VOLUP| VOLDN|
69 * `------------------------------------------------' '------------------------------------------------'
70 */
71 [_NAV] = LAYOUT(
72 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
73 _______, RGB_SAI, RGB_VAI, RGB_SAD, _______, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
74 _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
75 KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT,
76 KC_LCTL, KC_LGUI, KC_LALT, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD
77 ),
78
79};
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/samae/rules.mk b/keyboards/rgbkb/zen/rev1/keymaps/samae/rules.mk
deleted file mode 100644
index 1e3cebb145..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/samae/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1RGBLIGHT_ENABLE = yes
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h
deleted file mode 100644
index d1fbe29c53..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
1/*
2Copyright 2019 starcalleramethyst
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* Select hand configuration */
21
22#define MASTER_LEFT
23// #define MASTER_RIGHT
24// #define EE_HANDS
25
26#undef RGBLED_NUM
27#define RGBLIGHT_EFFECT_BREATHING
28#define RGBLIGHT_EFFECT_RAINBOW_MOOD
29#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
30#define RGBLIGHT_EFFECT_SNAKE
31#define RGBLIGHT_EFFECT_KNIGHT
32#define RGBLIGHT_EFFECT_CHRISTMAS
33#define RGBLIGHT_EFFECT_STATIC_GRADIENT
34#define RGBLIGHT_EFFECT_RGB_TEST
35#define RGBLIGHT_EFFECT_ALTERNATING
36#define RGBLIGHT_EFFECT_TWINKLE
37#define RGBLED_NUM 16
38#define RGBLIGHT_HUE_STEP 8
39#define RGBLIGHT_SAT_STEP 8
40#define RGBLIGHT_VAL_STEP 8
41#define TAPPING_TERM 200
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c
deleted file mode 100644
index 47e8e3fa24..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/keymap.c
+++ /dev/null
@@ -1,148 +0,0 @@
1#include QMK_KEYBOARD_H
2
3uint16_t copy_paste_timer;
4
5enum custom_keycodes {
6 S_H = SAFE_RANGE, // slack here
7 S_H_P, // slack here + paste
8 T_H_B, // ticket header bike
9 T_H_T, // ticket header tread
10 E_OP, // email open
11 E_CL, // email close
12 E_FU, // email follow up
13 E_SS, // email service schedule
14 SCRN_C, // screen clip
15 DC_C, // double click + copy
16 KC_CCCV, // one key copy/paste
17
18};
19
20bool process_record_user(uint16_t keycode, keyrecord_t *record) {
21 switch (keycode) {
22
23 case S_H:
24 if (record->event.pressed) {
25 SEND_STRING("@HERE");
26 }
27 break;
28
29 case S_H_P:
30 if (record->event.pressed) {
31 SEND_STRING("@HERE" SS_TAP(X_SPC) SS_LCTL("v"));
32 }
33 break;
34
35 case T_H_B:
36 if (record->event.pressed) {
37 SEND_STRING("Your Peloton Bike - ");
38 }
39 break;
40
41 case T_H_T:
42 if (record->event.pressed) {
43 SEND_STRING("Your Peloton Tread - ");
44 }
45 break;
46
47 case E_OP:
48 if (record->event.pressed) {
49 // when keycode E_OP is pressed
50 SEND_STRING("Hi , "SS_TAP(X_ENTER)SS_TAP(X_ENTER)"Thank you for contacting Peloton."SS_TAP(X_ENTER)SS_TAP(X_ENTER));
51 }
52break;
53
54 case E_CL:
55 if (record->event.pressed) {
56 SEND_STRING("Please let me know if you have any other questions."SS_TAP(X_ENTER)SS_TAP(X_ENTER)"Thank you for being the best part of Peloton.");
57 }
58break;
59
60 case E_FU:
61 if (record->event.pressed) {
62 SEND_STRING("I will be personally watching this issue and will reach out to you after this is complete to make sure everything went smoothly."SS_TAP(X_ENTER)SS_TAP(X_ENTER));
63 }
64break;
65
66 case E_SS:
67 if (record->event.pressed) {
68 SEND_STRING("Please click here to schedule your service."SS_TAP(X_ENTER)SS_TAP(X_ENTER));
69 }
70break;
71
72 case SCRN_C:
73 if (record->event.pressed) {
74 tap_code16(C(S(KC_F5)));
75 }
76break;
77
78 case DC_C:
79 if (record->event.pressed) {
80 tap_code(KC_BTN1);
81 tap_code(KC_BTN1);
82 tap_code16(C(KC_C));
83 }
84break;
85
86 case KC_CCCV: // One key copy/paste
87 if (record->event.pressed) {
88 copy_paste_timer = timer_read();
89 } else {
90 if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy
91 tap_code16(C(KC_C));
92 } else { // Tap, paste
93 tap_code16(C(KC_V));
94 }
95 }
96break;
97
98 }
99 return true;
100};
101
102//Tap Dance Declarations
103enum {
104 TD_SPC_DOT = 0
105};
106
107//Tap Dance Definitions
108tap_dance_action_t tap_dance_actions[] = {
109 //Tap once for Esc, twice for Caps Lock
110 [TD_SPC_DOT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_PDOT)
111// Other declarations would go here, separated by commas, if you have them
112};
113
114
115
116const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
117
118 [0] = LAYOUT(
119QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
120KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
121KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
122KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_SENT,
123KC_CCCV, KC_LGUI, KC_LALT, RGB_TOG, MO(1), TD(TD_SPC_DOT), KC_BSPC, KC_ENT, TD(TD_SPC_DOT), MO(2), KC_MINS, KC_EQL, KC_PGUP, KC_PGDN),
124
125 [1] = LAYOUT(
126KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
127KC_TRNS, RGB_SAI, RGB_VAI, RGB_SAD, QK_BOOT, KC_LBRC, KC_RBRC, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME,
128KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END,
129KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MAGIC_TOGGLE_NKRO, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT,
130KC_NO, KC_LGUI, KC_LALT, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD),
131
132/* [2] = LAYOUT(
133QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,KC_7, KC_8, KC_9, KC_0, KC_BSLS,
134KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
135KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
136KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
137KC_LCTL, KC_LGUI, KC_LALT, KC_NO, TO(0), KC_SPC, KC_BSPC, KC_ENT, KC_SPC, TO(0), KC_MINS, KC_EQL, KC_PGUP, KC_PGDN),
138*/
139 [2] = LAYOUT(
140KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
141KC_NO, KC_NO, KC_NO, KC_NO, S_H_P, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
142KC_NO, E_CL, E_FU, E_OP, S_H, SCRN_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
143KC_NO, DC_C, E_SS, T_H_T, T_H_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
144KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO)
145
146};
147
148
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/rules.mk b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/rules.mk
deleted file mode 100644
index 8e3e215142..0000000000
--- a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
1RGBLIGHT_ENABLE = yes
2TAP_DANCE_ENABLE = yes
3MOUSEKEY_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c
deleted file mode 100644
index ca2be62a19..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/keymap.c
+++ /dev/null
@@ -1,151 +0,0 @@
1/* Copyright 2019 Josef Adamcik
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18enum katana_layers {
19 /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
20 _M_COLEMAK,
21 _M_QWERTY,
22 _W_COLEMAK,
23 _W_QWERTY,
24 _NUMB,
25 _SYMB,
26 _M_EXT,
27 _W_EXT
28};
29
30enum katana_keycodes {
31 M_COLEMAK = SAFE_RANGE,
32 M_QWERTY,
33 W_COLEMAK,
34 W_QWERTY
35};
36
37#define K_SPCFN LT(_SYMB, KC_SPACE) /* Tap for space, hold for symbols layer */
38#define K_BSPFN LT(_SYMB, KC_BSPC) /* Tap for backspace, hold for symbols layer */
39/* Linux/win variants */
40#define W_LEFT_MOD MT(MOD_RCTL, KC_LEFT)
41#define W_DOWN_MOD MT(MOD_RALT, KC_DOWN)
42#define W_UP_MOD MT(MOD_RGUI, KC_UP)
43#define W_UNDO LCTL(KC_Z)
44#define W_CUT LCTL(KC_X)
45#define W_COPY LCTL(KC_C)
46#define W_PASTE LCTL(KC_V)
47#define W_PRVWD LCTL(KC_LEFT)
48#define W_NXTWD LCTL(KC_RIGHT)
49#define W_LSTRT KC_HOME
50#define W_LEND KC_END
51/* Mac variants */
52#define M_LEFT_MOD MT(MOD_RGUI, KC_LEFT)
53#define M_DOWN_MOD MT(MOD_RALT, KC_DOWN)
54#define M_UP_MOD MT(MOD_RCTL, KC_UP)
55#define M_UNDO LGUI(KC_Z)
56#define M_CUT LGUI(KC_X)
57#define M_COPY LGUI(KC_C)
58#define M_PASTE LGUI(KC_V)
59#define M_PRVWD LALT(KC_LEFT)
60#define M_NXTWD LALT(KC_RIGHT)
61#define M_LSTRT LGUI(KC_LEFT)
62#define M_LEND LGUI(KC_RIGHT)
63
64const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
65[_M_COLEMAK] = LAYOUT(
66 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_NUMB),KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
67 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
68 MO(_M_EXT),KC_A, KC_R, KC_S, KC_T, KC_D, KC_MINS, KC_QUOT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
69 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, KC_DEL, KC_BSLS, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
70 MO(_SYMB), KC_LCTL, KC_LALT, KC_LGUI, K_BSPFN, KC_ENT, KC_SPACE, M_LEFT_MOD,M_DOWN_MOD,M_UP_MOD, KC_RIGHT,MO(_SYMB)
71),
72[_M_QWERTY] = LAYOUT(
73 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_NUMB),KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
74 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
75 MO(_M_EXT),KC_A, KC_S, KC_D, KC_F, KC_G, KC_MINS, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
76 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, KC_DEL, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
77 MO(_SYMB), KC_LCTL, KC_LALT, KC_LGUI, K_BSPFN, KC_ENT, KC_SPACE, M_LEFT_MOD,M_DOWN_MOD,M_UP_MOD, KC_RIGHT,MO(_SYMB)
78),
79[_W_COLEMAK] = LAYOUT(
80 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_NUMB),KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
81 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
82 MO(_W_EXT),KC_A, KC_R, KC_S, KC_T, KC_D, KC_MINS, KC_QUOT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
83 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, KC_DEL, KC_BSLS, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
84 MO(_SYMB), KC_LGUI, KC_LALT, KC_LCTL, K_BSPFN, KC_ENT, KC_SPACE, W_LEFT_MOD,W_DOWN_MOD,W_UP_MOD, KC_RIGHT,MO(_SYMB)
85),
86[_W_QWERTY] = LAYOUT(
87 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, TG(_NUMB),KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
88 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
89 MO(_W_EXT),KC_A, KC_S, KC_D, KC_F, KC_G, KC_MINS, KC_QUOT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
90 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_EQL, KC_DEL, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
91 MO(_SYMB), KC_LGUI, KC_LALT, KC_LCTL, K_BSPFN, KC_ENT, KC_SPACE, W_LEFT_MOD,W_DOWN_MOD,W_UP_MOD, KC_RIGHT,MO(_SYMB)
92),
93[_NUMB] = LAYOUT(
94 _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_PSLS, KC_PAST, KC_PMNS, _______, _______,
95 _______, _______, _______, KC_MS_U, _______, _______, _______, _______,_______, KC_7, KC_8, KC_9, KC_PPLS, _______,
96 _______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______,_______, KC_4, KC_5, KC_6, KC_PPLS, _______,
97 _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______,_______, KC_1, KC_2, KC_3, KC_PENT, _______,
98 _______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, _______, _______, _______, _______
99),
100[_SYMB] = LAYOUT(
101 QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
102 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
103 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
104 _______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
105 _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______
106),
107[_M_EXT] = LAYOUT(
108 QK_BOOT,M_COLEMAK,M_QWERTY,W_COLEMAK,W_QWERTY,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
109 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, M_PRVWD, KC_UP, M_NXTWD, _______, _______,
110 _______, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_CAPS, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
111 _______, M_UNDO, M_CUT, M_COPY, M_PASTE, _______, _______, _______, _______, _______, M_LSTRT, _______, M_LEND, _______, _______,
112 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
113),
114[_W_EXT] = LAYOUT(
115 QK_BOOT,M_COLEMAK,M_QWERTY,W_COLEMAK,W_QWERTY,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______,
116 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, W_PRVWD, KC_UP, W_NXTWD, _______, _______,
117 _______, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_CAPS, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
118 _______, W_UNDO, W_CUT, W_COPY, W_PASTE, _______, _______, _______, _______, _______, W_LSTRT, _______, W_LEND, _______, _______,
119 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
120)
121};
122
123bool process_record_user(uint16_t keycode, keyrecord_t *record) {
124 switch (keycode) {
125 case M_QWERTY:
126 if (record->event.pressed) {
127 set_single_persistent_default_layer(_M_QWERTY);
128 }
129 return false;
130 break;
131 case M_COLEMAK:
132 if (record->event.pressed) {
133 set_single_persistent_default_layer(_M_COLEMAK);
134 }
135 return false;
136 break;
137 case W_QWERTY:
138 if (record->event.pressed) {
139 set_single_persistent_default_layer(_W_QWERTY);
140 }
141 return false;
142 break;
143 case W_COLEMAK:
144 if (record->event.pressed) {
145 set_single_persistent_default_layer(_W_COLEMAK);
146 }
147 return false;
148 break;
149 }
150 return true;
151}
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/readme.md b/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/readme.md
deleted file mode 100644
index 5d72b1defa..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
1![Multi OS Katana60 layout image](https://i.imgur.com/1w2OA1o.png)
2
3# Multi OS Katana60 layout
4
5Based on the default Katana60 layout, customized by [Josef Adamcik](https://josef-adamcik.cz) with several basic layers (Colemak vs Qwerty, Mac OS vs Linux/Win)
6
7- Supports 4 default layers: Colemak Mac, Qwerty Mac, Colemak Win/Linux, Qwerty Win/Linux. Switching between default layers is persisted. For more details about Mac vs Win/Linux see below.
8- There are arrows mapped to the right side of the bottom row on Katana6O. I kept this mapping but modified it a bit - when you press and hold any of the first three arrow keys it acts as a modifier (CMD, OPT, CTRL). If you just tap it, it acts as an arrow.
9
10## Mac versus Win/Linux layers:
11
12- Modifiers are ordered differently. Mac version has (from the middle to the outside): CMD, ALT, CTRL, Win/Linux version has CTRL, ALT, CMD. It's meant to make switching between platforms easier.
13- Extend layer is different, so the keys which represent shortcuts ("previous/next word" and "copy", "paste", "cut", "undo") work properly.
14
15## More details - reasons for some choices in this layout
16
17I use Mac for work and Ubuntu at home. So I would like to stay compatible with both systems. The main problem is the modifiers. Firstly, they tend to be ordered differently on Mac keyboards. Secondly, the main modifier on Mac is CMD (equivalent to WIn or SUPER on other keyboards). The same role is played by CTRL on Windows and Linux. Most of IDE’s or editors (Android Studio, VS Code, SublimeText) follow this habit in their OS-specific keymaps.
18
19I am a user of the Colemak layout. But I would like to have the ability to switch to qwerty. That would allow my other people to use my keyboard occasionally.
20
21I am a heavy user of keyboard shortcuts. So I need the layout to support my needs. Some keyboard layout has modifiers only on one side of the keyboard or they hide some of them (CMD) under a key combination. I tend to press the modifiers for a key shortcut with the opposite hand to the one which presses the letter.
22
23Layout in [keyboard-layout-editor.com](http://www.keyboard-layout-editor.com/#/gists/14d62ee67d36621c37888783fa29b107)
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/config.h b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/config.h
deleted file mode 100644
index 08c51f6cb5..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/* Copyright 2017 Baris Tosun
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#ifndef CONFIG_USER_H
18#define CONFIG_USER_H
19
20#include "../../config.h"
21
22// place overrides here
23
24#endif
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c
deleted file mode 100644
index 615de932f8..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
1/* Copyright 2017 Baris Tosun
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// MacOS based definitions.
19#define K_SPCFN LT(SYMB, KC_SPACE) // Tap for space, hold for symbols layer
20#define K_PRVWD LALT(KC_LEFT) // Previous word
21#define K_NXTWD LALT(KC_RIGHT) // Next word
22#define K_LSTRT LGUI(KC_LEFT) // Start of line
23#define K_LEND LGUI(KC_RIGHT) // End of line
24#define UNDO LGUI(KC_Z) // UNDO
25#define CUT LGUI(KC_X) // CUT
26#define COPY LGUI(KC_C) // COPY
27#define PASTE LGUI(KC_V) // PASTE
28
29
30#define BASE 0 // Default
31#define NUMB 1 // Numbers
32#define SYMB 2 // Symbols
33#define CURS 3 // Text Editing
34
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36[BASE] = LAYOUT( /* Base */
37 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(1), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
38 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC,
39 MO(3), KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
40 KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
41 MO(2), KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, KC_ENT, K_SPCFN, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,MO(2)
42 ),
43[NUMB] = LAYOUT(
44 _______, _______, _______, _______, _______, _______, _______, DF(0), KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______,
45 _______, _______, _______, KC_MS_U, _______, _______, _______, KC_7, KC_8, KC_9, KC_PPLS, _______, _______, _______,
46 _______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_4, KC_5, KC_6, KC_PPLS, _______, _______, _______,
47 _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, KC_1, KC_2, KC_3, KC_PENT, _______, _______, _______,
48 _______, _______, _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______
49 ),
50[SYMB] = LAYOUT(
51 QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
52 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
53 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
54 _______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
55 _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______
56 ),
57[CURS] = LAYOUT(
58 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
59 _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______,
60 _______, KC_LCTL, KC_WH_D, KC_LSFT, _______, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
61 _______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______,
62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
63 )
64
65};
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/readme.md b/keyboards/rominronin/katana60/rev1/keymaps/rominronin/readme.md
deleted file mode 100644
index 9647426f70..0000000000
--- a/keyboards/rominronin/katana60/rev1/keymaps/rominronin/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
1# RominRonin's keymap for katana60
2
3My own personal daily layout. OS keys are oriented for MacOS and the keys are in COLEMAK Mod-DH layout.
4
5# TODO: references to extend layer and symbol layers \ No newline at end of file
diff --git a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c b/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c
deleted file mode 100644
index 6919b46990..0000000000
--- a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
1/* Copyright 2019 rominronin
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// MacOS based definitions.
19#define K_SPCFN LT(SYMB, KC_SPACE) // Tap for space, hold for symbols layer
20#define K_PRVWD LALT(KC_LEFT) // Previous word
21#define K_NXTWD LALT(KC_RIGHT) // Next word
22#define K_LSTRT LGUI(KC_LEFT) // Start of line
23#define K_LEND LGUI(KC_RIGHT) // End of line
24#define UNDO LGUI(KC_Z) // UNDO
25#define CUT LGUI(KC_X) // CUT
26#define COPY LGUI(KC_C) // COPY
27#define PASTE LGUI(KC_V) // PASTE
28
29enum layer_names {
30 BASE,
31 NUMB,
32 SYMB,
33 CURS,
34 BASE2,
35};
36
37// Defines the keycodes used by our macros in process_record_user
38enum custom_keycodes {
39 QMKBEST = SAFE_RANGE,
40 QMKURL
41};
42
43const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
44 [BASE] = LAYOUT_7u_a(/* Base */
45 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(4), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
46 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC,
47 MO(3), KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
48 KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
49 KC_LCTL, KC_LALT, KC_LGUI, K_SPCFN, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
50 ),
51 [NUMB] = LAYOUT_7u_a(
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, _______, _______,
53 _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
54 DF(0), KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
55 _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
56 _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______
57 ),
58 [SYMB] = LAYOUT_7u_a(
59 QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
60 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
61 _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
62 _______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
63 _______, _______, _______, KC_DEL, _______, _______, _______, _______
64 ),
65 [CURS] = LAYOUT_7u_a(
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
67 _______, _______, _______, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______,
68 _______, _______, KC_LCTL, KC_LALT, KC_LSFT, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______,
69 _______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______,
70 _______, _______, _______, DF(1), _______, _______, _______, _______
71 ),
72 [BASE2] = LAYOUT_7u_a(/* Base */
73 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(0), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
74 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC,
75 KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
76 KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
77 KC_LCTL, KC_LALT, KC_LGUI, KC_SPACE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
78 )
79};
diff --git a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/readme.md b/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/readme.md
deleted file mode 100644
index 6d0bbe8b2d..0000000000
--- a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/readme.md
+++ /dev/null
@@ -1 +0,0 @@
1# The default keymap for katana60_rev2
diff --git a/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c b/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c
deleted file mode 100644
index e3292dd30c..0000000000
--- a/keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c
+++ /dev/null
@@ -1,270 +0,0 @@
1/* Copyright 2020 Ungodly Design <hello@ungodly.design>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17#include "analog.h"
18#include "qmk_midi.h"
19
20/* Force Numlock on */
21void matrix_init_user (void) {
22 if (!host_keyboard_led_state().num_lock) {
23 tap_code(KC_NUM_LOCK);
24 }
25}
26
27// Tap Dance declarations
28enum {
29 TD_ESC_TAB,
30 TD_NUMLOCK_L1,
31 TD_3_L0
32};
33
34// Tap Dance definitions
35tap_dance_action_t tap_dance_actions[] = {
36 // Tap once for Escape, twice for Number 4 (armor plates in warzone)
37 [TD_ESC_TAB] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_TAB),
38 [TD_3_L0] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_3, 1),
39 [TD_NUMLOCK_L1] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_NUM_LOCK, 1),
40};
41
42const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43 /* Keymap _BL: (Base Layer) Default Numpad Layer
44 * ,-------------------.
45 * | NV | / | * |BK/FN|
46 * |----|----|----|-----|
47 * | 7 | 8 | 9 | - |
48 * |----|----|----|-----|
49 * | 4 | 5 | 6 | + |
50 * |----|----|----|-----|
51 * | 1 | 2 | 3 | En |
52 * |----|----|----|-----|
53 * | 0 | 0 | . | En |
54 * `--------------------'
55 */
56 [0] = LAYOUT_ortho_5x4(
57 TD(TD_NUMLOCK_L1), KC_PSLS, KC_PAST, LT(2, KC_BSPC),
58 KC_P7, KC_P8, KC_P9, KC_PMNS,
59 KC_P4, KC_P5, KC_P6, KC_PPLS,
60 KC_P1, KC_P2, KC_P3, KC_PENT,
61 KC_P0, KC_P0, KC_PDOT, KC_PENT
62 ),
63 /* Keymap _WAR: (Warzone Layer) Default Numpad Layer for COD Warzone N00BS
64 * ,-------------------.
65 * | R | F | V | Spc |
66 * |----|----|----|-----|
67 * | E | D | C | Alt |
68 * |----|----|----|-----|
69 * | W | S | X | 4 |
70 * |----|----|----|-----|
71 * | Q | A | Z | 3 |
72 * |----|----|----|-----|
73 * | Esc|Ctrl|Shift| M |
74 * `--------------------'
75 */
76 [1] = LAYOUT_ortho_5x4(
77 KC_R, KC_F, KC_V, KC_SPACE,
78 KC_E, KC_D, KC_C, KC_LALT,
79 KC_W, KC_S, KC_X, KC_4,
80 KC_Q, KC_A, KC_Z, TD(TD_3_L0),
81 TD(TD_ESC_TAB), KC_LCTL, KC_LSFT, KC_M
82 ),
83 /* Keymap _FN: RGB Function Layer
84 * ,-------------------.
85 * |LAYR| | |RTOG|
86 * |----|----|----|----|
87 * |HUD |HUI | |RGBP|
88 * |----|----|----|----|
89 * |SAD |SAI | |RMOD|
90 * |----|----|----|----|
91 * |VAD |VAS | | |
92 * |----|----|----|----|
93 * |RST |RST | | |
94 * `-------------------'
95 */
96 [2] = LAYOUT_ortho_5x4(
97 KC_LUP, XXXXXXX, XXXXXXX, RGB_TOG,
98 RGB_HUD, RGB_HUI, XXXXXXX, RGB_M_P,
99 RGB_SAD, RGB_SAI, XXXXXXX, RGB_MOD,
100 RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX,
101 QK_BOOT, QK_BOOT, XXXXXXX, XXXXXXX
102 ),
103};
104
105// (Optional) Rotary Encoder, Volume Control
106bool encoder_update_user(uint8_t index, bool clockwise) {
107 if (clockwise) {
108 tap_code(KC_VOLU);
109 } else {
110 tap_code(KC_VOLD);
111 }
112 return true;
113}
114
115// Potentiometer Slider, MIDI Control
116uint8_t divisor = 0;
117void slider(void){
118 if (divisor++) { // only run the slider function 1/256 times it's called
119 return;
120 }
121 midi_send_cc(&midi_device, 2, 0x3E, 0x7F - (analogReadPin(SLIDER_PIN) >> 3));
122}
123
124void matrix_scan_user(void) {
125 slider();
126}
127
128// 0.91" OLED, 128x32 resolution
129#ifdef OLED_ENABLE
130oled_rotation_t oled_init_user(oled_rotation_t rotation) {
131 return OLED_ROTATION_180;
132}
133
134static void render_rocket_logo(void) {
135 static const char PROGMEM rocket_logo[]={
136 // Rocket Screen
137 // 'home', 128x32px
138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
141 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
145 0x80, 0x80, 0xc0, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x20, 0x50, 0x50, 0x90,
147 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80,
148 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x10, 0x10, 0xf0, 0x10, 0x10, 0x08, 0x08, 0x08, 0x04, 0x04,
149 0x04, 0xfc, 0xfc, 0xfc, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0xfc, 0x7c, 0x7e, 0x7e, 0x7f,
150 0x81, 0x81, 0x81, 0x81, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff,
151 0xff, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x01, 0x01, 0x01, 0xf9, 0x01, 0xf9, 0x01,
152 0xf9, 0x01, 0xf9, 0x01, 0x01, 0x01, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe6,
153 0xe6, 0xe6, 0xe6, 0xe6, 0xff, 0x8c, 0x52, 0x52, 0x52, 0xde, 0x84, 0x08, 0x84, 0x08, 0x00, 0x00,
154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04,
155 0x05, 0x05, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x04, 0x04, 0x07, 0x04, 0x04, 0x08, 0x08, 0x08, 0x10, 0x10,
157 0x10, 0x1f, 0x1f, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1f, 0x10, 0x20, 0x20, 0x40,
158 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7f,
159 0x7f, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x40, 0x40, 0x40, 0x4a, 0x44, 0x4a, 0x40,
160 0x4f, 0x40, 0x4f, 0x40, 0x40, 0x40, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x9c,
161 0x9c, 0x9c, 0x9c, 0x1c, 0xff, 0x31, 0x4a, 0x4a, 0x4a, 0x7b, 0x10, 0x21, 0x10, 0x21, 0x00, 0x00,
162 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
169 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
170 };
171 oled_write_raw_P(rocket_logo, sizeof(rocket_logo));
172}
173static void render_warzone_logo(void) {
174 static const char PROGMEM warzone_logo[]={
175 // Home Screen
176 // 'warzone_bit', 128x32px
177 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
178 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
179 0x00, 0xe0, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe,
180 0xfc, 0xf0, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
181 0xff, 0xff, 0x7f, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x80, 0x00, 0x00, 0xff, 0xff,
182 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0,
183 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
184 0xf8, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00,
185 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
186 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
187 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
188 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x1f,
189 0x07, 0x01, 0x00, 0x00, 0x00, 0x03, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf0, 0xff, 0xff,
190 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0xff,
191 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff,
192 0xff, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
193 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
194 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
195 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
196 0xff, 0xff, 0x00, 0x80, 0xe0, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x07, 0x01, 0x00, 0x00,
197 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0xff, 0xff,
198 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xff,
199 0xff, 0xff, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0xff,
200 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
201 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00,
202 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x01, 0x0f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
203 0x00, 0x03, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x3f, 0x3f,
204 0x1f, 0x07, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
205 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7e, 0x7e, 0x7e, 0x7f, 0x7f,
206 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x01, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
207 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x07, 0x7f, 0x7f,
208 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x00, 0x00, 0x0f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7e, 0x00
209 };
210 oled_write_raw_P(warzone_logo, sizeof(warzone_logo));
211}
212static void render_light_logo(void) {
213 static const char PROGMEM light_logo[]={
214 // RGB Screen
215 // 'rgb', 128x32px
216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
217 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x9c, 0x80, 0x80,
220 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
223 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x20, 0x50, 0x50, 0x90,
225 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
227 0x80, 0x80, 0x80, 0x00, 0x00, 0xe0, 0x19, 0x04, 0x62, 0x11, 0x09, 0x04, 0x04, 0x00, 0x00, 0x00,
228 0x00, 0x01, 0x01, 0x02, 0x04, 0x19, 0x10, 0x10, 0xf0, 0x00, 0x00, 0xf0, 0x00, 0xf0, 0xe0, 0xc0,
229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x24, 0x04,
231 0x07, 0xe4, 0x24, 0x24, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04,
233 0x05, 0x05, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
235 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x88, 0x30, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
236 0x80, 0x80, 0x40, 0x60, 0x30, 0x98, 0x08, 0x08, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x07, 0x03,
237 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x22, 0x24,
239 0x24, 0xc4, 0x44, 0x22, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
242 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
243 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1d, 0x01, 0x01,
244 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
245 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
246 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x02,
247 0x02, 0x03, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
248 };
249 oled_write_raw_P(light_logo, sizeof(light_logo));
250}
251
252bool oled_task_user(void) {
253 switch (get_highest_layer(layer_state)) {
254 case 0:
255 render_rocket_logo();
256 break;
257 case 1:
258 render_warzone_logo();
259 break;
260 case 2:
261 render_light_logo();
262 break;
263 default:
264 // Or use the write_ln shortcut over adding '\n' to the end of your string
265 oled_write_ln_P(PSTR(" UND"), false);
266 break;
267 }
268 return false;
269}
270#endif
diff --git a/keyboards/ungodly/launch_pad/keymaps/warzone/rules.mk b/keyboards/ungodly/launch_pad/keymaps/warzone/rules.mk
deleted file mode 100644
index 791d5ab502..0000000000
--- a/keyboards/ungodly/launch_pad/keymaps/warzone/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
1VIA_ENABLE = yes
2TAP_DANCE_ENABLE = yes
diff --git a/keyboards/waterfowl/keymaps/cyanduck/keymap.c b/keyboards/waterfowl/keymaps/cyanduck/keymap.c
deleted file mode 100644
index ac52c7454d..0000000000
--- a/keyboards/waterfowl/keymaps/cyanduck/keymap.c
+++ /dev/null
@@ -1,129 +0,0 @@
1/* Copyright 2022 CyanDuck
2*
3* This program is free software: you can redistribute it and/or modify
4* it under the terms of the GNU General Public License as published by
5* the Free Software Foundation, either version 3 of the License, or
6* (at your option) any later version.
7*
8* This program is distributed in the hope that it will be useful,
9* but WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#include QMK_KEYBOARD_H
18
19// Defines names for use in layer keycodes and the keymap
20enum layer_names {
21 _COLEMAKDH,
22 _NAVNUM,
23 _SYM,
24 _FUNC,
25 _GAME
26};
27
28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29
30/* Colemak-DH
31 *
32 * ,----------------------------------. ,----------------------------------.
33 * | Q | W | F | P | B | | J | L | U | Y | ; |
34 * |------+------+------+------+------| |------+------+------+------+------|
35 * | A | R | S | T | G | | M | N | E | I | O |
36 * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
37 * | Z | X | C | D | V | | 2 | | 3 | | K | H | , | . | / |
38 * `----------------------------------' `-----' `-----' `----------------------------------'
39 * ,-----. ,--------------------. ,--------------------. ,-----.
40 * | 1 | | DEL | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
41 * `-----' `--------------------' `--------------------' `-----'
42 */
43[_COLEMAKDH] = LAYOUT(
44 KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
45 KC_A, MT(MOD_LALT, KC_R), MT(MOD_LCTL, KC_S), MT(MOD_LSFT, KC_T), KC_G, KC_M, MT(MOD_LSFT, KC_N), MT(MOD_LCTL, KC_E), MT(MOD_LALT, KC_I), KC_O,
46 KC_Z, KC_X, KC_C, MT(MOD_LGUI, KC_D), KC_V, KC_K, MT(MOD_LGUI, KC_H), KC_COMM, KC_DOT, KC_SLSH,
47 KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
48),
49
50/* NAVNUM
51 *
52 * ,----------------------------------. ,----------------------------------.
53 * | ESC | PgUp | UP | PgDn | TO(4)| | / | 7 | 8 | 9 | - |
54 * |------+------+------+------+------| |------+------+------+------+------|
55 * | Home | Left | Down | Right| End | | = | 4 | 5 | 6 | + |
56 * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
57 * | | | INS | TO(2)| | | 2 | | 3 | | 0 | 1 | 2 | 3 | * |
58 * `----------------------------------' `-----' `-----' `----------------------------------'
59 * ,-----. ,--------------------. ,--------------------. ,-----.
60 * | 1 | | DEL | SPACE | MO(3)| | TO(0) | BS | ENTER | | 4 |
61 * `-----' `--------------------' `--------------------' `-----'
62 */
63[_NAVNUM] = LAYOUT(
64 KC_ESC, KC_PGUP, KC_UP, KC_PGDN, TO(4), KC_SLSH, KC_7, KC_8, KC_9, KC_MINS,
65 KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_EQL, KC_4, KC_5, KC_6, KC_PLUS,
66 KC_NO, KC_NO, KC_INS, TO(2), KC_NO, KC_0, KC_1, KC_2, KC_3, KC_ASTR,
67 KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_ESC, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
68),
69
70/* SYM
71 *
72 * ,----------------------------------. ,----------------------------------.
73 * | % | @ | [ | ] | \ | | ¦ | ¬ | ^ | | |
74 * |------+------+------+------+------| |------+------+------+------+------|
75 * | # | ! | ( | ) | | | | _ | ' | " | ~ | ` |
76 * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
77 * | $ | £ | { | } | & | | 2 | | 3 | | TO(1)| | | | |
78 * `----------------------------------' `-----' `-----' `----------------------------------'
79 * ,-----. ,--------------------. ,--------------------. ,-----.
80 * | 1 | | DEL | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
81 * `-----' `--------------------' `--------------------' `-----'
82 */
83[_SYM] = LAYOUT(
84 KC_PERC, S(KC_QUOT), KC_LBRC, KC_RBRC, KC_NUBS, RALT(KC_GRV), S(KC_GRV), KC_CIRC, KC_NO, KC_NO,
85 KC_NONUS_HASH, KC_EXLM, KC_LPRN, KC_RPRN, S(KC_NUBS), KC_UNDS, KC_QUOT, S(KC_2), S(KC_NUHS), KC_GRV,
86 KC_DLR, S(KC_3), KC_LCBR, KC_RCBR, KC_AMPR, TO(1), KC_NO, KC_NO, KC_NO, KC_NO,
87 KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
88),
89
90/* FUNC
91 *
92 * ,----------------------------------. ,----------------------------------.
93 * | | | | | | | | F7 | F8 | F9 | F11 |
94 * |------+------+------+------+------| |------+------+------+------+------|
95 * | | | | | | | | F4 | F5 | F6 | F12 |
96 * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
97 * | Reset| | | | | | 2 | | 3 | | F10 | F1 | F2 | F3 | F13 |
98 * `----------------------------------' `-----' `-----' `----------------------------------'
99 * ,-----. ,--------------------. ,--------------------. ,-----.
100 * | 1 | | DEL | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
101 * `-----' `--------------------' `--------------------' `-----'
102 */
103[_FUNC] = LAYOUT(
104 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F11,
105 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F4, KC_F5, KC_F6, KC_F12,
106 QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_F10, KC_F1, KC_F2, KC_F3, KC_F13,
107 KC_1, LT(3,KC_DEL), LT(1,KC_SPC), KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
108),
109
110/* GAME
111 *
112 * ,----------------------------------. ,----------------------------------.
113 * | ESC | Q | W | E | R | | | | | | |
114 * |------+------+------+------+------| |------+------+------+------+------|
115 * |Shift | A | S | D | F | | | | | | |
116 * |------+------+------+------+------| ,-----. ,-----. |------+------+------+------+------|
117 * | Ctrl | Z | X | C | V | | 2 | | 3 | | | | | | |
118 * `----------------------------------' `-----' `-----' `----------------------------------'
119 * ,-----. ,--------------------. ,--------------------. ,-----.
120 * | 1 | | T | SPACE | TAB | | TO(0) | BS | ENTER | | 4 |
121 * `-----' `--------------------' `--------------------' `-----'
122 */
123[_GAME] = LAYOUT(
124 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
125 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
126 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
127 KC_1, KC_T, KC_SPC, KC_TAB, KC_2, KC_3, TO(0), KC_BSPC, LT(2,KC_ENT), KC_4
128),
129};
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/README.md b/keyboards/wilba_tech/zeal60/keymaps/tusing/README.md
deleted file mode 100644
index 1fbd745742..0000000000
--- a/keyboards/wilba_tech/zeal60/keymaps/tusing/README.md
+++ /dev/null
@@ -1,79 +0,0 @@
1# RGB Underglow Strip on the Zeal60: A Guide
2
3<img src="https://i.imgur.com/UuUdOCb.jpg" width="800">
4
5## Requirements
6
7- WS2812B RGB strip, preferably 60 LEDs/meter
8- Wire, solder
9- Tape, hot glue, or some sort of adhesive
10
11## A. Connecting the strip
12You might find the [**full PCB image**](https://cdn.shopify.com/s/files/1/0490/7329/files/zeal60jumpers.png) helpful. Ignore the red boxes!
13
141. Connect V+ to the receiving end of the thermistor labeled F1; connect GND to the board's GND pin. (*Avoid connecting +V to the board's +5V pin* - you will likely overload the thermistor, and you will limit your maximum brightness.)
15
16 <img src="https://i.imgur.com/jd7qivh.png" width="300">
17
182. Connect DI to PB0.
19
20 <img src="https://i.imgur.com/BiMyMLv.jpg" width="300">
21
223. Should look something like this when finished:
23
24 <img src="https://i.imgur.com/ngxYMuA.jpg" width="600">
25
26*Optional:* To allow considerably more light to escape, consider angling the strip outwards by using some sort of fulcrum under the strip. (I used a thick wire.)
27
28## B. Enabling the strip
291. If it is not present already, add the following to your ***keymap's*** ```Makefile```:
30
31 ```Makefile
32 RGBLIGHT_ENABLE = yes
33 AUDIO_ENABLE = no #Underglow animations cannot be used with audio.
34 ```
352. If it is not present already, add the following to your *keymap's* ```config.h```, and edit the values as necessary:
36
37 ```c
38 // Set up RGB underglow.
39 #define WS2812_DI_PIN B0 // The pin your RGB strip is wired to
40 #define RGBLED_NUM 35 // Number of LEDs
41 #define RGBLIGHT_HUE_STEP 5 // How much each press of rgb_hue changes hue
42 #define RGBLIGHT_SAT_STEP 10 // How much each press of rgb_sat changes sat
43 #define RGBLIGHT_VAL_STEP 10 // How much each press of rgb_val changes val
44 ```
453. If they are not present already, add the following keycodes to your keymap to control the RGB strip: ```RGB_TOG``` (on/off), ```RGB_MOD``` (step through modes), ```RGB_HUI```, ```RGB_HUD```, ```RGB_SAI```, ```RGB_SAD```, ```RGB_VAI```, ```RGB_VAD``` (HSV increase/decrease). Add these to your keymap.
46
47## C. Dealing with current limits
48USB 2.0 ports on laptops provide up to 500mA max, but USB 3.0 ports can provide up to 900mA; USB 3.1 up to 1.5A; and powered USB hubs even more. We can run our keyboard at a higher brightness if we draw more power. **The Zeal60 uses 500mA at max brightness.** This means that **you have about 400mA remaining for the strip to use on a USB 3.0 port**; 1000mA free on a USB 3.1 port, so on and so forth.
49
50***Warning:*** **This means you will need to turn *off* your RGB strip before connecting to a USB 2.0 port**, as USB 2.0 cannot sustain the current necessary!
51
521. If not present already, add the following to your keymap's ```config.h```. Change the numbers based on your needs. The ones below are safe underestimates.
53
54 ```c
55 // Enable current limiting for RGB underglow.
56 #define RGBSTRIP_CURRENT_LIMIT 400 // Strip current limit in mA. (USB amperage - 500mA for keyboard)
57 #define RGBSTRIP_MAX_CURRENT_PER_LIGHT 50 // mA per light when at max brightness.
58 ```
59 *Example:* I use a USB port capable of providing 1800 mA. The keyboard uses 500mA, so my personal value (in the `tusing` keymap) for `RGBSTRIP_CURRENT_LIMIT` is 1300. The particular WS2812B RGB strip I have uses a maximum of 60 mA per LED, so that is my personal value for `RGBSTRIP_MAX_CURRENT_PER_LIGHT`.
602. Toggle on the LED strip (```RGB_TOG```) and step through animations (```RGB_MOD```) to test it out!
61
62## D. Sources and resources
63### A. Connecting the strip.
64* [In-depth description of connecting an RGB strip to the GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4d5or2/my_first_custom_build_satan_gh60_rbg_underglow_in/d1nz3o7/)
65* [32U4 Pinout](https://40.media.tumblr.com/93b6bbd4113418c2b45459bb177e67c5/tumblr_mi49a20QMB1s5t695o1_1280.png)
66* [Redditor describes connecting RGB strips on his Satan GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4hbjw4/finally_finished_my_satan_gh60_also_granite_o/d2qn8zx/?context=3)
67* [Another Redditor on RGB with the Satan GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4ewzdx/gh60_satan_with_the_rgb_mod/d251uu6/ )
68
69### B. Enabling the strip.
70* [QMK Wiki portion on underglow](https://github.com/jackhumbert/qmk_firmware/wiki#rgb-under-glow-mod)
71* [Planck ```Makefile```, ```config.h```, and ```keymap.c``` config example](https://github.com/jackhumbert/qmk_firmware/tree/master/keyboards/planck/keymaps/yang)
72* [Video demonstrating keycode functions and RGB modes on a KC60](https://www.youtube.com/watch?v=VKrpPAHlisY)
73
74### C. Dealing with current limits.
75* [Discussion of cutting jumpers and adding resistors to lower current from Zeal60](https://www.reddit.com/r/MechanicalKeyboards/comments/5hou92/photos_zeal60_lets_just_say_santa_came_early_this/db23qid/)
76* [A selection of 900mA-1.5A current hold fuses - look for an SMD 0805-sized fuse.](https://goo.gl/748avG)
77* [Video detailing technique to solder 0805 resistors](https://www.youtube.com/watch?v=PU7wLcuqc-I&t=123s&list=FLheMlKEVQ5cmVXazUt6HrxQ&index=2)
78* [QMK feature request to implement max power draw limits in ```config.h```](https://github.com/jackhumbert/qmk_firmware/issues/954)
79* [Commit enabling max power draw limits in ```config.h```](https://github.com/jackhumbert/qmk_firmware/commit/83e613ad239459582ae28f78b6c81535b9b138d7)
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/config.h b/keyboards/wilba_tech/zeal60/keymaps/tusing/config.h
deleted file mode 100644
index e797f81941..0000000000
--- a/keyboards/wilba_tech/zeal60/keymaps/tusing/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
1#pragma once
2
3/* Enable/disable LEDs based on layout. */
4#undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE
5#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
6
7#undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT
8#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
9
10#undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT
11#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
12
13#undef RGB_BACKLIGHT_USE_7U_SPACEBAR
14#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
15
16#undef RGB_BACKLIGHT_USE_ISO_ENTER
17#define RGB_BACKLIGHT_USE_ISO_ENTER 0
18
19#undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS
20#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
21
22// Set up RGB underglow.
23#define WS2812_DI_PIN B0 // The pin your RGB strip is wired to
24#define RGBLIGHT_EFFECT_BREATHING
25#define RGBLIGHT_EFFECT_RAINBOW_MOOD
26#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
27#define RGBLIGHT_EFFECT_SNAKE
28#define RGBLIGHT_EFFECT_KNIGHT
29#define RGBLIGHT_EFFECT_CHRISTMAS
30#define RGBLIGHT_EFFECT_STATIC_GRADIENT
31#define RGBLIGHT_EFFECT_RGB_TEST
32#define RGBLIGHT_EFFECT_ALTERNATING
33#define RGBLIGHT_EFFECT_TWINKLE
34#define RGBLED_NUM 35 // Number of LEDs
35#define RGBLIGHT_HUE_STEP 5 // How much each press of rgb_hue changes hue
36#define RGBLIGHT_SAT_STEP 10 // How much each press of rgb_sat changes sat
37#define RGBLIGHT_VAL_STEP 10 // How much each press of rgb_val changes val
38
39// Enable current limiting for RGB underglow.
40#define RGBSTRIP_CURRENT_LIMIT 1300 // Strip current limit in mA. (USB amperage - 500mA for keyboard)
41#define RGBSTRIP_MAX_CURRENT_PER_LIGHT 40 // mA per light when at max brightness.
42
43// Scale brightnes according to BRIGHTNESS_CORRECTION_TABLE in quantum/rgblight.c.
44// This allows to mitigate uneven brightness from LED underglow strips.
45// #define LED_BRIGHTNESS_CORRECTION
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c
deleted file mode 100644
index 21cb2cd73f..0000000000
--- a/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
1// Default layout for Zeal60
2#include QMK_KEYBOARD_H
3
4// For readability.
5#define _x_ KC_NO
6#define AUD_PRV LCTL(KC_MPRV) // Previous music track
7#define AUD_PLY LCTL(KC_MPLY) // Pause music
8#define AUD_NXT LCTL(KC_MNXT) // Next music track
9
10// Zeal60-specific keys:
11// EF_INC, EF_DEC, // next/previous backlight effect
12// H1_INC, H1_DEC, // Color 1 hue increase/decrease
13// S1_INC, S1_DEC, // Color 1 saturation increase/decrease
14// H2_INC, H2_DEC, // Color 2 hue increase/decrease
15// S2_INC, S2_DEC, // Color 2 saturation increase/decrease
16// BR_INC, BR_DEC, // backlight brightness increase/decrease
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19// Default layer: Pressing caps-lock momentarily switches to Layer 1.
20// This is the default layer. Pressing an empty keycode on another layer will take you here.
21 [0] = {
22 {KC_GRV, 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_BSPC},
23 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS},
24 {MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _x_ },
25 {KC_LSFT, _x_ , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, _x_ },
26 {KC_LCTL, KC_LGUI, KC_LALT, _x_ , _x_ , _x_ , _x_ , KC_SPC, _x_ , _x_ , KC_LEFT, KC_UP, KC_DOWN, KC_RGHT}
27 },
28
29// Layer 1: Pressing enter switches to layer 2, where backlight controls live.
30// This is a momentary layer: once you let go of caps, you'll be back in layer 1.
31 [1] = {
32 {KC_ESC, 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_DEL },
33 {_______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_INS, KC_DEL, _______},
34 {_______, AUD_PRV, AUD_PLY, AUD_NXT, _______, _______, _______, _______, _______, _______, _______, _______, TO(2) , _x_ },
35 {KC_CAPS, _x_ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _x_ },
36 {KC_RCTL, KC_RGUI, KC_RALT, _x_ , _x_ , _x_ , _x_ , _______, _x_ , _x_ , KC_HOME, KC_PGUP, KC_PGDN, KC_END}
37 },
38
39// Layer 2: Zeal60 and backlight configuration. (Get here quickly by pressing Caps+Enter from Layer 1.)
40// This is a persistent layer. Get back to the default layer by pressing enter.
41 [2] = {
42 {QK_BOOT, EF_DEC, EF_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, _______, _______, _______, _______, _______, _______, _______},
43 {_______, H1_DEC, H1_INC, S1_DEC, S1_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______},
44 {_______, H2_DEC, H2_INC, S2_DEC, S2_INC, _______, _______, _______, _______, _______, _______, _______, TO(0) , _x_ },
45 {RGB_MOD, _x_ , RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _x_ },
46 {RGB_TOG, RGB_VAD, RGB_VAI, _x_ , _x_ , _x_ , _x_ , _______, _x_ , _x_ , _______, _______, _______, _______}
47 }
48};
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/rules.mk b/keyboards/wilba_tech/zeal60/keymaps/tusing/rules.mk
deleted file mode 100644
index 762905da03..0000000000
--- a/keyboards/wilba_tech/zeal60/keymaps/tusing/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5RGBLIGHT_ENABLE = yes
6AUDIO_ENABLE = no # Underglow cannot be used with audio.
diff --git a/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c b/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c
deleted file mode 100644
index a74ec35701..0000000000
--- a/keyboards/winkeyless/bface/keymaps/kpeatt/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
1/*
2Copyright 2017 Kyle Peatt <kpeatt@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20#define ______ KC_TRNS
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23
24 /* Qwerty
25 * ,-----------------------------------------------------------------------------------------.
26 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |
27 * |-----------------------------------------------------------------------------------------+
28 * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
29 * |-----------------------------------------------------------------------------------------+
30 * | Caps/FN | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
31 * |-----------------------------------------------------------------------------------------+
32 * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift |
33 * |-----------------------------------------------------------------------------------------+
34 * | Ctrl | GUI | Alt | Space | Alt | GUI | Ctrl | Fn |
35 * `-----------------------------------------------------------------------------------------'
36 */
37
38 [0] = LAYOUT_60_ansi(
39 QK_GESC, 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_BSPC,
40 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS,
41 LT(1, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
42 KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
43 KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_RCTL, MO(1)
44 ),
45
46 /* FN Layer
47 * ,-----------------------------------------------------------------------------------------.
48 * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
49 * |-----------------------------------------------------------------------------------------+
50 * | | | Up | | | | | | | |RGBMOD| Val+| Val- |RBGTOG|
51 * |-----------------------------------------------------------------------------------------+
52 * | | Left| Down|Right| | | | | Sat+| Sat-| Hue+| Hue-| |
53 * |-----------------------------------------------------------------------------------------+
54 * | | | | | | | | | | | | | | |
55 * |-----------------------------------------------------------------------------------------+
56 * | | | | | | | | | |
57 * `-----------------------------------------------------------------------------------------'
58 */
59
60 [1] = LAYOUT_60_ansi(
61 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, ______,
62 ______,______,KC_UP,______,______,______,______,______,______,______,RGB_MOD,RGB_VAI,RGB_VAD,RGB_TOG,
63 ______,KC_LEFT,KC_DOWN,KC_RGHT,______, ______, ______,______,RGB_SAI,RGB_SAD,RGB_HUI,RGB_HUD,______,
64 ______,______,______,______,______, ______, ______,______,______,______,______, ______,
65 ______,______,______, ______, ______,______,______,______
66 ),
67 /* You can copy this layer as base for a new fn layer * /
68 [n] = LAYOUT_60_ansi(
69 ______,______,______,______,______,______,______,______,______,______,______,______,______,______,
70 ______,______,______,______,______,______,______,______,______,______,______,______,______,______,
71 ______,______,______,______,______,______,______,______,______,______,______,______,______,
72 ______,______,______,______,______,______,______,______,______,______,______, ______,
73 ______,______,______, ______, ______,______,______,______
74 ), // */
75};
diff --git a/keyboards/winkeyless/bface/keymaps/kpeatt/readme.md b/keyboards/winkeyless/bface/keymaps/kpeatt/readme.md
deleted file mode 100644
index a7eef1e5fc..0000000000
--- a/keyboards/winkeyless/bface/keymaps/kpeatt/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
1kpeatt's bface layout
2======================
3
4## Keyboard Notes
5- This is for a clone bface PCB that is no longer for sale as far as I can tell. [Used to be sold on KBDFans](https://www.aliexpress.com/item/bface-60-RGB-underground-copy-pcb-from-china-gh60-pcb-Customize-keyboard-PCB/32731084597.html).
6- To put in reset mode hold `left ctrl` while inserting the USB cable
7- Use flashing instructions in the main `bface` directory
8
9### Build
10To build this keymap, run `make bface:kpeatt` from the qmk_firmware directory.
diff --git a/keyboards/winkeyless/bface/keymaps/p3lim/README.md b/keyboards/winkeyless/bface/keymaps/p3lim/README.md
deleted file mode 100644
index 94e84e7f22..0000000000
--- a/keyboards/winkeyless/bface/keymaps/p3lim/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
1# p3lim's b.face layout
2
3![](https://user-images.githubusercontent.com/26496/61170794-bf8a2c80-a56e-11e9-893f-f1766e7a9a04.png)
4
5My layout using the winkeyless b.face X2 PCB.
6
7### Building & Flashing
8
9- Set up QMK
10 - `pip install --user qmk`
11 - `qmk setup`
12- Add udev rules if on Linux
13 - Follow the docs: <https://docs.qmk.fm/#/faq_build?id=linux-udev-rules>
14- Build and flash
15 - `qmk flash -kb winkeyless/bface -km p3lim`
16- Hold bottom-left key while connecting to put in flashing mode
17
18### Layout notes
19
20The keys indicated with a gray color in the image above was not supported by the layout so a custom matrix was made.
21The two additional keys were on pins 22+41 and 22+42, C3+B1 and C3+B2, which is mapped to col 10 row 1 and col 10 row 2 in the matrix.
diff --git a/keyboards/winkeyless/bface/keymaps/p3lim/keymap.c b/keyboards/winkeyless/bface/keymaps/p3lim/keymap.c
deleted file mode 100644
index f702810f9c..0000000000
--- a/keyboards/winkeyless/bface/keymaps/p3lim/keymap.c
+++ /dev/null
@@ -1,188 +0,0 @@
1/*
2Copyright 2019-2021 Adrian L Lange <legal@p3lim.net>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20#define LAYOUT_p3lim(\
21 K04, K14, K24, K34, K44, K54, K16, KB6, KB7, K17, KA4, KB4, KC4, KE4, \
22 K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3, KC3, \
23 K02, K12, K22, K32, K42, K52, K36, KD6, KD7, K37, KA2, KB2, KC2, KD2, \
24 K01, K11, K21, K31, K41, K51, K46, KE6, KE7, K47, KA1, KB1, KC1, \
25 K00, K10, K20, K56, K57, KB0, KC0 \
26){ \
27 { K00, K10, K20, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB0, KC0, KC_NO, KC_NO }, \
28 { K01, K11, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KA1, KB1, KC1, KC_NO, KC_NO }, \
29 { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, KC_NO, KC_NO, KA2, KB2, KC2, KD2, KC_NO }, \
30 { K03, K13, K23, K33, K43, K53, KC_NO, KC_NO, KC_NO, KC_NO, KA3, KB3, KC3, KC_NO, KC_NO }, \
31 { K04, K14, K24, K34, K44, K54, KC_NO, KC_NO, KC_NO, KC_NO, KA4, KB4, KC4, KC_NO, KE4 }, \
32 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
33 { KC_NO, K16, K26, K36, K46, K56, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB6, KC6, KD6, KE6 }, \
34 { KC_NO, K17, K27, K37, K47, K57, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB7, KC7, KD7, KE7 } \
35}
36
37enum my_keycodes {
38 C_ESC0 = SAFE_RANGE, // layer 0 esc
39 C_ESC1, // layer 1 esc
40 C_NO1, // æ, requires RCTL to be a compose key in software
41 C_NO2, // ø, requires RCTL to be a compose key in software
42 C_NO3 // å, requires RCTL to be a compose key in software
43};
44
45// use compiler macros for simpler stuff
46#define C_KVM1 LCA(KC_1)
47#define C_KVM2 LCA(KC_2)
48#define C_KVM3 LCA(KC_3)
49#define C_KVM4 LCA(KC_4)
50
51const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
52 /* QWERTY
53 * ,-----------------------------------------------------------------------------------------.
54 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |
55 * |-----------------------------------------------------------------------------------------+
56 * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | |
57 * |---------------------------------------------------------------------------------| Enter |
58 * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | \ | |
59 * |-----------------------------------------------------------------------------------------+
60 * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Del |
61 * |-----------------------------------------------------------------------------------------+
62 * | FN1 | Alt | GUI | Space | FN2 | Alt | Ctrl |
63 * `-----------------------------------------------------------------------------------------'
64 */
65 [0] = LAYOUT_p3lim(
66 C_ESC0, 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_BSPC,
67 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
68 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
69 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_DEL,
70 MO(1), KC_LALT, KC_LGUI, KC_SPC, MO(2), KC_RGUI, KC_RCTL
71 ),
72
73 /* FN1
74 * ,-----------------------------------------------------------------------------------------.
75 * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
76 * |-----------------------------------------------------------------------------------------+
77 * | Caps | Home| Up | End | PgUp| | | | | | | | | |
78 * |---------------------------------------------------------------------------------| |
79 * | | Left| Down|Right| PgDn|PrtSc| | | | | | | | |
80 * |-----------------------------------------------------------------------------------------+
81 * | | KVM1| KVM2| KVM3| KVM4| | | | | | | | |
82 * |-----------------------------------------------------------------------------------------+
83 * | | | | | | | |
84 * `-----------------------------------------------------------------------------------------'
85 */
86 [1] = LAYOUT_p3lim(
87 C_ESC1, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
88 KC_CAPS, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______,
89 _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______,
90 _______, C_KVM1, C_KVM2, C_KVM3, C_KVM4, _______, _______, _______, _______, _______, _______, _______, _______,
91 _______, _______, _______, _______, KC_NO, _______, _______
92 ),
93
94 /* FN2
95 * ,-----------------------------------------------------------------------------------------.
96 * | | | | | | | | | | | | | | |
97 * |-----------------------------------------------------------------------------------------+
98 * | | | | | | | | | | | | Å | | |
99 * |---------------------------------------------------------------------------------| |
100 * | | | | | | | | | | | Ø | Æ | | |
101 * |-----------------------------------------------------------------------------------------+
102 * | | | | | | | | | | | | | |
103 * |-----------------------------------------------------------------------------------------+
104 * | | | | | | | |
105 * `-----------------------------------------------------------------------------------------'
106 */
107 [2] = LAYOUT_p3lim(
108 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
109 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_NO3, _______,
110 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_NO2, C_NO1, _______, _______,
111 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
112 KC_NO, _______, _______, _______, _______, _______, _______
113 ),
114 /*
115 [n] = LAYOUT_p3lim(
116 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
117 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
118 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
119 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
120 _______, _______, _______, _______, _______, _______, _______
121 ),
122 */
123};
124
125static bool grave_esc_shifted = false;
126
127bool process_record_user(uint16_t keycode, keyrecord_t *record){
128 const uint8_t mods = get_mods();
129 uint8_t shifted = mods & MOD_MASK_SHIFT;
130
131 switch(keycode){
132 case C_ESC0: // layer 0
133 if(record->event.pressed){
134 grave_esc_shifted = shifted;
135 register_code(shifted ? KC_GRAVE : KC_ESCAPE);
136 } else
137 unregister_code(grave_esc_shifted ? KC_GRAVE : KC_ESCAPE);
138 return false;
139 case C_ESC1: // layer 1
140 if(record->event.pressed){
141 grave_esc_shifted = shifted;
142 register_code(shifted ? KC_ESCAPE : KC_GRAVE);
143 } else
144 unregister_code(grave_esc_shifted ? KC_ESCAPE : KC_GRAVE);
145 return false;
146 case C_NO1: // æ
147 if(record->event.pressed){
148 // we use shift for A and E to make it capitalized, no need to handle it here
149 tap_code(KC_RCTL);
150 tap_code(KC_A);
151 tap_code(KC_E);
152 }
153 return false;
154 case C_NO2: // ø
155 // the "/" symbol can't be shifted, so we have to deal with that
156 if(record->event.pressed){
157 if(shifted){
158 unregister_code(KC_LSFT); // reset the shift state, I always use LSFT personally
159 tap_code(KC_RCTL);
160 tap_code(KC_SLSH);
161 tap_code16(S(KC_O));
162 register_code(KC_LSFT); // enable the shift state again to keep state consistent
163 } else {
164 tap_code(KC_RCTL);
165 tap_code(KC_SLSH);
166 tap_code(KC_O);
167 }
168 }
169 return false;
170 case C_NO3: // å
171 // the "o" symbol can't be shifted, so we have to deal with that
172 if(record->event.pressed){
173 if(shifted){
174 unregister_code(KC_LSFT); // reset the shift state, I always use LSFT personally
175 tap_code(KC_RCTL);
176 tap_code(KC_O);
177 tap_code16(S(KC_A));
178 register_code(KC_LSFT); // enable the shift state again to keep state consistent
179 } else {
180 tap_code(KC_RCTL);
181 tap_code(KC_O);
182 tap_code(KC_A);
183 }
184 }
185 return false;
186 }
187 return true;
188}
diff --git a/keyboards/winkeyless/bface/keymaps/p3lim/rules.mk b/keyboards/winkeyless/bface/keymaps/p3lim/rules.mk
deleted file mode 100644
index e0ed6f0c2d..0000000000
--- a/keyboards/winkeyless/bface/keymaps/p3lim/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1RGBLIGHT_ENABLE = no
diff --git a/keyboards/wren/keymaps/walterhanley/config.h b/keyboards/wren/keymaps/walterhanley/config.h
deleted file mode 100644
index 3dd5b47c16..0000000000
--- a/keyboards/wren/keymaps/walterhanley/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
1/* Copyright 2021 Walter Hanley
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19// Lower board power consumption to boost compatibility
20#define USB_MAX_POWER_CONSUMPTION 250
diff --git a/keyboards/wren/keymaps/walterhanley/keymap.c b/keyboards/wren/keymaps/walterhanley/keymap.c
deleted file mode 100644
index bf6afc9ac6..0000000000
--- a/keyboards/wren/keymaps/walterhanley/keymap.c
+++ /dev/null
@@ -1,170 +0,0 @@
1/* Copyright 2021 Walter Hanley
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Cmd-tab tablesetting
19bool is_cmd_tab_active = false;
20uint16_t cmd_tab_timer = 0;
21
22// Alt-tab tablesetting
23bool is_alt_tab_active = false;
24uint16_t alt_tab_timer = 0;
25
26// Defines keycode alias
27#define ECTL LCTL_T(KC_ESC)
28#define EGUI LGUI_T(KC_ESC)
29#define DELSYM LT(_SYMBOL, KC_DEL)
30#define SCLNAV LT(_NAV, KC_SCLN)
31#define TGNLCK TG(_NLCK)
32
33// Defines names for use in layer keycodes and the keymap
34enum layer_names {
35 _MAC,
36 _WIN,
37 _NLCK,
38 _SYMBOL,
39 _NAV
40};
41
42// Defines the keycodes used by our macros in process_record_user
43enum custom_keycodes {
44 NSEAL = SAFE_RANGE,
45};
46
47const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 /* Mac */
49 [_MAC] = LAYOUT(
50 KC_PSLS, KC_7, KC_8, KC_9, KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, KC_INS, KC_HOME, KC_PGUP, KC_NO,
51 KC_PAST, KC_4, KC_5, KC_6, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_NO,
52 KC_PMNS, KC_1, KC_2, KC_3, ECTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SCLNAV, KC_QUOT, KC_NO, KC_UP, KC_NO, KC_NO,
53 KC_PPLS, KC_0, KC_DOT, KC_ENT, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
54 TGNLCK, KC_LALT, KC_LGUI, KC_BSPC, KC_ENT, KC_SPC, DELSYM, KC_RGUI, KC_RALT, KC_MUTE
55 ),
56
57 /* Windows */
58 [_WIN] = LAYOUT(
59 KC_PSLS, KC_7, KC_8, KC_9, KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, KC_INS, KC_HOME, KC_PGUP, KC_NO,
60 KC_PAST, KC_4, KC_5, KC_6, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_NO,
61 KC_PMNS, KC_1, KC_2, KC_3, EGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SCLNAV, KC_QUOT, KC_NO, KC_UP, KC_NO, KC_NO,
62 KC_PPLS, KC_0, KC_DOT, KC_ENT, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
63 TGNLCK, KC_LALT, KC_LCTL, KC_BSPC, KC_ENT, KC_SPC, DELSYM, KC_RCTL, KC_RALT, KC_MUTE
64 ),
65
66 /* In-Keyboard Numlock */
67 [_NLCK] = LAYOUT(
68 KC_PSLS, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
69 KC_PAST, KC_LEFT, KC_5, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
70 KC_PMNS, KC_END, KC_DOWN, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
71 KC_PPLS, KC_INS, KC_DOT, KC_ENT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
72 TGNLCK, _______, _______, _______, _______, _______, _______, _______, _______, _______
73 ),
74
75 /* Symbols, F-Keys, and Text Macros */
76 [_SYMBOL] = LAYOUT(
77 NSEAL, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
78 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
79 _______, _______, _______, _______, _______, _______, KC_UNDS, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_MINS, _______, _______, _______, _______, _______, _______,
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
82 ),
83
84 /* Nav Cluster and Settings*/
85 [_NAV] = LAYOUT(
86 DF(_MAC), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
87 DF(_WIN), _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
88 _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
91 )
92};
93
94bool encoder_update_user(uint8_t index, bool clockwise) {
95 if (index == 0) { /* First encoder */
96 // Encoder functionality for _MAC layer
97 if (IS_LAYER_ON(_MAC))
98 {
99 if (clockwise) {
100 if (!is_cmd_tab_active) {
101 is_cmd_tab_active = true;
102 register_code(KC_LGUI);
103 }
104 cmd_tab_timer = timer_read();
105 tap_code16(KC_TAB);
106 } else {
107 if (!is_cmd_tab_active) {
108 is_cmd_tab_active = true;
109 register_code(KC_LGUI);
110 }
111 cmd_tab_timer = timer_read();
112 tap_code16(S(KC_TAB));
113 }
114 }
115 // Encoder functionality for _WIN layer
116 else if (IS_LAYER_ON(_WIN)) {
117 if (clockwise) {
118 if (!is_alt_tab_active) {
119 is_alt_tab_active = true;
120 register_code(KC_LALT);
121 }
122 alt_tab_timer = timer_read();
123 tap_code16(KC_TAB);
124 } else {
125 if (!is_alt_tab_active) {
126 is_alt_tab_active = true;
127 register_code(KC_LALT);
128 }
129 alt_tab_timer = timer_read();
130 tap_code16(S(KC_TAB));
131 }
132 }
133 } else if (index == 1) { /* Second encoder */
134 if (clockwise) {
135 tap_code(KC_VOLU);
136 } else {
137 tap_code(KC_VOLD);
138 }
139 }
140 return true;
141}
142
143bool process_record_user(uint16_t keycode, keyrecord_t *record) {
144 switch (keycode) {
145 case NSEAL:
146 if (record->event.pressed) {
147 // when keycode NSEAL is pressed
148 SEND_STRING("What the fuck did you just fucking say about me, you little bitch? I'll have you know I graduated top of my class in the Navy Seals, and I've been involved in numerous secret raids on Al-Quaeda, and I have over 300 confirmed kills. I am trained in gorilla warfare and I'm the top sniper in the entire US armed forces. You are nothing to me but just another target. I will wipe you the fuck out with precision the likes of which has never been seen before on this Earth, mark my fucking words. You think you can get away with saying that shit to me over the Internet? Think again, fucker. As we speak I am contacting my secret network of spies across the USA and your IP is being traced right now so you better prepare for the storm, maggot. The storm that wipes out the pathetic little thing you call your life. You're fucking dead, kid. I can be anywhere, anytime, and I can kill you in over seven hundred ways, and that's just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to the entire arsenal of the United States Marine Corps and I will use it to its full extent to wipe your miserable ass off the face of the continent, you little shit. If only you could have known what unholy retribution your little 'clever' comment was about to bring down upon you, maybe you would have held your fucking tongue. But you couldn't, you didn't, and now you're paying the price, you goddamn idiot. I will shit fury all over you and you will drown in it. You're fucking dead, kiddo.");
149 } else {
150 // when keycode NSEAL is released
151 }
152 break;
153 }
154 return true;
155}
156
157void matrix_scan_user(void) {
158 if (is_cmd_tab_active) {
159 if (timer_elapsed(cmd_tab_timer) > 1000) {
160 unregister_code(KC_LGUI);
161 is_cmd_tab_active = false;
162 }
163 }
164 if (is_alt_tab_active) {
165 if (timer_elapsed(alt_tab_timer) > 1000) {
166 unregister_code(KC_LALT);
167 is_alt_tab_active = false;
168 }
169 }
170}
diff --git a/keyboards/wren/keymaps/walterhanley/readme.md b/keyboards/wren/keymaps/walterhanley/readme.md
deleted file mode 100644
index 27e32360dc..0000000000
--- a/keyboards/wren/keymaps/walterhanley/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
1![Author's Layout](https://github.com/walterhanley/wren-keyboard/blob/main/images/author-layout.png?raw=true)
2
3# Author's Wren Layout
4
5This is my personal Wren layout, which includes a few layers and macros that
6I find useful. It started as a clone of the default keymap, but will likely
7diverge more as time goes on.
8
9Please note that this layout preserves the entire keyboard matrix, but only
10includes keycodes for a numpad/nav cluster configuration. Depending on your
11configuration, you may need to replace some of the existing KC_NO values
12with actual keycodes.