Update Italian macOS keymaps and add sendstring LUTs

This commit is contained in:
fauxpark 2020-04-06 15:30:36 +10:00
parent 7642075fc3
commit 62d1d69ba9
4 changed files with 689 additions and 178 deletions

View file

@ -14,100 +14,255 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// This is a clone of quantum/keymap_extra/keymap_italian.h intended to be used with Apple devices
#ifndef KEYMAP_ITALIAN
#define KEYMAP_ITALIAN
#pragma once
#include "keymap.h"
// normal characters
#define IT_A KC_A
#define IT_B KC_B
#define IT_C KC_C
#define IT_D KC_D
#define IT_E KC_E
#define IT_F KC_F
#define IT_G KC_G
#define IT_H KC_H
#define IT_I KC_I
#define IT_J KC_J
#define IT_K KC_K
#define IT_L KC_L
#define IT_M KC_M
#define IT_N KC_N
#define IT_O KC_O
#define IT_P KC_P
#define IT_Q KC_Q
#define IT_R KC_R
#define IT_S KC_S
#define IT_T KC_T
#define IT_U KC_U
#define IT_V KC_V
#define IT_W KC_W
#define IT_X KC_X
#define IT_Y KC_Y
#define IT_Z KC_Z
// clang-format off
#define IT_0 KC_0
#define IT_1 KC_1
#define IT_2 KC_2
#define IT_3 KC_3
#define IT_4 KC_4
#define IT_5 KC_5
#define IT_6 KC_6
#define IT_7 KC_7
#define IT_8 KC_8
#define IT_9 KC_9
/*
*
*  <  1  2  3  4  5  6  7  8  9  0  '  ì      
*
*       Q  W  E  R  T  Y  U  I  O  P  è  +  ù 
*
*        A  S  D  F  G  H  J  K  L  ò  à       
*
*          Z  X  C  V  B  N  M  ,  .  -         
*
*                                                    
*
*/
// Row 1
#define IT_LABK KC_GRV // <
#define IT_1 KC_1 // 1
#define IT_2 KC_2 // 2
#define IT_3 KC_3 // 3
#define IT_4 KC_4 // 4
#define IT_5 KC_5 // 5
#define IT_6 KC_6 // 6
#define IT_7 KC_7 // 7
#define IT_8 KC_8 // 8
#define IT_9 KC_9 // 9
#define IT_0 KC_0 // 0
#define IT_QUOT KC_MINS // '
#define IT_IGRV KC_EQL // ì
// Row 2
#define IT_Q KC_Q // Q
#define IT_W KC_W // W
#define IT_E KC_E // E
#define IT_R KC_R // R
#define IT_T KC_T // T
#define IT_Y KC_Y // Y
#define IT_U KC_U // U
#define IT_I KC_I // I
#define IT_O KC_O // O
#define IT_P KC_P // P
#define IT_EGRV KC_LBRC // è
#define IT_PLUS KC_RBRC // +
#define IT_UGRV KC_BSLS // ù
// Row 3
#define IT_A KC_A // A
#define IT_S KC_S // S
#define IT_D KC_D // D
#define IT_F KC_F // F
#define IT_G KC_G // G
#define IT_H KC_H // H
#define IT_J KC_J // J
#define IT_K KC_K // K
#define IT_L KC_L // L
#define IT_OGRV KC_SCLN // ò
#define IT_AGRV KC_QUOT // à
// Row 4
#define IT_BSLS KC_NUBS // (backslash, not physically present)
#define IT_Z KC_Z // Z
#define IT_X KC_X // X
#define IT_C KC_C // C
#define IT_V KC_V // V
#define IT_B KC_B // B
#define IT_N KC_N // N
#define IT_M KC_M // M
#define IT_COMM KC_COMM // ,
#define IT_DOT KC_DOT // .
#define IT_MINS KC_SLSH // -
// punctuation
#define IT_DOT KC_DOT // . and :
#define IT_COMM KC_COMM // , and ;
#define IT_APOS KC_MINS // ' and ?
#define IT_BSLS KC_NUBS // \ and |
#define IT_LESS KC_GRV // < and >
#define IT_MINS KC_SLSH // - and _
/* Shifted symbols
*
*  >  !  " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │     │
*
*                                     é  *  § 
*
*                                   ç  °       
*
*                               ;  :  _         
*
*                                                    
*
*/
// Row 1
#define IT_RABK S(IT_LABK) // >
#define IT_EXLM S(IT_1) // !
#define IT_DQUO S(IT_2) // "
#define IT_PND S(IT_3) // £
#define IT_DLR S(IT_4) // $
#define IT_PERC S(IT_5) // %
#define IT_AMPR S(IT_6) // &
#define IT_SLSH S(IT_7) // /
#define IT_LPRN S(IT_8) // (
#define IT_RPRN S(IT_9) // )
#define IT_EQL S(IT_0) // =
#define IT_QUES S(IT_QUOT) // ?
#define IT_CIRC S(IT_IGRV) // ^
// Row 2
#define IT_EACU S(IT_EGRV) // é
#define IT_ASTR S(IT_PLUS) // *
#define IT_SECT S(IT_UGRV) // §
// Row 3
#define IT_LCCE S(IT_OGRV) // ç
#define IT_DEG S(IT_AGRV) // °
// Row 4
#define IT_PIPE S(IT_BSLS) // | (not physically present)
#define IT_SCLN S(IT_COMM) // ;
#define IT_COLN S(IT_DOT) // :
#define IT_UNDS S(IT_MINS) // _
// accented vowels (regular, with shift, with option, with option and shift)
#define IT_EACC KC_LBRC // è, é, [, {
#define IT_PLUS KC_RBRC // +, *, ], }
#define IT_OACC KC_SCLN // ò, ç, @, Ç
#define IT_AACC KC_QUOT // à, °, #, ∞
#define IT_UACC KC_BSLS // ù, §, ¶, ◊
#define IT_IACC KC_EQL // ì, ^, ˆ, ±
/* Alted symbols
*
*    «      ¥  ~    ÷  ´  `    ¡  ˆ      
*
*         Ω    ®    Æ  ¨  Œ  Ø  π  [  ]   
*
*        Å  ß    ƒ      ª  º  ¬  @  #       
*
*              ©      ˜  µ               
*
*                                                    
*
*/
// Row 1
#define IT_LTEQ A(IT_LABK) // ≤
#define IT_LDAQ A(IT_1) // «
#define IT_LDQU A(IT_2) // “
#define IT_LSQU A(IT_3) //
#define IT_YEN A(IT_4) // ¥
#define IT_TILD A(IT_5) // ~
#define IT_LSAQ A(IT_6) //
#define IT_DIV A(IT_7) // ÷
#define IT_ACUT A(IT_8) // ´ (dead)
#define IT_DGRV A(IT_9) // ` (dead)
#define IT_NEQL A(IT_0) // ≠
#define IT_IEXL A(IT_QUOT) // ¡
#define IT_DCIR A(IT_IGRV) // ˆ (dead)
// Row 2
#define IT_DLQU A(IT_Q) // „
#define IT_OMEG A(IT_W) // Ω
#define IT_EURO A(IT_E) // €
#define IT_REGD A(IT_R) // ®
#define IT_TM A(IT_T) // ™
#define IT_AE A(IT_Y) // Æ
#define IT_DIAE A(IT_U) // ¨ (dead)
#define IT_OE A(IT_I) // Œ
#define IT_OSTR A(IT_O) // Ø
#define IT_PI A(IT_P) // π
#define IT_LBRC A(IT_EGRV) // [
#define IT_RBRC A(IT_PLUS) // ]
// Row 3
#define IT_ARNG A(IT_A) // Å
#define IT_SS A(IT_S) // ß
#define IT_PDIF A(IT_D) // ∂
#define IT_FHK A(IT_F) // ƒ
#define IT_INFN A(IT_G) // ∞
#define IT_INCR A(IT_H) // ∆
#define IT_FORD A(IT_J) // ª
#define IT_MORD A(IT_K) // º
#define IT_NOT A(IT_L) // ¬
#define IT_AT A(IT_OGRV) // @
#define IT_HASH A(IT_AGRV) // #
#define IT_PILC A(IT_UGRV) // ¶
// Row 4
#define IT_GRV A(IT_BSLS) // ` (not physically present)
#define IT_NARS A(IT_Z) // ∑
#define IT_DAGG A(IT_X) // †
#define IT_COPY A(IT_C) // ©
#define IT_SQRT A(IT_V) // √
#define IT_INTG A(IT_B) // ∫
#define IT_STIL A(IT_N) // ˜ (dead)
#define IT_MICR A(IT_M) // µ
#define IT_ELLP A(IT_COMM) // …
#define IT_BULT A(IT_DOT) // •
#define IT_NDSH A(IT_MINS) //
// shifted characters
#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_DEGR LSFT(IT_AACC) // °
#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_LCBR LSFT(IT_LBRC) // {
#define IT_RCBR LSFT(IT_RBRC) // }
#define IT_PIPE LSFT(IT_BSLS) // |
/* Shift+Alted symbols
*
*    »      ¢               ¿  ±      
*
*         À  È  Ì  Ò     Ù          {  }   
*
*           ¯  ˘  ˙  ˚  ¸  ˝  ˛  ˇ  Ç         
*
*               Á  É  Í  Ó  Ú     ·           
*
*                                                    
*
*/
// Row 1
#define IT_GTEQ S(A(IT_LABK)) // ≥
#define IT_RDAQ S(A(IT_1)) // »
#define IT_RDQU S(A(IT_2)) // ”
#define IT_RSQU S(A(IT_3)) //
#define IT_CENT S(A(IT_4)) // ¢
#define IT_PERM S(A(IT_5)) // ‰
#define IT_RSAQ S(A(IT_6)) //
#define IT_FRSL S(A(IT_7)) //
#define IT_APPL S(A(IT_8)) //  (Apple logo)
#define IT_AEQL S(A(IT_0)) // ≈
#define IT_IQUE S(A(IT_QUOT)) // ¿
#define IT_PLMN S(A(IT_IGRV)) // ±
// Row 2
#define IT_SLQU S(A(IT_Q)) //
#define IT_CAGR S(A(IT_W)) // À
#define IT_CEGR S(A(IT_E)) // È
#define IT_CIGR S(A(IT_R)) // Ì
#define IT_COGR S(A(IT_T)) // Ò
#define IT_CUGR S(A(IT_U)) // Ù
#define IT_NARP S(A(IT_P)) // ∏
#define IT_LCBR S(A(IT_EGRV)) // {
#define IT_RCBR S(A(IT_PLUS)) // }
#define IT_LOZN S(A(IT_UGRV)) // ◊
// Row 3
#define IT_MACR S(A(IT_S)) // ¯
#define IT_BREV S(A(IT_D)) // ˘
#define IT_DOTA S(A(IT_F)) // ˙
#define IT_RGNA S(A(IT_G)) // ˚
#define IT_CEDL S(A(IT_H)) // ¸
#define IT_DACU S(A(IT_J)) // ˝
#define IT_OGON S(A(IT_K)) // ˛
#define IT_CARN S(A(IT_L)) // ˇ
#define IT_CCCE S(A(IT_OGRV)) // Ç
// Row 4
#define IT_DDAG S(A(IT_X)) // ‡
#define IT_CAAC S(A(IT_C)) // Á
#define IT_CEAC S(A(IT_V)) // É
#define IT_CIAC S(A(IT_B)) // Í
#define IT_COAC S(A(IT_N)) // Ó
#define IT_CUAC S(A(IT_M)) // Ú
#define IT_MDDT S(A(IT_DOT)) // ·
#define IT_MDSH S(A(IT_MINS)) // —
// Alt -ed characters
#define IT_LBRC LALT(IT_EACC) // [
#define IT_RBRC LALT(IT_PLUS) // ]
#define IT_AT LALT(IT_OACC) // @
#define IT_EURO LALT(KC_E) // €
#define IT_SHRP LALT(IT_AACC) // #
#define IT_ACUT LALT(KC_8) // ´
#define IT_GRAVE LALT(KC_9) // `
#define IT_TILDE LALT(KC_5) // ~
#define IT_PLMN LALT(LSFT(IT_IACC)) // ±
#endif
// DEPRECATED
#define IT_LESS IT_LABK
#define IT_APOS IT_QUOT
#define IT_IACC IT_IGRV
#define IT_EACC IT_EGRV
#define IT_UACC IT_UGRV
#define IT_OACC IT_OGRV
#define IT_AACC IT_AGRV
#define IT_MORE IT_RABK
#define IT_DQOT IT_DQUO
#define IT_STRL IT_PND
#define IT_QST IT_QUES
#define IT_CRC IT_CIRC
#define IT_DEGR IT_DEG
#define IT_TILDE IT_TILD
#define IT_GRAVE IT_GRV
#define IT_SHRP IT_HASH

View file

@ -14,100 +14,256 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// This is a clone of quantum/keymap_extra/keymap_italian.h intended to be used with Apple devices
#ifndef KEYMAP_ITALIAN
#define KEYMAP_ITALIAN
#pragma once
#include "keymap.h"
// normal characters
#define IT_A KC_A
#define IT_B KC_B
#define IT_C KC_C
#define IT_D KC_D
#define IT_E KC_E
#define IT_F KC_F
#define IT_G KC_G
#define IT_H KC_H
#define IT_I KC_I
#define IT_J KC_J
#define IT_K KC_K
#define IT_L KC_L
#define IT_M KC_M
#define IT_N KC_N
#define IT_O KC_O
#define IT_P KC_P
#define IT_Q KC_Q
#define IT_R KC_R
#define IT_S KC_S
#define IT_T KC_T
#define IT_U KC_U
#define IT_V KC_V
#define IT_W KC_W
#define IT_X KC_X
#define IT_Y KC_Y
#define IT_Z KC_Z
// clang-format off
#define IT_0 KC_0
#define IT_1 KC_1
#define IT_2 KC_2
#define IT_3 KC_3
#define IT_4 KC_4
#define IT_5 KC_5
#define IT_6 KC_6
#define IT_7 KC_7
#define IT_8 KC_8
#define IT_9 KC_9
/*
*
*  \  1  2  3  4  5  6  7  8  9  0  '  ì      
*
*       Q  W  E  R  T  Y  U  I  O  P  è  +    
*   
*        A  S  D  F  G  H  J  K  L  ò  à  ù   
*
*      <  Z  X  C  V  B  N  M  ,  .  -         
*
*                                                    
*
*/
// Row 1
#define IT_BSLS KC_GRV // (backslash)
#define IT_1 KC_1 // 1
#define IT_2 KC_2 // 2
#define IT_3 KC_3 // 3
#define IT_4 KC_4 // 4
#define IT_5 KC_5 // 5
#define IT_6 KC_6 // 6
#define IT_7 KC_7 // 7
#define IT_8 KC_8 // 8
#define IT_9 KC_9 // 9
#define IT_0 KC_0 // 0
#define IT_QUOT KC_MINS // '
#define IT_IGRV KC_EQL // ì
// Row 2
#define IT_Q KC_Q // Q
#define IT_W KC_W // W
#define IT_E KC_E // E
#define IT_R KC_R // R
#define IT_T KC_T // T
#define IT_Y KC_Y // Y
#define IT_U KC_U // U
#define IT_I KC_I // I
#define IT_O KC_O // O
#define IT_P KC_P // P
#define IT_EGRV KC_LBRC // è
#define IT_PLUS KC_RBRC // +
// Row 3
#define IT_A KC_A // A
#define IT_S KC_S // S
#define IT_D KC_D // D
#define IT_F KC_F // F
#define IT_G KC_G // G
#define IT_H KC_H // H
#define IT_J KC_J // J
#define IT_K KC_K // K
#define IT_L KC_L // L
#define IT_OGRV KC_SCLN // ò
#define IT_AGRV KC_QUOT // à
#define IT_UGRV KC_NUHS // ù
// Row 4
#define IT_LABK KC_NUBS // <
#define IT_Z KC_Z // Z
#define IT_X KC_X // X
#define IT_C KC_C // C
#define IT_V KC_V // V
#define IT_B KC_B // B
#define IT_N KC_N // N
#define IT_M KC_M // M
#define IT_COMM KC_COMM // ,
#define IT_DOT KC_DOT // .
#define IT_MINS KC_SLSH // -
// punctuation
#define IT_DOT KC_DOT // . and :
#define IT_COMM KC_COMM // , and ;
#define IT_APOS KC_MINS // ' and ?
#define IT_BSLS KC_GRV // \ and |
#define IT_LESS KC_NUBS // < and >
#define IT_MINS KC_SLSH // - and _
/* Shifted symbols
*
*  |  !  " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │     │
*
*                                     é  *    
*   
*                                   ç  °  §   
*
*      >                       ;  :  _         
*
*                                                    
*
*/
// Row 1
#define IT_PIPE S(IT_BSLS) // |
#define IT_EXLM S(IT_1) // !
#define IT_DQUO S(IT_2) // "
#define IT_PND S(IT_3) // £
#define IT_DLR S(IT_4) // $
#define IT_PERC S(IT_5) // %
#define IT_AMPR S(IT_6) // &
#define IT_SLSH S(IT_7) // /
#define IT_LPRN S(IT_8) // (
#define IT_RPRN S(IT_9) // )
#define IT_EQL S(IT_0) // =
#define IT_QUES S(IT_QUOT) // ?
#define IT_CIRC S(IT_IGRV) // ^
// Row 2
#define IT_EACU S(IT_EGRV) // é
#define IT_ASTR S(IT_PLUS) // *
// Row 3
#define IT_LCCE S(IT_OGRV) // ç
#define IT_DEG S(IT_AGRV) // °
#define IT_SECT S(IT_UGRV) // §
// Row 4
#define IT_RABK S(IT_LABK) // >
#define IT_SCLN S(IT_COMM) // ;
#define IT_COLN S(IT_DOT) // :
#define IT_UNDS S(IT_MINS) // _
// accented vowels (regular, with shift, with option, with option and shift)
#define IT_EACC KC_LBRC // è, é, [, {
#define IT_PLUS KC_RBRC // +, *, ], }
#define IT_OACC KC_SCLN // ò, ç, @, Ç
#define IT_AACC KC_QUOT // à, °, #, ∞
#define IT_UACC KC_BSLS // ù, §, ¶, ◊
#define IT_IACC KC_EQL // ì, ^, ˆ, ±
/* Alted symbols
*
*  `  «      ¥  ~    ÷  ´  `    ¡  ˆ      
*
*         Ω    ®    Æ  ¨  Œ  Ø  π  [  ]    
*   
*        Å  ß    ƒ      ª  º  ¬  @  #     
*
*            ©      ˜  µ               
*
*                                                    
*
*/
// Row 1
#define IT_GRV A(IT_BSLS) // `
#define IT_LDAQ A(IT_1) // «
#define IT_LDQU A(IT_2) // “
#define IT_LSQU A(IT_3) //
#define IT_YEN A(IT_4) // ¥
#define IT_TILD A(IT_5) // ~
#define IT_LSAQ A(IT_6) //
#define IT_DIV A(IT_7) // ÷
#define IT_ACUT A(IT_8) // ´ (dead)
#define IT_DGRV A(IT_9) // ` (dead)
#define IT_NEQL A(IT_0) // ≠
#define IT_IEXL A(IT_QUOT) // ¡
#define IT_DCIR A(IT_IGRV) // ˆ (dead)
// Row 2
#define IT_DLQU A(IT_Q) // „
#define IT_OMEG A(IT_W) // Ω
#define IT_EURO A(IT_E) // €
#define IT_REGD A(IT_R) // ®
#define IT_TM A(IT_T) // ™
#define IT_AE A(IT_Y) // Æ
#define IT_DIAE A(IT_U) // ¨ (dead)
#define IT_OE A(IT_I) // Œ
#define IT_OSTR A(IT_O) // Ø
#define IT_PI A(IT_P) // π
#define IT_LBRC A(IT_EGRV) // [
#define IT_RBRC A(IT_PLUS) // ]
// Row 3
#define IT_ARNG A(IT_A) // Å
#define IT_SS A(IT_S) // ß
#define IT_PDIF A(IT_D) // ∂
#define IT_FHK A(IT_F) // ƒ
#define IT_INFN A(IT_G) // ∞
#define IT_INCR A(IT_H) // ∆
#define IT_FORD A(IT_J) // ª
#define IT_MORD A(IT_K) // º
#define IT_NOT A(IT_L) // ¬
#define IT_AT A(IT_OGRV) // @
#define IT_HASH A(IT_AGRV) // #
#define IT_PILC A(IT_UGRV) // ¶
// Row 4
#define IT_LTEQ L(IT_LABK) // ≤
#define IT_NARS L(IT_Z) // ∑
#define IT_DAGG L(IT_X) // †
#define IT_COPY L(IT_C) // ©
#define IT_SQRT L(IT_V) // √
#define IT_INTG L(IT_B) // ∫
#define IT_STIL L(IT_N) // ˜ (dead)
#define IT_MICR L(IT_M) // µ
#define IT_ELLP L(IT_COMM) // …
#define IT_BULT L(IT_DOT) // •
#define IT_NDSH L(IT_MINS) //
// shifted characters
#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_DEGR LSFT(IT_AACC) // °
#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_LCBR LSFT(IT_LBRC) // {
#define IT_RCBR LSFT(IT_RBRC) // }
#define IT_PIPE LSFT(IT_BSLS) // |
/* Shift+Alted symbols
*
*  ı  »      ¢               ¿  ±      
*
*         À  È  Ì  Ò     Ù          {  }    
*   
*           ¯  ˘  ˙  ˚  ¸  ˝  ˛  ˇ  Ç        
*
*             Á  É  Í  Ó  Ú     ·           
*
*                                                    
*
*/
// Row 1
#define IT_DLSI S(A(IT_BSLS)) // ı
#define IT_RDAQ S(A(IT_1)) // »
#define IT_RDQU S(A(IT_2)) // ”
#define IT_RSQU S(A(IT_3)) //
#define IT_CENT S(A(IT_4)) // ¢
#define IT_PERM S(A(IT_5)) // ‰
#define IT_RSAQ S(A(IT_6)) //
#define IT_FRSL S(A(IT_7)) //
#define IT_APPL S(A(IT_8)) //  (Apple logo)
#define IT_AEQL S(A(IT_0)) // ≈
#define IT_IQUE S(A(IT_QUOT)) // ¿
#define IT_PLMN S(A(IT_IGRV)) // ±
// Row 2
#define IT_SLQU S(A(IT_Q)) //
#define IT_CAGR S(A(IT_W)) // À
#define IT_CEGR S(A(IT_E)) // È
#define IT_CIGR S(A(IT_R)) // Ì
#define IT_COGR S(A(IT_T)) // Ò
#define IT_CUGR S(A(IT_U)) // Ù
#define IT_NARP S(A(IT_P)) // ∏
#define IT_LCBR S(A(IT_EGRV)) // {
#define IT_RCBR S(A(IT_PLUS)) // }
// Row 3
#define IT_MACR S(A(IT_S)) // ¯
#define IT_BREV S(A(IT_D)) // ˘
#define IT_DOTA S(A(IT_F)) // ˙
#define IT_RNGA S(A(IT_G)) // ˚
#define IT_CEDL S(A(IT_H)) // ¸
#define IT_DACU S(A(IT_J)) // ˝
#define IT_OGON S(A(IT_K)) // ˛
#define IT_CARN S(A(IT_L)) // ˇ
#define IT_CCCE S(A(IT_OGRV)) // Ç
#define IT_LOZN S(A(IT_UGRV)) // ◊
// Row 4
#define IT_GTEQ S(A(IT_LABK)) // ≥
#define IT_DDAG S(A(IT_X)) // ‡
#define IT_CAAC S(A(IT_C)) // Á
#define IT_CEAC S(A(IT_V)) // É
#define IT_CIAC S(A(IT_B)) // Í
#define IT_COAC S(A(IT_N)) // Ó
#define IT_CUAC S(A(IT_M)) // Ú
#define IT_MDDT S(A(IT_DOT)) // ·
#define IT_MDSH S(A(IT_MINS)) // —
// Alt -ed characters
#define IT_LBRC LALT(IT_EACC) // [
#define IT_RBRC LALT(IT_PLUS) // ]
#define IT_AT LALT(IT_OACC) // @
#define IT_EURO LALT(KC_E) // €
#define IT_SHRP LALT(IT_AACC) // #
#define IT_ACUT LALT(KC_8) // ´
#define IT_GRAVE LALT(KC_9) // `
#define IT_TILDE LALT(KC_5) // ~
#define IT_PLMN LALT(LSFT(IT_IACC)) // ±
#endif
// DEPRECATED
#define IT_APOS IT_QUOT
#define IT_IACC IT_IGRV
#define IT_EACC IT_EGRV
#define IT_OACC IT_OGRV
#define IT_AACC IT_AGRV
#define IT_UACC IT_UGRV
#define IT_LESS IT_LABK
#define IT_DQOT IT_DQUO
#define IT_STRL IT_PND
#define IT_QST IT_QUES
#define IT_CRC IT_CIRC
#define IT_DEGR IT_DEG
#define IT_MORE IT_RABK
#define IT_TILDE IT_TILD
#define IT_GRAVE IT_GRV
#define IT_SHRP IT_HASH

View file

@ -0,0 +1,100 @@
/* Copyright 2020
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Sendstring lookup tables for macOS Italian ANSI layouts
#pragma once
#include "keymap_italian_osx_ansi.h"
#include "quantum.h"
// clang-format off
const uint8_t ascii_to_shift_lut[16] PROGMEM = {
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 0),
KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1),
KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1),
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 1, 1),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0)
};
const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0),
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0)
};
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
// NUL SOH STX ETX EOT ENQ ACK BEL
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// BS TAB LF VT FF CR SO SI
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// CAN EM SUB ESC FS GS RS US
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, IT_1, IT_2, IT_AGRV, IT_4, IT_5, IT_6, IT_QUOT,
// ( ) * + , - . /
IT_8, IT_9, IT_PLUS, IT_PLUS, IT_COMM, IT_MINS, IT_DOT, IT_7,
// 0 1 2 3 4 5 6 7
IT_0, IT_1, IT_2, IT_3, IT_4, IT_5, IT_6, IT_7,
// 8 9 : ; < = > ?
IT_8, IT_9, IT_DOT, IT_COMM, IT_LABK, IT_0, IT_LABK, IT_QUOT,
// @ A B C D E F G
IT_OGRV, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G,
// H I J K L M N O
IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O,
// P Q R S T U V W
IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W,
// X Y Z [ \ ] ^ _
IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_IGRV, IT_MINS,
// ` a b c d e f g
IT_BSLS, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G,
// h i j k l m n o
IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O,
// p q r s t u v w
IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W,
// x y z { | } ~ DEL
IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_5, KC_DEL
};

View file

@ -0,0 +1,100 @@
/* Copyright 2020
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Sendstring lookup tables for macOS Italian ISO layouts
#pragma once
#include "keymap_italian_osx_iso.h"
#include "quantum.h"
// clang-format off
const uint8_t ascii_to_shift_lut[16] PROGMEM = {
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 0),
KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1),
KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1),
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 1, 1),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0)
};
const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0),
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0)
};
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
// NUL SOH STX ETX EOT ENQ ACK BEL
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// BS TAB LF VT FF CR SO SI
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// CAN EM SUB ESC FS GS RS US
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & '
KC_SPC, IT_1, IT_2, IT_AGRV, IT_4, IT_5, IT_6, IT_QUOT,
// ( ) * + , - . /
IT_8, IT_9, IT_PLUS, IT_PLUS, IT_COMM, IT_MINS, IT_DOT, IT_7,
// 0 1 2 3 4 5 6 7
IT_0, IT_1, IT_2, IT_3, IT_4, IT_5, IT_6, IT_7,
// 8 9 : ; < = > ?
IT_8, IT_9, IT_DOT, IT_COMM, IT_LABK, IT_0, IT_LABK, IT_QUOT,
// @ A B C D E F G
IT_OGRV, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G,
// H I J K L M N O
IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O,
// P Q R S T U V W
IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W,
// X Y Z [ \ ] ^ _
IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_IGRV, IT_MINS,
// ` a b c d e f g
IT_BSLS, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G,
// h i j k l m n o
IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O,
// p q r s t u v w
IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W,
// x y z { | } ~ DEL
IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_5, KC_DEL
};