From 34bce6f206e30c06f4b6ccd22d461690732ea607 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Sun, 24 Jul 2016 04:08:40 +0200 Subject: [PATCH 01/34] fixed stupid errors --- keyboards/planck/keymaps/bone2planck/keymap.c | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index ceb5564251..4cac60ff9f 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -3,10 +3,15 @@ #ifdef BACKLIGHT_ENABLE #include "backlight.h" #endif +#include "keymap_german.h" + +/* for intellisense, comment for building #include "..\..\..\..\quantum\keymap_extras\keymap_german.h" #include "..\..\..\..\quantum\keymap_common.h" #include "..\..\..\..\tmk_core\common\keycode.h" -#define _______ = KC_TRNS; +*/ + +#define _______ KC_TRNS /* This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout. It has "üäöß" as it is optimized for a mix of German & English. @@ -26,14 +31,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| F | V | Ü | Ä | Ö | Y | Z | , | . | K |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [0] = { { DE_Q, DE_J, DE_D, DE_U, DE_A, DE_X, DE_P, DE_H, DE_L, DE_M, DE_W, DE_SS }, { LT(1,KC_TAB), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, LT(1,KC_ENT) }, { KC_LSFT, DE_F, DE_V, DE_UE, DE_AE, DE_OE, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, KC_LSFT }, - { KC_LGUI, KC_LCTL, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4), KC_NO, KC_RCTL, KC_ESC } + { KC_RGUI, KC_LCTL, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4), KC_RALT, KC_RCTL, KC_ESC } }, /* M1 Special Characters @@ -45,7 +50,7 @@ very ergonomic placement for coding * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| # | $ | | | ~ | € | + | % | " | ' | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [1] = { @@ -64,7 +69,7 @@ very easy to get used to & intuituve placement * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| | Tab | Ins | Enter| | 0 | 1 | 2 | 3 | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M3 | M2 | Space | M2 | M3 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M3 | M2 | Space | M2 | M3 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [2] = { @@ -83,12 +88,12 @@ accessed by sliding from M2 to M3 with thumb * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| 0 | 1 | 2 | 3 | ; | | Tab | Ins | Enter| |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M3 | | Space | | M3 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M3 | | Space | | M3 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [3] = { - { KC_NO, KC_NO, DE_7, DE_8 DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, + { KC_NO, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, { _______, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______ }, { _______, DE_0, DE_1, DE_2, DE_3, DE_SCLN, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, _______ }, { _______, _______, _______, _______, KC_NO, _______, _______, KC_NO, _______, _______, _______, _______ } @@ -104,7 +109,7 @@ slide from m4 to m5 to access flipped version * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| | Prev | Play | Next | | ² | F1 | F2 | F3 | F10 |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M5 | Space | M5 | M4 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M4 | M5 | Space | M5 | M4 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [4] = { @@ -112,7 +117,7 @@ slide from m4 to m5 to access flipped version { KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO }, { _______, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, _______ }, { _______, _______, _______, _______, MO(5), _______, _______, MO(5), _______, _______, _______, _______ } -} +}, /* flipped Function & Media Keys @@ -123,13 +128,13 @@ slide from m4 to m5 to access flipped version * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| ² | F1 | F2 | F3 | | | Prev | Play | Next | |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | | M5 | Space | M5 | | | Ctrl | Esc | +* | GUI | Ctrl | Alt | | M5 | Space | M5 | | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [5] = { { KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO }, - { KC_NO, KC_SQ3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO }, - { _______, KC_SQ2, KC_F1, KC_F2, KC_F3, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ }, + { KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO }, + { _______, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ }, { _______, _______, _______, KC_NO, _______, _______, _______, _______, KC_NO, _______, _______, _______ } } }; From 58f092cf872a8f3f584b98445672f3e6809672c2 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Sun, 24 Jul 2016 04:52:35 +0200 Subject: [PATCH 02/34] moved ctrl --- keyboards/planck/keymaps/bone2planck/keymap.c | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index 4cac60ff9f..440de7f0da 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -5,7 +5,8 @@ #endif #include "keymap_german.h" -/* for intellisense, comment for building +// for intellisense, comment for building +/* #include "..\..\..\..\quantum\keymap_extras\keymap_german.h" #include "..\..\..\..\quantum\keymap_common.h" #include "..\..\..\..\tmk_core\common\keycode.h" @@ -31,14 +32,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| F | V | Ü | Ä | Ö | Y | Z | , | . | K |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M4 | M2 | Space | M2 | M4 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [0] = { - { DE_Q, DE_J, DE_D, DE_U, DE_A, DE_X, DE_P, DE_H, DE_L, DE_M, DE_W, DE_SS }, - { LT(1,KC_TAB), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, LT(1,KC_ENT) }, - { KC_LSFT, DE_F, DE_V, DE_UE, DE_AE, DE_OE, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, KC_LSFT }, - { KC_RGUI, KC_LCTL, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4), KC_RALT, KC_RCTL, KC_ESC } + { DE_Q, DE_J, DE_D, DE_U, DE_A, DE_X, DE_P, DE_H, DE_L, DE_M, DE_W, DE_SS }, + { LT(1,KC_TAB), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, LT(1,KC_ENT) }, + { KC_LSFT, DE_F, DE_V, DE_UE, DE_AE, DE_OE, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, KC_LSFT }, + { KC_LCTL, KC_RGUI, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4), KC_RALT, KC_ESC, KC_RCTL } }, /* M1 Special Characters @@ -50,7 +51,7 @@ very ergonomic placement for coding * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| # | $ | | | ~ | € | + | % | " | ' | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M4 | M2 | Space | M2 | M4 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [1] = { @@ -69,7 +70,7 @@ very easy to get used to & intuituve placement * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| | Tab | Ins | Enter| | 0 | 1 | 2 | 3 | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M3 | M2 | Space | M2 | M3 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [2] = { @@ -88,7 +89,7 @@ accessed by sliding from M2 to M3 with thumb * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| 0 | 1 | 2 | 3 | ; | | Tab | Ins | Enter| |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M3 | | Space | | M3 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M3 | | Space | | M3 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ @@ -109,7 +110,7 @@ slide from m4 to m5 to access flipped version * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| | Prev | Play | Next | | ² | F1 | F2 | F3 | F10 |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M5 | Space | M5 | M4 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M4 | M5 | Space | M5 | M4 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [4] = { @@ -128,7 +129,7 @@ slide from m4 to m5 to access flipped version * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| ² | F1 | F2 | F3 | | | Prev | Play | Next | |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | | M5 | Space | M5 | | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | | M5 | Space | M5 | | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [5] = { From 1bfd57e2345119d5c60e95cdf82e14eb81a3b027 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Sun, 24 Jul 2016 05:02:06 +0200 Subject: [PATCH 03/34] moved insert --- keyboards/planck/keymaps/bone2planck/keymap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index 440de7f0da..6390e12897 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -64,19 +64,19 @@ very ergonomic placement for coding /* Navigation & Number Blocks very easy to get used to & intuituve placement * ,-----------------------------------------------------------------------------------. -* | | PgUp | Bksp | Up | DEL | PgDn | | 7 | 8 | 9 | | | +* | | PgUp | Bksp | Up | DEL | PgDn | | 7 | 8 | 9 | | Ins | * |------+------+------+------+------+-------------+------+------+------+------+------| * | Tab | Home | Lft | Down | Right| End | . | 4 | 5 | 6 | , | Enter| * |------+------+------+------+------+------|------+------+------+------+------+------| -* | Shift| | Tab | Ins | Enter| | 0 | 1 | 2 | 3 | ; |Shift | +* | Shift| | Tab | | Enter| | 0 | 1 | 2 | 3 | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [2] = { - { KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_NO }, + { KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_INS }, { KC_TAB, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_ENT }, - { _______, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, DE_0, DE_1, DE_2, DE_3, DE_SCLN, _______ }, + { _______, KC_NO, KC_TAB, KC_NO, KC_ENT, KC_NO, DE_0, DE_1, DE_2, DE_3, DE_SCLN, _______ }, { _______, _______, _______, MO(3), _______, _______, _______, _______, MO(3), _______, _______, _______ } }, @@ -94,7 +94,7 @@ accessed by sliding from M2 to M3 with thumb */ [3] = { - { KC_NO, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, + { KC_NO, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, { _______, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______ }, { _______, DE_0, DE_1, DE_2, DE_3, DE_SCLN, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, _______ }, { _______, _______, _______, _______, KC_NO, _______, _______, KC_NO, _______, _______, _______, _______ } From 4e0bf283f695b4b584bb62d31bb4cd6d7d1f2203 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Sun, 24 Jul 2016 05:11:07 +0200 Subject: [PATCH 04/34] added readme --- keyboards/planck/keymaps/bone2planck/readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 keyboards/planck/keymaps/bone2planck/readme.md diff --git a/keyboards/planck/keymaps/bone2planck/readme.md b/keyboards/planck/keymaps/bone2planck/readme.md new file mode 100644 index 0000000000..3c425efddb --- /dev/null +++ b/keyboards/planck/keymaps/bone2planck/readme.md @@ -0,0 +1,8 @@ +check keymap.c to the layers + +This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout. +It has "üäöß" as it is optimized for a mix of German & English. +My favourite features are the placement of the special characters often used for programming right on the home row +and the number & navigation block combo, so you never have to move your hands from their home position. + +Bone2 wiki page: http://wiki.neo-layout.org/wiki/Bone \ No newline at end of file From 3e462fac3101955ad3561a104c24ca6125e85acd Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Mon, 25 Jul 2016 20:21:32 +0200 Subject: [PATCH 05/34] added missing F keys in flipped layer --- keyboards/planck/keymaps/bone2planck/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index 6390e12897..5abae692c6 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -123,19 +123,19 @@ slide from m4 to m5 to access flipped version /* flipped Function & Media Keys * ,-----------------------------------------------------------------------------------. -* | | | F7 | F8 | F9 | | | Print|Scroll| Pause| | | +* | | | F7 | F8 | F9 | F12 | | Print|Scroll| Pause| | | * |------+------+------+------+------+-------------+------+------+------+------+------| -* | | ³ | F4 | F5 | F6 | | | Mute | Vol- | Vol+ | | | +* | | ³ | F4 | F5 | F6 | F11 | | Mute | Vol- | Vol+ | | | * |------+------+------+------+------+------|------+------+------+------+------+------| -* | Shift| ² | F1 | F2 | F3 | | | Prev | Play | Next | |Shift | +* | Shift| ² | F1 | F2 | F3 | F10 | | Prev | Play | Next | |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Ctrl | GUI | Alt | | M5 | Space | M5 | | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [5] = { - { KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO }, - { KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO }, - { _______, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ }, + { KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F12, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO }, + { KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO }, + { _______, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ }, { _______, _______, _______, KC_NO, _______, _______, _______, _______, KC_NO, _______, _______, _______ } } }; From 8244fa40ccd89ad16ddc00210d5b1b169fb655c2 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Tue, 26 Jul 2016 14:58:17 +0200 Subject: [PATCH 06/34] added config.h, and missing Ins of filpped navigation layer --- keyboards/planck/keymaps/bone2planck/config.h | 90 +++++++++++++++++++ keyboards/planck/keymaps/bone2planck/keymap.c | 6 +- 2 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 keyboards/planck/keymaps/bone2planck/config.h diff --git a/keyboards/planck/keymaps/bone2planck/config.h b/keyboards/planck/keymaps/bone2planck/config.h new file mode 100644 index 0000000000..ba157db92a --- /dev/null +++ b/keyboards/planck/keymaps/bone2planck/config.h @@ -0,0 +1,90 @@ +/* +Copyright 2012 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#define PREVENT_STUCK_MODIFIERS + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define MANUFACTURER Ortholinear Keyboards +#define PRODUCT The Planck Keyboard +#define DESCRIPTION A compact ortholinear keyboard + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* Planck PCB default pin-out */ +#define MATRIX_ROW_PINS { D0, D5, B5, B6 } +#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } +#define UNUSED_PINS + +#define BACKLIGHT_PIN B7 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#ifdef SUBPROJECT_rev3 + #include "rev3/config.h" +#endif +#ifdef SUBPROJECT_rev4 + #include "rev4/config.h" +#endif + +#endif diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index 5abae692c6..7db3197a72 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -5,7 +5,7 @@ #endif #include "keymap_german.h" -// for intellisense, comment for building +// for intellisense, has to be commented for building /* #include "..\..\..\..\quantum\keymap_extras\keymap_german.h" #include "..\..\..\..\quantum\keymap_common.h" @@ -83,7 +83,7 @@ very easy to get used to & intuituve placement /* Flipped Navigation & Number Blocks for one handed use accessed by sliding from M2 to M3 with thumb * ,-----------------------------------------------------------------------------------. -* | | | 7 | 8 | 9 | | PgUp | Bksp | Up | DEL | PgDn | | +* | Ins | | 7 | 8 | 9 | | PgUp | Bksp | Up | DEL | PgDn | | * |------+------+------+------+------+-------------+------+------+------+------+------| * | Tab | . | 4 | 5 | 6 | , | Home | Left | Down | Right| End | Enter| * |------+------+------+------+------+------|------+------+------+------+------+------| @@ -94,7 +94,7 @@ accessed by sliding from M2 to M3 with thumb */ [3] = { - { KC_NO, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, + { KC_INS, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, { _______, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______ }, { _______, DE_0, DE_1, DE_2, DE_3, DE_SCLN, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, _______ }, { _______, _______, _______, _______, KC_NO, _______, _______, KC_NO, _______, _______, _______, _______ } From a41a7a9100b9f4c6bfdf49b39b05e626ffd95397 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Tue, 26 Jul 2016 16:19:34 +0200 Subject: [PATCH 07/34] include base config.h instead of copying it --- keyboards/planck/keymaps/bone2planck/config.h | 93 +------------------ 1 file changed, 5 insertions(+), 88 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/config.h b/keyboards/planck/keymaps/bone2planck/config.h index ba157db92a..60aff6db0d 100644 --- a/keyboards/planck/keymaps/bone2planck/config.h +++ b/keyboards/planck/keymaps/bone2planck/config.h @@ -1,90 +1,7 @@ -/* -Copyright 2012 Jun Wako - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#ifndef CONFIG_H -#define CONFIG_H - -#define PREVENT_STUCK_MODIFIERS - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define MANUFACTURER Ortholinear Keyboards -#define PRODUCT The Planck Keyboard -#define DESCRIPTION A compact ortholinear keyboard - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 12 - -/* Planck PCB default pin-out */ -#define MATRIX_ROW_PINS { D0, D5, B5, B6 } -#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } -#define UNUSED_PINS - -#define BACKLIGHT_PIN B7 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 3 - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCING_DELAY 5 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* key combination for command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ -) - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#ifdef SUBPROJECT_rev3 - #include "rev3/config.h" -#endif -#ifdef SUBPROJECT_rev4 - #include "rev4/config.h" +#ifndef CONFIG_USER_H +#define CONFIG_USER_H #endif -#endif +#include "../../config.h" + +#define PREVENT_STUCK_MODIFIERS \ No newline at end of file From 5f37b11f2c300a95e0e9e34517c5c29a3345be83 Mon Sep 17 00:00:00 2001 From: Callum Oakley Date: Tue, 9 Aug 2016 11:03:12 +0100 Subject: [PATCH 08/34] changed order of bottom row of symbol layer to ease acess to brackets --- keyboards/planck/keymaps/callum/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c index a747dcb159..ed187df1da 100644 --- a/keyboards/planck/keymaps/callum/keymap.c +++ b/keyboards/planck/keymaps/callum/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------------------------------. * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | ~ | | | + | [ | { | } | ] | = | \ | ` | | + * | | ~ | ` | + | = | | | \ | [ | ] | { | } | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_SYMB] = { {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC }, {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, - {_______, KC_TILD, KC_PIPE, KC_PLUS, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_EQL, KC_BSLS, KC_GRV, _______}, + {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, From 725dd7328f9963959f72318af912ed66f5a5f513 Mon Sep 17 00:00:00 2001 From: Callum Oakley Date: Tue, 9 Aug 2016 11:09:52 +0100 Subject: [PATCH 09/34] updated readme.md to reflect keymap changes --- keyboards/planck/keymaps/callum/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md index d4f3449f15..030def7f77 100644 --- a/keyboards/planck/keymaps/callum/readme.md +++ b/keyboards/planck/keymaps/callum/readme.md @@ -31,9 +31,9 @@ On *macOS* I recommend using [Karabiner](https://pqrs.org/osx/karabiner/) and ti None of the modifiers are overwritten so that `shift-alt-arrows` etc work as expected. ## The `SYMB` layer -![](http://i.imgur.com/iuU144Y.png) +![](http://i.imgur.com/thh1ne2.png) -The symbol layer has all the numbers and their usual corresponding symbols in the first two rows, with the symbols on the home row since I use them more frequently than the numbers. The third row contains all the remaining symbols, with brackets in the centre; then normally shifted symbols to the left, and non shifted to the right, in order of most to least used. +The symbol layer has all the numbers and their usual corresponding symbols in the first two rows, with the symbols on the home row since I use them more frequently than the numbers. The third row contains all the remaining symbols, arranged roughly so that the most used symbols are accessible with the strongest fingers. `esc` and `del` are repeated here since I wanted to be able to reach either, one handed, with either hand. From 993d72b11fca8d50296570dc85e9354f8045c4a6 Mon Sep 17 00:00:00 2001 From: Callum Oakley Date: Fri, 12 Aug 2016 21:05:52 +0100 Subject: [PATCH 10/34] added a lock screen key --- keyboards/planck/keymaps/callum/keymap.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c index ed187df1da..494ed30b06 100644 --- a/keyboards/planck/keymaps/callum/keymap.c +++ b/keyboards/planck/keymaps/callum/keymap.c @@ -20,7 +20,8 @@ enum planck_keycodes { BASE = SAFE_RANGE, MOVE, SYMB, - FUNC + FUNC, + LOCK }; // Fillers to make layering more clear @@ -87,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F12 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | * |-----------------------------------------------------------------------------------. - * | | Play | Prev | Next | BL+ | | | | | | | | + * | | Play | Prev | Next | BL+ | | | Lock | | | | | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | Mute | Vol- | Vol+ | BL- | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -96,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FUNC] = { {KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 }, - {_______, KC_MPLY, KC_MPRV, KC_MNXT, KC_PAUS, _______, _______, _______, _______, _______, _______, _______}, + {_______, KC_MPLY, KC_MPRV, KC_MNXT, KC_PAUS, _______, _______, LOCK, _______, _______, _______, _______}, {_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_SLCK, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET } } @@ -133,6 +134,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; + case LOCK: + if (record->event.pressed) { + register_code(KC_RSFT); + register_code(KC_RGUI); + register_code(KC_POWER); + } else { + unregister_code(KC_POWER); + unregister_code(KC_RGUI); + unregister_code(KC_RSFT); + } + return false; + break; } return true; } From f512179e66e4d4dfbcc92c6ba1aaa1b6cf1ef12b Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Wed, 24 Aug 2016 13:17:01 +0200 Subject: [PATCH 11/34] ergodox: Update algernon's keymap to v1.6 Major changes include: Base layer changes ------------------ * The parentheses & bracket keys have been merged: tapping them results in `[` or `{` (if it was shifted), double tapping leads to `(`. * The `:;` and `-_` keys are now available on the base layer, on their **ADORE** location, too, just below `[{(`/`]})`. * The `Apps` key has been replaced by `F12`. * The `-`/`_` is no longer a tap-dance key. ADORE layer changes ------------------- * Adjustments were made to the **ADORE** layer, to separate some inconvenient combinations. Miscellaneous changes --------------------- * `LEAD u` now starts the symbolic unicode input system, instead of the OS-one. * The mouse acceleration keys on the **Navigation and Media* layer have been turned into toggles: tap them once to turn them on, until tapped again. Tapping an accelerator button will turn all the others off. * When the **ARROW** layer is on, the *red* and *blue* LEDs light up now. Heatmap ------- * The built-in keylogger has been greatly enhanced, it now outputs the pressed state, and the layer (Dvorak or ADORE). As such, the `ADORE_AUTOLOG` option has been removed, instead there is `AUTOLOG_ENABLE` now, which when enabled, makes the keylogger start when the keyboard boots. It defaults to off. * The heatmap generator received a lot of updates. Signed-off-by: Gergely Nagy --- keyboards/ergodox/keymaps/algernon/Makefile | 9 +- .../keymaps/algernon/images/adore-layer.png | Bin 93748 -> 93893 bytes .../keymaps/algernon/images/base-layer.png | Bin 95222 -> 95204 bytes keyboards/ergodox/keymaps/algernon/keymap.c | 498 ++++++------------ keyboards/ergodox/keymaps/algernon/readme.md | 67 ++- ...-layout.json => heatmap-layout.ADORE.json} | 110 ++-- ...layout.json => heatmap-layout.Dvorak.json} | 29 +- .../keymaps/algernon/tools/log-to-heatmap.py | 342 +++++++----- 8 files changed, 542 insertions(+), 513 deletions(-) rename keyboards/ergodox/keymaps/algernon/tools/{heatmap-adore-layout.json => heatmap-layout.ADORE.json} (91%) rename keyboards/ergodox/keymaps/algernon/tools/{heatmap-base-layout.json => heatmap-layout.Dvorak.json} (97%) diff --git a/keyboards/ergodox/keymaps/algernon/Makefile b/keyboards/ergodox/keymaps/algernon/Makefile index 00194857ac..7c2b3ad97c 100644 --- a/keyboards/ergodox/keymaps/algernon/Makefile +++ b/keyboards/ergodox/keymaps/algernon/Makefile @@ -1,22 +1,23 @@ BOOTMAGIC_ENABLE=no COMMAND_ENABLE=no SLEEP_LED_ENABLE=no -UNICODE_ENABLE=no FORCE_NKRO ?= yes DEBUG_ENABLE = no CONSOLE_ENABLE = no TAP_DANCE_ENABLE = yes KEYLOGGER_ENABLE ?= yes +UCIS_ENABLE = yes +MOUSEKEY_ENABLE ?= yes -ADORE_AUTOLOG ?= no +AUTOLOG_ENABLE ?= no ifeq (${FORCE_NKRO},yes) OPT_DEFS += -DFORCE_NKRO endif -ifeq (${ADORE_AUTOLOG},yes) +ifeq (${AUTOLOG_ENABLE},yes) KEYLOGGER_ENABLE = yes -OPT_DEFS += -DADORE_AUTOLOG +OPT_DEFS += -DAUTOLOG_ENABLE endif ifeq (${KEYLOGGER_ENABLE},yes) diff --git a/keyboards/ergodox/keymaps/algernon/images/adore-layer.png b/keyboards/ergodox/keymaps/algernon/images/adore-layer.png index 44ad8a1eb7560b552aa6010b2051fcabb00f01cd..3d0a5fb20cd426a3a79d1b581b1a84d1cd71a8c1 100644 GIT binary patch literal 93893 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 z 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

ArbSae*J$ZPx#uGEwqsw73u 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

>II&6GYpIi%(CONV?^s#o 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 literal 0 HcmV?d00001 diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keymap.c b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keymap.c new file mode 100644 index 0000000000..acf74a47d2 --- /dev/null +++ b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keymap.c @@ -0,0 +1,180 @@ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_norwegian.h" + +#define BASE 0 // default layer +#define BASE_MAC 1 // default layer mac +#define NUMB_FUNC 2 // numbers and function keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Keymap 0: Basic layer PC + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | * | [ | ] | { | } | ~ |Mac/PC| | ^ | $ | ( | ) | < | > | @ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | + | Q | W | F | P | G | " | | ' | J | L | U | Y | Å | Æ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | / | A | R | S | T | D |------| |------| H | N | E | I | O | Ø | + * |--------+------+------+------+------+------| ; | | = |------+------+------+------+------+--------| + * | - | Z | X | C | V | B | | | | K | M | RIGHT| DOWN | UP | _ | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Alt/esc| ! | ? | : | TAB | | LEFT | _ | & | | |Num/fn| + * `----------------------------------' `----------------------------------' + * ,-------------. ,--------------. + * | # | ` | |Insert| % | + * ,------|------|------| |------+-------+------. + * | | | ´ | | Del | | | + * | Shift|Ctrl/.|------| |------| Enter |Space | + * | | |GUI/, | | Bspc | | | + * `--------------------' `---------------------' + */ +[BASE] = KEYMAP( + // left hand + KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, KC_FN2, TG(1), + KC_PPLS, KC_Q, KC_W, KC_F, KC_P, KC_G, NO_QUO2, + KC_PSLS, KC_A, KC_R, KC_S, KC_T, KC_D, + KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, + ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB, + KC_HASH, KC_FN7, + KC_FN6, + KC_FN1,CTL_T(KC_DOT),GUI_T(KC_COMMA), + // right hand + KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, + NO_APOS, KC_J, KC_L, KC_U, KC_Y, NO_AA, NO_AE , + KC_H, KC_N, KC_E, KC_I, KC_O, NO_OSLH, + NO_EQL, KC_K, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, + KC_LEFT, NO_UNDS, NO_AMPR, NO_PIPE, OSL(2), + KC_INSERT, KC_PERC, + KC_DELT, + KC_BSPC,KC_ENT,KC_SPC + ), +/* Keymap 1: Basic layer MAC (Same as pc, except for cmd/ctrl, which are swapped) + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | \ | | | { | } | | | | | $ | | | < | > | @ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | ' |------+------+------+------+------+--------| + * | | | | | | |------| |------| | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | |,/Ctrl| | | | ` | |Num/fn| + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | ` | | | | + * ,------|------|------| |------+------+------. + * | | | ´ | | | | | + * | |GUI/. |------| |------| | | + * | | |crtl/,| | | | | + * `--------------------' `--------------------' + */ +[BASE_MAC] = KEYMAP( + KC_TRNS, KC_TRNS,KC_TRNS, NO_LCBR_MAC,NO_RCBR_MAC, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, NO_GRV_MAC, + KC_FN10, + KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA), + // right hand + KC_TRNS, NO_DLR_MAC, KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_AT_MAC, + NO_APOS_MAC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NO_BSLS_MAC, + KC_TRNS, KC_TRNS, KC_TRNS, NO_PIPE_MAC, OSL(2), + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), + +/* Keymap 2: Number ++´ánd Fn layer pc + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | F9 | F10 | F11 | F12 | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | 8 | 7 | 6 | 5 | 9 | | | | | F5 | F6 | F7 | F8 | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | 4 | 3 | 2 | 1 | 0 |------| |------| | F1 | F2 | F3 | F4 | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | END | PGDWN| PGUP | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | HOME | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[NUMB_FUNC] = KEYMAP( + NO_ASTR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + NO_PLUS, KC_8, KC_7,KC_6,KC_5, KC_9 , KC_TRNS, + NO_SLSH , KC_4 , KC_3 , KC_2 , KC_1 , KC_0, + NO_MINS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_F5, KC_F6 , KC_F7, KC_F8, KC_TRNS, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, + KC_TRNS, KC_HOME, KC_TRNS, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, + KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +) +}; + +enum macro_id { + TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_MODS_ONESHOT(MOD_LSFT), // Sticky shift light. Tap for the next keypress to be shifted. Hold for regular shift. + [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed. + [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first. + [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first. + [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed. + [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed. + [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed. + [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly + [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly + [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed +}; + + + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + keyevent_t event = record->event; + + switch (id) { + case TILDE_NO: + return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); + case LESS_NO: + return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); + case GRTR_NO: + return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); + case CIRC_NO: + return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); + case ACUT_NO: + return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); + case GRV_NO: + return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); + case LESS_NO_MAC: + return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); + case GRTR_NO_MAC: + return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); + case ACUT_NO_MAC: + return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); + } + return MACRO_NONE; +}; diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/readme.md b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/readme.md new file mode 100644 index 0000000000..aaaec3e534 --- /dev/null +++ b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/readme.md @@ -0,0 +1,30 @@ +# Norwegian Colemak setup with osx/pc toggle + +## Motivation +I wanted a Norwegian Colemak setup that worked in a similar way on both my Mac and PC. I also wanted the keyboard to translate from a standard Norwegian keyboard OS setup. + +## Overview +The setup is created to be programmer friendly. +- Most of the symbols used in code can be activated without using layers or shift key. +- You can reach the IDE/OS shortcut activators(Ctrl, Win/Cmd, Alt, Shift) with the thumb or the wrist. +- Navigation is prioritized, arrows below the home row. + +## PC/Mac toggle +The default setup is for Norwegian keyboard setting(not colemak software variants) on a PC(Windows or Linux) or Mac. Use the Mac/PC toggle button to switch between OSX and PC setup. The settings will be reverted to PC setup each time you restart/connect the keyboard. + +## Layers +Since symbols are prioritized in this setup, numbers and function keys are on a new layer. The easiest way to use the layer switch(and also the alt key), is to push your hand right below the little finger, on the key. You will then have all your fingers free to type numbers or press function keys. + +## Tap-shift +Tap for the next character to be shifted, hold down for regular shift. + +## Comma dot and escape +Comma, dot and escape share buttons with modifier keys. Tap to access these keys, hold down to use the keys as modifier keys. + +## Numpad symbols ++-/* are implemented with the numpad keycodes. The benefit is that they will work better with shortcuts in certain programs. For some reason, the default setting in the osx terminal is to not accept numpad characters for '/' and '-'. For a solution, see https://discussions.apple.com/thread/6613968?start=0&tstart=0. +If you really need the norwegian symbols in a program, you can access them using the number toggle button. + +## Layout + +![keyboard-layout](keyboard-layout.png) From da16733e7ab66ebd27fde21312990f5733966a52 Mon Sep 17 00:00:00 2001 From: Roman Zolotarev Date: Wed, 7 Sep 2016 07:55:22 +0800 Subject: [PATCH 34/34] Change CTL_T(KC_ESC) to KC_LCTRL and update readme --- .../romanzolotarev-norman-osx/keymap.c | 30 +++++++-------- .../romanzolotarev-norman-osx/readme.md | 37 +++++++++++++------ 2 files changed, 40 insertions(+), 27 deletions(-) diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/keymap.c b/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/keymap.c index 24d0c4ecb7..2c64304404 100644 --- a/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/keymap.c +++ b/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/keymap.c @@ -6,23 +6,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = KEYMAP( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F5, - KC_TAB, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_BSLS, - CTL_T(KC_ESC), KC_A, KC_S, KC_E, KC_T, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, - KC_F1, KC_F2, KC_F3, KC_F4, KC_LGUI, - /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLD, KC_MUTE, - /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLU, - /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_BSPC, CTL_T(KC_ESC), KC_LALT, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F5, + KC_TAB, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_BSLS, + KC_LCTRL, KC_A, KC_S, KC_E, KC_T, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, + KC_F1, KC_F2, KC_F3, KC_F4, KC_LGUI, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLD, KC_MUTE, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLU, + /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_BSPC, CTL_T(KC_ESC), KC_LALT, // - /*-*/ KC_F6, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, - /*-*/ KC_NO, KC_J, KC_U, KC_R, KC_L, KC_SCLN, KC_MINS, - /*-*/ /*-*/ KC_Y, KC_N, KC_I, KC_O, KC_H, KC_ENT, - /*-*/ KC_RBRC, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - /*-*/ /*-*/ /*-*/ KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, - KC_MPLY, KC_MNXT, + /*-*/ KC_F6, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + /*-*/ KC_NO, KC_J, KC_U, KC_R, KC_L, KC_SCLN, KC_MINS, + /*-*/ /*-*/ KC_Y, KC_N, KC_I, KC_O, KC_H, KC_ENT, + /*-*/ KC_RBRC, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + /*-*/ /*-*/ /*-*/ KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + KC_MPLY, KC_MNXT, KC_MPRV, - KC_RALT, KC_QUOT, KC_SPC + KC_RALT, KC_QUOT, KC_SPC ) }; diff --git a/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/readme.md b/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/readme.md index 80475ab21e..a86061285a 100644 --- a/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/readme.md +++ b/keyboards/ergodox/keymaps/romanzolotarev-norman-osx/readme.md @@ -1,28 +1,41 @@ # Roman's Layout -There is only one layer based on [Norman layout](https://normanlayout.info/). +There is only one layer, and it is based on [Norman +layout](https://normanlayout.info/). Looking for multiple-layer layouts? -- [Symbols, arrows, plover, HJKL arrows](../romanzolotarev-norman-plover-osx-hjkl/) +- [Symbols, arrows, plover, HJKL + arrows](../romanzolotarev-norman-plover-osx-hjkl/) - [Same with IJKL arrows](../romanzolotarev-norman-plover-osx/) [![keyboard-layout](romanzolotarev-norman-osx.png)](http://www.keyboard-layout-editor.com/#/gists/9e89d54f1ea6eeeb7dab1b2d19d28195) -## Functional Keys +## How to use Vim key -- Tap `F1` to mute microphone via [Shush](http://mizage.com/shush/). -- Tap `F2` to copy screenshot to the clipboard. -- Hold `SHIFT` and tap `F2` to save screenshot as a file. -- Tap `F3`, `F4`, `F5`, `F6` to resize a window via [Divvy](http://mizage.com/divvy/). - -## CTRL/ESC - -CTRL and ESC are frequently used in Vim. +It is `CTL_T(KC_ESC)` and it works this way: - Tap `CTRL/ESC` to send `ESC`. - Hold `CTRL/ESC` to use as `CTRL`. -## Activate N-rollover +## How to activate N-rollover - Hold left `SHIFT` and right `SHIRT` and then tap `N`. + +## How to make and flash on OS X + +First you need to install few brew packages. + +```bash +brew tap osx-cross/avr +brew install dfu-programmer avr-libc teensy_loader_cli +``` + +Then you can clone this repository, make and flash your ErgoDox. + +```bash +git clone https://github.com/romanzolotarev/qmk_firmware +cd qmk_firmware/keyboards/ergodox +# Optionally tweak ./keymaps/romanzolotarev-norman-osx/keymap.c +SLEEP_LED_ENABLED=no KEYMAP=romanzolotarev-norman-osx make teensy +```

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 diff --git a/keyboards/ergodox/keymaps/algernon/keymap.c b/keyboards/ergodox/keymaps/algernon/keymap.c index 144030e2e9..9f476d8a6b 100644 --- a/keyboards/ergodox/keymaps/algernon/keymap.c +++ b/keyboards/ergodox/keymaps/algernon/keymap.c @@ -2,6 +2,7 @@ * algernon's ErgoDox EZ layout, please see the readme.md file! */ +#include #include "ergodox.h" #include "led.h" #include "debug.h" @@ -33,7 +34,6 @@ enum { // Buttons that do extra stuff A_GUI, A_PLVR, - A_ESC, A_MPN, // Function / number keys @@ -47,7 +47,6 @@ enum { KF_8, KF_9, KF_10, - KF_11, // =, F11 // Application select keys APP_SLK, // Slack @@ -62,6 +61,11 @@ enum { A_MDL, A_MDR, + // Mouse acceleration + A_ACL0, + A_ACL1, + A_ACL2, + // Hungarian layer keys HU_AA, // Á HU_OO, // Ó @@ -89,7 +93,6 @@ enum { enum { CT_CLN = 0, - CT_MNS, CT_TA, CT_LBP, CT_RBP @@ -102,7 +105,11 @@ uint16_t gui_timer = 0; uint16_t kf_timers[12]; #if KEYLOGGER_ENABLE +# ifdef AUTOLOG_ENABLE +bool log_enable = true; +# else bool log_enable = false; +# endif #endif bool time_travel = false; @@ -114,12 +121,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Base Layer * * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | Next/Prev | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | + * | Next/Prev | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | F12 | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | ~ | ' | , | . | P | Y | [ | | ] | F | G | C | R | L | \ | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | ~ | ' | , | . | P | Y | ( | | ) | F | G | C | R | L | \ | + * |-----------+------+------+------+------+------| [ | | ] |------+------+------+------+------+-----------| * | Tab/ARROW | A | O | E | U | I |------| |------| D | H | T | N | S | = / Arrow | - * |-----------+------+------+------+------+------| ( | | ) |------+------+------+------+------+-----------| + * |-----------+------+------+------+------+------| : | | - |------+------+------+------+------+-----------| * | Play/Pause| / | Q | J | K | X | | | | B | M | W | V | Z | Stop | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' * | | | | | : | | - | | | | | @@ -135,21 +142,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = KEYMAP( // left hand M(A_MPN) ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR) -,KC_GRV ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,KC_LBRC +,KC_GRV ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,TD(CT_LBP) ,TD(CT_TA) ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I -,KC_MPLY ,KC_SLSH ,KC_Q ,KC_J ,KC_K ,KC_X ,KC_LPRN +,KC_MPLY ,KC_SLSH ,KC_Q ,KC_J ,KC_K ,KC_X ,TD(CT_CLN) ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,TD(CT_CLN) ,F(F_ALT),F(F_GUI) ,F(F_CTRL) - ,KC_BSPC,F(F_SFT),M(A_ESC) + ,KC_BSPC,F(F_SFT),KC_ESC // right hand - ,KC_APP ,M(KF_6),M(KF_7) ,M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 - ,KC_RBRC ,KC_F ,KC_G ,KC_C ,KC_R ,KC_L ,KC_BSLS + ,KC_F12 ,M(KF_6),M(KF_7) ,M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 + ,TD(CT_RBP),KC_F ,KC_G ,KC_C ,KC_R ,KC_L ,KC_BSLS ,KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,KC_EQL - ,KC_RPRN ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_MSTP - ,TD(CT_MNS),KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_MINS ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_MSTP + ,KC_MINS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,OSL(NMDIA),KC_DEL ,KC_LEAD @@ -159,13 +166,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 1: Adore layer * * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | Play/Pause| 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | + * | Play/Pause| 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | F12 | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | `~ | X | W | K | L | M | ( | | ) | F | H | C | P | Y | \ | + * | `~ | Y | W | G | L | M | ( | | ) | F | H | C | P | X | \ | * |-----------+------+------+------+------+------| [ | | ] |------+------+------+------+------+-----------| * | Tab/Arrow | A | O | E | I | U |------| |------| D | R | T | N | S | = | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | Z | Q | ' | , | . | : | | - | B | G | V | J | / | | + * | | Z | Q | ' | , | . | : | | - | B | K | V | J | / | | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' * | | | | | | | | | | | | * `-----------------------------------' `-----------------------------------' @@ -180,20 +187,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [ADORE] = KEYMAP( // left hand KC_MPLY ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR) -,KC_GRV ,KC_X ,KC_W ,KC_K ,KC_L ,KC_M ,TD(CT_LBP) +,KC_GRV ,KC_Y ,KC_W ,KC_G ,KC_L ,KC_M ,TD(CT_LBP) ,TD(CT_TA) ,KC_A ,KC_O ,KC_E ,KC_I ,KC_U ,KC_NO ,KC_Z ,KC_Q ,KC_QUOT,KC_COMM,KC_DOT ,TD(CT_CLN) ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,F(F_ALT),F(F_GUI) ,F(F_CTRL) - ,KC_BSPC,F(F_SFT),M(A_ESC) + ,KC_BSPC,F(F_SFT),KC_ESC // right hand - ,KC_APP ,M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 - ,TD(CT_RBP),KC_F ,KC_H ,KC_C ,KC_P ,KC_Y ,KC_BSLS + ,KC_F12 ,M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 + ,TD(CT_RBP),KC_F ,KC_H ,KC_C ,KC_P ,KC_X ,KC_BSLS ,KC_D ,KC_R ,KC_T ,KC_N ,KC_S ,KC_EQL - ,TD(CT_MNS),KC_B ,KC_G ,KC_V ,KC_J ,KC_SLSH ,KC_NO + ,KC_MINS ,KC_B ,KC_K ,KC_V ,KC_J ,KC_SLSH ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,OSL(NMDIA),KC_DEL @@ -363,14 +370,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [NMDIA] = KEYMAP( // left hand - KC_ACL0 ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,LGUI(KC_L) -,KC_ACL1 ,KC_NO ,KC_HOME ,KC_UP ,KC_PGUP ,KC_NO ,KC_NO -,KC_ACL2 ,KC_NO ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_NO + M(A_ACL0) ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,LGUI(KC_L) +,M(A_ACL1) ,KC_NO ,KC_HOME ,KC_UP ,KC_PGUP ,KC_NO ,KC_NO +,M(A_ACL2) ,KC_NO ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_NO ,KC_MPLY ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_MUTE ,KC_VOLU ,KC_VOLD - ,KC_SPC,KC_ENTER,M(A_ESC) + ,KC_SPC,KC_ENTER,KC_ESC // right hand ,LGUI(KC_L),KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO @@ -439,7 +446,7 @@ const uint16_t PROGMEM fn_actions[] = { ,[F_CTRL] = ACTION_MODS_ONESHOT (MOD_LCTL) }; -void toggle_steno(int pressed) +static void toggle_steno(int pressed) { uint8_t layer = biton32(layer_state); @@ -462,7 +469,7 @@ void toggle_steno(int pressed) } } -macro_t *ang_do_hun (keyrecord_t *record, uint16_t accent, uint16_t hun_char) +static macro_t *ang_do_hun (keyrecord_t *record, uint16_t accent, uint16_t hun_char) { uint8_t need_shift = 0; uint8_t hold_shift = 0; @@ -507,46 +514,43 @@ macro_t *ang_do_hun (keyrecord_t *record, uint16_t accent, uint16_t hun_char) return MACRO_NONE; } -void ang_handle_kf (keyrecord_t *record, uint8_t id) +static bool from_appsel; + +static void ang_handle_kf (keyrecord_t *record, uint8_t id) { uint8_t code = id - KF_1; if (record->event.pressed) { kf_timers[code] = timer_read (); } else { - uint8_t kc; + uint8_t kc_base; - if (timer_elapsed (kf_timers[code]) > TAPPING_TERM) { - // Long press - kc = KC_F1 + code; - } else { - if (id == KF_11) - kc = KC_EQL; - else - kc = KC_1 + code; + if (from_appsel) { + from_appsel = false; + return; } - register_code (kc); - unregister_code (kc); + if (kf_timers[code] && timer_elapsed (kf_timers[code]) > TAPPING_TERM) { + // Long press + kc_base = KC_F1; + } else { + kc_base = KC_1; + } + kf_timers[code] = 0; + code += kc_base; + + register_code (code); + unregister_code (code); } } +static struct { + uint8_t idx; +} m_accel_state; + const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { switch(id) { - case A_ESC: - if (record->event.pressed) { - if ((get_oneshot_mods ()) && !has_oneshot_mods_timed_out ()) { - clear_oneshot_mods (); - } else { - register_code (KC_ESC); - } - layer_off (HUN); - } else { - unregister_code (KC_ESC); - } - break; - case A_MPN: if (record->event.pressed) { if (keyboard_report->mods & MOD_BIT(KC_LSFT) || @@ -588,6 +592,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case HU_UEE: return ang_do_hun (record, KC_EQL, KC_U); +#if MOUSEKEY_ENABLE /* Mouse movement */ case A_MUL: if (record->event.pressed) { @@ -633,6 +638,24 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) mousekey_send(); break; + case A_ACL0 ... A_ACL2: + if (record->event.pressed) { + uint8_t idx = id - A_ACL0; + if (m_accel_state.idx == id) { + mousekey_off(m_accel_state.idx - A_ACL0 + KC_ACL0); + m_accel_state.idx = 0; + } else { + if (m_accel_state.idx) { + mousekey_off(m_accel_state.idx - A_ACL0 + KC_ACL0); + m_accel_state.idx = 0; + } + mousekey_on(KC_ACL0 + idx); + m_accel_state.idx = id; + } + } + break; +#endif + /* Plover base */ case A_PLVR: toggle_steno(record->event.pressed); @@ -663,22 +686,34 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) break; case APP_SLK: + from_appsel = true; return MACRODOWN(T(S), T(L), T(A), T(C), T(K), T(ENT), END); case APP_EMCS: + from_appsel = true; return MACRODOWN(T(G), T(N), T(U), T(SPC), T(E), T(M), T(A), T(C), T(S), T(SPC), T(2), T(4), T(ENT), END); case APP_TERM: - return MACRODOWN(T(T), T(E), T(R), T(M), T(ENT), END); + from_appsel = true; + if (!record->event.pressed) { + register_code(KC_ESC); + unregister_code(KC_ESC); + wait_ms(TAPPING_TERM + 25); + register_code(KC_DEL); + unregister_code(KC_DEL); + } + break; case APP_CHRM: + from_appsel = true; return MACRODOWN(T(C), T(H), T(R), T(O), T(M), T(ENT), END); case APP_MSIC: + from_appsel = true; return MACRODOWN(T(R), T(H), T(Y), T(T), T(H), T(M), T(B), T(O), T(X), T(ENT), END); /* Function keys */ - case KF_1 ... KF_11: + case KF_1 ... KF_10: ang_handle_kf (record, id); break; } @@ -686,12 +721,14 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) return MACRO_NONE; }; -uint8_t is_adore = 0; +static uint8_t is_adore = 0; // Runs just one time when the keyboard initializes. void matrix_init_user(void) { uint8_t dl; + set_unicode_input_mode(UC_LNX); + ergodox_led_all_on(); for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) { ergodox_led_all_set (i); @@ -709,120 +746,38 @@ void matrix_init_user(void) { dl = eeconfig_read_default_layer (); if (dl == (1UL << ADORE)) { is_adore = 1; -#if ADORE_AUTOLOG - log_enable = true; -#endif } }; LEADER_EXTERNS(); -void ang_do_unicode (void) { - register_code (KC_RCTL); - register_code (KC_RSFT); - register_code (KC_U); - unregister_code (KC_U); - unregister_code (KC_RSFT); - unregister_code (KC_RCTL); - wait_ms (100); -} +static void ang_tap (uint8_t code, ...) { + uint8_t kc = code; + va_list ap; -void ang_tap (uint16_t codes[]) { - for (int i = 0; codes[i] != 0; i++) { - register_code (codes[i]); - unregister_code (codes[i]); - wait_ms (50); - } + va_start(ap, code); + + do { + register_code(kc); + unregister_code(kc); + wait_ms(50); + kc = va_arg(ap, int); + } while (kc != 0); + va_end(ap); } #define TAP_ONCE(code) \ register_code (code); \ unregister_code (code) -void ang_tap_dance_bp_finished (qk_tap_dance_state_t *state, void *user_data) { - bool left, parens; - - if (state->count > 2) { - state->count = 0; - return; - } - - if (state->keycode == TD(CT_LBP)) - left = true; - else - left = false; - - if (state->count == 1) - parens = false; - else - parens = true; - - if (parens) { - register_code (KC_RSFT); - if (left) { - TAP_ONCE(KC_9); - } else { - TAP_ONCE(KC_0); - } - unregister_code (KC_RSFT); - } else { - if (left) { - TAP_ONCE (KC_LBRC); - } else { - TAP_ONCE (KC_RBRC); - } - } -} - -void ang_tap_dance_cln_finished (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code (KC_RSFT); - register_code (KC_SCLN); - } else if (state->count == 2) { - register_code (KC_SCLN); - } -} - -void ang_tap_dance_cln_reset (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - unregister_code (KC_SCLN); - unregister_code (KC_RSFT); - } else if (state->count == 2) { - unregister_code (KC_SCLN); - } -} - -void ang_tap_dance_mns_finished (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code (KC_MINS); - } else if (state->count == 2) { - register_code (KC_RSFT); - register_code (KC_MINS); - } -} - -void ang_tap_dance_mns_reset (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - unregister_code (KC_MINS); - } else if (state->count == 2) { - unregister_code (KC_RSFT); - unregister_code (KC_MINS); - } -} - typedef struct { bool layer_toggle; bool sticky; - bool finished_once; } td_ta_state_t; -void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) { +static void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) { td_ta_state_t *td_ta = (td_ta_state_t *) user_data; - if (td_ta->finished_once) { - return; - } - if (td_ta->sticky) { td_ta->sticky = false; td_ta->layer_toggle = false; @@ -830,7 +785,6 @@ void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) { return; } - td_ta->finished_once = true; if (state->count == 1 && !state->pressed) { register_code (KC_TAB); td_ta->sticky = false; @@ -842,35 +796,29 @@ void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) { } } -void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data) { +static void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data) { td_ta_state_t *td_ta = (td_ta_state_t *) user_data; if (!td_ta->layer_toggle) unregister_code (KC_TAB); if (!td_ta->sticky) layer_off (ARRW); - - td_ta->finished_once = false; } qk_tap_dance_action_t tap_dance_actions[] = { - [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_cln_finished, ang_tap_dance_cln_reset) - ,[CT_MNS] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_mns_finished, ang_tap_dance_mns_reset) + [CT_CLN] = ACTION_TAP_DANCE_DOUBLE (KC_COLN, KC_SCLN) ,[CT_TA] = { .fn = { NULL, ang_tap_dance_ta_finished, ang_tap_dance_ta_reset }, - .user_data = (void *)&((td_ta_state_t) { false, false, false }) + .user_data = (void *)&((td_ta_state_t) { false, false }) } - ,[CT_LBP] = ACTION_TAP_DANCE_FN (ang_tap_dance_bp_finished) - ,[CT_RBP] = ACTION_TAP_DANCE_FN (ang_tap_dance_bp_finished) + ,[CT_LBP] = ACTION_TAP_DANCE_DOUBLE (KC_LBRC, KC_LPRN) + ,[CT_RBP] = ACTION_TAP_DANCE_DOUBLE (KC_RBRC, KC_RPRN) }; -static uint16_t uni[32]; -static uint8_t unicnt; -static bool unimagic = false; - // Runs constantly in the background, in a loop. void matrix_scan_user(void) { uint8_t layer = biton32(layer_state); + bool is_arrow = false; if (gui_timer && timer_elapsed (gui_timer) > TAPPING_TERM) unregister_code (KC_LGUI); @@ -893,13 +841,19 @@ void matrix_scan_user(void) { ergodox_right_led_2_set (LED_BRIGHTNESS_HI); } + if (layer_state & (1UL << ARRW)) { + ergodox_right_led_1_on (); + ergodox_right_led_3_on (); + is_arrow = true; + } + if (keyboard_report->mods & MOD_BIT(KC_LSFT) || ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { ergodox_right_led_1_set (LED_BRIGHTNESS_HI); ergodox_right_led_1_on (); } else { ergodox_right_led_1_set (LED_BRIGHTNESS_LO); - if (layer != NMDIA && layer != PLVR && layer != ADORE) + if (layer != NMDIA && layer != PLVR && layer != ADORE && !is_arrow) ergodox_right_led_1_off (); } @@ -919,7 +873,7 @@ void matrix_scan_user(void) { ergodox_right_led_3_on (); } else { ergodox_right_led_3_set (LED_BRIGHTNESS_LO); - if (layer != HUN && layer != PLVR && layer != ADORE) + if (layer != HUN && layer != PLVR && layer != ADORE && !is_arrow) ergodox_right_led_3_off (); } @@ -936,20 +890,17 @@ void matrix_scan_user(void) { } #endif + SEQ_ONE_KEY (KC_Q) { + register_code16 (LCTL(KC_1)); + unregister_code16 (LCTL(KC_1)); + } + SEQ_ONE_KEY (KC_T) { time_travel = !time_travel; } SEQ_ONE_KEY (KC_U) { - ang_do_unicode (); - } - - SEQ_TWO_KEYS (KC_LEAD, KC_U) { - unicnt = 0; - unimagic = true; - register_code(KC_RSFT); - TAP_ONCE(KC_U); - unregister_code(KC_RSFT); + qk_ucis_start(); } SEQ_ONE_KEY (KC_V) { @@ -958,25 +909,23 @@ void matrix_scan_user(void) { SEQ_ONE_KEY (KC_L) { /* λ */ - ang_do_unicode (); - - uint16_t codes[] = {KC_0, KC_3, KC_B, KC_B, KC_ENT, 0}; - ang_tap (codes); + unicode_input_start(); + register_hex(0x03bb); + unicode_input_finish(); } SEQ_ONE_KEY (KC_Y) { - uint16_t codes[] = {KC_BSLS, KC_O, KC_SLSH, 0}; - ang_tap (codes); + ang_tap (KC_BSLS, KC_O, KC_SLSH, 0); } SEQ_ONE_KEY (KC_S) { - ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); + unicode_input_start(); register_hex(0xaf); unicode_input_finish(); TAP_ONCE (KC_BSLS); register_code (KC_RSFT); TAP_ONCE (KC_MINS); TAP_ONCE (KC_9); unregister_code (KC_RSFT); - ang_do_unicode (); TAP_ONCE (KC_3); TAP_ONCE (KC_0); TAP_ONCE (KC_C); TAP_ONCE (KC_4); TAP_ONCE (KC_SPC); + unicode_input_start (); register_hex(0x30c4); unicode_input_finish(); register_code (KC_RSFT); TAP_ONCE (KC_0); TAP_ONCE (KC_MINS); unregister_code (KC_RSFT); TAP_ONCE (KC_SLSH); - ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); + unicode_input_start (); register_hex(0xaf); unicode_input_finish(); } SEQ_TWO_KEYS (KC_W, KC_M) { @@ -987,8 +936,7 @@ void matrix_scan_user(void) { wait_ms (1000); - uint16_t codes[] = {KC_M, KC_A, KC_X, KC_MINS, KC_F, KC_O, KC_C, KC_U, KC_S, KC_E, KC_D, KC_ENT, 0}; - ang_tap (codes); + ang_tap (KC_M, KC_A, KC_X, KC_MINS, KC_F, KC_O, KC_C, KC_U, KC_S, KC_E, KC_D, KC_ENT, 0); register_code (KC_LGUI); register_code (KC_UP); unregister_code (KC_UP); @@ -1013,13 +961,7 @@ void matrix_scan_user(void) { ergodox_right_led_2_off (); wait_ms (100); ergodox_right_led_1_off (); -#if ADORE_AUTOLOG - log_enable = true; -#endif } else { -#if ADORE_AUTOLOG - log_enable = false; -#endif is_adore = 0; default_layer_and (0); default_layer_or (1UL << BASE); @@ -1043,140 +985,38 @@ void matrix_scan_user(void) { static uint16_t last4[4]; -bool is_uni_seq(char *seq) { - uint8_t i; - - for (i = 0; seq[i]; i++) { - uint16_t code; - if (('1' <= seq[i]) && (seq[i] <= '9')) - code = seq[i] - '1' + KC_1; - else if (seq[i] == '0') - code = KC_0; - else - code = seq[i] - 'a' + KC_A; - - if (i > unicnt) - return false; - if (uni[i] != code) - return false; - } - - if (uni[i] == KC_ENT || uni[i] == KC_SPC) - return true; - - return false; -} - -uint16_t hex_to_keycode(uint8_t hex) -{ - if (hex == 0x0) { - return KC_0; - } else if (hex < 0xA) { - return KC_1 + (hex - 0x1); - } else { - return KC_A + (hex - 0xA); - } -} - -void register_hex(uint16_t hex) { - bool leading_zeros = true; - - for(int i = 3; i >= 0; i--) { - uint8_t digit = ((hex >> (i*4)) & 0xF); - if (digit != 0) - leading_zeros = false; - else if (leading_zeros) - continue; - register_code(hex_to_keycode(digit)); - unregister_code(hex_to_keycode(digit)); - wait_ms(10); - } -} - -typedef struct { - char *symbol; - uint16_t codes[4]; -} qk_ucis_symbol_t; - -static qk_ucis_symbol_t ucis_symbol_table[] = { - {"poop", {0x1, 0xf4a9, 0}}, - {"rofl", {0x1, 0xf923, 0}}, - {"kiss", {0x1, 0xf619, 0}}, - {"snowman", {0x2603, 0}}, - {NULL, {}} -}; - -bool process_record_ucis (uint16_t keycode, keyrecord_t *record) { - uint8_t i; - - if (!unimagic) - return true; - - if (!record->event.pressed) - return true; - - uni[unicnt] = keycode; - unicnt++; - - if (keycode == KC_BSPC) { - if (unicnt >= 2) { - unicnt-= 2; - return true; - } else { - unicnt--; - return false; - } - } - - if (keycode == KC_ENT || keycode == KC_SPC) { - bool symbol_found = false; - - for (i = unicnt; i > 0; i--) { - register_code (KC_BSPC); - unregister_code (KC_BSPC); - wait_ms(10); - } - - ang_do_unicode(); - wait_ms(10); - for (i = 0; ucis_symbol_table[i].symbol; i++) { - if (is_uni_seq (ucis_symbol_table[i].symbol)) { - symbol_found = true; - for (uint8_t j = 0; ucis_symbol_table[i].codes[j]; j++) { - register_hex(ucis_symbol_table[i].codes[j]); - } - break; - } - } - if (!symbol_found) { - for (i = 0; i < unicnt - 1; i++) { - uint8_t code; - - if (uni[i] > KF_1) - code = uni[i] - KF_1 + KC_1; - else - code = uni[i]; - TAP_ONCE(code); - wait_ms (10); - } - } - - unimagic = false; - return true; - } - return true; -} +const qk_ucis_symbol_t ucis_symbol_table[] = UCIS_TABLE +( + UCIS_SYM("poop", 0x1f4a9), + UCIS_SYM("rofl", 0x1f923), + UCIS_SYM("kiss", 0x1f619), + UCIS_SYM("snowman", 0x2603), + UCIS_SYM("coffee", 0x2615), + UCIS_SYM("heart", 0x2764), + UCIS_SYM("bolt", 0x26a1) +); bool process_record_user (uint16_t keycode, keyrecord_t *record) { #if KEYLOGGER_ENABLE if (log_enable) { - xprintf ("KL: col=%d, row=%d\n", record->event.key.col, - record->event.key.row); + xprintf ("KL: col=%02d, row=%02d, pressed=%d, layer=%s\n", record->event.key.col, + record->event.key.row, record->event.pressed, (is_adore) ? "ADORE" : "Dvorak"); } #endif - if (!process_record_ucis (keycode, record)) - return false; + if (keycode == KC_ESC && record->event.pressed) { + bool queue = true; + + if ((get_oneshot_mods ()) && !has_oneshot_mods_timed_out ()) { + clear_oneshot_mods (); + queue = false; + } + if (layer_state & (1UL<event.pressed) { uint8_t p; @@ -1188,15 +1028,13 @@ bool process_record_user (uint16_t keycode, keyrecord_t *record) { last4[3] = keycode; if (last4[0] == KC_D && last4[1] == KC_A && last4[2] == KC_T && last4[3] == KC_E) { - uint16_t codes[] = {KC_E, KC_SPC, KC_MINS, KC_D, KC_SPC, KC_QUOT, 0}; - ang_tap (codes); + ang_tap (KC_E, KC_SPC, KC_MINS, KC_D, KC_SPC, KC_QUOT, 0); register_code (KC_RSFT); register_code (KC_EQL); unregister_code (KC_EQL); unregister_code (KC_RSFT); - uint16_t codes2[] = {KC_4, KC_SPC, KC_D, KC_A, KC_Y, KC_S, KC_QUOT, 0}; - ang_tap (codes2); + ang_tap (KC_4, KC_SPC, KC_D, KC_A, KC_Y, KC_S, KC_QUOT, 0); return false; } @@ -1204,3 +1042,17 @@ bool process_record_user (uint16_t keycode, keyrecord_t *record) { return true; } + +void qk_ucis_symbol_fallback (void) { + for (uint8_t i = 0; i < qk_ucis_state.count - 1; i++) { + uint8_t code; + + if (qk_ucis_state.codes[i] > KF_1) + code = qk_ucis_state.codes[i] - KF_1 + KC_1; + else + code = qk_ucis_state.codes[i]; + register_code(code); + unregister_code(code); + wait_ms (10); + } +} diff --git a/keyboards/ergodox/keymaps/algernon/readme.md b/keyboards/ergodox/keymaps/algernon/readme.md index 26dfddbe6a..5e7adb3320 100644 --- a/keyboards/ergodox/keymaps/algernon/readme.md +++ b/keyboards/ergodox/keymaps/algernon/readme.md @@ -3,11 +3,15 @@ algernon's layout ======================= -This is an unconventional layout for the ErgoDox EZ. For more details about the history of the layout, see my [blog posts about my ErgoDox journey][blog-ergodox]. +This is an unconventional layout for the [ErgoDox EZ][ez]. For more details about the history of the layout, see my [blog posts about my ErgoDox journey][blog-ergodox]. + [ez]: https://ergodox-ez.com/ [blog-ergodox]: https://asylum.madhouse-project.org/blog/tags/ergodox/ -Some of the things in the layout only work when one uses Spacemacs and GNOME under Linux. Your mileage may vary. +Some of the things in the layout only work when one uses [Spacemacs][spacemacs] and [GNOME][gnome] under Linux. Your mileage may vary. + + [spacemacs]: http://spacemacs.org/ + [gnome]: https://www.gnome.org/ ## Table of Contents @@ -40,10 +44,10 @@ At its core, this is a Dvorak layout, with some minor changes. The more interest * The `GUI` key is special, because when I double-tap it, it sends `GUI + w`, which pops up an application selector. It also switches to a one-shot layer, where the number row on the left half turns into app selector macros, for the most common things I usually want to switch to. Otherwise it behaves as on a normal layout. * The `ESC` key also doubles as a one-shot cancel key: if tapped while any of the one-shot modifiers are in-flight (as in, single-tapped, and not expired yet), it cancels all one-shot modifiers. It also cancels the **Hun** layer, if active. Otherwise it sends the usual keycode. * The **Media** and **Hun** layer keys are one-shot, the **STENO** key is a toggle. -* When holding any of the **Arrow** layer keys, the arrow layer activates while the layer key is held. Tapping the key produces the normal key. +* When holding the `Tab`/**Arrow** key, the arrow layer activates while the key is held. Tapping the key produces the normal, `Tab` key. Double-tapping it toggles the **Arrow** layer on until a third tap. * Tapping the `:` key once yields `:`, tapping it twice yields `;`. +* Tapping the `[{(`/`)}]` keys once yields `[` (or `{` when shifted), tapping them twice yields `(`. * The **Lead** key allows me to type in a sequence of keys, and trigger some actions: - - `LEAD u` enters unicode input mode, by sending the GTK+ key sequence that does this. - `LEAD l` uses the unicode input method to enter a `λ`. - `LEAD s` does a lot of magic to type in a shruggie: `¯\_(ツ)_/¯` - `LEAD y` types `\o/`. @@ -52,7 +56,7 @@ At its core, this is a Dvorak layout, with some minor changes. The more interest - `LEAD v` prints the firmware version, the keyboard and the keymap. - `LEAD d` toggles logging keypress positions to the HID console. - `LEAD t` toggles time travel. Figuring out the current `date` is left as an exercise to the reader. - - `LEAD LEAD u` enters the [Unicode symbol input][#unicode-symbol-input] mode. + - `LEAD u` enters the [Unicode symbol input](#unicode-symbol-input) mode. ## ADORE layer @@ -91,6 +95,7 @@ For the layers, the following rules apply: * When the [ADORE layer](#adore-layer) is toggled on, LEDs will light up from left to right in a sequence, then turn off. When the layer is toggled off, the LEDs light up and turn off in the other direction. No LEDs are on while the layer is active. * When the [Hungarian layer](#hungarian-layer) is active, the *green* and *blue* LEDs are on. * When the [Navigation and media layer](#navigation-and-media-layer) is active, the *red* and *green* ones are on. +* When the **ARROW** layer is active, the *red* and *blue* ones are on. * For the [Steno layer](#steno-layer), all LEDs will be turned on. Unless noted otherwise, the layers use a dim light for the LEDs, while modifiers use a stronger one, and modifiers override any layer preferences. For example, when on the one-handed layer, with the left side active (*red* light blinking), if `Shift` is on, the *red* light will be constantly on. @@ -116,7 +121,7 @@ This is an experimental feature, and may or may not work reliably. When the keypress logging functionality is enabled (by `LEAD d`), the keyboard will output a line every time a key is pressed, containing the position of the key in the matrix. This allows one to collect this information, and build analytics over it, such as a heat map, including dead keys too. -Included with the firmware is a small tool that can parse these logs, and create a heatmap that one can import into [KLE][kle]. To use it, simply point `tools/log-to-heatmap.py` to a base layout file (one is included in the `tools/` directory), and the key position log. The latter one can create by running `hid-listen`, and redirecting its output to a file. +Included with the firmware is a small tool that can parse these logs, and create a heatmap that one can import into [KLE][kle]. To use it, either pipe the output of `hid_listen` into it, or pipe it an already saved log, and it will save the results into files in an output directory (given on the command-line). See the output of `tools/log-to-heatmap.py --help` for more information. [kle]: http://www.keyboard-layout-editor.com/ @@ -151,7 +156,35 @@ The keymap default to forcing NKRO, which seems to upset Windows, and except the # Changelog -## v1.5 - 2016-08-12 +## v1.6 + +*2016-08-24* + +### Base layer changes + +* The parentheses & bracket keys have been merged: tapping them results in `[` or `{` (if it was shifted), double tapping leads to `(`. +* The `:;` and `-_` keys are now available on the base layer, on their [ADORE](#adore-layer) location, too, just below `[{(`/`]})`. +* The `Apps` key has been replaced by `F12`. +* The `-`/`_` is no longer a tap-dance key. + +### ADORE layer changes + +* Adjustments were made to the [ADORE](#adore-layer) layer, to separate some inconvenient combinations. + +### Miscellaneous changes + +* `LEAD u` now starts the symbolic unicode input system, instead of the OS-one. +* The mouse acceleration keys on the [Navigation and Media](#navigation-and-media-layer) layer have been turned into toggles: tap them once to turn them on, until tapped again. Tapping an accelerator button will turn all the others off. +* When the **ARROW** layer is on, the *red* and *blue* LEDs light up now. + +### Heatmap + +* The built-in keylogger has been greatly enhanced, it now outputs the pressed state, and the layer (Dvorak or ADORE). As such, the `ADORE_AUTOLOG` option has been removed, instead there is `AUTOLOG_ENABLE` now, which when enabled, makes the keylogger start when the keyboard boots. It defaults to off. +* The heatmap generator received a lot of updates. + +## v1.5 + +*2016-08-12* * The **1HAND** layer has been removed. * A `Delete` key is now available on the right thumb cluster. @@ -161,7 +194,9 @@ The keymap default to forcing NKRO, which seems to upset Windows, and except the * On the **ARROW** layer, `Backspace` has been replaced by `Enter`. * There is some experimental support for entering Unicode symbols. -## v1.4 - 2016-07-29 +## v1.4 + +*2016-07-29* * When toggling the key logging on or off, the LEDs will do a little dance. * The keylogger is now optional, but enabled by default. Use `KEYLOGGER_ENABLE=no` on the `make` command line to disable it. @@ -169,14 +204,18 @@ The keymap default to forcing NKRO, which seems to upset Windows, and except the * The `-`/`_` key was turned into a tap-dance key too. * There is now a way to travel time with the keyboard, toggle the feature on by hitting `LEAD t`. -## v1.3 - 2016-07-06 +## v1.3 + +*2016-07-06* * Added support for logging keys, by pressing `LEAD d`. Also included is a tool to generate a [heatmap](#heatmap) out of the logs. * The arrow and navigation keys were rearranged again, and now require an additional key being held to activate. See the [base layer](#base-layer) for an image that shows where arrows are. * The **experimental** layer has been redone, and is now called [ADORE](#adore-layer), and as such, can be enabled by `LEAD a` now. * Switching between Dvorak and ADORE is now persisted into EEPROM, and survives a reboot. -## v1.2 - 2016-06-22 +## v1.2 + +*2016-06-22* * The forced NKRO mode can be easily toggled off at compile-time, to make the firmware compatible with [certain operating systems](#using-on-windows). * The `:;` key has changed behaviour: to access the `;` symbol, the key needs to be double-tapped, instead of shifted. @@ -187,7 +226,9 @@ The keymap default to forcing NKRO, which seems to upset Windows, and except the * On the **experimental** layer, the `L` and `Q`, and the `K` and `G` keys were swapped. * The [Steno](#steno-layer) layer gained a few more `#` and `*` keys, to make it easier on my fingers. -## v1.1 - 2016-06-14 +## v1.1 + +*2016-06-14* * The keyboard starts in NKRO mode, bootmagic and other things are disabled. * A [Steno](#steno-layer) layer was added, to be used with Plover. @@ -201,7 +242,9 @@ The keymap default to forcing NKRO, which seems to upset Windows, and except the - `:` now inputs `;` when shifted. * `ESC` cancels the [Hungarian](#hungarian-layer) layer too, not just modifiers. -## v1.0 - 2016-05-26 +## v1.0 + +*2016-05-26* Initial version. diff --git a/keyboards/ergodox/keymaps/algernon/tools/heatmap-adore-layout.json b/keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.ADORE.json similarity index 91% rename from keyboards/ergodox/keymaps/algernon/tools/heatmap-adore-layout.json rename to keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.ADORE.json index 544f61ce87..4dfa877a78 100644 --- a/keyboards/ergodox/keymaps/algernon/tools/heatmap-adore-layout.json +++ b/keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.ADORE.json @@ -75,9 +75,9 @@ "STENO", { "x": 4.5, - "f": 6 + "f": 3 }, - "", + "F12", { "c": "#7adabd", "a": 4, @@ -94,12 +94,20 @@ { "y": -0.875, "c": "#ffb2d2", - "f": 3, + "f": 9, + "a": 6, "w": 1.5 }, - "\n\n~\n`", + "\n\n", { - "t": "#0d0d0b" + "t": "#0d0d0b", + "f": 3, + "a": 4, + "fa": [ + 0, + 0, + 2 + ] }, "!\n1\nF1", { @@ -120,7 +128,7 @@ "t": "#000000", "a": 6 }, - "L", + "G", { "x": 10.5 }, @@ -132,16 +140,16 @@ "x": 2.5, "c": "#bfbad1", "t": "#0d0d0b", - "a": 4 + "a": 6 }, - ">\n.", + "W", { "x": 1, "c": "#7adabd", "t": "#000000", "a": 6 }, - "W", + "L", { "x": 8.5 }, @@ -164,14 +172,15 @@ { "c": "#93c9b7", "a": 4, + "fa": [0, 0, 0], "h": 1.5 }, - "{\n[", + "{\n(\n[", { "x": 4.5, "h": 1.5 }, - "}\n]", + "}\n)\n]", { "c": "#7adabd", "a": 6 @@ -183,21 +192,22 @@ "y": -0.875, "c": "#ffb07b", "t": "#0d0d0b", - "f": 6, + "f": 3, + "a": 4, "w": 1.5 }, - "\n\n", + "\n\n~\n`", { "c": "#ffb2d2", - "a": 4, + "a": 6, "f": 3 }, - "<\n,", + "Y", { "x": 14.5, "a": 6 }, - "Y", + "X", { "a": 4, "w": 1.5 @@ -300,15 +310,14 @@ "x": 6.5, "c": "#93c9b7", "t": "#000000", - "a": 7, "h": 1.5 }, - "(", + ";\n:", { "x": 4.5, "h": 1.5 }, - ")" + "_\n-" ], [ { @@ -320,7 +329,9 @@ }, "\"\n'", { - "x": 10.5 + "x": 10.5, + "a": 6, + "f": 3 }, "V" ], @@ -329,19 +340,22 @@ "y": -0.875, "x": 2.5, "c": "#bfbad1", - "t": "#0d0d0b" + "t": "#0d0d0b", + "a": 6 }, - "Z", + "Q", { "x": 1, "c": "#7adabd", - "t": "#000000" + "t": "#000000", + "a": 4 + }, + "<\n,", + { + "x": 8.5, + "a": 6 }, "K", - { - "x": 8.5 - }, - "G", { "x": 1, "c": "#bfbad1", @@ -354,11 +368,13 @@ "y": -0.875, "x": 5.5, "c": "#7adabd", - "t": "#000000" + "t": "#000000", + "a": 4 }, - "X", + ">\n.", { - "x": 6.5 + "x": 6.5, + "a": 6 }, "B" ], @@ -367,28 +383,32 @@ "y": -0.875, "c": "#ffb07b", "f": 9, - "w": 1.5 + "w": 1.5, + "g": true }, - "\n\n", + "", { "c": "#ffb2d2", "t": "#0d0d0b", - "a": 4, - "f": 3 + "a": 6, + "f": 3, + "g": false }, - "?\n/", + "Z", { "x": 14.5, - "a": 6 + "a": 4 }, - "Q", + "?\n/", { "c": "#ffb07b", "t": "#000000", "f": 9, - "w": 1.5 + "g": true, + "w": 1.5, + "a": 4 }, - "" + "" ], [ { @@ -414,14 +434,14 @@ { "x": 1, "c": "#d4872a", - "g": false, + "g": true, "a": 5 }, - ";\n:", + "", { "x": 8.5 }, - "_\n-", + "", { "x": 1, "c": "#d9dae0", @@ -503,13 +523,13 @@ }, "MEDIA", {}, - "1HAND" + "DEL" ], [ { "x": -3 }, - "LEAD", + "HUN", { "c": "#d4872a", "f": 9, @@ -528,6 +548,6 @@ "c": "#f9cd31", "f": 2 }, - "HUN" + "LEAD" ] ] diff --git a/keyboards/ergodox/keymaps/algernon/tools/heatmap-base-layout.json b/keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.Dvorak.json similarity index 97% rename from keyboards/ergodox/keymaps/algernon/tools/heatmap-base-layout.json rename to keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.Dvorak.json index 148bb1f23b..1248d36af7 100644 --- a/keyboards/ergodox/keymaps/algernon/tools/heatmap-base-layout.json +++ b/keyboards/ergodox/keymaps/algernon/tools/heatmap-layout.Dvorak.json @@ -75,9 +75,9 @@ "STENO", { "x": 4.5, - "f": 6 + "f": 3 }, - "", + "F12", { "c": "#7adabd", "a": 4, @@ -94,12 +94,21 @@ { "y": -0.875, "c": "#ffb2d2", - "f": 3, + "f": 6, + "a": 6, "w": 1.5 }, - "\n\n~\n`", + "\n\n", { - "t": "#0d0d0b" + "f": 3, + "t": "#0d0d0b", + "a": 4, + "fa": [ + 0, + 0, + 2 + ] + }, "!\n1\nF1", { @@ -167,12 +176,12 @@ "a": 4, "h": 1.5 }, - "{\n[", + "{\n(\n[", { "x": 4.5, "h": 1.5 }, - "}\n]", + "}\n)\n]", { "c": "#7adabd", "a": 6 @@ -184,10 +193,10 @@ "y": -0.875, "c": "#ffb07b", "t": "#0d0d0b", - "f": 6, + "f": 3, "w": 1.5 }, - "\n\n", + "\n\n~\n`", { "c": "#ffb2d2", "a": 4, @@ -503,7 +512,7 @@ }, "MEDIA", {}, - "1HAND" + "DEL" ], [ { diff --git a/keyboards/ergodox/keymaps/algernon/tools/log-to-heatmap.py b/keyboards/ergodox/keymaps/algernon/tools/log-to-heatmap.py index a13d12e81a..68585843be 100755 --- a/keyboards/ergodox/keymaps/algernon/tools/log-to-heatmap.py +++ b/keyboards/ergodox/keymaps/algernon/tools/log-to-heatmap.py @@ -3,143 +3,247 @@ import json import os import sys import re +import argparse from math import floor +from os.path import dirname -cr_coord_map = [ - [ - # Row 0 - [ 4, 0], [ 4, 2], [ 2, 0], [ 1, 0], [ 2, 2], [ 3, 0], [ 3, 2], - [ 3, 4], [ 3, 6], [ 2, 4], [ 1, 2], [ 2, 6], [ 4, 4], [ 4, 6], - ], - [ - # Row 1 - [ 8, 0], [ 8, 2], [ 6, 0], [ 5, 0], [ 6, 2], [ 7, 0], [ 7, 2], - [ 7, 4], [ 7, 6], [ 6, 4], [ 5, 2], [ 6, 6], [ 8, 4], [ 8, 6], - ], - [ - # Row 2 - [12, 0], [12, 2], [10, 0], [ 9, 0], [10, 2], [11, 0], [ ], - [ ], [11, 2], [10, 4], [ 9, 2], [10, 6], [12, 4], [12, 6], - ], - [ - # Row 3 - [17, 0], [17, 2], [15, 0], [14, 0], [15, 2], [16, 0], [13, 0], - [13, 2], [16, 2], [15, 4], [14, 2], [15, 6], [17, 4], [17, 6], - ], - [ - # Row 4 - [20, 0], [20, 2], [19, 0], [18, 0], [19, 2], [], [], [], [], - [19, 4], [18, 2], [19, 6], [20, 4], [20, 6], - ], - [ - # Row 5 - [ ], [23, 0], [22, 2], [22, 0], [22, 4], [21, 0], [21, 2], - [24, 0], [24, 2], [25, 0], [25, 4], [25, 2], [26, 0], [ ], - ], -] +class Heatmap(object): + coords = [ + [ + # Row 0 + [ 4, 0], [ 4, 2], [ 2, 0], [ 1, 0], [ 2, 2], [ 3, 0], [ 3, 2], + [ 3, 4], [ 3, 6], [ 2, 4], [ 1, 2], [ 2, 6], [ 4, 4], [ 4, 6], + ], + [ + # Row 1 + [ 8, 0], [ 8, 2], [ 6, 0], [ 5, 0], [ 6, 2], [ 7, 0], [ 7, 2], + [ 7, 4], [ 7, 6], [ 6, 4], [ 5, 2], [ 6, 6], [ 8, 4], [ 8, 6], + ], + [ + # Row 2 + [12, 0], [12, 2], [10, 0], [ 9, 0], [10, 2], [11, 0], [ ], + [ ], [11, 2], [10, 4], [ 9, 2], [10, 6], [12, 4], [12, 6], + ], + [ + # Row 3 + [17, 0], [17, 2], [15, 0], [14, 0], [15, 2], [16, 0], [13, 0], + [13, 2], [16, 2], [15, 4], [14, 2], [15, 6], [17, 4], [17, 6], + ], + [ + # Row 4 + [20, 0], [20, 2], [19, 0], [18, 0], [19, 2], [], [], [], [], + [19, 4], [18, 2], [19, 6], [20, 4], [20, 6], + ], + [ + # Row 5 + [ ], [23, 0], [22, 2], [22, 0], [22, 4], [21, 0], [21, 2], + [24, 0], [24, 2], [25, 0], [25, 4], [25, 2], [26, 0], [ ], + ], + ] -def set_attr_at(j, b, n, attr, fn, val): - blk = j[b][n] - if attr in blk: - blk[attr] = fn(blk[attr], val) - else: - blk[attr] = fn(None, val) + def set_attr_at(self, block, n, attr, fn, val): + blk = self.heatmap[block][n] + if attr in blk: + blk[attr] = fn(blk[attr], val) + else: + blk[attr] = fn(None, val) -def coord(col, row): - return cr_coord_map[row][col] + def coord(self, col, row): + return self.coords[row][col] -def set_attr(orig, new): - return new + @staticmethod + def set_attr(orig, new): + return new -def set_bg(j, (b, n), color): - set_attr_at(j, b, n, "c", set_attr, color) - #set_attr_at(j, b, n, "g", set_attr, False) + def set_bg(self, (block, n), color): + self.set_attr_at(block, n, "c", self.set_attr, color) + #self.set_attr_at(block, n, "g", self.set_attr, False) -def _set_tap_info(o, count, cap): - ns = 4 - o.count ("\n") - return o + "\n" * ns + "%.02f%%" % (float(count) / float(cap) * 100) + def set_tap_info(self, (block, n), count, cap): + def _set_tap_info(o, _count, _cap): + ns = 4 - o.count ("\n") + return o + "\n" * ns + "%.02f%%" % (float(_count) / float(_cap) * 100) -def set_tap_info(j, (b, n), count, cap): - j[b][n + 1] = _set_tap_info (j[b][n + 1], count, cap) + if not cap: + cap = 1 + self.heatmap[block][n + 1] = _set_tap_info (self.heatmap[block][n + 1], count, cap) -def heatmap_color (v): - colors = [ [0.3, 0.3, 1], [0.3, 1, 0.3], [1, 1, 0.3], [1, 0.3, 0.3]] - fb = 0 - if v <= 0: - idx1, idx2 = 0, 0 - elif v >= 1: - idx1, idx2 = len(colors) - 1, len(colors) - 1 - else: - val = v * (len(colors) - 1) - idx1 = int(floor(val)) - idx2 = idx1 + 1 - fb = val - float(idx1) + @staticmethod + def heatmap_color (v): + colors = [ [0.3, 0.3, 1], [0.3, 1, 0.3], [1, 1, 0.3], [1, 0.3, 0.3]] + fb = 0 + if v <= 0: + idx1, idx2 = 0, 0 + elif v >= 1: + idx1, idx2 = len(colors) - 1, len(colors) - 1 + else: + val = v * (len(colors) - 1) + idx1 = int(floor(val)) + idx2 = idx1 + 1 + fb = val - float(idx1) - r = (colors[idx2][0] - colors[idx1][0]) * fb + colors[idx1][0] - g = (colors[idx2][1] - colors[idx1][1]) * fb + colors[idx1][1] - b = (colors[idx2][2] - colors[idx1][2]) * fb + colors[idx1][2] + r = (colors[idx2][0] - colors[idx1][0]) * fb + colors[idx1][0] + g = (colors[idx2][1] - colors[idx1][1]) * fb + colors[idx1][1] + b = (colors[idx2][2] - colors[idx1][2]) * fb + colors[idx1][2] - r, g, b = [x * 255 for x in r, g, b] - return "#%02x%02x%02x" % (r, g, b) + r, g, b = [x * 255 for x in r, g, b] + return "#%02x%02x%02x" % (r, g, b) -# Load the keylog -def load_keylog(fname, restrict_row): - keylog = {} - total = 0 - with open(fname, "r") as f: - lines = f.readlines() - for line in lines: - m = re.search ('KL: col=(\d+), row=(\d+)', line) + def __init__(self, layout): + self.log = {} + self.total = 0 + self.max_cnt = 0 + self.layout = layout + + def update_log(self, (c, r)): + if not (c, r) in self.log: + self.log[(c, r)] = 0 + self.log[(c, r)] = self.log[(c, r)] + 1 + self.total = self.total + 1 + if self.max_cnt < self.log[(c, r)]: + self.max_cnt = self.log[(c, r)] + + def get_heatmap(self): + with open("%s/heatmap-layout.%s.json" % (dirname(sys.argv[0]), self.layout), "r") as f: + self.heatmap = json.load (f) + + ## Reset colors + for row in self.coords: + for coord in row: + if coord != []: + self.set_bg (coord, "#d9dae0") + + for (c, r) in self.log: + coords = self.coord(c, r) + b, n = coords + cap = self.max_cnt + if cap == 0: + cap = 1 + v = float(self.log[(c, r)]) / cap + self.set_bg (coords, self.heatmap_color (v)) + self.set_tap_info (coords, self.log[(c, r)], self.total) + return self.heatmap + + def get_stats(self): + usage = [ + # left hand + [0, 0, 0, 0, 0], + # right hand + [0, 0, 0, 0, 0] + ] + finger_map = [0, 0, 1, 2, 3, 4, 4] + for (c, r) in self.log: + if r == 5: # thumb cluster + if c <= 6: # left side + usage[0][4] = usage[0][4] + self.log[(c, r)] + else: + usage[1][4] = usage[1][4] + self.log[(c, r)] + else: + fc = c + hand = 0 + if fc >= 7: + fc = fc - 7 + hand = 1 + fm = finger_map[fc] + usage[hand][fm] = usage[hand][fm] + self.log[(c, r)] + hand_usage = [0, 0] + for f in usage[0]: + hand_usage[0] = hand_usage[0] + f + for f in usage[1]: + hand_usage[1] = hand_usage[1] + f + + total = self.total + if total == 0: + total = 1 + stats = { + "hands": { + "left": { + "usage": float(hand_usage[0]) / total * 100, + "fingers": { + "0 - pinky": 0, + "1 - ring": 0, + "2 - middle": 0, + "3 - index": 0, + "4 - thumb": 0, + } + }, + "right": { + "usage": float(hand_usage[1]) / total * 100, + "fingers": { + "0 - thumb": 0, + "1 - index": 0, + "2 - middle": 0, + "3 - ring": 0, + "4 - pinky": 0, + } + }, + } + } + + hmap = ['left', 'right'] + fmap = ['0 - pinky', '1 - ring', '2 - middle', '3 - index', '4 - thumb', + '0 - thumb', '1 - index', '2 - middle', '3 - ring', '4 - pinky'] + for hand_idx in range(len(usage)): + hand = usage[hand_idx] + for finger_idx in range(len(hand)): + stats['hands'][hmap[hand_idx]]['fingers'][fmap[finger_idx + hand_idx * 5]] = float(hand[finger_idx]) / total * 100 + return stats + +def dump_all(out_dir, heatmaps): + for layer in heatmaps.keys(): + if len(heatmaps[layer].log) == 0: + continue + + with open ("%s/%s.json" % (out_dir, layer), "w") as f: + json.dump(heatmaps[layer].get_heatmap(), f) + print >>sys.stderr, "%s stats:" % (layer) + json.dump (heatmaps[layer].get_stats(), sys.stderr, + indent = 4, sort_keys = True) + print >>sys.stderr, "" + print >>sys.stderr, "" + +def main(opts): + + heatmaps = {"Dvorak": Heatmap("Dvorak"), + "ADORE": Heatmap("ADORE") + } + cnt = 0 + restrict_row = opts.restrict_row + out_dir = opts.outdir + + while True: + line = sys.stdin.readline() + if not line: + break + m = re.search ('KL: col=(\d+), row=(\d+), pressed=(\d+), layer=(.*)', line) if not m: continue - (c, r) = (int(m.group (2)), int(m.group (1))) - if restrict_row != None and r != int(restrict_row): + + cnt = cnt + 1 + (c, r, l) = (int(m.group (2)), int(m.group (1)), m.group (4)) + if restrict_row != -1 and r != restrict_row: + continue + if c in opts.ignore_columns: continue - if (c, r) in keylog: - keylog[(c, r)] = keylog[(c, r)] + 1 - else: - keylog[(c, r)] = 1 - total = total + 1 - return total / 2, keylog -def l_flat(s): - f = s.split("\n") - return ", ".join (f) + heatmaps[l].update_log ((c, r)) -def main(base_fn, log_fn, restrict_row = None): + if opts.dump_interval != -1 and cnt >= opts.dump_interval: + cnt = 0 + dump_all(out_dir, heatmaps) - with open(base_fn, "r") as f: - layout = json.load (f) - - ## Reset colors - for row in cr_coord_map: - for col in row: - if col != []: - set_bg (layout, col, "#d9dae0") - #set_attr_at (layout, col[0], col[1], "g", set_attr, True) - - total, log = load_keylog (log_fn, restrict_row) - max_cnt = 0 - for (c, r) in log: - max_cnt = max(max_cnt, log[(c, r)]) - - # Create the heatmap - for (c, r) in log: - coords = coord(c, r) - b, n = coords - cap = max_cnt - v = float(log[(c, r)]) / cap - print >> sys.stderr, "%s => %d/%d => %f = %s" % (l_flat(layout[b][n+1]), log[(c,r)], cap, v, heatmap_color(v)) - set_bg (layout, coord(c, r), heatmap_color (v)) - set_tap_info (layout, coord (c, r), log[(c, r)], total) - - print json.dumps(layout) + dump_all (out_dir, heatmaps) if __name__ == "__main__": - if len(sys.argv) < 3: - print """Log to Heatmap -- creates a heatmap out of keyboard logs - -Usage: log-to-heatmap.py base-layout.json logfile [row] >layout.json""" - sys.exit (1) - main(*sys.argv[1:]) + parser = argparse.ArgumentParser (description = "keylog to heatmap processor") + parser.add_argument ('outdir', action = 'store', + help = 'Output directory') + parser.add_argument ('--row', dest = 'restrict_row', action = 'store', type = int, + default = -1, help = 'Restrict processing to this row only') + parser.add_argument ('--dump-interval', dest = 'dump_interval', action = 'store', type = int, + default = 100, help = 'Dump stats and heatmap at every Nth event, -1 for dumping at EOF only') + parser.add_argument ('--ignore-column', dest = 'ignore_columns', action = 'append', type = int, + default = [], help = 'Ignore the specified columns') + args = parser.parse_args() + main(args) From 5b58d7d1458502ad52b7a8e2be52afab17dc51a5 Mon Sep 17 00:00:00 2001 From: coderkun Date: Sun, 21 Aug 2016 19:31:34 +0200 Subject: [PATCH 12/34] =?UTF-8?q?Disable=20debugging=20for=20Ergodox=20key?= =?UTF-8?q?map=20=E2=80=9Ccoderkun=5Fneo2=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- keyboards/ergodox/keymaps/coderkun_neo2/Makefile | 1 + keyboards/ergodox/keymaps/coderkun_neo2/keymap.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ergodox/keymaps/coderkun_neo2/Makefile b/keyboards/ergodox/keymaps/coderkun_neo2/Makefile index 6c0a79b110..b0fe90ab1d 100644 --- a/keyboards/ergodox/keymaps/coderkun_neo2/Makefile +++ b/keyboards/ergodox/keymaps/coderkun_neo2/Makefile @@ -1,2 +1,3 @@ SLEEP_LED_ENABLE = no UNICODE_ENABLE = yes +COMMAND_ENABLE = no diff --git a/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c b/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c index 2ac06eef85..90651956af 100644 --- a/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c +++ b/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c @@ -1,5 +1,4 @@ #include "ergodox.h" -#include "debug.h" #include "action_layer.h" #include "led.h" #include "keymap_extras/keymap_neo2.h" From c78b44fb18194fb130ec3c49c38abc5afb6fee34 Mon Sep 17 00:00:00 2001 From: coderkun Date: Sun, 21 Aug 2016 20:39:09 +0200 Subject: [PATCH 13/34] =?UTF-8?q?Set=20Unicode=20input=20mode=20and=20over?= =?UTF-8?q?ride=20unicode=5Finput=5Fstart()=20method=20to=20keymap=20?= =?UTF-8?q?=E2=80=9Ccoderkun=5Fneo2=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- keyboards/ergodox/keymaps/coderkun_neo2/keymap.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c b/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c index 90651956af..b665a5f3ae 100644 --- a/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c +++ b/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c @@ -155,8 +155,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [FMU] = KEYMAP( // left hand KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2713),KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2715),KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2715),KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2713),KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_MS_L, KC_MS_U, @@ -244,6 +244,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // Runs just one time when the keyboard initializes. void matrix_init_user(void) { + set_unicode_input_mode(UC_LNX); }; @@ -278,3 +279,14 @@ void matrix_scan_user(void) } }; + + +// Override Unicode start method to use NEO_U instead of KC_U +void unicode_input_start (void) { + register_code(KC_LCTL); + register_code(KC_LSFT); + register_code(NEO_U); + unregister_code(NEO_U); + unregister_code(KC_LSFT); + unregister_code(KC_LCTL); +}; From 137eb118e352201f7d324743e34ed57e6885b689 Mon Sep 17 00:00:00 2001 From: coderkun Date: Fri, 26 Aug 2016 13:26:16 +0200 Subject: [PATCH 14/34] =?UTF-8?q?Add=20box-drawing=20Unicode=20characters?= =?UTF-8?q?=20to=20keymap=20=E2=80=9Ccoderkun=5Fneo2=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- keyboards/ergodox/keymaps/coderkun_neo2/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c b/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c index b665a5f3ae..0eedecf3dd 100644 --- a/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c +++ b/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c @@ -137,11 +137,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤ - * │ │ │ │ │ ✕ │ │ │ │ │ │ F9 │ F10 │ F11 │ F12 │ │ + * │ │ ┌ │ ┬ │ ┐ │ ─ │ │ │ │ │ │ │ F9 │ F10 │ F11 │ F12 │ │ * ├───────┼─────┼─────┼─────╆─────╅─────┤ │ │ ├─────╆─────╅─────┼─────┼─────┼───────┤ - * │ │ │ │ │ ✓ │ ├─────┤ ├─────┤ │ F5 │ F6 │ F7 │ F8 │ │ + * │ │ ├ │ ┼ │ ┤ │ ✓ │ ✕ ├─────┤ ├─────┤ │ F5 │ F6 │ F7 │ F8 │ │ * ├───────┼─────┼─────┼─────╄─────╃─────┤(TL2)│ │(TL3)├─────╄─────╃─────┼─────┼─────┼───────┤ - * │ │ │ │ │ │ │ │ │ │ │ F1 │ F2 │ F3 │ F4 │ │ + * │ │ └ │ ┴ │ ┘ │ │ │ │ │ │ │ F1 │ F2 │ F3 │ F4 │ │ * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘ * │ │ │(MO1)│ │(MO4)│ │(MO4)│ │(MO1)│ │ │ * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘ @@ -155,9 +155,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [FMU] = KEYMAP( // left hand KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2715),KC_TRNS,KC_TRNS, - KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,UC(0x2713),KC_TRNS, - KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, UC(0x250C),UC(0x252C),UC(0x2510),UC(0x2500),UC(0x2502),KC_TRNS, + KC_TRNS, UC(0x251C),UC(0x253C),UC(0x2524),UC(0x2713),UC(0x2715), + KC_TRNS, UC(0x2514),UC(0x2534),UC(0x2518),KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_MS_L, KC_MS_U, KC_BTN1, From 2f0395ce725581b93b68a88899c207014ee68901 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Mon, 29 Aug 2016 11:30:38 +0200 Subject: [PATCH 15/34] build_keyboard.mk: Restore UCIS_ENABLE support During the build system refactor, support for enabling UCIS seems to have been lost. This little patch adds that back, so that keymaps using UCIS can be compiled again. Signed-off-by: Gergely Nagy --- build_keyboard.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build_keyboard.mk b/build_keyboard.mk index 04632c1c94..03a69b1464 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -148,6 +148,11 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes) SRC += $(QUANTUM_DIR)/audio/luts.c endif +ifeq ($(strip $(UCIS_ENABLE)), yes) + OPT_DEFS += -DUCIS_ENABLE + UNICODE_ENABLE = yes +endif + ifeq ($(strip $(UNICODE_ENABLE)), yes) OPT_DEFS += -DUNICODE_ENABLE SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c From 42f1ce08dc09ff784add32750e55aa03e2427f5e Mon Sep 17 00:00:00 2001 From: Jack Henahan Date: Mon, 29 Aug 2016 11:35:07 -0400 Subject: [PATCH 16/34] jhenahan layout --- keyboards/planck/keymaps/jhenahan/Makefile | 25 ++ keyboards/planck/keymaps/jhenahan/config.h | 9 + keyboards/planck/keymaps/jhenahan/keymap.c | 314 ++++++++++++++++++++ keyboards/planck/keymaps/jhenahan/readme.md | 35 +++ 4 files changed, 383 insertions(+) create mode 100644 keyboards/planck/keymaps/jhenahan/Makefile create mode 100644 keyboards/planck/keymaps/jhenahan/config.h create mode 100644 keyboards/planck/keymaps/jhenahan/keymap.c create mode 100644 keyboards/planck/keymaps/jhenahan/readme.md diff --git a/keyboards/planck/keymaps/jhenahan/Makefile b/keyboards/planck/keymaps/jhenahan/Makefile new file mode 100644 index 0000000000..de01ad2404 --- /dev/null +++ b/keyboards/planck/keymaps/jhenahan/Makefile @@ -0,0 +1,25 @@ + + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = yes # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/planck/keymaps/jhenahan/config.h b/keyboards/planck/keymaps/jhenahan/config.h new file mode 100644 index 0000000000..cd3adc41cc --- /dev/null +++ b/keyboards/planck/keymaps/jhenahan/config.h @@ -0,0 +1,9 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +#define FORCE_NKRO +#define WORKMAN_SOUND COLEMAK_SOUND + +#endif diff --git a/keyboards/planck/keymaps/jhenahan/keymap.c b/keyboards/planck/keymaps/jhenahan/keymap.c new file mode 100644 index 0000000000..2bda4b6956 --- /dev/null +++ b/keyboards/planck/keymaps/jhenahan/keymap.c @@ -0,0 +1,314 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "planck.h" +#include "action_layer.h" +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _WORKMAN 0 +#define _DEAD 1 +#define _QWERTY 2 +#define _LOWER 3 +#define _RAISE 4 +#define _PLOVER 5 +#define _ADJUST 16 + +enum planck_keycodes { + WORKMAN = SAFE_RANGE, + DEAD, + QWERTY, + LOWER, + RAISE, + PLOVER, + EXT_PLV, + TOG_PLV +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + +/* Workman + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | H | T | G | Y | N | E | O | I | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | M | C | V | K | L | Dead | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | RAlt | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_WORKMAN] = { + {KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC}, + {MT(MOD_LCTL,KC_ESC), KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, DEAD, KC_DOT, KC_SLSH, KC_ENT}, + {KC_LCTL, KC_RALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Workman Dead Layer + * ,-----------------------------------------------------------------------------------. + * | | % | & | ? | + | @ | $ | _ | [ | ] | ! | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | / | ( | = | 0 | { | } | 1 | * | ) | - | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | 6 | 7 | 8 | 9 | | | \ | 2 | 3 | 4 | 5 | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | < | ~ | ` | , | # | ^ | > | | | + * `-----------------------------------------------------------------------------------' + */ +[_DEAD] = { + {XXXXXXX, KC_PERC, KC_AMPR, KC_QUES, KC_PLUS, KC_AT, KC_DLR, KC_UNDS, KC_LBRC, KC_RBRC, KC_EXLM, XXXXXXX}, + {XXXXXXX, KC_SLSH, KC_LPRN, KC_EQL, KC_0, KC_LCBR, KC_RCBR, KC_1, KC_ASTR, KC_RPRN, KC_MINS, XXXXXXX}, + {XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_PIPE, KC_BSLS, KC_2, KC_3, KC_4, KC_5, XXXXXXX}, + {XXXXXXX, XXXXXXX, KC_LT, KC_TILD, KC_GRV, KC_COMM, KC_COMM, KC_HASH, KC_CIRC, KC_GT, XXXXXXX, XXXXXXX} +}, + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | RAlt | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = { + {KC_TAB, 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {KC_LCTL, KC_RALT, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | Vol+ |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Prev | Next | Vol- | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = { + {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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS), _______, KC_VOLU, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_MPLY} +}, + +/* Raise - KWM Interaction + * ,-----------------------------------------------------------------------------------. + * |Restrt| |TgSplt|Flotng|Parent|FlScrn|InsMrk| InsW | InsS | InsN | InsE | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | Mark |Rotate|Prefix| Term | BSP |SwpMrk|SwapW |SwapS |SwapN |SwapE | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |MarkW |MarkS |MarkN |MarkE |Monocl|Float |FocusW|FocusS|FocusN|FocusE| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = { + {LCAG(KC_Q), XXXXXXX, LCAG(KC_S), LCAG(KC_W), LCAG(KC_D), LCAG(KC_F), LCTL(S(KC_X)), LCTL(S(KC_H)), LCTL(S(KC_J)), LCTL(S(KC_K)), LCTL(S(KC_L)), XXXXXXX}, + {XXXXXXX, LCAG(KC_M), LGUI(LCTL(KC_R)), LCAG(KC_DOT), LCAG(KC_T), LGUI(LCTL(KC_A)), LCTL(LALT(KC_M)), LCTL(LALT(KC_H)), LCTL(LALT(KC_J)), LCTL(LALT(KC_K)), LCTL(LALT(KC_L)), XXXXXXX}, + {_______, LCAG(KC_H), LCAG(KC_J), LCAG(KC_K), LCAG(KC_L), LGUI(LCTL(KC_S)), LGUI(LCTL(KC_D)), LGUI(LALT(KC_H)), LGUI(LALT(KC_J)), LGUI(LALT(KC_K)), LGUI(LALT(KC_L)), _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +}, + +/* Plover layer (http://opensteno.org) + * ,-----------------------------------------------------------------------------------. + * | # | # | # | # | # | # | # | # | # | # | # | # | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | S | T | P | H | * | * | F | P | L | T | D | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * |TogOut| S | K | W | R | * | * | R | B | G | S | Z | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Exit | | | A | O | | E | U | | | | + * `-----------------------------------------------------------------------------------' + */ + +[_PLOVER] = { + {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, + {XXXXXXX, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC}, + {TOG_PLV, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT}, + {EXT_PLV, XXXXXXX, XXXXXXX, KC_M, KC_C, XXXXXXX, XXXXXXX, KC_L, KC_COMM, XXXXXXX, XXXXXXX, XXXXXXX} +}, + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Workmn|Plover| | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = { + {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, + {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, WORKMAN, PLOVER, _______, _______}, + {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +} + + +}; + +#ifdef AUDIO_ENABLE + +float tone_startup[][2] = SONG(STARTUP_SOUND); +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_workman[][2] = SONG(WORKMAN_SOUND); +float tone_plover[][2] = SONG(PLOVER_SOUND); +float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); + +float tone_goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case WORKMAN: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_workman, false, 0); + #endif + persistant_default_layer_set(1UL<<_WORKMAN); + } + return false; + break; + case DEAD: + if (record->event.pressed) { + layer_on(_DEAD); + set_oneshot_layer(_DEAD, ONESHOT_START); + clear_oneshot_layer_state(ONESHOT_PRESSED); + } + return false; + break; + case QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + persistant_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case PLOVER: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_NOTE_ARRAY(tone_plover, false, 0); + #endif + layer_off(_RAISE); + layer_off(_LOWER); + layer_off(_ADJUST); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + } + return false; + break; + case EXT_PLV: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_plover_gb, false, 0); + #endif + layer_off(_PLOVER); + } + return false; + break; + case TOG_PLV: + if (record->event.pressed) { + register_code(KC_R); + register_code(KC_W); + register_code(KC_T); + register_code(KC_C); + register_code(KC_P); + register_code(KC_O); + clear_keyboard(); + } + return false; + break; + } + return true; +} + +void matrix_init_user(void) { + #ifdef AUDIO_ENABLE + startup_user(); + #endif +} + +#ifdef AUDIO_ENABLE + +void startup_user() +{ + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); +} + +void shutdown_user() +{ + PLAY_NOTE_ARRAY(tone_goodbye, false, 0); + _delay_ms(150); + stop_all_notes(); +} + +void music_on_user(void) +{ + music_scale_user(); +} + +void music_scale_user(void) +{ + PLAY_NOTE_ARRAY(music_scale, false, 0); +} + +#endif diff --git a/keyboards/planck/keymaps/jhenahan/readme.md b/keyboards/planck/keymaps/jhenahan/readme.md new file mode 100644 index 0000000000..1d803fe321 --- /dev/null +++ b/keyboards/planck/keymaps/jhenahan/readme.md @@ -0,0 +1,35 @@ +# jhenahan's layout + +## Layout + +The base layer is based on the +[Workman Dead](https://github.com/ojbucao/Workman/tree/master/mac) layout. The +primary interaction layer is a slightly modified Workman layout with a 'dead' +key on the third row under the middle finger. The dead key activates a layer of +special characters. + +## [Layers](http://www.keyboard-layout-editor.com/#/gists/2b875f7d5d76fe4408c0a5b3bd76ddae) +### Function Layer + +This is very slightly modified from the default, mainly just to rearrange the media keys. + +### [KWM](https://github.com/koekeishiya/kwm) Interaction Layer + +`kwm` is a tiling window manager for OS X. The keys defined in my keymap +correspond to the settings I use in +[my `kwmrc` file](https://github.com/jhenahan/dotfiles/blob/master/kwm/kwmrc). + +### QWERTY + +Just in case. + +### [Plover](http://www.openstenoproject.org/plover/) + +The Plover layer in this keymap is identical to that of the default. This layout +functions exactly as a QWERTY layout unless you're running the Plover +application. + +### Adjust Layer + +This layer is only slightly modified from the default to remove Dvorak and +Colemak and replace them with Workman. From 6d7637ae3eb4b37ab7d294818aa92ea9562df4b9 Mon Sep 17 00:00:00 2001 From: Jack Henahan Date: Mon, 29 Aug 2016 11:43:06 -0400 Subject: [PATCH 17/34] Update README --- keyboards/planck/keymaps/jhenahan/readme.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/keyboards/planck/keymaps/jhenahan/readme.md b/keyboards/planck/keymaps/jhenahan/readme.md index 1d803fe321..a80506fc9d 100644 --- a/keyboards/planck/keymaps/jhenahan/readme.md +++ b/keyboards/planck/keymaps/jhenahan/readme.md @@ -25,9 +25,15 @@ Just in case. ### [Plover](http://www.openstenoproject.org/plover/) -The Plover layer in this keymap is identical to that of the default. This layout -functions exactly as a QWERTY layout unless you're running the Plover -application. +This layout functions exactly as a Workman layout unless you're running the Plover +application. Includes a key for toggling Plover while it's running. + +Add this in the appropriate section of your `plover.cfg` to allow this altered layout: + +``` ini +[System: English Stenotype] +keymap[keyboard] = [["#", ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "="]], ["S-", ["q", "a"]], ["T-", ["d"]], ["K-", ["s"]], ["P-", ["r"]], ["W-", ["h"]], ["H-", ["w"]], ["R-", ["t"]], ["A-", ["m"]], ["O-", ["c"]], ["*", ["y", "g", "j", "b"]], ["-E", ["l"]], ["-U", [","]], ["-F", ["f"]], ["-R", ["n"]], ["-P", ["u"]], ["-B", ["e"]], ["-L", ["p"]], ["-G", ["o"]], ["-T", [";"]], ["-S", ["i"]], ["-D", ["BackSpace"]], ["-Z", ["'"]], ["no-op", ["\\", "]", "x", ".", "/"]], ["arpeggiate", ["space"]]] +``` ### Adjust Layer From c9ea236fc35d350c0ff33de0af84d3dee7d0eb95 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Wed, 31 Aug 2016 08:21:52 +0200 Subject: [PATCH 18/34] process_unicode: Add get_unicode_input_mode() There may be cases where one would like to know the current Unicode input mode, without having to keep track of it themselves. Add a function that does just this. Signed-off-by: Gergely Nagy --- quantum/process_keycode/process_unicode.c | 4 ++++ quantum/process_keycode/process_unicode.h | 1 + 2 files changed, 5 insertions(+) diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c index 06c1694f2e..a5d7dca21e 100644 --- a/quantum/process_keycode/process_unicode.c +++ b/quantum/process_keycode/process_unicode.c @@ -18,6 +18,10 @@ void set_unicode_input_mode(uint8_t os_target) input_mode = os_target; } +uint8_t get_unicode_input_mode(void) { + return input_mode; +} + __attribute__((weak)) void unicode_input_start (void) { switch(input_mode) { diff --git a/quantum/process_keycode/process_unicode.h b/quantum/process_keycode/process_unicode.h index 02ce3dd7e0..27f8072ee6 100644 --- a/quantum/process_keycode/process_unicode.h +++ b/quantum/process_keycode/process_unicode.h @@ -13,6 +13,7 @@ #endif void set_unicode_input_mode(uint8_t os_target); +uint8_t get_unicode_input_mode(void); void unicode_input_start(void); void unicode_input_finish(void); void register_hex(uint16_t hex); From acda2b793f69c6e0e9b9667e9ebe8a0325eb5ecd Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Thu, 1 Sep 2016 08:32:47 +0200 Subject: [PATCH 19/34] tap-dance: Do not start a sequence on keyup There was an odd case, which confused the hell out of tap-dance: suppose you had a number of tap-dance keys, on a layer, and as part of the tap-dance, you turned that layer off - or had it on one-shot to begin with. In this case, the keydown event would trigger the tap-dance key, but the keyup would not. This had two funky consequences: - tap-dance did not correctly register that the dance has ended. - pressing any other tap-dance key would interrupt the previous tap-dance, and potentially input unwanted characters. To fix this, we simply do not start a tap-dance sequence on keyup, only when it is pressed. This way the previous sequence has enough time to time-out and finish properly, and we don't get confused. This fixes algernon/ergodox-layout#107. Signed-off-by: Gergely Nagy --- quantum/process_keycode/process_tap_dance.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index 07de3ecb8f..79ade4d000 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -65,9 +65,9 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) { highest_td = idx; action = &tap_dance_actions[idx]; - action->state.keycode = keycode; action->state.pressed = record->event.pressed; if (record->event.pressed) { + action->state.keycode = keycode; action->state.count++; action->state.timer = timer_read(); @@ -77,8 +77,9 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) { process_tap_dance_action_on_dance_finished (paction); reset_tap_dance (&paction->state); } + + last_td = keycode; } - last_td = keycode; break; From 8b2a235c8de7123187e0aa1dd950947f20a51f07 Mon Sep 17 00:00:00 2001 From: Callum Oakley Date: Thu, 1 Sep 2016 18:14:39 +0100 Subject: [PATCH 20/34] changed order of modifiers after experimentation, updated readme --- keyboards/planck/keymaps/callum/keymap.c | 4 ++-- keyboards/planck/keymaps/callum/readme.md | 15 +++++---------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c index 494ed30b06..572756a383 100644 --- a/keyboards/planck/keymaps/callum/keymap.c +++ b/keyboards/planck/keymaps/callum/keymap.c @@ -38,14 +38,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Func | GUI | Alt | Ctrl | Symb |Enter |Space | Move | GUI | Alt | Ctrl |Caps | + * | Func | Ctrl | Alt | GUI | Symb |Enter |Space | Move | GUI | Alt | Ctrl |Caps | * `-----------------------------------------------------------------------------------' */ [_BASE] = { {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS}, {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT}, - {FUNC, KC_LGUI, KC_LALT, KC_LCTL, SYMB, KC_ENT, KC_SPC, MOVE, KC_RGUI, KC_RALT, KC_RCTL, KC_CAPS} + {FUNC, KC_LCTL, KC_LALT, KC_LGUI, SYMB, KC_ENT, KC_SPC, MOVE, KC_RGUI, KC_RALT, KC_RCTL, KC_CAPS} }, /* MOVE diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md index 030def7f77..c7ad5d163c 100644 --- a/keyboards/planck/keymaps/callum/readme.md +++ b/keyboards/planck/keymaps/callum/readme.md @@ -2,24 +2,19 @@ This is a layout for the grid planck, built with a few ideals in mind. These ideals are just my opinion mind! The great thing about *qmk* is that we can all afford to have different opinions about what makes a good layout: -- Minimal response times should be maintained. i.e. keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided --- since they inevitably send their keycode later than a normal key, interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording. +- Minimal response times should be maintained. i.e. keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided — since they inevitably send their keycode later than a normal key, interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording. - The hands should never need to leave the home position. The usual culprit for this is the arrow cluster, so the arrow cluster should be as close to home as possible. - There should be two of every modifier (one on each side), since otherwise certain long key combinations become hard to make. - Backspace should be in the “capslock position” as God intended. -- The keyboard should be usable without any firmware changes on any operating system. In my case that means it should work on *Windows* and *Linux* without any software modifications, while I can change the behaviour slightly on *macOS* in software since that’s my home OS. The images reflect the intended use on *macOS* **after** minor software tweaks; which will be noted. We have four layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster etc, a `SYMB` layer, with numbers and symbols; and a `FUNC` layer, with function keys and media keys. ## The `BASE` layer -![](http://i.imgur.com/aEXOlWl.png) +![](http://i.imgur.com/tVNI3SE.png) This is the default layer; in [colemak](https://colemak.com). `esc` and `del` are conspicuously absent but are especially easy to reach from either of the other main layers (see below). The `backspace` location is standard colemak. The `caps` key is still on the `BASE` layer but only because I don’t really use the bottom corners so there’s nothing else I would rather put there. Having `enter` on a thumb means I can still have `quote` immediately to the right of `O`, something that would have annoyed me endlessly otherwise. `minus` is in the upper right because I had an extra space and it’s probably my next most used key that didn’t yet have a home. -The `MOVE` and `SYMB` layers are reached by holding down the `move` and `symb` keys respectively. The `FUNC` layer is reached by holding down both the `move` and `symb` keys simultaneosly, *or* by holding down the `fn` key. The intended use is that whenever both hands are on the keyboard, the former method is used, and the latter is only used when, for example, reaching over to the keyboard with one hand to access the media controls. - -The `ctrl`, `alt`, `cmd` cluster is asymmetric around the centre so that at least one of each of the modifiers can be reached with the thumbs. The intended use is to always hit the left `cmd` and the right `ctrl`, unless an awkward key combination dictates otherwise. - -In firmware `ctrl` and `cmd`/`GUI` are swapped with respect to the image above --- I swap them to the illustrated location when using *macOS* and leave them be for *Windows* and *Linux*. (so that `cmd-z,x,c,v,...` becomes `ctrl-z,x,c,v,...` saving me some confusion) +The `MOVE` and `SYMB` layers are reached by holding down the `move` and `symb` keys respectively. The `FUNC` layer is reached by holding down both the `move` and `symb` keys simultaneously, *or* by holding down the `fn` key. The intended use is that whenever both hands are on the keyboard, the former method is used, and the latter is only used when, for example, reaching over to the keyboard with one hand to access the media controls. ## The `MOVE` layer ![](http://i.imgur.com/KXRSuHT.png) @@ -40,9 +35,9 @@ The symbol layer has all the numbers and their usual corresponding symbols in th Again none of the modifiers are overwritten so that shortcuts involving numbers or symbols work as expected. ## The `FUNC` layer -![](http://i.imgur.com/skxRZiH.png) +![](http://i.imgur.com/1VKFBBU.png) -The only thing of note here is that `bl+` and `bl-` are short for *backlight up* and *backlight down* respectively, and in firmware are actually `KC_PAUS` and `KC_SLCK` respectively, since *macOS* interprets these as the backlight keys. +The only things of note here are that `bl+` and `bl-` are short for *backlight up* and *backlight down*, and in firmware are actually `KC_PAUS` and `KC_SLCK` respectively, since *macOS* interprets these as the backlight keys. And that `lock` is currently a macro hard coded to turn off the screen on *macOS*. (By activating the shortcut `shift-cmd-power`.) ## Other changes from the default I have LEDs and sound disabled, simply because I have no need of them. \ No newline at end of file From 4c67ccc81ee8006190438c5f54cda871bcb2afa6 Mon Sep 17 00:00:00 2001 From: Callum Oakley Date: Thu, 1 Sep 2016 18:30:49 +0100 Subject: [PATCH 21/34] changed some of the wording in the readme --- keyboards/planck/keymaps/callum/readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md index c7ad5d163c..2d38e6355a 100644 --- a/keyboards/planck/keymaps/callum/readme.md +++ b/keyboards/planck/keymaps/callum/readme.md @@ -1,11 +1,11 @@ # callum’s planck layout -This is a layout for the grid planck, built with a few ideals in mind. These ideals are just my opinion mind! The great thing about *qmk* is that we can all afford to have different opinions about what makes a good layout: +This is a layout for the grid planck, built with a few ideals in mind: -- Minimal response times should be maintained. i.e. keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided — since they inevitably send their keycode later than a normal key, interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording. +- Minimal response times should be maintained. i.e. keys that react differently depending on whether they are tapped or held, keys that react differently if they are double tapped, etc. should be avoided — they inevitably send their keycode later than a normal key, interrupting the immediate feedback from the screen. Therefore we restrict ourselves to chording. - The hands should never need to leave the home position. The usual culprit for this is the arrow cluster, so the arrow cluster should be as close to home as possible. -- There should be two of every modifier (one on each side), since otherwise certain long key combinations become hard to make. -- Backspace should be in the “capslock position” as God intended. +- There should be two of every modifier (one on each side), otherwise certain long key combinations become hard to make. +- Backspace should be in the “capslock position” in the colemak tradition. We have four layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow cluster etc, a `SYMB` layer, with numbers and symbols; and a `FUNC` layer, with function keys and media keys. From e4167c8c53b0cf7c68192bbe4db368785f24b970 Mon Sep 17 00:00:00 2001 From: Callum Oakley Date: Fri, 2 Sep 2016 09:03:39 +0100 Subject: [PATCH 22/34] fixed incorrect key combination for locking screen on macOS --- keyboards/planck/keymaps/callum/keymap.c | 4 ++-- keyboards/planck/keymaps/callum/readme.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c index 572756a383..6c34311339 100644 --- a/keyboards/planck/keymaps/callum/keymap.c +++ b/keyboards/planck/keymaps/callum/keymap.c @@ -137,11 +137,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case LOCK: if (record->event.pressed) { register_code(KC_RSFT); - register_code(KC_RGUI); + register_code(KC_RCTL); register_code(KC_POWER); } else { unregister_code(KC_POWER); - unregister_code(KC_RGUI); + unregister_code(KC_RCTL); unregister_code(KC_RSFT); } return false; diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md index 2d38e6355a..b70de3f1e2 100644 --- a/keyboards/planck/keymaps/callum/readme.md +++ b/keyboards/planck/keymaps/callum/readme.md @@ -14,7 +14,7 @@ We have four layers. A `BASE` layer, in colemak; a `MOVE` layer, with an arrow c This is the default layer; in [colemak](https://colemak.com). `esc` and `del` are conspicuously absent but are especially easy to reach from either of the other main layers (see below). The `backspace` location is standard colemak. The `caps` key is still on the `BASE` layer but only because I don’t really use the bottom corners so there’s nothing else I would rather put there. Having `enter` on a thumb means I can still have `quote` immediately to the right of `O`, something that would have annoyed me endlessly otherwise. `minus` is in the upper right because I had an extra space and it’s probably my next most used key that didn’t yet have a home. -The `MOVE` and `SYMB` layers are reached by holding down the `move` and `symb` keys respectively. The `FUNC` layer is reached by holding down both the `move` and `symb` keys simultaneously, *or* by holding down the `fn` key. The intended use is that whenever both hands are on the keyboard, the former method is used, and the latter is only used when, for example, reaching over to the keyboard with one hand to access the media controls. +The `MOVE` and `SYMB` layers are reached by holding down the `move` and `symb` keys respectively. The `FUNC` layer is reached by holding down both the `move` and `symb` keys simultaneously, *or* by holding down the `fn` key. The intended use is that whenever both hands are on the keyboard, the former method is used, and the latter is only used when, for example, reaching over to the keyboard with one hand to access the media controls. ## The `MOVE` layer ![](http://i.imgur.com/KXRSuHT.png) @@ -37,7 +37,7 @@ Again none of the modifiers are overwritten so that shortcuts involving numbers ## The `FUNC` layer ![](http://i.imgur.com/1VKFBBU.png) -The only things of note here are that `bl+` and `bl-` are short for *backlight up* and *backlight down*, and in firmware are actually `KC_PAUS` and `KC_SLCK` respectively, since *macOS* interprets these as the backlight keys. And that `lock` is currently a macro hard coded to turn off the screen on *macOS*. (By activating the shortcut `shift-cmd-power`.) +The only things of note here are that `bl+` and `bl-` are short for *backlight up* and *backlight down*, and in firmware are actually `KC_PAUS` and `KC_SLCK` respectively, since *macOS* interprets these as the backlight keys. And that `lock` is currently a macro hard coded to turn off the screen on *macOS*. (By activating the shortcut `shift-ctrl-power`.) ## Other changes from the default -I have LEDs and sound disabled, simply because I have no need of them. \ No newline at end of file +I have LEDs and sound disabled, simply because I have no need of them. From 295ef0d9649b7482c380f38dd6157879df4af91d Mon Sep 17 00:00:00 2001 From: Major Koos Date: Fri, 2 Sep 2016 16:14:40 -0700 Subject: [PATCH 23/34] Add support for JD40 MKII PCB RGB Included. --- keyboards/jd40/Makefile | 74 +++++++++++ keyboards/jd40/config.h | 79 ++++++++++++ keyboards/jd40/jd40.c | 26 ++++ keyboards/jd40/jd40.h | 45 +++++++ keyboards/jd40/keymaps/default/keymap.c | 164 ++++++++++++++++++++++++ keyboards/jd40/readme.md | 17 +++ 6 files changed, 405 insertions(+) create mode 100644 keyboards/jd40/Makefile create mode 100644 keyboards/jd40/config.h create mode 100644 keyboards/jd40/jd40.c create mode 100644 keyboards/jd40/jd40.h create mode 100644 keyboards/jd40/keymaps/default/keymap.c create mode 100644 keyboards/jd40/readme.md diff --git a/keyboards/jd40/Makefile b/keyboards/jd40/Makefile new file mode 100644 index 0000000000..242748111c --- /dev/null +++ b/keyboards/jd40/Makefile @@ -0,0 +1,74 @@ + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +# CONSOLE_ENABLE ?= yes # Console for debug(+400) +# COMMAND_ENABLE ?= yes # Commands for debug and configuration +KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend +NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality +# MIDI_ENABLE ?= YES # MIDI controls +# UNICODE_ENABLE ?= YES # Unicode +# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE ?= yes # Enable RGB Underglow + +ifndef QUANTUM_DIR + include ../../Makefile +endif + diff --git a/keyboards/jd40/config.h b/keyboards/jd40/config.h new file mode 100644 index 0000000000..e2594f4b37 --- /dev/null +++ b/keyboards/jd40/config.h @@ -0,0 +1,79 @@ +/* +Copyright 2012 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER geekhack +#define PRODUCT jd40v2 +#define DESCRIPTION t.m.k. keyboard firmware for JD40 MKII + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { F0, F1, F5, B4 } +#define MATRIX_COL_PINS { F4, D7, B5, B6, C6, C7, D4, D6, D5, D0, D1, D2 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCING_DELAY 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +#define RGB_DI_PIN D3 +#define RGBLIGHT_TIMER +#define RGBLED_NUM 12 // Number of LEDs +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 + +#endif diff --git a/keyboards/jd40/jd40.c b/keyboards/jd40/jd40.c new file mode 100644 index 0000000000..fa06356d97 --- /dev/null +++ b/keyboards/jd40/jd40.c @@ -0,0 +1,26 @@ +#include "jd40.h" + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + + // if (usb_led & (1<event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +void matrix_scan_user(void) { + +// Layer LED indicators +// ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster + uint32_t layer = layer_state; + if (layer & (1<<1)) { + //gh60_wasd_leds_on(); + } else { + //gh60_wasd_leds_off(); + } + + if (layer & (1<<2)) { + //gh60_esc_led_on(); + } else { + //gh60_esc_led_off(); + } +}; + +#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + switch (id) { + case RGBLED_TOGGLE: + //led operations + if (record->event.pressed) { + rgblight_toggle(); + } + break; + case RGBLED_INCREASE_HUE: + if (record->event.pressed) { + rgblight_increase_hue(); + } + break; + case RGBLED_DECREASE_HUE: + if (record->event.pressed) { + rgblight_decrease_hue(); + } + break; + case RGBLED_INCREASE_SAT: + if (record->event.pressed) { + rgblight_increase_sat(); + } + break; + case RGBLED_DECREASE_SAT: + if (record->event.pressed) { + rgblight_decrease_sat(); + } + break; + case RGBLED_INCREASE_VAL: + if (record->event.pressed) { + rgblight_increase_val(); + } + break; + case RGBLED_DECREASE_VAL: + if (record->event.pressed) { + rgblight_decrease_val(); + } + break; + case RGBLED_STEP_MODE: + if (record->event.pressed) { + rgblight_step(); + } + break; + static uint8_t shift_esc_shift_mask; + // Shift + ESC = ~ + case SHIFT_ESC: + shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; + if (record->event.pressed) { + if (shift_esc_shift_mask) { + add_key(KC_GRV); + send_keyboard_report(); + } else { + add_key(KC_ESC); + send_keyboard_report(); + } + } else { + if (shift_esc_shift_mask) { + del_key(KC_GRV); + send_keyboard_report(); + } else { + del_key(KC_ESC); + send_keyboard_report(); + } + } + break; + } +}; diff --git a/keyboards/jd40/readme.md b/keyboards/jd40/readme.md new file mode 100644 index 0000000000..7daa0980eb --- /dev/null +++ b/keyboards/jd40/readme.md @@ -0,0 +1,17 @@ +## jd40 mkii keyboard firmware + + Pins: + MATRIX_ROW_PINS { F0, F1, F5, B4 } + MATRIX_COL_PINS { F4, D7, B5, B6, C6, C7, D4, D6, D5, D0, D1, D2 } + RGB_DI_PIN D3 + +====================== + +## Quantum MK Firmware + +For the full Quantum feature list, see [the parent readme.md](/readme.md). + +## Building + +Download or clone the whole firmware and navigate to the keyboards/jd40 folder. +Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Amtel Flip to program your .hex file. From 11224a00fe79bcba8ed596847000b7ad8118b95f Mon Sep 17 00:00:00 2001 From: Major Koos Date: Fri, 2 Sep 2016 16:42:40 -0700 Subject: [PATCH 24/34] Add rules.mk file --- keyboards/jd40/rules.mk | 69 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 keyboards/jd40/rules.mk diff --git a/keyboards/jd40/rules.mk b/keyboards/jd40/rules.mk new file mode 100644 index 0000000000..2f18fdf10d --- /dev/null +++ b/keyboards/jd40/rules.mk @@ -0,0 +1,69 @@ + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +# CONSOLE_ENABLE ?= yes # Console for debug(+400) +# COMMAND_ENABLE ?= yes # Commands for debug and configuration +KEYBOARD_LOCK_ENABLE ?= yes # Allow locking of keyboard via magic key +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend +NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality +# MIDI_ENABLE ?= YES # MIDI controls +# UNICODE_ENABLE ?= YES # Unicode +# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE ?= yes # Enable RGB Underglow \ No newline at end of file From 7fd5b6581a660b2d1d6e1605533a6b6f8bda3472 Mon Sep 17 00:00:00 2001 From: IBNobody Date: Sat, 3 Sep 2016 20:29:29 -0500 Subject: [PATCH 25/34] Updated readme to have better backlight breathing info. --- readme.md | 264 +++++++++++++++++++++--------------------------------- 1 file changed, 104 insertions(+), 160 deletions(-) diff --git a/readme.md b/readme.md index 70725bf81a..371470bc36 100644 --- a/readme.md +++ b/readme.md @@ -54,11 +54,11 @@ Here are the steps 1. Install the Windows 10 subsystem for Linux, following [these instructions](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/). 2. If you have previously cloned the repository using the normal Git bash, you will need to clean up the line endings. If you have cloned it after 20th of August 2016, you are likely fine. To clean up the line endings do the following 1. Make sure that you have no changes you haven't committed by running `git status`, if you do commit them first - 2. From within the Git bash run `git rm --cached -r .` + 2. From within the Git bash run �git rm --cached -r .` 3. Followed by `git reset --hard` 3. Start the "Bash On Ubuntu On Windows" from the start menu -4. With the bash open, navigate to your Git checkout. The harddisk can be accessed from `/mnt` for example `/mnt/c` for the `c:\` drive. -5. Run `sudo util/install_dependencies.sh`. +4. With the bash open, navigate to your git checkout. The harddisk can be accessed from `/mnt` for example `/mnt/c` for the `c:\` drive. +5. Run `sudo util/install_dependencies.sh`. 6. After a while the installation will finish, and you are good to go **Note** From time to time, the dependencies might change, so just run `install_dependencies.sh` again if things are not working. @@ -69,12 +69,11 @@ Here are the steps ### Windows (Vista and later) 1. If you have ever installed WinAVR, uninstall it. 2. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**. -3. If you are going to flash Infinity based keyboards you will need to install dfu-util, refer to the instructions by [Input Club](https://github.com/kiibohd/controller/wiki/Loading-DFU-Firmware). -4. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location. -5. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer. -6. Double-click on the 1-setup-path-win batch script to run it. You'll need to accept a User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up. -7. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete! -8. Future build commands should be run from the MHV AVR Shell, which sets up an environment compatible with colorful build output. The standard Command Prompt will also work, but add `COLOR=false` to the end of all make commands when using it. +3. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location. +4. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer. +5. Double-click on the 1-setup-path-win batch script to run it. You'll need to accept a User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up. +6. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete! +7. Future build commands should be run from the MHV AVR Shell, which sets up an environment compatible with colorful build output. The standard Command Prompt will also work, but add `COLOR=false` to the end of all make commands when using it. ### Mac If you're using [homebrew,](http://brew.sh/) you can use the following commands: @@ -91,13 +90,9 @@ You can also try these instructions: 2. Install the Command Line Tools from `Xcode->Preferences->Downloads`. 3. Install [DFU-Programmer][dfu-prog]. -If you are going to flash Infinity based keyboards you will also need dfu-util - - brew install dfu-util - ### Linux -To ensure you are always up to date, you can just run `sudo utils/install_dependencies.sh`. That should always install all the dependencies needed. +To ensure you are always up to date, you can just run `sudo utils/install_dependencies.sh`. That should always install all the dependencies needed. You can also install things manually, but this documentation might not be always up to date with all requirements. @@ -158,107 +153,47 @@ In every keymap folder, the following files are recommended: * `config.h` - the options to configure your keymap * `keymap.c` - all of your keymap code, required * `Makefile` - the features of QMK that are enabled, required to run `make` in your keymap folder -* `readme.md` - a description of your keymap, how others might use it, and explanations of features +* `readme.md` - a description of your keymap, how others might use it, and explanations of features ## The `make` command -The `make` command is how you compile the firmware into a .hex file, which can be loaded by a dfu programmer (like dfu-progammer via `make dfu`) or the [Teensy loader](https://www.pjrc.com/teensy/loader.html) (only used with Teensys). +The `make` command is how you compile the firmware into a .hex file, which can be loaded by a dfu programmer (like dfu-progammer via `make dfu`) or the [Teensy loader](https://www.pjrc.com/teensy/loader.html) (only used with Teensys). You can run `make` from the root (`/`), your keyboard folder (`/keyboards//`), or your keymap folder (`/keyboards//keymaps//`) if you have a `Makefile` there (see the example [here](/doc/keymap_makefile_example.mk)). -**NOTE:** To abort a make command press `Ctrl-c` +By default, this will generate a `_.hex` file in whichever folder you run `make` from. These files are ignored by git, so don't worry about deleting them when committing/creating pull requests. -The following instruction refers to these folders. +Below are some definitions that will be useful: -* The `root` (`/`) folder is the qmk_firmware folder, in which are `doc`, `keyboard`, `quantum`, etc. -* The `keyboard` folder is any keyboard project's folder, like `/keyboards/planck`. -* The `keymap` folder is any keymap's folder, like `/keyboards/planck/keymaps/default`. -* The `subproject` folder is the subproject folder of a keyboard, like `/keyboards/ergodox/ez` +* The "root" (`/`) folder is the qmk_firmware folder, in which are `doc`, `keyboard`, `quantum`, etc. +* The "keyboard" folder is any keyboard project's folder, like `/keyboards/planck`. +* The "keymap" folder is any keymap's folder, like `/keyboards/planck/keymaps/default`. -### Simple instructions for building and uploading a keyboard +Below is a list of the useful `make` commands in QMK: -**Most keyboards have more specific instructions in the keyboard specific readme.md file, so please check that first** - -If the `keymap` folder contains a file name `Makefile` - -1. Change the directory to the `keymap` folder -2. Run `make -` - -Otherwise, if there's no `Makefile` in the `keymap` folder - -1. Enter the `keyboard` folder -2. Run `make --` - -In the above commands, replace: - -* `` with the name of your keymap -* `` with the name of the subproject (revision or sub-model of your keyboard). For example, for Ergodox it can be `ez` or `infinity`, and for Planck `rev3` or `rev4`. - * If the keyboard doesn't have a subproject, or if you are happy with the default (defined in `rules.mk` file of the `keyboard` folder), you can leave it out. But remember to also remove the dash (`-`) from the command. -* `` The programmer to use. Most keyboards use `dfu`, but some use `teensy`. Infinity keyboards use `dfu-util`. Check the readme file in the keyboard folder to find out which programmer to use. - * If you don't add `----`, where: - -* `` is the name of the keyboard, for example `planck` - * Use `allkb` to compile all keyboards -* `` is the name of the subproject (revision or sub-model of the keyboard). For example, for Ergodox it can be `ez` or `infinity`, and for Planck `rev3` or `rev4`. - * If the keyboard doesn't have any subprojects, it can be left out - * To compile the default subproject, you can leave it out, or specify `defaultsp` - * Use `allsp` to compile all subprojects -* `` is the name of the keymap, for example `algernon` - * Use `allkm` to compile all keymaps -* `` will be explained in more detail below. - -**Note:** When you leave some parts of the command out, you should also remove the dash (`-`). - -As mentioned above, there are some shortcuts, when you are in a: - -* `keyboard` folder, the command will automatically fill the `` part. So you only need to type `--` -* `subproject` folder, it will fill in both `` and `` -* `keymap` folder, then `` and `` will be filled in. If you need to specify the `` use the following syntax `-` - * Note in order to support this shortcut, the keymap needs its own Makefile (see the example [here](/doc/keymap_makefile_example.mk)) -* `keymap` folder of a `subproject`, then everything except the `` will be filled in - -The `` means the following -* If no target is given, then it's the same as `all` below -* `all` compiles the keyboard and generates a `_.hex` file in whichever folder you run `make` from. These files are ignored by git, so don't worry about deleting them when committing/creating pull requests. -* `dfu`, `teensy` or `dfu-util`, compile and upload the firmware to the keyboard. If the compilation fails, then nothing will be uploaded. The programmer to use depends on the keyboard. For most keyboards it's `dfu`, but for Infinity keyboards you should use `dfu-util`, and `teensy` for standard Teensys. To find out which command you should use for your keyboard, check the keyboard specific readme. **Note** that some operating systems needs root access for these commands to work, so in that case you need to run for example `sudo make dfu`. -* `clean`, cleans the build output folders to make sure that everything is built from scratch. Run this before normal compilation if you have some unexplainable problems. - -Some other targets are supported but, but not important enough to be documented here. Check the source code of the make files for more information. - -You can also add extra options at the end of the make command line, after the target +* `make` - builds your keyboard and keymap depending on which folder you're in. This defaults to the "default" layout (unless in a keymap folder), and Planck keyboard in the root folder + * `make keyboard=` - specifies the keyboard (only to be used in root) + * `make keymap=` - specifies the keymap (only to be used in root and keyboard folder - not needed when in keymap folder) +* `make clean` - cleans the `.build` folder, ensuring that everything is re-built +* `make dfu` - (requires dfu-programmer) builds and flashes the keymap to your keyboard once placed in reset/dfu mode (button or press `KC_RESET`). This does not work for Teensy-based keyboards like the ErgoDox EZ. + * `keyboard=` and `keymap=` are compatible with this +* `make all-keyboards` - builds all keymaps for all keyboards and outputs status of each (use in root) +* `make all-keyboards-default` - builds all default keymaps for all keyboards and outputs status of each (use in root) +* `make all-keymaps [keyboard=]` - builds all of the keymaps for whatever keyboard folder you're in, or specified by `` +* `make all-keyboards-*`, `make all-keyboards-default-*` and `make all-keymaps-* [keyboard=]` - like the normal "make-all-*" commands, but the last string aftter the `-` (for example clean) is passed to the keyboard make command. +Other, less useful functionality: * `make COLOR=false` - turns off color output * `make SILENT=true` - turns off output besides errors/warnings -* `make VERBOSE=true` - outputs all of the gcc stuff (not interesting, unless you need to debug) - -The make command itself also has some additional options, type `make --help` for more information. The most useful is probably `-jx`, which specifies that you want to compile using more than one CPU, the `x` represents the number of CPUs that you want to use. Setting that can greatly reduce the compile times, especially if you are compiling many keyboards/keymaps. I usually set it to one less than the number of CPUs that I have, so that I have some left for doing other things while it's compiling. Note that not all operating systems and make versions supports that option. - -Here are some examples commands - -* `make allkb-allsp-allkm` builds everything (all keyboards, all subprojects, all keymaps). Running just `make` from the `root` will also run this. -* `make` from within a `keyboard` directory, is the same as `make keyboard-allsp-allkm`, which compiles all subprojects and keymaps of the keyboard. **NOTE** that this behaviour has changed. Previously it compiled just the default keymap. -* `make ergodox-infinity-algernon-clean` will clean the build output of the Ergodox Infinity keyboard. This example uses the full syntax and can be run from any folder with a `Makefile` -* `make dfu COLOR=false` from within a keymap folder, builds and uploads the keymap, but without color output. +* `make VERBOSE=true` - outputs all of the avr-gcc stuff (not interesting) ## The `Makefile` -There are 5 different `make` and `Makefile` locations: +There are 3 different `make` and `Makefile` locations: * root (`/`) * keyboard (`/keyboards//`) * keymap (`/keyboards//keymaps//`) -* subproject (`/keyboards//`) -* subproject keymap (`/keyboards///keymaps/`) -The root contains the code used to automatically figure out which keymap or keymaps to compile based on your current directory and commandline arguments. It's considered stable, and shouldn't be modified. The keyboard one will contain the MCU set-up and default settings for your keyboard, and shouldn't be modified unless you are the producer of that keyboard. The keymap Makefile can be modified by users, and is optional. It is included automatically if it exists. You can see an example [here](/doc/keymap_makefile_example.mk) - the last few lines are the most important. The settings you set here will override any defaults set in the keyboard Makefile. **The file is required if you want to run `make` in the keymap folder.** - -For keyboards and subprojects, the make files are split in two parts `Makefile` and `rules.mk`. All settings can be found in the `rules.mk` file, while the `Makefile` is just there for support and including the root `Makefile`. Keymaps contain just one `Makefile` for simplicity. +The root contains the code used to automatically figure out which keymap or keymaps to compile based on your current directory and commandline arguments. It's considered stable, and shouldn't be modified. The keyboard one will contain the MCU set-up and default settings for your keyboard, and shouldn't be modified unless you are the producer of that keyboard. The keymap Makefile can be modified by users, and is optional. It is included automatically if it exists. You can see an example [here](/doc/keymap_makefile_example.mk) - the last few lines are the most important. The settings you set here will override any defaults set in the keyboard Makefile. **It is required if you want to run `make` in the keymap folder.** ### Makefile options @@ -433,7 +368,7 @@ We've added shortcuts to make common modifier/tap (mod-tap) mappings more compac Steve Losh [described](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) the Space Cadet Shift quite well. Essentially, you hit the left Shift on its own, and you get an opening parenthesis; hit the right Shift on its own, and you get the closing one. When hit with other keys, the Shift key keeps working as it always does. Yes, it's as cool as it sounds. -To use it, use `KC_LSPO` (Left Shift, Parens Open) for your left Shift on your keymap, and `KC_RSPC` (Right Shift, Parens Close) for your right Shift. +To use it, use `KC_LSPO` (Left Shift, Parens Open) for your left Shift on your keymap, and `KC_RSPC` (Right Shift, Parens Close) for your right Shift. It's defaulted to work on US keyboards, but if your layout uses different keys for parenthesis, you can define those in your `config.h` like this: @@ -530,11 +465,11 @@ For the sake of flexibility, tap-dance actions can be either a pair of keycodes, ### Examples -Here's a simple example for a single definition: +Here's a simple example for a single definition: 1. In your `makefile`, add `TAP_DANCE_ENABLE = yes` 2. In your `config.h` (which you can copy from `qmk_firmware/keyboards/planck/config.h` to your keymap directory), add `#define TAPPING_TERM 200` -3. In your `keymap.c` file, define the variables and definitions, then add to your keymap: +3. In your `keymap.c` file, define the variables and definitions, then add to your keymap: ```c //Tap Dance Declarations @@ -550,10 +485,10 @@ qk_tap_dance_action_t tap_dance_actions[] = { }; //In Layer declaration, add tap dance item in place of a key code -TD(TD_ESC_CAPS) +TD(TD_ESC_CAPS) ``` -Here's a more complex example involving custom actions: +Here's a more complex example involving custom actions: ```c enum { @@ -828,11 +763,11 @@ To enable them, first add a new element to the `planck_keycodes` enum -- `DYNAMI Afterwards create a new layer called `_DYN`: #define _DYN 6 /* almost any other free number should be ok */ - + Below these two modifications include the `dynamic_macro.h` header: #include "dynamic_macro.h"` - + Then define the `_DYN` layer with the following keys: `DYN_REC_START1`, `DYN_MACRO_PLAY1`,`DYN_REC_START2` and `DYN_MACRO_PLAY2`. It may also contain other keys, it doesn't matter apart from the fact that you won't be able to record these keys in the dynamic macros. [_DYN]= { @@ -841,7 +776,7 @@ Then define the `_DYN` layer with the following keys: `DYN_REC_START1`, `DYN_MAC {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, - + Add the following code to the very beginning of your `process_record_user()` function: if (!process_record_dynamic_macro(keycode, record)) { @@ -1030,6 +965,66 @@ In the default script of AutoHotkey you can define custom hotkeys. The hotkeys above are for the combination CtrlAltGui and CtrlAltGuiShift plus the letter a. AutoHotkey inserts the Text right of `Send, ` when this combination is pressed. +## Backlight Breathing + +In order to enable backlight breathing, the following line must be added to your config.h file. + + #define BACKLIGHT_BREATHING + +The following function calls are used to control the breathing effect. + +* ```breathing_enable()``` - Enable the free-running breathing effect. +* ```breathing_disable()``` - Disable the free-running breathing effect immediately. +* ```breathing_self_disable()``` - Disable the free-running breathing effect after the current effect ends. +* ```breathing_toggle()``` - Toggle the free-running breathing effect. +* ```breathing_defaults()``` - Reset the speed and brightness settings of the breathing effect. + +The following function calls are used to control the maximum brightness of the breathing effect. + +* ```breathing_intensity_set(value)``` - Set the brightness of the breathing effect when it is at its max value. +* ```breathing_intensity_default()``` - Reset the brightness of the breathing effect to the default value based on the current backlight intensity. + +The following function calls are used to control the cycling speed of the breathing effect. + +* ```breathing_speed_set(value)``` - Set the speed of the breathing effect - how fast it cycles. +* ```breathing_speed_inc(value)``` - Increase the speed of the breathing effect by a fixed value. +* ```breathing_speed_dec(value)``` - Decrease the speed of the breathing effect by a fixed value. +* ```breathing_speed_default()``` - Reset the speed of the breathing effect to the default value. + +The following example shows how to enable the backlight breathing effect when the FUNCTION layer macro button is pressed: + + case MACRO_FUNCTION: + if (record->event.pressed) + { + breathing_speed_set(3); + breathing_enable(); + layer_on(LAYER_FUNCTION); + } + else + { + breathing_speed_set(1); + breathing_self_disable(); + layer_off(LAYER_FUNCTION); + } + break; + +The following example shows how to pulse the backlight on-off-on when the RAISED layer macro button is pressed: + + case MACRO_RAISED: + if (record->event.pressed) + { + layer_on(LAYER_RAISED); + breathing_speed_set(2); + breathing_pulse(); + update_tri_layer(LAYER_LOWER, LAYER_RAISED, LAYER_ADJUST); + } + else + { + layer_off(LAYER_RAISED); + update_tri_layer(LAYER_LOWER, LAYER_RAISED, LAYER_ADJUST); + } + break; + ## RGB Under Glow Mod ![Planck with RGB Underglow](https://raw.githubusercontent.com/jackhumbert/qmk_firmware/master/keyboards/planck/keymaps/yang/planck-with-rgb-underglow.jpg) @@ -1043,7 +1038,7 @@ For this mod, you need an unused pin wiring to DI of WS2812 strip. After wiring In order to use the underglow timer functions, you need to have `#define RGBLIGHT_TIMER` in your `config.h`, and have audio disabled (`AUDIO_ENABLE = no` in your Makefile). Please add the following options into your config.h, and set them up according your hardware configuration. These settings are for the `F4` pin by default: - + #define RGB_DI_PIN F4 // The pin your RGB strip is wired to #define RGBLIGHT_TIMER // Require for fancier stuff (not compatible with audio) #define RGBLED_NUM 14 // Number of LEDs @@ -1090,15 +1085,15 @@ If your keyboard is running an Atmega chip (atmega32u4 and others), it's pretty The `USB Device descriptor parameter` block contains parameters are used to uniquely identify your keyboard, but they don't really matter to the machine. -Your `MATRIX_ROWS` and `MATRIX_COLS` are the numbers of rows and cols in your keyboard matrix - this may be different than the number of actual rows and columns on your keyboard. There are some tricks you can pull to increase the number of keys in a given matrix, but most keyboards are pretty straight-forward. +Your `MATRIX_ROWS` and `MATRIX_COLS` are the numbers of rows and cols in your keyboard matrix - this may be different than the number of actual rows and columns on your keyboard. There are some tricks you can pull to increase the number of keys in a given matrix, but most keyboards are pretty straight-forward. The `MATRIX_ROW_PINS` and `MATRIX_COL_PINS` are the pins your MCU uses on each row/column. Your schematic (if you have one) will have this information on it, and the values will vary depending on your setup. This is one of the most important things to double-check in getting your keyboard setup correctly. For the `DIODE_DIRECTION`, most hand-wiring guides will instruct you to wire the diodes in the `COL2ROW` position, but it's possible that they are in the other - people coming from EasyAVR often use `ROW2COL`. Nothing will function if this is incorrect. -`BACKLIGHT_PIN` is the pin that your PWM-controlled backlight (if one exists) is hooked-up to. Currently only B5, B6, and B7 are supported. +`BACKLIGHT_PIN` is the pin that your PWM-controlled backlight (if one exists) is hooked-up to. Currently only B5, B6, and B7 are supported. -`BACKLIGHT_BREATHING` is a fancier backlight feature, and uses one of the timers. +`BACKLIGHT_BREATHING` is a fancier backlight feature that adds breathing/pulsing/fading effects to the backlight. It uses the same timer as the normal backlight. These breathing effects must be called by code in your keymap. `BACKLIGHT_LEVELS` is how many levels exist for your backlight - max is 15, and they are computed automatically from this number. @@ -1141,55 +1136,4 @@ Here is where you can (optionally) define your `KEYMAP` function to remap your m } ``` -Each of the `kxx` variables needs to be unique, and usually follows the format `k`. You can place `KC_NO` where your dead keys are in your matrix. - -# Unit Testing - -If you are new to unit testing, then you can find many good resources on internet. However most of it is scattered around in small pieces here and there, and there's also many different opinions, so I won't give any recommendations. - -Instead I recommend these two books, explaining two different styles of Unit Testing in detail. - -* "Test Driven Development: By Example: Kent Beck" -* "Growing Object-Oriented Software, Guided By Tests: Steve Freeman, Nat Pryce" - -If you prefer videos there are Uncle Bob's [Clean Coders Videos](https://cleancoders.com/), which unfortunately cost quite a bit, especially if you want to watch many of them. But James Shore has a free [Let's Play](http://www.jamesshore.com/Blog/Lets-Play) video series. - -## Google Test and Google Mock -It's possible to Unit Test your code using [Google Test](https://github.com/google/googletest). The Google Test framework also includes another component for writing testing mocks and stubs, called "Google Mock". For information how to write the actual tests, please refer to the documentation on that site. - -## Use of C++ - -Note that Google Test and therefore any test has to be written in C++, even if the rest of the QMK codebases is written in C. This should hopefully not be a problem even if you don't know any C++, since there's quite clear documentation and examples of the required C++ features, and you can write the rest of the test code almost as you would write normal C. Note that some compiler errors which you might get can look quite scary, but just read carefully what it says, and you should be ok. - -One thing to remember, is that you have to append `extern "C"` around all of your C file includes. - -## Adding tests for new or existing features - -If you want to unit test some feature, then take a look at the existing serial_link tests, in the `quantum/serial_link/tests folder`, and follow the steps below to create a similar structure. - -1. If it doesn't already exist, add a test subfolder to the folder containing the feature. -2. Create a `testlist.mk` and a `rules.mk` file in that folder. -3. Include those files from the root folder `testlist.mk`and `build_test.mk` respectively. -4. Add a new name for your testgroup to the `testlist.mk` file. Each group defined there will be a separate executable. And that's how you can support mocking out different parts. Note that it's worth adding some common prefix, just like it's done for the serial_link tests. The reason for that is that the make command allows substring filtering, so this way you can easily run a subset of the tests. -5. Define the source files and required options in the `rules.mk` file. - * `_SRC` for source files - * `_DEFS` for additional defines - * `_INC` for additional include folders -6. Write the tests in a new cpp file inside the test folder you created. That file has to be one of the files included from the `rules.mk` file. - -Note how there's several different tests, each mocking out a separate part. Also note that each of them only compiles the very minimum that's needed for the tests. It's recommend that you try to do the same. For a relevant video check out [Matt Hargett "Advanced Unit Testing in C & C++](https://www.youtube.com/watch?v=Wmy6g-aVgZI) - -## Running the tests - -To run all the tests in the codebase, type `make test`. You can also run test matching a substring by typing `make test-matchingsubstring` Note that the tests are always compiled with the native compiler of your platform, so they are also run like any other program on your computer. - -## Debugging the tests - -If there are problems with the tests, you can find the executable in the `./build/test` folder. You should be able to run those with GDB or a similar debugger. - -## Full Integration tests - -It's not yet possible to do a full integration test, where you would compile the whole firmware and define a keymap that you are going to test. However there are plans for doing that, because writing tests that way would probably be easier, at least for people that are not used to unit testing. - -In that model you would emulate the input, and expect a certain output from the emulated keyboard. - +Each of the `kxx` variables needs to be unique, and usually follows the format `k`. You can place `KC_NO` where your dead keys are in your matrix. \ No newline at end of file From f065652812e6ac783db50e58a42fbb01ea817fbc Mon Sep 17 00:00:00 2001 From: IBNobody Date: Sat, 3 Sep 2016 20:33:34 -0500 Subject: [PATCH 26/34] Updated doc to contain breathing information. --- readme.md | 173 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 144 insertions(+), 29 deletions(-) diff --git a/readme.md b/readme.md index 371470bc36..903c2b1e8c 100644 --- a/readme.md +++ b/readme.md @@ -54,10 +54,10 @@ Here are the steps 1. Install the Windows 10 subsystem for Linux, following [these instructions](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/). 2. If you have previously cloned the repository using the normal Git bash, you will need to clean up the line endings. If you have cloned it after 20th of August 2016, you are likely fine. To clean up the line endings do the following 1. Make sure that you have no changes you haven't committed by running `git status`, if you do commit them first - 2. From within the Git bash run �git rm --cached -r .` + 2. From within the Git bash run `git rm --cached -r .` 3. Followed by `git reset --hard` 3. Start the "Bash On Ubuntu On Windows" from the start menu -4. With the bash open, navigate to your git checkout. The harddisk can be accessed from `/mnt` for example `/mnt/c` for the `c:\` drive. +4. With the bash open, navigate to your Git checkout. The harddisk can be accessed from `/mnt` for example `/mnt/c` for the `c:\` drive. 5. Run `sudo util/install_dependencies.sh`. 6. After a while the installation will finish, and you are good to go @@ -69,11 +69,12 @@ Here are the steps ### Windows (Vista and later) 1. If you have ever installed WinAVR, uninstall it. 2. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**. -3. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location. -4. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer. -5. Double-click on the 1-setup-path-win batch script to run it. You'll need to accept a User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up. -6. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete! -7. Future build commands should be run from the MHV AVR Shell, which sets up an environment compatible with colorful build output. The standard Command Prompt will also work, but add `COLOR=false` to the end of all make commands when using it. +3. If you are going to flash Infinity based keyboards you will need to install dfu-util, refer to the instructions by [Input Club](https://github.com/kiibohd/controller/wiki/Loading-DFU-Firmware). +4. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location. +5. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer. +6. Double-click on the 1-setup-path-win batch script to run it. You'll need to accept a User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up. +7. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete! +8. Future build commands should be run from the MHV AVR Shell, which sets up an environment compatible with colorful build output. The standard Command Prompt will also work, but add `COLOR=false` to the end of all make commands when using it. ### Mac If you're using [homebrew,](http://brew.sh/) you can use the following commands: @@ -90,6 +91,10 @@ You can also try these instructions: 2. Install the Command Line Tools from `Xcode->Preferences->Downloads`. 3. Install [DFU-Programmer][dfu-prog]. +If you are going to flash Infinity based keyboards you will also need dfu-util + + brew install dfu-util + ### Linux To ensure you are always up to date, you can just run `sudo utils/install_dependencies.sh`. That should always install all the dependencies needed. @@ -157,43 +162,103 @@ In every keymap folder, the following files are recommended: ## The `make` command -The `make` command is how you compile the firmware into a .hex file, which can be loaded by a dfu programmer (like dfu-progammer via `make dfu`) or the [Teensy loader](https://www.pjrc.com/teensy/loader.html) (only used with Teensys). You can run `make` from the root (`/`), your keyboard folder (`/keyboards//`), or your keymap folder (`/keyboards//keymaps//`) if you have a `Makefile` there (see the example [here](/doc/keymap_makefile_example.mk)). +The `make` command is how you compile the firmware into a .hex file, which can be loaded by a dfu programmer (like dfu-progammer via `make dfu`) or the [Teensy loader](https://www.pjrc.com/teensy/loader.html) (only used with Teensys). -By default, this will generate a `_.hex` file in whichever folder you run `make` from. These files are ignored by git, so don't worry about deleting them when committing/creating pull requests. +**NOTE:** To abort a make command press `Ctrl-c` -Below are some definitions that will be useful: +The following instruction refers to these folders. -* The "root" (`/`) folder is the qmk_firmware folder, in which are `doc`, `keyboard`, `quantum`, etc. -* The "keyboard" folder is any keyboard project's folder, like `/keyboards/planck`. -* The "keymap" folder is any keymap's folder, like `/keyboards/planck/keymaps/default`. +* The `root` (`/`) folder is the qmk_firmware folder, in which are `doc`, `keyboard`, `quantum`, etc. +* The `keyboard` folder is any keyboard project's folder, like `/keyboards/planck`. +* The `keymap` folder is any keymap's folder, like `/keyboards/planck/keymaps/default`. +* The `subproject` folder is the subproject folder of a keyboard, like `/keyboards/ergodox/ez` -Below is a list of the useful `make` commands in QMK: +### Simple instructions for building and uploading a keyboard -* `make` - builds your keyboard and keymap depending on which folder you're in. This defaults to the "default" layout (unless in a keymap folder), and Planck keyboard in the root folder - * `make keyboard=` - specifies the keyboard (only to be used in root) - * `make keymap=` - specifies the keymap (only to be used in root and keyboard folder - not needed when in keymap folder) -* `make clean` - cleans the `.build` folder, ensuring that everything is re-built -* `make dfu` - (requires dfu-programmer) builds and flashes the keymap to your keyboard once placed in reset/dfu mode (button or press `KC_RESET`). This does not work for Teensy-based keyboards like the ErgoDox EZ. - * `keyboard=` and `keymap=` are compatible with this -* `make all-keyboards` - builds all keymaps for all keyboards and outputs status of each (use in root) -* `make all-keyboards-default` - builds all default keymaps for all keyboards and outputs status of each (use in root) -* `make all-keymaps [keyboard=]` - builds all of the keymaps for whatever keyboard folder you're in, or specified by `` -* `make all-keyboards-*`, `make all-keyboards-default-*` and `make all-keymaps-* [keyboard=]` - like the normal "make-all-*" commands, but the last string aftter the `-` (for example clean) is passed to the keyboard make command. -Other, less useful functionality: +**Most keyboards have more specific instructions in the keyboard specific readme.md file, so please check that first** + +If the `keymap` folder contains a file name `Makefile` + +1. Change the directory to the `keymap` folder +2. Run `make -` + +Otherwise, if there's no `Makefile` in the `keymap` folder + +1. Enter the `keyboard` folder +2. Run `make --` + +In the above commands, replace: + +* `` with the name of your keymap +* `` with the name of the subproject (revision or sub-model of your keyboard). For example, for Ergodox it can be `ez` or `infinity`, and for Planck `rev3` or `rev4`. + * If the keyboard doesn't have a subproject, or if you are happy with the default (defined in `rules.mk` file of the `keyboard` folder), you can leave it out. But remember to also remove the dash (`-`) from the command. +* `` The programmer to use. Most keyboards use `dfu`, but some use `teensy`. Infinity keyboards use `dfu-util`. Check the readme file in the keyboard folder to find out which programmer to use. + * If you don't add `----`, where: + +* `` is the name of the keyboard, for example `planck` + * Use `allkb` to compile all keyboards +* `` is the name of the subproject (revision or sub-model of the keyboard). For example, for Ergodox it can be `ez` or `infinity`, and for Planck `rev3` or `rev4`. + * If the keyboard doesn't have any subprojects, it can be left out + * To compile the default subproject, you can leave it out, or specify `defaultsp` + * Use `allsp` to compile all subprojects +* `` is the name of the keymap, for example `algernon` + * Use `allkm` to compile all keymaps +* `` will be explained in more detail below. + +**Note:** When you leave some parts of the command out, you should also remove the dash (`-`). + +As mentioned above, there are some shortcuts, when you are in a: + +* `keyboard` folder, the command will automatically fill the `` part. So you only need to type `--` +* `subproject` folder, it will fill in both `` and `` +* `keymap` folder, then `` and `` will be filled in. If you need to specify the `` use the following syntax `-` + * Note in order to support this shortcut, the keymap needs its own Makefile (see the example [here](/doc/keymap_makefile_example.mk)) +* `keymap` folder of a `subproject`, then everything except the `` will be filled in + +The `` means the following +* If no target is given, then it's the same as `all` below +* `all` compiles the keyboard and generates a `_.hex` file in whichever folder you run `make` from. These files are ignored by git, so don't worry about deleting them when committing/creating pull requests. +* `dfu`, `teensy` or `dfu-util`, compile and upload the firmware to the keyboard. If the compilation fails, then nothing will be uploaded. The programmer to use depends on the keyboard. For most keyboards it's `dfu`, but for Infinity keyboards you should use `dfu-util`, and `teensy` for standard Teensys. To find out which command you should use for your keyboard, check the keyboard specific readme. **Note** that some operating systems needs root access for these commands to work, so in that case you need to run for example `sudo make dfu`. +* `clean`, cleans the build output folders to make sure that everything is built from scratch. Run this before normal compilation if you have some unexplainable problems. + +Some other targets are supported but, but not important enough to be documented here. Check the source code of the make files for more information. + +You can also add extra options at the end of the make command line, after the target * `make COLOR=false` - turns off color output * `make SILENT=true` - turns off output besides errors/warnings -* `make VERBOSE=true` - outputs all of the avr-gcc stuff (not interesting) +* `make VERBOSE=true` - outputs all of the gcc stuff (not interesting, unless you need to debug) + +The make command itself also has some additional options, type `make --help` for more information. The most useful is probably `-jx`, which specifies that you want to compile using more than one CPU, the `x` represents the number of CPUs that you want to use. Setting that can greatly reduce the compile times, especially if you are compiling many keyboards/keymaps. I usually set it to one less than the number of CPUs that I have, so that I have some left for doing other things while it's compiling. Note that not all operating systems and make versions supports that option. + +Here are some examples commands + +* `make allkb-allsp-allkm` builds everything (all keyboards, all subprojects, all keymaps). Running just `make` from the `root` will also run this. +* `make` from within a `keyboard` directory, is the same as `make keyboard-allsp-allkm`, which compiles all subprojects and keymaps of the keyboard. **NOTE** that this behaviour has changed. Previously it compiled just the default keymap. +* `make ergodox-infinity-algernon-clean` will clean the build output of the Ergodox Infinity keyboard. This example uses the full syntax and can be run from any folder with a `Makefile` +* `make dfu COLOR=false` from within a keymap folder, builds and uploads the keymap, but without color output. ## The `Makefile` -There are 3 different `make` and `Makefile` locations: +There are 5 different `make` and `Makefile` locations: * root (`/`) * keyboard (`/keyboards//`) * keymap (`/keyboards//keymaps//`) +* subproject (`/keyboards//`) +* subproject keymap (`/keyboards///keymaps/`) -The root contains the code used to automatically figure out which keymap or keymaps to compile based on your current directory and commandline arguments. It's considered stable, and shouldn't be modified. The keyboard one will contain the MCU set-up and default settings for your keyboard, and shouldn't be modified unless you are the producer of that keyboard. The keymap Makefile can be modified by users, and is optional. It is included automatically if it exists. You can see an example [here](/doc/keymap_makefile_example.mk) - the last few lines are the most important. The settings you set here will override any defaults set in the keyboard Makefile. **It is required if you want to run `make` in the keymap folder.** +The root contains the code used to automatically figure out which keymap or keymaps to compile based on your current directory and commandline arguments. It's considered stable, and shouldn't be modified. The keyboard one will contain the MCU set-up and default settings for your keyboard, and shouldn't be modified unless you are the producer of that keyboard. The keymap Makefile can be modified by users, and is optional. It is included automatically if it exists. You can see an example [here](/doc/keymap_makefile_example.mk) - the last few lines are the most important. The settings you set here will override any defaults set in the keyboard Makefile. **The file is required if you want to run `make` in the keymap folder.** + +For keyboards and subprojects, the make files are split in two parts `Makefile` and `rules.mk`. All settings can be found in the `rules.mk` file, while the `Makefile` is just there for support and including the root `Makefile`. Keymaps contain just one `Makefile` for simplicity. ### Makefile options @@ -1136,4 +1201,54 @@ Here is where you can (optionally) define your `KEYMAP` function to remap your m } ``` -Each of the `kxx` variables needs to be unique, and usually follows the format `k`. You can place `KC_NO` where your dead keys are in your matrix. \ No newline at end of file +Each of the `kxx` variables needs to be unique, and usually follows the format `k`. You can place `KC_NO` where your dead keys are in your matrix. + +# Unit Testing + +If you are new to unit testing, then you can find many good resources on internet. However most of it is scattered around in small pieces here and there, and there's also many different opinions, so I won't give any recommendations. + +Instead I recommend these two books, explaining two different styles of Unit Testing in detail. + +* "Test Driven Development: By Example: Kent Beck" +* "Growing Object-Oriented Software, Guided By Tests: Steve Freeman, Nat Pryce" + +If you prefer videos there are Uncle Bob's [Clean Coders Videos](https://cleancoders.com/), which unfortunately cost quite a bit, especially if you want to watch many of them. But James Shore has a free [Let's Play](http://www.jamesshore.com/Blog/Lets-Play) video series. + +## Google Test and Google Mock +It's possible to Unit Test your code using [Google Test](https://github.com/google/googletest). The Google Test framework also includes another component for writing testing mocks and stubs, called "Google Mock". For information how to write the actual tests, please refer to the documentation on that site. + +## Use of C++ + +Note that Google Test and therefore any test has to be written in C++, even if the rest of the QMK codebases is written in C. This should hopefully not be a problem even if you don't know any C++, since there's quite clear documentation and examples of the required C++ features, and you can write the rest of the test code almost as you would write normal C. Note that some compiler errors which you might get can look quite scary, but just read carefully what it says, and you should be ok. + +One thing to remember, is that you have to append `extern "C"` around all of your C file includes. + +## Adding tests for new or existing features + +If you want to unit test some feature, then take a look at the existing serial_link tests, in the `quantum/serial_link/tests folder`, and follow the steps below to create a similar structure. + +1. If it doesn't already exist, add a test subfolder to the folder containing the feature. +2. Create a `testlist.mk` and a `rules.mk` file in that folder. +3. Include those files from the root folder `testlist.mk`and `build_test.mk` respectively. +4. Add a new name for your testgroup to the `testlist.mk` file. Each group defined there will be a separate executable. And that's how you can support mocking out different parts. Note that it's worth adding some common prefix, just like it's done for the serial_link tests. The reason for that is that the make command allows substring filtering, so this way you can easily run a subset of the tests. +5. Define the source files and required options in the `rules.mk` file. + * `_SRC` for source files + * `_DEFS` for additional defines + * `_INC` for additional include folders +6. Write the tests in a new cpp file inside the test folder you created. That file has to be one of the files included from the `rules.mk` file. + +Note how there's several different tests, each mocking out a separate part. Also note that each of them only compiles the very minimum that's needed for the tests. It's recommend that you try to do the same. For a relevant video check out [Matt Hargett "Advanced Unit Testing in C & C++](https://www.youtube.com/watch?v=Wmy6g-aVgZI) + +## Running the tests + +To run all the tests in the codebase, type `make test`. You can also run test matching a substring by typing `make test-matchingsubstring` Note that the tests are always compiled with the native compiler of your platform, so they are also run like any other program on your computer. + +## Debugging the tests + +If there are problems with the tests, you can find the executable in the `./build/test` folder. You should be able to run those with GDB or a similar debugger. + +## Full Integration tests + +It's not yet possible to do a full integration test, where you would compile the whole firmware and define a keymap that you are going to test. However there are plans for doing that, because writing tests that way would probably be easier, at least for people that are not used to unit testing. + +In that model you would emulate the input, and expect a certain output from the emulated keyboard. From d55a705bbb362934306a3be632d6bacb99fd9de2 Mon Sep 17 00:00:00 2001 From: IBNobody Date: Sat, 3 Sep 2016 23:21:24 -0500 Subject: [PATCH 27/34] Moved breathing backlighting section in readme.md --- readme.md | 120 +++++++++++++++++++++++++++--------------------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/readme.md b/readme.md index 903c2b1e8c..7ee3b28d43 100644 --- a/readme.md +++ b/readme.md @@ -877,6 +877,66 @@ In `quantum/keymap_extras/`, you'll see various language files - these work the You can currently send 4 hex digits with your OS-specific modifier key (RALT for OSX with the "Unicode Hex Input" layout) - this is currently limited to supporting one OS at a time, and requires a recompile for switching. 8 digit hex codes are being worked on. The keycode function is `UC(n)`, where *n* is a 4 digit hexidecimal. Enable from the Makefile. +## Backlight Breathing + +In order to enable backlight breathing, the following line must be added to your config.h file. + + #define BACKLIGHT_BREATHING + +The following function calls are used to control the breathing effect. + +* ```breathing_enable()``` - Enable the free-running breathing effect. +* ```breathing_disable()``` - Disable the free-running breathing effect immediately. +* ```breathing_self_disable()``` - Disable the free-running breathing effect after the current effect ends. +* ```breathing_toggle()``` - Toggle the free-running breathing effect. +* ```breathing_defaults()``` - Reset the speed and brightness settings of the breathing effect. + +The following function calls are used to control the maximum brightness of the breathing effect. + +* ```breathing_intensity_set(value)``` - Set the brightness of the breathing effect when it is at its max value. +* ```breathing_intensity_default()``` - Reset the brightness of the breathing effect to the default value based on the current backlight intensity. + +The following function calls are used to control the cycling speed of the breathing effect. + +* ```breathing_speed_set(value)``` - Set the speed of the breathing effect - how fast it cycles. +* ```breathing_speed_inc(value)``` - Increase the speed of the breathing effect by a fixed value. +* ```breathing_speed_dec(value)``` - Decrease the speed of the breathing effect by a fixed value. +* ```breathing_speed_default()``` - Reset the speed of the breathing effect to the default value. + +The following example shows how to enable the backlight breathing effect when the FUNCTION layer macro button is pressed: + + case MACRO_FUNCTION: + if (record->event.pressed) + { + breathing_speed_set(3); + breathing_enable(); + layer_on(LAYER_FUNCTION); + } + else + { + breathing_speed_set(1); + breathing_self_disable(); + layer_off(LAYER_FUNCTION); + } + break; + +The following example shows how to pulse the backlight on-off-on when the RAISED layer macro button is pressed: + + case MACRO_RAISED: + if (record->event.pressed) + { + layer_on(LAYER_RAISED); + breathing_speed_set(2); + breathing_pulse(); + update_tri_layer(LAYER_LOWER, LAYER_RAISED, LAYER_ADJUST); + } + else + { + layer_off(LAYER_RAISED); + update_tri_layer(LAYER_LOWER, LAYER_RAISED, LAYER_ADJUST); + } + break; + ## Other firmware shortcut keycodes * `RESET` - puts the MCU in DFU mode for flashing new firmware (with `make dfu`) @@ -1030,66 +1090,6 @@ In the default script of AutoHotkey you can define custom hotkeys. The hotkeys above are for the combination CtrlAltGui and CtrlAltGuiShift plus the letter a. AutoHotkey inserts the Text right of `Send, ` when this combination is pressed. -## Backlight Breathing - -In order to enable backlight breathing, the following line must be added to your config.h file. - - #define BACKLIGHT_BREATHING - -The following function calls are used to control the breathing effect. - -* ```breathing_enable()``` - Enable the free-running breathing effect. -* ```breathing_disable()``` - Disable the free-running breathing effect immediately. -* ```breathing_self_disable()``` - Disable the free-running breathing effect after the current effect ends. -* ```breathing_toggle()``` - Toggle the free-running breathing effect. -* ```breathing_defaults()``` - Reset the speed and brightness settings of the breathing effect. - -The following function calls are used to control the maximum brightness of the breathing effect. - -* ```breathing_intensity_set(value)``` - Set the brightness of the breathing effect when it is at its max value. -* ```breathing_intensity_default()``` - Reset the brightness of the breathing effect to the default value based on the current backlight intensity. - -The following function calls are used to control the cycling speed of the breathing effect. - -* ```breathing_speed_set(value)``` - Set the speed of the breathing effect - how fast it cycles. -* ```breathing_speed_inc(value)``` - Increase the speed of the breathing effect by a fixed value. -* ```breathing_speed_dec(value)``` - Decrease the speed of the breathing effect by a fixed value. -* ```breathing_speed_default()``` - Reset the speed of the breathing effect to the default value. - -The following example shows how to enable the backlight breathing effect when the FUNCTION layer macro button is pressed: - - case MACRO_FUNCTION: - if (record->event.pressed) - { - breathing_speed_set(3); - breathing_enable(); - layer_on(LAYER_FUNCTION); - } - else - { - breathing_speed_set(1); - breathing_self_disable(); - layer_off(LAYER_FUNCTION); - } - break; - -The following example shows how to pulse the backlight on-off-on when the RAISED layer macro button is pressed: - - case MACRO_RAISED: - if (record->event.pressed) - { - layer_on(LAYER_RAISED); - breathing_speed_set(2); - breathing_pulse(); - update_tri_layer(LAYER_LOWER, LAYER_RAISED, LAYER_ADJUST); - } - else - { - layer_off(LAYER_RAISED); - update_tri_layer(LAYER_LOWER, LAYER_RAISED, LAYER_ADJUST); - } - break; - ## RGB Under Glow Mod ![Planck with RGB Underglow](https://raw.githubusercontent.com/jackhumbert/qmk_firmware/master/keyboards/planck/keymaps/yang/planck-with-rgb-underglow.jpg) From f6cb08a5bd0d3c34c64691c7f51911742b562c05 Mon Sep 17 00:00:00 2001 From: IBNobody Date: Sun, 4 Sep 2016 01:07:36 -0500 Subject: [PATCH 28/34] Added diagonal mice macros, breathing ala Atomic --- keyboards/planck/keymaps/pvc/config.h | 9 +- keyboards/planck/keymaps/pvc/keymap.c | 444 ++++++++++++++------------ 2 files changed, 246 insertions(+), 207 deletions(-) diff --git a/keyboards/planck/keymaps/pvc/config.h b/keyboards/planck/keymaps/pvc/config.h index c857a3e89d..1113372b0a 100644 --- a/keyboards/planck/keymaps/pvc/config.h +++ b/keyboards/planck/keymaps/pvc/config.h @@ -59,13 +59,8 @@ along with this program. If not, see . keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) -/* ws2812 RGB LED */ -#define RGB_DI_PIN D1 -#define RGBLIGHT_TIMER -#define RGBLED_NUM 28 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 +#define BACKLIGHT_PIN B7 +#define BACKLIGHT_BREATHING /* * Feature disable options diff --git a/keyboards/planck/keymaps/pvc/keymap.c b/keyboards/planck/keymaps/pvc/keymap.c index 0bb7f0def2..8ff40f377c 100644 --- a/keyboards/planck/keymaps/pvc/keymap.c +++ b/keyboards/planck/keymaps/pvc/keymap.c @@ -2,48 +2,50 @@ #include "action_layer.h" #include "eeconfig.h" #include "led.h" +#include "mousekey.h" #ifdef AUDIO_ENABLE #include "audio.h" #include "song_list.h" #endif -#define LAYER_QWERTY 0 -#define LAYER_COLEMAK 1 -#define LAYER_DVORAK 2 -#define LAYER_UPPER 3 -#define LAYER_LOWER 4 -#define LAYER_FUNCTION 5 -#define LAYER_MOUSE 6 -#define LAYER_ADJUST 7 - -#define MACRO_QWERTY 0 -#define MACRO_COLEMAK 1 -#define MACRO_DVORAK 2 -#define MACRO_UPPER 3 -#define MACRO_LOWER 4 -#define MACRO_FUNCTION 5 -#define MACRO_MOUSE 6 -#define MACRO_TIMBRE_1 7 -#define MACRO_TIMBRE_2 8 -#define MACRO_TIMBRE_3 9 -#define MACRO_TIMBRE_4 10 -#define MACRO_TEMPO_U 11 -#define MACRO_TEMPO_D 12 -#define MACRO_TONE_DEFAULT 13 -#define MACRO_MUSIC_TOGGLE 14 -#define MACRO_AUDIO_TOGGLE 16 -#define MACRO_INC_VOICE 18 -#define MACRO_DEC_VOICE 19 -#define MACRO_BACKLIGHT 20 -#define MACRO_BREATH_TOGGLE 21 -#define MACRO_BREATH_SPEED_INC 23 -#define MACRO_BREATH_SPEED_DEC 24 -#define MACRO_BREATH_DEFAULT 25 +enum keyboard_layers { + LAYER_QWERTY = 0, + LAYER_UPPER, + LAYER_LOWER, + LAYER_FUNCTION, + LAYER_MOUSE, + LAYER_ADJUST, +}; +enum keyboard_macros { + MACRO_QWERTY = 0, + MACRO_UPPER, + MACRO_LOWER, + MACRO_FUNCTION, + MACRO_MOUSE, + MACRO_TIMBRE_1, + MACRO_TIMBRE_2, + MACRO_TIMBRE_3, + MACRO_TIMBRE_4, + MACRO_TEMPO_U, + MACRO_TEMPO_D, + MACRO_TONE_DEFAULT, + MACRO_MUSIC_TOGGLE, + MACRO_AUDIO_TOGGLE, + MACRO_INC_VOICE, + MACRO_DEC_VOICE, + MACRO_BACKLIGHT, + MACRO_BREATH_TOGGLE, + MACRO_BREATH_SPEED_INC, + MACRO_BREATH_SPEED_DEC, + MACRO_BREATH_DEFAULT, + MACRO_MOUSE_MOVE_UL, + MACRO_MOUSE_MOVE_UR, + MACRO_MOUSE_MOVE_DL, + MACRO_MOUSE_MOVE_DR, +}; #define M_QWRTY M(MACRO_QWERTY) -#define M_COLMK M(MACRO_COLEMAK) -#define M_DVORK M(MACRO_DVORAK) #define M_UPPER M(MACRO_UPPER) #define M_LOWER M(MACRO_LOWER) #define M_FUNCT M(MACRO_FUNCTION) @@ -60,6 +62,10 @@ #define M_BSPDU M(MACRO_BREATH_SPEED_INC) #define M_BSPDD M(MACRO_BREATH_SPEED_DEC) #define M_BDFLT M(MACRO_BREATH_DEFAULT) +#define M_MS_UL M(MACRO_MOUSE_MOVE_UL) +#define M_MS_UR M(MACRO_MOUSE_MOVE_UR) +#define M_MS_DL M(MACRO_MOUSE_MOVE_DL) +#define M_MS_DR M(MACRO_MOUSE_MOVE_DR) #define VC_UP M(MACRO_INC_VOICE) @@ -86,147 +92,124 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* QWERTY - * .-----------------------------------------------------------------------------------------------------------. - * | TAB | Q | W | E | R | T | Y | U | I | O | P | BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | ESC | A | S | D | F | G | H | J | K | L | ; | ' | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | LSHIFT | Z | X | C | V | B | N | M | , | . | UP | ENTER | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | LCTRL | LWIN | FN | LALT | UPPER | SPACE | SPACE | LOWER | SHIFT | LEFT | DOWN | RIGHT | - * '-----------------------------------------------------------------------------------------------------------' - */ +/* LAYER = LAYER_QWERTY + .-----------------------------------------------------------------------------------------------------------. + | TAB | Q | W | E | R | T | Y | U | I | O | P | BACKSP | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ESC | A | S | D | F | G | H | J | K | L | ; | ' | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | LSHIFT | Z | X | C | V | B | N | M | , | . | UP | ENTER | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | LCTRL | LWIN | FN | LALT | UPPER | SPACE | SPACE | LOWER | OSHIFT | LEFT | DOWN | RIGHT | + '-----------------------------------------------------------------------------------------------------------' +*/ - [LAYER_QWERTY] = { // QWERTY - { KC_TAB, 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT }, - { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT }, - { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, OS_SHFT, KC_LEFT, KC_DOWN, KC_RGHT }, - }, +[LAYER_QWERTY] = { + { KC_TAB , 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_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT }, + { KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_UP , KC_ENT }, + { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC , KC_SPC , M_LOWER, OS_SHFT, KC_LEFT, KC_DOWN, KC_RGHT } +}, -/* COLEMAK - * .-----------------------------------------------------------------------------------------------------------. - * | TAB | Q | W | F | P | G | J | L | U | Y | ; | ESC | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | BACKSP | A | R | S | T | D | H | N | E | I | O | ' | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | LSHIFT | Z | X | C | V | B | K | M | , | . | UP | ENTER | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | LCTRL | LWIN | FN | LALT | UPPER | SPACE | SPACE | LOWER | SHIFT | LEFT | DOWN | RIGHT | - * '-----------------------------------------------------------------------------------------------------------' - */ +/* LAYER = LAYER_UPPER + .-----------------------------------------------------------------------------------------------------------. + | PRINT | F1 | F2 | F3 | F4 | NUM LK | KP / | KP 7 | KP 8 | KP 9 | KP - | DEL | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | PAUSE | F5 | F6 | F7 | F8 | SCR LK | KP * | KP 4 | KP 5 | KP 6 | KP + | INS | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | F9 | F10 | F11 | F12 | PAUSE | KP 0 | KP 1 | KP 2 | KP 3 | KP ENT | HOME | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ______ | ______ | ______ | UPPER | KP 0 | KP 0 | ______ | RALT | KP . | KP ENT | END | + '-----------------------------------------------------------------------------------------------------------' +*/ - [LAYER_COLEMAK] = { // COLEMAK - { KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_ESC }, - { KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT }, - { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT }, - { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, OS_SHFT, KC_LEFT, KC_DOWN, KC_RGHT }, - }, +[LAYER_UPPER] = { + { KC_PSCR, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, KC_DEL }, + { KC_PAUS, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_SLCK, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, KC_INS }, + { _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PAUS, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, KC_HOME }, + { _______, _______, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, KC_END } +}, -/* DVORAK - * .-----------------------------------------------------------------------------------------------------------. - * | TAB | ' | , | . | P | Y | F | G | C | R | L | BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | ESC | A | O | E | U | I | D | H | T | N | S | / | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | ENTER | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | LCTRL | LWIN | FN | LALT | UPPER | SPACE | SPACE | LOWER | UP | DOWN | LEFT | RIGHT | - * '-----------------------------------------------------------------------------------------------------------' - */ +/* LAYER = LAYER_LOWER + .-----------------------------------------------------------------------------------------------------------. + | ______ | $ | { | [ | ( | % | # | ) | ] | } | @ | PG UP | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ^ | * | + | - | / | \ | _ | ' | " | ` | PG DN | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | | | & | ! | ~ | ; | : | = | < | > | ? | HOME | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ______ | ______ | ______ | ______ | ______ | ______ | LOWER | ______ | ______ | ______ | END | + '-----------------------------------------------------------------------------------------------------------' +*/ - [LAYER_DVORAK] = { // DVORAK - { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC }, - { KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH }, - { KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, - { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC, KC_SPC, M_LOWER, KC_UP, KC_DOWN, KC_LEFT, KC_RGHT }, - }, +[LAYER_LOWER] = { + { _______, KC_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , KC_PGUP }, + { _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , KC_PGDN }, + { _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT , KC_GT , KC_QUES, KC_HOME }, + { _______, _______, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, KC_END } +}, -/* UPPER - * .-----------------------------------------------------------------------------------------------------------. - * | PRINT | F1 | F2 | F3 | F4 | NUM LK | / | 7 | 8 | 9 | - | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | CAP LK | F5 | F6 | F7 | F8 | SCR LK | * | 4 | 5 | 6 | + | INS | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | F9 | F10 | F11 | F12 | PAUSE | | 1 | 2 | 3 | ENTER | HOME | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | | | | | 0 | 0 | | RALT | . | ENTER | END | - * '-----------------------------------------------------------------------------------------------------------' - */ +/* LAYER = LAYER_FUNCTION + .-----------------------------------------------------------------------------------------------------------. + | XXXXXX | F13 | F14 | F15 | F16 | NUM LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | F17 | F18 | F19 | F20 | SCR LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | F21 | F22 | F23 | F24 | CAP LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | VOL UP | MUTE | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ______ | FN | ______ | ______ | PLAY | PLAY | ______ | ______ | PREV | VOL DN | NEXT | + '-----------------------------------------------------------------------------------------------------------' +*/ - [LAYER_UPPER] = { // UPPER - { KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, KC_DEL }, - { KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_SLCK, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, KC_INS }, - { _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, KC_HOME }, - { _______, _______, _______, _______, _______, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, KC_END }, - }, - -/* LOWER - * .-----------------------------------------------------------------------------------------------------------. - * | | $ | { | [ | ( | % | # | ) | ] | } | @ | PG UP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | ^ | * | + | - | / | \ | _ | ' | " | ` | PG DN | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | | | & | ! | ~ | ; | : | = | < | > | ? | HOME | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | | | | | | | | | | | END | - * '-----------------------------------------------------------------------------------------------------------' - */ - - [LAYER_LOWER] = { // LOWER - { _______, KC_DLR, KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT, KC_PGUP }, - { _______, KC_CIRC, KC_ASTR, KC_PPLS, KC_PMNS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT, KC_GRV, KC_PGDN }, - { _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL, KC_LT, KC_GT, KC_QUES, KC_HOME }, - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END }, - }, - - -/* FUNCTION - * .-----------------------------------------------------------------------------------------------------------. - * | NUM LK | F13 | F14 | F15 | F16 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | PAUSE | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | CAP LK | F17 | F18 | F19 | F20 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | PRINT | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | SCR LK | F21 | F22 | F23 | F24 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MUTE | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | LCTRL | LWIN | FN | LALT | UPPER | PLAY | PLAY | LOWER | VOL UP | VOL DN | NEXT | PREV | - * '-----------------------------------------------------------------------------------------------------------' - */ - [LAYER_FUNCTION] = { // FUNCTION - { KC_NLCK, KC_F13, KC_F14, KC_F15, KC_F16, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS }, - { KC_CAPS, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR }, - { KC_SLCK, KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE }, - { _______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT }, - }, +[LAYER_FUNCTION] = { + { XXXXXXX, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, + { XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, + { _______, KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE }, + { _______, _______, M_FUNCT, _______, _______, KC_MPLY, KC_MPLY, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT } +}, #ifdef MOUSEKEY_ENABLE - [LAYER_MOUSE] = { // MOUSE - { KC_ESC, KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC }, - { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, - { _______, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, KC_WH_D }, - { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, KC_MS_U, KC_MS_D, KC_MS_L, KC_MS_R }, - }, +/* LAYER = LAYER_MOUSE + .-----------------------------------------------------------------------------------------------------------. + | ESC | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MS UL | MS U | MS UR | MS WHL | MS WHR | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | MS BT5 | MS BT4 | MS BT3 | MS BT2 | XXXXXX | XXXXXX | MS L | XXXXXX | MS R | XXXXXX | MS WHU | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MS DL | MS D | MS DR | MS U | MS WHD | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ______ | ______ | ______ | ______ | MS BT1 | MS BT1 | ______ | ______ | MS L | MS D | MS R | + '-----------------------------------------------------------------------------------------------------------' +*/ + +[LAYER_MOUSE] = { + { KC_ESC , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_UL, KC_MS_U, M_MS_UR, KC_WH_L, KC_WH_R }, + { XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, KC_MS_L, XXXXXXX, KC_MS_R, XXXXXXX, KC_WH_U }, + { _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_DL, KC_MS_D, M_MS_DR, KC_MS_U, KC_WH_D }, + { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R } +}, #endif - [LAYER_ADJUST] = { // ADJUST - { _______, TIMBR_1, TIMBR_2, TIMBR_3, TIMBR_4, TMPO_UP, TMPO_DN, TMPO_DF, _______, _______, MU_TOG, AU_TOG }, - { _______, M_QWRTY, M_COLMK, M_DVORK, _______, _______, _______, _______, _______, _______, _______, _______ }, - { _______, _______, _______, _______, M_BACKL, RESET, _______, M_MOUSE, _______, _______, MUV_IN, _______ }, - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MUV_DE, _______ }, - }, - -/* - [LAYER_EMPTY] = { - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, }, - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, }, - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, }, - { _______, _______, _______, _______, _______, ________________, _______, _______, _______, _______, _______, }, - }, +/* LAYER = LAYER_ADJUST + .-----------------------------------------------------------------------------------------------------------. + | XXXXXX | BRTOG | BRSPD+ | BRSPD- | BRDFLT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MUSIC | AUDIO | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | RESET | XXXXXX | MOUSE | XXXXXX | XXXXXX | VOICE+ | XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER | XXXXXX | XXXXXX | LOWER | XXXXXX | TEMPO- | VOICE- | TEMPO+ | + '-----------------------------------------------------------------------------------------------------------' */ +[LAYER_ADJUST] = { + { XXXXXXX, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG , AU_TOG }, + { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, + { XXXXXXX, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, MUV_IN , XXXXXXX }, + { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, TMPO_DN, MUV_DE , TMPO_UP } +}, + }; #ifdef AUDIO_ENABLE @@ -234,10 +217,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { float tone_my_startup[][2] = SONG(ODE_TO_JOY); float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY); -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); - float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE); float tone_music_on[][2] = SONG(DOE_A_DEER); float tone_caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND); @@ -267,46 +246,38 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) switch(id) { + case MACRO_BREATH_TOGGLE: + if (record->event.pressed) + { + breathing_toggle(); + } + break; + + case MACRO_BREATH_SPEED_INC: + if (record->event.pressed) + { + breathing_speed_inc(1); + } + break; + + case MACRO_BREATH_SPEED_DEC: + if (record->event.pressed) + { + breathing_speed_dec(1); + } + break; + + case MACRO_BREATH_DEFAULT: + if (record->event.pressed) + { + breathing_defaults(); + } + break; + case MACRO_QWERTY: if (record->event.pressed) { persistant_default_layer_set(1UL<event.pressed) - { - persistant_default_layer_set(1UL<event.pressed) - { - persistant_default_layer_set(1UL<event.pressed) - { - layer_on(LAYER_LOWER); - update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); - } - else - { - layer_off(LAYER_LOWER); - update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); } break; @@ -314,6 +285,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) if (record->event.pressed) { layer_on(LAYER_UPPER); + breathing_speed_set(2); + breathing_pulse(); update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); } else @@ -323,13 +296,32 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } break; + case MACRO_LOWER: + if (record->event.pressed) + { + layer_on(LAYER_LOWER); + breathing_speed_set(2); + breathing_pulse(); + update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); + } + else + { + layer_off(LAYER_LOWER); + update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST); + } + break; + case MACRO_FUNCTION: if (record->event.pressed) { + breathing_speed_set(3); + breathing_enable(); layer_on(LAYER_FUNCTION); } else { + breathing_speed_set(1); + breathing_self_disable(); layer_off(LAYER_FUNCTION); } break; @@ -352,6 +344,58 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } break; + case MACRO_MOUSE_MOVE_UL: + if (record->event.pressed) + { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_LEFT); + } + else + { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_LEFT); + } + break; + + case MACRO_MOUSE_MOVE_UR: + if (record->event.pressed) + { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_RIGHT); + } + else + { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_RIGHT); + } + break; + + case MACRO_MOUSE_MOVE_DL: + if (record->event.pressed) + { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_LEFT); + } + else + { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_LEFT); + } + break; + + case MACRO_MOUSE_MOVE_DR: + if (record->event.pressed) + { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_RIGHT); + } + else + { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_RIGHT); + } + break; + #endif /* MOUSEKEY_ENABLE */ #ifdef AUDIO_ENABLE From 13f3c73386da9b15b255b014f5da81cd51613ca1 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 4 Sep 2016 23:26:49 +0300 Subject: [PATCH 29/34] Fix the ldflags.txt and obj.txt checks There was a minor typo, which caused the files to not be generated and therefore the elf files were always linked. --- tmk_core/rules.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index 79fc7119a6..e4c8aecb2c 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -332,11 +332,13 @@ $1/compiler.txt: $1/force $$(CC) --version | cmp -s - $$@ || $$(CC) --version > $$@ endef +.PRECIOUS: $(MASTER_OUTPUT)/obj.txt $(MASTER_OUTPUT)/obj.txt: $(MASTER_OUTPUT)/force - echo '$(OBJ)' | cmp -s - $$@ || echo '$(OBJ)' > $$@ + echo '$(OBJ)' | cmp -s - $@ || echo '$(OBJ)' > $@ +.PRECIOUS: $(MASTER_OUTPUT)/ldflags.txt $(MASTER_OUTPUT)/ldflags.txt: $(MASTER_OUTPUT)/force - echo '$(LDFLAGS)' | cmp -s - $$@ || echo '$(LDFLAGS)' > $$@ + echo '$(LDFLAGS)' | cmp -s - $@ || echo '$(LDFLAGS)' > $@ # We have to use static rules for the .d files for some reason From bf5941b335268748ee7877fc24cdd538a9faacd0 Mon Sep 17 00:00:00 2001 From: Samuel Ryan Goodwin Date: Mon, 5 Sep 2016 15:53:52 +0200 Subject: [PATCH 30/34] Add my keymap. --- keyboards/planck/keymaps/sgoodwin/Makefile | 25 +++ keyboards/planck/keymaps/sgoodwin/keymap.c | 233 ++++++++++++++++++++ keyboards/planck/keymaps/sgoodwin/readme.md | 10 + 3 files changed, 268 insertions(+) create mode 100644 keyboards/planck/keymaps/sgoodwin/Makefile create mode 100644 keyboards/planck/keymaps/sgoodwin/keymap.c create mode 100644 keyboards/planck/keymaps/sgoodwin/readme.md diff --git a/keyboards/planck/keymaps/sgoodwin/Makefile b/keyboards/planck/keymaps/sgoodwin/Makefile new file mode 100644 index 0000000000..581e08cd02 --- /dev/null +++ b/keyboards/planck/keymaps/sgoodwin/Makefile @@ -0,0 +1,25 @@ + + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = yes # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/planck/keymaps/sgoodwin/keymap.c b/keyboards/planck/keymaps/sgoodwin/keymap.c new file mode 100644 index 0000000000..4d5d3d7ef6 --- /dev/null +++ b/keyboards/planck/keymaps/sgoodwin/keymap.c @@ -0,0 +1,233 @@ +// This is sgoodwin's layout file for the Quantum project. +// It doesn't have Plover or Dvorak layers because he doesn't use that. +// It Also doesn't allow for swapping alt with CMD because that only happens in error. + +#include "planck.h" +#include "action_layer.h" +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 1 +#define _COLEMAK 0 +#define _LOWER 3 +#define _RAISE 4 +#define _ADJUST 16 + +enum planck_keycodes { + COLEMAK = SAFE_RANGE, + QWERTY, + LOWER, + RAISE, + BACKLIT, +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |SHEnt | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Hyper| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = { + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_ENT) }, + {ALL_T(KC_NO), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |SHEnt | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Hyper| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = { + {KC_TAB, 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_ENT) }, + {ALL_T(KC_NO), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = { + {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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______}, + {BACKLIT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______}, + {BACKLIT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff| | |Qwerty|Colemk| | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = { + {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, + {_______, _______, _______, AU_ON, AU_OFF, _______, _______, QWERTY, COLEMAK, _______, _______, _______}, + {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +} + + +}; + +#ifdef AUDIO_ENABLE + +float tone_startup[][2] = SONG(STARTUP_SOUND); +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_SOUND); +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); + +float tone_goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + persistant_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_colemak, false, 0); + #endif + persistant_default_layer_set(1UL<<_COLEMAK); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + return false; + break; + } + return true; +} + +void matrix_init_user(void) { + #ifdef AUDIO_ENABLE + startup_user(); + #endif +} + +#ifdef AUDIO_ENABLE + +void startup_user() +{ + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); +} + +void shutdown_user() +{ + PLAY_NOTE_ARRAY(tone_goodbye, false, 0); + _delay_ms(150); + stop_all_notes(); +} + +void music_on_user(void) +{ + music_scale_user(); +} + +void music_scale_user(void) +{ + PLAY_NOTE_ARRAY(music_scale, false, 0); +} + +#endif diff --git a/keyboards/planck/keymaps/sgoodwin/readme.md b/keyboards/planck/keymaps/sgoodwin/readme.md new file mode 100644 index 0000000000..dfa88f380d --- /dev/null +++ b/keyboards/planck/keymaps/sgoodwin/readme.md @@ -0,0 +1,10 @@ +# sgoodwin's Planck Layout + +Includes: + +1. No Dvorak or Plover +2. No alt-swapping +3. Right enter is shift when held down, enter when tapped. +4. Bottom left corner in normal layers is Hyper and not brightness control. +5. Brightness is instead in the bottom corner on raise/lower. + From e9ce4960c15066c14c775b1d769f1f89ec450787 Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Mon, 5 Sep 2016 17:40:03 -0400 Subject: [PATCH 31/34] Add new ErgoDox EZ keymap, YORUIAN --- .../keymaps/yoruian/90-ergodox-yoruian.conf | 6 ++ keyboards/ergodox/keymaps/yoruian/Makefile | 13 +++ keyboards/ergodox/keymaps/yoruian/README | 102 ++++++++++++++++++ .../ergodox/keymaps/yoruian/ergodox_yoruian | 34 ++++++ keyboards/ergodox/keymaps/yoruian/keymap.c | 61 +++++++++++ keyboards/ergodox/keymaps/yoruian/yoruian.h | 61 +++++++++++ 6 files changed, 277 insertions(+) create mode 100644 keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf create mode 100644 keyboards/ergodox/keymaps/yoruian/Makefile create mode 100644 keyboards/ergodox/keymaps/yoruian/README create mode 100644 keyboards/ergodox/keymaps/yoruian/ergodox_yoruian create mode 100644 keyboards/ergodox/keymaps/yoruian/keymap.c create mode 100644 keyboards/ergodox/keymaps/yoruian/yoruian.h diff --git a/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf b/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf new file mode 100644 index 0000000000..c8a92c5c5b --- /dev/null +++ b/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "ErgoDox EZ" + MatchIsKeyboard "on" + MatchProduct "ErgoDox EZ ErgoDox EZ" + Option "XkbLayout" "ergodox_ez_yoruian" +EndSection diff --git a/keyboards/ergodox/keymaps/yoruian/Makefile b/keyboards/ergodox/keymaps/yoruian/Makefile new file mode 100644 index 0000000000..b43a24c611 --- /dev/null +++ b/keyboards/ergodox/keymaps/yoruian/Makefile @@ -0,0 +1,13 @@ +ifndef QUANTUM_DIR + include ../../../../Makefile +endif + +install-xorg-configuration: + install -m 0664 90-$(KEYBOARD)-$(KEYMAP).conf \ + /etc/X11/xorg.conf.d/90-$(KEYBOARD)-$(KEYMAP).conf + install -m 0644 $(KEYBOARD)_$(KEYMAP) \ + /usr/share/X11/xkb/symbols/$(KEYBOARD)_$(KEYMAP) + +uninstall-xorg-configuration: + -rm -f /etc/X11/xorg.conf.d/90-$(KEYBOARD)-$(KEYMAP).conf + -rm -f /usr/share/X11/xkb/symbols/$(KEYBOARD)_$(KEYMAP) diff --git a/keyboards/ergodox/keymaps/yoruian/README b/keyboards/ergodox/keymaps/yoruian/README new file mode 100644 index 0000000000..99b41434ef --- /dev/null +++ b/keyboards/ergodox/keymaps/yoruian/README @@ -0,0 +1,102 @@ + Snarfangel's YORUIAN for the ErgoDox EZ + ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ +DEFAULT +┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓ ┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓ +┃ ` │ ; │ : │ - │ / │ ( │ < ┃ ┃ > │ ) │ ^ │ * │ ~ │ Γ │ σ ┃ +┠───┼───┼───┼───┼───┼───┼───┨ ┠───┼───┼───┼───┼───┼───┼───┨ +┃ ⎋ │ . │ y │ o │ r │ ? │ ✦ ┃ ┃ ✦ │ j │ v │ d │ f │ w │ q ┃ +┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨ +┃ ⎈ │ u │ i │ a │ n │ ! ├───┨ ┠───┤ m │ h │ t │ s │ c │ ⎈ ┃ +┠───┼───┼───┼───┼───┼───┤ ❖ ┃ ┃ ❖ ├───┼───┼───┼───┼───┼───┨ +┃ λ │ ' │ " │ , │ _ │ = │ ┃ ┃ │ k │ l │ p │ g │ b │ x ┃ +┠───┼───┼───┼───┼───╆━━━┷━━━┛ ┗━━━┷━━━╅───┼───┼───┼───┼───┨ +┃ ⎀ │ E │ │ │ ◆ ┃ ┃ ◆ │ │ │ z │ ⎙ ┃ +┗━━━┷━━━┷━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┷━━━┷━━━┛ + ┏━━━┯━━━┓ ┏━━━┯━━━┓ + ┃ ⌫ │ ⌥ ┃ ┃ ⎄ │ ↹ ┃ + ┏━━━╃───┼───┨ ┠───┼───╄━━━┓ + ┃ │ │ ┃ ┃ │ │ ┃ + ┃ e │ ⇧ ├───┨ ┠───┤ ⏎ │ ␣ ┃ + ┃ │ │ ┃ ┃ │ │ ┃ + ┗━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┛ +SHIFTED +┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓ ┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓ +┃ 9 │ 7 │ 5 │ 3 │ 1 │ [ │ { ┃ ┃ } │ ] │ 0 │ 2 │ 4 │ 6 │ 8 ┃ +┠───┼───┼───┼───┼───┼───┼───┨ ┠───┼───┼───┼───┼───┼───┼───┨ +┃ │ * │ Y │ O │ R │ \ │ ┃ ┃ │ J │ V │ D │ F │ W │ Q ┃ +┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨ +┃ │ U │ I │ A │ N │ | ├───┨ ┠───┤ M │ H │ T │ S │ C │ ┃ +┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨ +┃ │ # │ $ │ @ │ & │ + │ ┃ ┃ │ K │ L │ P │ G │ B │ X ┃ +┠───┼───┼───┼───┼───╆━━━┷━━━┛ ┗━━━┷━━━╅───┼───┼───┼───┼───┨ +┃ │ │ │ │ ┃ ┃ │ │ │ Z │ ┃ +┗━━━┷━━━┷━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┷━━━┷━━━┛ + ┏━━━┯━━━┓ ┏━━━┯━━━┓ + ┃ │ ┃ ┃ │ ┃ + ┏━━━╃───┼───┨ ┠───┼───╄━━━┓ + ┃ │ │ ┃ ┃ │ │ ┃ + ┃ │ ├───┨ ┠───┤ │ ┃ + ┃ │ │ ┃ ┃ │ │ ┃ + ┗━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┛ +λ LAYER +┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓ ┏━━━┯━━━┯━━━┯━━━┯━━━┯━━━┯━━━┓ +┃ │ │ │ │ │ │ ┃ ┃ │ │ ⑤ │ ⑥ │ ⑦ │ ⑧ │ ⑨ ┃ +┠───┼───┼───┼───┼───┼───┼───┨ ┠───┼───┼───┼───┼───┼───┼───┨ +┃ │ │ │ │ │ │ ┃ ┃ │ │ ① │ ② │ ③ │ ④ │ ⑩ ┃ +┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨ +┃ │ │ │ │ │ ├───┨ ┠───┤ ⎉ │ ← │ ↓ │ ↑ │ → │ ⑪ ┃ +┠───┼───┼───┼───┼───┼───┤ ┃ ┃ ├───┼───┼───┼───┼───┼───┨ +┃ λ │ │ │ │ │ │ ┃ ┃ │ │ ⇱ │ ⎘ │ ⎗ │ ⇲ │ ⑫ ┃ +┠───┼───┼───┼───┼───╆━━━┷━━━┛ ┗━━━┷━━━╅───┼───┼───┼───┼───┨ +┃ │ │ │ │ ┃ ┃ │ │ │ │ ┃ +┗━━━┷━━━┷━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┷━━━┷━━━┛ + ┏━━━┯━━━┓ ┏━━━┯━━━┓ + ┃ │ ┃ ┃ │ ┃ + ┏━━━╃───┼───┨ ┠───┼───╄━━━┓ + ┃ │ │ ┃ ┃ │ │ ┃ + ┃ │ ├───┨ ┠───┤ │ ┃ + ┃ │ │ ┃ ┃ │ │ ┃ + ┗━━━┷━━━┷━━━┛ ┗━━━┷━━━┷━━━┛ + +Installation (X only) +‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ + 1. Build and flash firmware as usual + + 2. sudo make install-xorg-configuration + + 3. Restart X + +Features +‾‾‾‾‾‾‾‾ + • E on the thumb + + • Emacs-friendly + + • Symmetric control keys for finger wear levelling + + • Greek and subscript dead keys + + • Compose key for arbitrary Unicode input via ~/.XCompose + +Don't Cares +‾‾‾‾‾‾‾‾‾‾‾ + • Easy migration from QWERTY + + • Compatbility with non-XKB systems + + • Mouse emulation + + • Media keys + +Acknowledgements +‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ +Snarfangel, for designing the layout. + +The GNU FreeFont project and Steve White, for adding new keyboard +symbols. + +Xah Lee, for http://xahlee.info/comp/unicode_computing_symbols.html + +Colophon +‾‾‾‾‾‾‾‾ +This file is best-viewed with an SVN version of GNU FreeFont Mono. diff --git a/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian b/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian new file mode 100644 index 0000000000..7343143948 --- /dev/null +++ b/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian @@ -0,0 +1,34 @@ +partial alphanumeric_keys modifier_keys +xkb_symbols "ergodox_ez_yoruian" { + include "us" + name[Group1]= "English (yoruian-1.0.0)"; + + replace key { [ Multi_key, Multi_key ] }; + replace key { [ Hyper_L, Hyper_L ] }; + replace key { [ grave, 9 ] }; + replace key { [ semicolon, 7 ] }; + replace key { [ colon, 5 ] }; + replace key { [ minus, 3 ] }; + replace key { [ slash, 1 ] }; + replace key { [ asciicircum, 0 ] }; + replace key { [ percent, 2 ] }; + replace key { [ asciitilde, 4 ] }; + replace key { [ dead_greek, 6 ] }; + replace key { [ dead_caron, 8 ] }; + replace key { [ E, E ] }; + replace key { [ period, asterisk ] }; + replace key { [ question, backslash ] }; + replace key { [ exclam, bar ] }; + replace key { [ apostrophe, numbersign ] }; + replace key { [ quotedbl, dollar ] }; + replace key { [ comma, at ] }; + replace key { [ underscore, ampersand ] }; + replace key { [ equal, plus ] }; + replace key { [ parenleft, bracketleft ] }; + replace key { [ less, braceleft ] }; + replace key { [ greater, braceright ] }; + replace key { [ parenright, bracketright ] }; + + modifier_map none { }; + modifier_map Mod3 { }; +}; diff --git a/keyboards/ergodox/keymaps/yoruian/keymap.c b/keyboards/ergodox/keymaps/yoruian/keymap.c new file mode 100644 index 0000000000..d3635ddf3f --- /dev/null +++ b/keyboards/ergodox/keymaps/yoruian/keymap.c @@ -0,0 +1,61 @@ +/* + * Copyright 2016 Thomas Fitzsimmons + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "yoruian.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = KEYMAP\ +(9, 7, 5, 3, 1, GRV, MINS, EQL, LBRC, 0, 2, 4, 6, 8, + ES, RBRC, Y, O, R, BSLS, P3, P3, J, V, D, F, W, Q, + LC, U, I, A, N, SCLN, M, H, T, S, C, RC, + FF, QUOT, COMM, DOT, SLSH, P0, LGUI, LGUI, K, L, P, G, B, X, + IN, P1, NO, NO, LALT, LALT, NO, NO, Z, PS, + BSPC, RALT, P2, TAB, + NO, NO, + E, LSFT, NO, NO, ENT, SPC), +[1] = KEYMAP\ +(TR, TR, TR, TR, TR, TR, TR, TR, TR, F5, F6, F7, F8, F9, + TR, TR, TR, TR, TR, TR, TR, TR, TR, F1, F2, F3, F4, FT, + TR, TR, TR, TR, TR, TR, PAUS, LEFT, DOWN, UP, RGHT, FE, + TR, TR, TR, TR, TR, TR, TR, TR, TR, HOME, PGDN, PGUP, END, FW, + TR, TR, TR, TR, TR, TR, TR, TR, TR, TR, + TR, TR, TR, TR, + TR, TR, + TR, TR, TR, TR, TR, TR), +}; + +const uint16_t PROGMEM fn_actions[] = { +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + return MACRO_NONE; +}; + +void matrix_init_user(void) { +}; + +void matrix_scan_user(void) { + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); +}; + +/* + * Local Variables: + * electric-indent-mode: nil + * End: + */ diff --git a/keyboards/ergodox/keymaps/yoruian/yoruian.h b/keyboards/ergodox/keymaps/yoruian/yoruian.h new file mode 100644 index 0000000000..1adcb7fd3f --- /dev/null +++ b/keyboards/ergodox/keymaps/yoruian/yoruian.h @@ -0,0 +1,61 @@ +/* + * Copyright 2016 Thomas Fitzsimmons + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" + +#undef KEYMAP +#define KEYMAP\ +( \ + /* Spacial positions. */ \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ + k20, k21, k22, k23, k24, k25, k28, k29, k2A, k2B, k2C, k2D, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \ + k40, k41, k42, k43, k44, k49, k4A, k4B, k4C, k4D, \ + k55, k56, k57, k58, \ + k54, k59, \ + k53, k52, k51, k5C, k5B, k5A) \ + \ + /* Matrix positions. */ \ + { \ + { KC_##k00, KC_##k10, KC_##k20, KC_##k30, KC_##k40, KC_NO }, \ + { KC_##k01, KC_##k11, KC_##k21, KC_##k31, KC_##k41, KC_##k51 }, \ + { KC_##k02, KC_##k12, KC_##k22, KC_##k32, KC_##k42, KC_##k52 }, \ + { KC_##k03, KC_##k13, KC_##k23, KC_##k33, KC_##k43, KC_##k53 }, \ + { KC_##k04, KC_##k14, KC_##k24, KC_##k34, KC_##k44, KC_##k54 }, \ + { KC_##k05, KC_##k15, KC_##k25, KC_##k35, KC_NO, KC_##k55 }, \ + { KC_##k06, KC_##k16, KC_NO, KC_##k36, KC_NO, KC_##k56 }, \ + { KC_##k07, KC_##k17, KC_NO, KC_##k37, KC_NO, KC_##k57 }, \ + { KC_##k08, KC_##k18, KC_##k28, KC_##k38, KC_NO, KC_##k58 }, \ + { KC_##k09, KC_##k19, KC_##k29, KC_##k39, KC_##k49, KC_##k59 }, \ + { KC_##k0A, KC_##k1A, KC_##k2A, KC_##k3A, KC_##k4A, KC_##k5A }, \ + { KC_##k0B, KC_##k1B, KC_##k2B, KC_##k3B, KC_##k4B, KC_##k5B }, \ + { KC_##k0C, KC_##k1C, KC_##k2C, KC_##k3C, KC_##k4C, KC_##k5C }, \ + { KC_##k0D, KC_##k1D, KC_##k2D, KC_##k3D, KC_##k4D, KC_NO } \ + } + +#define KC_ES KC_ESC +#define KC_LC KC_LCTL +#define KC_RC KC_RCTL +#define KC_FF MO(1) +#define KC_IN KC_INS +#define KC_PS KC_PSCR +#define KC_TR KC_TRNS +#define KC_FT KC_F10 +#define KC_FE KC_F11 +#define KC_FW KC_F12 From ce53c0643d4eaf8f13ac1140d3bd91dfa5f90e22 Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Tue, 6 Sep 2016 00:09:14 -0400 Subject: [PATCH 32/34] Fix ergodox_yoruian XKB naming --- keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf | 2 +- keyboards/ergodox/keymaps/yoruian/ergodox_yoruian | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf b/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf index c8a92c5c5b..ce4fce3b1d 100644 --- a/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf +++ b/keyboards/ergodox/keymaps/yoruian/90-ergodox-yoruian.conf @@ -2,5 +2,5 @@ Section "InputClass" Identifier "ErgoDox EZ" MatchIsKeyboard "on" MatchProduct "ErgoDox EZ ErgoDox EZ" - Option "XkbLayout" "ergodox_ez_yoruian" + Option "XkbLayout" "ergodox_yoruian" EndSection diff --git a/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian b/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian index 7343143948..0d13fbfd4c 100644 --- a/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian +++ b/keyboards/ergodox/keymaps/yoruian/ergodox_yoruian @@ -1,5 +1,5 @@ partial alphanumeric_keys modifier_keys -xkb_symbols "ergodox_ez_yoruian" { +xkb_symbols "ergodox_yoruian" { include "us" name[Group1]= "English (yoruian-1.0.0)"; From a3e7042084ac2a117cea129e4dd4995904f247e8 Mon Sep 17 00:00:00 2001 From: joar Date: Tue, 6 Sep 2016 16:00:08 +0200 Subject: [PATCH 33/34] norwegian programmer-friendly layout --- .../keyboard-layout.png | Bin 0 -> 140077 bytes .../norwegian_programmer_osx_pc/keymap.c | 180 ++++++++++++++++++ .../norwegian_programmer_osx_pc/readme.md | 30 +++ .../keyboard-layout.png | Bin 0 -> 97519 bytes .../keymap.c | 180 ++++++++++++++++++ .../readme.md | 30 +++ 6 files changed, 420 insertions(+) create mode 100644 keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keyboard-layout.png create mode 100644 keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keymap.c create mode 100644 keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md create mode 100644 keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keyboard-layout.png create mode 100644 keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keymap.c create mode 100644 keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/readme.md diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keyboard-layout.png b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keyboard-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..544b5658e9d6124962d3f85725f349df2a782c29 GIT binary patch literal 140077 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 coM~loJ9tT;y?P!V4 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 JTG0O;l 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 literal 0 HcmV?d00001 diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keymap.c b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keymap.c new file mode 100644 index 0000000000..1d505f8e38 --- /dev/null +++ b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keymap.c @@ -0,0 +1,180 @@ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_norwegian.h" + +#define BASE 0 // default layer +#define BASE_MAC 1 // default layer mac +#define NUMB_FUNC 2 // numbers and function keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Keymap 0: Basic layer PC + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | * | [ | ] | { | } | ~ |Mac/PC| | ^ | $ | ( | ) | < | > | @ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | + | Q | W | E | R | T | " | | ' | Y | U | I | O | P | Å | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | / | A | S | D | F | G |------| |------| H | J | K | L | Ø | Æ | + * |--------+------+------+------+------+------| ; | | = |------+------+------+------+------+--------| + * | - | Z | X | C | V | B | | | | N | M | RIGHT| DOWN | UP | _ | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Alt/esc| ! | ? | : | TAB | | LEFT | _ | & | | |Num/fn| + * `----------------------------------' `----------------------------------' + * ,-------------. ,--------------. + * | # | ` | |Insert| % | + * ,------|------|------| |------+-------+------. + * | | | ´ | | Del | | | + * | Shift|Ctrl/.|------| |------| Enter |Space | + * | | |GUI/, | | Bspc | | | + * `--------------------' `---------------------' + */ +[BASE] = KEYMAP( + // left hand + KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, KC_FN2, TG(1), + KC_PPLS, KC_Q, KC_W, KC_E, KC_R, KC_T, NO_QUO2, + KC_PSLS, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, + ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB, + KC_HASH, KC_FN7, + KC_FN6, + KC_FN1,CTL_T(KC_DOT),GUI_T(KC_COMMA), + // right hand + KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, + NO_APOS, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AA , + KC_H, KC_J, KC_K, KC_L, NO_OSLH, NO_AE, + NO_EQL, KC_N, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, + KC_LEFT, NO_UNDS, NO_AMPR, NO_PIPE, OSL(2), + KC_INSERT, KC_PERC, + KC_DELT, + KC_BSPC,KC_ENT,KC_SPC + ), +/* Keymap 1: Basic layer MACS (Same as pc, except for cmd/ctrl, which are swapped) + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | \ | | | { | } | | | | | $ | | | < | > | @ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | ' |------+------+------+------+------+--------| + * | | | | | | |------| |------| | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | |,/Ctrl| | | | ` | |Num/fn| + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | ` | | | | + * ,------|------|------| |------+------+------. + * | | | ´ | | | | | + * | |GUI/. |------| |------| | | + * | | |crtl/,| | | | | + * `--------------------' `--------------------' + */ +[BASE_MAC] = KEYMAP( + KC_TRNS, KC_TRNS,KC_TRNS, NO_LCBR_MAC,NO_RCBR_MAC, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, NO_GRV_MAC, + KC_FN10, + KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA), + // right hand + KC_TRNS, NO_DLR_MAC, KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_AT_MAC, + NO_APOS_MAC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NO_BSLS_MAC, + KC_TRNS, KC_TRNS, KC_TRNS, NO_PIPE_MAC, OSL(2), + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), + +/* Keymap 2: Number ++´ánd Fn layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | F9 | F10 | F11 | F12 | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | 8 | 7 | 6 | 5 | 9 | | | | | F5 | F6 | F7 | F8 | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | 4 | 3 | 2 | 1 | 0 |------| |------| | F1 | F2 | F3 | F4 | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | END | PGDWN| PGUP | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | HOME | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[NUMB_FUNC] = KEYMAP( + NO_ASTR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + NO_PLUS, KC_8, KC_7,KC_6,KC_5, KC_9 , KC_TRNS, + NO_SLSH , KC_4 , KC_3 , KC_2 , KC_1 , KC_0, + NO_MINS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_F5, KC_F6 , KC_F7, KC_F8, KC_TRNS, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, + KC_TRNS, KC_HOME, KC_TRNS, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, + KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +) +}; + +enum macro_id { + TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_MODS_ONESHOT(MOD_LSFT), // Sticky shift light. Tap for the next keypress to be shifted. Hold for regular shift. + [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed. + [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first. + [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first. + [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed. + [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed. + [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed. + [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly + [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly + [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed +}; + + + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + keyevent_t event = record->event; + + switch (id) { + case TILDE_NO: + return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); + case LESS_NO: + return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); + case GRTR_NO: + return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); + case CIRC_NO: + return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); + case ACUT_NO: + return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); + case GRV_NO: + return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); + case LESS_NO_MAC: + return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); + case GRTR_NO_MAC: + return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); + case ACUT_NO_MAC: + return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); + } + return MACRO_NONE; +}; diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md new file mode 100644 index 0000000000..f7e8baf56a --- /dev/null +++ b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md @@ -0,0 +1,30 @@ +# Norwegian setup with osx/pc toggle + +## Motivation +I wanted a Norwegian setup that worked in a similar way on both my Mac and PC. I also wanted the keyboard to translate from a standard Norwegian keyboard OS setup. + +## Overview +The setup is created to be programmer friendly. +- Most of the symbols used in code can be activated without using layers or shift key. +- You can reach the IDE/OS shortcut activators(Ctrl, Win/Cmd, Alt, Shift) with the thumb or the wrist. +- Navigation is prioritized, arrows below the home row. + +## PC/Mac toggle +The default setup is for Norwegian keyboard setting(on a PC(Windows or Linux) or Mac. Use the Mac/PC toggle button to switch between OSX and PC setup. The settings will be reverted to PC setup each time you restart/connect the keyboard. + +## Layers +Since symbols are prioritized in this setup, numbers and function keys are on a new layer. The easiest way to use the layer switch(and also the alt key), is to push your hand right below the little finger, on the key. You will then have all your fingers free to type numbers or press function keys. + +## Tap-shift +Tap for the next character to be shifted, hold down for regular shift. + +## Comma dot and escape +Comma, dot and escape share buttons with modifier keys. Tap to access these keys, hold down to use the keys as modifier keys. + +## Numpad symbols ++-/* are implemented with the numpad keycodes. The benefit is that they will work better with shortcuts in certain programs. For some reason, the default setting in the osx terminal is to not accept numpad characters for '/' and '-'. For a solution, see https://discussions.apple.com/thread/6613968?start=0&tstart=0. +If you really need the norwegian symbols in a program, you can access them using the number toggle button. + +## Layout + +![keyboard-layout](keyboard-layout.png) diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keyboard-layout.png b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc_colemak/keyboard-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..462de5c56bc88f230af44b5dd843543924220a34 GIT binary patch literal 97519 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