aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2020-04-01 14:00:34 +1100
committerGitHub <noreply@github.com>2020-04-01 14:00:34 +1100
commit17af712b7c3190a504110cc38a509c7da8e533a0 (patch)
treece75889a704545380b6ceb2a027670bf95c2ea03
parent712ded1f2f0966e108c87172e5061f9673f398b7 (diff)
downloadqmk_firmware-17af712b7c3190a504110cc38a509c7da8e533a0.tar.gz
qmk_firmware-17af712b7c3190a504110cc38a509c7da8e533a0.zip
Add Lithuanian keymap and sendstring LUT (#8562)
* Add Lithuanian keymap and sendstring LUT * Add Lithuanian AZERTY
-rw-r--r--quantum/keymap_extras/keymap_lithuanian_azerty.h156
-rw-r--r--quantum/keymap_extras/keymap_lithuanian_qwerty.h166
-rw-r--r--quantum/keymap_extras/sendstring_lithuanian_azerty.h100
-rw-r--r--quantum/keymap_extras/sendstring_lithuanian_qwerty.h80
4 files changed, 502 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_lithuanian_azerty.h b/quantum/keymap_extras/keymap_lithuanian_azerty.h
new file mode 100644
index 000000000..68bcd6dc1
--- /dev/null
+++ b/quantum/keymap_extras/keymap_lithuanian_azerty.h
@@ -0,0 +1,156 @@
1/* Copyright 2020
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 * │ ` │ ! │ - │ / │ ; │ : │ , │ . │ = │ ( │ ) │ ? │ X │       │
26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │     │ Ą │ Ž │ E │ R │ T │ Y │ U │ I │ O │ P │ Į │ W │     │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
29 * │      │ A │ S │ D │ Š │ G │ H │ J │ K │ L │ Ų │ Ė │ Q │    │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │    │ < │ Z │ Ū │ C │ V │ B │ N │ M │ Č │ F │ Ę │          │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │    │    │    │                        │    │    │    │    │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define LT_GRV KC_GRV // `
38#define LT_EXLM KC_1 // !
39#define LT_MINS KC_2 // -
40#define LT_SLSH KC_3 // /
41#define LT_SCLN KC_4 // ;
42#define LT_COLN KC_5 // :
43#define LT_COMM KC_6 // ,
44#define LT_DOT KC_7 // .
45#define LT_EQL KC_8 // =
46#define LT_LPRN KC_9 // (
47#define LT_RPRN KC_0 // )
48#define LT_QUES KC_MINS // ?
49#define LT_X KC_EQL // X
50// Row 2
51#define LT_AOGO KC_Q // Ą
52#define LT_ZCAR KC_W // Ž
53#define LT_E KC_E // E
54#define LT_R KC_R // R
55#define LT_T KC_T // T
56#define LT_Y KC_Y // Y
57#define LT_U KC_U // U
58#define LT_I KC_I // I
59#define LT_O KC_O // O
60#define LT_P KC_P // P
61#define LT_IOGO KC_LBRC // Į
62#define LT_W KC_RBRC // W
63// Row 3
64#define LT_A KC_A // A
65#define LT_S KC_S // S
66#define LT_D KC_D // D
67#define LT_SCAR KC_F // Š
68#define LT_G KC_G // G
69#define LT_H KC_H // H
70#define LT_J KC_J // J
71#define LT_K KC_K // K
72#define LT_L KC_L // L
73#define LT_UOGO KC_SCLN // Ų
74#define LT_EDOT KC_QUOT // Ė
75#define LT_Q KC_NUHS // Q
76// Row 4
77#define LT_LABK KC_NUBS // <
78#define LT_Z KC_Z // Z
79#define LT_UMAC KC_X // Ū
80#define LT_C KC_C // C
81#define LT_V KC_V // V
82#define LT_B KC_B // B
83#define LT_N KC_N // N
84#define LT_M KC_M // M
85#define LT_CCAR KC_COMM // Č
86#define LT_F KC_DOT // F
87#define LT_EOGO KC_SLSH // Ę
88
89/* Shifted symbols
90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
91 * │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │   │       │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
95 * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │    │ > │   │   │   │   │   │   │   │   │   │   │          │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │    │    │    │                        │    │    │    │    │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define LT_TILD S(LT_GRV) // ~
104#define LT_1 S(LT_EXLM) // 1
105#define LT_2 S(LT_MINS) // 2
106#define LT_3 S(LT_SLSH) // 3
107#define LT_4 S(LT_SCLN) // 4
108#define LT_5 S(LT_COLN) // 5
109#define LT_6 S(LT_COMM) // 6
110#define LT_7 S(LT_DOT) // 7
111#define LT_8 S(LT_EQL) // 8
112#define LT_9 S(LT_LPRN) // 9
113#define LT_0 S(LT_RPRN) // 0
114#define LT_PLUS S(LT_QUES) // +
115// Row 4
116#define LT_RABK S(LT_LABK) // >
117
118/* AltGr symbols
119 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
120 * │ ´ │ @ │ _ │ # │ $ │ § │ ^ │ & │ * │ [ │ ] │ ' │ % │       │
121 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
122 * │     │   │   │ € │   │   │   │   │   │   │   │ { │ } │     │
123 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
124 * │      │   │   │   │   │   │   │   │   │   │   │ " │ | │    │
125 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
126 * │    │ – │   │   │   │   │   │   │   │ „ │ “ │ \ │          │
127 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
128 * │    │    │    │                        │    │    │    │    │
129 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
130 */
131// Row 1
132#define LT_ACUT ALGR(LT_GRV) // ´
133#define LT_AT ALGR(LT_EXLM) // @
134#define LT_UNDS ALGR(LT_MINS) // _
135#define LT_HASH ALGR(LT_SLSH) // #
136#define LT_DLR ALGR(LT_SCLN) // $
137#define LT_SECT ALGR(LT_COLN) // §
138#define LT_CIRC ALGR(LT_COMM) // ^
139#define LT_AMPR ALGR(LT_DOT) // &
140#define LT_ASTR ALGR(LT_EQL) // *
141#define LT_LBRC ALGR(LT_LRPN) // [
142#define LT_RBRC ALGR(LT_RPRN) // ]
143#define LT_QUOT ALGR(LT_QUES) // '
144#define LT_PERC ALGR(LT_X) // %
145// Row 2
146#define LT_EURO ALGR(LT_E) // €
147#define LT_LCBR ALGR(LT_IOGO) // {
148#define LT_RCBR ALGR(LT_W) // }
149// Row 3
150#define LT_DQUO ALGR(LT_EDOT) // "
151#define LT_PIPE ALGR(LT_Q) // |
152// Row 4
153#define LT_NDSH ALGR(LT_LABK) // –
154#define LT_DLQU ALGR(LT_CCAR) // „
155#define LT_LDQU ALGR(LT_F) // “
156#define LT_BSLS ALGR(LT_EOGO) // (backslash)
diff --git a/quantum/keymap_extras/keymap_lithuanian_qwerty.h b/quantum/keymap_extras/keymap_lithuanian_qwerty.h
new file mode 100644
index 000000000..0f92562a1
--- /dev/null
+++ b/quantum/keymap_extras/keymap_lithuanian_qwerty.h
@@ -0,0 +1,166 @@
1/* Copyright 2020
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 * │ ` │ Ą │ Č │ Ę │ Ė │ Į │ Š │ Ų │ Ū │ 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 LT_GRV KC_GRV // `
38#define LT_AOGO KC_1 // Ą
39#define LT_CCAR KC_2 // Č
40#define LT_EOGO KC_3 // Ę
41#define LT_EDOT KC_4 // Ė
42#define LT_IOGO KC_5 // Į
43#define LT_SCAR KC_6 // Š
44#define LT_UOGO KC_7 // Ų
45#define LT_UMAC KC_8 // Ū
46#define LT_9 KC_9 // 9
47#define LT_0 KC_0 // 0
48#define LT_MINS KC_MINS // -
49#define LT_ZCAR KC_EQL // Ž
50// Row 2
51#define LT_Q KC_Q // Q
52#define LT_W KC_W // W
53#define LT_E KC_E // E
54#define LT_R KC_R // R
55#define LT_T KC_T // T
56#define LT_Y KC_Y // Y
57#define LT_U KC_U // U
58#define LT_I KC_I // I
59#define LT_O KC_O // O
60#define LT_P KC_P // P
61#define LT_LBRC KC_LBRC // [
62#define LT_RBRC KC_RBRC // ]
63// Row 3
64#define LT_A KC_A // A
65#define LT_S KC_S // S
66#define LT_D KC_D // D
67#define LT_F KC_F // F
68#define LT_G KC_G // G
69#define LT_H KC_H // H
70#define LT_J KC_J // J
71#define LT_K KC_K // K
72#define LT_L KC_L // L
73#define LT_SCLN KC_SCLN // ;
74#define LT_QUOT KC_QUOT // '
75#define LT_BSLS KC_NUHS // (backslash)
76// Row 4
77#define LT_Z KC_Z // Z
78#define LT_X KC_X // X
79#define LT_C KC_C // C
80#define LT_V KC_V // V
81#define LT_B KC_B // B
82#define LT_N KC_N // N
83#define LT_M KC_M // M
84#define LT_COMM KC_COMM // ,
85#define LT_DOT KC_DOT // .
86#define LT_SLSH KC_SLSH // /
87
88/* Shifted symbols
89 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
90 * │ ~ │   │   │   │   │   │   │   │   │ ( │ ) │ _ │   │       │
91 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
92 * │     │   │   │   │   │   │   │   │   │   │   │ { │ } │     │
93 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
94 * │      │   │   │   │   │   │   │   │   │   │ : │ " │ | │    │
95 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
96 * │        │   │   │   │   │   │   │   │ < │ > │ ? │          │
97 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
98 * │    │    │    │                        │    │    │    │    │
99 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
100 */
101// Row 1
102#define LT_TILD S(LT_GRV) // ~
103#define LT_LPRN S(LT_9) // (
104#define LT_RPRN S(LT_0) // )
105#define LT_UNDS S(LT_MINS) // *
106// Row 2
107#define LT_LCBR S(LT_LBRC) // {
108#define LT_RCBR S(LT_RBRC) // }
109// Row 3
110#define LT_COLN S(LT_SCLN) // ;
111#define LT_DQUO S(LT_QUOT) // "
112#define LT_PIPE S(LT_BSLS) // |
113// Row 4
114#define LT_LABK S(LT_COMM) // <
115#define LT_RABK S(LT_DOT) // >
116#define LT_QUES S(LT_SLSH) // ?
117
118/* AltGr symbols
119 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
120 * │   │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │   │   │   │ = │       │
121 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
122 * │     │   │   │ € │   │   │   │   │   │   │   │   │   │     │
123 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
124 * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │
125 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
126 * │        │   │   │   │   │   │   │   │   │   │   │          │
127 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
128 * │    │    │    │                        │    │    │    │    │
129 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
130 */
131// Row 1
132#define LT_1 ALGR(LT_AOGO) // 1
133#define LT_2 ALGR(LT_CCAR) // 2
134#define LT_3 ALGR(LT_EOGO) // 3
135#define LT_4 ALGR(LT_EDOT) // 4
136#define LT_5 ALGR(LT_IOGO) // 5
137#define LT_6 ALGR(LT_SCAR) // 6
138#define LT_7 ALGR(LT_UOGO) // 7
139#define LT_8 ALGR(LT_UMAC) // 8
140#define LT_EQL ALGR(LT_PLUS) // =
141// Row 2
142#define LT_EURO ALGR(LT_E) // €
143
144/* Shift+AltGr symbols
145 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
146 * │   │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │   │   │   │ + │       │
147 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
148 * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │
149 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
150 * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │
151 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
152 * │        │   │   │   │   │   │   │   │   │   │   │          │
153 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
154 * │    │    │    │                        │    │    │    │    │
155 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
156 */
157// Row 1
158#define LT_EXLM S(ALGR(LT_AOGO)) // !
159#define LT_AT S(ALGR(LT_CCAR)) // @
160#define LT_HASH S(ALGR(LT_EOGO)) // #
161#define LT_DLR S(ALGR(LT_EDOT)) // $
162#define LT_PERC S(ALGR(LT_IOGO)) // %
163#define LT_CIRC S(ALGR(LT_SCAR)) // ^
164#define LT_AMPR S(ALGR(LT_UOGO)) // &
165#define LT_ASTR S(ALGR(LT_UMAC)) // *
166#define LT_PLUS S(ALGR(LT_PLUS)) // +
diff --git a/quantum/keymap_extras/sendstring_lithuanian_azerty.h b/quantum/keymap_extras/sendstring_lithuanian_azerty.h
new file mode 100644
index 000000000..7498a3dc4
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_lithuanian_azerty.h
@@ -0,0 +1,100 @@
1/* Copyright 2020
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 Lithuanian ĄŽERTY layouts
18
19#pragma once
20
21#include "keymap_lithuanian_azerty.h"
22#include "quantum.h"
23
24// clang-format off
25
26const uint8_t ascii_to_shift_lut[16] PROGMEM = {
27 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
28 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
29 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
30 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
31
32 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
33 KCLUT_ENTRY(0, 0, 0, 1, 0, 0, 0, 0),
34 KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
35 KCLUT_ENTRY(1, 1, 0, 0, 0, 0, 1, 0),
36 KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1),
37 KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
38 KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
39 KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 0),
40 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
41 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
42 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
43 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0)
44};
45
46const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
47 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
48 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
49 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
50 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
51
52 KCLUT_ENTRY(0, 0, 1, 1, 1, 1, 1, 1),
53 KCLUT_ENTRY(0, 0, 1, 0, 0, 0, 0, 0),
54 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
55 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
56 KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
57 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
58 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
59 KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 1),
60 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
61 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
62 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
63 KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0)
64};
65
66const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
67 // NUL SOH STX ETX EOT ENQ ACK BEL
68 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
69 // BS TAB LF VT FF CR SO SI
70 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
71 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
72 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
73 // CAN EM SUB ESC FS GS RS US
74 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
75
76 // ! " # $ % & '
77 KC_SPC, LT_EXLM, LT_EDOT, LT_SLSH, LT_SCLN, LT_X, LT_DOT, LT_QUES,
78 // ( ) * + , - . /
79 LT_LRPN, LT_RPRN, LT_EQL, LT_QUES, LT_COMM, LT_MINS, LT_DOT, LT_SLSH,
80 // 0 1 2 3 4 5 6 7
81 LT_RPRN, LT_EXLM, LT_MINS, LT_SLSH, LT_SLCN, LT_COLN, LT_COMM, LT_DOT,
82 // 8 9 : ; < = > ?
83 LT_EQL, LT_LPRN, LT_COLN, LT_SCLN, LT_LABK, LT_EQL, LT_LABK, LT_QUES,
84 // @ A B C D E F G
85 LT_EXLM, LT_A, LT_B, LT_C, LT_D, LT_E, LT_F, LT_G,
86 // H I J K L M N O
87 LT_H, LT_I, LT_J, LT_K, LT_L, LT_M, LT_N, LT_O,
88 // P Q R S T U V W
89 LT_P, LT_Q, LT_R, LT_S, LT_T, LT_U, LT_V, LT_W,
90 // X Y Z [ \ ] ^ _
91 LT_X, LT_Y, LT_Z, LT_LPRN, LT_EOGO, LT_RPRN, LT_COMM, LT_MINS,
92 // ` a b c d e f g
93 LT_GRV, LT_A, LT_B, LT_C, LT_D, LT_E, LT_F, LT_G,
94 // h i j k l m n o
95 LT_H, LT_I, LT_J, LT_K, LT_L, LT_M, LT_N, LT_O,
96 // p q r s t u v w
97 LT_P, LT_Q, LT_R, LT_S, LT_T, LT_U, LT_V, LT_W,
98 // x y z { | } ~ DEL
99 LT_X, LT_Y, LT_Z, LT_IOGO, LT_Q, LT_W, LT_GRV, KC_DEL
100};
diff --git a/quantum/keymap_extras/sendstring_lithuanian_qwerty.h b/quantum/keymap_extras/sendstring_lithuanian_qwerty.h
new file mode 100644
index 000000000..69cb94de7
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_lithuanian_qwerty.h
@@ -0,0 +1,80 @@
1/* Copyright 2020
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 Lithuanian QWERTY layouts
18
19#pragma once
20
21#include "keymap_lithuanian_qwerty.h"
22#include "quantum.h"
23
24// clang-format off
25
26const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
27 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
28 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
29 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
30 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
31
32 KCLUT_ENTRY(0, 1, 0, 1, 1, 1, 1, 0),
33 KCLUT_ENTRY(0, 0, 1, 1, 0, 0, 0, 0),
34 KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1),
35 KCLUT_ENTRY(1, 0, 0, 0, 0, 1, 0, 0),
36 KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
37 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
38 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
39 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0),
40 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
41 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
42 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
43 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
44};
45
46const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
47 // NUL SOH STX ETX EOT ENQ ACK BEL
48 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
49 // BS TAB LF VT FF CR SO SI
50 KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
51 // DLE DC1 DC2 DC3 DC4 NAK SYN ETB
52 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
53 // CAN EM SUB ESC FS GS RS US
54 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
55
56 // ! " # $ % & '
57 KC_SPC, LT_1, LT_QUOT, LT_3, LT_4, LT_5, LT_7, LT_QUOT,
58 // ( ) * + , - . /
59 LT_9, LT_0, LT_8, LT_ZCAR, LT_COMM, LT_MINS, LT_DOT, LT_SLSH,
60 // 0 1 2 3 4 5 6 7
61 LT_0, LT_AOGO, LT_CCAR, LT_EOGO, LT_EDOT, LT_IOGO, LT_SCAR, LT_UOGO,
62 // 8 9 : ; < = > ?
63 LT_UMAC, LT_9, LT_SCLN, LT_SCLN, LT_COMM, LT_PLUS, LT_DOT, LT_SLSH,
64 // @ A B C D E F G
65 LT_CCAR, LT_A, LT_B, LT_C, LT_D, LT_E, LT_F, LT_G,
66 // H I J K L M N O
67 LT_H, LT_I, LT_J, LT_K, LT_L, LT_M, LT_N, LT_O,
68 // P Q R S T U V W
69 LT_P, LT_Q, LT_R, LT_S, LT_T, LT_U, LT_V, LT_W,
70 // X Y Z [ \ ] ^ _
71 LT_X, LT_Y, LT_Z, LT_LBRC, LT_BSLS, LT_RBRC, LT_SCAR, LT_MINS,
72 // ` a b c d e f g
73 LT_GRV, LT_A, LT_B, LT_C, LT_D, LT_E, LT_F, LT_G,
74 // h i j k l m n o
75 LT_H, LT_I, LT_J, LT_K, LT_L, LT_M, LT_N, LT_O,
76 // p q r s t u v w
77 LT_P, LT_Q, LT_R, LT_S, LT_T, LT_U, LT_V, LT_W,
78 // x y z { | } ~ DEL
79 LT_X, LT_Y, LT_Z, LT_LBRC, LT_BSLS, LT_RBRC, LT_GRV, KC_DEL
80};