From 578b7e969ea93f1f07ea2dde9c986101e97a9e2d Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 09:19:55 +0200 Subject: [PATCH 01/13] - Updated dbroqua layout for planck keyboard --- keyboards/planck/keymaps/dbroqua/keymap.c | 314 ++++++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 keyboards/planck/keymaps/dbroqua/keymap.c diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c new file mode 100644 index 000000000..e183582cf --- /dev/null +++ b/keyboards/planck/keymaps/dbroqua/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 _QWERTY 0 +#define _COLEMAK 1 +#define _DVORAK 2 +#define _LOWER 3 +#define _RAISE 4 +#define _PLOVER 5 +#define _ADJUST 16 + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + PLOVER, + LOWER, + RAISE, + BACKLIT, + EXT_PLV +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* 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 | GUI | Lower| Raise| Alt | Space |AltGr | 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_LGUI, LOWER, RAISE, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT} +}, + +/* 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 | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| 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, KC_ENT }, + {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_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 }, + {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | Home | PgDwn| PgUp | End | [ | ] | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | \ |Insert| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | | | | | | | | | Del | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = { + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LBRC, KC_RBRC}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_BSLS, KC_INS}, + {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_DEL} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | - | = | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | Left | Down | Up | Right| | ` | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | Mute | Vol+ | Vol- | | | |Insert| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Prev | Play | Next | Del | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = { + {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL}, + {_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_GRV}, + {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} +}, + +/* 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_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, + {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX} +}, + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = { + {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, + {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, 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_dvorak[][2] = SONG(DVORAK_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_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 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 DVORAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_dvorak, false, 0); + #endif + persistant_default_layer_set(1UL<<_DVORAK); + } + 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; + 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; + } + 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 \ No newline at end of file From 31120ed16690ff784d8ddc40a11b2fa5ebe9e717 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 09:39:25 +0200 Subject: [PATCH 02/13] - Moved Brite function on esc to avoid conflict with ctrl key. --- keyboards/planck/keymaps/dbroqua/keymap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index e183582cf..70bac391b 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -97,18 +97,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | Home | PgDwn| PgUp | End | [ | ] | + * | Brite| | | | | | Home | PgDwn| PgUp | End | [ | ] | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | | | | | | | | | | \ |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| | | | | | | | | | Del | + * | | | | | | | | | | | Del | * `-----------------------------------------------------------------------------------' */ [_LOWER] = { {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, - {_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LBRC, KC_RBRC}, + {BACKLIT, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LBRC, KC_RBRC}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_BSLS, KC_INS}, - {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_DEL} + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_DEL} }, /* Raise From b4f23b146f05aac1def181a3f4dd4fb0479d15e8 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 14:01:37 +0200 Subject: [PATCH 03/13] - Moved Home/End/PgUp/PgDn on arrow keys --- keyboards/planck/keymaps/dbroqua/keymap.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index 70bac391b..a0517ced7 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -97,25 +97,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Brite| | | | | | Home | PgDwn| PgUp | End | [ | ] | + * | Brite| | | | | | | | | | [ | ] | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | \ |Insert| + * | | | | | | | | | | | \ | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Del | + * | | | | | | | | Home | PgDwn| PgUp | End | * `-----------------------------------------------------------------------------------' */ [_LOWER] = { - {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, - {BACKLIT, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LBRC, KC_RBRC}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_BSLS, KC_INS}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, KC_DEL} + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END} }, /* Raise * ,-----------------------------------------------------------------------------------. * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | - | = | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | Left | Down | Up | Right| | ` | + * | | | | | | | | | | | | ` | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | | | | | Mute | Vol+ | Vol- | | | |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_RAISE] = { {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL}, - {_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_GRV}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV}, {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} }, From c6e733afce48871c1787912c08c6eb6a44f13291 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Fri, 19 Aug 2016 14:17:07 +0200 Subject: [PATCH 04/13] - Added readme file and layout preview --- keyboards/planck/keymaps/dbroqua/layout.png | Bin 0 -> 21465 bytes keyboards/planck/keymaps/dbroqua/readme.md | 11 +++++++++++ 2 files changed, 11 insertions(+) create mode 100644 keyboards/planck/keymaps/dbroqua/layout.png create mode 100644 keyboards/planck/keymaps/dbroqua/readme.md diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png new file mode 100644 index 0000000000000000000000000000000000000000..bab28a7c7c0533644d40320b661baf1f32de0318 GIT binary patch literal 21465 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 Date: Fri, 19 Aug 2016 21:00:24 +0200 Subject: [PATCH 05/13] - Updated lower and raise layer --- keyboards/planck/keymaps/dbroqua/keymap.c | 176 ++++++-------------- keyboards/planck/keymaps/dbroqua/layout.png | Bin 21465 -> 20569 bytes 2 files changed, 48 insertions(+), 128 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index a0517ced7..56d4cf22d 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -15,36 +15,38 @@ extern keymap_config_t keymap_config; // Layer names don't all need to be of the same length, obviously, and you can also skip them // entirely and just use numbers. #define _QWERTY 0 -#define _COLEMAK 1 -#define _DVORAK 2 -#define _LOWER 3 -#define _RAISE 4 -#define _PLOVER 5 -#define _ADJUST 16 +#define _LOWER 1 +#define _RAISE 2 +#define _ESC 3 +#define _ADJUST 4 enum planck_keycodes { QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - PLOVER, LOWER, RAISE, - BACKLIT, - EXT_PLV + BACKLIT }; // Fillers to make layering more clear #define _______ KC_TRNS #define XXXXXXX KC_NO +// Func macro definitions. +#define SFT_ESC FUNC(0) // Tap for Enter, hold for Shift + +// Enable these functions using FUNC(n) macro. +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_TAP_KEY(_ESC, KC_ESC) + }; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 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 | GUI | Lower| Raise| Alt | Space |AltGr | Left | Down | Up |Right | @@ -52,108 +54,72 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_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}, + {SFT_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_LGUI, LOWER, RAISE, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT} }, -/* 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 | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| 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, KC_ENT }, - {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, - -/* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc | A | O | E | U | I | D | H | T | N | S | / | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | - * `-----------------------------------------------------------------------------------' - */ -[_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 }, - {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} -}, - /* Lower * ,-----------------------------------------------------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Brite| | | | | | | | | | [ | ] | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | | | | | | \ | | + * | | | | | | | | | | | ( | ) | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | | | | | | | | | { | } | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | [ | ] | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | Home | PgDwn| PgUp | End | * `-----------------------------------------------------------------------------------' */ [_LOWER] = { - {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, - {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LPRN, KC_RPRN}, + {BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC}, {_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END} }, /* Raise * ,-----------------------------------------------------------------------------------. * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | - | = | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | | | | | ` | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | Mute | Vol+ | Vol- | | | |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Prev | Play | Next | Del | + * | | | | | | | | | | | | ` | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | \ |Insert| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | Del | * `-----------------------------------------------------------------------------------' */ [_RAISE] = { {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV}, - {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, - {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, KC_INS}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL} }, -/* Plover layer (http://opensteno.org) +/* Esc * ,-----------------------------------------------------------------------------------. - * | # | # | # | # | # | # | # | # | # | # | # | # | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | S | T | P | H | * | * | F | P | L | T | D | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * |TogOut| S | K | W | R | * | * | R | B | G | S | Z | + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Exit | | | A | O | | E | U | | | | + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | Mute | Vol+ | Vol- | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | Prev | Play | Next | | * `-----------------------------------------------------------------------------------' */ - -[_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_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, - {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, - {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX} +[_ESC] = { + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} }, + /* Adjust (Lower + Raise) * ,-----------------------------------------------------------------------------------. * | | Reset| | | | | | | | | | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | - * |------+------+------+------+------+------|------+------+------+------+------+------| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty| | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | @@ -161,7 +127,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = { {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, - {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______}, + {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______}, {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} } @@ -199,24 +165,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } 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 DVORAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_dvorak, false, 0); - #endif - persistant_default_layer_set(1UL<<_DVORAK); - } - return false; - break; case LOWER: if (record->event.pressed) { layer_on(_LOWER); @@ -248,34 +196,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } 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; } return true; } diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png index bab28a7c7c0533644d40320b661baf1f32de0318..d8aaf6fa64bb257db45764a5a6ad1b3d68610950 100644 GIT binary patch literal 20569 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 Date: Fri, 19 Aug 2016 21:10:07 +0200 Subject: [PATCH 06/13] - Moved Insert/Del in Esc layer --- keyboards/planck/keymaps/dbroqua/keymap.c | 12 ++++++------ keyboards/planck/keymaps/dbroqua/layout.png | Bin 20569 -> 20479 bytes keyboards/planck/keymaps/dbroqua/readme.md | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index 56d4cf22d..3d89ff1d3 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -83,16 +83,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | ` | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | \ |Insert| + * | | | | | | | | | | | \ | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Del | + * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_RAISE] = { {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GRV}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, KC_INS}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL} + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, /* Esc @@ -101,9 +101,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | Mute | Vol+ | Vol- | | | | | + * | | | | | | Mute | Vol+ | Vol- | | | |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | Prev | Play | Next | | + * | | | | | | | | Prev | Play | Next | Del | * `-----------------------------------------------------------------------------------' */ [_ESC] = { diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png index d8aaf6fa64bb257db45764a5a6ad1b3d68610950..0deafefe2730d056941450918b4424b41043cd3c 100644 GIT binary patch literal 20479 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 Date: Sun, 21 Aug 2016 23:20:24 +0200 Subject: [PATCH 07/13] - Inverted key Tab and Esc - Reorganised bottom row --- keyboards/planck/keymaps/dbroqua/keymap.c | 24 ++++++++++---------- keyboards/planck/keymaps/dbroqua/layout.png | Bin 20479 -> 21724 bytes 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index 3d89ff1d3..e02d98f6a 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -17,7 +17,7 @@ extern keymap_config_t keymap_config; #define _QWERTY 0 #define _LOWER 1 #define _RAISE 2 -#define _ESC 3 +#define _MULTIMEDIA 3 #define _ADJUST 4 enum planck_keycodes { @@ -32,31 +32,31 @@ enum planck_keycodes { #define XXXXXXX KC_NO // Func macro definitions. -#define SFT_ESC FUNC(0) // Tap for Enter, hold for Shift +#define SFT_TAB FUNC(0) // Tap for Enter, hold for Shift // Enable these functions using FUNC(n) macro. const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_TAP_KEY(_ESC, KC_ESC) + [0] = ACTION_LAYER_TAP_KEY(_MULTIMEDIA, KC_TAB) }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty * ,-----------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * | Tab | A | S | D | F | G | H | J | K | L | ; | " | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | GUI | Lower| Raise| Alt | Space |AltGr | Left | Down | Up |Right | + * | Ctrl | GUI | AltGr| Alt | 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}, - {SFT_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_LGUI, LOWER, RAISE, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT} + {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {SFT_TAB, 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_LGUI, KC_RALT, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT} }, /* Lower @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, -/* Esc +/* _MULTIMEDIA * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | Prev | Play | Next | Del | * `-----------------------------------------------------------------------------------' */ -[_ESC] = { +[_MULTIMEDIA] = { {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png index 0deafefe2730d056941450918b4424b41043cd3c..846a385f0a497400c6dc0614dda641d0095d499b 100644 GIT binary patch literal 21724 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 Date: Mon, 22 Aug 2016 21:19:03 +0200 Subject: [PATCH 08/13] - Added PrintScreen key on multimedia layer --- keyboards/planck/keymaps/dbroqua/keymap.c | 4 ++-- keyboards/planck/keymaps/dbroqua/layout.png | Bin 21724 -> 21895 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/planck/keymaps/dbroqua/keymap.c b/keyboards/planck/keymaps/dbroqua/keymap.c index e02d98f6a..33929cb3a 100644 --- a/keyboards/planck/keymaps/dbroqua/keymap.c +++ b/keyboards/planck/keymaps/dbroqua/keymap.c @@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | + * | | | | | | | | Psc | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | Mute | Vol+ | Vol- | | | |Insert| * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_MULTIMEDIA] = { {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_VOLD, _______, _______, _______, KC_INS}, {_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL} }, diff --git a/keyboards/planck/keymaps/dbroqua/layout.png b/keyboards/planck/keymaps/dbroqua/layout.png index 846a385f0a497400c6dc0614dda641d0095d499b..37b74cdc5ef529fba1c7d05b5463ba410cdc8497 100644 GIT binary patch literal 21895 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 literal 21724 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 Date: Wed, 24 Aug 2016 12:57:32 +0200 Subject: [PATCH 09/13] - Updated readme by adding link on kle for each layer --- keyboards/planck/keymaps/dbroqua/readme.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/planck/keymaps/dbroqua/readme.md b/keyboards/planck/keymaps/dbroqua/readme.md index b5cdb9f65..777c76abd 100644 --- a/keyboards/planck/keymaps/dbroqua/readme.md +++ b/keyboards/planck/keymaps/dbroqua/readme.md @@ -3,6 +3,9 @@ ![Layout](layout.png "Dbroqua Keymap") * Online keyboard layout editor: http://www.keyboard-layout-editor.com/#/gists/e77306f9d14cc93fa26123b93b106474 +* Online keyboard layout editor (lower layer): http://www.keyboard-layout-editor.com/#/gists/786e03f6fbd274cb4f4e77a3d67f85fa +* Online keyboard layout editor (raise layer): http://www.keyboard-layout-editor.com/#/gists/2e22c71f6910103c20d595d1caa713d6 +* Online keyboard layout editor (multimedia layer): http://www.keyboard-layout-editor.com/#/gists/132ebf8053508a7a81dfa8e0756edb40 # Programming Instructions: Enter into programming mode and run the following command. From 5979051de339d0b064aaaeb59948df00aa7c3951 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Wed, 24 Aug 2016 21:53:49 +0200 Subject: [PATCH 10/13] - Updated kc60.h for 2x 1u backspace (K49) - Added dbroqua layout --- keyboards/kc60/kc60.h | 8 +- keyboards/kc60/keymaps/dbroqua/keymap.c | 103 +++++++++++++++++++++++ keyboards/kc60/keymaps/dbroqua/readme.md | 11 +++ 3 files changed, 119 insertions(+), 3 deletions(-) create mode 100644 keyboards/kc60/keymaps/dbroqua/keymap.c create mode 100644 keyboards/kc60/keymaps/dbroqua/readme.md diff --git a/keyboards/kc60/kc60.h b/keyboards/kc60/kc60.h index 34eab4b2a..f11d3435c 100644 --- a/keyboards/kc60/kc60.h +++ b/keyboards/kc60/kc60.h @@ -3,6 +3,8 @@ #include "quantum.h" +// K49 key is for the key at row 1 and column 15 when you split the backspace in 2 1U key. + // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a multi-dimensional array @@ -11,13 +13,13 @@ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ - K40, K41, K42, K45, K4A, K4B, K4C, K4D \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \ ) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { 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, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ - { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO,K4A, K4B, K4C, K4D } \ + { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \ } #endif diff --git a/keyboards/kc60/keymaps/dbroqua/keymap.c b/keyboards/kc60/keymaps/dbroqua/keymap.c new file mode 100644 index 000000000..e17827fad --- /dev/null +++ b/keyboards/kc60/keymaps/dbroqua/keymap.c @@ -0,0 +1,103 @@ +// 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 "kc60.h" + +#define _QWERTY 0 +#define _FNCAPS 1 +#define _FNRIGHTSHIFT 2 + +// Fillers to make layering more clear +#define ______ KC_TRNS +#define XXXXXXX KC_NO + +// Func macro definitions. +#define S_LED FUNC(0) +#define S_LEDI FUNC(1) +#define S_LEDD FUNC(2) + +// Enable these functions using FUNC(n) macro. +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_BACKLIGHT_TOGGLE(), + [1] = ACTION_BACKLIGHT_INCREASE(), + [2] = ACTION_BACKLIGHT_DECREASE() + }; + +/* + * | | | + * | | | + * | | | + * | | | + * | | + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty + * ,-----------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` | Bksp| + * |-----------------------------------------------------------------------------------------+ + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | + * |-----------------------------------------------------------------------------------------+ + * | Caps/FN1| A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift | Z | X | C | V | B | N | M | , | . | / | Up | FN2 | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | Gui | Alt | Space | AltGr | Left | Down | Right | + * `-----------------------------------------------------------------------------------------' + */ + [0] = KEYMAP( /* Basic QWERTY */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ + LT(_FNCAPS, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ + KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_FNRIGHTSHIFT), KC_UP, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_BSPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT \ + ), + +/* Layer 1 + * ,-----------------------------------------------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | Psc | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | Led | Led-| Led+| | Mute| Vol+| Vol-| | | | Play | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | Prev | Stop | Next | + * `-----------------------------------------------------------------------------------------' + */ + [_FNCAPS] = KEYMAP( /* Layer 1 */ + ______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, KC_PSCR,______, ______, ______, ______, ______, ______, \ + ______, ______, S_LED, S_LEDI, S_LEDD,______,KC_MUTE,KC_VOLU,KC_VOLD,______, ______, ______, ______,KC_MPLY, \ + ______, ______, ______, ______, KC_DEL, ______, KC_MPRV, KC_MSTP, KC_MNXT \ + ), + +/* Layer 2 + * ,-----------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | PgUp | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | Home | PgDown| End | + * `-----------------------------------------------------------------------------------------' + */ + [_FNRIGHTSHIFT] = KEYMAP( /* Layer 2 */ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PGUP, \ + ______, ______, ______, ______, ______, ______, KC_HOME,KC_PGDN,KC_END \ + ), +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + return MACRO_NONE; +}; diff --git a/keyboards/kc60/keymaps/dbroqua/readme.md b/keyboards/kc60/keymaps/dbroqua/readme.md new file mode 100644 index 000000000..b71d10ab0 --- /dev/null +++ b/keyboards/kc60/keymaps/dbroqua/readme.md @@ -0,0 +1,11 @@ +# Dbroqua Layout + +* Online keyboard layout editor: http://www.keyboard-layout-editor.com/#/gists/24fa7821d4955ec3c76037c8e159a199 +* Online keyboard layout editor (caps layer): http://www.keyboard-layout-editor.com/#/gists/4136d4d1555d6f0d9403c21aaf50fd37 +* Online keyboard layout editor (fn2 layer): http://www.keyboard-layout-editor.com/#/gists/cf4955f73f339020dbb41c15364e7e4f + +# Programming Instructions: +Enter into programming mode and run the following command. +``` +$ sudo KEYMAP=dbroqua make dfu +``` \ No newline at end of file From e6dcb8de8ce1a051b3c34c3e61fac4f2d6af8773 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Wed, 24 Aug 2016 22:22:14 +0200 Subject: [PATCH 11/13] - Fixed layout for kc60 --- keyboards/kc60/keymaps/default/keymap.c | 2 +- keyboards/kc60/keymaps/sgoodwin/keymap.c | 6 +++--- keyboards/kc60/keymaps/stanleylai/keymap.c | 8 ++++---- keyboards/kc60/keymaps/wigguno/keymap.c | 4 ++-- keyboards/kc60/keymaps/workman-dead/keymap.c | 10 +++++----- keyboards/kc60/keymaps/ws2812/keymap.c | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/keyboards/kc60/keymaps/default/keymap.c b/keyboards/kc60/keymaps/default/keymap.c index 6f8352c69..293ff3ab4 100644 --- a/keyboards/kc60/keymaps/default/keymap.c +++ b/keyboards/kc60/keymaps/default/keymap.c @@ -9,7 +9,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, RESET \ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_RGUI, KC_RALT, KC_RCTL, RESET \ ), }; diff --git a/keyboards/kc60/keymaps/sgoodwin/keymap.c b/keyboards/kc60/keymaps/sgoodwin/keymap.c index 99e95c232..3192b2514 100644 --- a/keyboards/kc60/keymaps/sgoodwin/keymap.c +++ b/keyboards/kc60/keymaps/sgoodwin/keymap.c @@ -13,21 +13,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, \ MO(2), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, DF(1) \ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_RGUI, KC_RALT, KC_RCTL, DF(1) \ ), [1] = KEYMAP( /* Basic QWERTY */ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ MO(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, DF(0) \ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_RGUI, KC_RALT, KC_RCTL, DF(0) \ ), [2] = KEYMAP( /* KBP v60-like arrows, media keys, etc */ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, BL_INC, BL_DEC, BL_STEP, \ KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_TRNS, \ KC_TRNS, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, DEBUG, RESET, KC_TRNS, KC_NO \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_NO, DEBUG, RESET, KC_TRNS, KC_NO \ ), }; diff --git a/keyboards/kc60/keymaps/stanleylai/keymap.c b/keyboards/kc60/keymaps/stanleylai/keymap.c index 057c73bf4..212fa88bd 100644 --- a/keyboards/kc60/keymaps/stanleylai/keymap.c +++ b/keyboards/kc60/keymaps/stanleylai/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, MO(_FL), KC_UP, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI,KC_LEFT, KC_DOWN, KC_RGHT), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_NO, KC_RGUI,KC_LEFT, KC_DOWN, KC_RGHT), // Function layer [_FL] = KEYMAP( @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_MPRV,KC_UP, KC_MNXT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR,KC_SLCK, KC_PAUS, KC_INS, \ KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_TRNS,KC_NO, KC_MUTE,KC_VOLD,KC_VOLU,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, LT(_RGBL, KC_PGUP),\ - KC_TRNS,KC_TRNS,KC_TRNS, KC_MPLY, KC_TRNS,KC_HOME, KC_PGDN, KC_END), + KC_TRNS,KC_TRNS,KC_TRNS, KC_MPLY, KC_NO, KC_TRNS,KC_HOME, KC_PGDN, KC_END), // RGB Layer [_RGBL] = KEYMAP( @@ -39,13 +39,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_TRNS,KC_NO, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,BL_STEP,BL_TOGG, 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_NO, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS), #else RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, BL_STEP,BL_TOGG, 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_NO, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS), #endif }; diff --git a/keyboards/kc60/keymaps/wigguno/keymap.c b/keyboards/kc60/keymaps/wigguno/keymap.c index 50b1d0f98..dca2826eb 100644 --- a/keyboards/kc60/keymaps/wigguno/keymap.c +++ b/keyboards/kc60/keymaps/wigguno/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT, MO(1), KC_RGUI, KC_RCTL \ ), /* @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, \ - RESET, KC_TRNS, KC_TRNS, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \ + RESET, KC_TRNS, KC_TRNS, BL_TOGG, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \ ), }; diff --git a/keyboards/kc60/keymaps/workman-dead/keymap.c b/keyboards/kc60/keymaps/workman-dead/keymap.c index 103adeef6..9786e37d8 100644 --- a/keyboards/kc60/keymaps/workman-dead/keymap.c +++ b/keyboards/kc60/keymaps/workman-dead/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TABM, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_LCTL, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT, _______, KC_ENT, \ KC_LSFT, _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, DK_ACT, KC_DOT, KC_SLSH, _______, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_RALT, KC_RGUI, KC_RCTL, KC_DFQW), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_NO, KC_RALT, KC_RGUI, KC_RCTL, KC_DFQW), // QWERTY /* @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TABM, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT, \ KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, DK_ACT, KC_DOT, KC_SLSH, _______, KC_RSFT, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_RALT, KC_RGUI, KC_RCTL, KC_DOWN), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPFN, KC_NO, KC_RALT, KC_RGUI, KC_RCTL, KC_DOWN), // dead key layer /* @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, KC_PERC, KC_AMPR, KC_QUES, KC_PLUS, KC_AT, KC_DLR, KC_UNDS, KC_LBRC, KC_RBRC, KC_EXLM, KC_TILD, KC_CIRC, _______, \ _______, KC_HASH, KC_LPRN, KC_EQL, KC_0, KC_LCBR, KC_RCBR, KC_1, KC_ASTR, KC_RPRN, KC_MINS, KC_GRV, _______, KC_CENT, \ _______, _______, KC_6, KC_7, KC_8, KC_9, KC_PIPE, KC_BSLS, KC_2, DK_REL, KC_4, KC_5, _______, _______, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_COMS, KC_RALT, KC_RGUI, KC_RCTL, _______), + KC_LCTL, KC_LALT, KC_LGUI, KC_COMS, KC_NO, KC_RALT, KC_RGUI, KC_RCTL, _______), // function layer /* @@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_CMDQ, KC_CMDD, KC_CSTB, KC_C_TB, _______, _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______, _______, KC_INS, \ KC_LSFT, KC_CMDA, KC_CMDS, KC_C_LF, KC_C_RT, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, _______, KC_BSPC, \ KC_LSFT, _______, KC_CMDZ, KC_CMDX, _______, KC_CMDC, KC_CMDV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_RALT, KC_RGUI, KC_RCTL, RESET), + KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, KC_NO, KC_RALT, KC_RGUI, KC_RCTL, RESET), // mouse layer /* @@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, KC_ACL2, KC_ACL1, KC_ACL0, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, KC_BTN1, _______, _______, _______, _______), + _______, _______, _______, KC_BTN1, _______, _______, _______, _______, _______), }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) diff --git a/keyboards/kc60/keymaps/ws2812/keymap.c b/keyboards/kc60/keymaps/ws2812/keymap.c index 1c0574df0..ae11ebf91 100644 --- a/keyboards/kc60/keymaps/ws2812/keymap.c +++ b/keyboards/kc60/keymaps/ws2812/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NO, KC_ENT, \ KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_NO, KC_RSFT, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, MO(_FL), KC_RCTL), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT,KC_RGUI, MO(_FL), KC_RCTL), /* Keymap _FL: Function Layer * ,-----------------------------------------------------------. @@ -53,13 +53,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RESET), #else KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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, KC_TRNS, KC_TRNS, KC_TRNS, RESET), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, RESET), #endif }; From c34399c5924c321d037e154bb3d5781dcc5c433a Mon Sep 17 00:00:00 2001 From: dbroqua Date: Thu, 25 Aug 2016 08:29:30 +0200 Subject: [PATCH 12/13] - Updated kc60/readme - Added layout examples for kc60 --- keyboards/kc60/kc60.h | 69 ++++++++++++++++++++++++++++++++++++++++ keyboards/kc60/readme.md | 7 ++++ 2 files changed, 76 insertions(+) diff --git a/keyboards/kc60/kc60.h b/keyboards/kc60/kc60.h index f11d3435c..c3a0165c0 100644 --- a/keyboards/kc60/kc60.h +++ b/keyboards/kc60/kc60.h @@ -8,6 +8,19 @@ // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a multi-dimensional array +/* + * ,-----------------------------------------------------------------------------------------. + * | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D | K49 | + * |-----------------------------------------------------------------------------------------+ + * | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D | + * |-----------------------------------------------------------------------------------------+ + * | K20 | K21 | K22 | K23 | K24 | K25 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | + * |-----------------------------------------------------------------------------------------+ + * | K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3D | K3C | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ #define KEYMAP( \ 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, \ @@ -23,3 +36,59 @@ } #endif + +/* Default layout + * ,-----------------------------------------------------------------------------------------. + * | 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 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | + * |-----------------------------------------------------------------------------------------+ + * | K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ + +/* Mini Lshift + * ,-----------------------------------------------------------------------------------------. + * | 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 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | + * |-----------------------------------------------------------------------------------------+ + * | K30 |K31| K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ + +/* Mini Rshift + * ,-----------------------------------------------------------------------------------------. + * | 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 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | + * |-----------------------------------------------------------------------------------------+ + * | K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | K3D | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ + +/* Mini Enter + * ,-----------------------------------------------------------------------------------------. + * | 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 | K26 | K17 | K28 | K29 | K2A | K2B | K2C | K2D | + * |-----------------------------------------------------------------------------------------+ + * | K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | + * |-----------------------------------------------------------------------------------------+ + * | K40 | K41 | K42 | K45 | K4A | K4B | K4C | K4D | + * `-----------------------------------------------------------------------------------------' + */ \ No newline at end of file diff --git a/keyboards/kc60/readme.md b/keyboards/kc60/readme.md index acc0df68d..b29c6be30 100644 --- a/keyboards/kc60/readme.md +++ b/keyboards/kc60/readme.md @@ -25,3 +25,10 @@ Keymaps follow the format **__\.c__** and are stored in the `keymaps` fol ![Image of KC60 with RGB Underglow](keymaps/ws2812/ws2812_example.jpg) Build with WS2812 Support by running `make KEYMAP=ws2812`. + +## Warning +For those who want to use 2x1U instead of classic backspace you need to use K0D and K49 like this: +* K0D represents the key at the right of =. +* K49 represents the last key of the row (is wired at the right of the space key on the PCB) + +In kc60.h I've put several definitions' examples of possible layouts proposed by online editor (http://123.57.250.164:9128/). \ No newline at end of file From 8d0aed39d11efaf51a0831e78b5641b4b5686197 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Thu, 25 Aug 2016 20:39:55 +0200 Subject: [PATCH 13/13] - Added capslock led for KC60 keyboard (based on gitbug.com/jpec/kc60 works) --- keyboards/kc60/Makefile | 3 ++- keyboards/kc60/led.c | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 keyboards/kc60/led.c diff --git a/keyboards/kc60/Makefile b/keyboards/kc60/Makefile index b00a488b9..0d17d32da 100644 --- a/keyboards/kc60/Makefile +++ b/keyboards/kc60/Makefile @@ -1,4 +1,5 @@ - +# project specific files +SRC = led.c # MCU name #MCU = at90usb1287 diff --git a/keyboards/kc60/led.c b/keyboards/kc60/led.c new file mode 100644 index 000000000..50659d724 --- /dev/null +++ b/keyboards/kc60/led.c @@ -0,0 +1,31 @@ +/* +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 . +*/ + +#include +#include "stdint.h" +#include "led.h" + + +void led_set(uint8_t usb_led) +{ + if (usb_led & (1<