]>
git.gir.st - tmk_keyboard.git/blob - keyboard/ergodox/keymap_dvorak.c
1 #include "bootloader.h"
2 #include "keymap_common.h"
4 const uint8_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
6 * Keymap: Default Layer in Dvorak (Layer 0)
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 * `--------------------' `--------------------'
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.
34 KEYMAP( // layer 0 : default
36 EQL
, 1, 2, 3, 4, 5, ESC
,
37 TAB
, QUOT
, COMM
, DOT
, P
, Y
, NO
,
39 LSFT
, SCLN
, Q
, J
, K
, X
, FN1
,
40 LGUI
, GRV
, INS
,LEFT
,RGHT
,
45 ESC
, 6, 7, 8, 9, 0, MINS
,
46 NO
, F
, G
, C
, R
, L
, SLSH
,
48 FN2
, B
, M
, W
, V
, Z
, RSFT
,
49 UP
,DOWN
,RBRC
,LBRC
, RGUI
,
57 * Keymap: Function and Media Keys Layer (Layer 1)
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 * ,-------------. ,-------------.
72 * ,------|------|------| |------+------+------.
74 * | | |------| |------| | |
76 * `--------------------' `--------------------'
81 KEYMAP( // layer 1 : function and media keys
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
,
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
,
104 * Keymap: Numpad Layer (Layer 2)
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 * ,-------------. ,-------------.
119 * ,------|------|------| |------+------+------.
121 * | | |------| |------| | |
123 * `--------------------' `--------------------'
127 KEYMAP( // layer 2: numpad
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
,
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
,
150 * Keymap: QWERTY Gaming Layer (Layer 3)
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 * `--------------------' `--------------------'
173 KEYMAP( // layer 3 : QWERTY Gaming
175 EQL
, 1, 2, 3, 4, 5, ESC
,
176 TAB
, Q
, W
, E
, R
, T
, FN4
,
178 LSFT
,Z
, X
, C
, V
, B
, FN1
,
179 LGUI
,GRV
, INS
,LEFT
,RGHT
,
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
,
196 /* id for user defined functions & macros */
202 * Fn action definition
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
216 * Defining the Teensy Key action_function
218 void action_function(keyrecord_t
*record
, uint8_t id
, uint8_t opt
)
220 // print("action_function called\n");
221 // print("id = "); phex(id); print("\n");
222 // print("opt = "); phex(opt); print("\n");
224 if (id
== TEENSY_KEY
) {
226 print("\n\nJump to bootloader... ");
228 bootloader_jump(); // should not return
229 print("not supported.\n");