~ruther/qmk_firmware

ref: c0dbe9a33662a651fb91afb2e4810bae3f6a825e qmk_firmware/keyboards/junco/rev1/rev1.c -rw-r--r-- 4.7 KiB
c0dbe9a3 — Drashna Jaelre Add utility functions for Pointing Device Auto Mouse feature (#23144) 1 year, 8 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
// Copyright 2022 Dane Skalski (@Daneski13)
// SPDX-License-Identifier: GPL-2.0-or-later

#include "quantum.h"

// Hand swap
#ifdef SWAP_HANDS_ENABLE
__attribute__ ((weak))
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
    // Left
    {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
    {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}},
    {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}},
    {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}},
    {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}, {6, 9}},
    // Right
    {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}},
    {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}},
    {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}},
    {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}},
    {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}}
};
#endif

/* RGB LED matrix */
#ifdef RGB_MATRIX_ENABLE
/*
    Key Matrix Physical
    L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05,
    L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15,
    L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25,
    L30, L31, L32, L33, L34, L35, L45, R40, R30, R31, R32, R33, R34, R35,
              L40, L41, L42, L43, L44, R42, R41, R43, R44, R45

    Key Electrical
    Left:
    { L00, L01, L02, L03, L04, L05 },
    { L10, L11, L12, L13, L14, L15 },
    { L20, L21, L22, L23, L24, L25 },
    { L30, L31, L32, L33, L34, L35 },
    { L40, L41, L42, L43, L44, L45 },
    Right:
    { R05, R04, R03, R02, R01, R00 },
    { R15, R14, R13, R12, R11, R10 },
    { R25, R24, R23, R22, R21, R20 },
    { R35, R34, R33, R32, R31, R30 },
    { R45, R44, R43, R42, R41, R40 }

    Key matrix physical filled with LED electrical indexes, count starting at 1

    Col
    0  1  2  3  4  5  6     7  8  9  10 11 12 13    Row

    14 13 12 11 10 9           46 47 48 49 50 51    0
      6      7     8           45    44      43
    15 16 17 18 19 20          57 56 55 54 53 52    1

    26 25 24 23 22 21          58 59 60 61 62 63    2
      5      4     3           40    41      42
    27 28 29 30 31 32 NO    NO 69 68 67 66 65 64    3

          37 36 35 34 33    70 71 72 73 74          4
             2       1        38     39
*/

// clang-format off
led_config_t g_led_config = {
    {	// Key Electrical Matrix to LED Index (count start at 0, so 8 is the first non-underglow key)

        // Left Half
        { 13, 12, 11, 10,  9,      8 },
        { 14, 15, 16, 17, 18,     19 },
        { 25, 24, 23, 22, 21,     20 },
        { 26, 27, 28, 29, 30,     31 },
        { 36, 35, 34, 33, 32, NO_LED },

        // Right Half
        { 50, 49, 48, 47, 46,     45 },
        { 51, 52, 53, 54, 55,     56 },
        { 62, 61, 60, 59, 58,     57 },
        { 63, 64, 65, 66, 67,     68 },
        { 73, 72, 71, 70, 69, NO_LED }
    },
    {	// LED Index to LED Physical Position (mirrored on right half)

        // Left Underglow (indicies 1 - 8)
        { 95, 72 }, { 52, 72 }, { 86, 40 }, { 52, 40 }, { 9, 40 }, { 9, 8 }, { 52, 8 }, { 86, 8 },
        // Left Matrix (indicies 9 - 37)
        { 86,  0 }, { 69,  0 }, {  52,  0 }, { 34,  0 }, { 17,  0 }, {  0,  0 },
        {  0, 16 }, { 17, 16 }, {  34, 16 }, { 52, 16 }, { 69, 16 }, { 86, 16 },
        { 86, 32 }, { 69, 32 }, {  52, 32 }, { 34, 32 }, { 17, 32 }, {  0, 32 },
        {  0, 48 }, { 17, 48 }, {  34, 48 }, { 52, 48 }, { 69, 48 }, { 86, 48 }, /* No Led */
                                { 103, 64 }, { 86, 64 }, { 69, 64 }, { 52, 64 }, { 34, 64 },

        // Right Underglow (indicies 38 - 45)
        { 129, 72 }, { 172, 72 }, { 138, 40 }, { 172, 40 }, { 215, 40 }, { 215, 8 }, { 172, 8 }, { 138, 8 },
        // Right Matrix (indicies 46 - 74)
                     { 138,  0 }, { 155,  0 }, { 172,  0 }, { 190,  0 }, { 207,  0 }, { 224,  0 },
                     { 224, 16 }, { 207, 16 }, { 190, 16 }, { 172, 16 }, { 155, 16 }, { 138, 16 },
                     { 138, 32 }, { 155, 32 }, { 172, 32 }, { 190, 32 }, { 207, 32 }, { 224, 32 },
        /* No Led */ { 224, 48 }, { 207, 48 }, { 190, 48 }, { 172, 48 }, { 155, 48 }, { 138, 48 },
        { 121, 64 }, { 138, 64 }, { 155, 64 }, { 172, 64 }, { 190, 64 }
    },
    {	// LED Index to Flag (2 - Underglow, 4 - Key Backlight)

        // Left Underglow
        2, 2, 2, 2, 2, 2, 2, 2,
        // Left Matrix
        4, 4, 4, 4, 4, 4,
        4, 4, 4, 4, 4, 4,
        4, 4, 4, 4, 4, 4,
        4, 4, 4, 4, 4, 4,
              4, 4, 4, 4, 4,

        // Right Underglow
        2, 2, 2, 2, 2, 2, 2, 2,
        // Right Matrix
           4, 4, 4, 4, 4, 4,
           4, 4, 4, 4, 4, 4,
           4, 4, 4, 4, 4, 4,
           4, 4, 4, 4, 4, 4,
        4, 4, 4, 4, 4
    }
};

#endif