~ruther/qmk_firmware

a677d8a00dc7bb42c1d9ba29455d24f6d8bfaef6 — noroadsleft 7 years ago 3b1ddd1
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
M keyboards/amjpad/amjpad.h => keyboards/amjpad/amjpad.h +28 -26
@@ 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);


M keyboards/amjpad/info.json => keyboards/amjpad/info.json +10 -6
@@ 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}]
    }
  }
}

M keyboards/amjpad/keymaps/default/keymap.c => keyboards/amjpad/keymaps/default/keymap.c +17 -16
@@ 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 {

M keyboards/amjpad/keymaps/max/keymap.c => keyboards/amjpad/keymaps/max/keymap.c +17 -17
@@ 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 {

M keyboards/amjpad/keymaps/ortho_left/keymap.c => keyboards/amjpad/keymaps/ortho_left/keymap.c +17 -17
@@ 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, _______, _______
  ),
};

M keyboards/amjpad/keymaps/ortho_right/keymap.c => keyboards/amjpad/keymaps/ortho_right/keymap.c +17 -18
@@ 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
  ),
};

M keyboards/amjpad/rules.mk => keyboards/amjpad/rules.mk +2 -0
@@ 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

A layouts/default/numpad_6x4/default_numpad_6x4/keymap.c => layouts/default/numpad_6x4/default_numpad_6x4/keymap.c +21 -0
@@ 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  \
  ),
};

A layouts/default/numpad_6x4/layout.json => layouts/default/numpad_6x4/layout.json +6 -0
@@ 0,0 1,6 @@
["","","",""],
[{y:0.5},"","","",""],
["","","",{h:2},""],
["","",""],
["","","",{h:2},""],
[{w:2},"",""]

A layouts/default/numpad_6x4/readme.md => layouts/default/numpad_6x4/readme.md +3 -0
@@ 0,0 1,3 @@
# numpad_6x4

    LAYOUT_numpad_6x4
\ No newline at end of file

A layouts/default/ortho_6x4/default_ortho_6x4/keymap.c => layouts/default/ortho_6x4/default_ortho_6x4/keymap.c +12 -0
@@ 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  \
  ),
};

A layouts/default/ortho_6x4/layout.json => layouts/default/ortho_6x4/layout.json +6 -0
@@ 0,0 1,6 @@
["","","",""],
["","","",""],
["","","",""],
["","","",""],
["","","",""],
["","","",""],

A layouts/default/ortho_6x4/readme.md => layouts/default/ortho_6x4/readme.md +3 -0
@@ 0,0 1,3 @@
# ortho_6x4

    LAYOUT_ortho_6x4
\ No newline at end of file