Keyboard: handwired/minorca Refactor, Configurator support and readme cleanup (#4571)
* handwired/minorca: refactor - Refactored keymaps to use a layout macro, which was added to minorca.h. - keymaps now use QMK_KEYBOARD_H include - removed redundant KC_TRNS and KC_NO definitions - rgb keymap refactor to use QMK core layer switching and Mod-Tap keycodes * handwired/minorca: Configurator support * handwired/minorca: readme cleanup Restructure readme file to current QMK template.master
parent
afb4a43677
commit
5b7260fc53
|
@ -0,0 +1,55 @@
|
||||||
|
{
|
||||||
|
"keyboard_name": "Minorca Handwired",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"width": 12,
|
||||||
|
"height": 4,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"KA00", "x":0, "y":0},
|
||||||
|
{"label":"KA01", "x":1, "y":0},
|
||||||
|
{"label":"KA02", "x":2, "y":0},
|
||||||
|
{"label":"KA03", "x":3, "y":0},
|
||||||
|
{"label":"KA04", "x":4, "y":0},
|
||||||
|
{"label":"KA05", "x":5, "y":0},
|
||||||
|
{"label":"KA06", "x":6, "y":0},
|
||||||
|
{"label":"KA07", "x":7, "y":0},
|
||||||
|
{"label":"KA08", "x":8, "y":0},
|
||||||
|
{"label":"KA09", "x":9, "y":0},
|
||||||
|
{"label":"KA10", "x":10, "y":0},
|
||||||
|
{"label":"KA11", "x":11, "y":0},
|
||||||
|
{"label":"KB00", "x":0, "y":1, "w":1.25},
|
||||||
|
{"label":"KB01", "x":1.25, "y":1},
|
||||||
|
{"label":"KB02", "x":2.25, "y":1},
|
||||||
|
{"label":"KB03", "x":3.25, "y":1},
|
||||||
|
{"label":"KB04", "x":4.25, "y":1},
|
||||||
|
{"label":"KB05", "x":5.25, "y":1},
|
||||||
|
{"label":"KB06", "x":6.25, "y":1},
|
||||||
|
{"label":"KB07", "x":7.25, "y":1},
|
||||||
|
{"label":"KB08", "x":8.25, "y":1},
|
||||||
|
{"label":"KB09", "x":9.25, "y":1},
|
||||||
|
{"label":"KB11", "x":10.25, "y":1, "w":1.75},
|
||||||
|
{"label":"KC00", "x":0, "y":2, "w":1.75},
|
||||||
|
{"label":"KC02", "x":1.75, "y":2},
|
||||||
|
{"label":"KC03", "x":2.75, "y":2},
|
||||||
|
{"label":"KC04", "x":3.75, "y":2},
|
||||||
|
{"label":"KC05", "x":4.75, "y":2},
|
||||||
|
{"label":"KC06", "x":5.75, "y":2},
|
||||||
|
{"label":"KC07", "x":6.75, "y":2},
|
||||||
|
{"label":"KC08", "x":7.75, "y":2},
|
||||||
|
{"label":"KC09", "x":8.75, "y":2},
|
||||||
|
{"label":"KC10", "x":9.75, "y":2},
|
||||||
|
{"label":"KC11", "x":10.75, "y":2, "w":1.25},
|
||||||
|
{"label":"KD00", "x":0, "y":3, "w":1.25},
|
||||||
|
{"label":"KD02", "x":1.25, "y":3, "w":1.25},
|
||||||
|
{"label":"KD03", "x":2.5, "y":3, "w":1.25},
|
||||||
|
{"label":"KD04", "x":3.75, "y":3, "w":2.25},
|
||||||
|
{"label":"KD07", "x":6, "y":3, "w":2.25},
|
||||||
|
{"label":"KD09", "x":8.25, "y":3, "w":1.25},
|
||||||
|
{"label":"KD10", "x":9.5, "y":3},
|
||||||
|
{"label":"KD11", "x":10.5, "y":3, "w":1.5}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,4 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
#include "minorca.h"
|
|
||||||
#include "action_layer.h"
|
|
||||||
#include "eeconfig.h"
|
|
||||||
|
|
||||||
extern keymap_config_t keymap_config;
|
extern keymap_config_t keymap_config;
|
||||||
|
|
||||||
|
@ -10,33 +7,23 @@ extern keymap_config_t keymap_config;
|
||||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
// entirely and just use numbers.
|
// entirely and just use numbers.
|
||||||
|
|
||||||
// Fillers to make layering more clear
|
|
||||||
#define _______ KC_TRNS
|
|
||||||
#define XXXXXXX KC_NO
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[0] = { /* Base */
|
[0] = LAYOUT( /* Base */
|
||||||
{KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC },
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||||
{KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, XXXXXXX, KC_ENT },
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, \
|
||||||
{KC_LCTRL,XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_QUOT, KC_FN1, KC_FN0 },
|
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_QUOT, MO(2), MO(1), \
|
||||||
{KC_NO, XXXXXXX, KC_NO, KC_LALT, KC_SPC, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, KC_DOT, KC_SLSH, KC_NO }
|
XXXXXXX, XXXXXXX, KC_LALT, KC_SPC, KC_SPC, KC_DOT, KC_SLSH, XXXXXXX \
|
||||||
},
|
),
|
||||||
[1] = { /* First */
|
[1] = LAYOUT( /* First */
|
||||||
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT },
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
|
||||||
{KC_TAB, KC_MPRV, KC_MPLY, KC_MNXT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, XXXXXXX, KC_LGUI },
|
KC_TAB, KC_MPRV, KC_MPLY, KC_MNXT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_LGUI, \
|
||||||
{KC_LCTRL,XXXXXXX, KC_Z, KC_X, KC_C, KC_PGDN, KC_END, KC_L, KC_SCLN, KC_UP, KC_FN1, KC_FN0 },
|
KC_LCTL, KC_Z, KC_X, KC_C, KC_PGDN, KC_END, KC_L, KC_SCLN, KC_UP, _______, _______, \
|
||||||
{KC_NO, XXXXXXX, KC_NO, KC_LALT, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_DOWN, KC_RIGHT,KC_NO }
|
XXXXXXX, XXXXXXX, KC_LALT, _______, _______, KC_DOWN, KC_RGHT, XXXXXXX \
|
||||||
},
|
),
|
||||||
[2] = { /* Second */
|
[2] = LAYOUT( /* Second */
|
||||||
{KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DELT },
|
KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \
|
||||||
{KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, XXXXXXX, KC_ENT },
|
KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_ENT, \
|
||||||
{KC_CAPS, XXXXXXX, KC_LSFT, KC_RSFT, KC_PAUSE,KC_F10, KC_F11, KC_F12, KC_NO, KC_UP, KC_FN1, KC_FN0 },
|
KC_CAPS, KC_LSFT, KC_RSFT, KC_PAUS, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_UP, _______, _______, \
|
||||||
{KC_NO, XXXXXXX, KC_NO, KC_LALT, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_DOWN, KC_RIGHT,KC_NO }
|
XXXXXXX, XXXXXXX, KC_LALT, _______, _______, KC_DOWN, KC_RGHT, XXXXXXX \
|
||||||
},
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint16_t PROGMEM fn_actions[] = {
|
|
||||||
[0] = ACTION_LAYER_MOMENTARY(1), // to First overlay
|
|
||||||
[1] = ACTION_LAYER_MOMENTARY(2), // to Second overlay
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
#include "minorca.h"
|
|
||||||
#include "action_layer.h"
|
|
||||||
#include "eeconfig.h"
|
|
||||||
|
|
||||||
extern keymap_config_t keymap_config;
|
extern keymap_config_t keymap_config;
|
||||||
|
|
||||||
|
@ -14,50 +11,34 @@ extern keymap_config_t keymap_config;
|
||||||
#define _RAISE 2
|
#define _RAISE 2
|
||||||
#define _TB 3
|
#define _TB 3
|
||||||
|
|
||||||
// Macro name shortcuts
|
|
||||||
#define QWERTY M(_QWERTY)
|
|
||||||
#define LOWER M(_LOWER)
|
|
||||||
#define RAISE M(_RAISE)
|
|
||||||
|
|
||||||
// Fillers to make layering more clear
|
|
||||||
#define _______ KC_TRNS
|
|
||||||
#define XXXXXXX KC_NO
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_QWERTY] = { /* Qwerty */
|
[_QWERTY] = LAYOUT( /* Qwerty */ \
|
||||||
{KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||||
{FUNC(0), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, XXXXXXX, KC_QUOT},
|
LT(_TB, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
|
||||||
{KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, FUNC(1)},
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RSFT, KC_ENT), \
|
||||||
{KC_LCTL, XXXXXXX, KC_LGUI, KC_LALT, FUNC(2), XXXXXXX, XXXXXXX, FUNC(3), XXXXXXX, KC_RALT, KC_APP, KC_RCTL}
|
KC_LCTL, KC_LGUI, KC_LALT, LT(_RAISE, KC_SPC), LT(_LOWER, KC_SPC), KC_RALT, KC_APP, KC_RCTL \
|
||||||
},
|
),
|
||||||
|
|
||||||
[_RAISE] = {
|
[_RAISE] = LAYOUT( \
|
||||||
{S(KC_GRV), S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), KC_BSPC},
|
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
|
||||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUSE, KC_TRNS, KC_TRNS, KC_TRNS, S(KC_MINS), S(KC_EQL), S(KC_LBRC), XXXXXXX, S(KC_BSLS)},
|
_______, _______, _______, KC_PAUS, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_PIPE, \
|
||||||
{KC_TRNS, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_ENT},
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_ENT, \
|
||||||
{KC_TRNS, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX, KC_MNXT, KC_MUTE, KC_MPLY}
|
_______, _______, _______, _______, _______, KC_MNXT, KC_MUTE, KC_MPLY \
|
||||||
},
|
),
|
||||||
|
|
||||||
[_LOWER] = {
|
[_LOWER] = LAYOUT( \
|
||||||
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELETE},
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
|
||||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, XXXXXXX, KC_BSLS},
|
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_BSLS, \
|
||||||
{KC_TRNS, XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_PGUP, KC_ENT},
|
_______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_PGUP, KC_ENT, \
|
||||||
{KC_TRNS, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX, KC_HOME, KC_PGDN, KC_END}
|
_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
|
||||||
},
|
),
|
||||||
|
|
||||||
|
[_TB] = LAYOUT( /* Tab */ \
|
||||||
|
KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______, \
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
|
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_UP, KC_ENT, \
|
||||||
|
BL_STEP, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||||
|
)
|
||||||
|
|
||||||
[_TB] = { /* Tab */
|
|
||||||
{KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS},
|
|
||||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, KC_TRNS},
|
|
||||||
{KC_TRNS, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_UP, KC_ENT},
|
|
||||||
{BL_STEP, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM fn_actions[] = {
|
|
||||||
[0] = ACTION_LAYER_TAP_KEY(_TB, KC_TAB),
|
|
||||||
[1] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT),
|
|
||||||
[2] = ACTION_LAYER_TAP_KEY(_RAISE, KC_SPC),
|
|
||||||
[3] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC),
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,4 +3,16 @@
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define LAYOUT( \
|
||||||
|
KA00, KA01, KA02, KA03, KA04, KA05, KA06, KA07, KA08, KA09, KA10, KA11, \
|
||||||
|
KB00, KB01, KB02, KB03, KB04, KB05, KB06, KB07, KB08, KB09, KB11, \
|
||||||
|
KC00, KC02, KC03, KC04, KC05, KC06, KC07, KC08, KC09, KC10, KC11, \
|
||||||
|
KD00, KD02, KD03, KD04, KD07, KD09, KD10, KD11 \
|
||||||
|
) { \
|
||||||
|
{ KA00, KA01, KA02, KA03, KA04, KA05, KA06, KA07, KA08, KA09, KA10, KA11 }, \
|
||||||
|
{ KB00, KB01, KB02, KB03, KB04, KB05, KB06, KB07, KB08, KB09, KC_NO, KB11 }, \
|
||||||
|
{ KC00, KC_NO, KC02, KC03, KC04, KC05, KC06, KC07, KC08, KC09, KC10, KC11 }, \
|
||||||
|
{ KD00, KC_NO, KD02, KD03, KD04, KC_NO, KC_NO, KD07, KC_NO, KD09, KD10, KD11 } \
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,33 +1,13 @@
|
||||||
minorca keyboard firmware
|
# minorca
|
||||||
======================
|
|
||||||
Handwired 40% keyboard
|
|
||||||
|
|
||||||
http://www.panc.co/blog/minorcasebright-information-page
|
A handwired 40% keyboard by panc.co.
|
||||||
|
|
||||||
## Quantum MK Firmware
|
Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
|
||||||
|
Hardware Supported: panc.co minorca
|
||||||
|
Hardware Availability: [panc.co](https://www.panc.co/blog/minorcasebright-information-page)
|
||||||
|
|
||||||
For the full Quantum feature list, see [the parent readme.md](/readme.md).
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
## Building
|
make handwired/minorca:default
|
||||||
|
|
||||||
Download or clone the whole firmware and navigate to the keyboards/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button.
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
Depending on which keymap you would like to use, you will have to compile slightly differently.
|
|
||||||
|
|
||||||
### Default
|
|
||||||
To build with the default keymap, simply run `make`.
|
|
||||||
|
|
||||||
### Other Keymaps
|
|
||||||
Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files.
|
|
||||||
|
|
||||||
To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like:
|
|
||||||
```
|
|
||||||
$ make KEYMAP=[default|jack|<name>]
|
|
||||||
```
|
|
||||||
Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
|
|
||||||
|
|
||||||
### Notable forks (which some of the keymap files are from)
|
|
||||||
- [Shane's Fork](https://github.com/shanecelis/tmk_keyboard/tree/master/keyboard/planck)
|
|
||||||
- [Pierre's Fork](https://github.com/pcarrier/tmk_keyboard/blob/pcarrier/planck/keyboard/gh60/keymap_planck.c)
|
|
||||||
- [Nathan's Fork](https://github.com/nathanrosspowell/tmk_keyboard/tree/planck-jack/keyboard/planck)
|
|
||||||
- [Matthew's Fork](https://github.com/pepers/tmk_keyboard/tree/master/keyboard/planck)
|
|
||||||
|
|
Loading…
Reference in New Issue