Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Stick
2017-06-22 13:06:30 -05:00
485 changed files with 9754 additions and 25860 deletions

View File

@@ -1,7 +1,7 @@
SUBPROJECT_DEFAULT = infinity
LCD_BACKLIGHT_ENABLE = yes
LCD_ENABLE = yes
LED_ENABLE = yes
BACKLIGHT_ENABLE = yes
BACKLIGHT_ENABLE = yes
NKRO_ENABLE = yes
TAP_DANCE_ENABLE = yes

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

View File

@@ -1,7 +1,7 @@
# Beginner's keymap for Ergodox-EZ
Beginner's keymap emulates standard QWERTY keyboard for beginners. Once you get comfortable with the Ergodox-EZ, you may fork this keymap and customize it for your own needs or find a suitable one from the community contributed keymaps.
![Beginner's Keymap](keyboard-layout.png)
![Beginner's Keymap](https://i.imgur.com/dAIocc8.png)
#### Pros
* Easier to switch between regular keyboards and Ergodox-EZ.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -8,4 +8,4 @@
* Sept. 8, 2016 (V0.1):
* Made A key double as MEDIA Layer change when you hold it. Added mouse buttons to the large thumb buttons on the left side on the Media Layer. Added vi/vim style arrow keys on HJKL on media layer.
![Absenth](absenth_highres.png)
![Absenth](https://i.imgur.com/D1enl2x.jpg)

View File

@@ -22,7 +22,7 @@ the 1st layer - in case of fat fingers.
Layout
-------
![Layout](rl-layout.jpg "Isn't it lovely")
![Layout](https://i.imgur.com/4bDwHLS.jpg "Isn't it lovely")
### Base Layer

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

View File

@@ -34,7 +34,7 @@ Some of the things in the layout only work when one uses [Spacemacs][spacemacs]
## Base layer
[![Base layer](images/base-layer.png)](http://www.keyboard-layout-editor.com/#/gists/28f7eb305fdbff943613e1dc7aa9e82b)
[![Base layer](https://i.imgur.com/q1MDvq4.png)](http://www.keyboard-layout-editor.com/#/gists/28f7eb305fdbff943613e1dc7aa9e82b)
At its core, this is a Dvorak layout, with some minor changes. The more interesting parts are how certain keys behave:
@@ -62,7 +62,7 @@ The symbols on the front in the image above have the same color as the key that
## ADORE layer
[![ADORE layer](images/adore-layer.png)](http://www.keyboard-layout-editor.com/#/gists/45681a17453d235925b6028dd83bf12a)
[![ADORE layer](https://i.imgur.com/r3LnQAA.png)](http://www.keyboard-layout-editor.com/#/gists/45681a17453d235925b6028dd83bf12a)
My experimental layout, that I keep tweaking. No full description here, because things are very much in flux.
@@ -70,7 +70,7 @@ Note that the **HUN** layer does not work well with ADORE: it still has the same
## Steno layer
[![Steno layer for Plover](images/steno-layer.png)](http://www.keyboard-layout-editor.com/#/gists/401ef9a84369e47c57f9aedcf0a0d667)
[![Steno layer for Plover](https://i.imgur.com/PgifhBF.png)](http://www.keyboard-layout-editor.com/#/gists/401ef9a84369e47c57f9aedcf0a0d667)
This is to be used with [Plover](http://www.openstenoproject.org/plover/), nothing really fancy here. The **STENO** key toggles the layer on and off, and sends the toggle command to Plover too.
@@ -110,7 +110,7 @@ Included with the firmware is a small tool that can parse these logs, and create
The generated heatmap looks somewhat like this:
![Heatmap](images/heatmap.png)
![Heatmap](https://i.imgur.com/tly9XSy.png)
## Layer notification
@@ -144,3 +144,6 @@ The keymap default to forcing NKRO, which seems to upset Windows, and except the
# License
The layout, being a derivative of the original TMK firmware which is under the GPL-2+, this layout is under the GPL as well, but GPL-3+, rather than the older version.
![nav-n-media-layer.png](https://i.imgur.com/AReX8C9.png)
![hun-layer.png](https://i.imgur.com/uPGBl9J.png)

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2016 Kaleb Elwert
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,6 @@
TAP_DANCE_ENABLE=yes
UNICODE_ENABLE=yes
ifndef QUANTUM_DIR
include ../../../../Makefile
endif

View File

@@ -0,0 +1,79 @@
# Belak's Ergodox Layout
This has been based off of [emacs\_osx\_dk](https://github.com/jackhumbert/qmk_firmware/tree/master/keyboards/ergodox/keymaps/emacs_osx_dk)
from the main qmk repo. However, I've taken some of the ideas for the thumbs
from [dvorak\_emacs](https://github.com/jackhumbert/qmk_firmware/tree/master/keyboards/ergodox/keymaps/dvorak_emacs)
and tweaked it a bit based on the keycaps I have.
This keyboard is intended for use in emacs (one of the main reasons for easy
access to modifiers) but it could be useful in other instances as well.
The main repo is used as a testbed, so sometimes the layout may be in a strange
state. The qmk version should be relatively stable.
## Instructions
This is currently being used on a regular ergodox, but it should work fine on
the infinity as well. Though, you may have to modify the commands to build and
flash the firmware to match the separate halves as defined in the infinity
documentation.
If you are using this keymap in the qmk repo, you should be able to just run
`make ergodox-belak-teensy`. If you're using this externally (I sometimes make
changes before syncing them to qmk), use the following instructions:
1. Clone the main qmk repo
2. Clone this to `$QMK/keyboards/ergodox/keymaps/belak-external`
3. Run `make ergodox-belak-external-teensy` from the root of the qmk repo.
## Changelog
Fifth Revision
* Change layer keys to tap-dance keys which cycle through additional layers
* Add a few emoji keys (in preparation for an emoji layer)
Fourth Revision
* Remove media layer
* Add a layer which swaps control and gui on the thumb keys.
* Add some basic code to save settings to the eeprom
* Save the state of the keys swapped in the thumb in the eeprom
Third Revision
* Add numpad layer and remove numpad from symbols layer
* Disable media layer
* Add arrow keys on ijkl to the symbols layer
* Replace ALT on held enter and held delete with GUI (for better OSX
compatibility, as there's already an ALT key relatively close)
* Replace keys above enter and delete with temporary layer switch buttons not
matching the other layer switch for that hand.
* Reindent and space out most of the layer definitions
Second Revision
* Clean up definitions to make differences between layers easier to see
* Remove old LCD code
* Add new LCD code based on fredizzimo's branch
First Revision
* Reverse grave and escape
Initial Version
* Copy from emacs\_osx\_dk
* "Fix" right alt
* Change thumb keys to match default layout (backspace, delete, enter, space)
* Add modifiers to thumb keys (ctrl to backspace and space, alt to delete and
enter)
* Replace the RAlt below the brackets with LGui and RGui
* Remove LCtrl and RCtrl from the keys above shift
* Add browser forward, and move browser back
* "Fix" the order of volume keys
## Repository
The original code for this is kept at https://github.com/belak/ergodox-layout and
is synced to qmk every few main revisions.

View File

@@ -0,0 +1,368 @@
#include "ergodox.h"
#include "debug.h"
#include "action_layer.h"
#include "eeconfig.h"
#include "eeprom.h"
#define LAYER_ON(pos) ((layer_state) & (1<<(pos)))
#define _______ KC_TRNS
#define EECONFIG_BELAK_MAGIC (uint16_t)0xBE42
// NOTE: This is just a number that's a bit beyond the end of what's already
// defined. As there is no other define we can base this on, it may need to be
// changed in the future. The initial value here is used as a placeholder with a
// magic word, similar to the normal eeconfig. Note that all the storage being
// used needs to fit inside the 32 bytes of the Ergodox Infinity.
#define EECONFIG_BELAK (uint16_t *)16
// The correct way to do this would be how the normal eeconfig handles it and
// use a bitfield. However, the eeprom has a ton of space which isn't being
// used so I don't really care and have a separate byte for every setting.
#define EECONFIG_BELAK_SWAP_GUI_CTRL (uint8_t *)18
static uint8_t swap_gui_ctrl = 0;
static uint8_t td_led_override = 0;
enum belak_keycodes {
// Function codes
BEL_F0 = SAFE_RANGE,
BEL_F1,
E_SHRUG,
E_TFLIP,
E_TSET,
};
inline void tap(uint16_t keycode) {
register_code(keycode);
unregister_code(keycode);
};
// TODO: Add LED support to the tap dance by using the advanced macro
#define LTOGGLE TD(TD_LAYER_TOGGLE)
#define BASE 0 // default layer
#define SYMB 1 // symbols
#define NUMP 2 // numpad
#define SWPH 3 // swap gui/ctrl on the hands
enum belak_td {
TD_LAYER_TOGGLE = 0,
};
void belak_td_each(qk_tap_dance_state_t *state, void *user_data);
void belak_td_finished(qk_tap_dance_state_t *state, void *user_data);
void belak_td_reset(qk_tap_dance_state_t *state, void *user_data);
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_LAYER_TOGGLE] = ACTION_TAP_DANCE_FN_ADVANCED(belak_td_each, belak_td_finished, belak_td_reset),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | L1 | | L2 | 6 | 7 | 8 | 9 | 0 | = |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | - |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | \ | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
* |--------+------+------+------+------+------| LGui | | RGui |------+------+------+------+------+--------|
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |Layers| LCtrl| Left | Right| LAlt | | RAlt | Up | Down | RCtrl|Layers|
* `----------------------------------' `----------------------------------'
* ,-------------. ,--------------.
* | ~L2 | Ins | | Grv | ~L1 |
* ,-------|------|------| |------+-------+-------.
* | Back | | Home | | PgUp | | |
* | Space | Del |------| |------| Enter | Space |
* | | | End | | PgDn | | |
* `---------------------' `----------------------'
*/
[BASE] = KEYMAP( // layer 0 : default
// left hand
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB),
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
CTL_T(KC_BSLS), KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI,
LTOGGLE, KC_LCTRL, KC_LEFT,KC_RGHT,KC_LALT,
MO(NUMP),KC_INS,
KC_HOME,
CTL_T(KC_BSPC),GUI_T(KC_DEL),KC_END,
// right hand
TG(NUMP), KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_RGUI, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
KC_RALT,KC_UP, KC_DOWN,KC_RCTRL, LTOGGLE,
KC_GRV, MO(SYMB),
KC_PGUP,
KC_PGDN, GUI_T(KC_ENT), CTL_T(KC_SPC)
),
/* Keymap 1: Symbol Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | ! | @ | { | } | | | | | | Up | | Up | | | F12 |
* |--------+------+------+------+------+------| TFLIP| | TSET |------+------+------+------+------+--------|
* | | # | $ | ( | ) | ` |------| |------| Down | Left | Down | Rght | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | % | ^ | [ | ] | ~ | SHRUG| | | & | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |LClear| | | | | | | | | |LClear|
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | TOGL | | | | TOGL |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
[SYMB] = KEYMAP(
// left hand
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, E_TFLIP,
_______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, E_TSET,
_______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
_______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, E_SHRUG,
BEL_F1, _______, _______, _______, _______,
BEL_F0, _______,
_______,
_______, _______, _______,
// right hand
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, KC_UP, _______, KC_UP, _______, _______, KC_F12,
KC_DOWN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
_______, KC_AMPR, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BEL_F1,
_______, BEL_F0,
_______,
_______, _______, _______
),
/* Keymap 2: Numpad Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | | | | | | | | 7 | 8 | 9 | * | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | |------| |------| | 4 | 5 | 6 | + | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | 1 | 2 | 3 | \ | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |LClear| | | | | | 0 | 0 | . | = |LClear|
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | TOGL | | | | TOGL |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
[NUMP] = KEYMAP(
// left hand
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
BEL_F1, _______, _______, _______, _______,
BEL_F0, _______,
_______,
_______, _______, _______,
// right hand
_______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______,
_______, KC_4, KC_5, KC_6, KC_PLUS, _______,
_______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______,
KC_0, KC_0, KC_DOT, KC_EQL, BEL_F1,
_______, BEL_F0,
_______,
_______, _______, _______
),
/* Keymap 3: Swap control and gui on the thumb */
[SWPH] = KEYMAP(
// left hand
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
_______, _______,
_______,
GUI_T(KC_BSPC), CTL_T(KC_DEL), _______,
// right hand
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______,
_______, _______,
_______,
_______, CTL_T(KC_ENT), GUI_T(KC_SPC)
),
};
// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
// If our magic word wasn't set properly, we need to zero out the settings.
if (eeprom_read_word(EECONFIG_BELAK) != EECONFIG_BELAK_MAGIC) {
eeprom_update_word(EECONFIG_BELAK, EECONFIG_BELAK_MAGIC);
eeprom_update_byte(EECONFIG_BELAK_SWAP_GUI_CTRL, 0);
}
if (eeprom_read_byte(EECONFIG_BELAK_SWAP_GUI_CTRL)) {
layer_on(SWPH);
swap_gui_ctrl = 1;
}
};
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (td_led_override) {
case 1:
ergodox_right_led_1_on();
break;
case 2:
ergodox_right_led_2_on();
break;
default:
// Layer 1 and 2 are both overlay layers, so they could both be on. This
// means we can't use the lazy check of checking for the first significant
// bit.
if (LAYER_ON(SYMB)) {
ergodox_right_led_1_on();
}
if (LAYER_ON(NUMP)) {
ergodox_right_led_2_on();
}
}
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case BEL_F0:
if(record->event.pressed){
swap_gui_ctrl = !swap_gui_ctrl;
eeprom_update_byte(EECONFIG_BELAK_SWAP_GUI_CTRL, swap_gui_ctrl);
if (swap_gui_ctrl) {
layer_on(SWPH);
} else {
layer_off(SWPH);
}
return false;
}
break;
case BEL_F1:
if(record->event.pressed){
layer_off(SYMB);
layer_off(NUMP);
return false;
}
break;
case E_SHRUG: // ¯\_(ツ)_/¯
if (record->event.pressed) {
process_unicode((0x00AF|QK_UNICODE), record); // Hand
tap(KC_BSLS); // Arm
register_code(KC_RSFT);
tap(KC_UNDS); // Arm
tap(KC_LPRN); // Head
unregister_code(KC_RSFT);
process_unicode((0x30C4|QK_UNICODE), record); // Face
register_code(KC_RSFT);
tap(KC_RPRN); // Head
tap(KC_UNDS); // Arm
unregister_code(KC_RSFT);
tap(KC_SLSH); // Arm
process_unicode((0x00AF|QK_UNICODE), record); // Hand
}
return false;
break;
case E_TFLIP: // (╯°□°)╯ ︵ ┻━┻
if (record->event.pressed) {
register_code(KC_RSFT);
tap(KC_9);
unregister_code(KC_RSFT);
process_unicode((0x256F|QK_UNICODE), record); // Arm
process_unicode((0x00B0|QK_UNICODE), record); // Eye
process_unicode((0x25A1|QK_UNICODE), record); // Mouth
process_unicode((0x00B0|QK_UNICODE), record); // Eye
register_code(KC_RSFT);
tap(KC_0);
unregister_code(KC_RSFT);
process_unicode((0x256F|QK_UNICODE), record); // Arm
tap(KC_SPC);
process_unicode((0x0361|QK_UNICODE), record); // Flippy
tap(KC_SPC);
process_unicode((0x253B|QK_UNICODE), record); // Table
process_unicode((0x2501|QK_UNICODE), record); // Table
process_unicode((0x253B|QK_UNICODE), record); // Table
}
return false;
break;
case E_TSET: // ┬──┬ ( ゜-゜ノ)
if (record->event.pressed) {
process_unicode((0x252C|QK_UNICODE), record); // Table
process_unicode((0x2500|QK_UNICODE), record); // Table
process_unicode((0x2500|QK_UNICODE), record); // Table
process_unicode((0x252C|QK_UNICODE), record); // Table
tap(KC_SPC);
process_unicode((0x30CE|QK_UNICODE), record); // Arm
register_code(KC_RSFT);
tap(KC_9);
unregister_code(KC_RSFT);
tap(KC_SPC);
process_unicode((0x309C|QK_UNICODE), record); // Eye
tap(KC_MINS);
process_unicode((0x309C|QK_UNICODE), record); // Eye
process_unicode((0x30CE|QK_UNICODE), record); // Arm
register_code(KC_RSFT);
tap(KC_0);
unregister_code(KC_RSFT);
}
return false;
break;
}
return true;
}
void belak_td_each(qk_tap_dance_state_t *state, void *user_data) {
switch (state->count) {
case 1:
td_led_override = 1;
break;
case 2:
td_led_override = 2;
break;
default:
reset_tap_dance(state);
}
}
void belak_td_finished(qk_tap_dance_state_t *state, void *user_data) {
switch (state->count) {
case 1:
layer_on(SYMB);
break;
case 2:
layer_on(NUMP);
break;
}
td_led_override = 0;
}
void belak_td_reset(qk_tap_dance_state_t *state, void *user_data) {
td_led_override = 0;
}

View File

@@ -0,0 +1,49 @@
/*
Copyright 2017 Fred Sundvik
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 <http://www.gnu.org/licenses/>.
*/
// Currently we are assuming that both the backlight and LCD are enabled
// But it's entirely possible to write a custom visualizer that use only
// one of them
#ifndef LCD_BACKLIGHT_ENABLE
#error This visualizer needs that LCD backlight is enabled
#endif
#ifndef LCD_ENABLE
#error This visualizer needs that LCD is enabled
#endif
#include "simple_visualizer.h"
static void get_visualizer_layer_and_color(visualizer_state_t* state) {
uint8_t saturation = 60;
if (state->status.leds & (1u << USB_LED_CAPS_LOCK)) {
saturation = 255;
}
if (state->status.layer & 0x4) {
state->target_lcd_color = LCD_COLOR(0, saturation, 0xFF);
state->layer_text = "Media";
}
else if (state->status.layer & 0x2) {
state->target_lcd_color = LCD_COLOR(168, saturation, 0xFF);
state->layer_text = "Symbols";
}
else {
state->target_lcd_color = LCD_COLOR(84, saturation, 0xFF);
state->layer_text = "Base";
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

View File

@@ -1,3 +1,5 @@
![bepo.png](https://i.imgur.com/TnO8ApW.png)
# BEPO keymap for the ErgoDox
This keymap has been made for the BEPO layout (http://bepo.fr), which is an ergonomic french keyboard layout based on Dvorak rules. As it's made for french people, the following of this readme will be in french.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

View File

@@ -20,4 +20,4 @@ Tap for the next character to be shifted, hold down for regular shift functional
## Layout
![keyboard-layout](keyboard-layout.png)
![keyboard-layout](https://i.imgur.com/168aGmR.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

View File

@@ -19,5 +19,5 @@ I came to this layout after several iterations. It is not the ultimate best ergo
Alternatively view the [graphical creator version](http://configure.ergodox-ez.com/keyboard_layouts/kmevwm/edit) but beware it is not the same due to the creator limitations.
![Default](colemak_programmer_001.jpg)
![Default](colemak_programmer_002.jpg)
![Default](https://i.imgur.com/BCJEoKw.jpg)
![Default](https://i.imgur.com/0P1jBph.jpg)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 379 KiB

View File

@@ -16,7 +16,8 @@ The biggest flaw in standard QWERTY keyboards was that I always needed to perfor
Then I came across the ErgoDox EZ project, that allowed a full customization of its firmware, and a unique 2 parts design.
![CSharpDev](csharp_dev_legend.png)
![CSharpDev](https://i.imgur.com/PkNqi7V.png)
![CSharpDev](https://i.imgur.com/0IcMgMf.png)
## Layout design principles
* No key combination required for the most common input characters ( (),[],{},<> ... )

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -13,7 +13,7 @@ All layer images created using [keyboard-layout-editor](http://www.keyboard-layo
## Base layer
[![Base layer](images/deadcyclo-base-layout.png)](http://www.keyboard-layout-editor.com/#/gists/0321b18620180a3e46c498206eb65366)
[![Base layer](https://i.imgur.com/PGhP2jZ.png)](http://www.keyboard-layout-editor.com/#/gists/0321b18620180a3e46c498206eb65366)
The base layer here is marked with the us international alt-gr layout,
including characters bound to what on an iso keyboard would be alt-gr
@@ -34,7 +34,7 @@ type in the unicode hex value, and hit enter.
## Layer 1 - Symbols and RGB
[![Layer 1 - Symbols and RGB](images/deadcyclo-layer-1-symbols.png)](http://www.keyboard-layout-editor.com/#/gists/96714e198054c9115bafb5267cc6bc73)
[![Layer 1 - Symbols and RGB](https://i.imgur.com/SfkkU5D.png)](http://www.keyboard-layout-editor.com/#/gists/96714e198054c9115bafb5267cc6bc73)
The Symbols and RGB layer contains function keys, commonly used
symbols, a numpad and if you have the new Ergodox Ez shine keys for
@@ -43,7 +43,7 @@ and a down key for easy scrolling. RGB controller keys are yellow.
## Layer 2 - Media, Mouse and Navigation
[![Layer 2 - Media, Mouse and Navigation](images/deadcyclo-layer-2-media-and-mouse.png)](http://www.keyboard-layout-editor.com/#/gists/824759486e378bcec30784309a7e5731)
[![Layer 2 - Media, Mouse and Navigation](https://i.imgur.com/UwPHjCO.png)](http://www.keyboard-layout-editor.com/#/gists/824759486e378bcec30784309a7e5731)
The Media, Mouse and unicode layer contains special keys for moving
the mouse and clicking on it with the keyboard. In addition it
@@ -51,13 +51,13 @@ provides standard media control keys, and default arrow keys.
## Layer 3 - Unicode
[![Layer 3 - Unicode](images/deadcyclo-layer-3-unicode.png)](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289)
[![Layer 3 - Unicode](https://i.imgur.com/HRkeY8j.png)](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289)
The unicode layer provides keys for directly typing unicode (utf-8)
## Layer 4 - Unicode 2
[![Layer 43 - Unicode](images/deadcyclo-layer-4-unicode-2.png)](http://www.keyboard-layout-editor.com/#/gists/7b2241110ab8311d9668a0798f3baf4a)
[![Layer 43 - Unicode](https://i.imgur.com/dyB459q.png)](http://www.keyboard-layout-editor.com/#/gists/7b2241110ab8311d9668a0798f3baf4a)
The unicode 2 layer provides keys for directly typing unicode (utf-8)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

View File

@@ -0,0 +1 @@
https://i.imgur.com/fKX0Zbs.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -0,0 +1 @@
https://i.imgur.com/giAc3M9.jpg

View File

@@ -12,4 +12,4 @@
This is what we ship with out of the factory. :) The image says it all:
![Default](default_firmware_v1.2-2.png)
![Default](https://i.imgur.com/Be53jH7.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 754 KiB

View File

@@ -5,4 +5,4 @@ So, I took the default firmware and just made a couple of tweaks that make it ea
1. The Cmd key is now on the right side, making Cmd+Space easier.
2. The media keys work on OSX (But not on Windows).
![default osx](default_osx_highres.png)
![default osx](https://i.imgur.com/z0aqFDq.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

View File

@@ -0,0 +1 @@
https://i.imgur.com/zLx5fus.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -19,9 +19,9 @@ Known issues:
* Alt+Shift does not work reliably (depends on the X11 kb layout? Not
entirely clear...)
![layer0](keyboard-layout0.png)
![layer1](keyboard-layout1.png)
![layer2](keyboard-layout2.png)
![layer0](https://i.imgur.com/AL70X44.png)
![layer1](https://i.imgur.com/k1DcUdt.png)
![layer2](https://i.imgur.com/nK80mKf.png)
## Changelog

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

View File

@@ -7,4 +7,4 @@ Gui button takes a predominant place on the thumb cluster, as I'm using a mac os
Finally there is also two Right Alts to easily access to accented letters of the spanish alphabet.
![Default](default_highres.png)
![Default](https://i.imgur.com/EDgp9xj.png)

View File

@@ -45,7 +45,7 @@ $ make ergodox-ez-familiar-teensy
## Usage
[![Familiar Layout](familiar.png)](http://www.keyboard-layout-editor.com/#/gists/13508a9f99cff381d58b7be6f7dcc644)
[![Familiar Layout](https://i.imgur.com/jflmkBb.png)](http://www.keyboard-layout-editor.com/#/gists/13508a9f99cff381d58b7be6f7dcc644)
### Layers
1. Base Layer: QWERTY, with arrow keys at bottom right.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

View File

@@ -21,15 +21,15 @@ Modifications I made with regard to the aforementioned layouts:
## Default Layer
![Layout of the default layer](layout.png "Layout of the default layer")
![Layout of the default layer](https://i.imgur.com/BIn8QF8.png "Layout of the default layer")
## Code Layer
![Layout of the code layer](layout-code.png "Layout of the code layer")
![Layout of the code layer](https://i.imgur.com/RHZjBlt.png "Layout of the code layer")
## Media Layer
![Layout of the media layer](layout-media.png "Layout of the media layer")
![Layout of the media layer](https://i.imgur.com/qRMmrL4.png "Layout of the media layer")
Christoph Schmitz &lt;schm4704 at web dot de&gt;
2016-01-28

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

View File

@@ -8,7 +8,7 @@ The system I created this on is a Chromebook, and uses a Japanese keymap, so som
#### English layer - layer 0
The English layout is a modified Workman layout, and is pictured below:
![English layout](img/keyboard-layout-enL.png)
![English layout](https://i.imgur.com/X1j2Mya.png)
Some of the punctuation keys have been moved to a separate number/symbol layer.
@@ -16,7 +16,7 @@ Some of the punctuation keys have been moved to a separate number/symbol layer.
The Number / Symbol layer is reachable through a ACTION_LAYER_MOMENTARY function. The blue LED is illuminated when this layer is active. It is accessible from the English or Japanese layers.
![Number layout](img/keyboard-layout-numL.png)
![Number layout](https://i.imgur.com/oNSNXPU.png)
#### Japanese layers - layers 1-5
@@ -24,7 +24,7 @@ There are 5 layers involved in Japanese input. The TOJPLOUT macro is mapped to t
On keypress, strings of romaji characters are output by the keyboard using macros, and these simulate the input of individual keys on a latin keyboard.
![Japanese layout](img/keyboard-layout-jpL.png)
![Japanese layout](https://i.imgur.com/qMvt92j.png)
Layer 1 is the JP layer. Keys on this layer correspond to singleton keys, or keys on the bottom row where a key is shared. For example, pressing the "ふ や" key outputs `ふ` (or "fu").

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -2,7 +2,7 @@
I'm using the colemak layer -- customized a bit to work a bit better when using spacemacs as my editor.
![default-layer](img/colemak-default-layer.png)
![default-layer](https://i.imgur.com/7uRqlWw.png)
## Special Keys ##
@@ -23,7 +23,7 @@ Just have the same button to toggle back to colemak.
# Symbol Layer #
![symbol-layer](img/symbol-layer.png)
![symbol-layer](https://i.imgur.com/ppT0rIU.png)
This is just putting matching closing symbols next to each other -- useful when editing lisp.
@@ -31,4 +31,4 @@ This is just putting matching closing symbols next to each other -- useful when
Just a basic number layer with a D-PAD on the other side.
![number-dpad-layer](img/number-dpad-layer.png)
![number-dpad-layer](https://i.imgur.com/Q0VHfyq.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

View File

@@ -17,4 +17,4 @@ manager, so I made these changes:
- Making the Ctrl (held) and Esc (tap) on my thumbs symmetric. Not sure I
need that with the Esc left of A and Ctrl on the Z and / keys when held...
![Jafo](jafo_highres.png)
![Jafo](https://i.imgur.com/ISEc630.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

View File

@@ -6,15 +6,15 @@
### Main Layer
![Main Layer](img/main_layer.png)
![Main Layer](https://i.imgur.com/n1Bl4R3.png)
### Code Layer
![Code Layer](img/code_layer.png)
![Code Layer](https://i.imgur.com/1B0vfpG.png)
### Media Layer
![Media Layer](img/media_layer.png)
![Media Layer](https://i.imgur.com/CGPyOfj.png)
## Changelog

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

View File

@@ -27,4 +27,4 @@ If you really need the norwegian symbols in a program, you can access them using
## Layout
![keyboard-layout](keyboard-layout.png)
![keyboard-layout](https://i.imgur.com/Qz3E9po.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

View File

@@ -27,4 +27,4 @@ If you really need the norwegian symbols in a program, you can access them using
## Layout
![keyboard-layout](keyboard-layout.png)
![keyboard-layout](https://i.imgur.com/sArgD9S.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -18,7 +18,7 @@ no rights reserved, use for any purposes, credit me if you are a nice person
* The keys under pinky fingers and index fingers will *reverse* the keyboard layout.
* *Escape* is red and it is always found in that location (*except* when the layout is reversed).
![Ordinary base layout](ordinary-base.png)
![Ordinary base layout](https://i.imgur.com/CA5t9dF.png)
The four big orange keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me! I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another.
@@ -35,7 +35,7 @@ The Ordinary Layout can be used to perform one-handed chorded text input. If you
* *Number pad* in dark green under the right hand includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads so that NumLock is not needed.
* The dark gray keys do nothing in case you bump them by accident.
![Ordinary symbol layout](ordinary-symbol.png)
![Ordinary symbol layout](https://i.imgur.com/JnX3lV2.png)
The Symbols Layer is based on the Coder Layer from the default Ergodox EZ layout. I slightly rearranged the symbols, added some symbols, expanded the number pad, and straightened out the F-Keys. It's very handy to have the symbols directly underneath the normal typing keys.
@@ -49,7 +49,7 @@ The Symbols Layer is based on the Coder Layer from the default Ergodox EZ layout
* The light purple keys are various operating system keys such as NumLock and Mute and a button to navigate to My Computer (usually your home dir).
* The dark gray keys do nothing in case you bump them by accident.
![Ordinary media layout](ordinary-media.png)
![Ordinary media layout](https://i.imgur.com/1jJnQrG.png)
This layer is a substantial extension of the Media layer on the Ergodox EZ default layout. The Fingerworks TouchStream keyboard had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents.
@@ -65,7 +65,7 @@ Multiple layers can be turned on at once. The Capitals layer will affect charact
## Special Sequences ##
![Ordinary special layout](ordinary-special.png)
![Ordinary special layout](https://i.imgur.com/XHXELD5.png)
The Special Shift layer is mostly used to lock the shift keys but in order to make this layout more _ordinary_ there are a few special sequences which put some keys near their most common traditional locations.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

View File

@@ -0,0 +1 @@
https://i.imgur.com/kvSzkXK.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

View File

@@ -0,0 +1 @@
https://i.imgur.com/5s9UKyc.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 KiB

View File

@@ -0,0 +1 @@
https://i.imgur.com/GIkRdX3.png

View File

@@ -35,4 +35,4 @@ I have only tested this on an original Ergodox with a Teensy 2.0.
- Layer 1 board light is on solid
- Layer 2 board light blinks at speed controlled by BLINK_BASE
![osx whiskey tango foxtrot](osx_whiskey_tango_foxtrot_capslock.png)
![osx whiskey tango foxtrot](https://i.imgur.com/yQl1DFe.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

View File

@@ -8,4 +8,4 @@
* Shortcut for shush (Hyper+m)
* Combo modifier for LGUI + LALT
![Plums](plums.png)
![Plums](https://i.imgur.com/0HkgLvb.png)

View File

@@ -9,7 +9,7 @@ Looking for multiple-layer layouts?
arrows](../romanzolotarev-norman-plover-osx-hjkl/)
- [Same with IJKL arrows](../romanzolotarev-norman-plover-osx/)
[![keyboard-layout](romanzolotarev-norman-osx.png)](http://www.keyboard-layout-editor.com/#/gists/9e89d54f1ea6eeeb7dab1b2d19d28195)
[![keyboard-layout](https://i.imgur.com/U14664K.png)](http://www.keyboard-layout-editor.com/#/gists/9e89d54f1ea6eeeb7dab1b2d19d28195)
## How to use Vim key

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

View File

@@ -10,7 +10,7 @@ There are four layers:
Looking for IJKL arrows? [Here we
go](../romanzolotarev-norman-plover-osx/).
[![keyboard-layout](romanzolotarev-norman-plover-osx-hjkl.png)](http://www.keyboard-layout-editor.com/#/gists/56ffedceb0668dda47c993e7271563e0)
[![keyboard-layout](https://i.imgur.com/uvMxLuJ.png)](http://www.keyboard-layout-editor.com/#/gists/56ffedceb0668dda47c993e7271563e0)
## Switching

View File

@@ -10,7 +10,7 @@ There are four layers:
Looking for HJKL arrows? [Here we
go](../romanzolotarev-norman-plover-osx-hjkl/).
[![keyboard-layout](romanzolotarev-norman-plover-osx.png)](http://www.keyboard-layout-editor.com/#/gists/8ebcb701ecb763944417)
[![keyboard-layout](https://i.imgur.com/kseXR4Z.png)](http://www.keyboard-layout-editor.com/#/gists/8ebcb701ecb763944417)
## Switching

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

View File

@@ -5,7 +5,7 @@ There are two layers:
- **BASE** is [Norman layout](https://normanlayout.info/).
- **QWRT** is QWERTY.
[![keyboard-layout](romanzolotarev-norman-qwerty-osx.png)](http://www.keyboard-layout-editor.com/#/gists/3b236f450da474dc506a5a80390c3cc7)
[![keyboard-layout](https://i.imgur.com/jfKBznw.png)](http://www.keyboard-layout-editor.com/#/gists/3b236f450da474dc506a5a80390c3cc7)
## Switching

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

View File

@@ -0,0 +1 @@
https://i.imgur.com/9xDhYOd.png

Some files were not shown because too many files have changed in this diff Show More