summaryrefslogtreecommitdiffstats
path: root/keyboards/keyboardio/atreus/keymaps
diff options
context:
space:
mode:
authorlokher <lokher@gmail.com>2022-12-06 17:04:10 +0800
committerlokher <lokher@gmail.com>2022-12-06 17:04:10 +0800
commit27fc28fd2ff52e079a5bc58d6aaea4c752420615 (patch)
tree7ac943fb1ba4f430a7220efd18f66f6a77205c30 /keyboards/keyboardio/atreus/keymaps
parente736133392fe6427cfb995da0787337189828272 (diff)
parent2709b6ed616f8012ff4cfd3ee69a822a8d188351 (diff)
Merge upstream master
Diffstat (limited to 'keyboards/keyboardio/atreus/keymaps')
-rw-r--r--keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c137
-rw-r--r--keyboards/keyboardio/atreus/keymaps/default/keymap.c43
-rw-r--r--keyboards/keyboardio/atreus/keymaps/dshields/keymap.c45
-rw-r--r--keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c127
-rw-r--r--keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c94
-rw-r--r--keyboards/keyboardio/atreus/keymaps/via/keymap.c53
-rw-r--r--keyboards/keyboardio/atreus/keymaps/xyverz/keymap.c207
7 files changed, 706 insertions, 0 deletions
diff --git a/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c b/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c
new file mode 100644
index 0000000000..92296cbc55
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c
@@ -0,0 +1,137 @@
+// Copyright (C) 2019, 2020 Keyboard.io, Inc
+// 2021 Antoine R. Dumont (@ardumont) <antoine.romain.dumont@gmail.com>
+//
+// this is the style you want to emulate.
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _QW,
+ _RS,
+ _LW,
+};
+
+// tap: z // hold: SHIFT
+#define Z_SFT SFT_T(KC_Z)
+// tap: / // hold: SHIFT
+#define SLSH_SFT SFT_T(KC_SLSH)
+
+// tap: ` // hold: SHIFT
+#define GRAVE_SFT SFT_T(KC_GRAVE)
+// tap: [ // hold: SHIFT
+#define RBRC_SFT SFT_T(KC_RBRC)
+
+// Layer movment
+#define FN0 MO(_RS) // move to layer 1 (L1)
+#define FN1 TG(_LW) // move to layer 2 (L2)
+#define FN2 TO(_QW) // move to layer 0 (L0)
+
+ /*
+ * q w e r t || y u i/tab o p
+ * a s d f g || h j k l ;
+ * z/sft x c v b ` || \ n m , . //sft
+ * ctl esc super alt L1 spc || spc L1 alt - ' ctl
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QW] = LAYOUT( /* Qwerty */
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
+ Z_SFT, KC_X, KC_C, KC_V, KC_B, KC_GRAVE, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, SLSH_SFT,
+ KC_LCTL, KC_ESC, KC_LGUI, KC_LALT, KC_SPC, FN0, FN0, KC_SPC, KC_LALT, KC_MINS, KC_QUOT, KC_LCTL
+ ),
+
+ /*
+ * 1 2 3 4 5 || 6 7 8 9 0
+ * ! @ # $ % || ^ & * ( )
+ * `/sft ~ ? ? ? ~ || | + - / [ ]/sft
+ * ctl esc super alt spc L2 || L2 spc alt = esc ctl
+ */
+ [_RS] = LAYOUT( /* [> RAISE <] */
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 ,
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN ,
+ GRAVE_SFT, KC_TILD, KC_NO, KC_NO, KC_NO, _______, _______, KC_PLUS, KC_MINS, KC_SLSH, KC_LBRC, RBRC_SFT,
+ _______, _______, _______, _______, _______, FN1, FN1, _______, _______, KC_EQL, _______, _______
+ ),
+
+ /*
+ * F1 F2 F3 F4 F5 || F6 F7 F8 F9 F10
+ * __ __ __ __ F11 || F12 __ __ __ __
+ * __ __ __ dbg rst eep-rst || __ __ __ __ __ __
+ * ctl esc super alt __ L0 || L0 __ alt __ esc ctl
+ */
+ [_LW] = LAYOUT( /* [> LOWER <] */
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO ,
+ KC_NO, KC_NO, KC_NO, DB_TOGG, QK_BOOT, EE_CLR, _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ,
+ _______, _______, _______, _______, _______, FN2, FN2, _______, _______, KC_NO, KC_ESC, _______
+ )
+};
+
+// Initialize variable holding the binary
+// representation of active modifiers.
+uint8_t mod_state;
+
+bool substitute_keycode(uint16_t keycode, keyrecord_t *record, uint8_t mod_state, uint16_t substitute_keycode) {
+ /* Substitute keycode if condition matches */
+ // Initialize a boolean variable that keeps track
+ // of the delete key status: registered or not?
+ static bool key_registered;
+ // ctrl activated?
+ if ((mod_state & MOD_BIT(KC_LCTL)) == MOD_BIT(KC_LCTL)) {
+ if (record->event.pressed) {
+ // No need to register KC_LCTL because it's already active.
+ unregister_code(KC_LCTL);
+ // Send substitute code
+ register_code(substitute_keycode);
+ // Update the boolean variable to reflect the status of the register
+ key_registered = true;
+ // Reapplying modifier state so that the held shift key(s)
+ // still work even after having tapped the Backspace/Delete key.
+ set_mods(mod_state);
+ // Do not let QMK process the keycode further
+ return false;
+ } else {
+ // In case substitude_keycode is still even after release of the key
+ if (key_registered) {
+ unregister_code(substitute_keycode);
+ key_registered = false;
+ // Do not let QMK process the keycode further
+ return false;
+ }
+ }
+ } else { // ctrl got released
+ // In case substitude_keycode is still sent after release of the ctrl key
+ if (key_registered) {
+ unregister_code(substitute_keycode);
+ key_registered = false;
+ }
+ }
+ // Else, let QMK process the keycode as usual
+ return true;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ // Store the current modifier state in the variable for later reference
+ mod_state = get_mods();
+ switch (keycode) {
+ case KC_I:
+ return substitute_keycode(keycode, record, mod_state, KC_TAB);
+ case KC_M:
+ return substitute_keycode(keycode, record, mod_state, KC_ENTER);
+ case KC_H:
+ return substitute_keycode(keycode, record, mod_state, KC_BSPC);
+ case KC_D:
+ return substitute_keycode(keycode, record, mod_state, KC_DEL);
+ case KC_N:
+ return substitute_keycode(keycode, record, mod_state, KC_DOWN);
+ case KC_P:
+ return substitute_keycode(keycode, record, mod_state, KC_UP);
+ }
+ return true;
+};
diff --git a/keyboards/keyboardio/atreus/keymaps/default/keymap.c b/keyboards/keyboardio/atreus/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f24cc7595d
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+// Copyright (C) 2019, 2020 Keyboard.io, Inc
+//
+// this is the style you want to emulate.
+// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _QW,
+ _RS,
+ _LW,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QW] = LAYOUT( /* Qwerty */
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH ,
+ KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT ),
+
+ /*
+ * ! @ up { } || pgup 7 8 9 *
+ * # left down right $ || pgdn 4 5 6 +
+ * [ ] ( ) & || ` 1 2 3 \
+ * lower insert super shift bksp ctrl || alt space fn . 0 =
+ */
+ [_RS] = LAYOUT( /* [> RAISE <] */
+ KC_EXLM, KC_AT, KC_UP, KC_DLR, KC_PERC, KC_PGUP, KC_7, KC_8, KC_9, KC_BSPC,
+ KC_LPRN, KC_LEFT, KC_DOWN, KC_RGHT, KC_RPRN, KC_PGDN, KC_4, KC_5, KC_6, KC_BSLS,
+ KC_LBRC, KC_RBRC, KC_HASH, KC_LCBR, KC_RCBR, KC_CIRC, KC_AMPR,KC_ASTR, KC_1, KC_2, KC_3, KC_PLUS,
+ TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT,KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ),
+ /*
+ * insert home up end pgup || up F7 F8 F9 F10
+ * del left down right pgdn || down F4 F5 F6 F11
+ * volup reset || F1 F2 F3 F12
+ * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause
+ */
+ [_LW] = LAYOUT( /* [> LOWER <] */
+ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
+ KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
+ KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, _______, _______, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
+ KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SCRL, KC_PAUS )
+};
diff --git a/keyboards/keyboardio/atreus/keymaps/dshields/keymap.c b/keyboards/keyboardio/atreus/keymaps/dshields/keymap.c
new file mode 100644
index 0000000000..4ee528ce52
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/dshields/keymap.c
@@ -0,0 +1,45 @@
+/* Copyright 2021 Daniel Shields
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+#include "dshields.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [DEF] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
+ MT_A, MT_S, MT_D, MT_F, LT_G, LT_H, MT_J, MT_K, MT_L, MT_SCLN,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TAB, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ OSMLCTL, MT_ESC, OSMLALT, OSL_FUN, MT_BSPC, OSL_LWR, OSL_RSE, MT_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ ),
+ [LWR] = LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ KC_TILD, _______, _______, _______, _______, KC_UNDS, KC_PLUS, _______, KC_LCBR, KC_RCBR,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DQUO, KC_PIPE,
+ _______, _______, _______, _______, KC_DEL, _______, _______, KC_ENT, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+
+ [RSE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 ,
+ KC_GRV, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, KC_LBRC, KC_RBRC,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_QUOT, KC_BSLS,
+ _______, _______, _______, _______, KC_DEL, _______, _______, KC_ENT, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ ),
+ [FUN] = 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_F13, KC_F14, KC_F15, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R,
+ _______, _______, _______, _______, _______, QK_BOOT, EE_CLR, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R
+ )
+};
diff --git a/keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c b/keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c
new file mode 100644
index 0000000000..b61b937984
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/kkokdae/keymap.c
@@ -0,0 +1,127 @@
+/* Copyright 2022 kkokdae <kkokdae@me.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum my_layers {
+ _COLEMAK,
+ _QWERTY,
+ _FUNC,
+ _NUMPAD,
+ _SYMBOL
+};
+
+enum my_tds {
+ TdH,
+ TdL
+};
+
+#define FUNC LT(_FUNC, KC_SPC)
+#define NUMPAD LT(_NUMPAD, KC_BSPC)
+#define DNUMPAD LT(_NUMPAD, KC_DEL)
+#define SYMBOL OSL(_SYMBOL)
+
+#define OSMCMD OSM(MOD_LGUI)
+#define OSMOPT OSM(MOD_LALT)
+#define OSMCTL OSM(MOD_LCTL)
+#define OSMSFT OSM(MOD_LSFT)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_COLEMAK] = LAYOUT(
+ KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT,
+ KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O,
+ KC_Z, KC_X, KC_C, KC_D, KC_V, _______, _______, KC_K, KC_H, KC_COMM, KC_DOT, KC_ENT,
+ OSMCMD, OSMOPT, OSMCTL, OSMSFT, FUNC, KC_TAB, KC_ESC, NUMPAD, SYMBOL, OSMCTL, OSMOPT, OSMCMD
+ ),
+
+ [_QWERTY] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT,
+ OSMCMD, OSMOPT, OSMCTL, OSMSFT, FUNC, KC_TAB, KC_ESC, NUMPAD, SYMBOL, OSMCTL, OSMOPT, OSMCMD
+ ),
+
+ [_FUNC] = LAYOUT(
+ KC_MRWD, KC_VOLU, KC_VOLD, KC_MFFD, KC_MPLY, KC_INS, KC_F7, KC_F8, KC_F9, KC_CAPS,
+ KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_BRIU, KC_F12, KC_F4, KC_F5, KC_F6, TD(TdL),
+ KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_BRID, _______, _______, KC_F10, KC_F1, KC_F2, KC_F3, KC_F11,
+ _______, _______, _______, AS_TOGG, _______, _______, _______, DNUMPAD, _______, _______, _______, _______
+ ),
+
+ [_NUMPAD] = LAYOUT(
+ _______, _______, _______, _______, _______, S(KC_E), KC_7, KC_8, KC_9, S(KC_F),
+ TD(TdL), KC_EQL, KC_ASTR, KC_PLUS, _______, S(KC_C), KC_4, KC_5, KC_6, S(KC_D),
+ TD(TdH), KC_DOT, KC_SLSH, KC_MINS, _______, _______, _______, S(KC_A), KC_1, KC_2, KC_3, S(KC_B),
+ _______, _______, _______, AS_TOGG, _______, _______, _______, _______, KC_0, _______, _______, _______
+ ),
+
+ [_SYMBOL] = LAYOUT(
+ KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, KC_CIRC, KC_DLR, KC_BSLS, KC_PERC, KC_AT, KC_DQUO,
+ KC_QUES, KC_EXLM, KC_HASH, KC_ASTR, KC_AMPR, KC_PIPE, KC_MINS, KC_PLUS, KC_UNDS, KC_EQL,
+ KC_LT, KC_LPRN, KC_RPRN, KC_GT, KC_GRV, _______, _______, KC_TILD, KC_SLSH, C(KC_B), KC_COLN, KC_SCLN,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
+ switch(keycode) {
+ case KC_MINS:
+ case KC_UNDS:
+ case KC_BSPC:
+ return false;
+ }
+
+ switch(keycode & 0xFF) {
+ case KC_1 ... KC_UP:
+ autoshift_disable();
+ default:
+ return false;
+ }
+}
+
+void dance_hex(qk_tap_dance_state_t *state, void *user_data) {
+ switch(state->count) {
+ case 1:
+ SEND_STRING("0x");
+ break;
+ case 2:
+ SEND_STRING("\\x");
+ break;
+ }
+}
+
+void dance_lang(qk_tap_dance_state_t *state, void *user_data) {
+ uint32_t default_layer;
+ switch(state->count) {
+ case 1:
+ SEND_STRING(SS_LCTL(" ") SS_DELAY(200) SS_TAP(X_ENT));
+ case 2:
+ default_layer = get_highest_layer(default_layer_state);
+ if (default_layer == _COLEMAK) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ else if (default_layer == _QWERTY) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ break;
+ }
+}
+
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TdH] = ACTION_TAP_DANCE_FN(dance_hex),
+ [TdL] = ACTION_TAP_DANCE_FN(dance_lang)
+};
diff --git a/keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c b/keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c
new file mode 100644
index 0000000000..5607f8d0d9
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c
@@ -0,0 +1,94 @@
+/* Copyright 2021 Joshua T.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+#include "replicaJunction.h"
+
+#define BSP_SYM LT(L_SYMBOLS, KC_BSPC)
+#define SPC_NAV LT(L_NAVIGATION, KC_SPC)
+#define EQL_FUN LT(L_FN, KC_EQL)
+
+#define ESC_SFT LSFT_T(KC_ESC)
+#define TAB_SFT RSFT_T(KC_TAB)
+
+#define DF_TYPE DF(L_BASE)
+#define DF_GAME DF(L_GAMING)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[L_BASE] = LAYOUT(
+ KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
+ KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O,
+ KC_Z, KC_X, KC_C, KC_D, KC_V, SALTTAB,KC_BSLS,KC_K, KC_H, KC_COMM,KC_DOT, KC_SLSH,
+ KC_ESC, KC_LGUI,KC_TAB, ESC_SFT,BSP_SYM,CTL_DEL,ALT_ENT,SPC_NAV,TAB_SFT,KC_MINS,KC_QUOT,EQL_FUN
+),
+
+[L_GAMING] = LAYOUT(
+ _______,_______,_______,_______,_______, _______,_______,_______,_______,_______,
+ _______,_______,_______,_______,_______, _______,_______,_______,_______,_______,
+ _______,_______,KC_C, KC_D, _______,_______,QK_LOCK,_______,_______,_______,_______,_______,
+ _______,KC_TAB, KC_LALT,KC_LSFT,KC_SPC, KC_LCTL,KC_LALT,KC_BSPC,KC_BTN1,KC_BTN2,KC_BTN3,_______
+),
+
+[L_NUMBERS] = LAYOUT(
+ _______,_______,_______,_______,_______, KC_HASH,KC_7, KC_8, KC_9, KC_SLSH,
+ _______,_______,_______,_______,_______, KC_PLUS,KC_4, KC_5, KC_6, KC_ASTR,
+ _______,_______,_______,_______,_______,_______,_______,KC_MINS,KC_1, KC_2, KC_3, KC_BSLS,
+ _______,_______,_______,_______,_______,_______,_______,_______,KC_0, KC_0, KC_DOT, KC_ENT
+),
+
+[L_SYMBOLS] = LAYOUT(
+ KC_AT, KC_LT, KC_DLR, KC_GT, XXXXXXX, XXXXXXX,KC_LBRC,KC_UNDS,KC_RBRC,XXXXXXX,
+ KC_BSLS,KC_LPRN,KC_DQUO,KC_RPRN,KC_HASH, KC_PERC,KC_LCBR,KC_EQL, KC_RCBR,KC_PIPE,
+ KC_EXLM,KC_COLN,KC_ASTR,KC_PLUS,XXXXXXX,_______,_______,XXXXXXX,KC_AMPR,KC_CIRC,KC_TILD,KC_GRV,
+ _______,_______,_______,_______,ooooooo,_______,_______,ooooooo,CAPWORD,_______,_______,_______
+),
+
+[L_NAVIGATION] = LAYOUT(
+ OS_UNDO,OS_CUT, OS_PAST,OS_COPY,OS_SALL, KC_PGUP,KC_HOME,KC_UP, KC_END, KC_DEL,
+ KC_LGUI,KC_LALT,KC_LSFT,KC_LCTL,_______, KC_PGDN,KC_LEFT,KC_DOWN,KC_RGHT,KC_BSPC,
+ WIN_V, _______,_______,OS_FIND,SEARCH, _______,_______,_______,SFT_TAB,KC_TAB, KC_APP, KC_PSCR,
+ _______,_______,_______,NUMWORD,ooooooo,_______,_______,ooooooo,_______,_______,_______,_______
+),
+
+[L_FN] = LAYOUT(
+ _______,_______,_______,_______,_______, KC_VOLU,KC_F9, KC_F10, KC_F11, KC_F12,
+ _______,_______,_______,_______,_______, KC_MUTE,KC_F5, KC_F6, KC_F7, KC_F8,
+ _______,K_SECR1,K_SECR2,K_SECR3,K_SECR4,MS_JIGL,QK_BOOT, KC_VOLD,KC_F1, KC_F2, KC_F3, KC_F4,
+ DF_TYPE,DF_GAME,_______,_______,_______,KC_LCTL,KC_LALT,_______,_______,_______,_______,ooooooo
+),
+
+[L_MACROS] = LAYOUT(
+ QK_MAKE,_______,DM_REC2,DM_REC1,DM_RSTP, _______,SHEBANG,_______,_______,_______,
+ QK_FLSH,_______,DM_PLY2,DM_PLY1,_______, PRG_NE, PRG_EQ, PRG_GEQ,PRG_LEQ,PRG_ARR,
+ QK_VERS,_______,_______,_______,_______,_______,_______,_______,PS_ITEM,FS_PIPE,_______,FS_ARR,
+ _______,_______,_______,_______,ooooooo,_______,_______,ooooooo,_______,_______,_______,_______
+)
+
+
+// Template
+// [L_FUNC] = LAYOUT(
+// _______,_______,_______,_______,_______, _______,_______,_______,_______,_______,
+// _______,_______,_______,_______,_______, _______,_______,_______,_______,_______,
+// _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
+// _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
+// ),
+
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, L_SYMBOLS, L_NAVIGATION, L_MACROS);
+}
diff --git a/keyboards/keyboardio/atreus/keymaps/via/keymap.c b/keyboards/keyboardio/atreus/keymaps/via/keymap.c
new file mode 100644
index 0000000000..87d6102bc3
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+// Copyright (C) 2022, Hao Xiang Liew
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT( /* Qwerty */
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH ,
+ KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_MINS, KC_QUOT, KC_ENT ),
+
+ /*
+ * ! @ up { } || pgup 7 8 9 *
+ * # left down right $ || pgdn 4 5 6 +
+ * [ ] ( ) & || ` 1 2 3 \
+ * lower insert super shift bksp ctrl || alt space fn . 0 =
+ */
+ [1] = LAYOUT( /* [> RAISE <] */
+ KC_EXLM, KC_AT, KC_UP, KC_DLR, KC_PERC, KC_PGUP, KC_7, KC_8, KC_9, KC_BSPC,
+ KC_LPRN, KC_LEFT, KC_DOWN, KC_RGHT, KC_RPRN, KC_PGDN, KC_4, KC_5, KC_6, KC_BSLS,
+ KC_LBRC, KC_RBRC, KC_HASH, KC_LCBR, KC_RCBR, KC_CIRC, KC_AMPR,KC_ASTR, KC_1, KC_2, KC_3, KC_PLUS,
+ TG(2), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT,KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ),
+ /*
+ * insert home up end pgup || up F7 F8 F9 F10
+ * del left down right pgdn || down F4 F5 F6 F11
+ * volup reset || F1 F2 F3 F12
+ * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause
+ */
+ [2] = LAYOUT( /* [> LOWER <] */
+ KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
+ KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
+ KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_TRNS, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
+ TO(0), KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(0), KC_PSCR, KC_SCRL, KC_PAUS ),
+
+ [3] = LAYOUT( /* blank */
+ 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS )
+};
diff --git a/keyboards/keyboardio/atreus/keymaps/xyverz/keymap.c b/keyboards/keyboardio/atreus/keymaps/xyverz/keymap.c
new file mode 100644
index 0000000000..3a3fbd6d71
--- /dev/null
+++ b/keyboards/keyboardio/atreus/keymaps/xyverz/keymap.c
@@ -0,0 +1,207 @@
+ /* Copyright 2020 Ian Sterling
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// This is the personal keymap of Ian Sterling (@xyverz). It is based on the keymap by
+// Chris Gerber (@gerbercj), with the addition of persistent layers like the Planck and
+// Preonic keyboards by Jack Humbert.
+
+#include QMK_KEYBOARD_H
+
+// Initial keymap for Xyverz's Keyboardio Atreus
+
+enum layer_names {
+ _DVORAK,
+ _QWERTY,
+ _COLEMAK,
+ _DVORMAC,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+enum planck_keycodes {
+ DVORAK = SAFE_RANGE,
+ QWERTY,
+ COLEMAK,
+ DVORMAC,
+ LOWER,
+ RAISE,
+ ADJUST
+};
+
+// Adding macros to make the keymaps below much easier to read.
+#define SFTSCLN SFT_T(KC_SCLN)
+#define SFTSLSH SFT_T(KC_SLSH)
+#define SFTZED SFT_T(KC_Z)
+#define ALTENT ALT_T(KC_ENT)
+#define ESCTRL CTL_T(KC_ESC)
+#define TABALT ALT_T(KC_TAB)
+#define DELGUI GUI_T(KC_DEL)
+#define DELCTL CTL_T(KC_DEL)
+#define MACLOCK LGUI(LCTL(KC_Q))
+#define ADJUST MO(_ADJUST)
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Dvorak Layer
+ ,----------------------------------. ,----------------------------------.
+ | ' | , | . | P | Y | | F | G | C | R | L |
+ |------+------+------+------+------| |------+------+------+------+------|
+ | A | O | E | U | I | | D | H | T | N | S |
+ |------+------+------+------+------+------.,------+------+------+------+------+------|
+ |SFT/ ;| Q | J | K | X | Home || End | B | M | W | V |SFT/ Z|
+ |------+------+------+------+------+------||------+------+------+------+------+------|
+ | Esc | Tab | GUI | LOWER| BkSp |DELCTL||ALTENT| Spc | RAISE| - | / | \ |
+ `-----------------------------------------'`-----------------------------------------' */
+ [_DVORAK] = LAYOUT(
+ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L ,
+ KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S ,
+ SFTSCLN, KC_Q, KC_J, KC_K, KC_X, KC_HOME, KC_END, KC_B, KC_M, KC_W, KC_V, SFTZED ,
+ ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, DELCTL, ALTENT, KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS
+ ),
+
+ /* QWERTY Layer
+ ,----------------------------------. ,----------------------------------.
+ | Q | W | E | R | T | | Y | U | I | O | P |
+ |------+------+------+------+------| |------+------+------+------+------|
+ | A | S | D | F | G | | H | J | K | L | ; |
+ |------+------+------+------+------+------.,------+------+------+------+------+------|
+ |SFT/ Z| X | C | V | B | Home || End | N | M | , | . |SFT/ /|
+ |------+------+------+------+------+------||------+------+------+------+------+------|
+ | Esc | Tab | GUI | LOWER| BkSp | LCTL ||ALTENT| Spc | RAISE| - | ' | \ |
+ `-----------------------------------------'`-----------------------------------------' */
+ [_QWERTY] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ SFTZED, KC_X, KC_C, KC_V, KC_B, KC_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, SFTSLSH,
+ ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, ALTENT, KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS
+ ),
+
+ /* Colemak Layer
+ ,----------------------------------. ,----------------------------------.
+ | Q | W | F | P | G | | J | L | U | Y | L |
+ |------+------+------+------+------| |------+------+------+------+------|
+ | A | R | S | T | D | | H | N | E | I | S |
+ |------+------+------+------+------+------.,------+------+------+------+------+------|
+ |SFT/ Z| X | C | V | B | Home || End | K | M | , | . |SFT/ /|
+ |------+------+------+------+------+------||------+------+------+------+------+------|
+ | Esc | Tab | GUI | LOWER| BkSp | LCTL ||ALTENT| Spc | RAISE| - | ' | \ |
+ `-----------------------------------------'`-----------------------------------------'*/
+ [_COLEMAK] = LAYOUT(
+ KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
+ KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O ,
+ SFTZED, KC_X, KC_C, KC_V, KC_B, KC_HOME, KC_END, KC_K, KC_M, KC_COMM, KC_DOT, SFTSLSH,
+ ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, ALTENT, KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS
+ ),
+
+ /* Dvorak Layer with Command key on left thumb instead of Control
+ ,----------------------------------. ,----------------------------------.
+ | ' | , | . | P | Y | | F | G | C | R | L |
+ |------+------+------+------+------| |------+------+------+------+------|
+ | A | O | E | U | I | | D | H | T | N | S |
+ |------+------+------+------+------+------.,------+------+------+------+------+------|
+ |SFT/ ;| Q | J | K | X | Home || End | B | M | W | V |SFT/ Z|
+ |------+------+------+------+------+------||------+------+------+------+------+------|
+ | Esc | Tab | GUI | LOWER| BkSp | LGUI ||ALTENT| Spc | RAISE| - | / | \ |
+ `-----------------------------------------'`-----------------------------------------' */
+ [_DVORMAC] = LAYOUT(
+ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L ,
+ KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S ,
+ SFTSCLN, KC_Q, KC_J, KC_K, KC_X, KC_HOME, KC_END, KC_B, KC_M, KC_W, KC_V, SFTZED ,
+ ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, DELGUI, ALTENT, KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS
+ ),
+
+ /* LOWER Layer
+ ,----------------------------------. ,----------------------------------.
+ | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
+ |------+------+------+------+------| |------+------+------+------+------|
+ | CAPS | | UP | | Home | | PgDn | | + | { | } |
+ |------+------+------+------+------+------.,------+------+------+------+------+------|
+ | | Left | Down | Right| End | || | PgUp | Mute | Vol- | Vol+ | |
+ |------+------+------+------+------+------||------+------+------+------+------+------|
+ | ~ | | | | Del | || | Ins | | | | |
+ `-----------------------------------------'`-----------------------------------------'*/
+ [_LOWER] = LAYOUT(
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ KC_CAPS, _______, KC_UP, _______, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, _______, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______,
+ KC_TILD, KC_LEFT, KC_RGHT, _______, KC_DEL, _______, _______, KC_INS, _______, KC_UP, KC_DOWN, _______
+ ),
+
+ /* RAISE Layer
+ ,----------------------------------. ,----------------------------------.
+ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
+ |------+------+------+------+------| |------+------+------+------+------|
+ | CAPS | | UP | | Home | | PgDn | | = | [ | ] |
+ |------+------+------+------+------+------.,------+------+------+------+------+------|
+ | | Left | Down | Right| End |MacLck|| | PgUp | Prev | Play | Next | |
+ |------+------+------+------+------+------||------+------+------+------+------+------|
+ | ` | | | | Del | || | Ins | | | | |
+ `-----------------------------------------'`-----------------------------------------'*/
+ [_RAISE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 ,
+ KC_CAPS, _______, KC_UP, _______, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, MACLOCK, _______, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, _______,
+ KC_GRV, KC_LEFT, KC_RGHT, _______, KC_DEL, _______, _______, KC_INS, _______, KC_UP, KC_DOWN, _______
+ ),
+
+ /* ADJUST Layer
+ ,----------------------------------. ,----------------------------------.
+ | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
+ |------+------+------+------+------| |------+------+------+------+------|
+ | F11 | | | | | | | PrSc | ScLk | Paus | F12 |
+ |------+------+------+------+------+------.,------+------+------+------+------+------|
+ | |QWERTY|COLEMK|DVORAK|DVORMC| || | | | | | |
+ |------+------+------+------+------+------||------+------+------+------+------+------|
+ | | | | | | || | | | | | QK_BOOT|
+ `-----------------------------------------'`-----------------------------------------'*/
+ [_ADJUST] = LAYOUT(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 ,
+ KC_F11, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_F12 ,
+ _______, QWERTY, COLEMAK, DVORAK, DVORMAC, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
+ ),
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case DVORAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVORAK);
+ }
+ return false;
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ return false;
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ case DVORMAC:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVORMAC);
+ }
+ return false;
+ }
+ return true;
+} \ No newline at end of file