From eccfb8d55e47fff65df33622c5494b07eac0daab Mon Sep 17 00:00:00 2001 From: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 16 Jun 2018 08:02:11 -0700 Subject: [PATCH] SixKeyBoard refactor (#3193) * Refactor: create matrix macro * Readme changes * Configurator support --- keyboards/sixkeyboard/info.json | 12 ++++++++ .../sixkeyboard/keymaps/default/keymap.c | 10 +++---- keyboards/sixkeyboard/readme.md | 6 ++-- keyboards/sixkeyboard/sixkeyboard.h | 28 +++++++++++++++---- 4 files changed, 42 insertions(+), 14 deletions(-) create mode 100644 keyboards/sixkeyboard/info.json diff --git a/keyboards/sixkeyboard/info.json b/keyboards/sixkeyboard/info.json new file mode 100644 index 000000000..55239fc6c --- /dev/null +++ b/keyboards/sixkeyboard/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "Techkeys SixKeyBoard", + "url": "", + "maintainer": "qmk", + "width": 3, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}] + } + } +} diff --git a/keyboards/sixkeyboard/keymaps/default/keymap.c b/keyboards/sixkeyboard/keymaps/default/keymap.c index f5b10bb48..78b55478b 100644 --- a/keyboards/sixkeyboard/keymaps/default/keymap.c +++ b/keyboards/sixkeyboard/keymaps/default/keymap.c @@ -1,12 +1,12 @@ -#include "sixkeyboard.h" +#include QMK_KEYBOARD_H #include "matrix.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = { - {KC_A, KC_B, KC_C}, - {KC_D, KC_E, KC_F} - } + [0] = LAYOUT( + KC_A, KC_B, KC_C, \ + KC_D, KC_E, KC_F \ + ) }; const uint16_t PROGMEM fn_actions[] = { diff --git a/keyboards/sixkeyboard/readme.md b/keyboards/sixkeyboard/readme.md index c0d87bc2c..512b9a6af 100644 --- a/keyboards/sixkeyboard/readme.md +++ b/keyboards/sixkeyboard/readme.md @@ -1,9 +1,9 @@ Techkeys SixKeyBoard === -Keyboard Maintainer: QMK Community -Hardware Supported: Techkeys SixKeyBoard PCB -Hardware Availability: http://techkeys.us/collections/accessories/products/sixkeyboard +Keyboard Maintainer: QMK Community +Hardware Supported: Techkeys SixKeyBoard PCB +Hardware Availability: [Techkeys](http://techkeys.us/collections/accessories/products/sixkeyboard) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/sixkeyboard/sixkeyboard.h b/keyboards/sixkeyboard/sixkeyboard.h index 66f53bf7e..e0eb896ce 100644 --- a/keyboards/sixkeyboard/sixkeyboard.h +++ b/keyboards/sixkeyboard/sixkeyboard.h @@ -3,16 +3,32 @@ #include "quantum.h" -// This macro is an example of using a non-standard row-column matrix. The -// keyboard in question had 11 rows and 8 columns, but the rows were not all -// horizontal, and the columns were not all vertical. For example, row 2 +// This macro is an example of using a non-standard row-column matrix. The +// keyboard in question had 11 rows and 8 columns, but the rows were not all +// horizontal, and the columns were not all vertical. For example, row 2 // contained "Print Screen", "N", "M", ",", ".", "/", "Right Shift", and -// "Left Alt". Column 0 contained "F6", "7", "O", "'", "Q", "D", "B", +// "Left Alt". Column 0 contained "F6", "7", "O", "'", "Q", "D", "B", // "Left Alt", "Up Arrow", and "Down Arrow". // // The macro makes programming the keys easier and in a more straight-forward -// manner because it realigns the keys into a 6x15 sensible keyboard layout +// manner because it realigns the keys into a 6x15 sensible keyboard layout // instead of the obtuse 11x8 matrix. -#endif \ No newline at end of file +/* + * ┌───┬───┬───┐ + * │ A │ B │ C │ + * ├───┼───┼───┤ + * │ D │ E │ F │ + * └───┴───┴───┘ + */ +#define LAYOUT( \ + k00, k01, k02, \ + k10, k11, k12 \ + ) { \ + { k00, k01, k02 }, \ + { k10, k11, k12 } \ +} + + +#endif