ergodox: initial addition of belak theme
Imported from external repo https://github.com/belak/ergodox-layout at commit 233008ad8c46a85cb118fca0be093c3e751075b0example_keyboards
parent
d9ffd77ee7
commit
ef4abfeb31
@ -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.
|
@ -0,0 +1,6 @@
|
|||||||
|
TAP_DANCE_ENABLE=yes
|
||||||
|
UNICODE_ENABLE=yes
|
||||||
|
|
||||||
|
ifndef QUANTUM_DIR
|
||||||
|
include ../../../../Makefile
|
||||||
|
endif
|
@ -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.
|
@ -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";
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue