~ruther/qmk_firmware

eccfb8d55e47fff65df33622c5494b07eac0daab — noroadsleft 7 years ago 2435a52
SixKeyBoard refactor (#3193)

* Refactor: create matrix macro

* Readme changes

* Configurator support
A keyboards/sixkeyboard/info.json => keyboards/sixkeyboard/info.json +12 -0
@@ 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}]
    }
  }
}

M keyboards/sixkeyboard/keymaps/default/keymap.c => keyboards/sixkeyboard/keymaps/default/keymap.c +5 -5
@@ 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[] = {

M keyboards/sixkeyboard/readme.md => keyboards/sixkeyboard/readme.md +3 -3
@@ 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):


M keyboards/sixkeyboard/sixkeyboard.h => keyboards/sixkeyboard/sixkeyboard.h +22 -6
@@ 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