Add latam spanish headers (#22542)
This commit is contained in:
		
							parent
							
								
									57db82445e
								
							
						
					
					
						commit
						ce81801480
					
				
					 5 changed files with 568 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -0,0 +1,339 @@
 | 
			
		|||
{
 | 
			
		||||
    "aliases": {
 | 
			
		||||
/*
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ | │ 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 │ , │ . │ - │          │
 | 
			
		||||
 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
        "KC_GRV": {
 | 
			
		||||
            "key": "ES_PIPE",
 | 
			
		||||
            "label": "|",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_1": {
 | 
			
		||||
            "key": "ES_1",
 | 
			
		||||
            "label": "1",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_2": {
 | 
			
		||||
            "key": "ES_2",
 | 
			
		||||
            "label": "2",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_3": {
 | 
			
		||||
            "key": "ES_3",
 | 
			
		||||
            "label": "3",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_4": {
 | 
			
		||||
            "key": "ES_4",
 | 
			
		||||
            "label": "4",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_5": {
 | 
			
		||||
            "key": "ES_5",
 | 
			
		||||
            "label": "5",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_6": {
 | 
			
		||||
            "key": "ES_6",
 | 
			
		||||
            "label": "6",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_7": {
 | 
			
		||||
            "key": "ES_7",
 | 
			
		||||
            "label": "7",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_8": {
 | 
			
		||||
            "key": "ES_8",
 | 
			
		||||
            "label": "8",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_9": {
 | 
			
		||||
            "key": "ES_9",
 | 
			
		||||
            "label": "9",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_0": {
 | 
			
		||||
            "key": "ES_0",
 | 
			
		||||
            "label": "0",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_MINS": {
 | 
			
		||||
            "key": "ES_QUOT",
 | 
			
		||||
            "label": "'",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_EQL": {
 | 
			
		||||
            "key": "ES_IQUE",
 | 
			
		||||
            "label": "¿",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_Q": {
 | 
			
		||||
            "key": "ES_Q",
 | 
			
		||||
            "label": "Q",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_W": {
 | 
			
		||||
            "key": "ES_W",
 | 
			
		||||
            "label": "W",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_E": {
 | 
			
		||||
            "key": "ES_E",
 | 
			
		||||
            "label": "E",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_R": {
 | 
			
		||||
            "key": "ES_R",
 | 
			
		||||
            "label": "R",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_T": {
 | 
			
		||||
            "key": "ES_T",
 | 
			
		||||
            "label": "T",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_Y": {
 | 
			
		||||
            "key": "ES_Y",
 | 
			
		||||
            "label": "Y",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_U": {
 | 
			
		||||
            "key": "ES_U",
 | 
			
		||||
            "label": "U",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_I": {
 | 
			
		||||
            "key": "ES_I",
 | 
			
		||||
            "label": "I",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_O": {
 | 
			
		||||
            "key": "ES_O",
 | 
			
		||||
            "label": "O",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_P": {
 | 
			
		||||
            "key": "ES_P",
 | 
			
		||||
            "label": "P",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_LBRC": {
 | 
			
		||||
            "key": "ES_ACUT",
 | 
			
		||||
            "label": "´ (dead)",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_RBRC": {
 | 
			
		||||
            "key": "ES_PLUS",
 | 
			
		||||
            "label": "+",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_A": {
 | 
			
		||||
            "key": "ES_A",
 | 
			
		||||
            "label": "A",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_S": {
 | 
			
		||||
            "key": "ES_S",
 | 
			
		||||
            "label": "S",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_D": {
 | 
			
		||||
            "key": "ES_D",
 | 
			
		||||
            "label": "D",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_F": {
 | 
			
		||||
            "key": "ES_F",
 | 
			
		||||
            "label": "F",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_G": {
 | 
			
		||||
            "key": "ES_G",
 | 
			
		||||
            "label": "G",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_H": {
 | 
			
		||||
            "key": "ES_H",
 | 
			
		||||
            "label": "H",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_J": {
 | 
			
		||||
            "key": "ES_J",
 | 
			
		||||
            "label": "J",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_K": {
 | 
			
		||||
            "key": "ES_K",
 | 
			
		||||
            "label": "K",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_L": {
 | 
			
		||||
            "key": "ES_L",
 | 
			
		||||
            "label": "L",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_SCLN": {
 | 
			
		||||
            "key": "ES_NTIL",
 | 
			
		||||
            "label": "Ñ",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_QUOT": {
 | 
			
		||||
            "key": "ES_LCBR",
 | 
			
		||||
            "label": "{",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_NUHS": {
 | 
			
		||||
            "key": "ES_RCBR",
 | 
			
		||||
            "label": "}",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_NUBS": {
 | 
			
		||||
            "key": "ES_LABK",
 | 
			
		||||
            "label": "<",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_Z": {
 | 
			
		||||
            "key": "ES_Z",
 | 
			
		||||
            "label": "Z",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_X": {
 | 
			
		||||
            "key": "ES_X",
 | 
			
		||||
            "label": "X",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_C": {
 | 
			
		||||
            "key": "ES_C",
 | 
			
		||||
            "label": "C",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_V": {
 | 
			
		||||
            "key": "ES_V",
 | 
			
		||||
            "label": "V",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_B": {
 | 
			
		||||
            "key": "ES_B",
 | 
			
		||||
            "label": "B",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_N": {
 | 
			
		||||
            "key": "ES_N",
 | 
			
		||||
            "label": "N",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_M": {
 | 
			
		||||
            "key": "ES_M",
 | 
			
		||||
            "label": "M",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_COMM": {
 | 
			
		||||
            "key": "ES_COMM",
 | 
			
		||||
            "label": ",",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_DOT": {
 | 
			
		||||
            "key": "ES_DOT",
 | 
			
		||||
            "label": ".",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_SLSH": {
 | 
			
		||||
            "key": "ES_MINS",
 | 
			
		||||
            "label": "-",
 | 
			
		||||
        }
 | 
			
		||||
/* Shifted symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ ° │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¡ │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │   │   │   │   │   │   │   │   │   │   │ ¨ │ * │     │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
 | 
			
		||||
 * │      │   │   │   │   │   │   │   │   │   │   │ [ │ ] │    │
 | 
			
		||||
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
 | 
			
		||||
 * │    │ > │   │   │   │   │   │   │   │ ; │ : │ _ │          │
 | 
			
		||||
 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
        "S(ES_PIPE)": {
 | 
			
		||||
            "key": "ES_MORD",
 | 
			
		||||
            "label": "°",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_1)": {
 | 
			
		||||
            "key": "ES_EXLM",
 | 
			
		||||
            "label": "!",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_2)": {
 | 
			
		||||
            "key": "ES_DQUO",
 | 
			
		||||
            "label": "\"",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_3)": {
 | 
			
		||||
            "key": "ES_NUMB",
 | 
			
		||||
            "label": "#",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_4)": {
 | 
			
		||||
            "key": "ES_DLR",
 | 
			
		||||
            "label": "$",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_5)": {
 | 
			
		||||
            "key": "ES_PERC",
 | 
			
		||||
            "label": "%",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_6)": {
 | 
			
		||||
            "key": "ES_AMPR",
 | 
			
		||||
            "label": "&",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_7)": {
 | 
			
		||||
            "key": "ES_SLSH",
 | 
			
		||||
            "label": "/",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_8)": {
 | 
			
		||||
            "key": "ES_LPRN",
 | 
			
		||||
            "label": "(",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_9)": {
 | 
			
		||||
            "key": "ES_RPRN",
 | 
			
		||||
            "label": ")",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_0)": {
 | 
			
		||||
            "key": "ES_EQL",
 | 
			
		||||
            "label": "=",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_QUOT)": {
 | 
			
		||||
            "key": "ES_QUES",
 | 
			
		||||
            "label": "?",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_IQUE)": {
 | 
			
		||||
            "key": "ES_IEXL",
 | 
			
		||||
            "label": "¡",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_ACUT)": {
 | 
			
		||||
            "key": "ES_DIAE",
 | 
			
		||||
            "label": "¨ (dead)",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_PLUS)": {
 | 
			
		||||
            "key": "ES_ASTR",
 | 
			
		||||
            "label": "*",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_LCBR)": {
 | 
			
		||||
            "key": "ES_LBRC",
 | 
			
		||||
            "label": "[",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_RCBR)": {
 | 
			
		||||
            "key": "ES_RBRC",
 | 
			
		||||
            "label": "]",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_LABK)": {
 | 
			
		||||
            "key": "ES_RABK",
 | 
			
		||||
            "label": ">",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_COMM)": {
 | 
			
		||||
            "key": "ES_SCLN",
 | 
			
		||||
            "label": ";",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_DOT)": {
 | 
			
		||||
            "key": "ES_COLN",
 | 
			
		||||
            "label": ":",
 | 
			
		||||
        }
 | 
			
		||||
        "S(ES_MINS)": {
 | 
			
		||||
            "key": "ES_UNDS",
 | 
			
		||||
            "label": "_",
 | 
			
		||||
        }
 | 
			
		||||
/* AltGr symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ ¬ │   │   │   │   │   │   │   │   │   │   │ \ │   │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │ @ │   │   │   │   │   │   │   │   │   │   │ ~ │     │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
 | 
			
		||||
 * │      │   │   │   │   │   │   │   │   │   │   │ ^ │ ` │    │
 | 
			
		||||
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
 | 
			
		||||
 * │    │   │   │   │   │   │   │   │   │   │   │   │          │
 | 
			
		||||
 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
        "ALGR(ES_PIPE)": {
 | 
			
		||||
            "key": "ES_NOT",
 | 
			
		||||
            "label": "¬",
 | 
			
		||||
        }
 | 
			
		||||
        "ALGR(ES_QUOT)": {
 | 
			
		||||
            "key": "ES_BSLS",
 | 
			
		||||
            "label": "\\",
 | 
			
		||||
        }
 | 
			
		||||
        "ALGR(ES_Q)": {
 | 
			
		||||
            "key": "ES_AT",
 | 
			
		||||
            "label": "@",
 | 
			
		||||
        }
 | 
			
		||||
        "ALGR(ES_PLUS)": {
 | 
			
		||||
            "key": "ES_TILD",
 | 
			
		||||
            "label": "~",
 | 
			
		||||
        }
 | 
			
		||||
        "ALGR(ES_LCBR)": {
 | 
			
		||||
            "key": "ES_CIRC",
 | 
			
		||||
            "label": "^",
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -69,9 +69,9 @@ The current list of available languages is:
 | 
			
		|||
| **italian_osx_iso** | **jis** | **latvian** | **lithuanian_azerty** |
 | 
			
		||||
| **lithuanian_qwerty** | **norman** | **norwegian** | **portuguese** |
 | 
			
		||||
| **portuguese_osx_iso** | **romanian** | **serbian_latin** | **slovak** |
 | 
			
		||||
| **slovenian** | **spanish_dvorak** | **spanish** | **swedish** |
 | 
			
		||||
| **turkish_f** | **turkish_q** | **uk** | **us_international** |
 | 
			
		||||
| **workman** | **workman_zxcvm** |
 | 
			
		||||
| **slovenian** | **spanish_dvorak** | **spanish_latin_america** | **spanish** |
 | 
			
		||||
| **swedish** | **turkish_f** | **turkish_q** | **uk** |
 | 
			
		||||
| **us_international** | **workman** | **workman_zxcvm** |
 | 
			
		||||
 | 
			
		||||
### Macro Basics
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,6 +67,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q
 | 
			
		|||
|Slovenian                        |`keymap_slovenian.h`             |`sendstring_slovenian.h`            |
 | 
			
		||||
|Spanish                          |`keymap_spanish.h`               |`sendstring_spanish.h`              |
 | 
			
		||||
|Spanish (Dvorak)                 |`keymap_spanish_dvorak.h`        |`sendstring_spanish_dvorak.h`       |
 | 
			
		||||
|Spanish (Latin America)          |`keymap_spanish_latin_america.h` |`sendstring_spanish_latin_america.h`|
 | 
			
		||||
|Swedish                          |`keymap_swedish.h`               |`sendstring_swedish.h`              |
 | 
			
		||||
|Swedish (macOS, ANSI)            |`keymap_swedish_mac_ansi.h`      |                                    |
 | 
			
		||||
|Swedish (macOS, ISO)             |`keymap_swedish_mac_iso.h`       |                                    |
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										105
									
								
								quantum/keymap_extras/keymap_spanish_latin_america.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								quantum/keymap_extras/keymap_spanish_latin_america.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,105 @@
 | 
			
		|||
// Copyright 2023 QMK
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0-or-later
 | 
			
		||||
 | 
			
		||||
/*******************************************************************************
 | 
			
		||||
  88888888888 888      d8b                .d888 d8b 888               d8b
 | 
			
		||||
      888     888      Y8P               d88P"  Y8P 888               Y8P
 | 
			
		||||
      888     888                        888        888
 | 
			
		||||
      888     88888b.  888 .d8888b       888888 888 888  .d88b.       888 .d8888b
 | 
			
		||||
      888     888 "88b 888 88K           888    888 888 d8P  Y8b      888 88K
 | 
			
		||||
      888     888  888 888 "Y8888b.      888    888 888 88888888      888 "Y8888b.
 | 
			
		||||
      888     888  888 888      X88      888    888 888 Y8b.          888      X88
 | 
			
		||||
      888     888  888 888  88888P'      888    888 888  "Y8888       888  88888P'
 | 
			
		||||
                                                        888                 888
 | 
			
		||||
                                                        888                 888
 | 
			
		||||
                                                        888                 888
 | 
			
		||||
     .d88b.   .d88b.  88888b.   .d88b.  888d888 8888b.  888888 .d88b.   .d88888
 | 
			
		||||
    d88P"88b d8P  Y8b 888 "88b d8P  Y8b 888P"      "88b 888   d8P  Y8b d88" 888
 | 
			
		||||
    888  888 88888888 888  888 88888888 888    .d888888 888   88888888 888  888
 | 
			
		||||
    Y88b 888 Y8b.     888  888 Y8b.     888    888  888 Y88b. Y8b.     Y88b 888
 | 
			
		||||
     "Y88888  "Y8888  888  888  "Y8888  888    "Y888888  "Y888 "Y8888   "Y88888
 | 
			
		||||
         888
 | 
			
		||||
    Y8b d88P
 | 
			
		||||
     "Y88P"
 | 
			
		||||
*******************************************************************************/
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
#include "keycodes.h"
 | 
			
		||||
// clang-format off
 | 
			
		||||
 | 
			
		||||
// Aliases
 | 
			
		||||
#define ES_PIPE KC_GRV  // |
 | 
			
		||||
#define ES_1    KC_1    // 1
 | 
			
		||||
#define ES_2    KC_2    // 2
 | 
			
		||||
#define ES_3    KC_3    // 3
 | 
			
		||||
#define ES_4    KC_4    // 4
 | 
			
		||||
#define ES_5    KC_5    // 5
 | 
			
		||||
#define ES_6    KC_6    // 6
 | 
			
		||||
#define ES_7    KC_7    // 7
 | 
			
		||||
#define ES_8    KC_8    // 8
 | 
			
		||||
#define ES_9    KC_9    // 9
 | 
			
		||||
#define ES_0    KC_0    // 0
 | 
			
		||||
#define ES_QUOT KC_MINS // '
 | 
			
		||||
#define ES_IQUE KC_EQL  // ¿
 | 
			
		||||
#define ES_Q    KC_Q    // Q
 | 
			
		||||
#define ES_W    KC_W    // W
 | 
			
		||||
#define ES_E    KC_E    // E
 | 
			
		||||
#define ES_R    KC_R    // R
 | 
			
		||||
#define ES_T    KC_T    // T
 | 
			
		||||
#define ES_Y    KC_Y    // Y
 | 
			
		||||
#define ES_U    KC_U    // U
 | 
			
		||||
#define ES_I    KC_I    // I
 | 
			
		||||
#define ES_O    KC_O    // O
 | 
			
		||||
#define ES_P    KC_P    // P
 | 
			
		||||
#define ES_ACUT KC_LBRC // ´ (dead)
 | 
			
		||||
#define ES_PLUS KC_RBRC // +
 | 
			
		||||
#define ES_A    KC_A    // A
 | 
			
		||||
#define ES_S    KC_S    // S
 | 
			
		||||
#define ES_D    KC_D    // D
 | 
			
		||||
#define ES_F    KC_F    // F
 | 
			
		||||
#define ES_G    KC_G    // G
 | 
			
		||||
#define ES_H    KC_H    // H
 | 
			
		||||
#define ES_J    KC_J    // J
 | 
			
		||||
#define ES_K    KC_K    // K
 | 
			
		||||
#define ES_L    KC_L    // L
 | 
			
		||||
#define ES_NTIL KC_SCLN // Ñ
 | 
			
		||||
#define ES_LCBR KC_QUOT // {
 | 
			
		||||
#define ES_RCBR KC_NUHS // }
 | 
			
		||||
#define ES_LABK KC_NUBS // <
 | 
			
		||||
#define ES_Z    KC_Z    // Z
 | 
			
		||||
#define ES_X    KC_X    // X
 | 
			
		||||
#define ES_C    KC_C    // C
 | 
			
		||||
#define ES_V    KC_V    // V
 | 
			
		||||
#define ES_B    KC_B    // B
 | 
			
		||||
#define ES_N    KC_N    // N
 | 
			
		||||
#define ES_M    KC_M    // M
 | 
			
		||||
#define ES_COMM KC_COMM // ,
 | 
			
		||||
#define ES_DOT  KC_DOT  // .
 | 
			
		||||
#define ES_MINS KC_SLSH // -
 | 
			
		||||
#define ES_MORD S(ES_PIPE) // °
 | 
			
		||||
#define ES_EXLM S(ES_1)    // !
 | 
			
		||||
#define ES_DQUO S(ES_2)    // "
 | 
			
		||||
#define ES_NUMB S(ES_3)    // #
 | 
			
		||||
#define ES_DLR  S(ES_4)    // $
 | 
			
		||||
#define ES_PERC S(ES_5)    // %
 | 
			
		||||
#define ES_AMPR S(ES_6)    // &
 | 
			
		||||
#define ES_SLSH S(ES_7)    // /
 | 
			
		||||
#define ES_LPRN S(ES_8)    // (
 | 
			
		||||
#define ES_RPRN S(ES_9)    // )
 | 
			
		||||
#define ES_EQL  S(ES_0)    // =
 | 
			
		||||
#define ES_QUES S(ES_QUOT) // ?
 | 
			
		||||
#define ES_IEXL S(ES_IQUE) // ¡
 | 
			
		||||
#define ES_DIAE S(ES_ACUT) // ¨ (dead)
 | 
			
		||||
#define ES_ASTR S(ES_PLUS) // *
 | 
			
		||||
#define ES_LBRC S(ES_LCBR) // [
 | 
			
		||||
#define ES_RBRC S(ES_RCBR) // ]
 | 
			
		||||
#define ES_RABK S(ES_LABK) // >
 | 
			
		||||
#define ES_SCLN S(ES_COMM) // ;
 | 
			
		||||
#define ES_COLN S(ES_DOT)  // :
 | 
			
		||||
#define ES_UNDS S(ES_MINS) // _
 | 
			
		||||
#define ES_NOT  ALGR(ES_PIPE) // ¬
 | 
			
		||||
#define ES_BSLS ALGR(ES_QUOT) // (backslash)
 | 
			
		||||
#define ES_AT   ALGR(ES_Q)    // @
 | 
			
		||||
#define ES_TILD ALGR(ES_PLUS) // ~
 | 
			
		||||
#define ES_CIRC ALGR(ES_LCBR) // ^
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										120
									
								
								quantum/keymap_extras/sendstring_spanish_latin_america.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								quantum/keymap_extras/sendstring_spanish_latin_america.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,120 @@
 | 
			
		|||
/* Copyright 2023 Juan David Díaz
 | 
			
		||||
 *
 | 
			
		||||
 * 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 Latam Spanish layouts
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "send_string.h"
 | 
			
		||||
#include "keymap_spanish_latin_america.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, 1, 1, 0, 1, 1, 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, 1, 0, 1, 0, 1),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 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, 0, 1, 0, 1, 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, 0, 0, 0, 1, 0)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint8_t ascii_to_dead_lut[16] PROGMEM = {
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
 | 
			
		||||
    KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 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,  ES_1,    ES_2,    ES_3,    ES_4,    ES_5,    ES_6,    ES_QUOT,
 | 
			
		||||
    // (     )        *        +        ,        -        .        /
 | 
			
		||||
    ES_8,    ES_9,    ES_PLUS, ES_PLUS, ES_COMM, ES_MINS, ES_DOT,  ES_7,
 | 
			
		||||
    // 0     1        2        3        4        5        6        7
 | 
			
		||||
    ES_0,    ES_1,    ES_2,    ES_3,    ES_4,    ES_5,    ES_6,    ES_7,
 | 
			
		||||
    // 8     9        :        ;        <        =        >        ?
 | 
			
		||||
    ES_8,    ES_9,    ES_DOT,  ES_COMM, ES_LABK, ES_0,    ES_LABK, ES_QUOT,
 | 
			
		||||
    // @     A        B        C        D        E        F        G
 | 
			
		||||
    ES_Q,    ES_A,    ES_B,    ES_C,    ES_D,    ES_E,    ES_F,    ES_G,
 | 
			
		||||
    // H     I        J        K        L        M        N        O
 | 
			
		||||
    ES_H,    ES_I,    ES_J,    ES_K,    ES_L,    ES_M,    ES_N,    ES_O,
 | 
			
		||||
    // P     Q        R        S        T        U        V        W
 | 
			
		||||
    ES_P,    ES_Q,    ES_R,    ES_S,    ES_T,    ES_U,    ES_V,    ES_W,
 | 
			
		||||
    // X     Y        Z        [        \        ]        ^        _
 | 
			
		||||
    ES_X,    ES_Y,    ES_Z,    ES_LCBR, ES_QUOT, ES_RCBR, ES_LCBR, ES_MINS,
 | 
			
		||||
    // `     a        b        c        d        e        f        g
 | 
			
		||||
    ES_RCBR, ES_A,    ES_B,    ES_C,    ES_D,    ES_E,    ES_F,    ES_G,
 | 
			
		||||
    // h     i        j        k        l        m        n        o
 | 
			
		||||
    ES_H,    ES_I,    ES_J,    ES_K,    ES_L,    ES_M,    ES_N,    ES_O,
 | 
			
		||||
    // p     q        r        s        t        u        v        w
 | 
			
		||||
    ES_P,    ES_Q,    ES_R,    ES_S,    ES_T,    ES_U,    ES_V,    ES_W,
 | 
			
		||||
    // x     y        z        {        |        }        ~        DEL
 | 
			
		||||
    ES_X,    ES_Y,    ES_Z,    ES_LCBR, ES_PIPE, ES_RCBR, ES_PLUS, KC_DEL
 | 
			
		||||
};
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue