Refactor and Configurator updates for AMJ Pad (#3060)

* Refactor for AMJ Pad

* Configurator update for AMJ Pad

* Add hardware agnostic layouts numpad_6x4 and ortho_6x4

* Add agnostic layouts to rules.mk

* Refactor AMJ Pad to use new hardware agnostic layouts
This commit is contained in:
noroadsleft 2018-05-27 19:19:09 -07:00 committed by Drashna Jaelre
parent 3b1ddd12a5
commit a677d8a00d
13 changed files with 159 additions and 100 deletions

View File

@ -23,38 +23,40 @@
*/ */
// The first section contains all of the arguments // The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array // The second converts the arguments into a two-dimensional array
#define KEYMAP( \ #define LAYOUT_numpad_6x4( \
k00, k01, k02, k03, \ k00, k01, k02, k03, \
k10, k11, k12, k13, \ k10, k11, k12, k13, \
k20, k21, k22, k23, \ k20, k21, k22, \
k30, k31, k32, \ k30, k31, k32, k23, \
k40, k41, k42, k43, \ k40, k41, k42, \
k50, k52 \ k50, k52, k43 \
) \ ) \
{ \ { \
{k00, k01, k02, k03}, \ {k00, k01, k02, k03}, \
{k10, k11, k12, k13}, \ {k10, k11, k12, k13}, \
{k20, k21, k22, k23}, \ {k20, k21, k22, k23}, \
{k30, k31, k32, XXX}, \ {k30, k31, k32, XXX}, \
{k40, k41, k42, k43}, \ {k40, k41, k42, k43}, \
{k50, XXX, k52, XXX} \ {k50, XXX, k52, XXX} \
} }
#define MAXKEYMAP( \
k00, k01, k02, k03, \ #define LAYOUT_ortho_6x4( \
k10, k11, k12, k13, \ k00, k01, k02, k03, \
k20, k21, k22, k23, \ k10, k11, k12, k13, \
k30, k31, k32, k33, \ k20, k21, k22, k23, \
k40, k41, k42, k43, \ k30, k31, k32, k33, \
k50, k51, k52, k53\ k40, k41, k42, k43, \
k50, k51, k52, k53 \
) \ ) \
{ \ { \
{k00, k01, k02, k03}, \ {k00, k01, k02, k03}, \
{k10, k11, k12, k13}, \ {k10, k11, k12, k13}, \
{k20, k21, k22, k23}, \ {k20, k21, k22, k23}, \
{k30, k31, k32, k33}, \ {k30, k31, k32, k33}, \
{k40, k41, k42, k43}, \ {k40, k41, k42, k43}, \
{k50, k51, k52, k53} \ {k50, k51, k52, k53} \
} }
void matrix_init_user(void); void matrix_init_user(void);
void matrix_scan_user(void); void matrix_scan_user(void);

View File

@ -1,13 +1,17 @@
{ {
"keyboard_name": "AMJ Pad", "keyboard_name": "AMJ Pad",
"url": "", "url": "",
"maintainer": "qmk", "maintainer": "qmk",
"bootloader": "", "width": 4,
"width": 4, "height": 6,
"height": 6,
"layouts": { "layouts": {
"LAYOUT": { "LAYOUT": {
"key_count": 21,
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "h":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "h":2}, {"x":0, "y":5, "w":2}, {"x":2, "y":5}] "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "h":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "h":2}, {"x":0, "y":5, "w":2}, {"x":2, "y":5}]
},
"LAYOUT_all": {
"key_count": 24,
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k23", "x":3, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k33", "x":3, "y":3}, {"label":"k40", "x":0, "y":4}, {"label":"k41", "x":1, "y":4}, {"label":"k42", "x":2, "y":4}, {"label":"k43", "x":3, "y":4}, {"label":"k50", "x":0, "y":5}, {"label":"k51", "x":1, "y":5}, {"label":"k52", "x":2, "y":5}, {"label":"k53", "x":3, "y":5}]
} }
} }
} }

View File

@ -1,4 +1,4 @@
#include "amjpad.h" #include QMK_KEYBOARD_H
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
#include "rgblight.h" #include "rgblight.h"
@ -33,13 +33,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------' * `-------------------'
*/ */
[_BL] = KEYMAP( [_BL] = LAYOUT_numpad_6x4(
KC_ESC,KC_TAB,KC_BSPC,KC_PEQL, \ KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, \
KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
KC_P7, KC_P8, KC_P9, KC_PPLS, \ KC_P7, KC_P8, KC_P9, \
KC_P4, KC_P5, KC_P6, \ KC_P4, KC_P5, KC_P6, KC_PPLS, \
KC_P1, KC_P2, KC_P3, KC_PENT, \ KC_P1, KC_P2, KC_P3, \
KC_P0, LT(_FL,KC_PDOT)), KC_P0, LT(_FL,KC_PDOT), KC_PENT \
),
/* Keymap _FL: Function Layer /* Keymap _FL: Function Layer
* ,-------------------. * ,-------------------.
@ -56,14 +57,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | 0 |./FN| | * | 0 |./FN| |
* `-------------------' * `-------------------'
*/ */
[_FL] = KEYMAP( [_FL] = LAYOUT_numpad_6x4(
KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, \
KC_ESC,KC_TAB,KC_BSPC,KC_PEQL, \ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ KC_P7, KC_P8, KC_P9, \
KC_P7, KC_P8, KC_P9, RESET, \ KC_P4, KC_P5, KC_P6, RESET, \
KC_P4, KC_P5, KC_P6, \ KC_P1, KC_P2, KC_P3, \
KC_P1, KC_P2, KC_P3, KC_PENT, \ KC_P0, LT(_FL,KC_PDOT), KC_PENT \
KC_P0, LT(_FL,KC_PDOT)), ),
}; };
enum function_id { enum function_id {

View File

@ -1,4 +1,4 @@
#include "amjpad.h" #include QMK_KEYBOARD_H
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
#include "rgblight.h" #include "rgblight.h"
@ -33,14 +33,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------' * `-------------------'
*/ */
[_BL] = MAXKEYMAP( [_BL] = LAYOUT_ortho_6x4(
KC_ESC, KC_TAB, KC_MINS,KC_EQL, \
KC_ESC, KC_TAB, KC_MINS,KC_EQL, \ KC_F1, KC_F2, KC_F3, KC_F4, \
KC_F1, KC_F2, KC_F3, KC_F4, \ KC_P7, KC_P8, KC_P9, KC_PMNS, \
KC_P7, KC_P8, KC_P9, KC_PMNS, \ KC_P4, KC_P5, KC_P6, KC_PENT, \
KC_P4, KC_P5, KC_P6, KC_PENT, \ KC_P1, KC_P2, KC_P3, KC_BSLS, \
KC_P1, KC_P2, KC_P3, KC_BSLS, \ KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT), ),
/* Keymap _FL: Function Layer /* Keymap _FL: Function Layer
* ,-------------------. * ,-------------------.
@ -57,14 +57,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | 0 |./FN| | * | 0 |./FN| |
* `-------------------' * `-------------------'
*/ */
[_FL] = MAXKEYMAP( [_FL] = LAYOUT_ortho_6x4(
KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, \
KC_ESC,KC_TAB,KC_BSPC,KC_PEQL, \ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ KC_P7, KC_P8, KC_P9, RESET, \
KC_P7, KC_P8, KC_P9, RESET, \ KC_P4, KC_P5, KC_P6, KC_PENT, \
KC_P4, KC_P5, KC_P6, KC_PENT, \ KC_P1, KC_P2, KC_P3, KC_PENT, \
KC_P1, KC_P2, KC_P3, KC_PENT, \ KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT), ),
}; };
enum function_id { enum function_id {

View File

@ -1,4 +1,4 @@
#include "amjpad.h" #include QMK_KEYBOARD_H
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
#include "rgblight.h" #include "rgblight.h"
@ -30,14 +30,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------' * `-------------------'
*/ */
[_BL] = MAXKEYMAP( [_BL] = LAYOUT_ortho_6x4(
KC_T, KC_G, KC_B, KC_SPACE,\
KC_T, KC_G, KC_B, KC_SPACE,\ KC_R, KC_F, KC_V, MO(1), \
KC_R, KC_F, KC_V, MO(1), \ KC_E, KC_D, KC_C, KC_LGUI, \
KC_E, KC_D, KC_C, KC_LGUI, \ KC_W, KC_S, KC_X, KC_LALT, \
KC_W, KC_S, KC_X, KC_LALT, \ KC_Q, KC_A, KC_Z, KC_LCTL, \
KC_Q, KC_A, KC_Z, KC_LCTL, \ KC_TAB, KC_ESC, KC_LSHIFT, MO(1)
KC_TAB, KC_ESC, KC_LSHIFT, MO(1)), ),
/* Keymap _FL: Function Layer /* Keymap _FL: Function Layer
* ,-------------------. * ,-------------------.
@ -54,12 +54,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | ` | Del|Shft| | * | ` | Del|Shft| |
* `-------------------' * `-------------------'
*/ */
[_FL] = MAXKEYMAP( [_FL] = LAYOUT_ortho_6x4(
KC_5, KC_F5, KC_F11, _______, \
KC_5, KC_F5, KC_F11, _______, \ KC_4, KC_F4, KC_F10, _______, \
KC_4, KC_F4, KC_F10, _______, \ KC_3, KC_F3, KC_F9, _______, \
KC_3, KC_F3, KC_F9, _______, \ KC_2, KC_F2, KC_F8, _______, \
KC_2, KC_F2, KC_F8, _______, \ KC_1, KC_F1, KC_F7, _______, \
KC_1, KC_F1, KC_F7, _______, \ KC_GRV,KC_DEL, _______, _______
KC_GRV,KC_DEL, _______, _______), ),
}; };

View File

@ -1,4 +1,4 @@
#include "amjpad.h" #include QMK_KEYBOARD_H
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
#include "rgblight.h" #include "rgblight.h"
@ -29,15 +29,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Rght| Ret| " |Bspc| * |Rght| Ret| " |Bspc|
* `-------------------' * `-------------------'
*/ */
[_BL] = LAYOUT_ortho_6x4(
[_BL] = MAXKEYMAP( KC_SPACE, KC_N, KC_H, KC_Y, \
MO(1), KC_M, KC_J, KC_U, \
KC_SPACE, KC_N, KC_H, KC_Y, \ KC_LEFT, KC_COMM, KC_K, KC_I, \
MO(1), KC_M, KC_J, KC_U, \ KC_DOWN, KC_DOT, KC_L, KC_O, \
KC_LEFT, KC_COMM, KC_K, KC_I, \ KC_UP, KC_SLASH, KC_SCLN, KC_P, \
KC_DOWN, KC_DOT, KC_L, KC_O, \ KC_RIGHT, KC_ENT, KC_QUOT, KC_BSPC
KC_UP, KC_SLASH, KC_SCLN, KC_P, \ ),
KC_RIGHT, KC_ENT, KC_QUOT, KC_BSPC),
/* Keymap _FL: Function Layer /* Keymap _FL: Function Layer
* ,-------------------. * ,-------------------.
@ -54,12 +53,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Rght| Ret| \ | Del| * |Rght| Ret| \ | Del|
* `-------------------' * `-------------------'
*/ */
[_FL] = MAXKEYMAP( [_FL] = LAYOUT_ortho_6x4(
_______, KC_F12, KC_F6, KC_6, \
_______, KC_F12, KC_F6, KC_6, \ _______, _______, KC_MINS, KC_7, \
_______, _______, KC_MINS, KC_7, \ _______, _______, KC_EQL, KC_8, \
_______, _______, KC_EQL, KC_8, \ _______, _______, KC_LBRC, KC_9, \
_______, _______, KC_LBRC, KC_9, \ _______, _______, KC_RBRC, KC_0, \
_______, _______, KC_RBRC, KC_0, \ _______, _______, KC_BSLS, KC_DEL
_______, _______, KC_BSLS, KC_DEL), ),
}; };

View File

@ -64,3 +64,5 @@ MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no AUDIO_ENABLE = no
UNICODE_ENABLE = no # Unicode UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
LAYOUTS = numpad_6x4 ortho_6x4

View File

@ -0,0 +1,21 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_numpad_6x4(
KC_ESC, KC_TAB, MO(1), KC_BSPC, \
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
KC_P7, KC_P8, KC_P9, \
KC_P4, KC_P5, KC_P6, KC_PPLS, \
KC_P1, KC_P2, KC_P3, \
KC_P0, KC_PDOT, KC_PENT \
),
[1] = LAYOUT_numpad_6x4(
RESET, KC_TAB, KC_TRNS, KC_PEQL, \
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
KC_HOME, KC_UP, KC_PGUP, \
KC_LEFT, KC_NO, KC_RGHT, KC_PPLS, \
KC_END, KC_DOWN, KC_PGDN, \
KC_INS, KC_DEL, KC_PENT \
),
};

View File

@ -0,0 +1,6 @@
["","","",""],
[{y:0.5},"","","",""],
["","","",{h:2},""],
["","",""],
["","","",{h:2},""],
[{w:2},"",""]

View File

@ -0,0 +1,3 @@
# numpad_6x4
LAYOUT_numpad_6x4

View File

@ -0,0 +1,12 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_6x4(
KC_F1, KC_F2, KC_F3, KC_F4, \
KC_F5, KC_F6, KC_F7, KC_F8, \
KC_F9, KC_F10, KC_F11, KC_F12, \
KC_F13, KC_F14, KC_F15, KC_F16, \
KC_F17, KC_F18, KC_F19, KC_F20, \
KC_F21, KC_F22, KC_F23, KC_F24 \
),
};

View File

@ -0,0 +1,6 @@
["","","",""],
["","","",""],
["","","",""],
["","","",""],
["","","",""],
["","","",""],

View File

@ -0,0 +1,3 @@
# ortho_6x4
LAYOUT_ortho_6x4