aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoshihiro Saito <yshr446@gmail.com>2021-11-20 02:42:39 +0900
committerGitHub <noreply@github.com>2021-11-19 09:42:39 -0800
commit94b535024642bab6705f1e08ec62680d8e49b62b (patch)
tree76eb08f2df97c62dcb6ef58e33b7c9fc512a264b
parent10c36032a075258516f30da79949a755d67a53a2 (diff)
downloadqmk_firmware-94b535024642bab6705f1e08ec62680d8e49b62b.tar.gz
qmk_firmware-94b535024642bab6705f1e08ec62680d8e49b62b.zip
[Keymap] Add yoshimaru46's keymap for Ergodash mini (#15191)
-rw-r--r--keyboards/ergodash/mini/keymaps/yoshimaru46/config.h33
-rw-r--r--keyboards/ergodash/mini/keymaps/yoshimaru46/keymap.c111
-rw-r--r--keyboards/ergodash/mini/keymaps/yoshimaru46/readme.md4
-rw-r--r--keyboards/ergodash/mini/keymaps/yoshimaru46/rules.mk4
4 files changed, 152 insertions, 0 deletions
diff --git a/keyboards/ergodash/mini/keymaps/yoshimaru46/config.h b/keyboards/ergodash/mini/keymaps/yoshimaru46/config.h
new file mode 100644
index 000000000..df04873a9
--- /dev/null
+++ b/keyboards/ergodash/mini/keymaps/yoshimaru46/config.h
@@ -0,0 +1,33 @@
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
24/* Use I2C or Serial, not both */
25
26#define USE_SERIAL
27// #define USE_I2C
28
29/* Select hand configuration */
30
31#define MASTER_LEFT
32// #define MASTER_RIGHT
33// #define EE_HANDS
diff --git a/keyboards/ergodash/mini/keymaps/yoshimaru46/keymap.c b/keyboards/ergodash/mini/keymaps/yoshimaru46/keymap.c
new file mode 100644
index 000000000..98c56c8d1
--- /dev/null
+++ b/keyboards/ergodash/mini/keymaps/yoshimaru46/keymap.c
@@ -0,0 +1,111 @@
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 KC_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), KC_SFTENT, 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_TILD, KC_BSLS, 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/ergodash/mini/keymaps/yoshimaru46/readme.md b/keyboards/ergodash/mini/keymaps/yoshimaru46/readme.md
new file mode 100644
index 000000000..67a6ed9b9
--- /dev/null
+++ b/keyboards/ergodash/mini/keymaps/yoshimaru46/readme.md
@@ -0,0 +1,4 @@
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/ergodash/mini/keymaps/yoshimaru46/rules.mk b/keyboards/ergodash/mini/keymaps/yoshimaru46/rules.mk
new file mode 100644
index 000000000..f85c6a415
--- /dev/null
+++ b/keyboards/ergodash/mini/keymaps/yoshimaru46/rules.mk
@@ -0,0 +1,4 @@
1BACKLIGHT_ENABLE = no
2RGBLIGHT_ENABLE = no
3AUDIO_ENABLE = no
4KEY_OVERRIDE_ENABLE = yes