~ruther/qmk_firmware

a3047f1ab35e2e9543dae78cd3336f2cd13e596c — Brian Choromanski 7 years ago 5d77103
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
A keyboards/preonic/keymaps/choromanski/config.h => keyboards/preonic/keymaps/choromanski/config.h +52 -0
@@ 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
\ No newline at end of file

A keyboards/preonic/keymaps/choromanski/keymap.c => keyboards/preonic/keymaps/choromanski/keymap.c +175 -0
@@ 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;
};
\ No newline at end of file

A keyboards/preonic/keymaps/choromanski/readme.md => keyboards/preonic/keymaps/choromanski/readme.md +95 -0
@@ 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  |
`-----------------------------------------------------------------------------------'
```
\ No newline at end of file

A keyboards/preonic/keymaps/choromanski/rules.mk => keyboards/preonic/keymaps/choromanski/rules.mk +3 -0
@@ 0,0 1,3 @@
TAP_DANCE_ENABLE = yes
MOUSEKEY_ENABLE = yes
AUDIO_ENABLE = yes

A layouts/community/ergodox/choromanski/keymap.c => layouts/community/ergodox/choromanski/keymap.c +284 -0
@@ 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;
	}

};

A layouts/community/ergodox/choromanski/readme.md => layouts/community/ergodox/choromanski/readme.md +138 -0
@@ 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|       |      |
                              `---------------------'       `---------------------'
```
\ No newline at end of file

A layouts/community/ergodox/choromanski/visualizer.c => layouts/community/ergodox/choromanski/visualizer.c +62 -0
@@ 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";
    }
}