aboutsummaryrefslogtreecommitdiff
path: root/keyboards/converter/ibm_terminal
diff options
context:
space:
mode:
authorPriyadi Iman Nurcahyo <priyadi@priyadi.net>2016-12-14 22:34:23 +0700
committerPriyadi Iman Nurcahyo <priyadi@priyadi.net>2016-12-14 22:34:23 +0700
commite58304c0948dabaa334c583e9b9146a2e85995f5 (patch)
treecd9504c42975e09ba13227d881cf6572de7adcec /keyboards/converter/ibm_terminal
parentdc4923139176c9ecf4e3a914787b584bf4ab5515 (diff)
downloadqmk_firmware-e58304c0948dabaa334c583e9b9146a2e85995f5.tar.gz
qmk_firmware-e58304c0948dabaa334c583e9b9146a2e85995f5.zip
My layout for M-122 terminal keyboard
Diffstat (limited to 'keyboards/converter/ibm_terminal')
-rw-r--r--keyboards/converter/ibm_terminal/keymaps/priyadi/Makefile27
-rw-r--r--keyboards/converter/ibm_terminal/keymaps/priyadi/config.h6
-rw-r--r--keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c312
3 files changed, 345 insertions, 0 deletions
diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/Makefile b/keyboards/converter/ibm_terminal/keymaps/priyadi/Makefile
new file mode 100644
index 000000000..9ec246494
--- /dev/null
+++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/Makefile
@@ -0,0 +1,27 @@
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 # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE ?= yes # 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 ?= 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
15UNICODEMAP_ENABLE ?= yes
16BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
17RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
18PS2_USE_USART ?= yes
19API_SYSEX_ENABLE ?= no
20
21# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
22SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
23
24ifndef QUANTUM_DIR
25 include ../../../../../Makefile
26endif
27
diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h b/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h
new file mode 100644
index 000000000..7fa3bf328
--- /dev/null
+++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h
@@ -0,0 +1,6 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6#endif
diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c
new file mode 100644
index 000000000..592f7654b
--- /dev/null
+++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c
@@ -0,0 +1,312 @@
1/*
2Copyright 2016 Priyadi Iman Nurcahyo <priyadi@priyadi.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 "keycode.h"
19#include "print.h"
20#include "debug.h"
21#include "util.h"
22#include "ibm_terminal.h"
23#include "action_layer.h"
24
25// Fillers to make layering clearer
26
27#define _______ KC_TRNS
28#define XXXXXXX KC_NO
29
30enum layers {
31 QWE, // qwerty
32 COL, // colemak
33 WOR, // workman
34 DVO, // dvorak
35
36 MOU, // mouse keys
37 EMO, // emoji
38 SYS, // system
39};
40
41enum keycodes {
42 // default layout switcher
43 LAY_QWE = SAFE_RANGE,
44 LAY_COL,
45 LAY_WOR,
46 LAY_DVO,
47
48 // layer switchers
49 LYR_SYS,
50 LYR_EMO,
51
52 // os switchers
53 OS_LIN,
54 OS_WIN,
55 OS_MAC,
56};
57
58// unicode map
59
60enum unicode_name {
61 GRIN, // grinning face 😊
62 TJOY, // tears of joy 😂
63 SMILE, // grining face with smiling eyes 😁
64 HEART, // heart ❤
65 EYERT, // smiling face with heart shaped eyes 😍
66 CRY, // crying face 😭
67 SMEYE, // smiling face with smiling eyes 😊
68 UNAMU, // unamused 😒
69 KISS, // kiss 😘
70 HART2, // two hearts 💕
71 WEARY, // weary 😩
72 OKHND, // ok hand sign 👌
73 PENSV, // pensive 😔
74 SMIRK, // smirk 😏
75 RECYC, // recycle ♻
76 WINK, // wink 😉
77 THMUP, // thumb up 👍
78 THMDN, // thumb down 👎
79 PRAY, // pray 🙏
80 PHEW, // relieved 😌
81 MUSIC, // musical notes
82 FLUSH, // flushed 😳
83 CELEB, // celebration 🙌
84 CRY2, // crying face 😢
85 COOL, // smile with sunglasses 😎
86 NOEVS, // see no evil
87 NOEVH, // hear no evil
88 NOEVK, // speak no evil
89 POO, // pile of poo
90 EYES, // eyes
91 VIC, // victory hand
92 BHART, // broken heart
93 SLEEP, // sleeping face
94 SMIL2, // smiling face with open mouth & sweat
95 HUNRD, // 100
96 CONFU, // confused
97 TONGU, // face with tongue & winking eye
98 DISAP, // disappointed
99 YUMMY, // face savoring delicious food
100 CLAP, // hand clapping
101 FEAR, // face screaming in fear
102 HORNS, // smiling face with horns
103 HALO, // smiling face with halo
104 BYE, // waving hand
105 SUN, // sun
106 MOON, // moon
107 SKULL, // skull
108};
109
110const uint32_t PROGMEM unicode_map[] = {
111 [GRIN] = 0x1F600,
112 [TJOY] = 0x1F602,
113 [SMILE] = 0x1F601,
114 [HEART] = 0x2764,
115 [EYERT] = 0x1f60d,
116 [CRY] = 0x1f62d,
117 [SMEYE] = 0x1F60A,
118 [UNAMU] = 0x1F612,
119 [KISS] = 0x1F618,
120 [HART2] = 0x1F495,
121 [WEARY] = 0x1F629,
122 [OKHND] = 0x1F44C,
123 [PENSV] = 0x1F614,
124 [SMIRK] = 0x1F60F,
125 [RECYC] = 0x267B,
126 [WINK] = 0x1F609,
127 [THMUP] = 0x1F44D,
128 [THMDN] = 0x1F44E,
129 [PRAY] = 0x1F64F,
130 [PHEW] = 0x1F60C,
131 [MUSIC] = 0x1F3B6,
132 [FLUSH] = 0x1F633,
133 [CELEB] = 0x1F64C,
134 [CRY2] = 0x1F622,
135 [COOL] = 0x1F60E,
136 [NOEVS] = 0x1F648,
137 [NOEVH] = 0x1F649,
138 [NOEVK] = 0x1F64A,
139 [POO] = 0x1F4A9,
140 [EYES] = 0x1F440,
141 [VIC] = 0x270C,
142 [BHART] = 0x1F494,
143 [SLEEP] = 0x1F634,
144 [SMIL2] = 0x1F605,
145 [HUNRD] = 0x1F4AF,
146 [CONFU] = 0x1F615,
147 [TONGU] = 0x1F61C,
148 [DISAP] = 0x1F61E,
149 [YUMMY] = 0x1F60B,
150 [CLAP] = 0x1F44F,
151 [FEAR] = 0x1F631,
152 [HORNS] = 0x1F608,
153 [HALO] = 0x1F607,
154 [BYE] = 0x1F44B,
155 [SUN] = 0x2600,
156 [MOON] = 0x1F314,
157 [SKULL] = 0x1F480,
158};
159
160const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
161 /* qwerty */
162 [QWE] = KEYMAP(
163 KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_PSCR, KC_SLCK, KC_PAUS,
164 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
165
166 MO(EMO), MO(SYS), 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, XXXXXXX, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
167 KC_MNXT, KC_VOLU, 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, XXXXXXX, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
168 KC_MPLY, KC_MUTE, 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_BSLS, KC_ENT, KC_UP, KC_P4, KC_P5, KC_P6, KC_PCMM,
169 KC_MPRV, KC_VOLD, KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT, KC_LEFT, TG(MOU), KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
170 KC_LGUI, KC_APP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, XXXXXXX, KC_P0, KC_PDOT, XXXXXXX
171 ),
172
173 /* colemak */
174 [COL] = KEYMAP(
175 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
176 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
177
178 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, _______, _______, _______, _______, _______, _______, _______, _______,
179 _______, _______, _______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______,
180 _______, _______, _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, _______, _______, _______, _______, _______, _______, _______,
181 _______, _______, _______, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, _______, _______, _______, _______, _______,
182 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
183 ),
184
185 /* workman */
186 [WOR] = KEYMAP(
187 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
188 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
189
190 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, _______, _______, _______, _______, _______, _______, _______, _______,
191 _______, _______, _______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______,
192 _______, _______, _______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, _______, _______, _______, _______, _______, _______, _______,
193 _______, _______, _______, _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, _______, _______, _______, _______, _______,
194 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
195 ),
196
197 /* dvorak */
198 [DVO] = KEYMAP(
199 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
200 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
201
202 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______, _______,
203 _______, _______, _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, _______, _______, _______, _______, _______, _______, _______, _______,
204 _______, _______, _______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, _______, _______, _______, _______, _______, _______, _______,
205 _______, _______, _______, _______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______, _______, _______, _______, _______, _______, _______, _______, _______,
206 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
207 ),
208
209 /* system */
210 [SYS] = KEYMAP(
211 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
212 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
213
214 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
215 _______, _______, _______, LAY_QWE, OS_WIN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
216 _______, _______, _______, _______, _______, LAY_DVO, _______, _______, _______, _______, LAY_WOR, OS_LIN, _______, _______, _______, _______, _______, _______, _______, _______, _______,
217 _______, _______, _______, _______, _______, _______, LAY_COL, _______, _______, _______, OS_MAC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
218 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
219 ),
220
221 /* mouse keys */
222 [MOU] = KEYMAP(
223 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
224 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
225
226 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
227 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
228 XXXXXXX, KC_BTN4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
229 XXXXXXX, KC_BTN5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, _______, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
230 KC_BTN1, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_D, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
231 ),
232
233 /* emoji */
234 [EMO] = KEYMAP(
235 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
236 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
237
238 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
239 XXXXXXX, XXXXXXX, XXXXXXX, X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY), X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
240 XXXXXXX, XXXXXXX, XXXXXXX, X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN), X(HEART),X(BYE), X(KISS), X(CELEB),X(COOL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
241 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,X(SLEEP),X(CLAP), X(CRY), X(VIC), X(BHART),X(SUN), X(SMEYE),X(WINK), X(MOON), X(CONFU), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
242 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
243 ),
244
245 /*
246 [XXX] = KEYMAP(
247 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
248 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
249
250 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
251 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
252 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
253 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
254 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
255 ),
256 */
257};
258
259void persistant_default_layer_set(uint16_t default_layer) {
260 eeconfig_update_default_layer(default_layer);
261 default_layer_set(default_layer);
262}
263
264bool process_record_user(uint16_t keycode, keyrecord_t *record) {
265 switch (keycode) {
266 /* layout switcher */
267 case LAY_QWE:
268 if (record->event.pressed) {
269 persistant_default_layer_set(1UL<<QWE);
270 }
271 return false;
272 break;
273 case LAY_COL:
274 if (record->event.pressed) {
275 persistant_default_layer_set(1UL<<COL);
276 }
277 return false;
278 break;
279 case LAY_WOR:
280 if (record->event.pressed) {
281 persistant_default_layer_set(1UL<<WOR);
282 }
283 return false;
284 break;
285 case LAY_DVO:
286 if (record->event.pressed) {
287 persistant_default_layer_set(1UL<<DVO);
288 }
289 return false;
290 break;
291
292 /* os switcher */
293 case OS_LIN:
294 set_unicode_input_mode(UC_LNX);
295 return false;
296 break;
297 case OS_WIN:
298 set_unicode_input_mode(UC_WINC);
299 return false;
300 break;
301 case OS_MAC:
302 set_unicode_input_mode(UC_OSX);
303 return false;
304 break;
305
306 }
307 return true;
308}
309
310void matrix_init_user() {
311 set_unicode_input_mode(UC_LNX);
312}