Commit | Line | Data |
---|---|---|
3d7e9425 | 1 | /* Copyright 2018 Jonathan Nifenecker |
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 | */ | |
a5ecf146 | 16 | |
17 | // Sendstring lookup tables for BÉPO layouts | |
18 | ||
19 | #pragma once | |
3d7e9425 | 20 | |
21 | #include "keymap_bepo.h" | |
552f8d81 | 22 | #include "quantum.h" |
3d7e9425 | 23 | |
8ab7f1f3 | 24 | // clang-format off |
a5ecf146 | 25 | |
552f8d81 TL |
26 | const 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), | |
a5ecf146 | 31 | |
552f8d81 TL |
32 | KCLUT_ENTRY(0, 1, 0, 1, 0, 0, 0, 0), |
33 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | |
34 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | |
35 | KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 1), | |
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(1, 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), | |
8ab7f1f3 | 44 | }; |
a5ecf146 | 45 | |
552f8d81 TL |
46 | const 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), | |
8ab7f1f3 | 51 | |
552f8d81 TL |
52 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), |
53 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | |
54 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | |
55 | KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 1, 0), | |
56 | KCLUT_ENTRY(0, 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, 1, 0), | |
8ab7f1f3 | 64 | }; |
3d7e9425 | 65 | |
a5ecf146 | 66 | const 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 | |
8ab7f1f3 | 70 | KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
a5ecf146 | 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 | |
8ab7f1f3 | 74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
a5ecf146 | 75 | |
76 | // ! " # $ % & ' | |
8ab7f1f3 | 77 | KC_SPC, BP_DCRC, BP_DQOT, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_APOS, |
a5ecf146 | 78 | // ( ) * + , - . / |
8ab7f1f3 | 79 | BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT, BP_SLSH, |
a5ecf146 | 80 | // 0 1 2 3 4 5 6 7 |
8ab7f1f3 | 81 | BP_ASTR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, |
a5ecf146 | 82 | // 8 9 : ; < = > ? |
8ab7f1f3 | 83 | BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LGIL, BP_EQL, BP_RGIL, BP_APOS, |
a5ecf146 | 84 | // @ A B C D E F G |
8ab7f1f3 | 85 | BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G, |
a5ecf146 | 86 | // H I J K L M N O |
8ab7f1f3 | 87 | BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O, |
a5ecf146 | 88 | // P Q R S T U V W |
8ab7f1f3 | 89 | BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W, |
a5ecf146 | 90 | // X Y Z [ \ ] ^ _ |
8ab7f1f3 | 91 | BP_X, BP_Y, BP_Z, BP_LPRN, BP_AGRV, BP_RPRN, BP_AT, KC_SPC, |
a5ecf146 | 92 | // ` a b c d e f g |
8ab7f1f3 | 93 | BP_PERC, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G, |
a5ecf146 | 94 | // h i j k l m n o |
8ab7f1f3 | 95 | BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O, |
a5ecf146 | 96 | // p q r s t u v w |
8ab7f1f3 | 97 | BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W, |
a5ecf146 | 98 | // x y z { | } ~ DEL |
8ab7f1f3 | 99 | BP_X, BP_Y, BP_Z, BP_Y, BP_B, BP_X, BP_K, KC_DEL |
100 | }; |