~ruther/qmk_firmware

d57acc7c5cd9cfa4f0eb4ad758a44a0eeda9a905 — James Young 2 years ago 94311e4
DOIO KB38 Refactor (#21268)

* [refactor] keymap refactor

- tidy-up box drawing
- update keycode alignment for readability
- use QMK-native keycode aliases

* [refactor] correct layout data

* [docs] add image to readme
M keyboards/doio/kb38/info.json => keyboards/doio/kb38/info.json +40 -40
@@ 94,51 94,51 @@
        "LAYOUT": {
            "layout": [
                {"matrix": [0, 0], "label": "ESC", "x": 0, "y": 0},
                {"matrix": [0, 1], "label": "BSPC", "x": 1, "y": 0},
                {"matrix": [0, 2], "label": "RGB BACK", "x": 2, "y": 0},
                {"matrix": [0, 3], "label": "RGB OFF", "x": 3, "y": 0},
                {"matrix": [0, 4], "label": "RGB FORW", "x": 4, "y": 0},
                {"matrix": [0, 5], "label": "MAKE", "x": 5, "y": 0},
                {"matrix": [0, 6], "label": "REBOOT", "x": 6, "y": 0},
                {"matrix": [0, 7], "label": "BOOTLOAD", "x": 7, "y": 0},
                {"matrix": [0, 1], "label": "BSPC", "x": 2, "y": 0, "w": 2},
                {"matrix": [0, 2], "label": "RGB BACK", "x": 4.25, "y": 0},
                {"matrix": [0, 3], "label": "RGB OFF", "x": 5.25, "y": 0},
                {"matrix": [0, 4], "label": "RGB FORW", "x": 6.25, "y": 0},
                {"matrix": [0, 5], "label": "MAKE", "x": 7.5, "y": 0},
                {"matrix": [0, 6], "label": "REBOOT", "x": 8.5, "y": 0},
                {"matrix": [0, 7], "label": "BOOTLOAD", "x": 9.5, "y": 0},

                {"matrix": [1, 0], "label": "NUMLOCK", "x": 0, "y": 1},
                {"matrix": [1, 1], "label": "PSLS", "x": 1, "y": 1},
                {"matrix": [1, 2], "label": "PAST", "x": 2, "y": 1},
                {"matrix": [1, 3], "label": "PMNS", "x": 3, "y": 1},
                {"matrix": [1, 4], "label": "PAUS", "x": 3, "y": 1},
                {"matrix": [1, 5], "label": "SCRL", "x": 3, "y": 1},
                {"matrix": [1, 6], "label": "PSCR", "x": 3, "y": 1},
                {"matrix": [1, 0], "label": "NUMLOCK", "x": 0, "y": 1.25},
                {"matrix": [1, 1], "label": "PSLS", "x": 1, "y": 1.25},
                {"matrix": [1, 2], "label": "PAST", "x": 2, "y": 1.25},
                {"matrix": [1, 3], "label": "PMNS", "x": 3, "y": 1.25},
                {"matrix": [1, 4], "label": "PAUS", "x": 4.25, "y": 1.25},
                {"matrix": [1, 5], "label": "SCRL", "x": 5.25, "y": 1.25},
                {"matrix": [1, 6], "label": "PSCR", "x": 6.25, "y": 1.25},

                {"matrix": [2, 0], "label": "7", "x": 0, "y": 2},
                {"matrix": [2, 1], "label": "8", "x": 1, "y": 2},
                {"matrix": [2, 2], "label": "9", "x": 2, "y": 2},
                {"matrix": [2, 3], "label": "PPLS", "x": 3, "y": 2},
                {"matrix": [2, 4], "label": "INS", "x": 3, "y": 2},
                {"matrix": [2, 5], "label": "HOME", "x": 3, "y": 2},
                {"matrix": [2, 6], "label": "PGUP", "x": 3, "y": 2},
                {"matrix": [2, 0], "label": "7", "x": 0, "y": 2.25},
                {"matrix": [2, 1], "label": "8", "x": 1, "y": 2.25},
                {"matrix": [2, 2], "label": "9", "x": 2, "y": 2.25},
                {"matrix": [2, 3], "label": "PPLS", "x": 3, "y": 2.25, "h": 2},
                {"matrix": [2, 4], "label": "INS", "x": 4.25, "y": 2.25},
                {"matrix": [2, 5], "label": "HOME", "x": 5.25, "y": 2.25},
                {"matrix": [2, 6], "label": "PGUP", "x": 6.25, "y": 2.25},

                {"matrix": [3, 0], "label": "4", "x": 0, "y": 3},
                {"matrix": [3, 1], "label": "5", "x": 1, "y": 3},
                {"matrix": [3, 2], "label": "6", "x": 2, "y": 3},
                {"matrix": [3, 3], "label": "END", "x": 3, "y": 3},
                {"matrix": [3, 4], "label": "DEL", "x": 3, "y": 3},
                {"matrix": [3, 5], "label": "PGDN", "x": 3, "y": 3},
                {"matrix": [3, 0], "label": "4", "x": 0, "y": 3.25},
                {"matrix": [3, 1], "label": "5", "x": 1, "y": 3.25},
                {"matrix": [3, 2], "label": "6", "x": 2, "y": 3.25},
                {"matrix": [3, 3], "label": "END", "x": 4.25, "y": 3.25},
                {"matrix": [3, 4], "label": "DEL", "x": 5.25, "y": 3.25},
                {"matrix": [3, 5], "label": "PGDN", "x": 6.25, "y": 3.25},

                {"matrix": [4, 0], "label": "1", "x": 0, "y": 4},
                {"matrix": [4, 1], "label": "2", "x": 1, "y": 4},
                {"matrix": [4, 2], "label": "3", "x": 2, "y": 4},
                {"matrix": [4, 3], "label": "PENT", "x": 3, "y": 4},
                {"matrix": [4, 5], "label": "UP", "x": 3, "y": 4},
                {"matrix": [4, 0], "label": "1", "x": 0, "y": 4.25},
                {"matrix": [4, 1], "label": "2", "x": 1, "y": 4.25},
                {"matrix": [4, 2], "label": "3", "x": 2, "y": 4.25},
                {"matrix": [4, 3], "label": "PENT", "x": 3, "y": 4.25, "h": 2},
                {"matrix": [4, 5], "label": "UP", "x": 5.25, "y": 4.25},

                {"matrix": [5, 0], "label": "0", "x": 0, "y": 5},
                {"matrix": [5, 1], "label": "PDOT", "x": 1, "y": 5},
                {"matrix": [5, 2], "label": "LEFT", "x": 2, "y": 5},
                {"matrix": [5, 3], "label": "DOWN", "x": 3, "y": 5},
                {"matrix": [5, 4], "label": "RIGHT", "x": 4, "y": 5},
                {"matrix": [5, 5], "label": "KNOB_L", "x": 3, "y": 5},
                {"matrix": [5, 6], "label": "KNOB_R", "x": 3, "y": 5},
                {"matrix": [5, 7], "label": "KNOB_D", "x": 3, "y": 5}
                {"matrix": [5, 0], "label": "0", "x": 0, "y": 5.25, "w": 2},
                {"matrix": [5, 1], "label": "PDOT", "x": 2, "y": 5.25},
                {"matrix": [5, 2], "label": "LEFT", "x": 4.25, "y": 5.25},
                {"matrix": [5, 3], "label": "DOWN", "x": 5.25, "y": 5.25},
                {"matrix": [5, 4], "label": "RIGHT", "x": 6.25, "y": 5.25},
                {"matrix": [5, 5], "label": "KNOB_L", "x": 7.5, "y": 2.25},
                {"matrix": [5, 6], "label": "KNOB_R", "x": 9.5, "y": 2.25},
                {"matrix": [5, 7], "label": "KNOB_D", "x": 7.5, "y": 3.25, "w": 3, "h": 3}
            ]
        }
    }

M keyboards/doio/kb38/keymaps/default/keymap.c => keyboards/doio/kb38/keymaps/default/keymap.c +18 -18
@@ 27,35 27,35 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * └───┘   └───────┘└───┴───┴───┘└───┴───┴───┘
     * ┌───┬───┬───┬───┐┌───┬───┬───┐
     * │NUM│ / │ * │ - ││PAS│SCR│PSC│
     * ├───┼───┼───┼───┤├───┼───┼───│
     * ├───┼───┼───┼───┤├───┼───┼───┤
     * │ 7 │ 8 │ 9 │   ││INS│HOM│PGU│
     * ├───┼───┼───│ + │├───┼───┼───│
     * ├───┼───┼───┤ + │├───┼───┼───┤
     * │ 4 │ 5 │ 6 │   ││END│DEL│PGD│
     * ├───┼───┼───┼───┤└───┼───┼───┘
     * │ 1 │ 2 │ 3 │ E │    │UP │    
     * ├───┼───┼───│ N │┌───┼───┼───┐┌───┬───┬───┐
     * │ 1 │ 2 │ 3 │ E │    │UP │
     * ├───┴───┼───┤ N │┌───┼───┼───┐┌───┬───┬───┐
     * │   0   │DEL│ T ││LFT│DWN│RHT││ O │ O │ O │
     * └───┴───┴───┴───┘└───┴───┴───┘└───┴───┴───┘
     * └───────┴───┴───┘└───┴───┴───┘└───┴───┴───┘
     */
    [_QWERTY] = LAYOUT(
        MO(1),            KC_BSPC,          RGB_RMOD, RGB_TOG, RGB_MOD,   KC_F1,     KC_F2,     KC_F3,
        KC_NUM,  KC_PSLS, KC_PAST, KC_PMNS, KC_PAUS,  KC_SCRL, KC_PSCR, 
        KC_P7,   KC_P8,   KC_P9,   KC_PPLS, KC_INS,   KC_HOME, KC_PGUP, 
        KC_P4,   KC_P5,   KC_P6,            KC_END,   KC_DEL,  KC_PGDN, 
        KC_P1,   KC_P2,   KC_P3,   KC_PENT,           KC_UP,
        KC_P0,            KC_PDOT,          KC_LEFT,  KC_DOWN, KC_RGHT,  KC_HOME,    KC_END,    KC_B
        MO(1),            KC_BSPC,             RGB_RMOD, RGB_TOG, RGB_MOD,    KC_F1,   KC_F2,   KC_F3,
        KC_NUM,  KC_PSLS, KC_PAST, KC_PMNS,    KC_PAUS,  KC_SCRL, KC_PSCR,
        KC_P7,   KC_P8,   KC_P9,   KC_PPLS,    KC_INS,   KC_HOME, KC_PGUP,
        KC_P4,   KC_P5,   KC_P6,               KC_END,   KC_DEL,  KC_PGDN,
        KC_P1,   KC_P2,   KC_P3,   KC_PENT,              KC_UP,
        KC_P0,            KC_PDOT,             KC_LEFT,  KC_DOWN, KC_RGHT,    KC_HOME, KC_END,  KC_B
    ),
    [_LAYERTWO] = LAYOUT(
        _______,          KC_BSPC,          RGB_RMOD, RGB_TOG, RGB_MOD,   KC_A,   QK_REBOOT,   QK_BOOTLOADER,
        KC_NUM,  KC_PSLS, KC_PAST, KC_PMNS, KC_PAUS,  KC_SCRL, KC_PSCR, 
        KC_P7,   KC_P8,   KC_P9,   KC_PPLS, KC_INS,   KC_HOME, KC_PGUP, 
        KC_P4,   KC_P5,   KC_P6,            KC_END,   KC_DEL,  KC_PGDN, 
        KC_P1,   KC_P2,   KC_P3,   KC_PENT,           KC_UP,
        KC_P0,            KC_PDOT,          KC_LEFT,  KC_DOWN, KC_RGHT,  KC_HOME,    KC_END,        KC_B
        _______,          KC_BSPC,             RGB_RMOD, RGB_TOG, RGB_MOD,    KC_A,    QK_RBT,  QK_BOOT,
        KC_NUM,  KC_PSLS, KC_PAST, KC_PMNS,    KC_PAUS,  KC_SCRL, KC_PSCR,
        KC_P7,   KC_P8,   KC_P9,   KC_PPLS,    KC_INS,   KC_HOME, KC_PGUP,
        KC_P4,   KC_P5,   KC_P6,               KC_END,   KC_DEL,  KC_PGDN,
        KC_P1,   KC_P2,   KC_P3,   KC_PENT,              KC_UP,
        KC_P0,            KC_PDOT,             KC_LEFT,  KC_DOWN, KC_RGHT,    KC_HOME, KC_END,  KC_B
    )
};

/*NOTE FOR PERSON MODIFYING KEYMAP
The large knob press is mapped as KC_B, despite it not having one.
I'm not quite sure why, but the only reason it can't be clicked is because the potentiometer is different.
If you were to replace it with one that can be clicked, it would work. I shorted it and it does work.*/
\ No newline at end of file
If you were to replace it with one that can be clicked, it would work. I shorted it and it does work.*/

M keyboards/doio/kb38/readme.md => keyboards/doio/kb38/readme.md +2 -0
@@ 1,5 1,7 @@
# doio/kb38

![Megalodon DOIO Triple Knob 38%](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/doio/kb38/2022-06-2917-52-00_A_R8_S4_1024xc.jpg)

QMK for Megalodon DOIO Triple Knob 38% with OLED Screen. 

* Keyboard Maintainer: [Katrina](https://github.com/PepperKats)