Skip to content

Commit

Permalink
Merge pull request #18 from BlueTufa/merge-upstream
Browse files Browse the repository at this point in the history
Merge upstream
  • Loading branch information
BlueTufa authored Dec 28, 2022
2 parents a55273e + dc6c0ef commit 5b40f91
Show file tree
Hide file tree
Showing 40 changed files with 1,985 additions and 16 deletions.
4 changes: 4 additions & 0 deletions keyboards/adpenrose/akemipad/akemipad.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Copyright 2022 Arturo Avila (@ADPenrose)
// SPDX-License-Identifier: GPL-2.0-or-later

#include "akemipad.h"
31 changes: 31 additions & 0 deletions keyboards/adpenrose/akemipad/akemipad.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// 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 } \
}
62 changes: 62 additions & 0 deletions keyboards/adpenrose/akemipad/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// Copyright 2022 Arturo Avila (@ADPenrose)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "config_common.h"

/* Key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 5

/*
* 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

/*Rotary encoder - set the resolution fitting your encoder.
Most will need a value of 4. If 1 encoder click results in 2 keycodes sent
increase the value. If you need 2 clicks for 1 keycode, decrease*/
#define ENCODER_RESOLUTION 4
#define ENCODERS_PAD_A { B1 }
#define ENCODERS_PAD_B { B3 }
#define TAP_CODE_DELAY 10

/* Audio functionality */
#define AUDIO_PIN C6
#define AUDIO_CLICKY
#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 }
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#ifdef RGB_MATRIX_ENABLE
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
41 changes: 41 additions & 0 deletions keyboards/adpenrose/akemipad/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"manufacturer": "ADPenrose",
"keyboard_name": "AkemiPad",
"maintainer": "Arturo Avila",
"usb": {
"device_version": "1.0.0",
"pid": "0x0004",
"vid": "0x4450"
},
"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 }
]
}
}
}
68 changes: 68 additions & 0 deletions keyboards/adpenrose/akemipad/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
// Copyright 2022 Arturo Avila (@ADPenrose)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

/* Setting up the LED matrix */
led_config_t g_led_config = { {
// Key Matrix to LED Index
{ 0, 1, 2, 3, NO_LED },
{ 4, 5, 6, 7, NO_LED },
{ 8, 9, 10, 11, 12 },
{ 13, 14, 15, 16, NO_LED },
{ 17, 18, 19, 20, 21 },
{ 22, 23, 24, 25, 26 },
}, {
// LED Index to Physical Position
{ 0,0 }, { 37,0 }, { 74,0 }, {111,0 }, { 0,34 }, { 37,34 }, { 74,34 }, {111,34 }, { 0,62 }, { 37,62 },
{ 74,62 }, {111,62 }, {120,75 }, { 0,89 }, { 37,89 }, { 74,89 }, {111,89 }, { 0,117}, { 37,117}, { 74,117},
{111,117}, {120,130}, { 0,137}, { 18,144}, { 37,137}, { 74,144}, {111,144}
}, {
// LED Index to Flag
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
} };

/* Keymap */
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
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_PPLS,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_MUTE, KC_P0, KC_P0, KC_PDOT, KC_PENT
),
[1] = LAYOUT_all(
KC_TRNS, CK_DOWN, CK_UP, CK_RST,
MU_TOG, MU_MOD, 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,
CK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_all(
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, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT_all(
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, KC_TRNS, KC_TRNS, KC_TRNS
)
};

#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[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
12 changes: 12 additions & 0 deletions keyboards/adpenrose/akemipad/keymaps/default/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# The default 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).
1 change: 1 addition & 0 deletions keyboards/adpenrose/akemipad/keymaps/default/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes
Loading

0 comments on commit 5b40f91

Please sign in to comment.