]> git.gir.st - tmk_keyboard.git/blob - keyboard/ergodox/keymap_dvorak.c
added ergodox
[tmk_keyboard.git] / keyboard / ergodox / keymap_dvorak.c
1 #include "bootloader.h"
2 #include "keymap_common.h"
3
4 const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 /*
6 * Keymap: Default Layer in Dvorak (Layer 0)
7 *
8 * ,--------------------------------------------------. ,--------------------------------------------------.
9 * | + | 1 | 2 | 3 | 4 | 5 | Esc | | ESC | 6 | 7 | 8 | 9 | 0 | - |
10 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
11 * | Tab | ' | , | . | Y | Y |(Null)| |(Null)| F | G | C | R | L | / |
12 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
13 * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | \ |
14 * |--------+------+------+------+------+------| FN1 | | FN2 |------+------+------+------+------+--------|
15 * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift |
16 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
17 * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI |
18 * `----------------------------------' `----------------------------------'
19 * ,-------------. ,-------------.
20 * | LCtr | LAlt | | Ralt | RCtr |
21 * ,------|------|------| |------+------+------.
22 * | | | Home | | PgUp | | |
23 * | BkSp | Del |------| |------| Enter| Space|
24 * | | | End | | PgDn | | |
25 * `--------------------' `--------------------'
26 *
27 *
28 *****************************************************************************************************
29 * This Dvorak keyboard layout stems from my early Kinesis years, using the Contour PS/2 with a Dvorak
30 * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the cor-
31 * ner keys. I've decided to continue using this layout with my ErgoDox.
32 */
33
34 KEYMAP( // layer 0 : default
35 // left hand
36 EQL, 1, 2, 3, 4, 5, ESC,
37 TAB, QUOT, COMM, DOT, P, Y, NO,
38 CAPS, A, O, E, U, I,
39 LSFT, SCLN, Q, J, K, X, FN1,
40 LGUI, GRV, INS,LEFT,RGHT,
41 LCTL,LALT,
42 HOME,
43 BSPC,DEL, END,
44 // right hand
45 ESC, 6, 7, 8, 9, 0, MINS,
46 NO, F, G, C, R, L, SLSH,
47 D, H, T, N, S, BSLS,
48 FN2, B, M, W, V, Z, RSFT,
49 UP,DOWN,RBRC,LBRC, RGUI,
50 RALT,RCTL,
51 PGUP,
52 PGDN,ENT, SPC
53 ),
54
55
56 /*
57 * Keymap: Function and Media Keys Layer (Layer 1)
58 *
59 * ,--------------------------------------------------. ,--------------------------------------------------.
60 * | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | Mute |
61 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
62 * | | | | | | | FN4 | | FN6 | | PrSc | ScLk | Paus | | Vol Up |
63 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
64 * | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | Vol Dn |
65 * |--------+------+------+------+------+------| FN4 | | FN7 |------+------+------+------+------+--------|
66 * | | | | | | | | | | | | | | | |
67 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
68 * | | | | | | | | | | | |
69 * `----------------------------------' `----------------------------------'
70 * ,-------------. ,-------------.
71 * | | | | | |
72 * ,------|------|------| |------+------+------.
73 * | | | | | | | |
74 * | | |------| |------| | |
75 * | | | | | | | |
76 * `--------------------' `--------------------'
77 *
78 *
79 */
80
81 KEYMAP( // layer 1 : function and media keys
82 // left hand
83 FN0, F1, F2, F3, F4, F5, F11,
84 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,FN4,
85 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
86 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,FN4,
87 TRNS,TRNS,TRNS,TRNS,TRNS,
88 TRNS,TRNS,
89 TRNS,
90 TRNS,TRNS,TRNS,
91 // right hand
92 F12, F6, F7, F8, F9, F10, MUTE,
93 FN6, TRNS,PSCR,SLCK,PAUS,TRNS,VOLU,
94 MSTP,MPRV,MPLY,MNXT,MSEL,VOLD,
95 FN7, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
96 TRNS,TRNS,TRNS,TRNS,TRNS,
97 TRNS,TRNS,
98 TRNS,
99 TRNS,TRNS,TRNS
100 ),
101
102
103 /*
104 * Keymap: Numpad Layer (Layer 2)
105 *
106 * ,--------------------------------------------------. ,--------------------------------------------------.
107 * | Power | | | | | | | | | | NmLk | KP / | KP * | KP - | |
108 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
109 * | Sleep | | | | | | FN5 | | FN4 | | KP 7 | KP 8 | KP 9 | KP + | |
110 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
111 * | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | |
112 * |--------+------+------+------+------+------| FN7 | | FN4 |------+------+------+------+------+--------|
113 * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| |
114 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
115 * | | | | | | | KP 0 | | KP . |KP Ent| |
116 * `----------------------------------' `----------------------------------'
117 * ,-------------. ,-------------.
118 * | | | | | |
119 * ,------|------|------| |------+------+------.
120 * | | | | | | | |
121 * | | |------| |------| | |
122 * | | | | | | | |
123 * `--------------------' `--------------------'
124 *
125 */
126
127 KEYMAP( // layer 2: numpad
128 // left hand
129 PWR, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
130 SLEP,TRNS,TRNS,TRNS,TRNS,TRNS, FN5,
131 WAKE,TRNS,TRNS,TRNS,TRNS,TRNS,
132 TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, FN7,
133 TRNS,TRNS,TRNS,TRNS,TRNS,
134 TRNS,TRNS,
135 TRNS,
136 TRNS,TRNS,TRNS,
137 // right hand
138 TRNS,TRNS,NLCK,PSLS,PAST,PMNS,TRNS,
139 FN4,NO, P7, P8, P9, PPLS,TRNS,
140 NO, P4, P5, P6, PPLS,TRNS,
141 FN4,NO, P1, P2, P3, PENT,TRNS,
142 P0, TRNS,PDOT,PENT,TRNS,
143 TRNS,TRNS,
144 TRNS,
145 TRNS,TRNS,TRNS
146 ),
147
148
149 /*
150 * Keymap: QWERTY Gaming Layer (Layer 3)
151 *
152 * ,--------------------------------------------------. ,--------------------------------------------------.
153 * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - |
154 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
155 * | Tab | Q | W | E | R | T | Fn4 | | Fn4 | Y | U | I | O | P | [ |
156 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
157 * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
158 * |--------+------+------+------+------+------| Fn1 | | Fn2 |------+------+------+------+------+--------|
159 * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
160 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
161 * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI |
162 * `----------------------------------' `----------------------------------'
163 * ,-------------. ,-------------.
164 * | LCtr | LAlt | | Ralt | RCtr |
165 * ,------|------|------| |------+------+------.
166 * | | | Home | | PgUp | | |
167 * | BkSp | Del |------| |------| Enter| Space|
168 * | | | End | | PgDn | | |
169 * `--------------------' `--------------------'
170 *
171 */
172
173 KEYMAP( // layer 3 : QWERTY Gaming
174 // left hand
175 EQL, 1, 2, 3, 4, 5, ESC,
176 TAB, Q, W, E, R, T, FN4,
177 CAPS,A, S, D, F, G,
178 LSFT,Z, X, C, V, B, FN1,
179 LGUI,GRV, INS,LEFT,RGHT,
180 LCTL,LALT,
181 HOME,
182 BSPC,DEL, END,
183 // right hand
184 ESC, 6, 7, 8, 9, 0, MINS,
185 FN4, Y, U, I, O, P, BSLS,
186 H, J, K, L, SCLN,QUOT,
187 FN2, N, M, COMM,DOT, SLSH,RSFT,
188 UP,DOWN,LBRC,RBRC,RGUI,
189 RALT,RCTL,
190 PGUP,
191 PGDN,ENT, SPC
192 ),
193
194 };
195
196 /* id for user defined functions & macros */
197 enum function_id {
198 TEENSY_KEY,
199 };
200
201 /*
202 * Fn action definition
203 */
204 const uint16_t PROGMEM fn_actions[] = {
205 ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key
206 ACTION_LAYER_MOMENTARY(1), // FN1 - switch to Layer1
207 ACTION_LAYER_MOMENTARY(2), // FN2 - switch to Layer2
208 ACTION_LAYER_MOMENTARY(3), // FN3 - switch to Layer3
209 ACTION_LAYER_SET_CLEAR(0), // FN4 - set Layer0
210 ACTION_LAYER_SET(1, ON_PRESS), // FN5 - set Layer1
211 ACTION_LAYER_SET(2, ON_PRESS), // FN6 - set Layer2
212 ACTION_LAYER_SET(3, ON_PRESS), // FN7 - set Layer3
213 };
214
215 /*
216 * Defining the Teensy Key action_function
217 */
218 void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
219 {
220 // print("action_function called\n");
221 // print("id = "); phex(id); print("\n");
222 // print("opt = "); phex(opt); print("\n");
223
224 if (id == TEENSY_KEY) {
225 clear_keyboard();
226 print("\n\nJump to bootloader... ");
227 _delay_ms(50);
228 bootloader_jump(); // should not return
229 print("not supported.\n");
230 }
231
232 }
Imprint / Impressum