Update Dvorak, Colemak and Workman keycode aliases (#8217)
[jackhill/qmk/firmware.git] / quantum / keymap_extras / keymap_dvorak.h
CommitLineData
23839b8c 1/* Copyright 2015-2016 Jack Humbert
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 */
46e7fb2d 16
6c8d815f 17#pragma once
46e7fb2d 18
6c8d815f 19#include "keymap.h"
4278d886 20
6c8d815f 21// clang-format off
4278d886 22
6c8d815f
R
23/*
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │       │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │     │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │  \  │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │      │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │        │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │        │ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │          │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │    │    │    │                        │    │    │    │    │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define DV_GRV KC_GRV // `
38#define DV_1 KC_1 // 1
39#define DV_2 KC_2 // 2
40#define DV_3 KC_3 // 3
41#define DV_4 KC_4 // 4
42#define DV_5 KC_5 // 5
43#define DV_6 KC_6 // 6
44#define DV_7 KC_7 // 7
45#define DV_8 KC_8 // 8
46#define DV_9 KC_9 // 9
47#define DV_0 KC_0 // 0
48#define DV_LBRC KC_MINS // [
49#define DV_RBRC KC_EQL // ]
50// Row 2
51#define DV_QUOT KC_Q // '
52#define DV_COMM KC_W // ,
53#define DV_DOT KC_E // .
54#define DV_P KC_R // P
55#define DV_Y KC_T // Y
56#define DV_F KC_Y // F
57#define DV_G KC_U // G
58#define DV_C KC_I // C
59#define DV_R KC_O // R
60#define DV_L KC_P // L
61#define DV_SLSH KC_LBRC // /
62#define DV_EQL KC_RBRC // =
63#define DV_BSLS KC_BSLS // (backslash)
64// Row 3
65#define DV_A KC_A // A
66#define DV_O KC_S // O
67#define DV_E KC_D // E
68#define DV_U KC_F // U
69#define DV_I KC_G // I
70#define DV_D KC_H // D
71#define DV_H KC_J // H
72#define DV_T KC_K // T
73#define DV_N KC_L // N
74#define DV_S KC_SCLN // S
75#define DV_MINS KC_QUOT // -
76// Row 4
77#define DV_SCLN KC_Z // ;
78#define DV_Q KC_X // Q
79#define DV_J KC_C // J
80#define DV_K KC_V // K
81#define DV_X KC_B // X
82#define DV_B KC_N // B
83#define DV_M KC_M // M
84#define DV_W KC_COMM // W
85#define DV_V KC_DOT // V
86#define DV_Z KC_SLSH // Z
46e7fb2d 87
6c8d815f
R
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ { │ } │       │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │     │ " │ < │ > │   │   │   │   │   │   │   │ ? │ + │  |  │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │      │   │   │   │   │   │   │   │   │   │   │ _ │        │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │        │ : │   │   │   │   │   │   │   │   │   │          │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │    │    │    │                        │    │    │    │    │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define DV_TILD S(DV_GRV) // ~
103#define DV_EXLM S(DV_1) // !
104#define DV_AT S(DV_2) // @
105#define DV_HASH S(DV_3) // #
106#define DV_DLR S(DV_4) // $
107#define DV_PERC S(DV_5) // %
108#define DV_CIRC S(DV_6) // ^
109#define DV_AMPR S(DV_7) // &
110#define DV_ASTR S(DV_8) // *
111#define DV_LPRN S(DV_9) // (
112#define DV_RPRN S(DV_0) // )
113#define DV_LCBR S(DV_LBRC) // {
114#define DV_RCBR S(DV_RBRC) // }
115// Row 2
116#define DV_DQUO S(DV_QUOT) // "
117#define DV_LABK S(DV_COMM) // <
118#define DV_RABK S(DV_DOT) // >
119#define DV_QUES S(DV_SLSH) // ?
120#define DV_PLUS S(DV_EQL) // +
121#define DV_PIPE S(DV_BSLS) // |
122// Row 3
123#define DV_UNDS S(DV_MINS) // _
124// Row 4
125#define DV_COLN S(DV_SCLN) // :