~ruther/qmk_firmware

631e4e50dda1b471c87701d97ba144033933ea23 — James Young 2 years ago f8313ad
ADPenrose Akemipad Layout Addition (#20957)

* add matrix_diagram.md

* info.json: apply friendly formatting

* add LAYOUT_numpad with reference keymap
M keyboards/adpenrose/akemipad/info.json => keyboards/adpenrose/akemipad/info.json +57 -25
@@ 28,37 28,69 @@
    "layouts": {
        "LAYOUT_all": {
            "layout": [
                {"matrix": [0, 0], "x": 1.25, "y": 0},
                {"matrix": [0, 1], "x": 2.25, "y": 0},
                {"matrix": [0, 2], "x": 3.25, "y": 0},
                {"matrix": [0, 3], "x": 4.25, "y": 0},
                {"label": "Fn", "matrix": [0, 0], "x": 1.25, "y": 0},
                {"label": "Fn2", "matrix": [0, 1], "x": 2.25, "y": 0},
                {"label": "Fn3", "matrix": [0, 2], "x": 3.25, "y": 0},
                {"label": "Delete", "matrix": [0, 3], "x": 4.25, "y": 0},

                {"matrix": [1, 0], "x": 1.25, "y": 1.25},
                {"matrix": [1, 1], "x": 2.25, "y": 1.25},
                {"matrix": [1, 2], "x": 3.25, "y": 1.25},
                {"matrix": [1, 3], "x": 4.25, "y": 1.25},
                {"label": "Num Lock", "matrix": [1, 0], "x": 1.25, "y": 1.25},
                {"label": "/", "matrix": [1, 1], "x": 2.25, "y": 1.25},
                {"label": "*", "matrix": [1, 2], "x": 3.25, "y": 1.25},
                {"label": "-", "matrix": [1, 3], "x": 4.25, "y": 1.25},

                {"matrix": [2, 0], "x": 1.25, "y": 2.25},
                {"matrix": [2, 1], "x": 2.25, "y": 2.25},
                {"matrix": [2, 2], "x": 3.25, "y": 2.25},
                {"matrix": [2, 3], "x": 4.25, "y": 2.25},
                {"label": "7", "matrix": [2, 0], "x": 1.25, "y": 2.25},
                {"label": "8", "matrix": [2, 1], "x": 2.25, "y": 2.25},
                {"label": "9", "matrix": [2, 2], "x": 3.25, "y": 2.25},
                {"label": "+", "matrix": [2, 3], "x": 4.25, "y": 2.25},

                {"matrix": [3, 0], "x": 1.25, "y": 3.25},
                {"matrix": [3, 1], "x": 2.25, "y": 3.25},
                {"matrix": [3, 2], "x": 3.25, "y": 3.25},
                {"matrix": [3, 3], "x": 4.25, "y": 3.25},
                {"label": "4", "matrix": [3, 0], "x": 1.25, "y": 3.25},
                {"label": "5", "matrix": [3, 1], "x": 2.25, "y": 3.25},
                {"label": "6", "matrix": [3, 2], "x": 3.25, "y": 3.25},
                {"label": "+", "matrix": [3, 3], "x": 4.25, "y": 3.25},

                {"matrix": [4, 0], "x": 1.25, "y": 4.25},
                {"matrix": [4, 1], "x": 2.25, "y": 4.25},
                {"matrix": [4, 2], "x": 3.25, "y": 4.25},
                {"matrix": [4, 3], "x": 4.25, "y": 4.25},
                {"label": "1", "matrix": [4, 0], "x": 1.25, "y": 4.25},
                {"label": "2", "matrix": [4, 1], "x": 2.25, "y": 4.25},
                {"label": "3", "matrix": [4, 2], "x": 3.25, "y": 4.25},
                {"label": "Enter", "matrix": [4, 3], "x": 4.25, "y": 4.25},

                {"matrix": [5, 4], "x": 0, "y": 5.25},
                {"label": "Mute", "matrix": [5, 4], "x": 0, "y": 5.25},

                {"matrix": [5, 0], "x": 1.25, "y": 5.25},
                {"matrix": [5, 1], "x": 2.25, "y": 5.25},
                {"matrix": [5, 2], "x": 3.25, "y": 5.25},
                {"matrix": [5, 3], "x": 4.25, "y": 5.25}
                {"label": "0", "matrix": [5, 0], "x": 1.25, "y": 5.25},
                {"label": "0", "matrix": [5, 1], "x": 2.25, "y": 5.25},
                {"label": ".", "matrix": [5, 2], "x": 3.25, "y": 5.25},
                {"label": "Enter", "matrix": [5, 3], "x": 4.25, "y": 5.25}
            ]
        },
        "LAYOUT_numpad": {
            "layout": [
                {"label": "Fn", "matrix": [0, 0], "x": 1.25, "y": 0},
                {"label": "Fn2", "matrix": [0, 1], "x": 2.25, "y": 0},
                {"label": "Fn3", "matrix": [0, 2], "x": 3.25, "y": 0},
                {"label": "Delete", "matrix": [0, 3], "x": 4.25, "y": 0},

                {"label": "Num Lock", "matrix": [1, 0], "x": 1.25, "y": 1.25},
                {"label": "/", "matrix": [1, 1], "x": 2.25, "y": 1.25},
                {"label": "*", "matrix": [1, 2], "x": 3.25, "y": 1.25},
                {"label": "-", "matrix": [1, 3], "x": 4.25, "y": 1.25},

                {"label": "7", "matrix": [2, 0], "x": 1.25, "y": 2.25},
                {"label": "8", "matrix": [2, 1], "x": 2.25, "y": 2.25},
                {"label": "9", "matrix": [2, 2], "x": 3.25, "y": 2.25},
                {"label": "+", "matrix": [2, 3], "x": 4.25, "y": 2.25, "h": 2},

                {"label": "4", "matrix": [3, 0], "x": 1.25, "y": 3.25},
                {"label": "5", "matrix": [3, 1], "x": 2.25, "y": 3.25},
                {"label": "6", "matrix": [3, 2], "x": 3.25, "y": 3.25},

                {"label": "1", "matrix": [4, 0], "x": 1.25, "y": 4.25},
                {"label": "2", "matrix": [4, 1], "x": 2.25, "y": 4.25},
                {"label": "3", "matrix": [4, 2], "x": 3.25, "y": 4.25},
                {"label": "Enter", "matrix": [4, 3], "x": 4.25, "y": 4.25, "h": 2},

                {"label": "Mute", "matrix": [5, 4], "x": 0, "y": 5.25},

                {"label": "0", "matrix": [5, 0], "x": 1.25, "y": 5.25, "w": 2},
                {"label": ".", "matrix": [5, 2], "x": 3.25, "y": 5.25}
            ]
        }
    }

A keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c => keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c +49 -0
@@ 0,0 1,49 @@
// Copyright 2022 Arturo Avila (@ADPenrose)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

/* Keymap */
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_numpad(
                  MO(1),    MO(2),     MO(3),     KC_DEL,
                  KC_NUM,   KC_PSLS,   KC_PAST,   KC_PMNS,
                  KC_P7,    KC_P8,     KC_P9,     KC_PPLS,
                  KC_P4,    KC_P5,     KC_P6,
                  KC_P1,    KC_P2,     KC_P3,     KC_PENT,
        KC_MUTE,  KC_P0,               KC_PDOT
    ),
    [1] = LAYOUT_numpad(
                  KC_TRNS,  CK_DOWN,   CK_UP,     CK_RST,
                  MU_TOGG,  MU_NEXT,   KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
        CK_TOGG,  KC_TRNS,             KC_TRNS
    ),
    [2] = LAYOUT_numpad(
                  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
        KC_TRNS,  KC_TRNS,             KC_TRNS
    ),
    [3] = LAYOUT_numpad(
                  QK_BOOT,  KC_TRNS,   KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,
                  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,
        KC_TRNS,  KC_TRNS,             KC_TRNS
    )
};

#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
    [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
    [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
    [2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
    [3] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
};
#endif

A keyboards/adpenrose/akemipad/keymaps/default_numpad/readme.md => keyboards/adpenrose/akemipad/keymaps/default_numpad/readme.md +12 -0
@@ 0,0 1,12 @@
# The default_numpad keymap for the AkemiPad


## Features
- Audio Click and Music Mode capabilities.
- RGB Matrix Lighting (cycles left-right and up-down).
- Encoder Map feature.

### Disclaimer
The AkemiPad has multiple layout options (each one with its own LED positions), but this keymap does not take that into consideration.
If you want to select an specific layout (and see how the LEDs turn on and off accordingly), you
should use the [via keymap](../via).

A keyboards/adpenrose/akemipad/keymaps/default_numpad/rules.mk => keyboards/adpenrose/akemipad/keymaps/default_numpad/rules.mk +1 -0
@@ 0,0 1,1 @@
ENCODER_MAP_ENABLE = yes

A keyboards/adpenrose/akemipad/matrix_diagram.md => keyboards/adpenrose/akemipad/matrix_diagram.md +21 -0
@@ 0,0 1,21 @@
# Matrix Diagram for ADPenrose AkemiPad

```
               ┌───┬───┬───┬───┐
               │00 │01 │02 │03 │
               └───┴───┴───┴───┘
               ┌───┬───┬───┬───┐
               │10 │11 │12 │13 │
               ├───┼───┼───┼───┤   ┌───┐
               │20 │21 │22 │23 │   │   │
               ├───┼───┼───┼───┤   │23 │ 2u Numpad Plus
               │30 │31 │32 │33 │   │   │
               ├───┼───┼───┼───┤   ├───┤
               │40 │41 │42 │43 │   │   │
          ┌───┐├───┼───┼───┼───┤   │43 │ 2u Numpad Enter
Encoder ─ │54 ││50 │51 │52 │53 │   │   │
          └───┘└───┴───┴───┴───┘   └───┘
               ┌───────┐
               │50     │ 2u Numpad Zero
               └───────┘
```