1
0
Fork 0
forked from forks/qmk_firmware

Added choromanski keymap (#2528)

* Added ergodox layout

* Added preonic layout

* Added readme for exgodox layout

* fixed errors with formatting readme

* Added edited preonic keymap & readme
This commit is contained in:
Brian Choromanski 2018-03-16 16:35:44 -04:00 committed by Jack Humbert
parent 5d771039ad
commit a3047f1ab3
7 changed files with 809 additions and 0 deletions

View file

@ -0,0 +1,52 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
#include "config_common.h"
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PREONIC_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(COLEMAK_SOUND), \
SONG(QWERTY_SOUND), \
SONG(AUDIO_ON_SOUND), \
SONG(TERMINAL_SOUND), \
SONG(NO_SOUND), \
SONG(MUSIC_ON_SOUND) \
}
#endif
#define MUSIC_MASK (keycode != MU_TOG)
/*
* MIDI options
*/
/* Prevent use of disabled MIDI features in the keymap */
//#define MIDI_ENABLE_STRICT 1
/* enable basic MIDI features:
- MIDI notes can be sent when in Music mode is on
*/
#define MIDI_BASIC
/* enable advanced MIDI features:
- MIDI notes can be added to the keymap
- Octave shift and transpose
- Virtual sustain, portamento, and modulation wheel
- etc.
*/
//#define MIDI_ADVANCED
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 2
#endif
#ifndef TAPPING_TERM
#define TAPPING_TERM 200
#endif

View file

@ -0,0 +1,175 @@
#include "preonic.h"
#include "action_layer.h"
enum preonic_layers {
_COLEMAK,
_QWERTY,
_FUNCT,
_NUMPAD,
_SYMB,
_MUSIC
};
enum preonic_keycodes {
FUNCT
};
//Tap Dance Declarations
enum {
G1 = 0,
BRC,
EQ
};
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
//Tap once for 1, twice for Grave
[G1] = ACTION_TAP_DANCE_DOUBLE(KC_1, KC_GRV),
//Tap once for [, twice for ]
[BRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC),
//Tap once for = twice for Backslash
[EQ] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_BSLS)
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | 1 ` | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | [ ] |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | / |Numpad|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Symbol| Ctrl | Alt | GUI | Bksp | Del |Enter |Space | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = {
{TD(G1), KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TD(EQ)},
{KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, TD(BRC)},
{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, TG(_NUMPAD)},
{OSL(_SYMB), KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
},
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | 1 ` | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ ] |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Numpad|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Symbol| Ctrl | Alt | GUI | Bksp | Del |Enter |Space | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = {
{TD(G1), KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TD(EQ)},
{KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD(BRC)},
{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, TG(_NUMPAD)},
{OSL(_SYMB), KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
},
/* Function
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Symbol| | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_FUNCT] = {
{KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
},
/* Numpad & Mouse
* ,-----------------------------------------------------------------------------------.
* | ` | | |M-clic| | | | | / | * | - | \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | ACL0 |L-clck| Up |R-clck|Scrl U| | 7 | 8 | 9 | + | ] |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | ACL1 | Left | Down |Right |Scrl D| | 4 | 5 | 6 | + | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | ACL2 | VOLU | PREV |PAUSE | NEXT | | 1 | 2 | 3 |Enter | Back |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |Symbol| | VOLD | MUTE | Bksp | Del |Enter |Space | 0 | . |Enter | |
* `-----------------------------------------------------------------------------------'
*/
[_NUMPAD] = {
{KC_GRV, _______, _______, KC_BTN3, _______, _______, _______, KC_NLCK, KC_SLSH, KC_ASTR, KC_MINS, KC_BSLS},
{_______, KC_ACL0, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_7, KC_8, KC_9, KC_PLUS, KC_RBRC},
{_______, KC_ACL1, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_4, KC_5, KC_6, KC_PLUS, _______},
{_______, KC_ACL2, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_1, KC_2, KC_3, KC_ENT, _______},
{OSL(_SYMB), _______, KC_VOLD, KC_MUTE, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_0, KC_DOT, KC_ENT, _______}
},
/* Symbol
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | + | < | > | # | ~ | ( | ) | \ | : | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | ! | - | = | % | @ | _ | { | } | / | ? | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |MUSIC | * | & | / | $ | ^ | | | [ | ] | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | FN |COLMAK|QWERTY| | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_SYMB] = {
{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_PIPE, KC_PLUS, KC_LABK, KC_RABK, KC_HASH, KC_TILD, KC_LPRN, KC_RPRN, KC_BSLS, KC_COLN, _______},
{_______, KC_EXLM, KC_MINS, KC_EQL, KC_PERC, KC_AT, KC_UNDS, KC_LCBR, KC_RCBR, KC_SLSH, KC_QUES, _______},
{TO(_MUSIC), KC_ASTR, KC_AMPR, KC_SLSH, KC_DLR, KC_CIRC, KC_PIPE, KC_LBRC, KC_RBRC, _______, _______, _______},
{_______, FUNCT, TO(_COLEMAK), TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______}
},
/* Music
* ,-----------------------------------------------------------------------------------.
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |COLMAK| | | | | | | | | | MOD | TOG |
* `-----------------------------------------------------------------------------------'
*/
[_MUSIC] = {
{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_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO},
{TO(_COLEMAK), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MU_MOD, MU_TOG}
}
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case FUNCT:
if (record->event.pressed) {
layer_off(_SYMB);
layer_on(_FUNCT);
}
return false;
break;
}
return true;
};

View file

@ -0,0 +1,95 @@
# Choromanski
## Features
* Colemak
* Qwerty
* Toggable function row
* Symbol layer programmer friendly
* Numpad/Mouse layer with media controls
## Layers
### 0 Colemak
```
,-----------------------------------------------------------------------------------.
| 1 ` | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = \ |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Tab | Q | W | F | P | G | J | L | U | Y | ; | [ ] |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | R | S | T | D | H | N | E | I | O | " |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| Z | X | C | V | B | K | M | , | . | / |Numpad|
|------+------+------+------+------+------+------+------+------+------+------+------|
|Symbol| Ctrl | Alt | GUI | Bksp | Del |Enter |Space | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
### 1 Qwerty
```
,-----------------------------------------------------------------------------------.
| 1 ` | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = \ |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Tab | Q | W | E | R | T | Y | U | I | O | P | [ ] |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | S | D | F | G | H | J | K | L | ; | " |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| Z | X | C | V | B | N | M | , | . | / |Numpad|
|------+------+------+------+------+------+------+------+------+------+------+------|
|Symbol| Ctrl | Alt | GUI | Bksp | Del |Enter |Space | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
### 2 Function Lock
```
,-----------------------------------------------------------------------------------.
| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
|Symbol| | | | | | | | | | | |
`-----------------------------------------------------------------------------------'
```
### 3 Numpad/Mouse with Media Controls
```
,-----------------------------------------------------------------------------------.
| ` | | |M-clic| | | | | / | | - | \ |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | ACL0 |L-clck| Up |R-clck|Scrl U| | 7 | 8 | 9 | + | ] |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | ACL1 | Left | Down |Right |Scrl D| | 4 | 5 | 6 | + | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | ACL2 | VOLU | PREV |PAUSE | NEXT | | 1 | 2 | 3 |Enter | Back |
|------+------+------+------+------+------+------+------+------+------+------+------|
|Symbol| | VOLD | MUTE | Bksp | Del |Enter |Space | 0 | . |Enter | |
`-----------------------------------------------------------------------------------'
```
### 4 Symbols
```
,-----------------------------------------------------------------------------------.
| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | + | < | > | # | ~ | ( | ) | \ | : | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | ! | - | = | % | @ | _ | { | } | / | ? | |
|------+------+------+------+------+------+------+------+------+------+------+------|
|MUSIC | * | & | / | $ | ^ | | | [ | ] | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | FN |COLMAK|QWERTY| | | | | | | | |
`-----------------------------------------------------------------------------------'
```
### 5 Music
```
,-----------------------------------------------------------------------------------.
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
|COLMAK| | | | | | | | | | MOD | TOG |
`-----------------------------------------------------------------------------------'
```

View file

@ -0,0 +1,3 @@
TAP_DANCE_ENABLE = yes
MOUSEKEY_ENABLE = yes
AUDIO_ENABLE = yes

View file

@ -0,0 +1,284 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Colemak
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | BSPACE |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | TAB | Q | W | F | P | G | | | | J | L | U | Y | ; : | \ | |
* |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
* | ESC | A | R | S | T | D |------| |------| H | N | E | I | O | ' " |
* |--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
* | Shift |CTR(Z)|GUI(X)|ALT(C)| V | B | [ | | ] | K | M | , < |ALT(.)|CTR(/)| Shift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |OSL(3)| TG(2)| TO(5)| TO(1)| CAPS | | LEFT | DOWN | UP |RIGHT |TG(4)|
* `----------------------------------' `---------------------------------'
* ,--------------. ,--------------.
* | LCTR | LALT | | RALT | RCTR |
* ,------|------|-------| |------+-------+------.
* | | | MUTE | |SCROLU| | |
* |BSPACE|DELETE|-------| |------| ENTER |SPACE |
* | | | GUI | |SCROLD| | |
* `---------------------' `---------------------'
*/
[0] = LAYOUT_ergodox(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LPRN,
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D,
KC_LSFT, CTL_T(KC_Z), GUI_T(KC_X), ALT_T(KC_C), KC_V, KC_B, KC_LBRC,
OSL(3), TG(2), TO(5), TO(1), KC_CAPS,
KC_LCTL, KC_LALT,
KC_MUTE,
KC_BSPC, KC_DEL, KC_LGUI,
KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_RPRN, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_RBRC, KC_K, KC_M, KC_COMM, ALT_T(KC_DOT), CTL_T(KC_SLSH), KC_RSFT,
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TG(4),
KC_RALT, KC_RCTL,
KC_WH_U,
KC_WH_D, KC_ENT, KC_SPC
),
/* Keymap 1: QWERTY
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | | | | | | | ESC |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | Q | W | E | R | T | | | | Y | U | I | O | P | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | CAPS | A | S | D | F | G |------| |------| H | J | K | L | ; | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | |CTL(Z)|GUI(X)|ALT(C)| V | B | | | | N | M | , < |ALT(.)|CTL(/)| |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |OSL(3)| TG(2)| TO(5)| TO(0)| | | | | | | TG(4)|
* `----------------------------------' `----------------------------------'
* ,-------------. ,--------------.
* | | | | | |
* ,------|------|------| |------+-------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `---------------------'
*/
[1] = LAYOUT_ergodox(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_TRNS, CTL_T(KC_Z), GUI_T(KC_X), ALT_T(KC_C), KC_V, KC_B, KC_TRNS,
OSL(3), TG(2), TO(5), TO(0), 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_ESC,
KC_RPRN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_TRNS,
KC_RBRC, KC_N, KC_M, KC_COMM, ALT_T(KC_DOT), CTL_T(KC_SLSH), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(4),
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
/* Keymap 2: Function Row
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | |------| |------| | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,--------------.
* | | | | | |
* ,------|------|------| |------+-------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `---------------------'
*/
[2] = LAYOUT_ergodox(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
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,
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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, KC_TRNS
),
/* Keymap 3: Symbols
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | + | < | > | # | | | | ~ | ( | ) | \ | : | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | ! | - | = | % | @ |------| |------| _ | { | } | / | ? | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | * | & | / | $ | ^ | | | | | | [ | ] | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,--------------.
* | | | | | |
* ,------|------|------| |------+-------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `---------------------'
*/
[3] = LAYOUT_ergodox(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
KC_TRNS, KC_PIPE, KC_PLUS, KC_LABK, KC_RABK, KC_HASH, KC_TRNS,
KC_TRNS, KC_EXLM, KC_MINS, KC_EQL, KC_PERC, KC_AT,
KC_TRNS, KC_ASTR, KC_AMPR, KC_SLSH, KC_DLR, KC_CIRC, 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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
KC_TRNS, KC_TILD, KC_LPRN, KC_RPRN, KC_BSLS, KC_COLN, KC_TRNS,
KC_UNDS, KC_LCBR, KC_RCBR, KC_SLSH, KC_QUES, KC_TRNS,
KC_TRNS, KC_PIPE, KC_LBRC, KC_RBRC, 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
),
/* Keymap 4: Numlock
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | POWER |SLEEP | |MOUSE3| | | RESET| |RESET |SCROL | NUML | / | * | - | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | |MOUSE1|MOUSEU|MOUSE2|SCROLU| | | | | 7 | 8 | 9 | + | ACCEL0 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | |MOUSEL|MOUSED|MOUSER|SCROLD|------| |------| | 4 | 5 | 6 | + | ACCEL1 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | |ACCEL0|ACCEL1|ACCEL2| | | | | | 1 | 2 | 3 |ENTER | ACCEL2 |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | | | | | | | 0 | 0 | . |ENTER | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | VOL+ | VOL- | |MEDIA<|MEDIA>|
* ,------|------|------| |------+------+------.
* | | | MUTE | |Pause | | |
* | | |------| |------| | |
* | | |FILES | | CALC | | |
* `--------------------' `--------------------'
*/
[4] = LAYOUT_ergodox(
KC_PWR, KC_SLEP, KC_TRNS, KC_BTN3, KC_TRNS, KC_TRNS, RESET,
KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D,
KC_TRNS, KC_TRNS, KC_ACL0, KC_ACL1, KC_ACL2, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_VOLD, KC_VOLU,
KC_MUTE,
KC_TRNS, KC_TRNS, KC_MYCM,
RESET, KC_SLCK, KC_NLCK, KC_SLSH, KC_ASTR, KC_MINS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_PLUS, KC_ACL2,
KC_TRNS, KC_4, KC_5, KC_6, KC_PLUS, KC_ACL1,
KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_ENT, KC_ACL0,
KC_0, KC_0, KC_DOT, KC_ENT, KC_TRNS,
KC_MPRV, KC_MNXT,
KC_MPLY,
KC_CALC, KC_TRNS, KC_TRNS
),
/* Keymap 5: Gaming
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | ESC |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | TAB | Q | W | E | R | T | | | | Y | U | I | O | P | \ | |
* |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
* | LCTR | A | S | D | F | G |------| |------| H | J | K | L | ; : | ' " |
* |--------+------+------+------+------+------| MEDIA| | } |------+------+------+------+------+--------|
* | LShift | Z | X | C | V | B | P/P | | ] | K | M | UP | . > | / ? | Shift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | LCTR |ALTTAB| TO(0)| ALT | SPACE| | LEFT | DOWN | RIGHT| , < |TO(0) |
* `----------------------------------' `----------------------------------'
* ,--------------. ,--------------.
* |MEDIA<| MEDIA>| | RALT | RCTR |
* ,------|------|-------| |------+-------+------.
* | | | VOL+ | | PGUP | | |
* |SPACE |ENTER |-------| |------|BSPACE |DELETE|
* | | | VOL- | | PGDWN| | |
* `---------------------' `---------------------'
*/
[5] = LAYOUT_ergodox(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY,
KC_LCTL, LALT(KC_TAB), TO(0), KC_LALT, KC_SPC,
KC_MPRV, KC_MNXT,
KC_VOLU,
KC_SPC, KC_ENT, KC_VOLD,
KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_ESC,
KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE,
KC_TRNS, KC_N, KC_M, KC_UP, KC_DOT, KC_SLSH, KC_LSFT,
KC_LEFT, KC_DOWN, KC_RGHT, KC_COMM, TO(0),
KC_LALT, KC_LCTL,
KC_PGUP,
KC_PGDOWN, KC_BSPC, KC_DEL
),
};
void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state);
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
ergodox_right_led_3_off();
switch (layer) {
case 1:
ergodox_right_led_1_on();
break;
case 2:
ergodox_right_led_2_on();
break;
case 3:
ergodox_right_led_3_on();
break;
case 4:
ergodox_right_led_1_on();
ergodox_right_led_2_on();
break;
case 5:
ergodox_right_led_1_on();
ergodox_right_led_3_on();
break;
case 6:
ergodox_right_led_2_on();
ergodox_right_led_3_on();
break;
default:
break;
}
};

View file

@ -0,0 +1,138 @@
# Choromanski
## Features
* Colemak
* Qwerty
* Toggable function row
* Symbol layer programmer friendly
* Numpad/Mouse layer with media controls
* Gaming friendly layer
## Layers
### 0 Colemak
```
,--------------------------------------------------. ,--------------------------------------------------.
| ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | BSPACE |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
| TAB | Q | W | F | P | G | | | | J | L | U | Y | ; : | \ | |
|--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
| ESC | A | R | S | T | D |------| |------| H | N | E | I | O | ' " |
|--------+------+------+------+------+------| { | | } |------+------+------+------+------+--------|
| Shift |CTR(Z)|GUI(X)|ALT(C)| V | B | [ | | ] | K | M | , < |ALT(.)|CTR(/)| Shift |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|OSL(3)| TG(2)| TO(5)| TO(1)| CAPS | | LEFT | DOWN | UP |RIGHT |TG(4)|
`----------------------------------' `---------------------------------'
,--------------. ,--------------.
| LCTR | LALT | | RALT | RCTR |
,------|------|-------| |------+-------+------.
| | | MUTE | |SCROLU| | |
|BSPACE|DELETE|-------| |------| ENTER |SPACE |
| | | GUI | |SCROLD| | |
`---------------------' `---------------------'
```
### 1 Qwerty
```
,--------------------------------------------------. ,--------------------------------------------------.
| | | | | | | | | | | | | | | ESC |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
| | Q | W | E | R | T | | | | Y | U | I | O | P | |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| CAPS | A | S | D | F | G |------| |------| H | J | K | L | ; | |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| |CTL(Z)|GUI(X)|ALT(C)| V | B | | | | N | M | , < |ALT(.)|CTL(/)| |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|OSL(3)| TG(2)| TO(5)| TO(0)| | | | | | | TG(4)|
`----------------------------------' `----------------------------------'
,-------------. ,--------------.
| | | | | |
,------|------|------| |------+-------+------.
| | | | | | | |
| | |------| |------| | |
| | | | | | | |
`--------------------' `---------------------'
```
### 2 Function Lock
```
,--------------------------------------------------. ,--------------------------------------------------.
| | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
| | | | | | | | | | | | | | | |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| | | | | | |------| |------| | | | | | |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| | | | | | | | | | | | | | | |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
| | | | | | | | | | | |
`----------------------------------' `----------------------------------'
,-------------. ,--------------.
| | | | | |
,------|------|------| |------+-------+------.
| | | | | | | |
| | |------| |------| | |
| | | | | | | |
`--------------------' `---------------------'
```
### 3 Symbols
```
,--------------------------------------------------. ,--------------------------------------------------.
| | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
| | | | + | < | > | # | | | | ~ | ( | ) | \ | : | |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| | ! | - | = | % | @ |------| |------| _ | { | } | / | ? | |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| | * | & | / | $ | ^ | | | | | | [ | ] | | | |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
| | | | | | | | | | | |
`----------------------------------' `----------------------------------'
,-------------. ,--------------.
| | | | | |
,------|------|------| |------+-------+------.
| | | | | | | |
| | |------| |------| | |
| | | | | | | |
`--------------------' `---------------------'
```
### 4 Numpad/Mouse with Media Controls
```
,--------------------------------------------------. ,--------------------------------------------------.
| POWER |SLEEP | |MOUSE3| | | RESET| |RESET |SCROL | NUML | / | | - | |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
| | |MOUSE1|MOUSEU|MOUSE2|SCROLU| | | | | 7 | 8 | 9 | + | ACCEL0 |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| | |MOUSEL|MOUSED|MOUSER|SCROLD|------| |------| | 4 | 5 | 6 | + | ACCEL1 |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| | |ACCEL0|ACCEL1|ACCEL2| | | | | | 1 | 2 | 3 |ENTER | ACCEL2 |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
| | | | | | | 0 | 0 | . |ENTER | |
`----------------------------------' `----------------------------------'
,-------------. ,-------------.
| VOL+ | VOL- | |MEDIA<|MEDIA>|
,------|------|------| |------+------+------.
| | | MUTE | |Pause | | |
| | |------| |------| | |
| | |FILES | | CALC | | |
`--------------------' `--------------------'
```
### 5 Gaming
```
,--------------------------------------------------. ,--------------------------------------------------.
| ` ~ | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | | 7 & | 8 * | 9 ( | 0 ) | - _ | = + | ESC |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
| TAB | Q | W | E | R | T | | | | Y | U | I | O | P | \ | |
|--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------|
| LCTR | A | S | D | F | G |------| |------| H | J | K | L | ; : | ' " |
|--------+------+------+------+------+------| MEDIA| | } |------+------+------+------+------+--------|
| LShift | Z | X | C | V | B | P/P | | ] | K | M | UP | . > | / ? | Shift |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
| LCTR |ALTTAB| TO(0)| ALT | SPACE| | LEFT | DOWN | RIGHT| , < |TO(0) |
`----------------------------------' `----------------------------------'
,--------------. ,--------------.
|MEDIA<| MEDIA>| | RALT | RCTR |
,------|------|-------| |------+-------+------.
| | | VOL+ | | PGUP | | |
|SPACE |ENTER |-------| |------|BSPACE |DELETE|
| | | VOL- | | PGDWN| | |
`---------------------' `---------------------'
```

View file

@ -0,0 +1,62 @@
/*
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/>.
*/
#include "simple_visualizer.h"
// This function should be implemented by the keymap visualizer
// Don't change anything else than state->target_lcd_color and state->layer_text as that's the only thing
// that the simple_visualizer assumes that you are updating
// Also make sure that the buffer passed to state->layer_text remains valid until the previous animation is
// stopped. This can be done by either double buffering it or by using constant strings
static void get_visualizer_layer_and_color(visualizer_state_t* state) {
if (state->status.layer & 0x20) {
//GREEN
state->target_lcd_color = LCD_COLOR(85, 255, 128);
state->layer_text = "Gaming";
}
else if (state->status.layer & 0x10) {
//ORANGE
state->target_lcd_color = LCD_COLOR(28, 255, 230);
state->layer_text = "Numpad & Mouse";
}
else if (state->status.layer & 0x8) {
//YELLOW
state->target_lcd_color = LCD_COLOR(38, 255, 230);
state->layer_text = "Symbols";
}
else if (state->status.layer & 0x4) {
//RED
state->target_lcd_color = LCD_COLOR(0, 255, 95);
if (state->status.layer & 0x2){
state->layer_text = "Qwerty - Fn";
}else{
state->layer_text = "Colemak - Fn";
}
}
else if (state->status.layer & 0x2) {
//BLUE
state->target_lcd_color = LCD_COLOR(149, 255, 192);
state->layer_text = "Qwerty";
}
else {
//PURPLE
state->target_lcd_color = LCD_COLOR(200, 255, 192);
state->layer_text = "Colemak";
}
}