sxkbd

Firmware for RP2040-based corne split keyboard
git clone https://git.sinitax.com/sinitax/sxkbd
Log | Files | Refs | Submodules | README | LICENSE | sfeed.txt

keyboard_de.h (7532B)


      1#pragma once
      2
      3#include "keysym.h"
      4#include "hid/keyboard.h"
      5
      6/*
      7 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
      8 * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │       │
      9 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
     10 * │     │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │     │
     11 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
     12 * │      │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │    │
     13 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
     14 * │    │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │          │
     15 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
     16 * │    │    │    │                        │    │    │    │    │
     17 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
     18 */
     19
     20/* Row 1 */
     21#define DE_CIRC KC_GRV  // ^ (dead)
     22#define DE_1    KC_1    // 1
     23#define DE_2    KC_2    // 2
     24#define DE_3    KC_3    // 3
     25#define DE_4    KC_4    // 4
     26#define DE_5    KC_5    // 5
     27#define DE_6    KC_6    // 6
     28#define DE_7    KC_7    // 7
     29#define DE_8    KC_8    // 8
     30#define DE_9    KC_9    // 9
     31#define DE_0    KC_0    // 0
     32#define DE_SS   KC_MINS // ß
     33#define DE_ACUT KC_EQL  // ´ (dead)
     34
     35/* Row 2 */
     36#define DE_Q    KC_Q    // Q
     37#define DE_W    KC_W    // W
     38#define DE_E    KC_E    // E
     39#define DE_R    KC_R    // R
     40#define DE_T    KC_T    // T
     41#define DE_Z    KC_Y    // Z
     42#define DE_U    KC_U    // U
     43#define DE_I    KC_I    // I
     44#define DE_O    KC_O    // O
     45#define DE_P    KC_P    // P
     46#define DE_UDIA KC_LBRC // Ü
     47#define DE_PLUS KC_RBRC // +
     48
     49/* Row 3 */
     50#define DE_A    KC_A    // A
     51#define DE_S    KC_S    // S
     52#define DE_D    KC_D    // D
     53#define DE_F    KC_F    // F
     54#define DE_G    KC_G    // G
     55#define DE_H    KC_H    // H
     56#define DE_J    KC_J    // J
     57#define DE_K    KC_K    // K
     58#define DE_L    KC_L    // L
     59#define DE_ODIA KC_SCLN // Ö
     60#define DE_ADIA KC_QUOT // Ä
     61#define DE_HASH KC_NUHS // #
     62
     63/* Row 4 */
     64#define DE_LABK KC_NUBS // <
     65#define DE_Y    KC_Z    // Y
     66#define DE_X    KC_X    // X
     67#define DE_C    KC_C    // C
     68#define DE_V    KC_V    // V
     69#define DE_B    KC_B    // B
     70#define DE_N    KC_N    // N
     71#define DE_M    KC_M    // M
     72#define DE_COMM KC_COMM // ,
     73#define DE_DOT  KC_DOT  // .
     74#define DE_MINS KC_SLSH // -
     75
     76
     77/* Shifted symbols
     78 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
     79 * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │       │
     80 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
     81 * │     │   │   │   │   │   │   │   │   │   │   │   │ * │     │
     82 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
     83 * │      │   │   │   │   │   │   │   │   │   │   │   │ ' │    │
     84 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
     85 * │    │ > │   │   │   │   │   │   │   │ ; │ : │ _ │          │
     86 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
     87 * │    │    │    │                        │    │    │    │    │
     88 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
     89 */
     90
     91/* Row 1 */
     92#define DE_DEG  S(DE_CIRC) // °
     93#define DE_EXLM S(DE_1)    // !
     94#define DE_DQUO S(DE_2)    // "
     95#define DE_SECT S(DE_3)    // §
     96#define DE_DLR  S(DE_4)    // $
     97#define DE_PERC S(DE_5)    // %
     98#define DE_AMPR S(DE_6)    // &
     99#define DE_SLSH S(DE_7)    // /
    100#define DE_LPRN S(DE_8)    // (
    101#define DE_RPRN S(DE_9)    // )
    102#define DE_EQL  S(DE_0)    // =
    103#define DE_QUES S(DE_SS)   // ?
    104#define DE_GRV  S(DE_ACUT) // ` (dead)
    105
    106/* Row 2 */
    107#define DE_ASTR S(DE_PLUS) // *
    108
    109/* Row 3 */
    110#define DE_QUOT S(DE_HASH) // '
    111
    112/* Row 4 */
    113#define DE_RABK S(DE_LABK) // >
    114#define DE_SCLN S(DE_COMM) // ;
    115#define DE_COLN S(DE_DOT)  // :
    116#define DE_UNDS S(DE_MINS) // _
    117
    118/* alternate names */
    119#define DE_LESS DE_LABK
    120#define DE_GRTR S(DE_LABK)
    121
    122/* AltGr symbols
    123 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
    124 * │   │   │ ² │ ³ │   │   │   │ { │ [ │ ] │ } │ \ │   │       │
    125 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
    126 * │     │ @ │   │ € │   │   │   │   │   │   │   │   │ ~ │     │
    127 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
    128 * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │
    129 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
    130 * │    │ | │   │   │   │   │   │   │ µ │   │   │   │          │
    131 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
    132 * │    │    │    │                        │    │    │    │    │
    133 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
    134 */
    135
    136/* Row 1 */
    137#define DE_SUP2 ALGR(DE_2)    // ²
    138#define DE_SUP3 ALGR(DE_3)    // ³
    139#define DE_LCBR ALGR(DE_7)    // {
    140#define DE_LBRC ALGR(DE_8)    // [
    141#define DE_RBRC ALGR(DE_9)    // ]
    142#define DE_RCBR ALGR(DE_0)    // }
    143#define DE_BSLS ALGR(DE_SS)   // (backslash)
    144
    145/* Row 2 */
    146#define DE_AT   ALGR(DE_Q)    // @
    147#define DE_EURO ALGR(DE_E)    // €
    148#define DE_TILD ALGR(DE_PLUS) // ~
    149
    150/* Row 4 */
    151#define DE_PIPE ALGR(DE_LABK) // |
    152#define DE_MICR ALGR(DE_M)    // µ