From a677d8a00dc7bb42c1d9ba29455d24f6d8bfaef6 Mon Sep 17 00:00:00 2001 From: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 27 May 2018 19:19:09 -0700 Subject: [PATCH] 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 --- keyboards/amjpad/amjpad.h | 54 ++++++++++--------- keyboards/amjpad/info.json | 16 +++--- keyboards/amjpad/keymaps/default/keymap.c | 33 ++++++------ keyboards/amjpad/keymaps/max/keymap.c | 34 ++++++------ keyboards/amjpad/keymaps/ortho_left/keymap.c | 34 ++++++------ keyboards/amjpad/keymaps/ortho_right/keymap.c | 35 ++++++------ keyboards/amjpad/rules.mk | 2 + .../numpad_6x4/default_numpad_6x4/keymap.c | 21 ++++++++ layouts/default/numpad_6x4/layout.json | 6 +++ layouts/default/numpad_6x4/readme.md | 3 ++ .../ortho_6x4/default_ortho_6x4/keymap.c | 12 +++++ layouts/default/ortho_6x4/layout.json | 6 +++ layouts/default/ortho_6x4/readme.md | 3 ++ 13 files changed, 159 insertions(+), 100 deletions(-) create mode 100644 layouts/default/numpad_6x4/default_numpad_6x4/keymap.c create mode 100644 layouts/default/numpad_6x4/layout.json create mode 100644 layouts/default/numpad_6x4/readme.md create mode 100644 layouts/default/ortho_6x4/default_ortho_6x4/keymap.c create mode 100644 layouts/default/ortho_6x4/layout.json create mode 100644 layouts/default/ortho_6x4/readme.md diff --git a/keyboards/amjpad/amjpad.h b/keyboards/amjpad/amjpad.h index ffba1c9b94..d9a0516215 100644 --- a/keyboards/amjpad/amjpad.h +++ b/keyboards/amjpad/amjpad.h @@ -23,38 +23,40 @@ */ // The first section contains all of the arguments // The second converts the arguments into a two-dimensional array -#define KEYMAP( \ - k00, k01, k02, k03, \ - k10, k11, k12, k13, \ - k20, k21, k22, k23, \ - k30, k31, k32, \ - k40, k41, k42, k43, \ - k50, k52 \ +#define LAYOUT_numpad_6x4( \ + k00, k01, k02, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, \ + k30, k31, k32, k23, \ + k40, k41, k42, \ + k50, k52, k43 \ ) \ { \ - {k00, k01, k02, k03}, \ - {k10, k11, k12, k13}, \ - {k20, k21, k22, k23}, \ - {k30, k31, k32, XXX}, \ - {k40, k41, k42, k43}, \ - {k50, XXX, k52, XXX} \ + {k00, k01, k02, k03}, \ + {k10, k11, k12, k13}, \ + {k20, k21, k22, k23}, \ + {k30, k31, k32, XXX}, \ + {k40, k41, k42, k43}, \ + {k50, XXX, k52, XXX} \ } -#define MAXKEYMAP( \ - k00, k01, k02, k03, \ - k10, k11, k12, k13, \ - k20, k21, k22, k23, \ - k30, k31, k32, k33, \ - k40, k41, k42, k43, \ - k50, k51, k52, k53\ + +#define LAYOUT_ortho_6x4( \ + k00, k01, k02, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, k23, \ + k30, k31, k32, k33, \ + k40, k41, k42, k43, \ + k50, k51, k52, k53 \ ) \ { \ - {k00, k01, k02, k03}, \ - {k10, k11, k12, k13}, \ - {k20, k21, k22, k23}, \ - {k30, k31, k32, k33}, \ - {k40, k41, k42, k43}, \ - {k50, k51, k52, k53} \ + {k00, k01, k02, k03}, \ + {k10, k11, k12, k13}, \ + {k20, k21, k22, k23}, \ + {k30, k31, k32, k33}, \ + {k40, k41, k42, k43}, \ + {k50, k51, k52, k53} \ } + void matrix_init_user(void); void matrix_scan_user(void); diff --git a/keyboards/amjpad/info.json b/keyboards/amjpad/info.json index 3873d548f0..dde839dd87 100644 --- a/keyboards/amjpad/info.json +++ b/keyboards/amjpad/info.json @@ -1,13 +1,17 @@ { - "keyboard_name": "AMJ Pad", - "url": "", - "maintainer": "qmk", - "bootloader": "", - "width": 4, - "height": 6, + "keyboard_name": "AMJ Pad", + "url": "", + "maintainer": "qmk", + "width": 4, + "height": 6, "layouts": { "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_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}] } } } diff --git a/keyboards/amjpad/keymaps/default/keymap.c b/keyboards/amjpad/keymaps/default/keymap.c index 362afd1079..1ec81e6db8 100644 --- a/keyboards/amjpad/keymaps/default/keymap.c +++ b/keyboards/amjpad/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -#include "amjpad.h" +#include QMK_KEYBOARD_H #ifdef RGBLIGHT_ENABLE #include "rgblight.h" @@ -33,13 +33,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------' */ -[_BL] = KEYMAP( - KC_ESC,KC_TAB,KC_BSPC,KC_PEQL, \ - KC_NLCK,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_P0, LT(_FL,KC_PDOT)), + [_BL] = LAYOUT_numpad_6x4( + KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, \ + 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, LT(_FL,KC_PDOT), KC_PENT \ + ), /* Keymap _FL: Function Layer * ,-------------------. @@ -56,14 +57,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | 0 |./FN| | * `-------------------' */ -[_FL] = KEYMAP( - - KC_ESC,KC_TAB,KC_BSPC,KC_PEQL, \ - KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ - KC_P7, KC_P8, KC_P9, RESET, \ - KC_P4, KC_P5, KC_P6, \ - KC_P1, KC_P2, KC_P3, KC_PENT, \ - KC_P0, LT(_FL,KC_PDOT)), + [_FL] = LAYOUT_numpad_6x4( + KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, \ + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ + KC_P7, KC_P8, KC_P9, \ + KC_P4, KC_P5, KC_P6, RESET, \ + KC_P1, KC_P2, KC_P3, \ + KC_P0, LT(_FL,KC_PDOT), KC_PENT \ + ), }; enum function_id { diff --git a/keyboards/amjpad/keymaps/max/keymap.c b/keyboards/amjpad/keymaps/max/keymap.c index 926a494a90..463a265de1 100644 --- a/keyboards/amjpad/keymaps/max/keymap.c +++ b/keyboards/amjpad/keymaps/max/keymap.c @@ -1,4 +1,4 @@ -#include "amjpad.h" +#include QMK_KEYBOARD_H #ifdef RGBLIGHT_ENABLE #include "rgblight.h" @@ -33,14 +33,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------' */ -[_BL] = MAXKEYMAP( - - KC_ESC, KC_TAB, KC_MINS,KC_EQL, \ - KC_F1, KC_F2, KC_F3, KC_F4, \ - KC_P7, KC_P8, KC_P9, KC_PMNS, \ - KC_P4, KC_P5, KC_P6, KC_PENT, \ - KC_P1, KC_P2, KC_P3, KC_BSLS, \ - KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT), + [_BL] = LAYOUT_ortho_6x4( + KC_ESC, KC_TAB, KC_MINS,KC_EQL, \ + KC_F1, KC_F2, KC_F3, KC_F4, \ + KC_P7, KC_P8, KC_P9, KC_PMNS, \ + KC_P4, KC_P5, KC_P6, KC_PENT, \ + KC_P1, KC_P2, KC_P3, KC_BSLS, \ + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT + ), /* Keymap _FL: Function Layer * ,-------------------. @@ -57,14 +57,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | 0 |./FN| | * `-------------------' */ -[_FL] = MAXKEYMAP( - - KC_ESC,KC_TAB,KC_BSPC,KC_PEQL, \ - KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ - KC_P7, KC_P8, KC_P9, RESET, \ - KC_P4, KC_P5, KC_P6, KC_PENT, \ - KC_P1, KC_P2, KC_P3, KC_PENT, \ - KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT), + [_FL] = LAYOUT_ortho_6x4( + KC_ESC, KC_TAB, KC_BSPC, KC_PEQL, \ + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ + KC_P7, KC_P8, KC_P9, RESET, \ + KC_P4, KC_P5, KC_P6, KC_PENT, \ + KC_P1, KC_P2, KC_P3, KC_PENT, \ + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT + ), }; enum function_id { diff --git a/keyboards/amjpad/keymaps/ortho_left/keymap.c b/keyboards/amjpad/keymaps/ortho_left/keymap.c index d3e4d9944b..5245138bd1 100644 --- a/keyboards/amjpad/keymaps/ortho_left/keymap.c +++ b/keyboards/amjpad/keymaps/ortho_left/keymap.c @@ -1,4 +1,4 @@ -#include "amjpad.h" +#include QMK_KEYBOARD_H #ifdef RGBLIGHT_ENABLE #include "rgblight.h" @@ -30,14 +30,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------' */ -[_BL] = MAXKEYMAP( - - KC_T, KC_G, KC_B, KC_SPACE,\ - KC_R, KC_F, KC_V, MO(1), \ - KC_E, KC_D, KC_C, KC_LGUI, \ - KC_W, KC_S, KC_X, KC_LALT, \ - KC_Q, KC_A, KC_Z, KC_LCTL, \ - KC_TAB, KC_ESC, KC_LSHIFT, MO(1)), + [_BL] = LAYOUT_ortho_6x4( + KC_T, KC_G, KC_B, KC_SPACE,\ + KC_R, KC_F, KC_V, MO(1), \ + KC_E, KC_D, KC_C, KC_LGUI, \ + KC_W, KC_S, KC_X, KC_LALT, \ + KC_Q, KC_A, KC_Z, KC_LCTL, \ + KC_TAB, KC_ESC, KC_LSHIFT, MO(1) + ), /* Keymap _FL: Function Layer * ,-------------------. @@ -54,12 +54,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | ` | Del|Shft| | * `-------------------' */ -[_FL] = MAXKEYMAP( - - KC_5, KC_F5, KC_F11, _______, \ - KC_4, KC_F4, KC_F10, _______, \ - KC_3, KC_F3, KC_F9, _______, \ - KC_2, KC_F2, KC_F8, _______, \ - KC_1, KC_F1, KC_F7, _______, \ - KC_GRV,KC_DEL, _______, _______), + [_FL] = LAYOUT_ortho_6x4( + KC_5, KC_F5, KC_F11, _______, \ + KC_4, KC_F4, KC_F10, _______, \ + KC_3, KC_F3, KC_F9, _______, \ + KC_2, KC_F2, KC_F8, _______, \ + KC_1, KC_F1, KC_F7, _______, \ + KC_GRV,KC_DEL, _______, _______ + ), }; diff --git a/keyboards/amjpad/keymaps/ortho_right/keymap.c b/keyboards/amjpad/keymaps/ortho_right/keymap.c index 33e599abdc..52e93524b5 100644 --- a/keyboards/amjpad/keymaps/ortho_right/keymap.c +++ b/keyboards/amjpad/keymaps/ortho_right/keymap.c @@ -1,4 +1,4 @@ -#include "amjpad.h" +#include QMK_KEYBOARD_H #ifdef RGBLIGHT_ENABLE #include "rgblight.h" @@ -29,15 +29,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Rght| Ret| " |Bspc| * `-------------------' */ - -[_BL] = MAXKEYMAP( - - KC_SPACE, KC_N, KC_H, KC_Y, \ - MO(1), KC_M, KC_J, KC_U, \ - KC_LEFT, KC_COMM, KC_K, KC_I, \ - KC_DOWN, KC_DOT, KC_L, KC_O, \ - KC_UP, KC_SLASH, KC_SCLN, KC_P, \ - KC_RIGHT, KC_ENT, KC_QUOT, KC_BSPC), + [_BL] = LAYOUT_ortho_6x4( + KC_SPACE, KC_N, KC_H, KC_Y, \ + MO(1), KC_M, KC_J, KC_U, \ + KC_LEFT, KC_COMM, KC_K, KC_I, \ + KC_DOWN, KC_DOT, KC_L, KC_O, \ + KC_UP, KC_SLASH, KC_SCLN, KC_P, \ + KC_RIGHT, KC_ENT, KC_QUOT, KC_BSPC + ), /* Keymap _FL: Function Layer * ,-------------------. @@ -54,12 +53,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Rght| Ret| \ | Del| * `-------------------' */ -[_FL] = MAXKEYMAP( - - _______, KC_F12, KC_F6, KC_6, \ - _______, _______, KC_MINS, KC_7, \ - _______, _______, KC_EQL, KC_8, \ - _______, _______, KC_LBRC, KC_9, \ - _______, _______, KC_RBRC, KC_0, \ - _______, _______, KC_BSLS, KC_DEL), + [_FL] = LAYOUT_ortho_6x4( + _______, KC_F12, KC_F6, KC_6, \ + _______, _______, KC_MINS, KC_7, \ + _______, _______, KC_EQL, KC_8, \ + _______, _______, KC_LBRC, KC_9, \ + _______, _______, KC_RBRC, KC_0, \ + _______, _______, KC_BSLS, KC_DEL + ), }; diff --git a/keyboards/amjpad/rules.mk b/keyboards/amjpad/rules.mk index dd5b2bbe0c..f378a4ede2 100644 --- a/keyboards/amjpad/rules.mk +++ b/keyboards/amjpad/rules.mk @@ -64,3 +64,5 @@ MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID + +LAYOUTS = numpad_6x4 ortho_6x4 diff --git a/layouts/default/numpad_6x4/default_numpad_6x4/keymap.c b/layouts/default/numpad_6x4/default_numpad_6x4/keymap.c new file mode 100644 index 0000000000..3901595b71 --- /dev/null +++ b/layouts/default/numpad_6x4/default_numpad_6x4/keymap.c @@ -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 \ + ), +}; diff --git a/layouts/default/numpad_6x4/layout.json b/layouts/default/numpad_6x4/layout.json new file mode 100644 index 0000000000..7264cd5a6d --- /dev/null +++ b/layouts/default/numpad_6x4/layout.json @@ -0,0 +1,6 @@ +["","","",""], +[{y:0.5},"","","",""], +["","","",{h:2},""], +["","",""], +["","","",{h:2},""], +[{w:2},"",""] diff --git a/layouts/default/numpad_6x4/readme.md b/layouts/default/numpad_6x4/readme.md new file mode 100644 index 0000000000..c539baef75 --- /dev/null +++ b/layouts/default/numpad_6x4/readme.md @@ -0,0 +1,3 @@ +# numpad_6x4 + + LAYOUT_numpad_6x4 \ No newline at end of file diff --git a/layouts/default/ortho_6x4/default_ortho_6x4/keymap.c b/layouts/default/ortho_6x4/default_ortho_6x4/keymap.c new file mode 100644 index 0000000000..39c1ed4810 --- /dev/null +++ b/layouts/default/ortho_6x4/default_ortho_6x4/keymap.c @@ -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 \ + ), +}; diff --git a/layouts/default/ortho_6x4/layout.json b/layouts/default/ortho_6x4/layout.json new file mode 100644 index 0000000000..4db1bb0fde --- /dev/null +++ b/layouts/default/ortho_6x4/layout.json @@ -0,0 +1,6 @@ +["","","",""], +["","","",""], +["","","",""], +["","","",""], +["","","",""], +["","","",""], diff --git a/layouts/default/ortho_6x4/readme.md b/layouts/default/ortho_6x4/readme.md new file mode 100644 index 0000000000..6014d4b196 --- /dev/null +++ b/layouts/default/ortho_6x4/readme.md @@ -0,0 +1,3 @@ +# ortho_6x4 + + LAYOUT_ortho_6x4 \ No newline at end of file