aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2020-02-21 18:21:38 +1100
committerGitHub <noreply@github.com>2020-02-21 18:21:38 +1100
commit562482c234d464df6bedfaf9eb91ddc516e77ea3 (patch)
tree4530e381c242a65658c9dbff593efc5606802a61
parent66d7fc34b2214282fd822f66abca0905ec5a1ffe (diff)
downloadqmk_firmware-562482c234d464df6bedfaf9eb91ddc516e77ea3.tar.gz
qmk_firmware-562482c234d464df6bedfaf9eb91ddc516e77ea3.zip
Add Turkish keymap aliases and sendstring LUT (#7676)
* Add Turkish keymap aliases and sendstring LUT * Split into F and Q layouts
-rw-r--r--quantum/keymap_extras/keymap_turkish_f.h197
-rw-r--r--quantum/keymap_extras/keymap_turkish_q.h156
-rw-r--r--quantum/keymap_extras/sendstring_turkish_f.h99
-rw-r--r--quantum/keymap_extras/sendstring_turkish_q.h99
4 files changed, 551 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_turkish_f.h b/quantum/keymap_extras/keymap_turkish_f.h
new file mode 100644
index 000000000..acb130c83
--- /dev/null
+++ b/quantum/keymap_extras/keymap_turkish_f.h
@@ -0,0 +1,197 @@
1/* Copyright 2019
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 * │     │ F │ G │ Ğ │ I │ O │ D │ R │ N │ H │ P │ Q │ W │     │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
29 * │      │ U │ İ │ E │ A │ Ü │ T │ K │ M │ L │ Y │ Ş │ X │    │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │    │ < │ J │ Ö │ V │ C │ Ç │ Z │ S │ B │ . │ , │          │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │    │    │    │                        │    │    │    │    │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define TR_PLUS KC_GRV // +
38#define TR_1 KC_1 // 1
39#define TR_2 KC_2 // 2
40#define TR_3 KC_3 // 3
41#define TR_4 KC_4 // 4
42#define TR_5 KC_5 // 5
43#define TR_6 KC_6 // 6
44#define TR_7 KC_7 // 7
45#define TR_8 KC_8 // 8
46#define TR_9 KC_9 // 9
47#define TR_0 KC_0 // 0
48#define TR_SLSH KC_MINS // /
49#define TR_MINS KC_EQL // -
50// Row 2
51#define TR_F KC_Q // F
52#define TR_G KC_W // G
53#define TR_GBRV KC_E // Ğ
54#define TR_I KC_R // I
55#define TR_O KC_T // O
56#define TR_D KC_Y // D
57#define TR_R KC_U // R
58#define TR_N KC_I // N
59#define TR_H KC_O // H
60#define TR_P KC_P // P
61#define TR_Q KC_LBRC // Q
62#define TR_W KC_RBRC // W
63// Row 3
64#define TR_U KC_A // U
65#define TR_IDOT KC_S // İ
66#define TR_E KC_D // E
67#define TR_A KC_F // A
68#define TR_UDIA KC_G // Ü
69#define TR_T KC_H // T
70#define TR_K KC_J // K
71#define TR_M KC_K // M
72#define TR_L KC_L // L
73#define TR_Y KC_SCLN // Y
74#define TR_SCED KC_QUOT // Ş
75#define TR_X KC_NUHS // X
76// Row 4
77#define TR_LABK KC_NUBS // <
78#define TR_J KC_Z // J
79#define TR_ODIA KC_X // Ö
80#define TR_V KC_C // V
81#define TR_C KC_V // C
82#define TR_CCED KC_B // Ç
83#define TR_Z KC_N // Z
84#define TR_S KC_M // S
85#define TR_B KC_COMM // B
86#define TR_DOT KC_DOT // .
87#define TR_COMM KC_SLSH // ,
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ * │ ! │ " │ ^ │ $ │ % │ & │ ' │ ( │ ) │ = │ ? │ _ │       │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
95 * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │    │ > │   │   │   │   │   │   │   │   │ : │ ; │          │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │    │    │    │                        │    │    │    │    │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define TR_ASTR S(TR_PLUS) // *
104#define TR_EXLM S(TR_1) // !
105#define TR_DQUO S(TR_2) // "
106#define TR_CIRC S(TR_3) // ^ (dead)
107#define TR_DLR S(TR_4) // $
108#define TR_PERC S(TR_5) // %
109#define TR_AMPR S(TR_6) // &
110#define TR_QUOT S(TR_7) // '
111#define TR_LPRN S(TR_8) // (
112#define TR_RPRN S(TR_9) // )
113#define TR_EQL S(TR_0) // =
114#define TR_QUES S(TR_ASTR) // ?
115#define TR_UNDS S(TR_MINS) // _
116// Row 4
117#define TR_RABK S(TR_LABK) // >
118#define TR_COLN S(TR_DOT) // :
119#define TR_SCLN S(TR_COMM) // ;
120
121/* AltGr symbols
122 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
123 * │ ¬ │ ¹ │ ² │ # │ ¼ │ ½ │ ¾ │ { │ [ │ ] │ } │ \ │ | │       │
124 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
125 * │     │ @ │   │   │ ¶ │   │ ¥ │   │   │ Ø │ £ │ ¨ │ ~ │     │
126 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
127 * │      │ Æ │ ß │ € │   │   │ ₺ │   │   │   │ ´ │   │ ` │    │
128 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
129 * │    │   │ « │ » │ ¢ │   │   │   │ µ │ × │ ÷ │ - │          │
130 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
131 * │    │    │    │                        │    │    │    │    │
132 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
133 */
134// Row 1
135#define TR_NOT ALGR(TR_PLUS) // ¬
136#define TR_SUP1 ALGR(TR_1) // ¹
137#define TR_SUP2 ALGR(TR_2) // ²
138#define TR_HASH ALGR(TR_3) // #
139#define TR_QRTR ALGR(TR_4) // ¼
140#define TR_HALF ALGR(TR_5) // ½
141#define TR_TQTR ALGR(TR_6) // ¾
142#define TR_LCBR ALGR(TR_7) // {
143#define TR_LBRC ALGR(TR_8) // [
144#define TR_RBRC ALGR(TR_9) // ]
145#define TR_RCBR ALGR(TR_0) // }
146#define TR_BSLS ALGR(TR_SLSH) // (backslash)
147#define TR_PIPE ALGR(TR_MINS) // |
148// Row 2
149#define TR_AT ALGR(TR_F) // @
150#define TR_PILC ALGR(TR_I) // ¶
151#define TR_YEN ALGR(TR_D) // ¥
152#define TR_OSTR ALGR(TR_H) // Ø
153#define TR_PND ALGR(TR_P) // £
154#define TR_DIAE ALGR(TR_Q) // ¨ (dead)
155#define TR_TILD ALGR(TR_W) // ~ (dead)
156// Row 3
157#define TR_AE ALGR(TR_U) // Æ
158#define TR_SS ALGR(TR_IDOT) // ß
159#define TR_EURO ALGR(TR_E) // €
160#define TR_LIRA ALGR(TR_T) // ₺
161#define TR_ACUT ALGR(TR_Y) // ´ (dead)
162#define TR_GRV ALGR(TR_X) // ` (dead)
163// Row 4
164#define TR_LDAQ ALGR(TR_J) // «
165#define TR_RDAQ ALGR(TR_ODIA) // »
166#define TR_CENT ALGR(TR_V) // ¢
167#define TR_MICR ALGR(TR_S) // µ
168#define TR_MUL ALGR(TR_B) // ×
169#define TR_DIV ALGR(TR_DOT) // ÷
170#define TR_SHYP ALGR(TR_COMM) // (soft hyphen)
171
172/* Shift+AltGr symbols
173 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
174 * │   │   │   │ ³ │ ¤ │   │   │   │   │   │   │ ¿ │   │       │
175 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
176 * │     │   │   │   │ ® │   │   │   │   │   │   │   │   │     │
177 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
178 * │      │   │ § │   │ ª │   │   │   │   │   │   │   │   │    │
179 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
180 * │    │ ¦ │   │   │ © │   │   │   │ º │   │   │   │          │
181 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
182 * │    │    │    │                        │    │    │    │    │
183 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
184 */
185// Row 1
186#define TR_SUP3 S(ALGR(TR_3)) // ³
187#define TR_CURR S(ALGR(TR_4)) // ¤
188#define TR_IQUE S(ALGR(TR_SLSH)) // ¿
189// Row 2
190#define TR_REGD S(ALGR(TR_I) // ®
191// Row 3
192#define TR_SECT S(ALGR(TR_IDOT)) // §
193#define TR_FORD S(ALGR(TR_A)) // ª
194// Row 4
195#define TR_BRKP S(ALGR(TR_LABK)) // ¦
196#define TR_COPY S(ALGR(TR_V)) // ©
197#define TR_MORD S(ALGR(TR_S)) // º
diff --git a/quantum/keymap_extras/keymap_turkish_q.h b/quantum/keymap_extras/keymap_turkish_q.h
new file mode 100644
index 000000000..738718d2d
--- /dev/null
+++ b/quantum/keymap_extras/keymap_turkish_q.h
@@ -0,0 +1,156 @@
1/* Copyright 2019
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 * │     │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ğ │ Ü │     │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
29 * │      │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ş │ İ │ , │    │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │    │ < │ Z │ X │ C │ V │ B │ N │ M │ Ö │ Ç │ . │          │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │    │    │    │                        │    │    │    │    │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define TR_DQUO KC_GRV // "
38#define TR_1 KC_1 // 1
39#define TR_2 KC_2 // 2
40#define TR_3 KC_3 // 3
41#define TR_4 KC_4 // 4
42#define TR_5 KC_5 // 5
43#define TR_6 KC_6 // 6
44#define TR_7 KC_7 // 7
45#define TR_8 KC_8 // 8
46#define TR_9 KC_9 // 9
47#define TR_0 KC_0 // 0
48#define TR_ASTR KC_MINS // *
49#define TR_MINS KC_EQL // -
50// Row 2
51#define TR_Q KC_Q // Q
52#define TR_W KC_W // W
53#define TR_E KC_E // E
54#define TR_R KC_R // R
55#define TR_T KC_T // T
56#define TR_Y KC_Y // Y
57#define TR_U KC_U // U
58#define TR_I KC_I // I
59#define TR_O KC_O // O
60#define TR_P KC_P // P
61#define TR_GBRV KC_LBRC // Ğ
62#define TR_UDIA KC_RBRC // Ü
63// Row 3
64#define TR_A KC_A // A
65#define TR_S KC_S // S
66#define TR_D KC_D // D
67#define TR_F KC_F // F
68#define TR_G KC_G // G
69#define TR_H KC_H // H
70#define TR_J KC_J // J
71#define TR_K KC_K // K
72#define TR_L KC_L // L
73#define TR_SCED KC_SCLN // Ş
74#define TR_IDOT KC_QUOT // İ
75#define TR_COMM KC_NUHS // ,
76// Row 4
77#define TR_LABK KC_NUBS // <
78#define TR_Z KC_Z // Z
79#define TR_X KC_X // X
80#define TR_C KC_C // C
81#define TR_V KC_V // V
82#define TR_B KC_B // B
83#define TR_N KC_N // N
84#define TR_M KC_M // M
85#define TR_ODIA KC_COMM // Ö
86#define TR_CCED KC_DOT // Ç
87#define TR_DOT KC_SLSH // .
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ é │ ! │ ' │ ^ │ + │ % │ & │ / │ ( │ ) │ = │ ? │ _ │       │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
95 * │      │   │   │   │   │   │   │   │   │   │   │   │ ; │    │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │    │ > │   │   │   │   │   │   │   │   │   │ : │          │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │    │    │    │                        │    │    │    │    │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define TR_EACU S(TR_DQUO) // é
104#define TR_EXLM S(TR_1) // !
105#define TR_QUOT S(TR_2) // '
106#define TR_CIRC S(TR_3) // ^ (dead)
107#define TR_PLUS S(TR_4) // +
108#define TR_PERC S(TR_5) // %
109#define TR_AMPR S(TR_6) // &
110#define TR_SLSH S(TR_7) // /
111#define TR_LPRN S(TR_8) // (
112#define TR_RPRN S(TR_9) // )
113#define TR_EQL S(TR_0) // =
114#define TR_QUES S(TR_ASTR) // ?
115#define TR_UNDS S(TR_MINS) // _
116// Row 3
117#define TR_SCLN S(TR_COMM) // ;
118// Row 4
119#define TR_RABK S(TR_LABK) // >
120#define TR_COLN S(TR_DOT) // :
121
122/* AltGr symbols
123 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
124 * │   │   │ £ │ # │ $ │ ½ │   │ { │ [ │ ] │ } │ \ │ | │       │
125 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
126 * │     │ @ │   │ € │   │ ₺ │   │   │   │   │   │ ¨ │ ~ │     │
127 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
128 * │      │ Æ │ ß │   │   │   │   │   │   │   │ ´ │   │ ` │    │
129 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
130 * │    │   │   │   │   │   │   │   │   │   │   │   │          │
131 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
132 * │    │    │    │                        │    │    │    │    │
133 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
134 */
135// Row 1
136#define TR_PND ALGR(TR_2) // £
137#define TR_HASH ALGR(TR_3) // #
138#define TR_DLR ALGR(TR_4) // $
139#define TR_HALF ALGR(TR_5) // ½
140#define TR_LCBR ALGR(TR_7) // {
141#define TR_LBRC ALGR(TR_8) // [
142#define TR_RBRC ALGR(TR_9) // ]
143#define TR_RCBR ALGR(TR_0) // }
144#define TR_BSLS ALGR(TR_ASTR) // (backslash)
145#define TR_PIPE ALGR(TR_MINS) // |
146// Row 2
147#define TR_AT ALGR(TR_Q) // @
148#define TR_EURO ALGR(TR_E) // €
149#define TR_LIRA ALGR(TR_T) // ₺
150#define TR_DIAE ALGR(TR_GBRV) // ¨ (dead)
151#define TR_TILD ALGR(TR_UDIA) // ~ (dead)
152// Row 3
153#define TR_AE ALGR(TR_A) // Æ
154#define TR_SS ALGR(TR_S) // ß
155#define TR_ACUT ALGR(TR_SCED) // ´ (dead)
156#define TR_GRV ALGR(TR_COMM) // ` (dead)
diff --git a/quantum/keymap_extras/sendstring_turkish_f.h b/quantum/keymap_extras/sendstring_turkish_f.h
new file mode 100644
index 000000000..82dbbdbcb
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_turkish_f.h
@@ -0,0 +1,99 @@
1/* Copyright 2019
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// Sendstring lookup tables for Turkish F layouts
18
19#pragma once
20
21#include "keymap_turkish_f.h"
22
23// clang-format off
24
25const bool ascii_to_shift_lut[128] PROGMEM = {
26 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,
30
31 0, 1, 1, 0, 1, 1, 1, 1,
32 1, 1, 1, 0, 0, 0, 0, 0,
33 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 1, 1, 0, 1, 1, 1,
35 0, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 0, 0, 0, 1, 1,
39 0, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0
43};
44
45const bool ascii_to_altgr_lut[128] PROGMEM = {
46 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0,
50
51 0, 0, 0, 1, 0, 0, 0, 0,
52 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0,
54 0, 0, 0, 0, 0, 0, 0, 0,
55 1, 0, 0, 0, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 1, 1, 1, 0, 0,
59 1, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 1, 1, 1, 1, 0
63};
64
65const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
66 // NUL SOH STX ETX EOT ENQ ACK BEL
67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
68 // BS TAB LF VT FF CR SO SI
69 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
70 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
72 // CAN EM SUB ESC FS GS RS US
73 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
74
75 // ! " # $ % & '
76 KC_SPC, TR_1, TR_2, TR_3, TR_4, TR_5, TR_6, TR_7,
77 // ( ) * + , - . /
78 TR_8, TR_9, TR_PLUS, TR_PLUS, TR_COMM, TR_MINS, TR_DOT, TR_SLSH,
79 // 0 1 2 3 4 5 6 7
80 TR_0, TR_1, TR_2, TR_3, TR_4, TR_5, TR_6, TR_7,
81 // 8 9 : ; < = > ?
82 TR_8, TR_9, TR_DOT, TR_COMM, TR_LABK, TR_0, TR_LABK, TR_SLSH,
83 // @ A B C D E F G
84 TR_F, TR_A, TR_B, TR_C, TR_D, TR_E, TR_F, TR_G,
85 // H I J K L M N O
86 TR_H, TR_I, TR_J, TR_K, TR_L, TR_M, TR_N, TR_O,
87 // P Q R S T U V W
88 TR_P, TR_Q, TR_R, TR_S, TR_T, TR_U, TR_V, TR_W,
89 // X Y Z [ \ ] ^ _
90 TR_X, TR_Y, TR_Z, TR_8, TR_SLSH, TR_9, TR_3, TR_MINS,
91 // ` a b c d e f g
92 TR_X, TR_A, TR_B, TR_C, TR_D, TR_E, TR_F, TR_G,
93 // h i j k l m n o
94 TR_H, TR_I, TR_J, TR_K, TR_L, TR_M, TR_N, TR_O,
95 // p q r s t u v w
96 TR_P, TR_Q, TR_R, TR_S, TR_T, TR_U, TR_V, TR_W,
97 // x y z { | } ~ DEL
98 TR_X, TR_Y, TR_Z, TR_7, TR_MINS, TR_0, TR_W, KC_DEL
99};
diff --git a/quantum/keymap_extras/sendstring_turkish_q.h b/quantum/keymap_extras/sendstring_turkish_q.h
new file mode 100644
index 000000000..58505b849
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_turkish_q.h
@@ -0,0 +1,99 @@
1/* Copyright 2019
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// Sendstring lookup tables for Turkish Q layouts
18
19#pragma once
20
21#include "keymap_turkish_q.h"
22
23// clang-format off
24
25const bool ascii_to_shift_lut[128] PROGMEM = {
26 0, 0, 0, 0, 0, 0, 0, 0,
27 0, 0, 0, 0, 0, 0, 0, 0,
28 0, 0, 0, 0, 0, 0, 0, 0,
29 0, 0, 0, 0, 0, 0, 0, 0,
30
31 0, 1, 0, 0, 0, 1, 1, 1,
32 1, 1, 0, 1, 0, 0, 0, 1,
33 0, 0, 0, 0, 0, 0, 0, 0,
34 0, 0, 1, 1, 0, 1, 1, 1,
35 0, 1, 1, 1, 1, 1, 1, 1,
36 1, 1, 1, 1, 1, 1, 1, 1,
37 1, 1, 1, 1, 1, 1, 1, 1,
38 1, 1, 1, 0, 0, 0, 1, 1,
39 0, 0, 0, 0, 0, 0, 0, 0,
40 0, 0, 0, 0, 0, 0, 0, 0,
41 0, 0, 0, 0, 0, 0, 0, 0,
42 0, 0, 0, 0, 0, 0, 0, 0
43};
44
45const bool ascii_to_altgr_lut[128] PROGMEM = {
46 0, 0, 0, 0, 0, 0, 0, 0,
47 0, 0, 0, 0, 0, 0, 0, 0,
48 0, 0, 0, 0, 0, 0, 0, 0,
49 0, 0, 0, 0, 0, 0, 0, 0,
50
51 0, 0, 0, 1, 1, 0, 0, 0,
52 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, 0, 0, 0, 0, 0,
54 0, 0, 0, 0, 0, 0, 0, 0,
55 1, 0, 0, 0, 0, 0, 0, 0,
56 0, 0, 0, 0, 0, 0, 0, 0,
57 0, 0, 0, 0, 0, 0, 0, 0,
58 0, 0, 0, 1, 1, 1, 0, 0,
59 1, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 1, 1, 1, 1, 0
63};
64
65const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
66 // NUL SOH STX ETX EOT ENQ ACK BEL
67 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
68 // BS TAB LF VT FF CR SO SI
69 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
70 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
71 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
72 // CAN EM SUB ESC FS GS RS US
73 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
74
75 // ! " # $ % & '
76 KC_SPC, TR_1, TR_DQUO, TR_3, TR_4, TR_5, TR_6, TR_2,
77 // ( ) * + , - . /
78 TR_8, TR_9, TR_ASTR, TR_4, TR_COMM, TR_MINS, TR_DOT, TR_7,
79 // 0 1 2 3 4 5 6 7
80 TR_0, TR_1, TR_2, TR_3, TR_4, TR_5, TR_6, TR_7,
81 // 8 9 : ; < = > ?
82 TR_8, TR_9, TR_DOT, TR_COMM, TR_LABK, TR_0, TR_LABK, TR_ASTR,
83 // @ A B C D E F G
84 TR_Q, TR_A, TR_B, TR_C, TR_D, TR_E, TR_F, TR_G,
85 // H I J K L M N O
86 TR_H, TR_I, TR_J, TR_K, TR_L, TR_M, TR_N, TR_O,
87 // P Q R S T U V W
88 TR_P, TR_Q, TR_R, TR_S, TR_T, TR_U, TR_V, TR_W,
89 // X Y Z [ \ ] ^ _
90 TR_X, TR_Y, TR_Z, TR_8, TR_ASTR, TR_9, TR_3, TR_MINS,
91 // ` a b c d e f g
92 TR_COMM, TR_A, TR_B, TR_C, TR_D, TR_E, TR_F, TR_G,
93 // h i j k l m n o
94 TR_H, TR_I, TR_J, TR_K, TR_L, TR_M, TR_N, TR_O,
95 // p q r s t u v w
96 TR_P, TR_Q, TR_R, TR_S, TR_T, TR_U, TR_V, TR_W,
97 // x y z { | } ~ DEL
98 TR_X, TR_Y, TR_Z, TR_7, TR_MINS, TR_0, TR_UDIA, KC_DEL
99};