summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2022-04-28 09:11:41 +1000
committerGitHub <noreply@github.com>2022-04-28 00:11:41 +0100
commite99d6d582cd1ebdda35b2fda1cc170d6d24ad58b (patch)
tree57f8f79a811d4e3cea4d77223b198acf4b3585de
parent14d6c0b441e093d730a1a393715d8bf2bcbab471 (diff)
Add Ukrainian keymap header (#16947)
* Add Ukrainian keymap header * Docs
-rw-r--r--docs/reference_keymap_extras.md1
-rw-r--r--quantum/keymap_extras/keymap_ukrainian.h134
2 files changed, 135 insertions, 0 deletions
diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md
index ae3d54e4de..98be5c3669 100644
--- a/docs/reference_keymap_extras.md
+++ b/docs/reference_keymap_extras.md
@@ -74,6 +74,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q
74|Swedish Pro (macOS, ISO) |`keymap_swedish_pro_osx_iso.h` | | 74|Swedish Pro (macOS, ISO) |`keymap_swedish_pro_osx_iso.h` | |
75|Turkish (F) |`keymap_turkish_f.h` |`sendstring_turkish_f.h` | 75|Turkish (F) |`keymap_turkish_f.h` |`sendstring_turkish_f.h` |
76|Turkish (Q) |`keymap_turkish_q.h` |`sendstring_turkish_q.h` | 76|Turkish (Q) |`keymap_turkish_q.h` |`sendstring_turkish_q.h` |
77|Ukrainian |`keymap_ukrainian.h` | |
77 78
78There are also a few which are not quite language-specific, but useful if you are not using a QWERTY layout: 79There are also a few which are not quite language-specific, but useful if you are not using a QWERTY layout:
79 80
diff --git a/quantum/keymap_extras/keymap_ukrainian.h b/quantum/keymap_extras/keymap_ukrainian.h
new file mode 100644
index 0000000000..e5cd80f3d2
--- /dev/null
+++ b/quantum/keymap_extras/keymap_ukrainian.h
@@ -0,0 +1,134 @@
1/* Copyright 2022
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 */
16
17#pragma once
18
19#include "keymap.h"
20
21// clang-format off
22
23/*
24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
25 * │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ї │ \ │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
29 * │ │ Ф │ І │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Є │ │
30 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
31 * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │ │
32 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │ │ │ │ │ │ │ │ │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define UA_QUOT KC_GRV // '
38#define UA_1 KC_1 // 1
39#define UA_2 KC_2 // 2
40#define UA_3 KC_3 // 3
41#define UA_4 KC_4 // 4
42#define UA_5 KC_5 // 5
43#define UA_6 KC_6 // 6
44#define UA_7 KC_7 // 7
45#define UA_8 KC_8 // 8
46#define UA_9 KC_9 // 9
47#define UA_0 KC_0 // 0
48#define UA_MINS KC_MINS // -
49#define UA_EQL KC_EQL // =
50// Row 2
51#define UA_YOT KC_Q // Й
52#define UA_TSE KC_W // Ц
53#define UA_U KC_E // У
54#define UA_KA KC_R // К
55#define UA_E KC_T // Е
56#define UA_EN KC_Y // Н
57#define UA_HE KC_U // Г
58#define UA_SHA KC_I // Ш
59#define UA_SHCH KC_O // Щ
60#define UA_ZE KC_P // З
61#define UA_KHA KC_LBRC // Х
62#define UA_YI KC_RBRC // Ї
63#define UA_BSLS KC_BSLS // (backslash)
64// Row 3
65#define UA_EF KC_A // Ф
66#define UA_I KC_S // І
67#define UA_VE KC_D // В
68#define UA_A KC_F // А
69#define UA_PE KC_G // П
70#define UA_ER KC_H // Р
71#define UA_O KC_J // О
72#define UA_EL KC_K // Л
73#define UA_DE KC_L // Д
74#define UA_ZHE KC_SCLN // Ж
75#define UA_YE KC_QUOT // Є
76// Row 4
77#define UA_YA KC_Z // Я
78#define UA_CHE KC_X // Ч
79#define UA_ES KC_C // С
80#define UA_EM KC_V // М
81#define UA_Y KC_B // И
82#define UA_TE KC_N // Т
83#define UA_SOFT KC_M // Ь
84#define UA_BE KC_COMM // Б
85#define UA_YU KC_DOT // Ю
86#define UA_DOT KC_SLSH // .
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ₴ │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ / │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
94 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
96 * │ │ │ │ │ │ │ │ │ │ │ , │ │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │ │ │ │ │ │ │ │ │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define UA_HRYV S(UA_QUOT) // ₴
103#define UA_EXLM S(UA_1) // !
104#define UA_DQUO S(UA_2) // "
105#define UA_NUM S(UA_3) // №
106#define UA_SCLN S(UA_4) // ;
107#define UA_PERC S(UA_5) // %
108#define UA_COLN S(UA_6) // :
109#define UA_QUES S(UA_7) // ?
110#define UA_ASTR S(UA_8) // *
111#define UA_LPRN S(UA_9) // (
112#define UA_RPRN S(UA_0) // )
113#define UA_UNDS S(UA_MINS) // _
114#define UA_PLUS S(UA_EQL) // +
115// Row 2
116#define UA_SLSH S(UA_BSLS) // /
117// Row 4
118#define UA_COMM S(UA_DOT) // ,
119
120/* AltGr symbols
121 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
122 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
123 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
124 * │ │ │ │ │ │ │ │ ґ │ │ │ │ │ │ │
125 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
126 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
127 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
128 * │ │ │ │ │ │ │ │ │ │ │ │ │
129 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
130 * │ │ │ │ │ │ │ │ │
131 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
132 */
133// Row 2
134#define UA_GE ALGR(UA_HE) // ґ