1
0
Fork 0

clang-format changes

This commit is contained in:
skullY 2019-08-30 11:19:03 -07:00 committed by skullydazed
parent 61af76a10d
commit b624f32f94
502 changed files with 32259 additions and 39062 deletions

View file

@ -20,86 +20,86 @@
// Normal characters
// Line 1
#define BE_SUP2 KC_GRV
#define BE_AMP KC_1
#define BE_EACU KC_2
#define BE_QUOT KC_3
#define BE_APOS KC_4
#define BE_LPRN KC_5
#define BE_PARA KC_6
#define BE_EGRV KC_7
#define BE_EXLM KC_8
#define BE_CCED KC_9
#define BE_AGRV KC_0
#define BE_RPRN KC_MINS
#define BE_MINS KC_EQL
#define BE_SUP2 KC_GRV
#define BE_AMP KC_1
#define BE_EACU KC_2
#define BE_QUOT KC_3
#define BE_APOS KC_4
#define BE_LPRN KC_5
#define BE_PARA KC_6
#define BE_EGRV KC_7
#define BE_EXLM KC_8
#define BE_CCED KC_9
#define BE_AGRV KC_0
#define BE_RPRN KC_MINS
#define BE_MINS KC_EQL
// Line 2
#define BE_A KC_Q
#define BE_Z KC_W
#define BE_CIRC KC_LBRC
#define BE_DLR KC_RBRC
#define BE_A KC_Q
#define BE_Z KC_W
#define BE_CIRC KC_LBRC
#define BE_DLR KC_RBRC
// Line 3
#define BE_Q KC_A
#define BE_M KC_SCLN
#define BE_UGRV KC_QUOT
#define BE_MU KC_NUHS
#define BE_Q KC_A
#define BE_M KC_SCLN
#define BE_UGRV KC_QUOT
#define BE_MU KC_NUHS
// Line 4
#define BE_LESS KC_NUBS
#define BE_W KC_Z
#define BE_COMM KC_M
#define BE_SCLN KC_COMM
#define BE_COLN KC_DOT
#define BE_EQL KC_SLSH
#define BE_LESS KC_NUBS
#define BE_W KC_Z
#define BE_COMM KC_M
#define BE_SCLN KC_COMM
#define BE_COLN KC_DOT
#define BE_EQL KC_SLSH
// Shifted characters
// Line 1
#define BE_SUP3 KC_TILD
#define BE_1 LSFT(KC_1)
#define BE_2 LSFT(KC_2)
#define BE_3 LSFT(KC_3)
#define BE_4 LSFT(KC_4)
#define BE_5 LSFT(KC_5)
#define BE_6 LSFT(KC_6)
#define BE_7 LSFT(KC_7)
#define BE_8 LSFT(KC_8)
#define BE_9 LSFT(KC_9)
#define BE_0 LSFT(KC_0)
#define BE_OVRR KC_UNDS
#define BE_1 LSFT(KC_1)
#define BE_2 LSFT(KC_2)
#define BE_3 LSFT(KC_3)
#define BE_4 LSFT(KC_4)
#define BE_5 LSFT(KC_5)
#define BE_6 LSFT(KC_6)
#define BE_7 LSFT(KC_7)
#define BE_8 LSFT(KC_8)
#define BE_9 LSFT(KC_9)
#define BE_0 LSFT(KC_0)
#define BE_OVRR KC_UNDS
#define BE_UNDS KC_PLUS
// Line 2
#define BE_UMLT LSFT(BE_CIRC)
#define BE_PND LSFT(BE_DLR)
#define BE_UMLT LSFT(BE_CIRC)
#define BE_PND LSFT(BE_DLR)
// Line 3
#define BE_PERC LSFT(BE_UGRV)
#define BE_PERC LSFT(BE_UGRV)
// Line 4
#define BE_GRTR LSFT(BE_LESS)
#define BE_QUES LSFT(BE_COMM)
#define BE_DOT LSFT(BE_SCLN)
#define BE_SLSH LSFT(BE_COLN)
#define BE_PLUS LSFT(BE_EQL)
#define BE_GRTR LSFT(BE_LESS)
#define BE_QUES LSFT(BE_COMM)
#define BE_DOT LSFT(BE_SCLN)
#define BE_SLSH LSFT(BE_COLN)
#define BE_PLUS LSFT(BE_EQL)
// Alt Gr-ed characters
// Line 1
#define BE_PIPE ALGR(KC_1)
#define BE_AT ALGR(KC_2)
#define BE_HASH ALGR(KC_3)
#define BE_AT ALGR(KC_2)
#define BE_HASH ALGR(KC_3)
#define BE_LCBR ALGR(KC_9)
#define BE_RCBR ALGR(KC_0)
#define BE_RCBR ALGR(KC_0)
// Line 2
#define BE_EURO ALGR(KC_E)
#define BE_EURO ALGR(KC_E)
#define BE_LSBR ALGR(BE_CIRC)
#define BE_RSBR ALGR(BE_DLR)
// Line 3
#define BE_ACUT ALGR(BE_UGRV)
#define BE_GRV ALGR(BE_MU)
#define BE_GRV ALGR(BE_MU)
// Line 4
#define BE_BSLS ALGR(BE_LESS)

View file

@ -21,297 +21,297 @@
// Normal characters
// First row (on usual keyboards)
#define BP_DOLLAR KC_GRAVE // $
#define BP_DLR BP_DOLLAR
#define BP_DOUBLE_QUOTE KC_1 // "
#define BP_DQOT BP_DOUBLE_QUOTE
#define BP_LEFT_GUILLEMET KC_2 // «
#define BP_LGIL BP_LEFT_GUILLEMET
#define BP_RIGHT_GUILLEMET KC_3 // »
#define BP_RGIL BP_RIGHT_GUILLEMET
#define BP_LEFT_PAREN KC_4 // (
#define BP_LPRN BP_LEFT_PAREN
#define BP_RIGHT_PAREN KC_5 // )
#define BP_RPRN BP_RIGHT_PAREN
#define BP_AT KC_6 // @
#define BP_PLUS KC_7 // +
#define BP_MINUS KC_8 // -
#define BP_MINS BP_MINUS
#define BP_SLASH KC_9 // /
#define BP_SLSH BP_SLASH
#define BP_ASTERISK KC_0 // *
#define BP_ASTR BP_ASTERISK
#define BP_EQUAL KC_MINUS // =
#define BP_EQL BP_EQUAL
#define BP_PERCENT KC_EQUAL // %
#define BP_PERC BP_PERCENT
#define BP_DOLLAR KC_GRAVE // $
#define BP_DLR BP_DOLLAR
#define BP_DOUBLE_QUOTE KC_1 // "
#define BP_DQOT BP_DOUBLE_QUOTE
#define BP_LEFT_GUILLEMET KC_2 // «
#define BP_LGIL BP_LEFT_GUILLEMET
#define BP_RIGHT_GUILLEMET KC_3 // »
#define BP_RGIL BP_RIGHT_GUILLEMET
#define BP_LEFT_PAREN KC_4 // (
#define BP_LPRN BP_LEFT_PAREN
#define BP_RIGHT_PAREN KC_5 // )
#define BP_RPRN BP_RIGHT_PAREN
#define BP_AT KC_6 // @
#define BP_PLUS KC_7 // +
#define BP_MINUS KC_8 // -
#define BP_MINS BP_MINUS
#define BP_SLASH KC_9 // /
#define BP_SLSH BP_SLASH
#define BP_ASTERISK KC_0 // *
#define BP_ASTR BP_ASTERISK
#define BP_EQUAL KC_MINUS // =
#define BP_EQL BP_EQUAL
#define BP_PERCENT KC_EQUAL // %
#define BP_PERC BP_PERCENT
// Second row
#define BP_B KC_Q
#define BP_E_ACUTE KC_W // é
#define BP_ECUT BP_E_ACUTE
#define BP_P KC_E
#define BP_O KC_R
#define BP_E_GRAVE KC_T // è
#define BP_EGRV BP_E_GRAVE
#define BP_DEAD_CIRCUMFLEX KC_Y // dead ^
#define BP_DCRC BP_DEAD_CIRCUMFLEX
#define BP_V KC_U
#define BP_D KC_I
#define BP_L KC_O
#define BP_J KC_P
#define BP_Z KC_LBRACKET
#define BP_W KC_RBRACKET
#define BP_B KC_Q
#define BP_E_ACUTE KC_W // é
#define BP_ECUT BP_E_ACUTE
#define BP_P KC_E
#define BP_O KC_R
#define BP_E_GRAVE KC_T // è
#define BP_EGRV BP_E_GRAVE
#define BP_DEAD_CIRCUMFLEX KC_Y // dead ^
#define BP_DCRC BP_DEAD_CIRCUMFLEX
#define BP_V KC_U
#define BP_D KC_I
#define BP_L KC_O
#define BP_J KC_P
#define BP_Z KC_LBRACKET
#define BP_W KC_RBRACKET
// Third row
#define BP_A KC_A
#define BP_U KC_S
#define BP_I KC_D
#define BP_E KC_F
#define BP_COMMA KC_G // ,
#define BP_COMM BP_COMMA
#define BP_C KC_H
#define BP_T KC_J
#define BP_S KC_K
#define BP_R KC_L
#define BP_N KC_SCOLON
#define BP_M KC_QUOTE
#define BP_C_CEDILLA KC_BSLASH // ç
#define BP_CCED BP_C_CEDILLA
#define BP_A KC_A
#define BP_U KC_S
#define BP_I KC_D
#define BP_E KC_F
#define BP_COMMA KC_G // ,
#define BP_COMM BP_COMMA
#define BP_C KC_H
#define BP_T KC_J
#define BP_S KC_K
#define BP_R KC_L
#define BP_N KC_SCOLON
#define BP_M KC_QUOTE
#define BP_C_CEDILLA KC_BSLASH // ç
#define BP_CCED BP_C_CEDILLA
// Fourth row
#define BP_E_CIRCUMFLEX KC_NONUS_BSLASH // ê
#define BP_ECRC BP_E_CIRCUMFLEX
#define BP_A_GRAVE KC_Z // à
#define BP_AGRV BP_A_GRAVE
#define BP_Y KC_X
#define BP_X KC_C
#define BP_DOT KC_V // .
#define BP_K KC_B
#define BP_APOSTROPHE KC_N
#define BP_APOS BP_APOSTROPHE // '
#define BP_Q KC_M
#define BP_G KC_COMMA
#define BP_H KC_DOT
#define BP_F KC_SLASH
#define BP_E_CIRCUMFLEX KC_NONUS_BSLASH // ê
#define BP_ECRC BP_E_CIRCUMFLEX
#define BP_A_GRAVE KC_Z // à
#define BP_AGRV BP_A_GRAVE
#define BP_Y KC_X
#define BP_X KC_C
#define BP_DOT KC_V // .
#define BP_K KC_B
#define BP_APOSTROPHE KC_N
#define BP_APOS BP_APOSTROPHE // '
#define BP_Q KC_M
#define BP_G KC_COMMA
#define BP_H KC_DOT
#define BP_F KC_SLASH
// Shifted characters
// First row
#define BP_HASH LSFT(BP_DOLLAR) // #
#define BP_1 LSFT(KC_1)
#define BP_2 LSFT(KC_2)
#define BP_3 LSFT(KC_3)
#define BP_4 LSFT(KC_4)
#define BP_5 LSFT(KC_5)
#define BP_6 LSFT(KC_6)
#define BP_7 LSFT(KC_7)
#define BP_8 LSFT(KC_8)
#define BP_9 LSFT(KC_9)
#define BP_0 LSFT(KC_0)
#define BP_DEGREE LSFT(BP_EQUAL) // °
#define BP_DEGR BP_DEGREE
#define BP_GRAVE LSFT(BP_PERCENT) // `
#define BP_GRV BP_GRAVE
#define BP_HASH LSFT(BP_DOLLAR) // #
#define BP_1 LSFT(KC_1)
#define BP_2 LSFT(KC_2)
#define BP_3 LSFT(KC_3)
#define BP_4 LSFT(KC_4)
#define BP_5 LSFT(KC_5)
#define BP_6 LSFT(KC_6)
#define BP_7 LSFT(KC_7)
#define BP_8 LSFT(KC_8)
#define BP_9 LSFT(KC_9)
#define BP_0 LSFT(KC_0)
#define BP_DEGREE LSFT(BP_EQUAL) // °
#define BP_DEGR BP_DEGREE
#define BP_GRAVE LSFT(BP_PERCENT) // `
#define BP_GRV BP_GRAVE
// Second row
#define BP_EXCLAIM LSFT(BP_DEAD_CIRCUMFLEX) // !
#define BP_EXLM BP_EXCLAIM
#define BP_EXCLAIM LSFT(BP_DEAD_CIRCUMFLEX) // !
#define BP_EXLM BP_EXCLAIM
// Third row
#define BP_SCOLON LSFT(BP_COMMA) // ;
#define BP_SCLN BP_SCOLON
#define BP_SCOLON LSFT(BP_COMMA) // ;
#define BP_SCLN BP_SCOLON
// Fourth row
#define BP_COLON LSFT(BP_DOT) // :
#define BP_COLN BP_COLON
#define BP_COLON LSFT(BP_DOT) // :
#define BP_COLN BP_COLON
#define BP_QUESTION LSFT(BP_APOS) // ?
#define BP_QEST BP_QUESTION
#define BP_QEST BP_QUESTION
// Space bar
#define BP_NON_BREAKING_SPACE LSFT(KC_SPACE)
#define BP_NBSP BP_NON_BREAKING_SPACE
#define BP_NON_BREAKING_SPACE LSFT(KC_SPACE)
#define BP_NBSP BP_NON_BREAKING_SPACE
// AltGr-ed characters
// First row
#define BP_EN_DASH ALGR(BP_DOLLAR) //
#define BP_NDSH BP_EN_DASH
#define BP_EM_DASH ALGR(KC_1) // —
#define BP_MDSH BP_EM_DASH
#define BP_LESS ALGR(KC_2) // <
#define BP_GREATER ALGR(KC_3) // >
#define BP_GRTR BP_GREATER
#define BP_LBRACKET ALGR(KC_4) // [
#define BP_LBRC BP_LBRACKET
#define BP_RBRACKET ALGR(KC_5) // ]
#define BP_RBRC BP_RBRACKET
#define BP_CIRCUMFLEX ALGR(KC_6) // ^
#define BP_CIRC BP_CIRCUMFLEX
#define BP_PLUS_MINUS ALGR(KC_7) // ±
#define BP_PSMS BP_PLUS_MINUS
#define BP_MATH_MINUS ALGR(KC_8) //
#define BP_MMNS BP_MATH_MINUS
#define BP_OBELUS ALGR(KC_9) // ÷
#define BP_OBEL BP_OBELUS
#define BP_EN_DASH ALGR(BP_DOLLAR) //
#define BP_NDSH BP_EN_DASH
#define BP_EM_DASH ALGR(KC_1) // —
#define BP_MDSH BP_EM_DASH
#define BP_LESS ALGR(KC_2) // <
#define BP_GREATER ALGR(KC_3) // >
#define BP_GRTR BP_GREATER
#define BP_LBRACKET ALGR(KC_4) // [
#define BP_LBRC BP_LBRACKET
#define BP_RBRACKET ALGR(KC_5) // ]
#define BP_RBRC BP_RBRACKET
#define BP_CIRCUMFLEX ALGR(KC_6) // ^
#define BP_CIRC BP_CIRCUMFLEX
#define BP_PLUS_MINUS ALGR(KC_7) // ±
#define BP_PSMS BP_PLUS_MINUS
#define BP_MATH_MINUS ALGR(KC_8) //
#define BP_MMNS BP_MATH_MINUS
#define BP_OBELUS ALGR(KC_9) // ÷
#define BP_OBEL BP_OBELUS
// more conventional name of the symbol
#define BP_DIVISION_SIGN BP_OBELUS
#define BP_DVSN BP_DIVISION_SIGN
#define BP_TIMES ALGR(KC_0) // ×
#define BP_TIMS BP_TIMES
#define BP_DIFFERENT ALGR(BP_EQUAL) // ≠
#define BP_DIFF BP_DIFFERENT
#define BP_PERMILLE ALGR(BP_PERCENT) // ‰
#define BP_PMIL BP_PERMILLE
#define BP_DIVISION_SIGN BP_OBELUS
#define BP_DVSN BP_DIVISION_SIGN
#define BP_TIMES ALGR(KC_0) // ×
#define BP_TIMS BP_TIMES
#define BP_DIFFERENT ALGR(BP_EQUAL) // ≠
#define BP_DIFF BP_DIFFERENT
#define BP_PERMILLE ALGR(BP_PERCENT) // ‰
#define BP_PMIL BP_PERMILLE
// Second row
#define BP_PIPE ALGR(BP_B) // |
#define BP_DEAD_ACUTE ALGR(BP_E_ACUTE) // dead ´
#define BP_DACT BP_DEAD_ACUTE
#define BP_AMPERSAND ALGR(BP_P) // &
#define BP_AMPR BP_AMPERSAND
#define BP_OE_LIGATURE ALGR(BP_O) // œ
#define BP_OE BP_OE_LIGATURE
#define BP_DEAD_GRAVE ALGR(BP_E_GRAVE) // `
#define BP_DGRV BP_DEAD_GRAVE
#define BP_INVERTED_EXCLAIM ALGR(BP_DEAD_CIRCUMFLEX) // ¡
#define BP_IXLM BP_INVERTED_EXCLAIM
#define BP_DEAD_CARON ALGR(BP_V) // dead ˇ
#define BP_DCAR BP_DEAD_CARON
#define BP_ETH ALGR(BP_D) // ð
#define BP_DEAD_SLASH ALGR(BP_L) // dead /
#define BP_DSLH BP_DEAD_SLASH
#define BP_IJ_LIGATURE ALGR(BP_J) // ij
#define BP_IJ BP_IJ_LIGATURE
#define BP_SCHWA ALGR(BP_Z) // ə
#define BP_SCWA BP_SCHWA
#define BP_DEAD_BREVE ALGR(BP_W) // dead ˘
#define BP_DBRV BP_DEAD_BREVE
#define BP_PIPE ALGR(BP_B) // |
#define BP_DEAD_ACUTE ALGR(BP_E_ACUTE) // dead ´
#define BP_DACT BP_DEAD_ACUTE
#define BP_AMPERSAND ALGR(BP_P) // &
#define BP_AMPR BP_AMPERSAND
#define BP_OE_LIGATURE ALGR(BP_O) // œ
#define BP_OE BP_OE_LIGATURE
#define BP_DEAD_GRAVE ALGR(BP_E_GRAVE) // `
#define BP_DGRV BP_DEAD_GRAVE
#define BP_INVERTED_EXCLAIM ALGR(BP_DEAD_CIRCUMFLEX) // ¡
#define BP_IXLM BP_INVERTED_EXCLAIM
#define BP_DEAD_CARON ALGR(BP_V) // dead ˇ
#define BP_DCAR BP_DEAD_CARON
#define BP_ETH ALGR(BP_D) // ð
#define BP_DEAD_SLASH ALGR(BP_L) // dead /
#define BP_DSLH BP_DEAD_SLASH
#define BP_IJ_LIGATURE ALGR(BP_J) // ij
#define BP_IJ BP_IJ_LIGATURE
#define BP_SCHWA ALGR(BP_Z) // ə
#define BP_SCWA BP_SCHWA
#define BP_DEAD_BREVE ALGR(BP_W) // dead ˘
#define BP_DBRV BP_DEAD_BREVE
// Third row
#define BP_AE_LIGATURE ALGR(BP_A) // æ
#define BP_AE BP_AE_LIGATURE
#define BP_U_GRAVE ALGR(BP_U) // ù
#define BP_UGRV BP_U_GRAVE
#define BP_DEAD_TREMA ALGR(BP_I) // dead ¨ (trema/umlaut/diaresis)
#define BP_DTRM BP_DEAD_TREMA
#define BP_EURO ALGR(BP_E) // €
#define BP_TYPOGRAPHICAL_APOSTROPHE ALGR(BP_COMMA) //
#define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE
#define BP_COPYRIGHT ALGR(BP_C) // ©
#define BP_CPRT BP_COPYRIGHT
#define BP_THORN ALGR(BP_T) // þ
#define BP_THRN BP_THORN
#define BP_SHARP_S ALGR(BP_S) // ß
#define BP_SRPS BP_SHARP_S
#define BP_REGISTERED_TRADEMARK ALGR(BP_R) // ®
#define BP_RTM BP_REGISTERED_TRADEMARK
#define BP_DEAD_TILDE ALGR(BP_N) // dead ~
#define BP_DTLD BP_DEAD_TILDE
#define BP_DEAD_MACRON ALGR(BP_M) // dead ¯
#define BP_DMCR BP_DEAD_MACRON
#define BP_DEAD_CEDILLA ALGR(BP_C_CEDILLA) // dead ¸
#define BP_DCED BP_DEAD_CEDILLA
#define BP_AE_LIGATURE ALGR(BP_A) // æ
#define BP_AE BP_AE_LIGATURE
#define BP_U_GRAVE ALGR(BP_U) // ù
#define BP_UGRV BP_U_GRAVE
#define BP_DEAD_TREMA ALGR(BP_I) // dead ¨ (trema/umlaut/diaresis)
#define BP_DTRM BP_DEAD_TREMA
#define BP_EURO ALGR(BP_E) // €
#define BP_TYPOGRAPHICAL_APOSTROPHE ALGR(BP_COMMA) //
#define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE
#define BP_COPYRIGHT ALGR(BP_C) // ©
#define BP_CPRT BP_COPYRIGHT
#define BP_THORN ALGR(BP_T) // þ
#define BP_THRN BP_THORN
#define BP_SHARP_S ALGR(BP_S) // ß
#define BP_SRPS BP_SHARP_S
#define BP_REGISTERED_TRADEMARK ALGR(BP_R) // ®
#define BP_RTM BP_REGISTERED_TRADEMARK
#define BP_DEAD_TILDE ALGR(BP_N) // dead ~
#define BP_DTLD BP_DEAD_TILDE
#define BP_DEAD_MACRON ALGR(BP_M) // dead ¯
#define BP_DMCR BP_DEAD_MACRON
#define BP_DEAD_CEDILLA ALGR(BP_C_CEDILLA) // dead ¸
#define BP_DCED BP_DEAD_CEDILLA
// Fourth row
#define BP_NONUS_SLASH ALGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo)
#define BP_NUSL BP_NONUS_SLASH
#define BP_BACKSLASH ALGR(BP_A_GRAVE) /* \ */
#define BP_BSLS BP_BACKSLASH
#define BP_LEFT_CURLY_BRACE ALGR(BP_Y) // {
#define BP_LCBR BP_LEFT_CURLY_BRACE
#define BP_RIGHT_CURLY_BRACE ALGR(BP_X) // }
#define BP_RCBR BP_RIGHT_CURLY_BRACE
#define BP_ELLIPSIS ALGR(BP_DOT) // …
#define BP_ELPS BP_ELLIPSIS
#define BP_TILDE ALGR(BP_K) // ~
#define BP_TILD BP_TILDE
#define BP_INVERTED_QUESTION ALGR(BP_QUESTION) // ¿
#define BP_IQST BP_INVERTED_QUESTION
#define BP_DEAD_RING ALGR(BP_Q) // dead °
#define BP_DRNG BP_DEAD_RING
#define BP_DEAD_GREEK ALGR(BP_G) // dead Greek key (following key will make a Greek letter)
#define BP_DGRK BP_DEAD_GREEK
#define BP_DAGGER ALGR(BP_H) // †
#define BP_DAGR BP_DAGGER
#define BP_DEAD_OGONEK ALGR(BP_F) // dead ˛
#define BP_DOGO BP_DEAD_OGONEK
#define BP_NONUS_SLASH ALGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo)
#define BP_NUSL BP_NONUS_SLASH
#define BP_BACKSLASH ALGR(BP_A_GRAVE) /* \ */
#define BP_BSLS BP_BACKSLASH
#define BP_LEFT_CURLY_BRACE ALGR(BP_Y) // {
#define BP_LCBR BP_LEFT_CURLY_BRACE
#define BP_RIGHT_CURLY_BRACE ALGR(BP_X) // }
#define BP_RCBR BP_RIGHT_CURLY_BRACE
#define BP_ELLIPSIS ALGR(BP_DOT) // …
#define BP_ELPS BP_ELLIPSIS
#define BP_TILDE ALGR(BP_K) // ~
#define BP_TILD BP_TILDE
#define BP_INVERTED_QUESTION ALGR(BP_QUESTION) // ¿
#define BP_IQST BP_INVERTED_QUESTION
#define BP_DEAD_RING ALGR(BP_Q) // dead °
#define BP_DRNG BP_DEAD_RING
#define BP_DEAD_GREEK ALGR(BP_G) // dead Greek key (following key will make a Greek letter)
#define BP_DGRK BP_DEAD_GREEK
#define BP_DAGGER ALGR(BP_H) // †
#define BP_DAGR BP_DAGGER
#define BP_DEAD_OGONEK ALGR(BP_F) // dead ˛
#define BP_DOGO BP_DEAD_OGONEK
// Space bar
#define BP_UNDERSCORE ALGR(KC_SPACE) // _
#define BP_UNDS BP_UNDERSCORE
#define BP_UNDERSCORE ALGR(KC_SPACE) // _
#define BP_UNDS BP_UNDERSCORE
// AltGr-Shifted characters (different from capitalised AltGr-ed characters)
// First row
#define BP_PARAGRAPH ALGR(BP_HASH) // ¶
#define BP_PARG BP_PARAGRAPH
#define BP_LOW_DOUBLE_QUOTE ALGR(BP_1) // „
#define BP_LWQT BP_LOW_DOUBLE_QUOTE
#define BP_LEFT_DOUBLE_QUOTE ALGR(BP_2) // “
#define BP_LDQT BP_LEFT_DOUBLE_QUOTE
#define BP_RIGHT_DOUBLE_QUOTE ALGR(BP_3) // ”
#define BP_RDQT BP_RIGHT_DOUBLE_QUOTE
#define BP_LESS_OR_EQUAL ALGR(BP_4) // ≤
#define BP_LEQL BP_LESS_OR_EQUAL
#define BP_GREATER_OR_EQUAL ALGR(BP_5) // ≥
#define BP_GEQL BP_GREATER_OR_EQUAL
#define BP_PARAGRAPH ALGR(BP_HASH) // ¶
#define BP_PARG BP_PARAGRAPH
#define BP_LOW_DOUBLE_QUOTE ALGR(BP_1) // „
#define BP_LWQT BP_LOW_DOUBLE_QUOTE
#define BP_LEFT_DOUBLE_QUOTE ALGR(BP_2) // “
#define BP_LDQT BP_LEFT_DOUBLE_QUOTE
#define BP_RIGHT_DOUBLE_QUOTE ALGR(BP_3) // ”
#define BP_RDQT BP_RIGHT_DOUBLE_QUOTE
#define BP_LESS_OR_EQUAL ALGR(BP_4) // ≤
#define BP_LEQL BP_LESS_OR_EQUAL
#define BP_GREATER_OR_EQUAL ALGR(BP_5) // ≥
#define BP_GEQL BP_GREATER_OR_EQUAL
// nothing on ALGR(BP_6)
#define BP_NEGATION ALGR(BP_7) // ¬
#define BP_NEGT BP_NEGATION
#define BP_ONE_QUARTER ALGR(BP_8) // ¼
#define BP_1QRT BP_ONE_QUARTER
#define BP_ONE_HALF ALGR(BP_9) // ½
#define BP_1HLF BP_ONE_HALF
#define BP_THREE_QUARTERS ALGR(BP_0) // ¾
#define BP_3QRT BP_THREE_QUARTERS
#define BP_MINUTES ALGR(BP_DEGREE) //
#define BP_MNUT BP_MINUTES
#define BP_SECONDS ALGR(BP_GRAVE) // ″
#define BP_SCND BP_SECONDS
#define BP_NEGATION ALGR(BP_7) // ¬
#define BP_NEGT BP_NEGATION
#define BP_ONE_QUARTER ALGR(BP_8) // ¼
#define BP_1QRT BP_ONE_QUARTER
#define BP_ONE_HALF ALGR(BP_9) // ½
#define BP_1HLF BP_ONE_HALF
#define BP_THREE_QUARTERS ALGR(BP_0) // ¾
#define BP_3QRT BP_THREE_QUARTERS
#define BP_MINUTES ALGR(BP_DEGREE) //
#define BP_MNUT BP_MINUTES
#define BP_SECONDS ALGR(BP_GRAVE) // ″
#define BP_SCND BP_SECONDS
// Second row
#define BP_BROKEN_PIPE LSFT(BP_PIPE) // ¦
#define BP_BPIP BP_BROKEN_PIPE
#define BP_DEAD_DOUBLE_ACUTE LSFT(BP_DEAD_ACUTE) // ˝
#define BP_DDCT BP_DEAD_DOUBLE_ACUTE
#define BP_SECTION ALGR(LSFT(BP_P)) // §
#define BP_SECT BP_SECTION
#define BP_BROKEN_PIPE LSFT(BP_PIPE) // ¦
#define BP_BPIP BP_BROKEN_PIPE
#define BP_DEAD_DOUBLE_ACUTE LSFT(BP_DEAD_ACUTE) // ˝
#define BP_DDCT BP_DEAD_DOUBLE_ACUTE
#define BP_SECTION ALGR(LSFT(BP_P)) // §
#define BP_SECT BP_SECTION
// LSFT(BP_DEAD_GRAVE) is actually the same character as LSFT(BP_PERCENT)
#define BP_GRAVE_BIS LSFT(BP_DEAD_GRAVE) // `
#define BP_GRVB BP_GRAVE_BIS
#define BP_GRAVE_BIS LSFT(BP_DEAD_GRAVE) // `
#define BP_GRVB BP_GRAVE_BIS
// Third row
#define BP_DEAD_DOT_ABOVE LSFT(BP_DEAD_TREMA) // dead ˙
#define BP_DDTA BP_DEAD_DOT_ABOVE
#define BP_DEAD_CURRENCY LSFT(BP_EURO) // dead ¤ (next key will generate a currency code like ¥ or £)
#define BP_DCUR BP_DEAD_CURRENCY
#define BP_DEAD_HORN LSFT(ALGR(BP_COMMA)) // dead ̛
#define BP_DHRN BP_DEAD_HORN
#define BP_LONG_S LSFT(ALGR(BP_C)) // ſ
#define BP_LNGS BP_LONG_S
#define BP_TRADEMARK LSFT(BP_REGISTERED_TRADEMARK) // ™
#define BP_TM BP_TRADEMARK
#define BP_ORDINAL_INDICATOR_O LSFT(ALGR(BP_M)) // º
#define BP_ORDO BP_ORDINAL_INDICATOR_O
#define BP_DEAD_COMMA LSFT(BP_DEAD_CEDILLA) // dead ˛
#define BP_DCOM BP_DEAD_COMMA
#define BP_DEAD_DOT_ABOVE LSFT(BP_DEAD_TREMA) // dead ˙
#define BP_DDTA BP_DEAD_DOT_ABOVE
#define BP_DEAD_CURRENCY LSFT(BP_EURO) // dead ¤ (next key will generate a currency code like ¥ or £)
#define BP_DCUR BP_DEAD_CURRENCY
#define BP_DEAD_HORN LSFT(ALGR(BP_COMMA)) // dead ̛
#define BP_DHRN BP_DEAD_HORN
#define BP_LONG_S LSFT(ALGR(BP_C)) // ſ
#define BP_LNGS BP_LONG_S
#define BP_TRADEMARK LSFT(BP_REGISTERED_TRADEMARK) // ™
#define BP_TM BP_TRADEMARK
#define BP_ORDINAL_INDICATOR_O LSFT(ALGR(BP_M)) // º
#define BP_ORDO BP_ORDINAL_INDICATOR_O
#define BP_DEAD_COMMA LSFT(BP_DEAD_CEDILLA) // dead ˛
#define BP_DCOM BP_DEAD_COMMA
// Fourth row
#define BP_LEFT_QUOTE LSFT(ALGR(BP_Y)) //
#define BP_LQOT BP_LEFT_QUOTE
#define BP_RIGHT_QUOTE LSFT(ALGR(BP_X)) //
#define BP_RQOT BP_RIGHT_QUOTE
#define BP_INTERPUNCT LSFT(ALGR(BP_DOT)) // ·
#define BP_IPCT BP_INTERPUNCT
#define BP_DEAD_HOOK_ABOVE LSFT(ALGR(BP_QUESTION)) // dead ̉
#define BP_DHKA BP_DEAD_HOOK_ABOVE
#define BP_DEAD_UNDERDOT LSFT(BP_DEAD_RING) // dead ̣
#define BP_DUDT BP_DEAD_UNDERDOT
#define BP_DOUBLE_DAGGER LSFT(BP_DAGGER) // ‡
#define BP_DDGR BP_DOUBLE_DAGGER
#define BP_ORDINAL_INDICATOR_A LSFT(ALGR(BP_F)) // ª
#define BP_ORDA BP_ORDINAL_INDICATOR_A
#define BP_LEFT_QUOTE LSFT(ALGR(BP_Y)) //
#define BP_LQOT BP_LEFT_QUOTE
#define BP_RIGHT_QUOTE LSFT(ALGR(BP_X)) //
#define BP_RQOT BP_RIGHT_QUOTE
#define BP_INTERPUNCT LSFT(ALGR(BP_DOT)) // ·
#define BP_IPCT BP_INTERPUNCT
#define BP_DEAD_HOOK_ABOVE LSFT(ALGR(BP_QUESTION)) // dead ̉
#define BP_DHKA BP_DEAD_HOOK_ABOVE
#define BP_DEAD_UNDERDOT LSFT(BP_DEAD_RING) // dead ̣
#define BP_DUDT BP_DEAD_UNDERDOT
#define BP_DOUBLE_DAGGER LSFT(BP_DAGGER) // ‡
#define BP_DDGR BP_DOUBLE_DAGGER
#define BP_ORDINAL_INDICATOR_A LSFT(ALGR(BP_F)) // ª
#define BP_ORDA BP_ORDINAL_INDICATOR_A
// Space bar
#define BP_NARROW_NON_BREAKING_SPACE ALGR(BP_NON_BREAKING_SPACE)
#define BP_NNBS BP_NARROW_NON_BREAKING_SPACE
#define BP_NARROW_NON_BREAKING_SPACE ALGR(BP_NON_BREAKING_SPACE)
#define BP_NNBS BP_NARROW_NON_BREAKING_SPACE
#endif

View file

@ -21,54 +21,54 @@
/* Scan codes for the Brazilian ABNT2 keyboard layout */
#define BR_CCDL KC_SCLN // Ç same scancode as ;: on US layout
#define BR_SCLN KC_SLSH // ;: same scancode as /? on US layout
#define BR_QUOT KC_GRV // '" same scancode as `~ on US layout
#define BR_TILD KC_QUOT // ~^ dead keys, same scancode as '" on US layout
#define BR_ACUT KC_LBRC // ´` dead keys, same scancode as [{ on US layout
#define BR_LBRC KC_RBRC // [{ same scancode as ]} on US layout
#define BR_RBRC KC_BSLS // ]} same scancode as \| on US layout
#define BR_BSLS KC_NUBS // \| uses the non-US hash scancode (#~, sometimes §±)
#define BR_SLSH KC_INT1 // /? uses the INTL1 scancode
#define BR_CCDL KC_SCLN // Ç same scancode as ;: on US layout
#define BR_SCLN KC_SLSH // ;: same scancode as /? on US layout
#define BR_QUOT KC_GRV // '" same scancode as `~ on US layout
#define BR_TILD KC_QUOT // ~^ dead keys, same scancode as '" on US layout
#define BR_ACUT KC_LBRC // ´` dead keys, same scancode as [{ on US layout
#define BR_LBRC KC_RBRC // [{ same scancode as ]} on US layout
#define BR_RBRC KC_BSLS // ]} same scancode as \| on US layout
#define BR_BSLS KC_NUBS // \| uses the non-US hash scancode (#~, sometimes §±)
#define BR_SLSH KC_INT1 // /? uses the INTL1 scancode
#define BR_COLN LSFT(BR_SCLN) // shifted :
#define BR_DQT LSFT(BR_QUOT) // shifted "
#define BR_CIRC LSFT(BR_TILD) // shifted ^ (dead key)
#define BR_GRAV LSFT(BR_ACUT) // shifted ` (dead key)
#define BR_LCBR LSFT(BR_LBRC) // shifted {
#define BR_RCBR LSFT(BR_RBRC) // shifted }
#define BR_PIPE LSFT(BR_BSLS) // shifted |
#define BR_QUES LSFT(BR_SLSH) // shifted ?
#define BR_TRMA LSFT(KC_6) // shifted ¨ (dead key - trema accent)
#define BR_COLN LSFT(BR_SCLN) // shifted :
#define BR_DQT LSFT(BR_QUOT) // shifted "
#define BR_CIRC LSFT(BR_TILD) // shifted ^ (dead key)
#define BR_GRAV LSFT(BR_ACUT) // shifted ` (dead key)
#define BR_LCBR LSFT(BR_LBRC) // shifted {
#define BR_RCBR LSFT(BR_RBRC) // shifted }
#define BR_PIPE LSFT(BR_BSLS) // shifted |
#define BR_QUES LSFT(BR_SLSH) // shifted ?
#define BR_TRMA LSFT(KC_6) // shifted ¨ (dead key - trema accent)
// On the ABNT2 the keypad comma and the keypad dot scancodes are switched
// (presumably because in Brazil comma is used as the decimal separator)
#define BR_KPDT KC_KP_COMMA // keypad .
#define BR_KPCM KC_KP_DOT // keypad ,
#define BR_1UP LALT(KC_1) // 1 superscript ¹ alt+1
#define BR_2UP LALT(KC_2) // 2 superscript ² alt+2
#define BR_3UP LALT(KC_3) // 3 superscript ³ alt+3
#define BR_PND LALT(KC_4) // Pound sign £ alt+4
#define BR_CENT LALT(KC_5) // Cent sign ¢ alt+5
#define BR_NOT LALT(KC_6) // Not sign ¬ alt+6
#define BR_SECT LALT(KC_EQL) // Section sign § alt+=
#define BR_FORD LALT(BR_LBRC) // Feminine Ordinal Sign ª alt+[
#define BR_MORD LALT(BR_RBRC) // Masculine Ordinal Sign º alt+]
#define BR_DGRE LALT(BR_SLSH) // Degree sign ° alt+/
#define BR_1UP LALT(KC_1) // 1 superscript ¹ alt+1
#define BR_2UP LALT(KC_2) // 2 superscript ² alt+2
#define BR_3UP LALT(KC_3) // 3 superscript ³ alt+3
#define BR_PND LALT(KC_4) // Pound sign £ alt+4
#define BR_CENT LALT(KC_5) // Cent sign ¢ alt+5
#define BR_NOT LALT(KC_6) // Not sign ¬ alt+6
#define BR_SECT LALT(KC_EQL) // Section sign § alt+=
#define BR_FORD LALT(BR_LBRC) // Feminine Ordinal Sign ª alt+[
#define BR_MORD LALT(BR_RBRC) // Masculine Ordinal Sign º alt+]
#define BR_DGRE LALT(BR_SLSH) // Degree sign ° alt+/
#define BR_EURO LALT(KC_E) // Euro sign € alt+e
#define BR_NDTD LALT(BR_TILD) // Non-dead key tilde ~ alt+~
#define BR_NDAC LALT(BR_ACUT) // Non-dead key acute accent ´ alt+´
#define BR_NDGV LALT(BR_QUOT) // Non-dead key grave accent ` alt+'
#define BR_NDCR LALT(BR_CIRC) // Non-dead key circumflex accent ^ alt+^ (alt+shift+~)
#define BR_NDTR LALT(BR_TRMA) // Non-dead key trema accent ¨ alt+¨ (alt+shift+6)
#define BR_EURO LALT(KC_E) // Euro sign € alt+e
#define BR_NDTD LALT(BR_TILD) // Non-dead key tilde ~ alt+~
#define BR_NDAC LALT(BR_ACUT) // Non-dead key acute accent ´ alt+´
#define BR_NDGV LALT(BR_QUOT) // Non-dead key grave accent ` alt+'
#define BR_NDCR LALT(BR_CIRC) // Non-dead key circumflex accent ^ alt+^ (alt+shift+~)
#define BR_NDTR LALT(BR_TRMA) // Non-dead key trema accent ¨ alt+¨ (alt+shift+6)
// For 101-key keyboard layouts, the ABNT2 layout allows
// the slash and question mark to be typed using alt+q and alt+w.
// The shortcuts are provided here for completeness' sake,
// but it's recommended to use BR_SLSH and BR_QUES instead
#define BR_ASLS LALT(KC_Q)
#define BR_AQST LALT(KC_W)
#define BR_ASLS LALT(KC_Q)
#define BR_AQST LALT(KC_W)
#endif

View file

@ -19,241 +19,241 @@
#include "keymap.h"
#ifndef GR2A
#define GR2A(kc) RCTL(kc)
# define GR2A(kc) RCTL(kc)
#endif
// Normal characters
// First row
#define CSA_SLASH KC_GRV // /
#define CSA_SLSH CSA_SLASH
#define CSA_SLASH KC_GRV // /
#define CSA_SLSH CSA_SLASH
// 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
#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
// 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
#define CSA_E_GRAVE KC_QUOT // è
#define CSA_EGRV CSA_E_GRAVE
#define CSA_A_GRAVE KC_BSLASH // à
#define CSA_AGRV CSA_A_GRAVE
// 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
#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
// 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
#define CSA_BACKSLASH LSFT(CSA_SLASH) /* \ */
#define CSA_BSLS CSA_BACKSLASH
#define CSA_QUESTION LSFT(KC_6) // ?
#define CSA_QEST CSA_QUESTION
// Second row
#define CSA_DEAD_TREMA LSFT(CSA_DEAD_CIRCUMFLEX) // dead trema/umlaut/diaresis for ä ë ï ö ü
#define CSA_DTRM CSA_DEAD_TREMA
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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) // ð
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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
#define CSA_DIVISION_SIGN CSA_OBELUS
#define CSA_DVSN CSA_DIVISION_SIGN
// TODO GR2A(LSFT(CSA_E_ACUTE))
#endif

View file

@ -18,73 +18,73 @@
#include "keymap.h"
// For software implementation of colemak
#define CM_Q KC_Q
#define CM_W KC_W
#define CM_F KC_E
#define CM_P KC_R
#define CM_G KC_T
#define CM_J KC_Y
#define CM_L KC_U
#define CM_U KC_I
#define CM_Y KC_O
#define CM_Q KC_Q
#define CM_W KC_W
#define CM_F KC_E
#define CM_P KC_R
#define CM_G KC_T
#define CM_J KC_Y
#define CM_L KC_U
#define CM_U KC_I
#define CM_Y KC_O
#define CM_SCLN KC_P
#define CM_A KC_A
#define CM_R KC_S
#define CM_S KC_D
#define CM_T KC_F
#define CM_D KC_G
#define CM_H KC_H
#define CM_N KC_J
#define CM_E KC_K
#define CM_I KC_L
#define CM_O KC_SCLN
#define CM_A KC_A
#define CM_R KC_S
#define CM_S KC_D
#define CM_T KC_F
#define CM_D KC_G
#define CM_H KC_H
#define CM_N KC_J
#define CM_E KC_K
#define CM_I KC_L
#define CM_O KC_SCLN
#define CM_COLN LSFT(CM_SCLN)
#define CM_Z KC_Z
#define CM_X KC_X
#define CM_C KC_C
#define CM_V KC_V
#define CM_B KC_B
#define CM_K KC_N
#define CM_M KC_M
#define CM_Z KC_Z
#define CM_X KC_X
#define CM_C KC_C
#define CM_V KC_V
#define CM_B KC_B
#define CM_K KC_N
#define CM_M KC_M
#define CM_COMM KC_COMM
#define CM_DOT KC_DOT
#define CM_DOT KC_DOT
#define CM_SLSH KC_SLSH
// Make it easy to support these in macros
// TODO: change macro implementation so these aren't needed
#define KC_CM_Q CM_Q
#define KC_CM_W CM_W
#define KC_CM_F CM_F
#define KC_CM_P CM_P
#define KC_CM_G CM_G
#define KC_CM_J CM_J
#define KC_CM_L CM_L
#define KC_CM_U CM_U
#define KC_CM_Y CM_Y
#define KC_CM_Q CM_Q
#define KC_CM_W CM_W
#define KC_CM_F CM_F
#define KC_CM_P CM_P
#define KC_CM_G CM_G
#define KC_CM_J CM_J
#define KC_CM_L CM_L
#define KC_CM_U CM_U
#define KC_CM_Y CM_Y
#define KC_CM_SCLN CM_SCLN
#define KC_CM_A CM_A
#define KC_CM_R CM_R
#define KC_CM_S CM_S
#define KC_CM_T CM_T
#define KC_CM_D CM_D
#define KC_CM_H CM_H
#define KC_CM_N CM_N
#define KC_CM_E CM_E
#define KC_CM_I CM_I
#define KC_CM_O CM_O
#define KC_CM_A CM_A
#define KC_CM_R CM_R
#define KC_CM_S CM_S
#define KC_CM_T CM_T
#define KC_CM_D CM_D
#define KC_CM_H CM_H
#define KC_CM_N CM_N
#define KC_CM_E CM_E
#define KC_CM_I CM_I
#define KC_CM_O CM_O
#define KC_CM_Z CM_Z
#define KC_CM_X CM_X
#define KC_CM_C CM_C
#define KC_CM_V CM_V
#define KC_CM_B CM_B
#define KC_CM_K CM_K
#define KC_CM_M CM_M
#define KC_CM_Z CM_Z
#define KC_CM_X CM_X
#define KC_CM_C CM_C
#define KC_CM_V CM_V
#define KC_CM_B CM_B
#define KC_CM_K CM_K
#define KC_CM_M CM_M
#define KC_CM_COMM CM_COMM
#define KC_CM_DOT CM_DOT
#define KC_CM_DOT CM_DOT
#define KC_CM_SLSH CM_SLSH
#endif

View file

@ -19,82 +19,82 @@
#include "keymap.h"
// Normal characters
#define DV_GRV KC_GRV
#define DV_1 KC_1
#define DV_2 KC_2
#define DV_3 KC_3
#define DV_4 KC_4
#define DV_5 KC_5
#define DV_6 KC_6
#define DV_7 KC_7
#define DV_8 KC_8
#define DV_9 KC_9
#define DV_0 KC_0
#define DV_LBRC KC_MINS
#define DV_RBRC KC_EQL
#define DV_GRV KC_GRV
#define DV_1 KC_1
#define DV_2 KC_2
#define DV_3 KC_3
#define DV_4 KC_4
#define DV_5 KC_5
#define DV_6 KC_6
#define DV_7 KC_7
#define DV_8 KC_8
#define DV_9 KC_9
#define DV_0 KC_0
#define DV_LBRC KC_MINS
#define DV_RBRC KC_EQL
#define DV_QUOT KC_Q
#define DV_COMM KC_W
#define DV_DOT KC_E
#define DV_P KC_R
#define DV_Y KC_T
#define DV_F KC_Y
#define DV_G KC_U
#define DV_C KC_I
#define DV_R KC_O
#define DV_L KC_P
#define DV_SLSH KC_LBRC
#define DV_EQL KC_RBRC
#define DV_BSLS KC_BSLS
#define DV_QUOT KC_Q
#define DV_COMM KC_W
#define DV_DOT KC_E
#define DV_P KC_R
#define DV_Y KC_T
#define DV_F KC_Y
#define DV_G KC_U
#define DV_C KC_I
#define DV_R KC_O
#define DV_L KC_P
#define DV_SLSH KC_LBRC
#define DV_EQL KC_RBRC
#define DV_BSLS KC_BSLS
#define DV_A KC_A
#define DV_O KC_S
#define DV_E KC_D
#define DV_U KC_F
#define DV_I KC_G
#define DV_D KC_H
#define DV_H KC_J
#define DV_T KC_K
#define DV_N KC_L
#define DV_S KC_SCLN
#define DV_MINS KC_QUOT
#define DV_A KC_A
#define DV_O KC_S
#define DV_E KC_D
#define DV_U KC_F
#define DV_I KC_G
#define DV_D KC_H
#define DV_H KC_J
#define DV_T KC_K
#define DV_N KC_L
#define DV_S KC_SCLN
#define DV_MINS KC_QUOT
#define DV_SCLN KC_Z
#define DV_Q KC_X
#define DV_J KC_C
#define DV_K KC_V
#define DV_X KC_B
#define DV_B KC_N
#define DV_M KC_M
#define DV_W KC_COMM
#define DV_V KC_DOT
#define DV_Z KC_SLSH
#define DV_SCLN KC_Z
#define DV_Q KC_X
#define DV_J KC_C
#define DV_K KC_V
#define DV_X KC_B
#define DV_B KC_N
#define DV_M KC_M
#define DV_W KC_COMM
#define DV_V KC_DOT
#define DV_Z KC_SLSH
// Shifted characters
#define DV_TILD LSFT(DV_GRV)
#define DV_EXLM LSFT(DV_1)
#define DV_AT LSFT(DV_2)
#define DV_HASH LSFT(DV_3)
#define DV_DLR LSFT(DV_4)
#define DV_PERC LSFT(DV_5)
#define DV_CIRC LSFT(DV_6)
#define DV_AMPR LSFT(DV_7)
#define DV_ASTR LSFT(DV_8)
#define DV_LPRN LSFT(DV_9)
#define DV_RPRN LSFT(DV_0)
#define DV_LCBR LSFT(DV_LBRC)
#define DV_RCBR LSFT(DV_RBRC)
#define DV_TILD LSFT(DV_GRV)
#define DV_EXLM LSFT(DV_1)
#define DV_AT LSFT(DV_2)
#define DV_HASH LSFT(DV_3)
#define DV_DLR LSFT(DV_4)
#define DV_PERC LSFT(DV_5)
#define DV_CIRC LSFT(DV_6)
#define DV_AMPR LSFT(DV_7)
#define DV_ASTR LSFT(DV_8)
#define DV_LPRN LSFT(DV_9)
#define DV_RPRN LSFT(DV_0)
#define DV_LCBR LSFT(DV_LBRC)
#define DV_RCBR LSFT(DV_RBRC)
#define DV_DQUO LSFT(DV_QUOT)
#define DV_LABK LSFT(DV_COMM)
#define DV_RABK LSFT(DV_DOT)
#define DV_DQUO LSFT(DV_QUOT)
#define DV_LABK LSFT(DV_COMM)
#define DV_RABK LSFT(DV_DOT)
#define DV_QUES LSFT(DV_SLSH)
#define DV_PLUS LSFT(DV_EQL)
#define DV_PIPE LSFT(DV_BSLS)
#define DV_QUES LSFT(DV_SLSH)
#define DV_PLUS LSFT(DV_EQL)
#define DV_PIPE LSFT(DV_BSLS)
#define DV_UNDS LSFT(DV_MINS)
#define DV_UNDS LSFT(DV_MINS)
#define DV_COLN LSFT(DV_SCLN)
#define DV_COLN LSFT(DV_SCLN)
#endif

View file

@ -20,79 +20,79 @@
#include "keymap.h"
// Normal characters
#define DP_DLR KC_GRV
#define DP_AMPR KC_1
#define DP_LBRC KC_2
#define DP_LCBR KC_3
#define DP_RCBR KC_4
#define DP_LPRN KC_5
#define DP_EQL KC_6
#define DP_ASTR KC_7
#define DP_RPRN KC_8
#define DP_PLUS KC_9
#define DP_RBRC KC_0
#define DP_EXLM KC_MINS
#define DP_HASH KC_EQL
#define DP_DLR KC_GRV
#define DP_AMPR KC_1
#define DP_LBRC KC_2
#define DP_LCBR KC_3
#define DP_RCBR KC_4
#define DP_LPRN KC_5
#define DP_EQL KC_6
#define DP_ASTR KC_7
#define DP_RPRN KC_8
#define DP_PLUS KC_9
#define DP_RBRC KC_0
#define DP_EXLM KC_MINS
#define DP_HASH KC_EQL
#define DP_SCLN KC_Q
#define DP_COMM KC_W
#define DP_DOT KC_E
#define DP_P KC_R
#define DP_Y KC_T
#define DP_F KC_Y
#define DP_G KC_U
#define DP_C KC_I
#define DP_R KC_O
#define DP_L KC_P
#define DP_SLSH KC_LBRC
#define DP_AT KC_RBRC
#define DP_BSLS KC_BSLS
#define DP_SCLN KC_Q
#define DP_COMM KC_W
#define DP_DOT KC_E
#define DP_P KC_R
#define DP_Y KC_T
#define DP_F KC_Y
#define DP_G KC_U
#define DP_C KC_I
#define DP_R KC_O
#define DP_L KC_P
#define DP_SLSH KC_LBRC
#define DP_AT KC_RBRC
#define DP_BSLS KC_BSLS
#define DP_A KC_A
#define DP_O KC_S
#define DP_E KC_D
#define DP_U KC_F
#define DP_I KC_G
#define DP_D KC_H
#define DP_H KC_J
#define DP_T KC_K
#define DP_N KC_L
#define DP_S KC_SCLN
#define DP_MINS KC_QUOT
#define DP_A KC_A
#define DP_O KC_S
#define DP_E KC_D
#define DP_U KC_F
#define DP_I KC_G
#define DP_D KC_H
#define DP_H KC_J
#define DP_T KC_K
#define DP_N KC_L
#define DP_S KC_SCLN
#define DP_MINS KC_QUOT
#define DP_QUOT KC_Z
#define DP_Q KC_X
#define DP_J KC_C
#define DP_K KC_V
#define DP_X KC_B
#define DP_B KC_N
#define DP_M KC_M
#define DP_W KC_COMM
#define DP_V KC_DOT
#define DP_Z KC_SLSH
#define DP_QUOT KC_Z
#define DP_Q KC_X
#define DP_J KC_C
#define DP_K KC_V
#define DP_X KC_B
#define DP_B KC_N
#define DP_M KC_M
#define DP_W KC_COMM
#define DP_V KC_DOT
#define DP_Z KC_SLSH
// Shifted characters
#define DP_TILD LSFT(DP_DLR)
#define DP_PERC LSFT(DP_AMPR)
#define DP_7 LSFT(DP_LBRC)
#define DP_5 LSFT(DP_LCBR)
#define DP_3 LSFT(DP_RCBR)
#define DP_1 LSFT(DP_LPRN)
#define DP_9 LSFT(DP_EQL)
#define DP_0 LSFT(DP_ASTR)
#define DP_2 LSFT(DP_RPRN)
#define DP_4 LSFT(DP_PLUS)
#define DP_6 LSFT(DP_RBRC)
#define DP_8 LSFT(DP_EXLM)
#define DP_GRV LSFT(DP_HASH)
#define DP_TILD LSFT(DP_DLR)
#define DP_PERC LSFT(DP_AMPR)
#define DP_7 LSFT(DP_LBRC)
#define DP_5 LSFT(DP_LCBR)
#define DP_3 LSFT(DP_RCBR)
#define DP_1 LSFT(DP_LPRN)
#define DP_9 LSFT(DP_EQL)
#define DP_0 LSFT(DP_ASTR)
#define DP_2 LSFT(DP_RPRN)
#define DP_4 LSFT(DP_PLUS)
#define DP_6 LSFT(DP_RBRC)
#define DP_8 LSFT(DP_EXLM)
#define DP_GRV LSFT(DP_HASH)
#define DP_COLN LSFT(DP_SCLN)
#define DP_LABK LSFT(DP_COMM)
#define DP_RABK LSFT(DP_DOT)
#define DP_QUES LSFT(DP_SLSH)
#define DP_CIRC LSFT(DP_AT)
#define DP_PIPE LSFT(DP_BSLS)
#define DP_UNDS LSFT(DP_MINS)
#define DP_DQUO LSFT(DP_QUOT)
#define DP_COLN LSFT(DP_SCLN)
#define DP_LABK LSFT(DP_COMM)
#define DP_RABK LSFT(DP_DOT)
#define DP_QUES LSFT(DP_SLSH)
#define DP_CIRC LSFT(DP_AT)
#define DP_PIPE LSFT(DP_BSLS)
#define DP_UNDS LSFT(DP_MINS)
#define DP_DQUO LSFT(DP_QUOT)
#endif

View file

@ -66,44 +66,44 @@
#define FR_CH_UE KC_LBRC
#define FR_CH_OE KC_SCLN
#define FR_CH_CIRC KC_EQL // accent circumflex ^ and grave ` and ~
#define FR_CH_LESS KC_NUBS // < and > and backslash
#define FR_CH_MINS KC_SLSH // - and _
#define FR_CH_DLR KC_BSLS // $, £ and }
#define FR_CH_PARA KC_GRV // § and ring °
#define FR_CH_DIAE KC_RBRC // accent ¨
#define FR_CH_CIRC KC_EQL // accent circumflex ^ and grave ` and ~
#define FR_CH_LESS KC_NUBS // < and > and backslash
#define FR_CH_MINS KC_SLSH // - and _
#define FR_CH_DLR KC_BSLS // $, £ and }
#define FR_CH_PARA KC_GRV // § and ring °
#define FR_CH_DIAE KC_RBRC // accent ¨
// shifted characters
#define FR_CH_RING LSFT(KC_GRV) // °
#define FR_CH_EXLM LSFT(KC_RBRC) // !
#define FR_CH_PLUS LSFT(KC_1) // +
#define FR_CH_DQOT LSFT(KC_2) // "
#define FR_CH_ASTR LSFT(KC_3) // *
#define FR_CH_PERC LSFT(KC_5) // %
#define FR_CH_AMPR LSFT(KC_6) // &
#define FR_CH_SLSH LSFT(KC_7) // /
#define FR_CH_LPRN LSFT(KC_8) // (
#define FR_CH_RPRN LSFT(KC_9) // )
#define FR_CH_EQL LSFT(KC_0) // =
#define FR_CH_QST LSFT(FR_CH_QUOT) // ?
#define FR_CH_MORE LSFT(FR_CH_LESS) // >
#define FR_CH_COLN LSFT(KC_DOT) // :
#define FR_CH_SCLN LSFT(KC_COMM) // ;
#define FR_CH_UNDS LSFT(FR_CH_MINS) // _
#define FR_CH_CCED LSFT(KC_4) // ç
#define FR_CH_GRV LSFT(FR_CH_CIRC) // accent grave `
#define FR_CH_RING LSFT(KC_GRV) // °
#define FR_CH_EXLM LSFT(KC_RBRC) // !
#define FR_CH_PLUS LSFT(KC_1) // +
#define FR_CH_DQOT LSFT(KC_2) // "
#define FR_CH_ASTR LSFT(KC_3) // *
#define FR_CH_PERC LSFT(KC_5) // %
#define FR_CH_AMPR LSFT(KC_6) // &
#define FR_CH_SLSH LSFT(KC_7) // /
#define FR_CH_LPRN LSFT(KC_8) // (
#define FR_CH_RPRN LSFT(KC_9) // )
#define FR_CH_EQL LSFT(KC_0) // =
#define FR_CH_QST LSFT(FR_CH_QUOT) // ?
#define FR_CH_MORE LSFT(FR_CH_LESS) // >
#define FR_CH_COLN LSFT(KC_DOT) // :
#define FR_CH_SCLN LSFT(KC_COMM) // ;
#define FR_CH_UNDS LSFT(FR_CH_MINS) // _
#define FR_CH_CCED LSFT(KC_4) // ç
#define FR_CH_GRV LSFT(FR_CH_CIRC) // accent grave `
// Alt Gr-ed characters
#define FR_CH_LCBR ALGR(KC_QUOT) // {
#define FR_CH_LBRC ALGR(KC_LBRC) // [
#define FR_CH_RBRC ALGR(KC_9) // ]
#define FR_CH_RCBR ALGR(KC_0) // }
#define FR_CH_BSLS ALGR(FR_CH_LESS) // backslash
#define FR_CH_AT ALGR(KC_2) // @
#define FR_CH_EURO ALGR(KC_E) // €
#define FR_CH_TILD ALGR(FR_CH_CIRC) // ~
#define FR_CH_PIPE ALGR(KC_1) // |
#define FR_CH_HASH ALGR(KC_3) // #
#define FR_CH_ACUT ALGR(FR_CH_QUOT) // accent acute ´
#define FR_CH_LCBR ALGR(KC_QUOT) // {
#define FR_CH_LBRC ALGR(KC_LBRC) // [
#define FR_CH_RBRC ALGR(KC_9) // ]
#define FR_CH_RCBR ALGR(KC_0) // }
#define FR_CH_BSLS ALGR(FR_CH_LESS) // backslash
#define FR_CH_AT ALGR(KC_2) // @
#define FR_CH_EURO ALGR(KC_E) // €
#define FR_CH_TILD ALGR(FR_CH_CIRC) // ~
#define FR_CH_PIPE ALGR(KC_1) // |
#define FR_CH_HASH ALGR(KC_3) // #
#define FR_CH_ACUT ALGR(FR_CH_QUOT) // accent acute ´
#endif

View file

@ -19,76 +19,76 @@
#include "keymap.h"
// Normal characters
#define FR_SUP2 KC_GRV
#define FR_AMP KC_1
#define FR_EACU KC_2
#define FR_QUOT KC_3
#define FR_APOS KC_4
#define FR_LPRN KC_5
#define FR_MINS KC_6
#define FR_EGRV KC_7
#define FR_UNDS KC_8
#define FR_CCED KC_9
#define FR_AGRV KC_0
#define FR_RPRN KC_MINS
#define FR_EQL KC_EQL
#define FR_SUP2 KC_GRV
#define FR_AMP KC_1
#define FR_EACU KC_2
#define FR_QUOT KC_3
#define FR_APOS KC_4
#define FR_LPRN KC_5
#define FR_MINS KC_6
#define FR_EGRV KC_7
#define FR_UNDS KC_8
#define FR_CCED KC_9
#define FR_AGRV KC_0
#define FR_RPRN KC_MINS
#define FR_EQL KC_EQL
#define FR_A KC_Q
#define FR_Z KC_W
#define FR_CIRC KC_LBRC
#define FR_DLR KC_RBRC
#define FR_A KC_Q
#define FR_Z KC_W
#define FR_CIRC KC_LBRC
#define FR_DLR KC_RBRC
#define FR_Q KC_A
#define FR_M KC_SCLN
#define FR_UGRV KC_QUOT
#define FR_ASTR KC_NUHS
#define FR_Q KC_A
#define FR_M KC_SCLN
#define FR_UGRV KC_QUOT
#define FR_ASTR KC_NUHS
#define FR_LESS KC_NUBS
#define FR_W KC_Z
#define FR_COMM KC_M
#define FR_SCLN KC_COMM
#define FR_COLN KC_DOT
#define FR_EXLM KC_SLSH
#define FR_LESS KC_NUBS
#define FR_W KC_Z
#define FR_COMM KC_M
#define FR_SCLN KC_COMM
#define FR_COLN KC_DOT
#define FR_EXLM KC_SLSH
// Shifted characters
#define FR_1 LSFT(KC_1)
#define FR_2 LSFT(KC_2)
#define FR_3 LSFT(KC_3)
#define FR_4 LSFT(KC_4)
#define FR_5 LSFT(KC_5)
#define FR_6 LSFT(KC_6)
#define FR_7 LSFT(KC_7)
#define FR_8 LSFT(KC_8)
#define FR_9 LSFT(KC_9)
#define FR_0 LSFT(KC_0)
#define FR_OVRR LSFT(FR_RPRN)
#define FR_1 LSFT(KC_1)
#define FR_2 LSFT(KC_2)
#define FR_3 LSFT(KC_3)
#define FR_4 LSFT(KC_4)
#define FR_5 LSFT(KC_5)
#define FR_6 LSFT(KC_6)
#define FR_7 LSFT(KC_7)
#define FR_8 LSFT(KC_8)
#define FR_9 LSFT(KC_9)
#define FR_0 LSFT(KC_0)
#define FR_OVRR LSFT(FR_RPRN)
#define FR_PLUS LSFT(FR_EQL)
#define FR_UMLT LSFT(FR_CIRC)
#define FR_PND LSFT(FR_DLR)
#define FR_PERC LSFT(FR_UGRV)
#define FR_MU LSFT(FR_ASTR)
#define FR_UMLT LSFT(FR_CIRC)
#define FR_PND LSFT(FR_DLR)
#define FR_PERC LSFT(FR_UGRV)
#define FR_MU LSFT(FR_ASTR)
#define FR_GRTR LSFT(FR_LESS)
#define FR_QUES LSFT(FR_COMM)
#define FR_DOT LSFT(FR_SCLN)
#define FR_SLSH LSFT(FR_COLN)
#define FR_SECT LSFT(FR_EXLM)
#define FR_GRTR LSFT(FR_LESS)
#define FR_QUES LSFT(FR_COMM)
#define FR_DOT LSFT(FR_SCLN)
#define FR_SLSH LSFT(FR_COLN)
#define FR_SECT LSFT(FR_EXLM)
// Alt Gr-ed characters
#define FR_TILD ALGR(KC_2)
#define FR_HASH ALGR(KC_3)
#define FR_TILD ALGR(KC_2)
#define FR_HASH ALGR(KC_3)
#define FR_LCBR ALGR(KC_4)
#define FR_LBRC ALGR(KC_5)
#define FR_LBRC ALGR(KC_5)
#define FR_PIPE ALGR(KC_6)
#define FR_GRV ALGR(KC_7)
#define FR_BSLS ALGR(KC_8)
#define FR_CCIRC ALGR(KC_9)
#define FR_AT ALGR(KC_0)
#define FR_RBRC ALGR(FR_RPRN)
#define FR_GRV ALGR(KC_7)
#define FR_BSLS ALGR(KC_8)
#define FR_CCIRC ALGR(KC_9)
#define FR_AT ALGR(KC_0)
#define FR_RBRC ALGR(FR_RPRN)
#define FR_RCBR ALGR(FR_EQL)
#define FR_EURO ALGR(KC_E)
#define FR_BULT ALGR(FR_DLR)
#define FR_EURO ALGR(KC_E)
#define FR_BULT ALGR(FR_DLR)
#endif

View file

@ -19,74 +19,74 @@
#include "keymap.h"
// Normal characters
#define FR_AT KC_GRV
#define FR_AMP KC_1
#define FR_EACU KC_2
#define FR_QUOT KC_3
#define FR_APOS KC_4
#define FR_LPRN KC_5
#define FR_SECT KC_6
#define FR_EGRV KC_7
#define FR_EXLM KC_8
#define FR_CCED KC_9
#define FR_AGRV KC_0
#define FR_RPRN KC_MINS
#define FR_MINS KC_EQL
#define FR_AT KC_GRV
#define FR_AMP KC_1
#define FR_EACU KC_2
#define FR_QUOT KC_3
#define FR_APOS KC_4
#define FR_LPRN KC_5
#define FR_SECT KC_6
#define FR_EGRV KC_7
#define FR_EXLM KC_8
#define FR_CCED KC_9
#define FR_AGRV KC_0
#define FR_RPRN KC_MINS
#define FR_MINS KC_EQL
#define FR_A KC_Q
#define FR_Z KC_W
#define FR_CIRC KC_LBRC
#define FR_DLR KC_RBRC
#define FR_A KC_Q
#define FR_Z KC_W
#define FR_CIRC KC_LBRC
#define FR_DLR KC_RBRC
#define FR_Q KC_A
#define FR_M KC_SCLN
#define FR_UGRV KC_QUOT
#define FR_GRV KC_NUHS
#define FR_Q KC_A
#define FR_M KC_SCLN
#define FR_UGRV KC_QUOT
#define FR_GRV KC_NUHS
#define FR_LESS KC_NUBS
#define FR_W KC_Z
#define FR_COMM KC_M
#define FR_SCLN KC_COMM
#define FR_COLN KC_DOT
#define FR_EQL KC_SLSH
#define FR_LESS KC_NUBS
#define FR_W KC_Z
#define FR_COMM KC_M
#define FR_SCLN KC_COMM
#define FR_COLN KC_DOT
#define FR_EQL KC_SLSH
// Shifted characters
#define FR_HASH LSFT(KC_GRV)
#define FR_1 LSFT(KC_1)
#define FR_2 LSFT(KC_2)
#define FR_3 LSFT(KC_3)
#define FR_4 LSFT(KC_4)
#define FR_5 LSFT(KC_5)
#define FR_6 LSFT(KC_6)
#define FR_7 LSFT(KC_7)
#define FR_8 LSFT(KC_8)
#define FR_9 LSFT(KC_9)
#define FR_0 LSFT(KC_0)
#define FR_UNDS LSFT(FR_MINS)
#define FR_HASH LSFT(KC_GRV)
#define FR_1 LSFT(KC_1)
#define FR_2 LSFT(KC_2)
#define FR_3 LSFT(KC_3)
#define FR_4 LSFT(KC_4)
#define FR_5 LSFT(KC_5)
#define FR_6 LSFT(KC_6)
#define FR_7 LSFT(KC_7)
#define FR_8 LSFT(KC_8)
#define FR_9 LSFT(KC_9)
#define FR_0 LSFT(KC_0)
#define FR_UNDS LSFT(FR_MINS)
#define FR_UMLT LSFT(FR_CIRC)
#define FR_ASTR LSFT(FR_DLR)
#define FR_UMLT LSFT(FR_CIRC)
#define FR_ASTR LSFT(FR_DLR)
#define FR_PERC LSFT(FR_UGRV)
#define FR_PND LSFT(FR_GRV)
#define FR_PERC LSFT(FR_UGRV)
#define FR_PND LSFT(FR_GRV)
#define FR_GRTR LSFT(FR_LESS)
#define FR_QUES LSFT(FR_COMM)
#define FR_DOT LSFT(FR_SCLN)
#define FR_SLSH LSFT(FR_COLN)
#define FR_PLUS LSFT(FR_EQL)
#define FR_GRTR LSFT(FR_LESS)
#define FR_QUES LSFT(FR_COMM)
#define FR_DOT LSFT(FR_SCLN)
#define FR_SLSH LSFT(FR_COLN)
#define FR_PLUS LSFT(FR_EQL)
// Alted characters
#define FR_LCBR LALT(KC_5)
#define FR_RCBR LALT(FR_RPRN)
#define FR_EURO LALT(KC_E)
#define FR_BULT LALT(FR_DLR)
#define FR_TILD LALT(KC_N)
#define FR_LCBR LALT(KC_5)
#define FR_RCBR LALT(FR_RPRN)
#define FR_EURO LALT(KC_E)
#define FR_BULT LALT(FR_DLR)
#define FR_TILD LALT(KC_N)
// Shift+Alt-ed characters
#define FR_LBRC LSFT(LALT(KC_5))
#define FR_RBRC LSFT(LALT(FR_RPRN))
#define FR_PIPE LSFT(LALT(KC_L))
#define FR_BSLS LSFT(LALT(FR_COLN))
#define FR_LBRC LSFT(LALT(KC_5))
#define FR_RBRC LSFT(LALT(FR_RPRN))
#define FR_PIPE LSFT(LALT(KC_L))
#define FR_BSLS LSFT(LALT(FR_COLN))
#endif

View file

@ -67,45 +67,45 @@
#define DE_UE KC_LBRC
#define DE_OE KC_SCLN
#define DE_CIRC KC_GRAVE // accent circumflex ^ and ring °
#define DE_ACUT KC_EQL // accent acute ´ and grave `
#define DE_PLUS KC_RBRC // + and * and ~
#define DE_HASH KC_BSLS // # and '
#define DE_LESS KC_NUBS // < and > and |
#define DE_MINS KC_SLSH // - and _
#define DE_CIRC KC_GRAVE // accent circumflex ^ and ring °
#define DE_ACUT KC_EQL // accent acute ´ and grave `
#define DE_PLUS KC_RBRC // + and * and ~
#define DE_HASH KC_BSLS // # and '
#define DE_LESS KC_NUBS // < and > and |
#define DE_MINS KC_SLSH // - and _
// shifted characters
#define DE_RING LSFT(DE_CIRC) // °
#define DE_EXLM LSFT(KC_1) // !
#define DE_DQOT LSFT(KC_2) // "
#define DE_PARA LSFT(KC_3) // §
#define DE_DLR LSFT(KC_4) // $
#define DE_PERC LSFT(KC_5) // %
#define DE_AMPR LSFT(KC_6) // &
#define DE_SLSH LSFT(KC_7) // /
#define DE_LPRN LSFT(KC_8) // (
#define DE_RPRN LSFT(KC_9) // )
#define DE_EQL LSFT(KC_0) // =
#define DE_QST LSFT(DE_SS) // ?
#define DE_GRV LSFT(DE_ACUT) // `
#define DE_ASTR LSFT(DE_PLUS) // *
#define DE_QUOT LSFT(DE_HASH) // '
#define DE_MORE LSFT(DE_LESS) // >
#define DE_COLN LSFT(KC_DOT) // :
#define DE_SCLN LSFT(KC_COMM) // ;
#define DE_UNDS LSFT(DE_MINS) // _
#define DE_RING LSFT(DE_CIRC) // °
#define DE_EXLM LSFT(KC_1) // !
#define DE_DQOT LSFT(KC_2) // "
#define DE_PARA LSFT(KC_3) // §
#define DE_DLR LSFT(KC_4) // $
#define DE_PERC LSFT(KC_5) // %
#define DE_AMPR LSFT(KC_6) // &
#define DE_SLSH LSFT(KC_7) // /
#define DE_LPRN LSFT(KC_8) // (
#define DE_RPRN LSFT(KC_9) // )
#define DE_EQL LSFT(KC_0) // =
#define DE_QST LSFT(DE_SS) // ?
#define DE_GRV LSFT(DE_ACUT) // `
#define DE_ASTR LSFT(DE_PLUS) // *
#define DE_QUOT LSFT(DE_HASH) // '
#define DE_MORE LSFT(DE_LESS) // >
#define DE_COLN LSFT(KC_DOT) // :
#define DE_SCLN LSFT(KC_COMM) // ;
#define DE_UNDS LSFT(DE_MINS) // _
// Alt Gr-ed characters
#define DE_SQ2 ALGR(KC_2) // ²
#define DE_SQ3 ALGR(KC_3) // ³
#define DE_LCBR ALGR(KC_7) // {
#define DE_LBRC ALGR(KC_8) // [
#define DE_RBRC ALGR(KC_9) // ]
#define DE_RCBR ALGR(KC_0) // }
#define DE_BSLS ALGR(DE_SS) // backslash
#define DE_AT ALGR(KC_Q) // @
#define DE_EURO ALGR(KC_E) // €
#define DE_TILD ALGR(DE_PLUS) // ~
#define DE_PIPE ALGR(DE_LESS) // |
#define DE_SQ2 ALGR(KC_2) // ²
#define DE_SQ3 ALGR(KC_3) // ³
#define DE_LCBR ALGR(KC_7) // {
#define DE_LBRC ALGR(KC_8) // [
#define DE_RBRC ALGR(KC_9) // ]
#define DE_RCBR ALGR(KC_0) // }
#define DE_BSLS ALGR(DE_SS) // backslash
#define DE_AT ALGR(KC_Q) // @
#define DE_EURO ALGR(KC_E) // €
#define DE_TILD ALGR(DE_PLUS) // ~
#define DE_PIPE ALGR(DE_LESS) // |
#endif

View file

@ -31,7 +31,7 @@
#define CH_G KC_G
#ifdef CH_H
// The ChibiOS ch.h file defines this...
#undef CH_H
# undef CH_H
#endif
#define CH_H KC_H
#define CH_I KC_I
@ -65,53 +65,53 @@
#define CH_DOT KC_DOT
#define CH_COMM KC_COMM
#define CH_QUOT KC_MINS // ' ? ´
#define CH_QUOT KC_MINS // ' ? ´
#define CH_AE KC_QUOT
#define CH_UE KC_LBRC
#define CH_OE KC_SCLN
#define CH_PARA KC_GRAVE // secction sign § and °
#define CH_CARR KC_EQL // carret ^ ` ~
#define CH_DIER KC_RBRC // dieresis ¨ ! ]
#define CH_DLR KC_BSLS // $ £ }
#define CH_LESS KC_NUBS // < and > and backslash
#define CH_MINS KC_SLSH // - and _
#define CH_PARA KC_GRAVE // secction sign § and °
#define CH_CARR KC_EQL // carret ^ ` ~
#define CH_DIER KC_RBRC // dieresis ¨ ! ]
#define CH_DLR KC_BSLS // $ £ }
#define CH_LESS KC_NUBS // < and > and backslash
#define CH_MINS KC_SLSH // - and _
// shifted characters
#define CH_RING LSFT(CH_PARA) // °
#define CH_PLUS LSFT(KC_1) // +
#define CH_DQOT LSFT(KC_2) // "
#define CH_PAST LSFT(KC_3) // *
#define CH_CELA LSFT(KC_4) // ç
#define CH_PERC LSFT(KC_5) // %
#define CH_AMPR LSFT(KC_6) // &
#define CH_SLSH LSFT(KC_7) // /
#define CH_LPRN LSFT(KC_8) // (
#define CH_RPRN LSFT(KC_9) // )
#define CH_EQL LSFT(KC_0) // =
#define CH_QST LSFT(CH_QUOT) // ?
#define CH_GRV LSFT(CH_CARR) // `
#define CH_EXLM LSFT(CH_DIER) // !
#define CH_POND LSFT(CH_DLR) // £
#define CH_MORE LSFT(CH_LESS) // >
#define CH_COLN LSFT(KC_DOT) // :
#define CH_SCLN LSFT(KC_COMM) // ;
#define CH_UNDS LSFT(CH_MINS) // _
#define CH_RING LSFT(CH_PARA) // °
#define CH_PLUS LSFT(KC_1) // +
#define CH_DQOT LSFT(KC_2) // "
#define CH_PAST LSFT(KC_3) // *
#define CH_CELA LSFT(KC_4) // ç
#define CH_PERC LSFT(KC_5) // %
#define CH_AMPR LSFT(KC_6) // &
#define CH_SLSH LSFT(KC_7) // /
#define CH_LPRN LSFT(KC_8) // (
#define CH_RPRN LSFT(KC_9) // )
#define CH_EQL LSFT(KC_0) // =
#define CH_QST LSFT(CH_QUOT) // ?
#define CH_GRV LSFT(CH_CARR) // `
#define CH_EXLM LSFT(CH_DIER) // !
#define CH_POND LSFT(CH_DLR) // £
#define CH_MORE LSFT(CH_LESS) // >
#define CH_COLN LSFT(KC_DOT) // :
#define CH_SCLN LSFT(KC_COMM) // ;
#define CH_UNDS LSFT(CH_MINS) // _
// Alt Gr-ed characters
#define CH_BRBR ALGR(KC_1) // ¦ brocken bar
#define CH_AT ALGR(KC_2) // @
#define CH_HASH ALGR(KC_3) // #
#define CH_NOTL ALGR(KC_6) // ¬ negative logic
#define CH_PIPE ALGR(KC_7) // |
#define CH_CENT ALGR(KC_8) // ¢ cent
#define CH_ACUT ALGR(CH_QUOT) // ´
#define CH_TILD ALGR(CH_CARR) // ~
#define CH_EURO ALGR(KC_E) // €
#define CH_LBRC ALGR(CH_UE) // [
#define CH_RBRC ALGR(CH_DIER) // ]
#define CH_LCBR ALGR(CH_AE) // {
#define CH_RCBR ALGR(CH_DLR) // }
#define CH_BSLS ALGR(CH_LESS) // backslash
#define CH_BRBR ALGR(KC_1) // ¦ brocken bar
#define CH_AT ALGR(KC_2) // @
#define CH_HASH ALGR(KC_3) // #
#define CH_NOTL ALGR(KC_6) // ¬ negative logic
#define CH_PIPE ALGR(KC_7) // |
#define CH_CENT ALGR(KC_8) // ¢ cent
#define CH_ACUT ALGR(CH_QUOT) // ´
#define CH_TILD ALGR(CH_CARR) // ~
#define CH_EURO ALGR(KC_E) // €
#define CH_LBRC ALGR(CH_UE) // [
#define CH_RBRC ALGR(CH_DIER) // ]
#define CH_LCBR ALGR(CH_AE) // {
#define CH_RCBR ALGR(CH_DLR) // }
#define CH_BSLS ALGR(CH_LESS) // backslash
#endif

View file

@ -68,45 +68,45 @@
#define DE_OSX_UE KC_LBRC
#define DE_OSX_OE KC_SCLN
#define DE_OSX_CIRC KC_NUBS // accent circumflex ^ and ring °
#define DE_OSX_ACUT KC_EQL // accent acute ´ and grave `
#define DE_OSX_PLUS KC_RBRC // + and * and ~
#define DE_OSX_HASH KC_BSLS // # and '
#define DE_OSX_LESS KC_GRV // < and > and |
#define DE_OSX_MINS KC_SLSH // - and _
#define DE_OSX_CIRC KC_NUBS // accent circumflex ^ and ring °
#define DE_OSX_ACUT KC_EQL // accent acute ´ and grave `
#define DE_OSX_PLUS KC_RBRC // + and * and ~
#define DE_OSX_HASH KC_BSLS // # and '
#define DE_OSX_LESS KC_GRV // < and > and |
#define DE_OSX_MINS KC_SLSH // - and _
// shifted characters
#define DE_OSX_RING LSFT(DE_OSX_CIRC) // °
#define DE_OSX_EXLM LSFT(KC_1) // !
#define DE_OSX_DQOT LSFT(KC_2) // "
#define DE_OSX_PARA LSFT(KC_3) // §
#define DE_OSX_DLR LSFT(KC_4) // $
#define DE_OSX_PERC LSFT(KC_5) // %
#define DE_OSX_AMPR LSFT(KC_6) // &
#define DE_OSX_SLSH LSFT(KC_7) // /
#define DE_OSX_LPRN LSFT(KC_8) // (
#define DE_OSX_RPRN LSFT(KC_9) // )
#define DE_OSX_EQL LSFT(KC_0) // =
#define DE_OSX_QST LSFT(DE_OSX_SS) // ?
#define DE_OSX_GRV LSFT(DE_OSX_ACUT) // `
#define DE_OSX_ASTR LSFT(DE_OSX_PLUS) // *
#define DE_OSX_QUOT LSFT(DE_OSX_HASH) // '
#define DE_OSX_MORE LSFT(DE_OSX_LESS) // >
#define DE_OSX_COLN LSFT(KC_DOT) // :
#define DE_OSX_SCLN LSFT(KC_COMM) // ;
#define DE_OSX_UNDS LSFT(DE_OSX_MINS) // _
#define DE_OSX_RING LSFT(DE_OSX_CIRC) // °
#define DE_OSX_EXLM LSFT(KC_1) // !
#define DE_OSX_DQOT LSFT(KC_2) // "
#define DE_OSX_PARA LSFT(KC_3) // §
#define DE_OSX_DLR LSFT(KC_4) // $
#define DE_OSX_PERC LSFT(KC_5) // %
#define DE_OSX_AMPR LSFT(KC_6) // &
#define DE_OSX_SLSH LSFT(KC_7) // /
#define DE_OSX_LPRN LSFT(KC_8) // (
#define DE_OSX_RPRN LSFT(KC_9) // )
#define DE_OSX_EQL LSFT(KC_0) // =
#define DE_OSX_QST LSFT(DE_OSX_SS) // ?
#define DE_OSX_GRV LSFT(DE_OSX_ACUT) // `
#define DE_OSX_ASTR LSFT(DE_OSX_PLUS) // *
#define DE_OSX_QUOT LSFT(DE_OSX_HASH) // '
#define DE_OSX_MORE LSFT(DE_OSX_LESS) // >
#define DE_OSX_COLN LSFT(KC_DOT) // :
#define DE_OSX_SCLN LSFT(KC_COMM) // ;
#define DE_OSX_UNDS LSFT(DE_OSX_MINS) // _
// Alt-ed characters
//#define DE_OSX_SQ2 LALT(KC_2) // ²
//#define DE_OSX_SQ3 LALT(KC_3) // ³
#define DE_OSX_LCBR LALT(KC_8) // {
#define DE_OSX_LBRC LALT(KC_5) // [
#define DE_OSX_RBRC LALT(KC_6) // ]
#define DE_OSX_RCBR LALT(KC_9) // }
#define DE_OSX_BSLS LALT(LSFT(KC_7)) // backslash
#define DE_OSX_AT LALT(DE_OSX_L) // @
#define DE_OSX_EURO LALT(KC_E) // €
#define DE_OSX_TILD LALT(DE_OSX_N) // ~
#define DE_OSX_PIPE LALT(DE_OSX_7) // |
#define DE_OSX_LCBR LALT(KC_8) // {
#define DE_OSX_LBRC LALT(KC_5) // [
#define DE_OSX_RBRC LALT(KC_6) // ]
#define DE_OSX_RCBR LALT(KC_9) // }
#define DE_OSX_BSLS LALT(LSFT(KC_7)) // backslash
#define DE_OSX_AT LALT(DE_OSX_L) // @
#define DE_OSX_EURO LALT(KC_E) // €
#define DE_OSX_TILD LALT(DE_OSX_N) // ~
#define DE_OSX_PIPE LALT(DE_OSX_7) // |
#endif

View file

@ -73,64 +73,64 @@
#define HU_AA KC_QUOT
#define HU_UEE KC_NUHS
#define HU_MINS KC_SLSH // -
#define HU_MINS KC_SLSH // -
#define HU_DOT KC_DOT
#define HU_COMM KC_COMM
// shifted characters
// num row
#define HU_PARA LSFT(HU_0) // §
#define HU_QUOT LSFT(HU_1) // '
#define HU_DQOT LSFT(HU_2) // "
#define HU_PLUS LSFT(HU_3) // +
#define HU_EXLM LSFT(HU_4) // !
#define HU_PERC LSFT(HU_5) // %
#define HU_SLSH LSFT(HU_6) // /
#define HU_EQL LSFT(HU_7) // =
#define HU_LPRN LSFT(HU_8) // (
#define HU_RPRN LSFT(HU_9) // )
#define HU_PARA LSFT(HU_0) // §
#define HU_QUOT LSFT(HU_1) // '
#define HU_DQOT LSFT(HU_2) // "
#define HU_PLUS LSFT(HU_3) // +
#define HU_EXLM LSFT(HU_4) // !
#define HU_PERC LSFT(HU_5) // %
#define HU_SLSH LSFT(HU_6) // /
#define HU_EQL LSFT(HU_7) // =
#define HU_LPRN LSFT(HU_8) // (
#define HU_RPRN LSFT(HU_9) // )
// í,y row
#define HU_II KC_NUBS
#define HU_QST LSFT(HU_COMM) // ?
#define HU_COLN LSFT(HU_DOT) // :
#define HU_UNDS LSFT(HU_MINS) // _
#define HU_II KC_NUBS
#define HU_QST LSFT(HU_COMM) // ?
#define HU_COLN LSFT(HU_DOT) // :
#define HU_UNDS LSFT(HU_MINS) // _
// Alt Gr'd characters
// num row
#define HU_TILD ALGR(HU_1) // ~
#define HU_TILD ALGR(HU_1) // ~
//#define HU_?? ALGR(HU_2) // ˇ (proper name?)
#define HU_CIRC ALGR(HU_3) // ^
#define HU_BRV ALGR(HU_4) // ˘
#define HU_RING ALGR(HU_5) // °
#define HU_CIRC ALGR(HU_3) // ^
#define HU_BRV ALGR(HU_4) // ˘
#define HU_RING ALGR(HU_5) // °
//#define HU_?? ALGR(HU_6) // ˛ (proper name?)
#define HU_GRV ALGR(HU_7) // `
#define HU_GRV ALGR(HU_7) // `
//#define HU_?? ALGR(HU_8) // ˙ (proper name?)
#define HU_ACUT ALGR(HU_9) // ´
#define HU_ACUT ALGR(HU_9) // ´
// q row
#define HU_BSLS ALGR(HU_Q) // \ backslash
#define HU_PIPE ALGR(HU_W) // |
#define HU_DIV ALGR(HU_OEE) // ÷
#define HU_CRSS ALGR(HU_UU) // ×
#define HU_EURO ALGR(HU_U) // €
#define HU_BSLS ALGR(HU_Q) // \ backslash
#define HU_PIPE ALGR(HU_W) // |
#define HU_DIV ALGR(HU_OEE) // ÷
#define HU_CRSS ALGR(HU_UU) // ×
#define HU_EURO ALGR(HU_U) // €
// a row
#define HU_LBRC ALGR(HU_F) // [
#define HU_RBRC ALGR(HU_G) // ]
#define HU_DLR ALGR(HU_EE) // $
#define HU_SS ALGR(HU_AA) // ß
#define HU_LBRC ALGR(HU_F) // [
#define HU_RBRC ALGR(HU_G) // ]
#define HU_DLR ALGR(HU_EE) // $
#define HU_SS ALGR(HU_AA) // ß
// í,y row
#define HU_LESS ALGR(KC_NUBS) // <
#define HU_MORE ALGR(HU_Y) // >
#define HU_HASH ALGR(HU_X) // #
#define HU_AMPR ALGR(HU_C) // &
#define HU_AT ALGR(HU_V) // @
#define HU_LCBR ALGR(HU_B)// {
#define HU_RCBR ALGR(HU_N) // }
#define HU_SCLN ALGR(HU_COMM) // ;
#define HU_ASTR ALGR(HU_MINS) // *
#define HU_LESS ALGR(KC_NUBS) // <
#define HU_MORE ALGR(HU_Y) // >
#define HU_HASH ALGR(HU_X) // #
#define HU_AMPR ALGR(HU_C) // &
#define HU_AT ALGR(HU_V) // @
#define HU_LCBR ALGR(HU_B) // {
#define HU_RCBR ALGR(HU_N) // }
#define HU_SCLN ALGR(HU_COMM) // ;
#define HU_ASTR ALGR(HU_MINS) // *
#endif

View file

@ -70,46 +70,43 @@
#define IT_APOS KC_MINS // ', ?, ,
#define IT_BKSL KC_GRAVE // backslash \, |
#define IT_BKSL KC_GRAVE // backslash \, |
#define IT_ACUT // accent acute ´ and grave `
#define IT_LESS KC_NUBS // < and > and |
#define IT_MINS KC_SLSH // - and _
#define IT_LESS KC_NUBS // < and > and |
#define IT_MINS KC_SLSH // - and _
// shifted characters
#define IT_PIPE LSFT(IT_BKSL) // °
#define IT_EXLM LSFT(KC_1) // !
#define IT_DQOT LSFT(KC_2) // "
#define IT_STRL LSFT(KC_3) // £
#define IT_DLR LSFT(KC_4) // $
#define IT_PERC LSFT(KC_5) // %
#define IT_AMPR LSFT(KC_6) // &
#define IT_SLSH LSFT(KC_7) // /
#define IT_LPRN LSFT(KC_8) // (
#define IT_RPRN LSFT(KC_9) // )
#define IT_EQL LSFT(KC_0) // =
#define IT_QST LSFT(IT_APOS) // ?
#define IT_CRC LSFT(IT_IACC) // ^
#define IT_ASTR LSFT(IT_PLUS) // *
#define IT_MORE LSFT(IT_LESS) // >
#define IT_COLN LSFT(IT_DOT) // :
#define IT_SCLN LSFT(IT_COMM) // ;
#define IT_UNDS LSFT(IT_MINS) // _
#define IT_PIPE LSFT(IT_BKSL) // °
#define IT_EXLM LSFT(KC_1) // !
#define IT_DQOT LSFT(KC_2) // "
#define IT_STRL LSFT(KC_3) // £
#define IT_DLR LSFT(KC_4) // $
#define IT_PERC LSFT(KC_5) // %
#define IT_AMPR LSFT(KC_6) // &
#define IT_SLSH LSFT(KC_7) // /
#define IT_LPRN LSFT(KC_8) // (
#define IT_RPRN LSFT(KC_9) // )
#define IT_EQL LSFT(KC_0) // =
#define IT_QST LSFT(IT_APOS) // ?
#define IT_CRC LSFT(IT_IACC) // ^
#define IT_ASTR LSFT(IT_PLUS) // *
#define IT_MORE LSFT(IT_LESS) // >
#define IT_COLN LSFT(IT_DOT) // :
#define IT_SCLN LSFT(IT_COMM) // ;
#define IT_UNDS LSFT(IT_MINS) // _
// Alt Gr-ed characters
#define IT_LCBR ALGR(KC_7) // {
#define IT_LBRC ALGR(IT_EACC) // [
#define IT_RBRC ALGR(IT_PLUS) // ]
#define IT_RCBR ALGR(KC_0) // }
#define IT_AT ALGR(IT_OACC) // @
#define IT_EURO ALGR(KC_E) // €
#define IT_PIPE LSFT(IT_BKSL) // |
#define IT_SHRP ALGR(IT_AACC) // #
#define IT_LCBR ALGR(KC_7) // {
#define IT_LBRC ALGR(IT_EACC) // [
#define IT_RBRC ALGR(IT_PLUS) // ]
#define IT_RCBR ALGR(KC_0) // }
#define IT_AT ALGR(IT_OACC) // @
#define IT_EURO ALGR(KC_E) // €
#define IT_PIPE LSFT(IT_BKSL) // |
#define IT_SHRP ALGR(IT_AACC) // #
#define IT_X_PLUS X_RBRACKET // #
#define IT_X_PLUS X_RBRACKET // #
#endif

View file

@ -20,61 +20,55 @@
* note: This website is written in Japanese.
*/
#ifndef KEYMAP_JP_H
#define KEYMAP_JP_H
#include "keymap.h"
#define JP_ZHTG KC_GRV // hankaku/zenkaku|kanzi
#define JP_YEN KC_INT3 // yen, |
#define JP_CIRC KC_EQL // ^, ~
#define JP_AT KC_LBRC // @, `
#define JP_LBRC KC_RBRC // [, {
#define JP_COLN KC_QUOT // :, *
#define JP_RBRC KC_NUHS // ], }
#define JP_BSLS KC_INT1 // \, _
#define JP_MHEN KC_INT5 // muhenkan
#define JP_HENK KC_INT4 // henkan
#define JP_KANA KC_INT2 // katakana/hiragana|ro-mazi
#define JP_ZHTG KC_GRV // hankaku/zenkaku|kanzi
#define JP_YEN KC_INT3 // yen, |
#define JP_CIRC KC_EQL // ^, ~
#define JP_AT KC_LBRC // @, `
#define JP_LBRC KC_RBRC // [, {
#define JP_COLN KC_QUOT // :, *
#define JP_RBRC KC_NUHS // ], }
#define JP_BSLS KC_INT1 // \, _
#define JP_MHEN KC_INT5 // muhenkan
#define JP_HENK KC_INT4 // henkan
#define JP_KANA KC_INT2 // katakana/hiragana|ro-mazi
#define JP_MKANA KC_LANG1 //kana on MacOSX
#define JP_MEISU KC_LANG2 //eisu on MacOSX
//Aliases for shifted symbols
#define JP_DQT LSFT(KC_2) // "
#define JP_AMPR LSFT(KC_6) // &
#define JP_QUOT LSFT(KC_7) // '
#define JP_LPRN LSFT(KC_8) // (
#define JP_RPRN LSFT(KC_9) // )
#define JP_EQL LSFT(KC_MINS) // =
#define JP_TILD LSFT(JP_CIRC) // ~
#define JP_PIPE LSFT(JP_YEN) // |
#define JP_GRV LSFT(JP_AT) // `
#define JP_LCBR LSFT(JP_LBRC) // {
#define JP_PLUS LSFT(KC_SCLN) // +
#define JP_ASTR LSFT(JP_COLN) // *
#define JP_RCBR LSFT(JP_RBRC) // }
#define JP_UNDS LSFT(JP_BSLS) // _
#define JP_MKANA KC_LANG1 // kana on MacOSX
#define JP_MEISU KC_LANG2 // eisu on MacOSX
// Aliases for shifted symbols
#define JP_DQT LSFT(KC_2) // "
#define JP_AMPR LSFT(KC_6) // &
#define JP_QUOT LSFT(KC_7) // '
#define JP_LPRN LSFT(KC_8) // (
#define JP_RPRN LSFT(KC_9) // )
#define JP_EQL LSFT(KC_MINS) // =
#define JP_TILD LSFT(JP_CIRC) // ~
#define JP_PIPE LSFT(JP_YEN) // |
#define JP_GRV LSFT(JP_AT) // `
#define JP_LCBR LSFT(JP_LBRC) // {
#define JP_PLUS LSFT(KC_SCLN) // +
#define JP_ASTR LSFT(JP_COLN) // *
#define JP_RCBR LSFT(JP_RBRC) // }
#define JP_UNDS LSFT(JP_BSLS) // _
// These symbols are correspond to US101-layout.
#define JP_MINS KC_MINS // -
#define JP_SCLN KC_SCLN // ;
#define JP_COMM KC_COMM // ,
#define JP_DOT KC_DOT // .
#define JP_SLSH KC_SLSH // /
#define JP_MINS KC_MINS // -
#define JP_SCLN KC_SCLN // ;
#define JP_COMM KC_COMM // ,
#define JP_DOT KC_DOT // .
#define JP_SLSH KC_SLSH // /
// shifted
#define JP_EXLM KC_EXLM // !
#define JP_HASH KC_HASH // #
#define JP_DLR KC_DLR // $
#define JP_PERC KC_PERC // %
#define JP_LT KC_LT // <
#define JP_GT KC_GT // >
#define JP_QUES KC_QUES // ?
#define JP_EXLM KC_EXLM // !
#define JP_HASH KC_HASH // #
#define JP_DLR KC_DLR // $
#define JP_PERC KC_PERC // %
#define JP_LT KC_LT // <
#define JP_GT KC_GT // >
#define JP_QUES KC_QUES // ?
#endif

View file

@ -19,52 +19,52 @@
#include "keymap.h"
// Normal characters
#define NO_HALF KC_GRV
#define NO_PLUS KC_MINS
#define NO_ACUT KC_EQL
#define NO_HALF KC_GRV
#define NO_PLUS KC_MINS
#define NO_ACUT KC_EQL
#define NO_AM KC_LBRC
#define NO_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout
#define NO_AE KC_SCLN
#define NO_OSLH KC_QUOT
#define NO_APOS KC_NUHS
#define NO_AM KC_LBRC
#define NO_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout
#define NO_AE KC_SCLN
#define NO_OSLH KC_QUOT
#define NO_APOS KC_NUHS
#define NO_LESS KC_NUBS
#define NO_LESS KC_NUBS
#define NO_MINS KC_SLSH
// Shifted characters
#define NO_SECT LSFT(NO_HALF)
#define NO_QUO2 LSFT(KC_2)
#define NO_QUO2 LSFT(KC_2)
#define NO_BULT LSFT(KC_4)
#define NO_AMPR LSFT(KC_6)
#define NO_AMPR LSFT(KC_6)
#define NO_SLSH LSFT(KC_7)
#define NO_LPRN LSFT(KC_8)
#define NO_RPRN LSFT(KC_9)
#define NO_EQL LSFT(KC_0)
#define NO_QUES LSFT(NO_PLUS)
#define NO_GRV LSFT(NO_ACUT)
#define NO_LPRN LSFT(KC_8)
#define NO_RPRN LSFT(KC_9)
#define NO_EQL LSFT(KC_0)
#define NO_QUES LSFT(NO_PLUS)
#define NO_GRV LSFT(NO_ACUT)
#define NO_CIRC LSFT(NO_QUOT)
#define NO_GRTR LSFT(NO_LESS)
#define NO_GRTR LSFT(NO_LESS)
#define NO_SCLN LSFT(KC_COMM)
#define NO_COLN LSFT(KC_DOT)
#define NO_UNDS LSFT(NO_MINS)
// Alt Gr-ed characters
#define NO_AT ALGR(KC_2)
#define NO_PND ALGR(KC_3)
#define NO_DLR ALGR(KC_4)
#define NO_AT ALGR(KC_2)
#define NO_PND ALGR(KC_3)
#define NO_DLR ALGR(KC_4)
#define NO_LCBR ALGR(KC_7)
#define NO_LBRC ALGR(KC_8)
#define NO_RBRC ALGR(KC_9)
#define NO_RCBR ALGR(KC_0)
#define NO_RCBR ALGR(KC_0)
#define NO_PIPE ALGR(KC_NUBS)
#define NO_EURO ALGR(KC_E)
#define NO_TILD ALGR(NO_QUOT)
#define NO_BSLS ALGR(KC_MINS)
#define NO_MU ALGR(KC_M)
#define NO_MU ALGR(KC_M)
#endif

View file

@ -18,37 +18,36 @@
#include "keymap.h"
// For software implementation of norman
#define NM_Q KC_Q
#define NM_W KC_W
#define NM_D KC_E
#define NM_F KC_R
#define NM_K KC_T
#define NM_J KC_Y
#define NM_U KC_U
#define NM_R KC_I
#define NM_L KC_O
#define NM_Q KC_Q
#define NM_W KC_W
#define NM_D KC_E
#define NM_F KC_R
#define NM_K KC_T
#define NM_J KC_Y
#define NM_U KC_U
#define NM_R KC_I
#define NM_L KC_O
#define NM_SCLN KC_P
#define NM_COLN LSFT(NM_SCLN)
#define NM_A KC_A
#define NM_S KC_S
#define NM_E KC_D
#define NM_T KC_F
#define NM_G KC_G
#define NM_Y KC_H
#define NM_N KC_J
#define NM_I KC_K
#define NM_O KC_L
#define NM_H KC_SCLN
#define NM_A KC_A
#define NM_S KC_S
#define NM_E KC_D
#define NM_T KC_F
#define NM_G KC_G
#define NM_Y KC_H
#define NM_N KC_J
#define NM_I KC_K
#define NM_O KC_L
#define NM_H KC_SCLN
#define NM_Z KC_Z
#define NM_X KC_X
#define NM_C KC_C
#define NM_V KC_V
#define NM_B KC_B
#define NM_P KC_N
#define NM_M KC_M
#define NM_Z KC_Z
#define NM_X KC_X
#define NM_C KC_C
#define NM_V KC_V
#define NM_B KC_B
#define NM_P KC_N
#define NM_M KC_M
#define NM_COMM KC_COMM
#define NM_DOT KC_DOT
#define NM_DOT KC_DOT
#define NM_SLSH KC_SLSH

View file

@ -22,35 +22,35 @@
// Norwegian redifinitions from the nordic keyset
#undef NO_ACUT
#define NO_ACUT ALGR(NO_BSLS) // ´
#define NO_ACUT ALGR(NO_BSLS) // ´
#undef NO_AE
#define NO_AE KC_QUOT // æ
#define NO_AE KC_QUOT // æ
#undef NO_BSLS
#define NO_BSLS KC_EQL // '\'
#undef NO_CIRC
#define NO_CIRC LSFT(KC_RBRC) // ^
#undef NO_GRV
#define NO_GRV LSFT(NO_BSLS) //
#define NO_GRV LSFT(NO_BSLS) //
#undef NO_OSLH
#define NO_OSLH KC_SCLN // ø
#define NO_OSLH KC_SCLN // ø
#undef NO_PIPE
#define NO_PIPE KC_GRV // |
// Additional norwegian keys not defined in the nordic keyset
#define NO_AA KC_LBRC // å
#define NO_AA KC_LBRC // å
#define NO_ASTR LSFT(KC_BSLS) // *
// Norwegian unique MAC characters
#define NO_ACUT_MAC KC_EQL // =
#define NO_APOS_MAC KC_NUBS // '
#define NO_AT_MAC KC_BSLS // @
#define NO_BSLS_MAC ALGR(LSFT(KC_7)) // '\'
#define NO_DLR_MAC LSFT(KC_4) // $
#define NO_GRV_MAC ALGR(NO_BSLS) // `
#define NO_GRTR_MAC LSFT(KC_GRV) // >
#define NO_ACUT_MAC KC_EQL // =
#define NO_APOS_MAC KC_NUBS // '
#define NO_AT_MAC KC_BSLS // @
#define NO_BSLS_MAC ALGR(LSFT(KC_7)) // '\'
#define NO_DLR_MAC LSFT(KC_4) // $
#define NO_GRV_MAC ALGR(NO_BSLS) // `
#define NO_GRTR_MAC LSFT(KC_GRV) // >
#define NO_LCBR_MAC ALGR(LSFT(KC_8)) // }
#define NO_LESS_MAC KC_GRV // >
#define NO_PIPE_MAC ALGR(KC_7) // |
#define NO_LESS_MAC KC_GRV // >
#define NO_PIPE_MAC ALGR(KC_7) // |
#define NO_RCBR_MAC ALGR(LSFT(KC_9)) // }
#endif

View file

@ -18,30 +18,30 @@
#include "keymap.h"
#define PV_NUM KC_1
#define PV_LS KC_Q
#define PV_LT KC_W
#define PV_LP KC_E
#define PV_LH KC_R
#define PV_LK KC_S
#define PV_LW KC_D
#define PV_LR KC_F
#define PV_NUM KC_1
#define PV_LS KC_Q
#define PV_LT KC_W
#define PV_LP KC_E
#define PV_LH KC_R
#define PV_LK KC_S
#define PV_LW KC_D
#define PV_LR KC_F
#define PV_STAR KC_Y
#define PV_RF KC_U
#define PV_RP KC_I
#define PV_RL KC_O
#define PV_RT KC_P
#define PV_RD KC_LBRC
#define PV_RR KC_J
#define PV_RB KC_K
#define PV_RG KC_L
#define PV_RS KC_SCLN
#define PV_RZ KC_QUOT
#define PV_RF KC_U
#define PV_RP KC_I
#define PV_RL KC_O
#define PV_RT KC_P
#define PV_RD KC_LBRC
#define PV_RR KC_J
#define PV_RB KC_K
#define PV_RG KC_L
#define PV_RS KC_SCLN
#define PV_RZ KC_QUOT
#define PV_A KC_C
#define PV_O KC_V
#define PV_E KC_N
#define PV_U KC_M
#define PV_A KC_C
#define PV_O KC_V
#define PV_E KC_N
#define PV_U KC_M
#endif

View file

@ -18,30 +18,30 @@
#include "keymap_dvorak.h"
#define PD_NUM DV_1
#define PD_LS DV_Q
#define PD_LT DV_W
#define PD_LP DV_E
#define PD_LH DV_R
#define PD_LK DV_S
#define PD_LW DV_D
#define PD_LR DV_F
#define PD_NUM DV_1
#define PD_LS DV_Q
#define PD_LT DV_W
#define PD_LP DV_E
#define PD_LH DV_R
#define PD_LK DV_S
#define PD_LW DV_D
#define PD_LR DV_F
#define PD_STAR DV_Y
#define PD_RF DV_U
#define PD_RP DV_I
#define PD_RL DV_O
#define PD_RT DV_P
#define PD_RD DV_LBRC
#define PD_RR DV_J
#define PD_RB DV_K
#define PD_RG DV_L
#define PD_RS DV_SCLN
#define PD_RZ DV_QUOT
#define PD_RF DV_U
#define PD_RP DV_I
#define PD_RL DV_O
#define PD_RT DV_P
#define PD_RD DV_LBRC
#define PD_RR DV_J
#define PD_RB DV_K
#define PD_RG DV_L
#define PD_RS DV_SCLN
#define PD_RZ DV_QUOT
#define PD_A DV_C
#define PD_O DV_V
#define PD_E DV_N
#define PD_U DV_M
#define PD_A DV_C
#define PD_O DV_V
#define PD_E DV_N
#define PD_U DV_M
#endif

View file

@ -20,11 +20,11 @@
#include "keymap.h"
//Swapped Z and Y
// Swapped Z and Y
#define SI_Z KC_Y
#define SI_Y KC_Z
//Special characters
// Special characters
#define SI_CV KC_SCLN
#define SI_SV KC_LBRC
#define SI_ZV KC_BSLS
@ -68,40 +68,40 @@
#define SI_DOT KC_DOT
#define SI_COMM KC_COMM
#define SI_PLUS KC_EQL // + and * and ~
#define SI_QOT KC_MINS // Single quote
#define SI_MINS KC_SLSH // - and _
#define SI_PLUS KC_EQL // + and * and ~
#define SI_QOT KC_MINS // Single quote
#define SI_MINS KC_SLSH // - and _
// shifted characters
#define SI_EXLM LSFT(KC_1) // !
#define SI_DQOT LSFT(KC_2) // "
#define SI_HASH LSFT(KC_3) // #
#define SI_DLR LSFT(KC_4) // $
#define SI_PERC LSFT(KC_5) // %
#define SI_AMPR LSFT(KC_6) // &
#define SI_SLSH LSFT(KC_7) // /
#define SI_LPRN LSFT(KC_8) // (
#define SI_RPRN LSFT(KC_9) // )
#define SI_EQL LSFT(KC_0) // =
#define SI_QST LSFT(SI_QOT) // ?
#define SI_ASTR LSFT(SI_PLUS) // *
#define SI_COLN LSFT(KC_DOT) // :
#define SI_SCLN LSFT(KC_COMM) // ;
#define SI_UNDS LSFT(SI_MINS) // _
#define SI_EXLM LSFT(KC_1) // !
#define SI_DQOT LSFT(KC_2) // "
#define SI_HASH LSFT(KC_3) // #
#define SI_DLR LSFT(KC_4) // $
#define SI_PERC LSFT(KC_5) // %
#define SI_AMPR LSFT(KC_6) // &
#define SI_SLSH LSFT(KC_7) // /
#define SI_LPRN LSFT(KC_8) // (
#define SI_RPRN LSFT(KC_9) // )
#define SI_EQL LSFT(KC_0) // =
#define SI_QST LSFT(SI_QOT) // ?
#define SI_ASTR LSFT(SI_PLUS) // *
#define SI_COLN LSFT(KC_DOT) // :
#define SI_SCLN LSFT(KC_COMM) // ;
#define SI_UNDS LSFT(SI_MINS) // _
// Alt Gr-ed characters
#define SI_CIRC ALGR(KC_3) // ^
#define SI_DEG ALGR(KC_5) // °
#define SI_GRV ALGR(KC_7) // `
#define SI_ACCU ALGR(KC_9) // ´
#define SI_LCBR ALGR(KC_B) // {
#define SI_RCBR ALGR(KC_N) // }
#define SI_LBRC ALGR(KC_F) // [
#define SI_RBRC ALGR(KC_G) // ]
#define SI_BSLS ALGR(KC_Q) // backslash
#define SI_AT ALGR(KC_V) // @
#define SI_EURO ALGR(KC_E) // €
#define SI_TILD ALGR(KC_1) // ~
#define SI_PIPE ALGR(KC_W) // |
#define SI_CIRC ALGR(KC_3) // ^
#define SI_DEG ALGR(KC_5) // °
#define SI_GRV ALGR(KC_7) // `
#define SI_ACCU ALGR(KC_9) // ´
#define SI_LCBR ALGR(KC_B) // {
#define SI_RCBR ALGR(KC_N) // }
#define SI_LBRC ALGR(KC_F) // [
#define SI_RBRC ALGR(KC_G) // ]
#define SI_BSLS ALGR(KC_Q) // backslash
#define SI_AT ALGR(KC_V) // @
#define SI_EURO ALGR(KC_E) // €
#define SI_TILD ALGR(KC_1) // ~
#define SI_PIPE ALGR(KC_W) // |
#endif

View file

@ -20,54 +20,54 @@
// Normal characters
#define ES_OVRR KC_GRV
#define ES_APOS KC_MINS
#define ES_IEXL KC_EQL
#define ES_APOS KC_MINS
#define ES_IEXL KC_EQL
#define ES_GRV KC_LBRC
#define ES_PLUS KC_RBRC
#define ES_GRV KC_LBRC
#define ES_PLUS KC_RBRC
#define ES_NTIL KC_SCLN
#define ES_ACUT KC_QUOT
#define ES_CCED KC_NUHS
#define ES_NTIL KC_SCLN
#define ES_ACUT KC_QUOT
#define ES_CCED KC_NUHS
#define ES_LESS KC_NUBS
#define ES_MINS KC_SLSH
#define ES_LESS KC_NUBS
#define ES_MINS KC_SLSH
// Shifted characters
#define ES_ASML LSFT(ES_OVRR)
#define ES_QUOT LSFT(KC_2)
#define ES_OVDT LSFT(KC_3)
#define ES_AMPR LSFT(KC_6)
#define ES_ASML LSFT(ES_OVRR)
#define ES_QUOT LSFT(KC_2)
#define ES_OVDT LSFT(KC_3)
#define ES_AMPR LSFT(KC_6)
#define ES_SLSH LSFT(KC_7)
#define ES_LPRN LSFT(KC_8)
#define ES_RPRN LSFT(KC_9)
#define ES_EQL LSFT(KC_0)
#define ES_QUES LSFT(ES_APOS)
#define ES_IQUE LSFT(ES_IEXL)
#define ES_EQL LSFT(KC_0)
#define ES_QUES LSFT(ES_APOS)
#define ES_IQUE LSFT(ES_IEXL)
#define ES_CIRC LSFT(ES_GRV)
#define ES_ASTR LSFT(ES_PLUS)
#define ES_CIRC LSFT(ES_GRV)
#define ES_ASTR LSFT(ES_PLUS)
#define ES_UMLT LSFT(ES_GRV)
#define ES_UMLT LSFT(ES_GRV)
#define ES_GRTR LSFT(ES_LESS)
#define ES_SCLN LSFT(KC_COMM)
#define ES_COLN LSFT(KC_DOT)
#define ES_UNDS LSFT(ES_MINS)
#define ES_GRTR LSFT(ES_LESS)
#define ES_SCLN LSFT(KC_COMM)
#define ES_COLN LSFT(KC_DOT)
#define ES_UNDS LSFT(ES_MINS)
// Alt Gr-ed characters
#define ES_BSLS ALGR(ES_OVRR)
#define ES_PIPE ALGR(KC_1)
#define ES_AT ALGR(KC_2)
#define ES_HASH ALGR(KC_3)
#define ES_TILD ALGR(ES_NTIL)
#define ES_EURO ALGR(KC_5)
#define ES_NOT ALGR(KC_6)
#define ES_BSLS ALGR(ES_OVRR)
#define ES_PIPE ALGR(KC_1)
#define ES_AT ALGR(KC_2)
#define ES_HASH ALGR(KC_3)
#define ES_TILD ALGR(ES_NTIL)
#define ES_EURO ALGR(KC_5)
#define ES_NOT ALGR(KC_6)
#define ES_LBRC ALGR(ES_GRV)
#define ES_LBRC ALGR(ES_GRV)
#define ES_RBRC ALGR(ES_PLUS)
#define ES_LCBR ALGR(ES_ACUT)
#define ES_RCBR ALGR(ES_CCED)
#define ES_LCBR ALGR(ES_ACUT)
#define ES_RCBR ALGR(ES_CCED)
#endif

View file

@ -22,55 +22,55 @@
// errors, this must be <= 42 total entries in order to
// support the GeminiPR protocol.
enum steno_keycodes {
STN__MIN = QK_STENO,
STN_FN = STN__MIN,
STN_NUM,
STN_N1 = STN_NUM,
STN_N2,
STN_N3,
STN_N4,
STN_N5,
STN_N6,
STN_SL,
STN_S1 = STN_SL,
STN_S2,
STN_TL,
STN_KL,
STN_PL,
STN_WL,
STN_HL,
STN_RL,
STN_A,
STN_O,
STN_STR,
STN_ST1 = STN_STR,
STN_ST2,
STN_RES1,
STN_RE1 = STN_RES1,
STN_RES2,
STN_RE2 = STN_RES2,
STN_PWR,
STN_ST3,
STN_ST4,
STN_E,
STN_U,
STN_FR,
STN_RR,
STN_PR,
STN_BR,
STN_LR,
STN_GR,
STN_TR,
STN_SR,
STN_DR,
STN_N7,
STN_N8,
STN_N9,
STN_NA,
STN_NB,
STN_NC,
STN_ZR,
STN__MAX = STN_ZR, // must be less than QK_STENO_BOLT
STN__MIN = QK_STENO,
STN_FN = STN__MIN,
STN_NUM,
STN_N1 = STN_NUM,
STN_N2,
STN_N3,
STN_N4,
STN_N5,
STN_N6,
STN_SL,
STN_S1 = STN_SL,
STN_S2,
STN_TL,
STN_KL,
STN_PL,
STN_WL,
STN_HL,
STN_RL,
STN_A,
STN_O,
STN_STR,
STN_ST1 = STN_STR,
STN_ST2,
STN_RES1,
STN_RE1 = STN_RES1,
STN_RES2,
STN_RE2 = STN_RES2,
STN_PWR,
STN_ST3,
STN_ST4,
STN_E,
STN_U,
STN_FR,
STN_RR,
STN_PR,
STN_BR,
STN_LR,
STN_GR,
STN_TR,
STN_SR,
STN_DR,
STN_N7,
STN_N8,
STN_N9,
STN_NA,
STN_NB,
STN_NC,
STN_ZR,
STN__MAX = STN_ZR, // must be less than QK_STENO_BOLT
};
#endif

View file

@ -20,68 +20,68 @@
#include "keymap.h"
// Normal characters
#define SE_HALF KC_GRV
#define SE_PLUS KC_MINS
#define SE_ACUT KC_EQL
#define SE_HALF KC_GRV
#define SE_PLUS KC_MINS
#define SE_ACUT KC_EQL
#define SE_AM KC_LBRC
#define SE_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout
#define SE_AE KC_QUOT // ä
#define SE_AM KC_LBRC
#define SE_QUOT KC_RBRC // this is the "umlaut" char on Nordic keyboards, Apple layout
#define SE_AE KC_QUOT // ä
#define SE_OSLH KC_SCLN // ö
#define SE_APOS KC_NUHS
#define SE_APOS KC_NUHS
#define SE_LESS KC_NUBS
#define SE_LESS KC_NUBS
#define SE_MINS KC_SLSH
// Shifted characters
#define SE_SECT LSFT(SE_HALF)
#define SE_QUO2 LSFT(KC_2)
#define SE_QUO2 LSFT(KC_2)
#define SE_BULT LSFT(KC_4)
#define SE_AMPR LSFT(KC_6)
#define SE_AMPR LSFT(KC_6)
#define SE_SLSH LSFT(KC_7)
#define SE_LPRN LSFT(KC_8)
#define SE_RPRN LSFT(KC_9)
#define SE_EQL LSFT(KC_0)
#define SE_QUES LSFT(SE_PLUS)
#define SE_GRV LSFT(SE_ACUT)
#define SE_LPRN LSFT(KC_8)
#define SE_RPRN LSFT(KC_9)
#define SE_EQL LSFT(KC_0)
#define SE_QUES LSFT(SE_PLUS)
#define SE_GRV LSFT(SE_ACUT)
#define SE_CIRC LSFT(KC_RBRC) // ^
#define SE_GRTR LSFT(SE_LESS)
#define SE_GRTR LSFT(SE_LESS)
#define SE_SCLN LSFT(KC_COMM)
#define SE_COLN LSFT(KC_DOT)
#define SE_UNDS LSFT(SE_MINS)
// Alt Gr-ed characters
#define SE_AT ALGR(KC_2)
#define SE_PND ALGR(KC_3)
#define SE_DLR ALGR(KC_4)
#define SE_AT ALGR(KC_2)
#define SE_PND ALGR(KC_3)
#define SE_DLR ALGR(KC_4)
#define SE_LCBR ALGR(KC_7)
#define SE_LBRC ALGR(KC_8)
#define SE_RBRC ALGR(KC_9)
#define SE_RCBR ALGR(KC_0)
#define SE_RCBR ALGR(KC_0)
#define SE_PIPE ALGR(KC_NUBS)
#define SE_EURO ALGR(KC_E)
#define SE_TILD ALGR(SE_QUOT)
#define SE_BSLS ALGR(KC_MINS)
#define SE_MU ALGR(KC_M)
#define SE_MU ALGR(KC_M)
#define SE_AA KC_LBRC // å
#define SE_AA KC_LBRC // å
#define SE_ASTR LSFT(KC_BSLS) // *
// Norwegian unique MAC characters (not vetted for Swedish)
#define SE_ACUT_MAC KC_EQL // =
#define SE_APOS_MAC KC_NUBS // '
#define SE_AT_MAC KC_BSLS // @
#define SE_BSLS_MAC ALGR(LSFT(KC_7)) // '\'
#define SE_DLR_MAC ALGR(KC_4) // $
#define SE_GRV_MAC ALGR(SE_BSLS) // `
#define SE_GRTR_MAC LSFT(KC_GRV) // >
#define SE_ACUT_MAC KC_EQL // =
#define SE_APOS_MAC KC_NUBS // '
#define SE_AT_MAC KC_BSLS // @
#define SE_BSLS_MAC ALGR(LSFT(KC_7)) // '\'
#define SE_DLR_MAC ALGR(KC_4) // $
#define SE_GRV_MAC ALGR(SE_BSLS) // `
#define SE_GRTR_MAC LSFT(KC_GRV) // >
#define SE_LCBR_MAC ALGR(LSFT(KC_8)) // {
#define SE_LESS_MAC KC_GRV // <
#define SE_PIPE_MAC ALGR(KC_7) // |
#define SE_LESS_MAC KC_GRV // <
#define SE_PIPE_MAC ALGR(KC_7) // |
#define SE_RCBR_MAC ALGR(LSFT(KC_9)) // }
#endif

View file

@ -20,21 +20,21 @@
// Normal characters
#define UK_HASH KC_NUHS
#define UK_BSLS KC_NUBS
#define UK_BSLS KC_NUBS
// Shifted characters
#define UK_NOT LSFT(KC_GRV)
#define UK_DQUO LSFT(KC_2)
#define UK_PND LSFT(KC_3)
#define UK_AT LSFT(KC_QUOT)
#define UK_TILD LSFT(KC_NUHS)
#define UK_PIPE LSFT(KC_NUBS)
#define UK_NOT LSFT(KC_GRV)
#define UK_DQUO LSFT(KC_2)
#define UK_PND LSFT(KC_3)
#define UK_AT LSFT(KC_QUOT)
#define UK_TILD LSFT(KC_NUHS)
#define UK_PIPE LSFT(KC_NUBS)
// Alt Gr-ed characters
#define UK_BRKP ALGR(KC_GRV)
#define UK_EURO ALGR(KC_4)
#define UK_EACT ALGR(KC_E)
#define UK_UACT ALGR(KC_U)
#define UK_BRKP ALGR(KC_GRV)
#define UK_EURO ALGR(KC_4)
#define UK_EACT ALGR(KC_E)
#define UK_UACT ALGR(KC_U)
#define UK_IACT ALGR(KC_I)
#define UK_OACT ALGR(KC_O)
#define UK_AACT ALGR(KC_A)

View file

@ -18,66 +18,66 @@
#include "keymap.h"
// For software implementation of workman
#define WK_Q KC_Q
#define WK_D KC_W
#define WK_R KC_E
#define WK_W KC_R
#define WK_B KC_T
#define WK_J KC_Y
#define WK_F KC_U
#define WK_U KC_I
#define WK_P KC_O
#define WK_Q KC_Q
#define WK_D KC_W
#define WK_R KC_E
#define WK_W KC_R
#define WK_B KC_T
#define WK_J KC_Y
#define WK_F KC_U
#define WK_U KC_I
#define WK_P KC_O
#define WK_SCLN KC_P
#define WK_A KC_A
#define WK_S KC_S
#define WK_H KC_D
#define WK_T KC_F
#define WK_G KC_G
#define WK_Y KC_H
#define WK_N KC_J
#define WK_E KC_K
#define WK_O KC_L
#define WK_I KC_SCLN
#define WK_A KC_A
#define WK_S KC_S
#define WK_H KC_D
#define WK_T KC_F
#define WK_G KC_G
#define WK_Y KC_H
#define WK_N KC_J
#define WK_E KC_K
#define WK_O KC_L
#define WK_I KC_SCLN
#define WK_Z KC_Z
#define WK_X KC_X
#define WK_M KC_C
#define WK_C KC_V
#define WK_V KC_B
#define WK_K KC_N
#define WK_L KC_M
#define WK_Z KC_Z
#define WK_X KC_X
#define WK_M KC_C
#define WK_C KC_V
#define WK_V KC_B
#define WK_K KC_N
#define WK_L KC_M
// Make it easy to support these in macros
// TODO: change macro implementation so these aren't needed
#define KC_WK_Q WK_Q
#define KC_WK_D WK_D
#define KC_WK_R WK_R
#define KC_WK_W WK_W
#define KC_WK_B WK_B
#define KC_WK_J WK_J
#define KC_WK_F WK_F
#define KC_WK_U WK_U
#define KC_WK_P WK_P
#define KC_WK_Q WK_Q
#define KC_WK_D WK_D
#define KC_WK_R WK_R
#define KC_WK_W WK_W
#define KC_WK_B WK_B
#define KC_WK_J WK_J
#define KC_WK_F WK_F
#define KC_WK_U WK_U
#define KC_WK_P WK_P
#define KC_WK_SCLN WK_SCLN
#define KC_WK_A WK_A
#define KC_WK_S WK_S
#define KC_WK_H WK_H
#define KC_WK_T WK_T
#define KC_WK_G WK_G
#define KC_WK_Y WK_Y
#define KC_WK_N WK_N
#define KC_WK_E WK_E
#define KC_WK_O WK_O
#define KC_WK_I WK_I
#define KC_WK_A WK_A
#define KC_WK_S WK_S
#define KC_WK_H WK_H
#define KC_WK_T WK_T
#define KC_WK_G WK_G
#define KC_WK_Y WK_Y
#define KC_WK_N WK_N
#define KC_WK_E WK_E
#define KC_WK_O WK_O
#define KC_WK_I WK_I
#define KC_WK_Z WK_Z
#define KC_WK_X WK_X
#define KC_WK_M WK_M
#define KC_WK_C WK_C
#define KC_WK_V WK_V
#define KC_WK_K WK_K
#define KC_WK_L WK_L
#define KC_WK_Z WK_Z
#define KC_WK_X WK_X
#define KC_WK_M WK_M
#define KC_WK_C WK_C
#define KC_WK_V WK_V
#define KC_WK_K WK_K
#define KC_WK_L WK_L
#endif

View file

@ -20,78 +20,45 @@
#include "keymap_belgian.h"
const bool ascii_to_shift_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_shift_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0,
0, 0, 1, 1, 0, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 0, 0, 0, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const bool ascii_to_altgr_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_altgr_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 0
};
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, BE_EXLM, BE_QUOT, BE_QUOT, BE_DLR, BE_UGRV, BE_AMP, BE_APOS,
KC_SPC, BE_EXLM, BE_QUOT, BE_QUOT, BE_DLR, BE_UGRV, BE_AMP, BE_APOS,
// ( ) * + , - . /
BE_LPRN, BE_RPRN, BE_DLR, BE_EQL, BE_COMM, BE_MINS, BE_SCLN, BE_COLN,
BE_LPRN, BE_RPRN, BE_DLR, BE_EQL, BE_COMM, BE_MINS, BE_SCLN, BE_COLN,
// 0 1 2 3 4 5 6 7
BE_AGRV, BE_AMP, BE_EACU, BE_QUOT, BE_APOS, BE_LPRN, BE_PARA, BE_EGRV,
BE_AGRV, BE_AMP, BE_EACU, BE_QUOT, BE_APOS, BE_LPRN, BE_PARA, BE_EGRV,
// 8 9 : ; < = > ?
BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LESS, BE_EQL, BE_LESS, BE_COMM,
BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LESS, BE_EQL, BE_LESS, BE_COMM,
// @ A B C D E F G
BE_EACU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
BE_EACU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
// H I J K L M N O
KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
// P Q R S T U V W
KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
// X Y Z [ \ ] ^ _
KC_X, KC_Y, BE_Z, BE_CIRC, BE_LESS, BE_DLR, BE_PARA, BE_MINS,
KC_X, KC_Y, BE_Z, BE_CIRC, BE_LESS, BE_DLR, BE_PARA, BE_MINS,
// ` a b c d e f g
BE_MU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
BE_MU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
// h i j k l m n o
KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
// p q r s t u v w
KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
// x y z { | } ~ DEL
KC_X, KC_Y, BE_Z, BE_CCED, BE_AMP, BE_AGRV, BE_EQL, KC_DEL
};
KC_X, KC_Y, BE_Z, BE_CCED, BE_AMP, BE_AGRV, BE_EQL, KC_DEL};

View file

@ -20,78 +20,45 @@
#include "keymap_bepo.h"
const bool ascii_to_shift_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_shift_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 0, 0, 1,
0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const bool ascii_to_altgr_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_altgr_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 0
};
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, BP_DCRC, BP_DQOT, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_APOS,
KC_SPC, BP_DCRC, BP_DQOT, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_APOS,
// ( ) * + , - . /
BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT, BP_SLSH,
BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT, BP_SLSH,
// 0 1 2 3 4 5 6 7
BP_ASTR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS,
BP_ASTR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS,
// 8 9 : ; < = > ?
BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LGIL, BP_EQL, BP_RGIL, BP_APOS,
BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LGIL, BP_EQL, BP_RGIL, BP_APOS,
// @ A B C D E F G
BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
// H I J K L M N O
BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
// P Q R S T U V W
BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
// X Y Z [ \ ] ^ _
BP_X, BP_Y, BP_Z, BP_LPRN, BP_AGRV, BP_RPRN, BP_AT, KC_SPC,
BP_X, BP_Y, BP_Z, BP_LPRN, BP_AGRV, BP_RPRN, BP_AT, KC_SPC,
// ` a b c d e f g
BP_PERC, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
BP_PERC, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
// h i j k l m n o
BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
// p q r s t u v w
BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
// x y z { | } ~ DEL
BP_X, BP_Y, BP_Z, BP_Y, BP_B, BP_X, BP_K, KC_DEL
};
BP_X, BP_Y, BP_Z, BP_Y, BP_B, BP_X, BP_K, KC_DEL};

View file

@ -24,34 +24,33 @@ 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
// ( ) * + , - . /
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
// 0 1 2 3 4 5 6 7
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
// 8 9 : ; < = > ?
KC_8, KC_9, CM_SCLN, CM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
KC_8, KC_9, CM_SCLN, CM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
// @ A B C D E F G
KC_2, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
KC_2, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
// H I J K L M N O
CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
// P Q R S T U V W
CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
// X Y Z [ \ ] ^ _
CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
// ` a b c d e f g
KC_GRV, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
KC_GRV, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
// h i j k l m n o
CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
// p q r s t u v w
CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
// x y z { | } ~ DEL
CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
};
CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL};

View file

@ -24,34 +24,33 @@ 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, DV_1, DV_QUOT, DV_3, DV_4, DV_5, DV_7, DV_QUOT,
KC_SPC, DV_1, DV_QUOT, DV_3, DV_4, DV_5, DV_7, DV_QUOT,
// ( ) * + , - . /
DV_9, DV_0, DV_8, DV_EQL, DV_COMM, DV_MINS, DV_DOT, DV_SLSH,
DV_9, DV_0, DV_8, DV_EQL, DV_COMM, DV_MINS, DV_DOT, DV_SLSH,
// 0 1 2 3 4 5 6 7
DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7,
DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7,
// 8 9 : ; < = > ?
DV_8, DV_9, DV_SCLN, DV_SCLN, DV_COMM, DV_EQL, DV_DOT, DV_SLSH,
DV_8, DV_9, DV_SCLN, DV_SCLN, DV_COMM, DV_EQL, DV_DOT, DV_SLSH,
// @ A B C D E F G
DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
// H I J K L M N O
DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
// P Q R S T U V W
DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
// X Y Z [ \ ] ^ _
DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_6, DV_MINS,
DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_6, DV_MINS,
// ` a b c d e f g
DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
// h i j k l m n o
DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
// p q r s t u v w
DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
// x y z { | } ~ DEL
DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_GRV, KC_DEL
};
DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_GRV, KC_DEL};

View file

@ -20,78 +20,45 @@
#include "keymap_french.h"
const bool ascii_to_shift_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_shift_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0,
0, 0, 0, 1, 0, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 0, 0, 0, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const bool ascii_to_altgr_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_altgr_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 0
};
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, FR_EXLM, FR_QUOT, FR_QUOT, FR_DLR, FR_UGRV, FR_AMP, FR_APOS,
KC_SPC, FR_EXLM, FR_QUOT, FR_QUOT, FR_DLR, FR_UGRV, FR_AMP, FR_APOS,
// ( ) * + , - . /
FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN,
FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN,
// 0 1 2 3 4 5 6 7
FR_AGRV, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, FR_MINS, FR_EGRV,
FR_AGRV, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, FR_MINS, FR_EGRV,
// 8 9 : ; < = > ?
FR_CCED, FR_AGRV, FR_COLN, FR_SCLN, FR_LESS, FR_EQL, FR_LESS, FR_COMM,
FR_CCED, FR_AGRV, FR_COLN, FR_SCLN, FR_LESS, FR_EQL, FR_LESS, FR_COMM,
// @ A B C D E F G
FR_AGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
FR_AGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
// H I J K L M N O
KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O,
KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O,
// P Q R S T U V W
KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W,
KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W,
// X Y Z [ \ ] ^ _
KC_X, KC_Y, FR_Z, FR_LPRN, FR_UNDS, FR_RPRN, FR_CCED, FR_UNDS,
KC_X, KC_Y, FR_Z, FR_LPRN, FR_UNDS, FR_RPRN, FR_CCED, FR_UNDS,
// ` a b c d e f g
FR_EGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
FR_EGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
// h i j k l m n o
KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O,
KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O,
// p q r s t u v w
KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W,
KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W,
// x y z { | } ~ DEL
KC_X, KC_Y, FR_Z, FR_APOS, FR_MINS, FR_EQL, FR_EACU, KC_DEL
};
KC_X, KC_Y, FR_Z, FR_APOS, FR_MINS, FR_EQL, FR_EACU, KC_DEL};

View file

@ -20,78 +20,45 @@
#include "keymap_german.h"
const bool ascii_to_shift_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_shift_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 1, 0, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 0, 1,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const bool ascii_to_altgr_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_altgr_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 0
};
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, DE_1, DE_2, DE_HASH, DE_4, DE_5, DE_6, DE_HASH,
KC_SPC, DE_1, DE_2, DE_HASH, DE_4, DE_5, DE_6, DE_HASH,
// ( ) * + , - . /
DE_8, DE_9, DE_PLUS, DE_PLUS, DE_COMM, DE_MINS, DE_DOT, DE_7,
DE_8, DE_9, DE_PLUS, DE_PLUS, DE_COMM, DE_MINS, DE_DOT, DE_7,
// 0 1 2 3 4 5 6 7
DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7,
DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7,
// 8 9 : ; < = > ?
DE_8, DE_9, DE_DOT, DE_COMM, DE_LESS, DE_0, DE_LESS, DE_SS,
DE_8, DE_9, DE_DOT, DE_COMM, DE_LESS, DE_0, DE_LESS, DE_SS,
// @ A B C D E F G
DE_Q, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
DE_Q, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
// H I J K L M N O
DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O,
DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O,
// P Q R S T U V W
DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
// X Y Z [ \ ] ^ _
DE_X, DE_Y, DE_Z, DE_8, DE_SS, DE_9, DE_CIRC, DE_MINS,
DE_X, DE_Y, DE_Z, DE_8, DE_SS, DE_9, DE_CIRC, DE_MINS,
// ` a b c d e f g
DE_ACUT, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
DE_ACUT, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
// h i j k l m n o
DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O,
DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O,
// p q r s t u v w
DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
// x y z { | } ~ DEL
DE_X, DE_Y, DE_Z, DE_7, DE_LESS, DE_0, DE_PLUS, KC_DEL
};
DE_X, DE_Y, DE_Z, DE_7, DE_LESS, DE_0, DE_PLUS, KC_DEL};

View file

@ -20,58 +20,41 @@
#include "keymap_jp.h"
const bool ascii_to_shift_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_shift_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 0, 1,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 0
};
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
// ( ) * + , - . /
KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH,
KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH,
// 0 1 2 3 4 5 6 7
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
// 8 9 : ; < = > ?
KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH,
KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH,
// @ A B C D E F G
JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
// H I J K L M N O
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
// P Q R S T U V W
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
// X Y Z [ \ ] ^ _
KC_X, KC_Y, KC_Z, JP_LBRC, JP_BSLS, JP_RBRC, JP_CIRC, JP_BSLS,
KC_X, KC_Y, KC_Z, JP_LBRC, JP_BSLS, JP_RBRC, JP_CIRC, JP_BSLS,
// ` a b c d e f g
JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
// h i j k l m n o
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
// p q r s t u v w
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
// x y z { | } ~ DEL
KC_X, KC_Y, KC_Z, JP_LBRC, JP_YEN, JP_RBRC, JP_CIRC, KC_DEL
};
KC_X, KC_Y, KC_Z, JP_LBRC, JP_YEN, JP_RBRC, JP_CIRC, KC_DEL};

View file

@ -24,34 +24,33 @@ 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
// ( ) * + , - . /
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
// 0 1 2 3 4 5 6 7
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
// 8 9 : ; < = > ?
KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
// @ A B C D E F G
KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
// H I J K L M N O
NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
// P Q R S T U V W
NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
// X Y Z [ \ ] ^ _
NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
// ` a b c d e f g
KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
// h i j k l m n o
NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
// p q r s t u v w
NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
// x y z { | } ~ DEL
NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
};
NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL};

View file

@ -20,78 +20,45 @@
#include "keymap_spanish.h"
const bool ascii_to_shift_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_shift_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 1, 1, 1, 0,
1, 1, 1, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 1, 0, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
const bool ascii_to_altgr_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_altgr_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 0
};
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, ES_APOS,
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, ES_APOS,
// ( ) * + , - . /
KC_8, KC_9, ES_PLUS, ES_PLUS, KC_COMM, ES_MINS, KC_DOT, KC_7,
KC_8, KC_9, ES_PLUS, ES_PLUS, KC_COMM, ES_MINS, KC_DOT, KC_7,
// 0 1 2 3 4 5 6 7
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
// 8 9 : ; < = > ?
KC_8, KC_9, KC_DOT, KC_COMM, ES_LESS, KC_0, ES_LESS, ES_APOS,
KC_8, KC_9, KC_DOT, KC_COMM, ES_LESS, KC_0, ES_LESS, ES_APOS,
// @ A B C D E F G
KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
// H I J K L M N O
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
// P Q R S T U V W
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
// X Y Z [ \ ] ^ _
KC_X, KC_Y, KC_Z, ES_GRV, ES_OVRR, ES_PLUS, ES_GRV, ES_MINS,
KC_X, KC_Y, KC_Z, ES_GRV, ES_OVRR, ES_PLUS, ES_GRV, ES_MINS,
// ` a b c d e f g
ES_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
ES_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
// h i j k l m n o
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
// p q r s t u v w
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
// x y z { | } ~ DEL
KC_X, KC_Y, KC_Z, ES_ACUT, KC_1, ES_CCED, ES_NTIL, KC_DEL
};
KC_X, KC_Y, KC_Z, ES_ACUT, KC_1, ES_CCED, ES_NTIL, KC_DEL};

View file

@ -20,58 +20,41 @@
#include "keymap_uk.h"
const bool ascii_to_shift_lut[128] PROGMEM = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
const bool ascii_to_shift_lut[128] PROGMEM = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 1, 1, 1, 0,
1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 1, 1, 0
};
0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
UK_SPC, UK_1, UK_2, UK_HASH, UK_4, UK_5, UK_7, UK_QUOT,
UK_SPC, UK_1, UK_2, UK_HASH, UK_4, UK_5, UK_7, UK_QUOT,
// ( ) * + , - . /
UK_9, UK_0, UK_8, UK_EQL, UK_COMM, UK_MINS, UK_DOT, UK_SLSH,
UK_9, UK_0, UK_8, UK_EQL, UK_COMM, UK_MINS, UK_DOT, UK_SLSH,
// 0 1 2 3 4 5 6 7
UK_0, UK_1, UK_2, UK_3, UK_4, UK_5, UK_6, UK_7,
UK_0, UK_1, UK_2, UK_3, UK_4, UK_5, UK_6, UK_7,
// 8 9 : ; < = > ?
UK_8, UK_9, UK_SCLN, UK_SCLN, UK_COMM, UK_EQL, UK_DOT, UK_SLSH,
UK_8, UK_9, UK_SCLN, UK_SCLN, UK_COMM, UK_EQL, UK_DOT, UK_SLSH,
// @ A B C D E F G
UK_QUOT, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G,
UK_QUOT, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G,
// H I J K L M N O
UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O,
UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O,
// P Q R S T U V W
UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W,
UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W,
// X Y Z [ \ ] ^ _
UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_6, UK_MINS,
UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_6, UK_MINS,
// ` a b c d e f g
UK_GRV, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G,
UK_GRV, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G,
// h i j k l m n o
UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O,
UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O,
// p q r s t u v w
UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W,
UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W,
// x y z { | } ~ DEL
UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_HASH, KC_DEL
};
UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_HASH, KC_DEL};

View file

@ -24,34 +24,33 @@ 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,
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,
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
// ( ) * + , - . /
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
// 0 1 2 3 4 5 6 7
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
// 8 9 : ; < = > ?
KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
// @ A B C D E F G
KC_2, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
KC_2, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
// H I J K L M N O
WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
// P Q R S T U V W
WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
// X Y Z [ \ ] ^ _
WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
// ` a b c d e f g
KC_GRV, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
KC_GRV, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
// h i j k l m n o
WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
// p q r s t u v w
WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
// x y z { | } ~ DEL
WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
};
WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL};