aboutsummaryrefslogtreecommitdiff
path: root/keyboards/cospad
diff options
context:
space:
mode:
authorjohannbl <jblanteigne@gmail.com>2020-03-22 20:28:11 -0400
committerGitHub <noreply@github.com>2020-03-22 17:28:11 -0700
commitf7722ef9ca485e3bc4f3897bb4ccfafd69b5db82 (patch)
tree829183f13361cbbb455c03154ab144c8cbda1b1b /keyboards/cospad
parent76cb2b11606e98f1390627331ad753564db63305 (diff)
downloadqmk_firmware-f7722ef9ca485e3bc4f3897bb4ccfafd69b5db82.tar.gz
qmk_firmware-f7722ef9ca485e3bc4f3897bb4ccfafd69b5db82.zip
[Keyboard] Added two new layouts for the cospad (#8502)
* creation new numpad layout for 23 keys creation of new keymap * Update cospad.h * Update info.json * Update keymap.c * Update keymap.c Added a macro for the "00" key. * added two new keymap. one for each new layout. The new keymaps are based on the default keymap but focus on * Update keyboards/cospad/cospad.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/cospad.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad2/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad2/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad3/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad3/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad3/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keymap.c layout name fix. * Update keyboards/cospad/keymaps/johannbl/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Delete keymap.c * Rename keyboards/cospad/keymaps/johannbl/numpad2/keymap.c to keyboards/cospad/keymaps/johannbl/split_plus_and_zero/keymap.c * Rename keyboards/cospad/keymaps/johannbl/numpad3/keymap.c to keyboards/cospad/keymaps/johannbl/split_zero/keymap.c * Rename keyboards/cospad/keymaps/johannbl/split_plus_and_zero/keymap.c to keyboards/cospad/keymaps/split_plus_and_zero/keymap.c * Rename keyboards/cospad/keymaps/johannbl/split_zero/keymap.c to keyboards/cospad/keymaps/split_zero/keymap.c * Update keyboards/cospad/keymaps/split_plus_and_zero/keymap.c Co-Authored-By: Nick Brassel <nick@tzarc.org> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'keyboards/cospad')
-rw-r--r--keyboards/cospad/cospad.h64
-rw-r--r--keyboards/cospad/info.json67
-rw-r--r--keyboards/cospad/keymaps/split_plus_and_zero/keymap.c81
-rw-r--r--keyboards/cospad/keymaps/split_zero/keymap.c81
4 files changed, 292 insertions, 1 deletions
diff --git a/keyboards/cospad/cospad.h b/keyboards/cospad/cospad.h
index fc52204ed..f5ae8961f 100644
--- a/keyboards/cospad/cospad.h
+++ b/keyboards/cospad/cospad.h
@@ -125,6 +125,70 @@
125 { k50, ___, k52, ___ } \ 125 { k50, ___, k52, ___ } \
126} 126}
127 127
128
129/* 6x4 numpad with split Plus and 0 keys
130 * ,-------------------.
131 * | 00 | 01 | 02 | 03 |
132 * |----|----|----|----|
133 * | 10 | 11 | 12 | 13 |
134 * |----|----|----|----|
135 * | 20 | 21 | 22 | 23 |
136 * |----|----|----|----|
137 * | 30 | 31 | 32 | 33 |
138 * |----|----|----|----|
139 * | 40 | 41 | 42 | |
140 * |----|----|----| 43 |
141 * | 50 | 51 | 52 | |
142 * `-------------------'
143 */
144#define LAYOUT_numpad_6x4_split_plus_zero( \
145 k00, k01, k02, k03, \
146 k10, k11, k12, k13, \
147 k20, k21, k22, k23, \
148 k30, k31, k32, k33, \
149 k40, k41, k42, \
150 k50, k51, k52, k43 \
151) \
152{ \
153 { k00, k01, k02, k03 }, \
154 { k10, k11, k12, k13 }, \
155 { k20, k21, k22, k23 }, \
156 { k30, k31, k32, k33 }, \
157 { k40, k41, k42, k43 }, \
158 { k50, k51, k52, ___ } \
159}
160
161/* 6x4 numpad with split 0 key
162 * ,-------------------.
163 * | 00 | 01 | 02 | 03 |
164 * |----|----|----|----|
165 * | 10 | 11 | 12 | 13 |
166 * |----|----|----|----|
167 * | 20 | 21 | 22 | |
168 * |----|----|----| 23 |
169 * | 30 | 31 | 32 | |
170 * |----|----|----|----|
171 * | 40 | 41 | 42 | |
172 * |----|----|----| 43 |
173 * | 50 | 51 | 52 | |
174 * `-------------------'
175 */
176#define LAYOUT_numpad_6x4_split_zero( \
177 k00, k01, k02, k03, \
178 k10, k11, k12, k13, \
179 k20, k21, k22, \
180 k30, k31, k32, k23, \
181 k40, k41, k42, \
182 k50, k51, k52, k43 \
183) \
184{ \
185 { k00, k01, k02, k03 }, \
186 { k10, k11, k12, k13 }, \
187 { k20, k21, k22, k23 }, \
188 { k30, k31, k32, ___ }, \
189 { k40, k41, k42, k43 }, \
190 { k50, k51, k52, ___ } \
191}
128// Add backwards compatibility for existing keymaps 192// Add backwards compatibility for existing keymaps
129#define cospad_bl_led_on backlight_enable 193#define cospad_bl_led_on backlight_enable
130#define cospad_bl_led_off backlight_disable 194#define cospad_bl_led_off backlight_disable
diff --git a/keyboards/cospad/info.json b/keyboards/cospad/info.json
index 83bf81c14..1cd197d3f 100644
--- a/keyboards/cospad/info.json
+++ b/keyboards/cospad/info.json
@@ -102,6 +102,71 @@
102 {"x":2, "y":5}, 102 {"x":2, "y":5},
103 {"x":3, "y":5} 103 {"x":3, "y":5}
104 ] 104 ]
105 } 105 },
106 "LAYOUT_numpad_6x4_split_plus_zero": {
107 "key_count": 23,
108 "layout": [
109 {"x":0, "y":0},
110 {"x":1, "y":0},
111 {"x":2, "y":0},
112 {"x":3, "y":0},
113
114 {"x":0, "y":1},
115 {"x":1, "y":1},
116 {"x":2, "y":1},
117 {"x":3, "y":1},
118
119 {"x":0, "y":2},
120 {"x":1, "y":2},
121 {"x":2, "y":2},
122 {"x":3, "y":2},
123
124 {"x":0, "y":3},
125 {"x":1, "y":3},
126 {"x":2, "y":3},
127 {"x":3, "y":3},
128
129 {"x":0, "y":4},
130 {"x":1, "y":4},
131 {"x":2, "y":4},
132
133 {"x":0, "y":5},
134 {"x":1, "y":5},
135 {"x":2, "y":5},
136 {"x":3, "y":4, "h":2}
137 ]
138 },
139 "LAYOUT_numpad_6x4_split_zero": {
140 "key_count": 22,
141 "layout": [
142 {"x":0, "y":0},
143 {"x":1, "y":0},
144 {"x":2, "y":0},
145 {"x":3, "y":0},
146
147 {"x":0, "y":1},
148 {"x":1, "y":1},
149 {"x":2, "y":1},
150 {"x":3, "y":1},
151
152 {"x":0, "y":2},
153 {"x":1, "y":2},
154 {"x":2, "y":2},
155
156 {"x":0, "y":3},
157 {"x":1, "y":3},
158 {"x":2, "y":3},
159 {"x":3, "y":2, "h":2},
160
161 {"x":0, "y":4},
162 {"x":1, "y":4},
163 {"x":2, "y":4},
164
165 {"x":0, "y":5},
166 {"x":1, "y":5},
167 {"x":2, "y":5},
168 {"x":3, "y":4, "h":2}
169 ]
170 }
106 } 171 }
107} 172}
diff --git a/keyboards/cospad/keymaps/split_plus_and_zero/keymap.c b/keyboards/cospad/keymaps/split_plus_and_zero/keymap.c
new file mode 100644
index 000000000..dd2ff00cd
--- /dev/null
+++ b/keyboards/cospad/keymaps/split_plus_and_zero/keymap.c
@@ -0,0 +1,81 @@
1#include QMK_KEYBOARD_H
2
3/*
4 * This keymap is based on the default keymap for the cospad.
5 * It was adapted for the split Plus and split 0 layout focusing on the "00" key.
6 */
7
8enum custom_keycodes {
9 DBL_ZRO = SAFE_RANGE,
10};
11
12bool process_record_user(uint16_t keycode, keyrecord_t *record) {
13 switch (keycode) {
14 case DBL_ZRO:
15 if (record->event.pressed) {
16 // when keycode DBL_ZRO is pressed
17 SEND_STRING("00");
18 } else {
19 // when keycode DBL_ZRO is released
20 }
21 break;
22
23 }
24 return true;
25};
26
27// Defines names for use in layer keycodes and the keymap
28enum layer_names {
29 _BL,
30 _FL
31};
32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 /* Keymap _BL: (Base Layer) Default Layer
35 * ,-------------------.
36 * |Esc |TAB | FN | BS |
37 * |----|----|----|----|
38 * | NL | / | * | - |
39 * |----|----|----|----|
40 * | 7 | 8 | 9 | ~ |
41 * |----|----|----|----|
42 * | 4 | 5 | 6 | + |
43 * |----|----|----|----|
44 * | 1 | 2 | 3 | |
45 * |----|----|----| En |
46 * | 0 | 00 | . | |
47 * `-------------------'
48 */
49 [_BL] = LAYOUT_numpad_6x4_split_plus_zero(
50 KC_ESC, KC_TAB, MO(_FL), KC_BSPC,
51 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
52 KC_P7, KC_P8, KC_P9, KC_TILD,
53 KC_P4, KC_P5, KC_P6, KC_PPLS,
54 KC_P1, KC_P2, KC_P3,
55 KC_P0, DBL_ZRO, KC_PDOT, KC_PENT
56 ),
57
58 /* Keymap _FL: Function Layer
59 * ,-------------------.
60 * |RGBT| | | |
61 * |----|----|----|----|
62 * |RGBM|RGBP|BTOG| |
63 * |----|----|----|----|
64 * |HUD |HUI |BON | |
65 * |----|----|----|----|
66 * |SAD |SAI |BOFF| |
67 * |----|----|----|----|
68 * |VAD |VAS |BSTP| |
69 * |----|----|----| |
70 * | | |RST | |
71 * `-------------------'
72 */
73 [_FL] = LAYOUT_numpad_6x4_split_plus_zero(
74 RGB_TOG, _______, _______, _______,
75 RGB_MOD, RGB_M_P, BL_TOGG, _______,
76 RGB_HUD, RGB_HUI, BL_ON, _______,
77 RGB_SAD, RGB_SAI, BL_OFF, _______,
78 RGB_VAD, RGB_VAI, BL_STEP,
79 _______, _______, RESET, _______
80 )
81};
diff --git a/keyboards/cospad/keymaps/split_zero/keymap.c b/keyboards/cospad/keymaps/split_zero/keymap.c
new file mode 100644
index 000000000..3a0c7d6e4
--- /dev/null
+++ b/keyboards/cospad/keymaps/split_zero/keymap.c
@@ -0,0 +1,81 @@
1#include QMK_KEYBOARD_H
2
3/*
4 * This keymap is based on the default keymap for the cospad.
5 * It was adapted for the split 0 layout focusing on the "00" key.
6 */
7
8enum custom_keycodes {
9 DBL_ZRO = SAFE_RANGE,
10};
11
12bool process_record_user(uint16_t keycode, keyrecord_t *record) {
13 switch (keycode) {
14 case DBL_ZRO:
15 if (record->event.pressed) {
16 // when keycode DBL_ZRO is pressed
17 SEND_STRING("00");
18 } else {
19 // when keycode DBL_ZRO is released
20 }
21 break;
22
23 }
24 return true;
25};
26
27// Defines names for use in layer keycodes and the keymap
28enum layer_names {
29 _BL,
30 _FL
31};
32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 /* Keymap _BL: (Base Layer) Default Layer
35 * ,-------------------.
36 * |Esc |TAB | FN | BS |
37 * |----|----|----|----|
38 * | NL | / | * | - |
39 * |----|----|----|----|
40 * | 7 | 8 | 9 | |
41 * |----|----|----| + |
42 * | 4 | 5 | 6 | |
43 * |----|----|----|----|
44 * | 1 | 2 | 3 | |
45 * |----|----|----| En |
46 * | 0 | 00 | . | |
47 * `-------------------'
48 */
49 [_BL] = LAYOUT_numpad_6x4_split_zero(
50 KC_ESC, KC_TAB, MO(_FL), KC_BSPC,
51 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
52 KC_P7, KC_P8, KC_P9,
53 KC_P4, KC_P5, KC_P6, KC_PPLS,
54 KC_P1, KC_P2, KC_P3,
55 KC_P0, DBL_ZRO, KC_PDOT, KC_PENT
56 ),
57
58 /* Keymap _FL: Function Layer
59 * ,-------------------.
60 * |RGBT| | | |
61 * |----|----|----|----|
62 * |RGBM|RGBP|BTOG| |
63 * |----|----|----|----|
64 * |HUD |HUI |BON | |
65 * |----|----|----| |
66 * |SAD |SAI |BOFF| |
67 * |----|----|----|----|
68 * |VAD |VAS |BSTP| |
69 * |----|----|----| |
70 * | | |RST | |
71 * `-------------------'
72 */
73 [_FL] = LAYOUT_numpad_6x4_split_zero(
74 RGB_TOG, _______, _______, _______,
75 RGB_MOD, RGB_M_P, BL_TOGG, _______,
76 RGB_HUD, RGB_HUI, BL_ON,
77 RGB_SAD, RGB_SAI, BL_OFF, _______,
78 RGB_VAD, RGB_VAI, BL_STEP,
79 _______, _______, RESET, _______
80 )
81};