175 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // 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
 | ||
| 
 | ||
| // Aliases
 | ||
| #define BP_DLR  KC_GRV  // $
 | ||
| #define BP_DQUO KC_1    // "
 | ||
| #define BP_LDAQ KC_2    // «
 | ||
| #define BP_RDAQ KC_3    // »
 | ||
| #define BP_LPRN KC_4    // (
 | ||
| #define BP_RPRN KC_5    // )
 | ||
| #define BP_AT   KC_6    // @
 | ||
| #define BP_PLUS KC_7    // +
 | ||
| #define BP_MINS KC_8    // -
 | ||
| #define BP_SLSH KC_9    // /
 | ||
| #define BP_ASTR KC_0    // *
 | ||
| #define BP_EQL  KC_MINS // =
 | ||
| #define BP_PERC KC_EQL  // %
 | ||
| #define BP_B    KC_Q    // B
 | ||
| #define BP_EACU KC_W    // É
 | ||
| #define BP_P    KC_E    // P
 | ||
| #define BP_O    KC_R    // O
 | ||
| #define BP_EGRV KC_T    // È
 | ||
| #define BP_DCIR KC_Y    // ^ (dead)
 | ||
| #define BP_V    KC_U    // V
 | ||
| #define BP_D    KC_I    // D
 | ||
| #define BP_L    KC_O    // L
 | ||
| #define BP_J    KC_P    // J
 | ||
| #define BP_Z    KC_LBRC // Z
 | ||
| #define BP_W    KC_RBRC // W
 | ||
| #define BP_A    KC_A    // A
 | ||
| #define BP_U    KC_S    // U
 | ||
| #define BP_I    KC_D    // I
 | ||
| #define BP_E    KC_F    // E
 | ||
| #define BP_COMM KC_G    // ,
 | ||
| #define BP_C    KC_H    // C
 | ||
| #define BP_T    KC_J    // T
 | ||
| #define BP_S    KC_K    // S
 | ||
| #define BP_R    KC_L    // R
 | ||
| #define BP_N    KC_SCLN // N
 | ||
| #define BP_M    KC_QUOT // M
 | ||
| #define BP_CCED KC_BSLS // Ç
 | ||
| #define BP_ECIR KC_NUBS // Ê
 | ||
| #define BP_AGRV KC_Z    // À
 | ||
| #define BP_Y    KC_X    // Y
 | ||
| #define BP_X    KC_C    // X
 | ||
| #define BP_DOT  KC_V    // .
 | ||
| #define BP_K    KC_B    // K
 | ||
| #define BP_QUOT KC_N    // '
 | ||
| #define BP_Q    KC_M    // Q
 | ||
| #define BP_G    KC_COMM // G
 | ||
| #define BP_H    KC_DOT  // H
 | ||
| #define BP_F    KC_SLSH // F
 | ||
| #define BP_HASH S(BP_DLR)  // #
 | ||
| #define BP_1    S(BP_DQUO) // 1
 | ||
| #define BP_2    S(BP_LDAQ) // 2
 | ||
| #define BP_3    S(BP_RDAQ) // 3
 | ||
| #define BP_4    S(BP_LPRN) // 4
 | ||
| #define BP_5    S(BP_RPRN) // 5
 | ||
| #define BP_6    S(BP_AT)   // 6
 | ||
| #define BP_7    S(BP_PLUS) // 7
 | ||
| #define BP_8    S(BP_MINS) // 8
 | ||
| #define BP_9    S(BP_SLSH) // 9
 | ||
| #define BP_0    S(BP_ASTR) // 0
 | ||
| #define BP_DEG  S(BP_EQL)  // °
 | ||
| #define BP_GRV  S(BP_PERC) // `
 | ||
| #define BP_EXLM S(BP_DCIR) // !
 | ||
| #define BP_SCLN S(BP_COMM) // ;
 | ||
| #define BP_COLN S(BP_DOT)  // :
 | ||
| #define BP_QUES S(BP_QUOT) // ?
 | ||
| #define BP_NBSP S(KC_SPC)  // (non-breaking space)
 | ||
| #define BP_NDSH ALGR(BP_DLR)  // –
 | ||
| #define BP_MDSH ALGR(BP_DQUO) // —
 | ||
| #define BP_LABK ALGR(BP_LDAQ) // <
 | ||
| #define BP_RABK ALGR(BP_RDAQ) // >
 | ||
| #define BP_LBRC ALGR(BP_LPRN) // [
 | ||
| #define BP_RBRC ALGR(BP_RPRN) // ]
 | ||
| #define BP_CIRC ALGR(BP_AT)   // ^
 | ||
| #define BP_PLMN ALGR(BP_PLUS) // ±
 | ||
| #define BP_MMNS ALGR(BP_MINS) // −
 | ||
| #define BP_DIV  ALGR(BP_SLSH) // ÷
 | ||
| #define BP_MUL  ALGR(BP_ASTR) // ×
 | ||
| #define BP_NEQL ALGR(BP_EQL)  // ≠
 | ||
| #define BP_PERM ALGR(BP_PERC) // ‰
 | ||
| #define BP_PIPE ALGR(BP_B)    // |
 | ||
| #define BP_ACUT ALGR(BP_EACU) // ´ (dead)
 | ||
| #define BP_AMPR ALGR(BP_P)    // &
 | ||
| #define BP_OE   ALGR(BP_O)    // Œ
 | ||
| #define BP_DGRV ALGR(BP_EGRV) // ` (dead)
 | ||
| #define BP_IEXL ALGR(BP_DCIR) // ¡
 | ||
| #define BP_CARN ALGR(BP_V)    // ˇ (dead)
 | ||
| #define BP_ETH  ALGR(BP_D)    // Ð
 | ||
| #define BP_DSLS ALGR(BP_L)    // / (dead)
 | ||
| #define BP_IJ   ALGR(BP_J)    // IJ
 | ||
| #define BP_SCHW ALGR(BP_Z)    // Ə
 | ||
| #define BP_BREV ALGR(BP_W)    // ˘ (dead)
 | ||
| #define BP_AE   ALGR(BP_A)    // Æ
 | ||
| #define BP_UGRV ALGR(BP_U)    // Ù
 | ||
| #define BP_DIAE ALGR(BP_I)    // ¨ (dead)
 | ||
| #define BP_EURO ALGR(BP_E)    // €
 | ||
| #define BP_COPY ALGR(BP_C)    // ©
 | ||
| #define BP_THRN ALGR(BP_T)    // Þ
 | ||
| #define BP_SS   ALGR(BP_S)    // ẞ
 | ||
| #define BP_REGD ALGR(BP_R)    // ®
 | ||
| #define BP_DTIL ALGR(BP_N)    // ~ (dead)
 | ||
| #define BP_MACR ALGR(BP_M)    // ¯ (dead)
 | ||
| #define BP_CEDL ALGR(BP_CCED) // ¸ (dead)
 | ||
| #define BP_BSLS ALGR(BP_AGRV) // (backslash)
 | ||
| #define BP_LCBR ALGR(BP_Y)    // {
 | ||
| #define BP_RCBR ALGR(BP_X)    // }
 | ||
| #define BP_ELLP ALGR(BP_DOT)  // …
 | ||
| #define BP_TILD ALGR(BP_K)    // ~
 | ||
| #define BP_IQUE ALGR(BP_QUES) // ¿
 | ||
| #define BP_RNGA ALGR(BP_Q)    // ° (dead)
 | ||
| #define BP_DGRK ALGR(BP_G)    // µ (dead Greek key)
 | ||
| #define BP_DAGG ALGR(BP_H)    // †
 | ||
| #define BP_OGON ALGR(BP_F)    // ˛ (dead)
 | ||
| #define BP_UNDS ALGR(KC_SPC)  // _
 | ||
| #define BP_PARA S(ALGR(BP_DLR))  // ¶
 | ||
| #define BP_DLQU S(ALGR(BP_DQUO)) // „
 | ||
| #define BP_LDQU S(ALGR(BP_LDAQ)) // “
 | ||
| #define BP_RDQU S(ALGR(BP_RDAQ)) // ”
 | ||
| #define BP_LEQL S(ALGR(BP_LPRN)) // ≤
 | ||
| #define BP_GEQL S(ALGR(BP_RPRN)) // ≥
 | ||
| #define BP_NOT  S(ALGR(BP_PLUS)) // ¬
 | ||
| #define BP_QRTR S(ALGR(BP_MINS)) // ¼
 | ||
| #define BP_HALF S(ALGR(BP_SLSH)) // ½
 | ||
| #define BP_TQTR S(ALGR(BP_ASTR)) // ¾
 | ||
| #define BP_PRIM S(ALGR(BP_EQL))  // ′
 | ||
| #define BP_DPRM S(ALGR(BP_PERC)) // ″
 | ||
| #define BP_BRKP S(ALGR(BP_B))    // ¦
 | ||
| #define BP_DACU S(ALGR(BP_EACU)) // ˝ (dead)
 | ||
| #define BP_SECT S(ALGR(BP_P))    // §
 | ||
| #define BP_DOTA S(ALGR(BP_I))    // ˙ (dead)
 | ||
| #define BP_CURR S(ALGR(BP_E))    // ¤ (dead)
 | ||
| #define BP_HORN S(ALGR(BP_COMM)) // ̛ (dead)
 | ||
| #define BP_LNGS S(ALGR(BP_C))    // ſ
 | ||
| #define BP_TM   S(ALGR(BP_R))    // ™
 | ||
| #define BP_MORD S(ALGR(BP_M))    // º
 | ||
| #define BP_DCMM S(ALGR(BP_CCED)) // , (dead)
 | ||
| #define BP_LSQU S(ALGR(BP_Y))    // ‘
 | ||
| #define BP_RSQU S(ALGR(BP_X))    // ’
 | ||
| #define BP_MDDT S(ALGR(BP_DOT))  // ·
 | ||
| #define BP_KEYB S(ALGR(BP_K))    // ⌨
 | ||
| #define BP_HOKA S(ALGR(BP_QUOT)) // ̉ (dead)
 | ||
| #define BP_DOTB S(ALGR(BP_Q))    // ̣ (dead)
 | ||
| #define BP_DDAG S(ALGR(BP_H))    // ‡
 | ||
| #define BP_FORD S(ALGR(BP_F))    // ª
 | ||
| #define BP_NNBS S(ALGR(KC_SPC))  // (narrow non-breaking space)
 |