qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

keymap.c (19272B)


      1 // Copyright 2020-2023 alin m elena (@alinelena)
      2 // SPDX-License-Identifier: GPL-2.0-or-later
      3 
      4 #include QMK_KEYBOARD_H
      5 #include "keymap_uk.h"
      6 
      7 const uint32_t unicode_map[] PROGMEM = {
      8     [la]   = 0x03B1,  // α
      9     [lA]   = 0x0307,  //
     10     [lb]   = 0x03B2,  // β
     11     [lB]   = 0x2229,  // ∩
     12     [lc]   = 0x03C7,  // χ
     13     [lC]   = 0x2282,  // ⊂
     14     [ld]   = 0x03B4,  // δ
     15     [lD]   = 0x2202,  // ∂
     16     [le]   = 0x03B5,  // ε
     17     [lE]   = 0x2107,  // ℇ
     18     [lf]   = 0x03C6,  // φ
     19     [lF]   = 0x03C8,  // ψ
     20     [lg]   = 0x03B3,  // γ
     21     [lG]   = 0x0393,  // Γ
     22     [lh]   = 0x210F,  // ℏ
     23     [lH]   = 0x1D4D7, // 𝓗
     24     [li]   = 0x222B,  // ∫
     25     [lI]   = 0x222E,  // ∮
     26     [lj]   = 0x2208,  // ∈
     27     [lJ]   = 0x2209,  // ∉
     28     [lk]   = 0x03F0,  // ϰ
     29     [lK]   = 0x2206,  // ∆
     30     [ll]   = 0x03BB,  // λ
     31     [lL]   = 0x039B,  // Λ
     32     [lm]   = 0x03BC,  // μ
     33     [lM]   = 0x2218,  // ∘
     34     [ln]   = 0x03B7,  // η
     35     [lN]   = 0x222A,  // ∪
     36     [lo]   = 0x221E,  // ∞
     37     [lO]   = 0x2297,  // ⊗
     38     [lp]   = 0x03C0,  // π
     39     [lP]   = 0x220F,  // ∏
     40     [lq]   = 0x03C3,  // σ
     41     [lQ]   = 0x03D5,  // ϕ
     42     [lr]   = 0x03C1,  // ρ
     43     [lR]   = 0x2207,  // ∇
     44     [ls]   = 0x2211,  // ∑
     45     [lS]   = 0x2A0B,  // ⨋
     46     [lt]   = 0x03D1,  // ϑ
     47     [lT]   = 0x03B8,  // θ
     48     [lu]   = 0x03C4,  // τ
     49     [lU]   = 0x2102,  // ℂ
     50     [lv]   = 0x03BD,  // χ
     51     [lV]   = 0x2283,  // ⊃
     52     [lw]   = 0x03C9,  // ω
     53     [lW]   = 0x03A9,  // Ω
     54     [lx]   = 0x03BE,  // ξ
     55     [lX]   = 0x039E,  // Ξ
     56     [ly]   = 0x211d,  // ℝ
     57     [lY]   = 0x2124,  // ℤ
     58     [lz]   = 0x03B6,  // ζ
     59     [lZ]   = 0x2221,  // ∡
     60     [lc1]  = 0x2248,  // ≈
     61     [lC1]  = 0x2249,  // ≉
     62     [lp1]  = 0x00B1,  // ±
     63     [lP1]  = 0x2213,  // ∓
     64     [lq1]  = 0x00D7,  // ×
     65     [lQ1]  = 0x22C5,  // ⋅
     66     [ll1]  = 0x1D53C, // 𝔼
     67     [lL1]  = 0x212b,  // Å
     68     [lk1]  = 0x221D,  // ∝
     69     [lK1]  = 0x2112,  // ℒ
     70     [lbo1] = 0x22DC,  // ⋜
     71     [lbo2] = 0x2260,  // ≠
     72     [lbc1] = 0x22DD,  // ⋝
     73     [lbc2] = 0x2245,  // ≅
     74     [ls1]  = 0x2261,  // ≡
     75     [ls2]  = 0x2262,  // ≢
     76     [ra]   = 0x0103,  // ă
     77     [rA]   = 0x0102,  // Ă
     78     [ra1]  = 0x00E2,  // â
     79     [rA1]  = 0x00C2,  // Â
     80     [rx]   = 0x00E7,  // ç
     81     [rX]   = 0x00C7,  // Ç
     82     [ri]   = 0x00EE,  // î
     83     [rI]   = 0x00CE,  // Î
     84     [rs]   = 0x0219,  // ș⊄
     85     [rS]   = 0x0218,  // Ș
     86     [rt]   = 0x021B,  // ț
     87     [rT]   = 0x021A,  // Ț
     88     [rc]   = 0x2284,  // ⊄
     89     [rC]   = 0x2286,  // ⊆
     90     [rv]   = 0x2285,  // ⊅
     91     [rV]   = 0x2287,  // ⊇
     92     [rb]   = 0x2227,  // ∧
     93     [rB]   = 0x22BC,  // ⊼
     94     [rn]   = 0x2228,  // ∨
     95     [rN]   = 0x22BB,  // ⊻
     96 };
     97 
     98 
     99 // clang-format off
    100 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    101 /*
    102  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
    103  * │ ⎋ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ⌫ │
    104  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    105  * │ ↹ │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │
    106  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    107  * │ # │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ ⏎ │
    108  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    109  * │ ⇧(│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ , │ ↑ │ / │
    110  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    111  * │ ⎈ │mnu│lwr│⎇  │rse│   │   │   │⎇  │ ⇧)│ ← │ ↓ │ → │
    112  * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
    113 shifted symbols
    114  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
    115  * │ ← │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │   │
    116  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    117  * │   │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │
    118  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    119  * │ ~ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ @ │ ⏎ │
    120  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    121  * │ ⇧(│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │   │ / │
    122  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    123  * │   │   │   │   │   │   │   │   │   │ ⇧)│   │   │   │
    124  * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
    125 altgr symbols
    126  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
    127  * │ ← │ ¹ │ ² │ ³ │ € │ ½ │ ¾ │ { │ [ │ ] │ } │ \ │   │
    128  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    129  * │   │ @ │ ſ │ e │ ¶ │ ŧ │ ← │ ↓ │ → │ ø │ þ │ ä │ ã │
    130  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    131  * │ ~ │ æ │ ß │ ð │ đ │ ŋ │ ħ │ ả │ ĸ │ ł │ á │ â │ent│
    132  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    133  * │ ± │ | │ « │ » │ ¢ │ „ │ “ │ ” │ µ │ ─ │ · │   │ ạ̣̣ │
    134  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    135  * │   │   │   │   │   │   │   │   │   │ ° │   │   │   │
    136  * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
    137 altgr shift symbols
    138  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
    139  * │   │ ¡ │ ⅛ │ £ │ ¼ │ ⅜ │ ⅝ │ ⅞ │ ™ │ ± │ ° │ ¿ │   │
    140  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    141  * │   │ Ω │ § │ E │ ® │ Ŧ │ ¥ │ ↑ │ ı │ Ø │ Þ │ å │ ā │
    142  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    143  * │   │ Æ │ ẞ │ Ð │ ª │ Ŋ │ Ħ │ a │ & │ Ł │ ˝a│ ǎ │ent│
    144  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    145  * │ ± │ ¦ │ ‹ │ › │ © │ ‚ │ ‘ │ ’ │ º │ × │ ÷ │   │ ȧ │
    146  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    147  * │   │   │   │   │   │   │   │   │   │ ° │   │   │   │
    148  * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
    149  *
    150 */
    151   [_QW] = LAYOUT_ortho_5x13(
    152        KC_ESC, UK_1   , UK_2    , UK_3   , UK_4    , UK_5  , UK_6  , UK_7  , UK_8   , UK_9   , UK_0   , UK_MINS, KC_BSPC ,
    153        KC_TAB, UK_Q   , UK_W    , UK_E   , UK_R    , UK_T  , UK_Y  , UK_U  , UK_I   , UK_O   , UK_P   , UK_LBRC, UK_RBRC ,
    154       UK_HASH, UK_A   , UK_S    , UK_D   , UK_F    , UK_G  , UK_H  , UK_J  , UK_K   , UK_L   , UK_SCLN, UK_QUOT, KC_ENT  ,
    155       SC_LSPO, UK_BSLS, UK_Z    , UK_X   , UK_C    , UK_V  , UK_B  , UK_N  , UK_M   , UK_COMM, UK_DOT , KC_UP  , UK_SLSH ,
    156       KC_LCTL, KC_LGUI, TT(_LWR), KC_LALT, TT(_RSE), KC_SPC, KC_SPC, KC_SPC, KC_RALT, SC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT),
    157 
    158 /*
    159 raise layer
    160  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
    161  * │ ` │MUT│Vup│Vdn│prv│ply│nxt│EXT│SLP│WAK│PSC│ ⌫ │ = │
    162  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    163  * │   │ σ │ ω │ ε │ ρ │ ϑ │ ℝ │ τ │ ∫ │ ∞ │ π │ ⋜ │ ⋝ │
    164  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    165  * │   │ α │ ∑ │ δ │ φ │ γ │ ℏ │ ∈ │ ϰ │ λ │ 𝔼 │ ∝ │ ⏎ │
    166  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    167  * │ ⇧(│ ≡ │ ζ │ ξ │ χ │ ν │ β │ η │ μ │ ≈ │ ± │   │ × │
    168  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    169  * │   │   │lwr│⎇  │rse│   │   │   │⎇  │ ⇧)│   │   │   │
    170  * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
    171 raise layer shifted
    172  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
    173  * │ ¬ │   │   │   │   │   │   │   │   │   │   │ ⌫ │ + │
    174  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    175  * │MB3│ ϕ │ Ω │ ℇ │ ∇ │ θ │ ℤ │ ℂ │ ∮ │ ⊗ │ ∏ │ ≠ │ ≅ │
    176  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    177  * │MB2│  ̇ │ ⨋ │ ∂ │ ψ │ Γ │ 𝓗 │ ∉ │ ∆ │ Λ │ Å │ ℒ │ ⏎ │
    178  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    179  * │ ⇧(│ ≢ │ ∡ │ Ξ │ ⊂ │ ⊃ │ ∩ │ ∪ │ ∘ │ ≉ │ ∓ │MSU│ ⋅ │
    180  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    181  * │MB1│MB4│lwr│⎇  │rse│   │   │   │⎇  │ ⇧)│MSL│MSD│MSR│
    182  * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
    183 MB - mouse buttons
    184 MS - mouse directions
    185 */
    186  [_LWR] = LAYOUT_ortho_5x13(
    187      KC_GRV ,  KC_MUTE,  KC_VOLU,  KC_VOLD,  KC_MPRV,  KC_MPLY,  KC_MNXT,  G(KC_P),  KC_SLEP,    KC_WAKE,    KC_PSCR,      KC_DEL,      UK_EQL,
    188      MS_BTN3,UP(lq,lQ),UP(lw,lW),UP(le,lE),UP(lr,lR),UP(lt,lT),UP(ly,lY),UP(lu,lU),UP(li,lI),  UP(lo,lO),  UP(lp,lP),     _______,     _______,
    189      MS_BTN2,UP(la,lA),UP(ls,lS),UP(ld,lD),UP(lf,lF),UP(lg,lG),UP(lh,lH),UP(lj,lJ),UP(lk,lK),  UP(ll,lL),UP(ll1,lL1), UP(lk1,lK1),     _______,
    190      _______,  MS_BTN1,UP(lz,lZ),UP(lx,lX),UP(lc,lC),UP(lv,lV),UP(lb,lB),UP(ln,lN),UP(lm,lM),UP(lc1,lC1),UP(lp1,lP1),     MS_UP,   UP(lq1,lQ1),
    191      _______,  MS_BTN4,  _______,  _______,  _______,  _______,  _______,  _______,  _______,    _______,    MS_LEFT,     MS_DOWN,    MS_RGHT),
    192 
    193 /*
    194 lower layer
    195  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
    196  * │ ⎋ │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│
    197  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    198  * │   │ â │   │   │   │ ț │   │   │ î │   │   │   │   │
    199  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    200  * │ ⇪ │ ă │ ș │   │   │   │   │   │   │   │   │   │   │
    201  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    202  * │   │   │   │ ç │ ⊄ │ ⊅ │ ∧ │ ∨ │   │   │   │MWU│   │
    203  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    204  * │   │   │   │   │   │   │   │   │   │   │MWL│MWD│MWR│
    205  * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
    206 MW - mouse wheel
    207 raise layer shifted
    208  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
    209  * │   │   │   │   │   │   │   │   │   │   │   │   │   │
    210  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    211  * │   │ Â │   │   │   │ Ț │   │   │ Î │   │   │   │   │
    212  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    213  * │   │ Ă │ Ș │   │   │   │   │   │   │   │   │   │   │
    214  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    215  * │   │   │   │ Ç │ ⊆ │ ⊇ │ ⊼ │ ⊻ │   │   │   │   │   │
    216  * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
    217  * │   │   │   │   │   │   │   │   │   │   │   │   │   │
    218  * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
    219 */
    220   [_RSE] = LAYOUT_ortho_5x13(
    221       KC_ESC ,    KC_F1  ,   KC_F2  , KC_F3  ,  KC_F4  ,  KC_F5  , KC_F6  , KC_F7  ,  KC_F8  , KC_F9  , KC_F10 , KC_F11 , KC_F12  ,
    222       _______,UP(ra1,rA1),   _______, _______,  _______,UP(rt,rT), _______, _______,UP(ri,rI), _______, _______, _______, _______ ,
    223       KC_CAPS,  UP(ra,rA), UP(rs,rS), _______,  _______,  _______, _______, _______,  _______, _______, _______, _______, _______ ,
    224       _______,    KC_F20 ,   _______, _______,UP(rc,rC),  _______, _______, _______,  _______, _______, _______, MS_WHLU, _______ ,
    225       _______,    _______,   _______, _______,  _______,  _______, _______, _______,  _______, _______, MS_WHLL, MS_WHLD, MS_WHLR),
    226 /*
    227 adj layer
    228  * ┌───┬────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────┬────┐
    229  * │MOD│RMOD│   │   │   │   │   │   │   │   │   │M_T │M_SW│
    230  * ├───┼────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┤
    231  * │HUI│HUD │M_P│   │rst│   │   │   │   │   │   │    │M_SN│
    232  * ├───┼────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┤
    233  * │SAI│SAD │M_B│   │   │   │   │   │   │   │   │    │M_K │
    234  * ├───┼────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┤
    235  * │VAI│VAD │M_R│   │   │   │   │   │   │   │   │    │M_X │
    236  * ├───┼────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┤
    237  * │TOG│    │   │   │   │   │   │   │   │   │   │M_TW│M_G │
    238  * └───┴────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴────┴────┘
    239 */
    240   [_ADJ] = LAYOUT_ortho_5x13(
    241       UG_NEXT, UG_PREV , A(KC_F2), _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T , RGB_M_SW,
    242       UG_HUEU, UG_HUED , RGB_M_P , _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ , RGB_M_SN,
    243       UG_SATU, UG_SATD , RGB_M_B , _______, UC_NEXT, _______, _______, _______, _______, _______, _______, _______ , RGB_M_K ,
    244       UG_VALU, UG_VALD , RGB_M_R , _______, UC_PREV, UC_LINX,  UC_WIN, UC_WINC,  UC_MAC, UC_EMAC, _______, _______ , RGB_M_X ,
    245       UG_TOGG, _______ , _______ , _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_TW, RGB_M_G),
    246 };
    247 // clang-format on
    248 
    249 #if defined(ENCODER_MAP_ENABLE)
    250 const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
    251     [_QW]  = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
    252 #if defined(RGBLIGHT_ENABLE)
    253     [_LWR] = {ENCODER_CCW_CW(UG_HUED, UG_HUEU)},
    254     [_RSE] = {ENCODER_CCW_CW(UG_VALD, UG_VALU)},
    255     [_ADJ] = {ENCODER_CCW_CW(UG_PREV, UG_NEXT)},
    256 #else
    257     [_LWR] = {ENCODER_CCW_CW(KC_MNXT, KC_MPRV)},
    258     [_RSE] = {ENCODER_CCW_CW(KC_MFFD, KC_MRWD)},
    259     [_ADJ] = {ENCODER_CCW_CW(KC_PGDN, KC_PGUP)},
    260 #endif
    261 };
    262 #endif