mirror of
https://github.com/openstenoproject/qmk
synced 2024-11-10 10:39:09 +00:00
Update Canadian Multilingual keymap and add sendstring LUT (#8786)
This commit is contained in:
parent
f3c30e80cc
commit
741c7d5eec
2 changed files with 510 additions and 236 deletions
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 2016 Didier Loiseau
|
||||
/* Copyright 2020
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -13,247 +13,421 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef KEYMAP_CANADIAN_MULTILINGUAL_H
|
||||
#define KEYMAP_CANADIAN_MULTILINGUAL_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "keymap.h"
|
||||
|
||||
#ifndef GR2A
|
||||
# define GR2A(kc) RCTL(kc)
|
||||
#endif
|
||||
// clang-format off
|
||||
|
||||
// Normal characters
|
||||
// First row
|
||||
#define CSA_SLASH KC_GRV // /
|
||||
#define CSA_SLSH CSA_SLASH
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ / │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ Ç │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ È │ À │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ Ù │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ É │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define CA_SLSH KC_GRV // /
|
||||
#define CA_1 KC_1 // 1
|
||||
#define CA_2 KC_2 // 2
|
||||
#define CA_3 KC_3 // 3
|
||||
#define CA_4 KC_4 // 4
|
||||
#define CA_5 KC_5 // 5
|
||||
#define CA_6 KC_6 // 6
|
||||
#define CA_7 KC_7 // 7
|
||||
#define CA_8 KC_8 // 8
|
||||
#define CA_9 KC_9 // 9
|
||||
#define CA_0 KC_0 // 0
|
||||
#define CA_MINS KC_MINS // -
|
||||
#define CA_EQL KC_EQL // =
|
||||
// Row 2
|
||||
#define CA_Q KC_Q // Q
|
||||
#define CA_W KC_W // W
|
||||
#define CA_E KC_E // E
|
||||
#define CA_R KC_R // R
|
||||
#define CA_T KC_T // T
|
||||
#define CA_Y KC_Y // Y
|
||||
#define CA_U KC_U // U
|
||||
#define CA_I KC_I // I
|
||||
#define CA_O KC_O // O
|
||||
#define CA_P KC_P // P
|
||||
#define CA_CIRC KC_LBRC // ^ (dead)
|
||||
#define CA_CCED KC_RBRC // Ç
|
||||
// Row 3
|
||||
#define CA_A KC_A // A
|
||||
#define CA_S KC_S // S
|
||||
#define CA_D KC_D // D
|
||||
#define CA_F KC_F // F
|
||||
#define CA_G KC_G // G
|
||||
#define CA_H KC_H // H
|
||||
#define CA_J KC_J // J
|
||||
#define CA_K KC_K // K
|
||||
#define CA_L KC_L // L
|
||||
#define CA_SCLN KC_SCLN // ;
|
||||
#define CA_EGRV KC_QUOT // É
|
||||
#define CA_AGRV KC_NUHS // À
|
||||
// Row 4
|
||||
#define CA_UGRV KC_NUBS // Ù
|
||||
#define CA_Z KC_Z // Z
|
||||
#define CA_X KC_X // X
|
||||
#define CA_C KC_C // C
|
||||
#define CA_V KC_V // V
|
||||
#define CA_B KC_B // B
|
||||
#define CA_N KC_N // N
|
||||
#define CA_M KC_M // M
|
||||
#define CA_COMM KC_COMM // ,
|
||||
#define CA_DOT KC_DOT // .
|
||||
#define CA_EACU KC_SLSH // É
|
||||
|
||||
// Second row
|
||||
#define CSA_DEAD_CIRCUMFLEX KC_LBRACKET // dead ^
|
||||
#define CSA_DCRC CSA_DEAD_CIRCUMFLEX
|
||||
#define CSA_C_CEDILLA KC_RBRACKET // Ç
|
||||
#define CSA_CCED CSA_C_CEDILLA
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ \ │ ! │ @ │ # │ $ │ % │ ? │ & │ * │ ( │ ) │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ : │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ ' │ " │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define CA_BSLS S(CA_SLSH) // (backslash)
|
||||
#define CA_EXLM S(CA_1) // !
|
||||
#define CA_AT S(CA_2) // @
|
||||
#define CA_HASH S(CA_3) // #
|
||||
#define CA_DLR S(CA_4) // $
|
||||
#define CA_PERC S(CA_5) // %
|
||||
#define CA_QUES S(CA_6) // ?
|
||||
#define CA_AMPR S(CA_7) // &
|
||||
#define CA_ASTR S(CA_8) // *
|
||||
#define CA_LPRN S(CA_9) // (
|
||||
#define CA_RPRN S(CA_0) // )
|
||||
#define CA_UNDS S(CA_MINS) // _
|
||||
#define CA_PLUS S(CA_EQL) // +
|
||||
// Row 2
|
||||
#define CA_DIAE S(CA_CIRC) // ¨ (dead)
|
||||
// Row 3
|
||||
#define CA_COLN S(CA_SCLN) // :
|
||||
// Row 4
|
||||
#define CA_QUOT S(CA_COMM) // '
|
||||
#define CA_DQUO S(CA_DOT) // "
|
||||
|
||||
// Third row
|
||||
#define CSA_E_GRAVE KC_QUOT // è
|
||||
#define CSA_EGRV CSA_E_GRAVE
|
||||
#define CSA_A_GRAVE KC_BSLASH // à
|
||||
#define CSA_AGRV CSA_A_GRAVE
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ | │ │ │ │ ¤ │ │ │ { │ } │ [ │ ] │ │ ¬ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ € │ │ │ │ │ │ │ │ ` │ ~ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ ° │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ « │ » │ │ │ │ │ │ < │ > │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define CA_PIPE ALGR(CA_SLSH) // |
|
||||
#define CA_CURR ALGR(CA_4) // ¤
|
||||
#define CA_LCBR ALGR(CA_7) // {
|
||||
#define CA_RCBR ALGR(CA_8) // }
|
||||
#define CA_LBRC ALGR(CA_9) // [
|
||||
#define CA_RBRC ALGR(CA_0) // ]
|
||||
#define CA_NOT ALGR(CA_EQL) // ¬
|
||||
// Row 2
|
||||
#define CA_EURO ALGR(CA_E) // €
|
||||
#define CA_GRV ALGR(CA_CIRC) // ` (dead)
|
||||
#define CA_DTIL ALGR(CA_CCED) // ~ (dead)
|
||||
// Row 3
|
||||
#define CA_DEG ALGR(CA_SCLN) // °
|
||||
// Row 4
|
||||
#define CA_LDAQ ALGR(CA_X) // «
|
||||
#define CA_RDAQ ALGR(CA_C) // »
|
||||
#define CA_LABK ALGR(CA_DOT) // <
|
||||
#define CA_RABK ALGR(CA_COMM) // >
|
||||
|
||||
// Fourth row
|
||||
#define CSA_U_GRAVE KC_NONUS_BSLASH // ù
|
||||
#define CSA_UGRV CSA_U_GRAVE
|
||||
#define CSA_E_ACUTE KC_SLSH // é
|
||||
#define CSA_ECUT CSA_E_ACUTE
|
||||
/* Right Ctrl symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ ¹ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │ │ │ │ │ ¸ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Ω │ Ł │ Œ │ ¶ │ Ŧ │ ← │ ↓ │ → │ Ø │ Þ │ │ ~ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Æ │ ß │ Ð │ │ Ŋ │ Ħ │ IJ │ ĸ │ Ŀ │ ´ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ ¢ │ “ │ ” │ ʼn │ μ │ ― │ ˙ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define CA_SUP1 RCTL(CA_1) // ¹
|
||||
#define CA_SUP2 RCTL(CA_2) // ²
|
||||
#define CA_SUP3 RCTL(CA_3) // ³
|
||||
#define CA_QRTR RCTL(CA_4) // ¼
|
||||
#define CA_HALF RCTL(CA_5) // ½
|
||||
#define CA_TQTR RCTL(CA_6) // ¾
|
||||
#define CA_CEDL RCTL(CA_EQL) // ¸ (dead)
|
||||
// Row 2
|
||||
#define CA_OMEG RCTL(CA_Q) // Ω
|
||||
#define CA_LSTR RCTL(CA_W) // Ł
|
||||
#define CA_OE RCTL(CA_E) // Œ
|
||||
#define CA_PARA RCTL(CA_R) // ¶
|
||||
#define CA_TSTR RCTL(CA_T) // Ŧ
|
||||
#define CA_LARR RCTL(CA_Y) // ←
|
||||
#define CA_DARR RCTL(CA_U) // ↓
|
||||
#define CA_RARR RCTL(CA_I) // →
|
||||
#define CA_OSTR RCTL(CA_O) // Ø
|
||||
#define CA_THRN RCTL(CA_P) // Þ
|
||||
#define CA_TILD RCTL(CA_CCED) // ~
|
||||
// Row 3
|
||||
#define CA_AE RCTL(CA_A) // Æ
|
||||
#define CA_SS RCTL(CA_S) // ß
|
||||
#define CA_ETH RCTL(CA_D) // Ð
|
||||
#define CA_ENG RCTL(CA_G) // Ŋ
|
||||
#define CA_HSTR RCTL(CA_H) // Ħ
|
||||
#define CA_IJ RCTL(CA_J) // IJ
|
||||
#define CA_KRA RCTL(CA_K) // ĸ
|
||||
#define CA_LMDT RCTL(CA_L) // Ŀ
|
||||
#define CA_ACUT RCTL(CA_SCLN) // ´ (dead)
|
||||
// Row 4
|
||||
#define CA_CENT RCTL(CA_C) // ¢
|
||||
#define CA_LDQU RCTL(CA_V) // “
|
||||
#define CA_RDQU RCTL(CA_B) // ”
|
||||
#define CA_APSN RCTL(CA_N) // ʼn
|
||||
#define CA_MICR RCTL(CA_M) // μ
|
||||
#define CA_HRZB RCTL(CA_COMM) // ―
|
||||
#define CA_DOTA ALGR(CA_DOT) // ˙ (dead)
|
||||
|
||||
// Shifted characters
|
||||
// First row
|
||||
#define CSA_BACKSLASH LSFT(CSA_SLASH) /* \ */
|
||||
#define CSA_BSLS CSA_BACKSLASH
|
||||
#define CSA_QUESTION LSFT(KC_6) // ?
|
||||
#define CSA_QEST CSA_QUESTION
|
||||
/* Shift+Right Ctrl symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ - │ ¡ │ │ £ │ │ ⅜ │ ⅝ │ ⅞ │ ™ │ ± │ │ ¿ │ ˛ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ ® │ │ ¥ │ ↑ │ ı │ │ │ ° │ ¯ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ § │ │ ª │ │ │ │ │ │ ˝ │ ˇ │ ˘ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ ¦ │ │ │ © │ ‘ │ ’ │ ♪ │ º │ × │ ÷ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define CA_SHYP RCTL(S(CA_SLSH)) // (soft hyphen)
|
||||
#define CA_IEXL RCTL(S(CA_1)) // ¡
|
||||
#define CA_PND RCTL(S(CA_3)) // £
|
||||
#define CA_TEIG RCTL(S(CA_5)) // ⅜
|
||||
#define CA_FEIG RCTL(S(CA_6)) // ⅝
|
||||
#define CA_SEIG RCTL(S(CA_7)) // ⅞
|
||||
#define CA_TM RCTL(S(CA_8)) // ™
|
||||
#define CA_PLMN RCTL(S(CA_9)) // ±
|
||||
#define CA_IQUE RCTL(S(CA_MINS)) // ¿
|
||||
#define CA_OGON RCTL(S(CA_EQL)) // ˛ (dead)
|
||||
// Row 2
|
||||
#define CA_REGD RCTL(S(CA_R)) // ®
|
||||
#define CA_YEN RCTL(S(CA_Y)) // ¥
|
||||
#define CA_UARR RCTL(S(CA_U)) // ↑
|
||||
#define CA_DLSI RCTL(S(CA_I)) // ı
|
||||
#define CA_RNGA RCTL(S(CA_CIRC)) // ° (dead)
|
||||
#define CA_MACR RCTL(S(CA_CCED)) // ¯ (dead)
|
||||
// Row 3
|
||||
#define CA_SECT RCTL(S(CA_S)) // §
|
||||
#define CA_FORD RCTL(S(CA_F)) // ª
|
||||
#define CA_DACU RCTL(S(CA_SCLN)) // ˝ (dead)
|
||||
#define CA_CARN RCTL(S(CA_EGRV)) // ˇ (dead)
|
||||
#define CA_BREV RCTL(S(CA_AGRV)) // ˘ (dead)
|
||||
// Row 4
|
||||
#define CA_BRKP RCTL(S(CA_UGRV)) // ¦
|
||||
#define CA_COPY RCTL(S(CA_C)) // ©
|
||||
#define CA_LSQU RCTL(S(CA_V)) // ‘
|
||||
#define CA_RSQU RCTL(S(CA_B)) // ’
|
||||
#define CA_ENOT RCTL(S(CA_N)) // ♪
|
||||
#define CA_MORD RCTL(S(CA_M)) // º
|
||||
#define CA_MUL RCTL(S(CA_COMM)) // ×
|
||||
#define CA_DIV RCTL(S(CA_DOT)) // ÷
|
||||
|
||||
// Second row
|
||||
#define CSA_DEAD_TREMA LSFT(CSA_DEAD_CIRCUMFLEX) // dead trema/umlaut/diaresis for ä ë ï ö ü
|
||||
#define CSA_DTRM CSA_DEAD_TREMA
|
||||
|
||||
// Third row
|
||||
// all same as US-QWERTY, or capitalised character of the non-shifted key
|
||||
|
||||
// Fourth row
|
||||
#define CSA_APOSTROPHE LSFT(KC_COMMA) // '
|
||||
#define CSA_APOS CSA_APOSTROPHE
|
||||
#define CSA_DOUBLE_QUOTE LSFT(KC_DOT) // "
|
||||
#define CSA_DQOT CSA_DOUBLE_QUOTE
|
||||
|
||||
// Alt Gr-ed characters
|
||||
// First row
|
||||
#define CSA_PIPE ALGR(CSA_SLASH) // |
|
||||
#define CSA_CURRENCY ALGR(KC_4) // ¤
|
||||
#define CSA_CURR CSA_CURRENCY
|
||||
#define CSA_LEFT_CURLY_BRACE ALGR(KC_7) // {
|
||||
#define CSA_LCBR CSA_LEFT_CURLY_BRACE
|
||||
#define CSA_RIGHT_CURLY_BRACE ALGR(KC_8) // }
|
||||
#define CSA_RCBR CSA_RIGHT_CURLY_BRACE
|
||||
#define CSA_LBRACKET ALGR(KC_9) // [
|
||||
#define CSA_LBRC CSA_LBRACKET
|
||||
#define CSA_RBRACKET ALGR(KC_0) // ]
|
||||
#define CSA_RBRC CSA_RBRACKET
|
||||
#define CSA_NEGATION ALGR(KC_EQUAL) // ¬
|
||||
#define CSA_NEGT CSA_NEGATION
|
||||
|
||||
// Second row
|
||||
// euro symbol not available on Linux? (X.org)
|
||||
#define CSA_EURO ALGR(KC_E) // €
|
||||
#define CSA_DEAD_GRAVE ALGR(CSA_DEAD_CIRCUMFLEX)
|
||||
#define CSA_DGRV CSA_DEAD_GRAVE // dead `
|
||||
#define CSA_DEAD_TILDE ALGR(CSA_C_CEDILLA) // ~
|
||||
#define CSA_DTLD CSA_DEAD_TILDE
|
||||
|
||||
// Third row
|
||||
#define CSA_DEGREE ALGR(KC_SCOLON) // °
|
||||
#define CSA_DEGR CSA_DEGREE
|
||||
|
||||
// Fourth row
|
||||
#define CSA_LEFT_GUILLEMET ALGR(KC_Z) // «
|
||||
#define CSA_LGIL CSA_LEFT_GUILLEMET
|
||||
#define CSA_RIGHT_GUILLEMET ALGR(KC_X) // »
|
||||
#define CSA_RGIL CSA_RIGHT_GUILLEMET
|
||||
#define CSA_LESS ALGR(KC_COMMA) // <
|
||||
#define CSA_GREATER ALGR(KC_DOT) // >
|
||||
#define CSA_GRTR CSA_GREATER
|
||||
|
||||
// Space bar
|
||||
#define CSA_NON_BREAKING_SPACE ALGR(KC_SPACE)
|
||||
#define CSA_NBSP CSA_NON_BREAKING_SPACE
|
||||
|
||||
// GR2A-ed characters
|
||||
// First row
|
||||
#define CSA_SUPERSCRIPT_ONE GR2A(KC_1) // ¹
|
||||
#define CSA_SUP1 CSA_SUPERSCRIPT_ONE
|
||||
#define CSA_SUPERSCRIPT_TWO GR2A(KC_2) // ²
|
||||
#define CSA_SUP2 CSA_SUPERSCRIPT_TWO
|
||||
#define CSA_SUPERSCRIPT_THREE GR2A(KC_3) // ³
|
||||
#define CSA_SUP3 CSA_SUPERSCRIPT_THREE
|
||||
#define CSA_ONE_QUARTER GR2A(KC_4) // ¼
|
||||
#define CSA_1QRT CSA_ONE_QUARTER
|
||||
#define CSA_ONE_HALF GR2A(KC_5) // ½
|
||||
#define CSA_1HLF CSA_ONE_HALF
|
||||
#define CSA_THREE_QUARTERS GR2A(KC_6) // ¾
|
||||
#define CSA_3QRT CSA_THREE_QUARTERS
|
||||
// nothing on 7-0 and -
|
||||
#define CSA_DEAD_CEDILLA GR2A(KC_EQUAL) // dead ¸
|
||||
#define CSA_DCED CSA_DEAD_CEDILLA
|
||||
|
||||
// Second row
|
||||
#define CSA_OMEGA GR2A(KC_Q) // ω
|
||||
#define CSA_OMEG CSA_OMEGA
|
||||
#define CSA_L_STROKE GR2A(KC_W) // ł
|
||||
#define CSA_LSTK CSA_L_STROKE
|
||||
#define CSA_OE_LIGATURE GR2A(KC_E) // œ
|
||||
#define CSA_OE CSA_OE_LIGATURE
|
||||
#define CSA_PARAGRAPH GR2A(KC_R) // ¶
|
||||
#define CSA_PARG CSA_PARAGRAPH
|
||||
#define CSA_T_STROKE GR2A(KC_T) // ŧ
|
||||
#define CSA_LEFT_ARROW GR2A(KC_Y) // ←
|
||||
#define CSA_LARW CSA_LEFT_ARROW
|
||||
#define CSA_DOWN_ARROW GR2A(KC_U) // ↓
|
||||
#define CSA_DARW CSA_DOWN_ARROW
|
||||
#define CSA_RIGHT_ARROW GR2A(KC_I) // →
|
||||
#define CSA_RARW CSA_RIGHT_ARROW
|
||||
#define CSA_O_STROKE GR2A(KC_O) // ø
|
||||
#define CSA_OSTK CSA_O_STROKE
|
||||
#define CSA_THORN GR2A(KC_P) // þ
|
||||
#define CSA_THRN CSA_THORN
|
||||
// nothing on ^
|
||||
#define CSA_TILDE GR2A(CSA_C_CEDILLA) // dead ~
|
||||
#define CSA_TILD CSA_TILDE
|
||||
|
||||
// Third row
|
||||
#define CSA_AE_LIGATURE GR2A(KC_A) // æ
|
||||
#define CSA_AE CSA_AE_LIGATURE
|
||||
#define CSA_SHARP_S GR2A(KC_S) // ß
|
||||
#define CSA_SRPS CSA_SHARP_S
|
||||
#define CSA_ETH GR2A(KC_D) // ð
|
||||
// nothing on F
|
||||
#define CSA_ENG GR2A(KC_G) // ŋ
|
||||
#define CSA_H_SRTOKE GR2A(KC_H) // ħ
|
||||
#define CSA_HSTK CSA_H_SRTOKE
|
||||
#define CSA_IJ_LIGATURE GR2A(KC_J) // ij
|
||||
#define CSA_IJ CSA_IJ_LIGATURE
|
||||
#define CSA_KRA GR2A(KC_K) // ĸ
|
||||
#define CSA_L_FLOWN_DOT GR2A(KC_L) // ŀ
|
||||
#define CSA_LFLD CSA_L_FLOWN_DOT
|
||||
#define CSA_DEAD_ACUTE GR2A(KC_SCLN) // dead acute accent
|
||||
#define CSA_DACT CSA_DEAD_ACUTE
|
||||
// nothing on È & À
|
||||
|
||||
// Fourth row
|
||||
#define CSA_CENT GR2A(KC_C) // ¢
|
||||
#define CSA_LEFT_DOUBLE_QUOTE GR2A(KC_V) // “
|
||||
#define CSA_LDQT CSA_LEFT_DOUBLE_QUOTE
|
||||
#define CSA_RIGHT_DOUBLE_QUOTE GR2A(KC_B) // ”
|
||||
#define CSA_RDQT CSA_RIGHT_DOUBLE_QUOTE
|
||||
#define CSA_N_APOSTROPHE GR2A(KC_N) // ʼn (deprecated unicode codepoint)
|
||||
#define CSA_NAPO CSA_N_APOSTROPHE
|
||||
#define CSA_MU GR2A(KC_M) // μ
|
||||
#define CSA_HORIZONTAL_BAR GR2A(KC_COMMA) // ―
|
||||
#define CSA_HZBR CSA_HORIZONTAL_BAR
|
||||
#define CSA_DEAD_DOT_ABOVE GR2A(KC_DOT) // dead ˙
|
||||
#define CSA_DDTA CSA_DEAD_DOT_ABOVE
|
||||
|
||||
// GR2A-shifted characters (different from capitalised GR2A-ed characters)
|
||||
// First row
|
||||
#define CSA_SOFT_HYPHEN GR2A(LSFT(CSA_SLASH)) // soft-hyphen, appears as a hyphen in wrapped word
|
||||
#define CSA_SHYP CSA_SOFT_HYPHEN
|
||||
#define CSA_INVERTED_EXCLAIM GR2A(KC_EXCLAIM) // ¡
|
||||
#define CSA_IXLM CSA_INVERTED_EXCLAIM
|
||||
// nothing on 2
|
||||
#define CSA_POUND GR2A(LSFT(KC_3)) // £
|
||||
#define CSA_GBP CSA_POUND_SIGN
|
||||
// already on ALGR(KC_E)
|
||||
#define CSA_EURO_BIS GR2A(LSFT(KC_4)) // €
|
||||
#define CSA_EURB CSA_EURO_BIS
|
||||
#define CSA_THREE_EIGHTHS GR2A(LSFT(KC_5)) // ⅜
|
||||
#define CSA_3ON8 CSA_THREE_EIGHTHS
|
||||
#define CSA_FIVE_EIGHTHS GR2A(LSFT(KC_6)) // ⅝
|
||||
#define CSA_5ON8 CSA_FIVE_EIGHTHS
|
||||
#define CSA_SEVEN_EIGHTHS GR2A(LSFT(KC_7)) // ⅞
|
||||
#define CSA_7ON8 CSA_SEVEN_EIGHTHS
|
||||
#define CSA_TRADEMARK GR2A(LSFT(KC_8)) // ™
|
||||
#define CSA_TM CSA_TRADEMARK
|
||||
#define CSA_PLUS_MINUS GR2A(LSFT(KC_9)) // ±
|
||||
#define CSA_PSMS CSA_PLUS_MINUS
|
||||
// nothing on 0
|
||||
#define CSA_INVERTED_QUESTION GR2A(LSFT(KC_MINUS)) // ¿
|
||||
#define CSA_IQST CSA_INVERTED_QUESTION
|
||||
#define CSA_DEAD_OGONEK GR2A(LSFT(KC_EQUAL)) // dead ˛
|
||||
#define CSA_DOGO CSA_DEAD_OGONEK
|
||||
|
||||
// Second row
|
||||
#define CSA_REGISTERED_TRADEMARK GR2A(LSFT(KC_R)) // ®
|
||||
#define CSA_RTM CSA_REGISTERED_TRADEMARK
|
||||
#define CSA_YEN GR2A(LSFT(KC_Y)) // ¥
|
||||
#define CSA_YUAN CSA_YEN
|
||||
#define CSA_UP_ARROW LSFT(CSA_DOWN_ARROW) // ↑
|
||||
#define CSA_DOTLESS_I GR2A(LSFT(KC_I)) // ı
|
||||
#define CSA_DLSI CSA_DOTLESS_I
|
||||
#define CSA_DEAD_RING GR2A(LSFT(CSA_DCRC)) // dead °
|
||||
#define CSA_DRNG CSA_DEAD_RING
|
||||
#define CSA_DEAD_MACRON GR2A(LSFT(CSA_C_CEDILLA)) // dead ¯
|
||||
#define CSA_DMCR CSA_DEAD_MACRON
|
||||
|
||||
// Third row
|
||||
#define CSA_SECTION GR2A(LSFT(KC_S)) // §
|
||||
#define CSA_SECT CSA_SECTION
|
||||
#define CSA_ORDINAL_INDICATOR_A GR2A(LSFT(KC_F)) // ª
|
||||
#define CSA_ORDA CSA_ORDINAL_INDICATOR_A
|
||||
#define CSA_DEAD_DOUBLE_ACUTE LSFT(CSA_DEAD_ACUTE) // ˝
|
||||
#define CSA_DDCT CSA_DEAD_DOUBLE_ACUTE
|
||||
#define CSA_DEAD_CARON GR2A(LSFT(CSA_E_GRAVE)) // dead ˇ
|
||||
#define CSA_DCAR CSA_DEAD_CARON
|
||||
#define CSA_DEAD_BREVE GR2A(LSFT(CSA_A_GRAVE)) // dead ˘
|
||||
#define CSA_DBRV CSA_DEAD_BREVE
|
||||
|
||||
// Fourth row
|
||||
#define CSA_BROKEN_PIPE GR2A(LSFT(CSA_U_GRAVE)) // ¦
|
||||
#define CSA_BPIP CSA_BROKEN_PIPE
|
||||
#define CSA_COPYRIGHT GR2A(LSFT(KC_C)) // ©
|
||||
#define CSA_CPRT CSA_COPYRIGHT
|
||||
#define CSA_LEFT_QUOTE GR2A(LSFT(KC_V)) // ‘
|
||||
#define CSA_LQOT CSA_LEFT_QUOTE
|
||||
#define CSA_RIGHT_QUOTE GR2A(LSFT(KC_B)) // ’
|
||||
#define CSA_RQOT CSA_RIGHT_QUOTE
|
||||
#define CSA_EIGHTH_NOTE GR2A(LSFT(KC_N)) // ♪
|
||||
#define CSA_8NOT CSA_EIGHTH_NOTE
|
||||
#define CSA_ORDINAL_INDICATOR_O GR2A(LSFT(KC_M)) // º
|
||||
#define CSA_ORDO CSA_ORDINAL_INDICATOR_O
|
||||
#define CSA_TIMES GR2A(LSFT(KC_COMMA)) // ×
|
||||
#define CSA_TIMS CSA_TIMES
|
||||
#define CSA_OBELUS GR2A(LSFT(KC_DOT)) // ÷
|
||||
#define CSA_OBEL CSA_OBELUS
|
||||
// more conventional name of the symbol
|
||||
#define CSA_DIVISION_SIGN CSA_OBELUS
|
||||
#define CSA_DVSN CSA_DIVISION_SIGN
|
||||
// TODO GR2A(LSFT(CSA_E_ACUTE))
|
||||
|
||||
#endif
|
||||
// DEPRECATED
|
||||
#define GR2A(kc) RCTL(kc)
|
||||
#define CSA_SLASH CA_SLSH
|
||||
#define CSA_SLSH CA_SLSH
|
||||
#define CSA_DEAD_CIRCUMFLEX CA_CIRC
|
||||
#define CSA_DCRC CA_CIRC
|
||||
#define CSA_C_CEDILLA CA_CCED
|
||||
#define CSA_CCED CA_CCED
|
||||
#define CSA_E_GRAVE CA_EGRV
|
||||
#define CSA_EGRV CA_EGRV
|
||||
#define CSA_A_GRAVE CA_AGRV
|
||||
#define CSA_AGRV CA_AGRV
|
||||
#define CSA_U_GRAVE CA_UGRV
|
||||
#define CSA_UGRV CA_UGRV
|
||||
#define CSA_E_ACUTE CA_EACU
|
||||
#define CSA_ECUT CA_EACU
|
||||
#define CSA_BACKSLASH CA_BSLS
|
||||
#define CSA_BSLS CA_BSLS
|
||||
#define CSA_QUESTION CA_QUES
|
||||
#define CSA_QEST CA_QUES
|
||||
#define CSA_DEAD_TREMA CA_DIAE
|
||||
#define CSA_DTRM CA_DIAE
|
||||
#define CSA_APOSTROPHE CA_QUOT
|
||||
#define CSA_APOS CA_QUOT
|
||||
#define CSA_DOUBLE_QUOTE CA_DQUO
|
||||
#define CSA_DQOT CA_DQUO
|
||||
#define CSA_PIPE CA_PIPE
|
||||
#define CSA_CURRENCY CA_CURR
|
||||
#define CSA_CURR CA_CURR
|
||||
#define CSA_LEFT_CURLY_BRACE CA_LCBR
|
||||
#define CSA_LCBR CA_LCBR
|
||||
#define CSA_RIGHT_CURLY_BRACE CA_RCBR
|
||||
#define CSA_RCBR CA_RCBR
|
||||
#define CSA_LBRACKET CA_LBRC
|
||||
#define CSA_LBRC CA_LBRC
|
||||
#define CSA_RBRACKET CA_RBRC
|
||||
#define CSA_RBRC CA_RBRC
|
||||
#define CSA_NEGATION CA_NOT
|
||||
#define CSA_NEGT CA_NOT
|
||||
#define CSA_EURO CA_EURO
|
||||
#define CSA_DEAD_GRAVE CA_GRV
|
||||
#define CSA_DGRV CA_GRV
|
||||
#define CSA_DEAD_TILDE CA_DTIL
|
||||
#define CSA_DTLD CA_DTIL
|
||||
#define CSA_DEGREE CA_DEG
|
||||
#define CSA_DEGR CA_DEG
|
||||
#define CSA_LEFT_GUILLEMET CA_LDAQ
|
||||
#define CSA_LGIL CA_LDAQ
|
||||
#define CSA_RIGHT_GUILLEMET CA_RDAQ
|
||||
#define CSA_RGIL CA_RDAQ
|
||||
#define CSA_LESS CA_LABK
|
||||
#define CSA_GREATER CA_RABK
|
||||
#define CSA_GRTR CA_RABK
|
||||
#define CSA_NON_BREAKING_SPACE ALGR(KC_SPC)
|
||||
#define CSA_NBSP ALGR(KC_SPC)
|
||||
#define CSA_SUPERSCRIPT_ONE CA_SUP1
|
||||
#define CSA_SUP1 CA_SUP1
|
||||
#define CSA_SUPERSCRIPT_TWO CA_SUP2
|
||||
#define CSA_SUP2 CA_SUP2
|
||||
#define CSA_SUPERSCRIPT_THREE CA_SUP3
|
||||
#define CSA_SUP3 CA_SUP3
|
||||
#define CSA_ONE_QUARTER CA_QRTR
|
||||
#define CSA_1QRT CA_QRTR
|
||||
#define CSA_ONE_HALF CA_HALF
|
||||
#define CSA_1HLF CA_HALF
|
||||
#define CSA_THREE_QUARTERS CA_TQTR
|
||||
#define CSA_3QRT CA_TQTR
|
||||
#define CSA_DEAD_CEDILLA CA_CEDL
|
||||
#define CSA_DCED CA_CEDL
|
||||
#define CSA_OMEGA CA_OMEG
|
||||
#define CSA_OMEG CA_OMEG
|
||||
#define CSA_L_STROKE CA_LSTR
|
||||
#define CSA_LSTK CA_LSTR
|
||||
#define CSA_OE_LIGATURE CA_OE
|
||||
#define CSA_OE CA_OE
|
||||
#define CSA_PARAGRAPH CA_PARA
|
||||
#define CSA_PARG CA_PARA
|
||||
#define CSA_T_STROKE CA_TSTR
|
||||
#define CSA_LEFT_ARROW CA_LARR
|
||||
#define CSA_LARW CA_LARR
|
||||
#define CSA_DOWN_ARROW CA_DARR
|
||||
#define CSA_DARW CA_DARR
|
||||
#define CSA_RIGHT_ARROW CA_RARR
|
||||
#define CSA_RARW CA_RARR
|
||||
#define CSA_O_STROKE CA_OSTR
|
||||
#define CSA_OSTK CA_OSTR
|
||||
#define CSA_THORN CA_THRN
|
||||
#define CSA_THRN CA_THRN
|
||||
#define CSA_TILDE CA_TILD
|
||||
#define CSA_TILD CA_TILD
|
||||
#define CSA_AE_LIGATURE CA_AE
|
||||
#define CSA_AE CA_AE
|
||||
#define CSA_SHARP_S CA_SS
|
||||
#define CSA_SRPS CA_SS
|
||||
#define CSA_ETH CA_ETH
|
||||
#define CSA_ENG CA_ENG
|
||||
#define CSA_H_SRTOKE CA_HSTR
|
||||
#define CSA_HSTK CA_HSTR
|
||||
#define CSA_IJ_LIGATURE CA_IJ
|
||||
#define CSA_IJ CA_IJ
|
||||
#define CSA_KRA CA_KRA
|
||||
#define CSA_L_FLOWN_DOT CA_LMDT
|
||||
#define CSA_LFLD CA_LMDT
|
||||
#define CSA_DEAD_ACUTE CA_ACUT
|
||||
#define CSA_DACT CA_ACUT
|
||||
#define CSA_CENT CA_CENT
|
||||
#define CSA_LEFT_DOUBLE_QUOTE CA_LDQU
|
||||
#define CSA_LDQT CA_LDQU
|
||||
#define CSA_RIGHT_DOUBLE_QUOTE CA_RDQU
|
||||
#define CSA_RDQT CA_RDQU
|
||||
#define CSA_N_APOSTROPHE CA_APSN
|
||||
#define CSA_NAPO CA_APSN
|
||||
#define CSA_MU CA_MICR
|
||||
#define CSA_HORIZONTAL_BAR CA_HRZB
|
||||
#define CSA_HZBR CA_HRZB
|
||||
#define CSA_DEAD_DOT_ABOVE CA_DOTA
|
||||
#define CSA_DDTA CA_DOTA
|
||||
#define CSA_SOFT_HYPHEN CA_SHYP
|
||||
#define CSA_SHYP CA_SHYP
|
||||
#define CSA_INVERTED_EXCLAIM CA_IEXL
|
||||
#define CSA_IXLM CA_IEXL
|
||||
#define CSA_POUND CA_PND
|
||||
#define CSA_GBP CA_PND
|
||||
#define CSA_EURO_BIS CA_EURO
|
||||
#define CSA_EURB CA_EURO
|
||||
#define CSA_THREE_EIGHTHS CA_TEIG
|
||||
#define CSA_3ON8 CA_TEIG
|
||||
#define CSA_FIVE_EIGHTHS CA_FEIG
|
||||
#define CSA_5ON8 CA_FEIG
|
||||
#define CSA_SEVEN_EIGHTHS CA_SEIG
|
||||
#define CSA_7ON8 CA_SEIG
|
||||
#define CSA_TRADEMARK CA_TM
|
||||
#define CSA_TM CA_TM
|
||||
#define CSA_PLUS_MINUS CA_PLMN
|
||||
#define CSA_PSMS CA_PLMN
|
||||
#define CSA_INVERTED_QUESTION CA_IQUE
|
||||
#define CSA_IQST CA_IQUE
|
||||
#define CSA_DEAD_OGONEK CA_OGON
|
||||
#define CSA_DOGO CA_OGON
|
||||
#define CSA_REGISTERED_TRADEMARK CA_REGD
|
||||
#define CSA_RTM CA_REGD
|
||||
#define CSA_YEN CA_YEN
|
||||
#define CSA_YUAN CA_YEN
|
||||
#define CSA_UP_ARROW CA_UARR
|
||||
#define CSA_DOTLESS_I CA_DLSI
|
||||
#define CSA_DLSI CA_DLSI
|
||||
#define CSA_DEAD_RING CA_RNGA
|
||||
#define CSA_DRNG CA_RNGA
|
||||
#define CSA_DEAD_MACRON CA_MACR
|
||||
#define CSA_DMCR CA_MACR
|
||||
#define CSA_SECTION CA_SECT
|
||||
#define CSA_SECT CA_SECT
|
||||
#define CSA_ORDINAL_INDICATOR_A CA_FORD
|
||||
#define CSA_ORDA CA_FORD
|
||||
#define CSA_DEAD_DOUBLE_ACUTE CA_DACU
|
||||
#define CSA_DDCT CA_DACU
|
||||
#define CSA_DEAD_CARON CA_CARN
|
||||
#define CSA_DCAR CA_CARN
|
||||
#define CSA_DEAD_BREVE CA_BREV
|
||||
#define CSA_DBRV CA_BREV
|
||||
#define CSA_BROKEN_PIPE CA_BRKP
|
||||
#define CSA_BPIP CA_BRKP
|
||||
#define CSA_COPYRIGHT CA_COPY
|
||||
#define CSA_CPRT CA_COPY
|
||||
#define CSA_LEFT_QUOTE CA_LSQU
|
||||
#define CSA_LQOT CA_LSQU
|
||||
#define CSA_RIGHT_QUOTE CA_RSQU
|
||||
#define CSA_RQOT CA_RSQU
|
||||
#define CSA_EIGHTH_NOTE CA_ENOT
|
||||
#define CSA_8NOT CA_ENOT
|
||||
#define CSA_ORDINAL_INDICATOR_O CA_MORD
|
||||
#define CSA_ORDO CA_MORD
|
||||
#define CSA_TIMES CA_MUL
|
||||
#define CSA_TIMS CA_MUL
|
||||
#define CSA_OBELUS CA_DIV
|
||||
#define CSA_OBEL CA_DIV
|
||||
#define CSA_DIVISION_SIGN CA_DIV
|
||||
#define CSA_DVSN CA_DIV
|
||||
|
|
100
quantum/keymap_extras/sendstring_canadian_multilingual.h
Normal file
100
quantum/keymap_extras/sendstring_canadian_multilingual.h
Normal file
|
@ -0,0 +1,100 @@
|
|||
/* Copyright 2020
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// Sendstring lookup tables for Canadian Multilingual layouts
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "keymap_canadian_multilingual.h"
|
||||
#include "quantum.h"
|
||||
|
||||
// clang-format off
|
||||
|
||||
const uint8_t ascii_to_shift_lut[16] PROGMEM = {
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
|
||||
KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 1, 0, 0, 0, 0, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 0, 1, 0, 0, 1),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
|
||||
};
|
||||
|
||||
const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 1, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0),
|
||||
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0)
|
||||
};
|
||||
|
||||
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// BS TAB LF VT FF CR SO SI
|
||||
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// CAN EM SUB ESC FS GS RS US
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// ! " # $ % & '
|
||||
KC_SPC, CA_1, CA_DOT, CA_3, CA_4, CA_5, CA_7, CA_COMM,
|
||||
// ( ) * + , - . /
|
||||
CA_9, CA_0, CA_8, CA_EQL, CA_COMM, CA_MINS, CA_DOT, CA_SLSH,
|
||||
// 0 1 2 3 4 5 6 7
|
||||
CA_0, CA_1, CA_2, CA_3, CA_4, CA_5, CA_6, CA_7,
|
||||
// 8 9 : ; < = > ?
|
||||
CA_8, CA_9, CA_SCLN, CA_SCLN, CA_DOT, CA_EQL, CA_COMM, CA_6,
|
||||
// @ A B C D E F G
|
||||
CA_2, CA_A, CA_B, CA_C, CA_D, CA_E, CA_F, CA_G,
|
||||
// H I J K L M N O
|
||||
CA_H, CA_I, CA_J, CA_K, CA_L, CA_M, CA_N, CA_O,
|
||||
// P Q R S T U V W
|
||||
CA_P, CA_Q, CA_R, CA_S, CA_T, CA_U, CA_V, CA_W,
|
||||
// X Y Z [ \ ] ^ _
|
||||
CA_X, CA_Y, CA_Z, CA_9, CA_SLSH, CA_0, CA_CIRC, CA_MINS,
|
||||
// ` a b c d e f g
|
||||
CA_CIRC, CA_A, CA_B, CA_C, CA_D, CA_E, CA_F, CA_G,
|
||||
// h i j k l m n o
|
||||
CA_H, CA_I, CA_J, CA_K, CA_L, CA_M, CA_N, CA_O,
|
||||
// p q r s t u v w
|
||||
CA_P, CA_Q, CA_R, CA_S, CA_T, CA_U, CA_V, CA_W,
|
||||
// x y z { | } ~ DEL
|
||||
CA_X, CA_Y, CA_Z, CA_7, CA_SLSH, CA_8, CA_CCED, KC_DEL
|
||||
};
|
Loading…
Reference in a new issue