mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	Initial uk+us DD keymap_extras migration (#19031)
This commit is contained in:
		
							parent
							
								
									6133b08e73
								
							
						
					
					
						commit
						9bc7e9afbd
					
				
							
								
								
									
										353
									
								
								data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										353
									
								
								data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,353 @@
 | 
			
		||||
{
 | 
			
		||||
    "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": "UK_GRV",
 | 
			
		||||
            "label": "`"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_1": {
 | 
			
		||||
            "key": "UK_1",
 | 
			
		||||
            "label": "1"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_2": {
 | 
			
		||||
            "key": "UK_2",
 | 
			
		||||
            "label": "2"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_3": {
 | 
			
		||||
            "key": "UK_3",
 | 
			
		||||
            "label": "3"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_4": {
 | 
			
		||||
            "key": "UK_4",
 | 
			
		||||
            "label": "4"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_5": {
 | 
			
		||||
            "key": "UK_5",
 | 
			
		||||
            "label": "5"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_6": {
 | 
			
		||||
            "key": "UK_6",
 | 
			
		||||
            "label": "6"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_7": {
 | 
			
		||||
            "key": "UK_7",
 | 
			
		||||
            "label": "7"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_8": {
 | 
			
		||||
            "key": "UK_8",
 | 
			
		||||
            "label": "8"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_9": {
 | 
			
		||||
            "key": "UK_9",
 | 
			
		||||
            "label": "9"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_0": {
 | 
			
		||||
            "key": "UK_0",
 | 
			
		||||
            "label": "0"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_MINS": {
 | 
			
		||||
            "key": "UK_MINS",
 | 
			
		||||
            "label": "-"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_EQL": {
 | 
			
		||||
            "key": "UK_EQL",
 | 
			
		||||
            "label": "="
 | 
			
		||||
        },
 | 
			
		||||
        "KC_Q": {
 | 
			
		||||
            "key": "UK_Q",
 | 
			
		||||
            "label": "Q"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_W": {
 | 
			
		||||
            "key": "UK_W",
 | 
			
		||||
            "label": "W"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_E": {
 | 
			
		||||
            "key": "UK_E",
 | 
			
		||||
            "label": "E"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_R": {
 | 
			
		||||
            "key": "UK_R",
 | 
			
		||||
            "label": "R"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_T": {
 | 
			
		||||
            "key": "UK_T",
 | 
			
		||||
            "label": "T"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_Y": {
 | 
			
		||||
            "key": "UK_Y",
 | 
			
		||||
            "label": "Y"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_U": {
 | 
			
		||||
            "key": "UK_U",
 | 
			
		||||
            "label": "U"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_I": {
 | 
			
		||||
            "key": "UK_I",
 | 
			
		||||
            "label": "I"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_O": {
 | 
			
		||||
            "key": "UK_O",
 | 
			
		||||
            "label": "O"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_P": {
 | 
			
		||||
            "key": "UK_P",
 | 
			
		||||
            "label": "P"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_LBRC": {
 | 
			
		||||
            "key": "UK_LBRC",
 | 
			
		||||
            "label": "["
 | 
			
		||||
        },
 | 
			
		||||
        "KC_RBRC": {
 | 
			
		||||
            "key": "UK_RBRC",
 | 
			
		||||
            "label": "]"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_A": {
 | 
			
		||||
            "key": "UK_A",
 | 
			
		||||
            "label": "A"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_S": {
 | 
			
		||||
            "key": "UK_S",
 | 
			
		||||
            "label": "S"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_D": {
 | 
			
		||||
            "key": "UK_D",
 | 
			
		||||
            "label": "D"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_F": {
 | 
			
		||||
            "key": "UK_F",
 | 
			
		||||
            "label": "F"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_G": {
 | 
			
		||||
            "key": "UK_G",
 | 
			
		||||
            "label": "G"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_H": {
 | 
			
		||||
            "key": "UK_H",
 | 
			
		||||
            "label": "H"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_J": {
 | 
			
		||||
            "key": "UK_J",
 | 
			
		||||
            "label": "J"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_K": {
 | 
			
		||||
            "key": "UK_K",
 | 
			
		||||
            "label": "K"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_L": {
 | 
			
		||||
            "key": "UK_L",
 | 
			
		||||
            "label": "L"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_SCLN": {
 | 
			
		||||
            "key": "UK_SCLN",
 | 
			
		||||
            "label": ";"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_QUOT": {
 | 
			
		||||
            "key": "UK_QUOT",
 | 
			
		||||
            "label": "'"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_NUHS": {
 | 
			
		||||
            "key": "UK_HASH",
 | 
			
		||||
            "label": "#"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_NUBS": {
 | 
			
		||||
            "key": "UK_BSLS",
 | 
			
		||||
            "label": "\\"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_Z": {
 | 
			
		||||
            "key": "UK_Z",
 | 
			
		||||
            "label": "Z"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_X": {
 | 
			
		||||
            "key": "UK_X",
 | 
			
		||||
            "label": "X"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_C": {
 | 
			
		||||
            "key": "UK_C",
 | 
			
		||||
            "label": "C"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_V": {
 | 
			
		||||
            "key": "UK_V",
 | 
			
		||||
            "label": "V"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_B": {
 | 
			
		||||
            "key": "UK_B",
 | 
			
		||||
            "label": "B"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_N": {
 | 
			
		||||
            "key": "UK_N",
 | 
			
		||||
            "label": "N"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_M": {
 | 
			
		||||
            "key": "UK_M",
 | 
			
		||||
            "label": "M"
 | 
			
		||||
        },
 | 
			
		||||
        "KC_COMM": {
 | 
			
		||||
            "key": "UK_COMM",
 | 
			
		||||
            "label": ","
 | 
			
		||||
        },
 | 
			
		||||
        "KC_DOT": {
 | 
			
		||||
            "key": "UK_DOT",
 | 
			
		||||
            "label": "."
 | 
			
		||||
        },
 | 
			
		||||
        "KC_SLSH": {
 | 
			
		||||
            "key": "UK_SLSH",
 | 
			
		||||
            "label": "/"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
/* Shifted symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │   │   │   │   │   │   │   │   │   │   │ { │ } │     │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
 | 
			
		||||
 * │      │   │   │   │   │   │   │   │   │   │ : │ @ │ ~ │    │
 | 
			
		||||
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
 | 
			
		||||
 * │    │ | │   │   │   │   │   │   │   │ < │ > │ ? │          │
 | 
			
		||||
 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
        "S(UK_GRV)": {
 | 
			
		||||
            "key": "UK_NOT",
 | 
			
		||||
            "label": "¬"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_1)": {
 | 
			
		||||
            "key": "UK_EXLM",
 | 
			
		||||
            "label": "!"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_2)": {
 | 
			
		||||
            "key": "UK_DQUO",
 | 
			
		||||
            "label": "\""
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_3)": {
 | 
			
		||||
            "key": "UK_PND",
 | 
			
		||||
            "label": "£"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_4)": {
 | 
			
		||||
            "key": "UK_DLR",
 | 
			
		||||
            "label": "$"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_5)": {
 | 
			
		||||
            "key": "UK_PERC",
 | 
			
		||||
            "label": "%"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_6)": {
 | 
			
		||||
            "key": "UK_CIRC",
 | 
			
		||||
            "label": "^"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_7)": {
 | 
			
		||||
            "key": "UK_AMPR",
 | 
			
		||||
            "label": "&"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_8)": {
 | 
			
		||||
            "key": "UK_ASTR",
 | 
			
		||||
            "label": "*"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_9)": {
 | 
			
		||||
            "key": "UK_LPRN",
 | 
			
		||||
            "label": "("
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_0)": {
 | 
			
		||||
            "key": "UK_RPRN",
 | 
			
		||||
            "label": ")"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_MINS)": {
 | 
			
		||||
            "key": "UK_UNDS",
 | 
			
		||||
            "label": "_"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_EQL)": {
 | 
			
		||||
            "key": "UK_PLUS",
 | 
			
		||||
            "label": "+"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_LBRC)": {
 | 
			
		||||
            "key": "UK_LCBR",
 | 
			
		||||
            "label": "{"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_RBRC)": {
 | 
			
		||||
            "key": "UK_RCBR",
 | 
			
		||||
            "label": "}"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_SCLN)": {
 | 
			
		||||
            "key": "UK_COLN",
 | 
			
		||||
            "label": ":"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_QUOT)": {
 | 
			
		||||
            "key": "UK_AT",
 | 
			
		||||
            "label": "@"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_HASH)": {
 | 
			
		||||
            "key": "UK_TILD",
 | 
			
		||||
            "label": "~"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_BSLS)": {
 | 
			
		||||
            "key": "UK_PIPE",
 | 
			
		||||
            "label": "|"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_COMM)": {
 | 
			
		||||
            "key": "UK_LABK",
 | 
			
		||||
            "label": "<"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_DOT)": {
 | 
			
		||||
            "key": "UK_RABK",
 | 
			
		||||
            "label": ">"
 | 
			
		||||
        },
 | 
			
		||||
        "S(UK_SLSH)": {
 | 
			
		||||
            "key": "UK_QUES",
 | 
			
		||||
            "label": "?"
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
/* AltGr symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ ¦ │   │   │   │ € │   │   │   │   │   │   │   │   │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │   │   │ É │   │   │   │ Ú │ Í │ Ó │   │   │   │     │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
 | 
			
		||||
 * │      │ Á │   │   │   │   │   │   │   │   │   │   │   │    │
 | 
			
		||||
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
 | 
			
		||||
 * │    │   │   │   │   │   │   │   │   │   │   │   │          │
 | 
			
		||||
 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
        "ALGR(UK_GRV)": {
 | 
			
		||||
            "key": "UK_BRKP",
 | 
			
		||||
            "label": "¦"
 | 
			
		||||
        },
 | 
			
		||||
        "ALGR(UK_4)": {
 | 
			
		||||
            "key": "UK_EURO",
 | 
			
		||||
            "label": "€"
 | 
			
		||||
        },
 | 
			
		||||
        "ALGR(KC_E)": {
 | 
			
		||||
            "key": "UK_EACU",
 | 
			
		||||
            "label": "É"
 | 
			
		||||
        },
 | 
			
		||||
        "ALGR(KC_U)": {
 | 
			
		||||
            "key": "UK_UACU",
 | 
			
		||||
            "label": "Ú"
 | 
			
		||||
        },
 | 
			
		||||
        "ALGR(KC_I)": {
 | 
			
		||||
            "key": "UK_IACU",
 | 
			
		||||
            "label": "Í"
 | 
			
		||||
        },
 | 
			
		||||
        "ALGR(KC_O)": {
 | 
			
		||||
            "key": "UK_OACU",
 | 
			
		||||
            "label": "Ó"
 | 
			
		||||
        },
 | 
			
		||||
        "ALGR(KC_A)": {
 | 
			
		||||
            "key": "UK_AACU",
 | 
			
		||||
            "label": "Á"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										155
									
								
								data/constants/keycodes/extras/keycodes_us_0.0.1.hjson
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								data/constants/keycodes/extras/keycodes_us_0.0.1.hjson
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,155 @@
 | 
			
		||||
{
 | 
			
		||||
    "aliases": {
 | 
			
		||||
/* Shifted symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │   │   │   │   │   │   │   │   │   │   │ { │ } │  |  │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │      │   │   │   │   │   │   │   │   │   │ : │ " │        │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
 | 
			
		||||
 * │        │   │   │   │   │   │   │   │ < │ > │ ? │          │
 | 
			
		||||
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
        "S(KC_GRAVE)": {
 | 
			
		||||
            "key": "KC_TILD",
 | 
			
		||||
            "label": "~",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_TILDE"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_1)": {
 | 
			
		||||
            "key": "KC_EXLM",
 | 
			
		||||
            "label": "!",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_EXCLAIM"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_2)": {
 | 
			
		||||
            "key": "KC_AT",
 | 
			
		||||
            "label": "@"
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_3)": {
 | 
			
		||||
            "key": "KC_HASH",
 | 
			
		||||
            "label": "#"
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_4)": {
 | 
			
		||||
            "key": "KC_DLR",
 | 
			
		||||
            "label": "$",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_DOLLAR"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_5)": {
 | 
			
		||||
            "key": "KC_PERC",
 | 
			
		||||
            "label": "%",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_PERCENT"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_6)": {
 | 
			
		||||
            "key": "KC_CIRC",
 | 
			
		||||
            "label": "^",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_CIRCUMFLEX"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_7)": {
 | 
			
		||||
            "key": "KC_AMPR",
 | 
			
		||||
            "label": "&",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_AMPERSAND"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_8)": {
 | 
			
		||||
            "key": "KC_ASTR",
 | 
			
		||||
            "label": "*",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_ASTERISK"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_9)": {
 | 
			
		||||
            "key": "KC_LPRN",
 | 
			
		||||
            "label": "(",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_LEFT_PAREN"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_0)": {
 | 
			
		||||
            "key": "KC_RPRN",
 | 
			
		||||
            "label": ")",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_RIGHT_PAREN"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_MINUS)": {
 | 
			
		||||
            "key": "KC_UNDS",
 | 
			
		||||
            "label": "_",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_UNDERSCORE"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_EQUAL)": {
 | 
			
		||||
            "key": "KC_PLUS",
 | 
			
		||||
            "label": "+"
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_LEFT_BRACKET)": {
 | 
			
		||||
            "key": "KC_LCBR",
 | 
			
		||||
            "label": "{",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_LEFT_CURLY_BRACE"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_RIGHT_BRACKET)": {
 | 
			
		||||
            "key": "KC_RCBR",
 | 
			
		||||
            "label": "}",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_RIGHT_CURLY_BRACE"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_BACKSLASH)": {
 | 
			
		||||
            "key": "KC_PIPE",
 | 
			
		||||
            "label": "|"
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_SEMICOLON)": {
 | 
			
		||||
            "key": "KC_COLN",
 | 
			
		||||
            "label": ":",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_COLON"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_QUOTE)": {
 | 
			
		||||
            "key": "KC_DQUO",
 | 
			
		||||
            "label": "\"",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_DOUBLE_QUOTE",
 | 
			
		||||
                "KC_DQT"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_COMMA)": {
 | 
			
		||||
            "key": "KC_LABK",
 | 
			
		||||
            "label": "<",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_LEFT_ANGLE_BRACKET",
 | 
			
		||||
                "KC_LT"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_DOT)": {
 | 
			
		||||
            "key": "KC_RABK",
 | 
			
		||||
            "label": ">",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_RIGHT_ANGLE_BRACKET",
 | 
			
		||||
                "KC_GT"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "S(KC_SLASH)": {
 | 
			
		||||
            "key": "KC_QUES",
 | 
			
		||||
            "label": "?",
 | 
			
		||||
            "aliases": [
 | 
			
		||||
                "KC_QUESTION"
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -11,7 +11,7 @@ from qmk.info import info_json
 | 
			
		||||
from qmk.json_encoders import InfoJSONEncoder
 | 
			
		||||
from qmk.json_schema import json_load
 | 
			
		||||
from qmk.keyboard import find_readme, list_keyboards
 | 
			
		||||
from qmk.keycodes import load_spec, list_versions
 | 
			
		||||
from qmk.keycodes import load_spec, list_versions, list_languages
 | 
			
		||||
 | 
			
		||||
DATA_PATH = Path('data')
 | 
			
		||||
TEMPLATE_PATH = DATA_PATH / 'templates/api/'
 | 
			
		||||
@ -44,6 +44,13 @@ def _resolve_keycode_specs(output_folder):
 | 
			
		||||
        output_file = output_folder / f'constants/keycodes_{version}.json'
 | 
			
		||||
        output_file.write_text(json.dumps(overall, indent=4), encoding='utf-8')
 | 
			
		||||
 | 
			
		||||
    for lang in list_languages():
 | 
			
		||||
        for version in list_versions(lang):
 | 
			
		||||
            overall = load_spec(version, lang)
 | 
			
		||||
 | 
			
		||||
            output_file = output_folder / f'constants/keycodes_{lang}_{version}.json'
 | 
			
		||||
            output_file.write_text(json.dumps(overall, indent=4), encoding='utf-8')
 | 
			
		||||
 | 
			
		||||
    # Purge files consumed by 'load_spec'
 | 
			
		||||
    shutil.rmtree(output_folder / 'constants/keycodes/')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,24 @@ from qmk.path import normpath
 | 
			
		||||
from qmk.keycodes import load_spec
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _render_key(key):
 | 
			
		||||
    width = 7
 | 
			
		||||
    if 'S(' in key:
 | 
			
		||||
        width += len('S()')
 | 
			
		||||
    if 'A(' in key:
 | 
			
		||||
        width += len('A()')
 | 
			
		||||
    if 'RCTL(' in key:
 | 
			
		||||
        width += len('RCTL()')
 | 
			
		||||
    if 'ALGR(' in key:
 | 
			
		||||
        width += len('ALGR()')
 | 
			
		||||
    return key.ljust(width)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _render_label(label):
 | 
			
		||||
    label = label.replace("\\", "(backslash)")
 | 
			
		||||
    return label
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _generate_ranges(lines, keycodes):
 | 
			
		||||
    lines.append('')
 | 
			
		||||
    lines.append('enum qk_keycode_ranges {')
 | 
			
		||||
@ -67,6 +85,22 @@ def _generate_helpers(lines, keycodes):
 | 
			
		||||
        lines.append(f'#define IS_{ group.upper() }_KEYCODE(code) ((code) >= {lo} && (code) <= {hi})')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _generate_aliases(lines, keycodes):
 | 
			
		||||
    lines.append('')
 | 
			
		||||
    lines.append('// Aliases')
 | 
			
		||||
    for key, value in keycodes["aliases"].items():
 | 
			
		||||
        define = _render_key(value.get("key"))
 | 
			
		||||
        val = _render_key(key)
 | 
			
		||||
        label = _render_label(value.get("label"))
 | 
			
		||||
 | 
			
		||||
        lines.append(f'#define {define} {val} // {label}')
 | 
			
		||||
 | 
			
		||||
    lines.append('')
 | 
			
		||||
    for key, value in keycodes["aliases"].items():
 | 
			
		||||
        for alias in value.get("aliases", []):
 | 
			
		||||
            lines.append(f'#define {alias} {value.get("key")}')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@cli.argument('-v', '--version', arg_only=True, required=True, help='Version of keycodes to generate.')
 | 
			
		||||
@cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to')
 | 
			
		||||
@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
 | 
			
		||||
@ -86,3 +120,23 @@ def generate_keycodes(cli):
 | 
			
		||||
 | 
			
		||||
    # Show the results
 | 
			
		||||
    dump_lines(cli.args.output, keycodes_h_lines, cli.args.quiet)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@cli.argument('-v', '--version', arg_only=True, required=True, help='Version of keycodes to generate.')
 | 
			
		||||
@cli.argument('-l', '--lang', arg_only=True, required=True, help='Language of keycodes to generate.')
 | 
			
		||||
@cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to')
 | 
			
		||||
@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
 | 
			
		||||
@cli.subcommand('Used by the make system to generate keymap_{lang}.h from keycodes_{lang}_{version}.json', hidden=True)
 | 
			
		||||
def generate_keycode_extras(cli):
 | 
			
		||||
    """Generates the header file.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    # Build the header file.
 | 
			
		||||
    keycodes_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '#include "keymap.h"', '// clang-format off']
 | 
			
		||||
 | 
			
		||||
    keycodes = load_spec(cli.args.version, cli.args.lang)
 | 
			
		||||
 | 
			
		||||
    _generate_aliases(keycodes_h_lines, keycodes)
 | 
			
		||||
 | 
			
		||||
    # Show the results
 | 
			
		||||
    dump_lines(cli.args.output, keycodes_h_lines, cli.args.quiet)
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,42 @@ from pathlib import Path
 | 
			
		||||
 | 
			
		||||
from qmk.json_schema import deep_update, json_load, validate
 | 
			
		||||
 | 
			
		||||
CONSTANTS_PATH = Path('data/constants/keycodes/')
 | 
			
		||||
CONSTANTS_PATH = Path('data/constants/')
 | 
			
		||||
KEYCODES_PATH = CONSTANTS_PATH / 'keycodes'
 | 
			
		||||
EXTRAS_PATH = KEYCODES_PATH / 'extras'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _find_versions(path, prefix):
 | 
			
		||||
    ret = []
 | 
			
		||||
    for file in path.glob(f'{prefix}_[0-9].[0-9].[0-9].hjson'):
 | 
			
		||||
        ret.append(file.stem.split('_')[-1])
 | 
			
		||||
 | 
			
		||||
    ret.sort(reverse=True)
 | 
			
		||||
    return ret
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _load_fragments(path, prefix, version):
 | 
			
		||||
    file = path / f'{prefix}_{version}.hjson'
 | 
			
		||||
    if not file.exists():
 | 
			
		||||
        raise ValueError(f'Requested keycode spec ({prefix}:{version}) is invalid!')
 | 
			
		||||
 | 
			
		||||
    # Load base
 | 
			
		||||
    spec = json_load(file)
 | 
			
		||||
 | 
			
		||||
    # Merge in fragments
 | 
			
		||||
    fragments = path.glob(f'{prefix}_{version}_*.hjson')
 | 
			
		||||
    for file in fragments:
 | 
			
		||||
        deep_update(spec, json_load(file))
 | 
			
		||||
 | 
			
		||||
    return spec
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _search_path(lang=None):
 | 
			
		||||
    return EXTRAS_PATH if lang else KEYCODES_PATH
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _search_prefix(lang=None):
 | 
			
		||||
    return f'keycodes_{lang}' if lang else 'keycodes'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def _validate(spec):
 | 
			
		||||
@ -19,26 +54,20 @@ def _validate(spec):
 | 
			
		||||
        raise ValueError(f'Keycode spec contains duplicate keycodes! ({",".join(duplicates)})')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def load_spec(version):
 | 
			
		||||
def load_spec(version, lang=None):
 | 
			
		||||
    """Build keycode data from the requested spec file
 | 
			
		||||
    """
 | 
			
		||||
    if version == 'latest':
 | 
			
		||||
        version = list_versions()[0]
 | 
			
		||||
        version = list_versions(lang)[0]
 | 
			
		||||
 | 
			
		||||
    file = CONSTANTS_PATH / f'keycodes_{version}.hjson'
 | 
			
		||||
    if not file.exists():
 | 
			
		||||
        raise ValueError(f'Requested keycode spec ({version}) is invalid!')
 | 
			
		||||
    path = _search_path(lang)
 | 
			
		||||
    prefix = _search_prefix(lang)
 | 
			
		||||
 | 
			
		||||
    # Load base
 | 
			
		||||
    spec = json_load(file)
 | 
			
		||||
 | 
			
		||||
    # Merge in fragments
 | 
			
		||||
    fragments = CONSTANTS_PATH.glob(f'keycodes_{version}_*.hjson')
 | 
			
		||||
    for file in fragments:
 | 
			
		||||
        deep_update(spec, json_load(file))
 | 
			
		||||
    spec = _load_fragments(path, prefix, version)
 | 
			
		||||
 | 
			
		||||
    # Sort?
 | 
			
		||||
    spec['keycodes'] = dict(sorted(spec['keycodes'].items()))
 | 
			
		||||
    spec['keycodes'] = dict(sorted(spec.get('keycodes', {}).items()))
 | 
			
		||||
 | 
			
		||||
    # Validate?
 | 
			
		||||
    _validate(spec)
 | 
			
		||||
@ -46,12 +75,20 @@ def load_spec(version):
 | 
			
		||||
    return spec
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def list_versions():
 | 
			
		||||
def list_versions(lang=None):
 | 
			
		||||
    """Return available versions - sorted newest first
 | 
			
		||||
    """
 | 
			
		||||
    ret = []
 | 
			
		||||
    for file in CONSTANTS_PATH.glob('keycodes_[0-9].[0-9].[0-9].hjson'):
 | 
			
		||||
        ret.append(file.stem.split('_')[1])
 | 
			
		||||
    path = _search_path(lang)
 | 
			
		||||
    prefix = _search_prefix(lang)
 | 
			
		||||
 | 
			
		||||
    return _find_versions(path, prefix)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def list_languages():
 | 
			
		||||
    """Return available languages
 | 
			
		||||
    """
 | 
			
		||||
    ret = set()
 | 
			
		||||
    for file in EXTRAS_PATH.glob('keycodes_*_[0-9].[0-9].[0-9].hjson'):
 | 
			
		||||
        ret.add(file.stem.split('_')[1])
 | 
			
		||||
 | 
			
		||||
    ret.sort(reverse=True)
 | 
			
		||||
    return ret
 | 
			
		||||
 | 
			
		||||
@ -1,39 +1,33 @@
 | 
			
		||||
/* Copyright 2015-2016 Jack Humbert
 | 
			
		||||
 *
 | 
			
		||||
 * 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/>.
 | 
			
		||||
 */
 | 
			
		||||
// Copyright 2022 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 "keymap.h"
 | 
			
		||||
 | 
			
		||||
// clang-format off
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ ` │ 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
 | 
			
		||||
// Aliases
 | 
			
		||||
#define UK_GRV  KC_GRV  // `
 | 
			
		||||
#define UK_1    KC_1    // 1
 | 
			
		||||
#define UK_2    KC_2    // 2
 | 
			
		||||
@ -47,7 +41,6 @@
 | 
			
		||||
#define UK_0    KC_0    // 0
 | 
			
		||||
#define UK_MINS KC_MINS // -
 | 
			
		||||
#define UK_EQL  KC_EQL  // =
 | 
			
		||||
// Row 2
 | 
			
		||||
#define UK_Q    KC_Q    // Q
 | 
			
		||||
#define UK_W    KC_W    // W
 | 
			
		||||
#define UK_E    KC_E    // E
 | 
			
		||||
@ -60,7 +53,6 @@
 | 
			
		||||
#define UK_P    KC_P    // P
 | 
			
		||||
#define UK_LBRC KC_LBRC // [
 | 
			
		||||
#define UK_RBRC KC_RBRC // ]
 | 
			
		||||
// Row 3
 | 
			
		||||
#define UK_A    KC_A    // A
 | 
			
		||||
#define UK_S    KC_S    // S
 | 
			
		||||
#define UK_D    KC_D    // D
 | 
			
		||||
@ -73,7 +65,6 @@
 | 
			
		||||
#define UK_SCLN KC_SCLN // ;
 | 
			
		||||
#define UK_QUOT KC_QUOT // '
 | 
			
		||||
#define UK_HASH KC_NUHS // #
 | 
			
		||||
// Row 4
 | 
			
		||||
#define UK_BSLS KC_NUBS // (backslash)
 | 
			
		||||
#define UK_Z    KC_Z    // Z
 | 
			
		||||
#define UK_X    KC_X    // X
 | 
			
		||||
@ -85,21 +76,6 @@
 | 
			
		||||
#define UK_COMM KC_COMM // ,
 | 
			
		||||
#define UK_DOT  KC_DOT  // .
 | 
			
		||||
#define UK_SLSH KC_SLSH // /
 | 
			
		||||
 | 
			
		||||
/* Shifted symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │   │   │   │   │   │   │   │   │   │   │ { │ } │     │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
 | 
			
		||||
 * │      │   │   │   │   │   │   │   │   │   │ : │ @ │ ~ │    │
 | 
			
		||||
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
 | 
			
		||||
 * │    │ | │   │   │   │   │   │   │   │ < │ > │ ? │          │
 | 
			
		||||
 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
// Row 1
 | 
			
		||||
#define UK_NOT  S(UK_GRV)  // ¬
 | 
			
		||||
#define UK_EXLM S(UK_1)    // !
 | 
			
		||||
#define UK_DQUO S(UK_2)    // "
 | 
			
		||||
@ -113,39 +89,21 @@
 | 
			
		||||
#define UK_RPRN S(UK_0)    // )
 | 
			
		||||
#define UK_UNDS S(UK_MINS) // _
 | 
			
		||||
#define UK_PLUS S(UK_EQL)  // +
 | 
			
		||||
// Row 2
 | 
			
		||||
#define UK_LCBR S(UK_LBRC) // {
 | 
			
		||||
#define UK_RCBR S(UK_RBRC) // }
 | 
			
		||||
// Row 3
 | 
			
		||||
#define UK_COLN S(UK_SCLN) // :
 | 
			
		||||
#define UK_AT   S(UK_QUOT) // @
 | 
			
		||||
#define UK_TILD S(UK_HASH) // ~
 | 
			
		||||
// Row 4
 | 
			
		||||
#define UK_PIPE S(UK_BSLS) // |
 | 
			
		||||
#define UK_LABK S(UK_COMM) // <
 | 
			
		||||
#define UK_RABK S(UK_DOT)  // >
 | 
			
		||||
#define UK_QUES S(UK_SLSH) // ?
 | 
			
		||||
 | 
			
		||||
/* AltGr symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ ¦ │   │   │   │ € │   │   │   │   │   │   │   │   │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │   │   │ É │   │   │   │ Ú │ Í │ Ó │   │   │   │     │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
 | 
			
		||||
 * │      │ Á │   │   │   │   │   │   │   │   │   │   │   │    │
 | 
			
		||||
 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
 | 
			
		||||
 * │    │   │   │   │   │   │   │   │   │   │   │   │          │
 | 
			
		||||
 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
// Row 1
 | 
			
		||||
#define UK_BRKP ALGR(UK_GRV)  // ¦
 | 
			
		||||
#define UK_EURO ALGR(UK_4)    // €
 | 
			
		||||
// Row 2
 | 
			
		||||
#define UK_EACU ALGR(KC_E)    // É
 | 
			
		||||
#define UK_UACU ALGR(KC_U)    // Ú
 | 
			
		||||
#define UK_IACU ALGR(KC_I)    // Í
 | 
			
		||||
#define UK_OACU ALGR(KC_O)    // Ó
 | 
			
		||||
// Row 3
 | 
			
		||||
#define UK_AACU ALGR(KC_A)    // Á
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,52 +1,55 @@
 | 
			
		||||
// Copyright 2022 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 "keymap.h"
 | 
			
		||||
 | 
			
		||||
// clang-format off
 | 
			
		||||
 | 
			
		||||
/* Shifted symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │   │   │   │   │   │   │   │   │   │   │ { │ } │  |  │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │      │   │   │   │   │   │   │   │   │   │ : │ " │        │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
 | 
			
		||||
 * │        │   │   │   │   │   │   │   │ < │ > │ ? │          │
 | 
			
		||||
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
// Row 1
 | 
			
		||||
// Aliases
 | 
			
		||||
#define KC_TILD S(KC_GRAVE) // ~
 | 
			
		||||
#define KC_EXLM S(KC_1)     // !
 | 
			
		||||
#define KC_AT   S(KC_2)     // @
 | 
			
		||||
#define KC_HASH S(KC_3)     // #
 | 
			
		||||
#define KC_DLR  S(KC_4)     // $
 | 
			
		||||
#define KC_PERC S(KC_5)     // %
 | 
			
		||||
#define KC_CIRC S(KC_6)     // ^
 | 
			
		||||
#define KC_AMPR S(KC_7)     // &
 | 
			
		||||
#define KC_ASTR S(KC_8)     // *
 | 
			
		||||
#define KC_LPRN S(KC_9)     // (
 | 
			
		||||
#define KC_RPRN S(KC_0)     // )
 | 
			
		||||
#define KC_EXLM S(KC_1)    // !
 | 
			
		||||
#define KC_AT   S(KC_2)    // @
 | 
			
		||||
#define KC_HASH S(KC_3)    // #
 | 
			
		||||
#define KC_DLR  S(KC_4)    // $
 | 
			
		||||
#define KC_PERC S(KC_5)    // %
 | 
			
		||||
#define KC_CIRC S(KC_6)    // ^
 | 
			
		||||
#define KC_AMPR S(KC_7)    // &
 | 
			
		||||
#define KC_ASTR S(KC_8)    // *
 | 
			
		||||
#define KC_LPRN S(KC_9)    // (
 | 
			
		||||
#define KC_RPRN S(KC_0)    // )
 | 
			
		||||
#define KC_UNDS S(KC_MINUS) // _
 | 
			
		||||
#define KC_PLUS S(KC_EQUAL) // +
 | 
			
		||||
// Row 2
 | 
			
		||||
#define KC_LCBR S(KC_LEFT_BRACKET)  // {
 | 
			
		||||
#define KC_LCBR S(KC_LEFT_BRACKET) // {
 | 
			
		||||
#define KC_RCBR S(KC_RIGHT_BRACKET) // }
 | 
			
		||||
#define KC_PIPE S(KC_BACKSLASH)     // |
 | 
			
		||||
// Row 3
 | 
			
		||||
#define KC_PIPE S(KC_BACKSLASH) // |
 | 
			
		||||
#define KC_COLN S(KC_SEMICOLON) // :
 | 
			
		||||
#define KC_DQUO S(KC_QUOTE)     // "
 | 
			
		||||
// Row 4
 | 
			
		||||
#define KC_DQUO S(KC_QUOTE) // "
 | 
			
		||||
#define KC_LABK S(KC_COMMA) // <
 | 
			
		||||
#define KC_RABK S(KC_DOT)   // >
 | 
			
		||||
#define KC_RABK S(KC_DOT)  // >
 | 
			
		||||
#define KC_QUES S(KC_SLASH) // ?
 | 
			
		||||
 | 
			
		||||
// alias stuff
 | 
			
		||||
#define KC_TILDE KC_TILD
 | 
			
		||||
#define KC_EXCLAIM KC_EXLM
 | 
			
		||||
#define KC_DOLLAR KC_DLR
 | 
			
		||||
@ -57,16 +60,14 @@
 | 
			
		||||
#define KC_LEFT_PAREN KC_LPRN
 | 
			
		||||
#define KC_RIGHT_PAREN KC_RPRN
 | 
			
		||||
#define KC_UNDERSCORE KC_UNDS
 | 
			
		||||
 | 
			
		||||
#define KC_LEFT_CURLY_BRACE KC_LCBR
 | 
			
		||||
#define KC_RIGHT_CURLY_BRACE KC_RCBR
 | 
			
		||||
 | 
			
		||||
#define KC_COLON KC_COLN
 | 
			
		||||
#define KC_DOUBLE_QUOTE KC_DQUO
 | 
			
		||||
#define KC_DQT KC_DQUO
 | 
			
		||||
 | 
			
		||||
#define KC_LEFT_ANGLE_BRACKET KC_LABK
 | 
			
		||||
#define KC_LT KC_LABK
 | 
			
		||||
#define KC_RIGHT_ANGLE_BRACKET KC_RABK
 | 
			
		||||
#define KC_GT KC_RABK
 | 
			
		||||
#define KC_QUESTION KC_QUES
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user