summaryrefslogtreecommitdiffstats
path: root/keyboards/adpenrose/akemipad
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/adpenrose/akemipad')
-rw-r--r--keyboards/adpenrose/akemipad/akemipad.c2
-rw-r--r--keyboards/adpenrose/akemipad/akemipad.h31
-rw-r--r--keyboards/adpenrose/akemipad/config.h19
-rw-r--r--keyboards/adpenrose/akemipad/info.json99
-rw-r--r--keyboards/adpenrose/akemipad/keymaps/default/keymap.c2
-rw-r--r--keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c49
-rw-r--r--keyboards/adpenrose/akemipad/keymaps/default_numpad/readme.md12
-rw-r--r--keyboards/adpenrose/akemipad/keymaps/default_numpad/rules.mk1
-rw-r--r--keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c2
-rw-r--r--keyboards/adpenrose/akemipad/keymaps/via/keymap.c2
-rw-r--r--keyboards/adpenrose/akemipad/matrix_diagram.md21
-rw-r--r--keyboards/adpenrose/akemipad/rules.mk1
12 files changed, 161 insertions, 80 deletions
diff --git a/keyboards/adpenrose/akemipad/akemipad.c b/keyboards/adpenrose/akemipad/akemipad.c
index 647740927c..993396dca0 100644
--- a/keyboards/adpenrose/akemipad/akemipad.c
+++ b/keyboards/adpenrose/akemipad/akemipad.c
@@ -1,7 +1,7 @@
// Copyright 2022 Arturo Avila (@ADPenrose)
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "akemipad.h"
+#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
diff --git a/keyboards/adpenrose/akemipad/akemipad.h b/keyboards/adpenrose/akemipad/akemipad.h
deleted file mode 100644
index 2e4b13baef..0000000000
--- a/keyboards/adpenrose/akemipad/akemipad.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2022 Arturo Avila (@ADPenrose)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include "quantum.h"
-
-/* This is a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-
-#define LAYOUT_all( \
- K00, K01, K02, K03, \
- K10, K11, K12, K13, \
- K20, K21, K22, K23, \
- K30, K31, K32, K33, \
- K40, K41, K42, K43, \
- K54, K50, K51, K52, K53 \
-) { \
- { K00, K01, K02, K03, KC_NO }, \
- { K10, K11, K12, K13, KC_NO }, \
- { K20, K21, K22, K23, KC_NO }, \
- { K30, K31, K32, K33, KC_NO }, \
- { K40, K41, K42, K43, KC_NO }, \
- { K50, K51, K52, K53, K54 } \
-}
diff --git a/keyboards/adpenrose/akemipad/config.h b/keyboards/adpenrose/akemipad/config.h
index 47fcf429ac..5756903c66 100644
--- a/keyboards/adpenrose/akemipad/config.h
+++ b/keyboards/adpenrose/akemipad/config.h
@@ -3,23 +3,6 @@
#pragma once
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS { D4, D7, E6, B6, B4, B5 }
-#define MATRIX_COL_PINS { D3, D2, F5, F6, B2 }
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
#define TAP_CODE_DELAY 10
/* Audio functionality */
@@ -28,8 +11,6 @@
#define AUDIO_ENABLE_TONE_MULTIPLEXING
#define AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT 10
-// The pin connected to the data pin of the LEDs
-#define RGB_DI_PIN F4
// The number of LEDs connected
#define RGB_MATRIX_LED_COUNT 27
#define RGB_MATRIX_CENTER { 60, 77 }
diff --git a/keyboards/adpenrose/akemipad/info.json b/keyboards/adpenrose/akemipad/info.json
index 9b5a8d6ef6..fb70fb00a4 100644
--- a/keyboards/adpenrose/akemipad/info.json
+++ b/keyboards/adpenrose/akemipad/info.json
@@ -7,6 +7,17 @@
"pid": "0x0004",
"vid": "0x4450"
},
+ "ws2812": {
+ "pin": "F4"
+ },
+ "rgb_matrix": {
+ "driver": "WS2812"
+ },
+ "matrix_pins": {
+ "cols": ["D3", "D2", "F5", "F6", "B2"],
+ "rows": ["D4", "D7", "E6", "B6", "B4", "B5"]
+ },
+ "diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "B1", "pin_b": "B3"}
@@ -17,31 +28,69 @@
"layouts": {
"LAYOUT_all": {
"layout": [
- { "label": "F1", "x": 1.25, "y": 0 },
- { "label": "F2", "x": 2.25, "y": 0 },
- { "label": "F3", "x": 3.25, "y": 0 },
- { "label": "F4", "x": 4.25, "y": 0 },
- { "label": "Num Lock", "x": 1.25, "y": 1.25 },
- { "label": "/", "x": 2.25, "y": 1.25 },
- { "label": "*", "x": 3.25, "y": 1.25 },
- { "label": "-", "x": 4.25, "y": 1.25 },
- { "label": "7", "x": 1.25, "y": 2.25 },
- { "label": "8", "x": 2.25, "y": 2.25 },
- { "label": "9", "x": 3.25, "y": 2.25 },
- { "x": 4.25, "y": 2.25 },
- { "label": "4", "x": 1.25, "y": 3.25 },
- { "label": "5", "x": 2.25, "y": 3.25 },
- { "label": "6", "x": 3.25, "y": 3.25 },
- { "x": 4.25, "y": 3.25 },
- { "label": "1", "x": 1.25, "y": 4.25 },
- { "label": "2", "x": 2.25, "y": 4.25 },
- { "label": "3", "x": 3.25, "y": 4.25 },
- { "x": 4.25, "y": 4.25 },
- { "label": "Enc", "x": 0, "y": 5.25 },
- { "x": 1.25, "y": 5.25 },
- { "x": 2.25, "y": 5.25 },
- { "label": ".", "x": 3.25, "y": 5.25 },
- { "x": 4.25, "y": 5.25 }
+ {"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},
+
+ {"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},
+
+ {"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},
+
+ {"label": "Mute", "matrix": [5, 4], "x": 0, "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}
]
}
}
diff --git a/keyboards/adpenrose/akemipad/keymaps/default/keymap.c b/keyboards/adpenrose/akemipad/keymaps/default/keymap.c
index 0aa98ed309..7226b85f2c 100644
--- a/keyboards/adpenrose/akemipad/keymaps/default/keymap.c
+++ b/keyboards/adpenrose/akemipad/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+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) },
diff --git a/keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c b/keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c
new file mode 100644
index 0000000000..080df8d182
--- /dev/null
+++ b/keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c
@@ -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
diff --git a/keyboards/adpenrose/akemipad/keymaps/default_numpad/readme.md b/keyboards/adpenrose/akemipad/keymaps/default_numpad/readme.md
new file mode 100644
index 0000000000..9f2d2d431b
--- /dev/null
+++ b/keyboards/adpenrose/akemipad/keymaps/default_numpad/readme.md
@@ -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).
diff --git a/keyboards/adpenrose/akemipad/keymaps/default_numpad/rules.mk b/keyboards/adpenrose/akemipad/keymaps/default_numpad/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/adpenrose/akemipad/keymaps/default_numpad/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c
index 5839acbbfe..f9ccfbe769 100644
--- a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c
+++ b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+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) },
diff --git a/keyboards/adpenrose/akemipad/keymaps/via/keymap.c b/keyboards/adpenrose/akemipad/keymaps/via/keymap.c
index 732c287a7a..e20ed0c9c7 100644
--- a/keyboards/adpenrose/akemipad/keymaps/via/keymap.c
+++ b/keyboards/adpenrose/akemipad/keymaps/via/keymap.c
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+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) },
diff --git a/keyboards/adpenrose/akemipad/matrix_diagram.md b/keyboards/adpenrose/akemipad/matrix_diagram.md
new file mode 100644
index 0000000000..06fc867532
--- /dev/null
+++ b/keyboards/adpenrose/akemipad/matrix_diagram.md
@@ -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
+ └───────┘
+```
diff --git a/keyboards/adpenrose/akemipad/rules.mk b/keyboards/adpenrose/akemipad/rules.mk
index 9886164987..084dbaec05 100644
--- a/keyboards/adpenrose/akemipad/rules.mk
+++ b/keyboards/adpenrose/akemipad/rules.mk
@@ -11,5 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = yes # Audio output
RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = WS2812
ENCODER_ENABLE = yes