From 3e8289b53ce929484651fc065fb5f718e4e3ae21 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Sun, 11 Apr 2021 10:57:55 +0100 Subject: [PATCH 01/15] Add my keymap --- keyboard/ergodox/keymap_max.c | 149 ++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 keyboard/ergodox/keymap_max.c diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c new file mode 100644 index 00000000..3ae7d5bf --- /dev/null +++ b/keyboard/ergodox/keymap_max.c @@ -0,0 +1,149 @@ +/* +Copyright 2016 Paul Williamson + +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 . +*/ +#include +#include "bootloader.h" +#include "keymap_common.h" + + +const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* + * Keymap 0: Default Colemak Layer + * + * This is a general purpose Colemak layout which should serve as a good + * basis for your own custom layout. Mac users may want to swap the + * position of the Alt and GUI keys. + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | ~ | | - | 6 | 7 | 8 | 9 | 0 | + | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | F | P | G | [ | | ] | J | L | U | Y | ; | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | A | R | S | T | D |------| |------| H | N | E | I | O | ' | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | LAlt | | BkSp | | Del | | RAlt | | RCtrl | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | PgUp | PgDn | + * ,------|------|------| |------+------+------. + * | | | | | RAlt | | | + * |Space | LCtrl|------| |------| LAlt | Enter| + * | | | LGui | | ~L1 | | | + * `--------------------' `--------------------' + */ + + KEYMAP( + // left hand + ESC, 1, 2, 3, 4, 5, GRV, + TAB, Q, W, F, P, G, LBRC, + NO, A, R, S, T, D, + LSFT,Z, X, C, V, B, NO, + NO, NO, LALT, NO ,BSPC, + NO, NO, + NO, + SPC,LCTL, LGUI, + // right hand + MINS,6, 7, 8, 9, 0, EQL, + RBRC,J, L, U, Y, SCLN,BSLS, + H, N, E, I, O, QUOT, + NO, K, M, COMM,DOT, SLSH,RSFT, + DEL, NO ,RALT,NO, RCTL, + PGUP,PGDN, + RALT, + FN1,LALT, ENT + ), + + /* + * Layer 1: Function keys + * + * This layer contains function keys, and media keys. * + * Most of the non-modifier keys are marked as NO, so it's immediately + * obvious if you start typing on a secondary layer. + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Teensy | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | TRNS | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | TRNS | | | UP | | | TRNS | | TRNS | | | | | | TRNS | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | TRNS | | LEFT | DOWN |RIGHT | |------| |------| | | | | | TRNS | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | TRNS | | | | | | | | | | | | | | TRNS | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | TRNS | TRNS | Play | RW | FF | | Mute | Vol- | Vol+ | TRNS | TRNS | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | HOME | END | + * ,------|------|------| |------+------+------. + * | | | TRNS | | TRNS | | | + * | TRNS | |------| |------| TRNS | TRNS | + * | | | TRNS | | TRNS | | | + * `--------------------' `--------------------' + */ + + KEYMAP( + // left hand + FN31,F1, F2, F3, F4, F5, F11, + TRNS,NO, NO, UP, NO, NO, TRNS, + TRNS,NO,LEFT,DOWN,RIGHT, NO, + TRNS,NO, NO, NO, NO, NO, NO, + TRNS,TRNS,MPLY,MPRV,MNXT, + NO, NO, + TRNS, + TRNS,NO, TRNS, + // right hand + F12, F6, F7, F8, F9, F10, TRNS, + TRNS,NO, NO, NO, NO, NO, TRNS, + NO,NO,NO, NO,NO, TRNS, + NO, NO, NO, NO, NO, NO, TRNS, + MUTE,VOLD,VOLU,TRNS,TRNS, + HOME,END, + TRNS, + TRNS,TRNS,TRNS + ) +}; + +/* id for user defined functions */ +enum function_id { + TEENSY_KEY, +}; + +/* + * Fn action definition + */ +const action_t PROGMEM fn_actions[] = { + // Layer shifting + [0] = ACTION_LAYER_SET(0, ON_PRESS), // Switch to Layer 0 + [1] = ACTION_LAYER_MOMENTARY(1), // Momentarily switch to layer 1 + [2] = ACTION_LAYER_SET(2, ON_PRESS), // Switch to Layer 2 + + // Teensy + [31] = ACTION_FUNCTION(TEENSY_KEY), +}; + +void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) +{ + if (id == TEENSY_KEY) { + clear_keyboard(); + print("\n\nJump to bootloader... "); + _delay_ms(250); + bootloader_jump(); // should not return + print("not supported.\n"); + } +} + From 32da16d6c8ea65802656b7b05fc59af1e8310c4e Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Sun, 11 Apr 2021 11:01:40 +0100 Subject: [PATCH 02/15] Move arrow keys over wasd --- keyboard/ergodox/keymap_max.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index 3ae7d5bf..505d0c0f 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -79,9 +79,9 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | Teensy | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | TRNS | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | TRNS | | | UP | | | TRNS | | TRNS | | | | | | TRNS | + * | TRNS | | UP | | | | TRNS | | TRNS | | | | | | TRNS | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | TRNS | | LEFT | DOWN |RIGHT | |------| |------| | | | | | TRNS | + * | TRNS | LEFT | DOWN |RIGHT | | |------| |------| | | | | | TRNS | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | TRNS | | | | | | | | | | | | | | TRNS | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -99,8 +99,8 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KEYMAP( // left hand FN31,F1, F2, F3, F4, F5, F11, - TRNS,NO, NO, UP, NO, NO, TRNS, - TRNS,NO,LEFT,DOWN,RIGHT, NO, + TRNS,NO, UP, NO, NO, NO, TRNS, + TRNS,LEFT,DOWN,RIGHT,NO, NO, TRNS,NO, NO, NO, NO, NO, NO, TRNS,TRNS,MPLY,MPRV,MNXT, NO, NO, From 2599c852ebb70095fa7dda5fb2c0c90fc608a367 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Mon, 12 Apr 2021 13:10:38 +0100 Subject: [PATCH 03/15] Make a few more modifications to layout --- keyboard/ergodox/keymap_max.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index 505d0c0f..0abded4c 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -28,14 +28,14 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * basis for your own custom layout. Mac users may want to swap the * position of the Alt and GUI keys. * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | ~ | | - | 6 | 7 | 8 | 9 | 0 | + | + * ,--------------------------------------------------. ,-------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | ~# | | | 6 | 7 | 8 | 9 | 0 | - | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | F | P | G | [ | | ] | J | L | U | Y | ; | \ | + * | Tab | Q | W | F | P | G | [ | | ] | J | L | U | Y | ; | + | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | A | R | S | T | D |------| |------| H | N | E | I | O | ' | + * | LShift | A | R | S | T | D |------| |------| H | N | E | I | O | ' | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | + * | \ | Z | X | C | V | B | | | | K | M | , | . | / | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | LAlt | | BkSp | | Del | | RAlt | | RCtrl | * `----------------------------------' `----------------------------------' @@ -50,17 +50,17 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KEYMAP( // left hand - ESC, 1, 2, 3, 4, 5, GRV, + ESC, 1, 2, 3, 4, 5, NUHS, TAB, Q, W, F, P, G, LBRC, - NO, A, R, S, T, D, - LSFT,Z, X, C, V, B, NO, + LSFT,A, R, S, T, D, + NUBS,Z, X, C, V, B, NO, NO, NO, LALT, NO ,BSPC, NO, NO, NO, SPC,LCTL, LGUI, // right hand - MINS,6, 7, 8, 9, 0, EQL, - RBRC,J, L, U, Y, SCLN,BSLS, + NO,6, 7, 8, 9, 0, MINS, + RBRC,J, L, U, Y, SCLN,EQL, H, N, E, I, O, QUOT, NO, K, M, COMM,DOT, SLSH,RSFT, DEL, NO ,RALT,NO, RCTL, @@ -77,7 +77,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * obvious if you start typing on a secondary layer. * * ,--------------------------------------------------. ,--------------------------------------------------. - * | Teensy | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | TRNS | + * | ` | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | TRNS | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | TRNS | | UP | | | | TRNS | | TRNS | | | | | | TRNS | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| @@ -98,7 +98,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KEYMAP( // left hand - FN31,F1, F2, F3, F4, F5, F11, + GRV ,F1, F2, F3, F4, F5, F11, TRNS,NO, UP, NO, NO, NO, TRNS, TRNS,LEFT,DOWN,RIGHT,NO, NO, TRNS,NO, NO, NO, NO, NO, NO, From 2df1b4f9c26f40361f0bdb3c4055aaa01d6dd940 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Tue, 13 Apr 2021 14:44:12 +0100 Subject: [PATCH 04/15] Add end and home keys --- keyboard/ergodox/keymap_max.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index 0abded4c..fe1eb26d 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -37,7 +37,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | \ | Z | X | C | V | B | | | | K | M | , | . | / | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | LAlt | | BkSp | | Del | | RAlt | | RCtrl | + * | | | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | PgUp | PgDn | @@ -54,7 +54,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, F, P, G, LBRC, LSFT,A, R, S, T, D, NUBS,Z, X, C, V, B, NO, - NO, NO, LALT, NO ,BSPC, + NO, NO, LALT, HOME ,BSPC, NO, NO, NO, SPC,LCTL, LGUI, @@ -63,7 +63,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RBRC,J, L, U, Y, SCLN,EQL, H, N, E, I, O, QUOT, NO, K, M, COMM,DOT, SLSH,RSFT, - DEL, NO ,RALT,NO, RCTL, + DEL, END, RALT,NO, RCTL, PGUP,PGDN, RALT, FN1,LALT, ENT From a486aec34cc7f3413f389b8eb0d83887c7bb1e78 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Mon, 26 Apr 2021 13:16:16 +0100 Subject: [PATCH 05/15] Add a qwerty layer --- keyboard/ergodox/keymap_max.c | 64 +++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 7 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index fe1eb26d..e1fe2ec8 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -40,11 +40,11 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | | | | PgUp | PgDn | + * | | L1 | | PgUp | PgDn | * ,------|------|------| |------+------+------. * | | | | | RAlt | | | * |Space | LCtrl|------| |------| LAlt | Enter| - * | | | LGui | | ~L1 | | | + * | | | LGui | | ~L2 | | | * `--------------------' `--------------------' */ @@ -55,7 +55,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LSFT,A, R, S, T, D, NUBS,Z, X, C, V, B, NO, NO, NO, LALT, HOME ,BSPC, - NO, NO, + NO, FN1, NO, SPC,LCTL, LGUI, // right hand @@ -66,11 +66,60 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { DEL, END, RALT,NO, RCTL, PGUP,PGDN, RALT, - FN1,LALT, ENT + FN2,LALT, ENT ), /* - * Layer 1: Function keys + * Keymap 1: Default qwerty Layer + * + * This is a general purpose Colemak layout which should serve as a good + * basis for your own custom layout. Mac users may want to swap the + * position of the Alt and GUI keys. + * + * ,--------------------------------------------------. ,-------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | ~# | | | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | + | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | \ | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | L0 | | PgUp | PgDn | + * ,------|------|------| |------+------+------. + * | | | | | RAlt | | | + * |Space | LCtrl|------| |------| LAlt | Enter| + * | | | LGui | | ~L2 | | | + * `--------------------' `--------------------' + */ + + KEYMAP( + // left hand + ESC, 1, 2, 3, 4, 5, NUHS, + TAB, Q, W, E, R, T, LBRC, + LSFT,A, S, D, F, G, + NUBS,Z, X, C, V, B, NO, + NO, NO, LALT, HOME ,BSPC, + NO, FN0, + NO, + SPC,LCTL, LGUI, + // right hand + NO, 6, 7, 8, 9, 0, MINS, + RBRC,Y, U, I, O, P, EQL, + H, J, K, L, SCLN,QUOT, + NO, N, M, COMM,DOT, SLSH,RSFT, + DEL, END, RALT,NO, RCTL, + PGUP,PGDN, + RALT, + FN2,LALT, ENT + ), + + + /* + * Layer 2: Function keys * * This layer contains function keys, and media keys. * * Most of the non-modifier keys are marked as NO, so it's immediately @@ -116,6 +165,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TRNS, TRNS,TRNS,TRNS ) + }; /* id for user defined functions */ @@ -129,8 +179,8 @@ enum function_id { const action_t PROGMEM fn_actions[] = { // Layer shifting [0] = ACTION_LAYER_SET(0, ON_PRESS), // Switch to Layer 0 - [1] = ACTION_LAYER_MOMENTARY(1), // Momentarily switch to layer 1 - [2] = ACTION_LAYER_SET(2, ON_PRESS), // Switch to Layer 2 + [1] = ACTION_LAYER_SET(1, ON_PRESS), // Switch to Layer 1 + [2] = ACTION_LAYER_MOMENTARY(2), // Momentarily switch to layer 2 // Teensy [31] = ACTION_FUNCTION(TEENSY_KEY), From 9a6247e6b88454a261bdc4751adff7790d864c20 Mon Sep 17 00:00:00 2001 From: Mark Sikora Date: Thu, 5 Aug 2021 11:21:22 -0400 Subject: [PATCH 06/15] ergodox: disable NKRO for lufa builds --- keyboard/ergodox/Makefile.lufa | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboard/ergodox/Makefile.lufa b/keyboard/ergodox/Makefile.lufa index 976877e1..42efc7d5 100644 --- a/keyboard/ergodox/Makefile.lufa +++ b/keyboard/ergodox/Makefile.lufa @@ -114,7 +114,6 @@ EXTRAKEY_ENABLE = yes # Audio control and System control(+600) CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover (+500) #PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support INVERT_NUMLOCK = yes # invert state of NumLock led From 0fbf77b546e3f2cce213b64b87a817dcaa4f68d5 Mon Sep 17 00:00:00 2001 From: roberto Date: Fri, 11 Nov 2022 18:08:15 -0800 Subject: [PATCH 07/15] Update command in ergodox FAQ. The instructions in the ergodox FAQ use commands that no longer work. This updates the commands in case someone still wants tu use this firmware. Fix bug GH-45 --- keyboard/ergodox/Ergodox-FAQ.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboard/ergodox/Ergodox-FAQ.md b/keyboard/ergodox/Ergodox-FAQ.md index 256806a1..a4247176 100644 --- a/keyboard/ergodox/Ergodox-FAQ.md +++ b/keyboard/ergodox/Ergodox-FAQ.md @@ -42,11 +42,11 @@ https://github.com/cub-uanic/tmk_keyboard/tree/master # use one of these make -f Makefile.lufa - make -f Makefile.lufa dvorak - make -f Makefile.lufa colemak - make -f Makefile.lufa workman - make -f Makefile.lufa micro - make -f Makefile.lufa cub + make -f Makefile.lufa KEYMAP=dvorak + make -f Makefile.lufa KEYMAP=colemak + make -f Makefile.lufa KEYMAP=workman + make -f Makefile.lufa KEYMAP=micro + make -f Makefile.lufa KEYMAP=cub # Layouts From 87c8bb668ca8676e73c848e509f336282cf9ca09 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Thu, 4 Jul 2024 15:17:45 +0100 Subject: [PATCH 08/15] Add print screen to layout --- keyboard/ergodox/keymap_max.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index e1fe2ec8..1270d0e1 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -37,7 +37,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | \ | Z | X | C | V | B | | | | K | M | , | . | / | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | + * | PScrn| | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | L1 | | PgUp | PgDn | @@ -54,7 +54,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, F, P, G, LBRC, LSFT,A, R, S, T, D, NUBS,Z, X, C, V, B, NO, - NO, NO, LALT, HOME ,BSPC, + PSCREEN, NO, LALT, HOME ,BSPC, NO, FN1, NO, SPC,LCTL, LGUI, From e02889088845d7fc0d7ead7c374bc43956cbbdd4 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Sun, 11 Apr 2021 10:57:55 +0100 Subject: [PATCH 09/15] Add my keymap --- keyboard/ergodox/keymap_max.c | 149 ++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 keyboard/ergodox/keymap_max.c diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c new file mode 100644 index 00000000..3ae7d5bf --- /dev/null +++ b/keyboard/ergodox/keymap_max.c @@ -0,0 +1,149 @@ +/* +Copyright 2016 Paul Williamson + +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 . +*/ +#include +#include "bootloader.h" +#include "keymap_common.h" + + +const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* + * Keymap 0: Default Colemak Layer + * + * This is a general purpose Colemak layout which should serve as a good + * basis for your own custom layout. Mac users may want to swap the + * position of the Alt and GUI keys. + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | ~ | | - | 6 | 7 | 8 | 9 | 0 | + | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | F | P | G | [ | | ] | J | L | U | Y | ; | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | A | R | S | T | D |------| |------| H | N | E | I | O | ' | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | LAlt | | BkSp | | Del | | RAlt | | RCtrl | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | PgUp | PgDn | + * ,------|------|------| |------+------+------. + * | | | | | RAlt | | | + * |Space | LCtrl|------| |------| LAlt | Enter| + * | | | LGui | | ~L1 | | | + * `--------------------' `--------------------' + */ + + KEYMAP( + // left hand + ESC, 1, 2, 3, 4, 5, GRV, + TAB, Q, W, F, P, G, LBRC, + NO, A, R, S, T, D, + LSFT,Z, X, C, V, B, NO, + NO, NO, LALT, NO ,BSPC, + NO, NO, + NO, + SPC,LCTL, LGUI, + // right hand + MINS,6, 7, 8, 9, 0, EQL, + RBRC,J, L, U, Y, SCLN,BSLS, + H, N, E, I, O, QUOT, + NO, K, M, COMM,DOT, SLSH,RSFT, + DEL, NO ,RALT,NO, RCTL, + PGUP,PGDN, + RALT, + FN1,LALT, ENT + ), + + /* + * Layer 1: Function keys + * + * This layer contains function keys, and media keys. * + * Most of the non-modifier keys are marked as NO, so it's immediately + * obvious if you start typing on a secondary layer. + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Teensy | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | TRNS | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | TRNS | | | UP | | | TRNS | | TRNS | | | | | | TRNS | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | TRNS | | LEFT | DOWN |RIGHT | |------| |------| | | | | | TRNS | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | TRNS | | | | | | | | | | | | | | TRNS | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | TRNS | TRNS | Play | RW | FF | | Mute | Vol- | Vol+ | TRNS | TRNS | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | HOME | END | + * ,------|------|------| |------+------+------. + * | | | TRNS | | TRNS | | | + * | TRNS | |------| |------| TRNS | TRNS | + * | | | TRNS | | TRNS | | | + * `--------------------' `--------------------' + */ + + KEYMAP( + // left hand + FN31,F1, F2, F3, F4, F5, F11, + TRNS,NO, NO, UP, NO, NO, TRNS, + TRNS,NO,LEFT,DOWN,RIGHT, NO, + TRNS,NO, NO, NO, NO, NO, NO, + TRNS,TRNS,MPLY,MPRV,MNXT, + NO, NO, + TRNS, + TRNS,NO, TRNS, + // right hand + F12, F6, F7, F8, F9, F10, TRNS, + TRNS,NO, NO, NO, NO, NO, TRNS, + NO,NO,NO, NO,NO, TRNS, + NO, NO, NO, NO, NO, NO, TRNS, + MUTE,VOLD,VOLU,TRNS,TRNS, + HOME,END, + TRNS, + TRNS,TRNS,TRNS + ) +}; + +/* id for user defined functions */ +enum function_id { + TEENSY_KEY, +}; + +/* + * Fn action definition + */ +const action_t PROGMEM fn_actions[] = { + // Layer shifting + [0] = ACTION_LAYER_SET(0, ON_PRESS), // Switch to Layer 0 + [1] = ACTION_LAYER_MOMENTARY(1), // Momentarily switch to layer 1 + [2] = ACTION_LAYER_SET(2, ON_PRESS), // Switch to Layer 2 + + // Teensy + [31] = ACTION_FUNCTION(TEENSY_KEY), +}; + +void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) +{ + if (id == TEENSY_KEY) { + clear_keyboard(); + print("\n\nJump to bootloader... "); + _delay_ms(250); + bootloader_jump(); // should not return + print("not supported.\n"); + } +} + From ec7454b331e6482236e14b751f2b477b4493ae4a Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Sun, 11 Apr 2021 11:01:40 +0100 Subject: [PATCH 10/15] Move arrow keys over wasd --- keyboard/ergodox/keymap_max.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index 3ae7d5bf..505d0c0f 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -79,9 +79,9 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | Teensy | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | TRNS | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | TRNS | | | UP | | | TRNS | | TRNS | | | | | | TRNS | + * | TRNS | | UP | | | | TRNS | | TRNS | | | | | | TRNS | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | TRNS | | LEFT | DOWN |RIGHT | |------| |------| | | | | | TRNS | + * | TRNS | LEFT | DOWN |RIGHT | | |------| |------| | | | | | TRNS | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | TRNS | | | | | | | | | | | | | | TRNS | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -99,8 +99,8 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KEYMAP( // left hand FN31,F1, F2, F3, F4, F5, F11, - TRNS,NO, NO, UP, NO, NO, TRNS, - TRNS,NO,LEFT,DOWN,RIGHT, NO, + TRNS,NO, UP, NO, NO, NO, TRNS, + TRNS,LEFT,DOWN,RIGHT,NO, NO, TRNS,NO, NO, NO, NO, NO, NO, TRNS,TRNS,MPLY,MPRV,MNXT, NO, NO, From c4e4aca4e16f0e95c6e18ec088bd49c354fc7798 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Mon, 12 Apr 2021 13:10:38 +0100 Subject: [PATCH 11/15] Make a few more modifications to layout --- keyboard/ergodox/keymap_max.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index 505d0c0f..0abded4c 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -28,14 +28,14 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * basis for your own custom layout. Mac users may want to swap the * position of the Alt and GUI keys. * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | ~ | | - | 6 | 7 | 8 | 9 | 0 | + | + * ,--------------------------------------------------. ,-------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | ~# | | | 6 | 7 | 8 | 9 | 0 | - | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | F | P | G | [ | | ] | J | L | U | Y | ; | \ | + * | Tab | Q | W | F | P | G | [ | | ] | J | L | U | Y | ; | + | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | A | R | S | T | D |------| |------| H | N | E | I | O | ' | + * | LShift | A | R | S | T | D |------| |------| H | N | E | I | O | ' | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | + * | \ | Z | X | C | V | B | | | | K | M | , | . | / | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | LAlt | | BkSp | | Del | | RAlt | | RCtrl | * `----------------------------------' `----------------------------------' @@ -50,17 +50,17 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KEYMAP( // left hand - ESC, 1, 2, 3, 4, 5, GRV, + ESC, 1, 2, 3, 4, 5, NUHS, TAB, Q, W, F, P, G, LBRC, - NO, A, R, S, T, D, - LSFT,Z, X, C, V, B, NO, + LSFT,A, R, S, T, D, + NUBS,Z, X, C, V, B, NO, NO, NO, LALT, NO ,BSPC, NO, NO, NO, SPC,LCTL, LGUI, // right hand - MINS,6, 7, 8, 9, 0, EQL, - RBRC,J, L, U, Y, SCLN,BSLS, + NO,6, 7, 8, 9, 0, MINS, + RBRC,J, L, U, Y, SCLN,EQL, H, N, E, I, O, QUOT, NO, K, M, COMM,DOT, SLSH,RSFT, DEL, NO ,RALT,NO, RCTL, @@ -77,7 +77,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * obvious if you start typing on a secondary layer. * * ,--------------------------------------------------. ,--------------------------------------------------. - * | Teensy | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | TRNS | + * | ` | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | TRNS | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | TRNS | | UP | | | | TRNS | | TRNS | | | | | | TRNS | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| @@ -98,7 +98,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KEYMAP( // left hand - FN31,F1, F2, F3, F4, F5, F11, + GRV ,F1, F2, F3, F4, F5, F11, TRNS,NO, UP, NO, NO, NO, TRNS, TRNS,LEFT,DOWN,RIGHT,NO, NO, TRNS,NO, NO, NO, NO, NO, NO, From 8963bc30428621342fbc135bdd263aa92e005210 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Tue, 13 Apr 2021 14:44:12 +0100 Subject: [PATCH 12/15] Add end and home keys --- keyboard/ergodox/keymap_max.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index 0abded4c..fe1eb26d 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -37,7 +37,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | \ | Z | X | C | V | B | | | | K | M | , | . | / | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | LAlt | | BkSp | | Del | | RAlt | | RCtrl | + * | | | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | PgUp | PgDn | @@ -54,7 +54,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, F, P, G, LBRC, LSFT,A, R, S, T, D, NUBS,Z, X, C, V, B, NO, - NO, NO, LALT, NO ,BSPC, + NO, NO, LALT, HOME ,BSPC, NO, NO, NO, SPC,LCTL, LGUI, @@ -63,7 +63,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RBRC,J, L, U, Y, SCLN,EQL, H, N, E, I, O, QUOT, NO, K, M, COMM,DOT, SLSH,RSFT, - DEL, NO ,RALT,NO, RCTL, + DEL, END, RALT,NO, RCTL, PGUP,PGDN, RALT, FN1,LALT, ENT From 8c95a539482c77932174c7a21b74c7acd76ed8dd Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Mon, 26 Apr 2021 13:16:16 +0100 Subject: [PATCH 13/15] Add a qwerty layer --- keyboard/ergodox/keymap_max.c | 64 +++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 7 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index fe1eb26d..e1fe2ec8 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -40,11 +40,11 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * | | | | PgUp | PgDn | + * | | L1 | | PgUp | PgDn | * ,------|------|------| |------+------+------. * | | | | | RAlt | | | * |Space | LCtrl|------| |------| LAlt | Enter| - * | | | LGui | | ~L1 | | | + * | | | LGui | | ~L2 | | | * `--------------------' `--------------------' */ @@ -55,7 +55,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LSFT,A, R, S, T, D, NUBS,Z, X, C, V, B, NO, NO, NO, LALT, HOME ,BSPC, - NO, NO, + NO, FN1, NO, SPC,LCTL, LGUI, // right hand @@ -66,11 +66,60 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { DEL, END, RALT,NO, RCTL, PGUP,PGDN, RALT, - FN1,LALT, ENT + FN2,LALT, ENT ), /* - * Layer 1: Function keys + * Keymap 1: Default qwerty Layer + * + * This is a general purpose Colemak layout which should serve as a good + * basis for your own custom layout. Mac users may want to swap the + * position of the Alt and GUI keys. + * + * ,--------------------------------------------------. ,-------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | ~# | | | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | + | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | LShift | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | \ | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | L0 | | PgUp | PgDn | + * ,------|------|------| |------+------+------. + * | | | | | RAlt | | | + * |Space | LCtrl|------| |------| LAlt | Enter| + * | | | LGui | | ~L2 | | | + * `--------------------' `--------------------' + */ + + KEYMAP( + // left hand + ESC, 1, 2, 3, 4, 5, NUHS, + TAB, Q, W, E, R, T, LBRC, + LSFT,A, S, D, F, G, + NUBS,Z, X, C, V, B, NO, + NO, NO, LALT, HOME ,BSPC, + NO, FN0, + NO, + SPC,LCTL, LGUI, + // right hand + NO, 6, 7, 8, 9, 0, MINS, + RBRC,Y, U, I, O, P, EQL, + H, J, K, L, SCLN,QUOT, + NO, N, M, COMM,DOT, SLSH,RSFT, + DEL, END, RALT,NO, RCTL, + PGUP,PGDN, + RALT, + FN2,LALT, ENT + ), + + + /* + * Layer 2: Function keys * * This layer contains function keys, and media keys. * * Most of the non-modifier keys are marked as NO, so it's immediately @@ -116,6 +165,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TRNS, TRNS,TRNS,TRNS ) + }; /* id for user defined functions */ @@ -129,8 +179,8 @@ enum function_id { const action_t PROGMEM fn_actions[] = { // Layer shifting [0] = ACTION_LAYER_SET(0, ON_PRESS), // Switch to Layer 0 - [1] = ACTION_LAYER_MOMENTARY(1), // Momentarily switch to layer 1 - [2] = ACTION_LAYER_SET(2, ON_PRESS), // Switch to Layer 2 + [1] = ACTION_LAYER_SET(1, ON_PRESS), // Switch to Layer 1 + [2] = ACTION_LAYER_MOMENTARY(2), // Momentarily switch to layer 2 // Teensy [31] = ACTION_FUNCTION(TEENSY_KEY), From f7bd5d2de7032232707f06e8ad98c283f09a1e32 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Thu, 4 Jul 2024 15:17:45 +0100 Subject: [PATCH 14/15] Add print screen to layout --- keyboard/ergodox/keymap_max.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboard/ergodox/keymap_max.c b/keyboard/ergodox/keymap_max.c index e1fe2ec8..1270d0e1 100644 --- a/keyboard/ergodox/keymap_max.c +++ b/keyboard/ergodox/keymap_max.c @@ -37,7 +37,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | \ | Z | X | C | V | B | | | | K | M | , | . | / | RShift | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | + * | PScrn| | LAlt | Home | BkSp | | Del | End | RAlt | | RCtrl | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | L1 | | PgUp | PgDn | @@ -54,7 +54,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TAB, Q, W, F, P, G, LBRC, LSFT,A, R, S, T, D, NUBS,Z, X, C, V, B, NO, - NO, NO, LALT, HOME ,BSPC, + PSCREEN, NO, LALT, HOME ,BSPC, NO, FN1, NO, SPC,LCTL, LGUI, From aff8ec8fc86f35be63d78eadeeeb4c8acb9b1929 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Thu, 4 Jul 2024 15:34:35 +0100 Subject: [PATCH 15/15] Add include for sleep_led --- tmk_core/protocol/pjrc/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tmk_core/protocol/pjrc/main.c b/tmk_core/protocol/pjrc/main.c index 45eb17d4..4e1823d6 100644 --- a/tmk_core/protocol/pjrc/main.c +++ b/tmk_core/protocol/pjrc/main.c @@ -36,6 +36,7 @@ #include "suspend.h" #include "host.h" #include "pjrc.h" +#include "sleep_led.h" #define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n))