~ruther/qmk_firmware

5e235d30c760272b4e33e22bfa470e63c2dbaaca — Peter Becich 5 years ago 6586280
[Keymap] Dvorak for Keeb.io Iris  (#8863)

* Dvorak keymap for Iris

Tested to work with Iris rev. 2

Squashed commit of the following:

commit c7a1bcf831e79953e81dda4a014b90daf4f63276
Author: Peter Becich <peterbecich@gmail.com>
Date:   Sat Oct 13 17:34:11 2018 -0700

    backtick

commit 7a7f6a5fec56446f973a4f145c5f8d002de6cd08
Author: Peter Becich <peterbecich@gmail.com>
Date:   Sun Sep 23 17:27:17 2018 -0700

    iris dvorak

commit 625461097eb1ba4585a716853999a0f30daffb2b
Author: Peter Becich <peterbecich@gmail.com>
Date:   Sun Sep 23 17:22:01 2018 -0700

    iris dvorak

* dvorak keymap readme

* key correction, keymap readme

* Apply suggestions from code review

Co-Authored-By: Joel Challis <git@zvecr.com>

* revise backspace key

Co-authored-by: Joel Challis <git@zvecr.com>
A keyboards/keebio/iris/keymaps/dvorak/config.h => keyboards/keebio/iris/keymaps/dvorak/config.h +33 -0
@@ 0,0 1,33 @@
/*
Copyright 2017 Danny Nguyen <danny@keeb.io>

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/>.
*/

#pragma once

/* Use I2C or Serial, not both */

#define USE_SERIAL

/* Select hand configuration */

#define MASTER_LEFT

#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8

A keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json => keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json +192 -0
@@ 0,0 1,192 @@
{
    "author": "",
    "layers": [
        [
            "KC_ESC",
            "KC_1",
            "KC_2",
            "KC_3",
            "KC_4",
            "KC_5",
            "KC_6",
            "KC_7",
            "KC_8",
            "KC_9",
            "KC_0",
            "KC_BSPC",
            "KC_TAB",
            "KC_QUOT",
            "KC_COMM",
            "KC_DOT",
            "KC_P",
            "KC_Y",
            "KC_F",
            "KC_G",
            "KC_C",
            "KC_R",
            "KC_L",
            "KC_SLSH",
            "KC_LCTL",
            "KC_A",
            "KC_O",
            "KC_E",
            "KC_U",
            "KC_I",
            "KC_D",
            "KC_H",
            "KC_T",
            "KC_N",
            "KC_S",
            "KC_MINS",
            "KC_LSFT",
            "KC_SCLN",
            "KC_Q",
            "KC_J",
            "KC_K",
            "KC_X",
            "KC_HOME",
            "KC_END",
            "KC_B",
            "KC_M",
            "KC_W",
            "KC_V",
            "KC_Z",
            "KC_RSFT",
            "MO(1)",
            "KC_LGUI",
            "KC_ENT",
            "KC_SPC",
            "KC_RALT",
            "MO(2)"
        ],
        [
            "KC_TILD",
            "KC_EXLM",
            "KC_AT",
            "KC_HASH",
            "KC_DLR",
            "KC_PERC",
            "KC_CIRC",
            "KC_AMPR",
            "KC_ASTR",
            "KC_LPRN",
            "KC_RPRN",
            "KC_BSPC",
            "RESET",
            "KC_1",
            "KC_2",
            "KC_3",
            "KC_4",
            "KC_5",
            "KC_6",
            "KC_7",
            "KC_8",
            "KC_9",
            "KC_0",
            "KC_GRV",
            "KC_DEL",
            "KC_NO",
            "KC_LEFT",
            "KC_RGHT",
            "KC_UP",
            "KC_LCBR",
            "KC_RCBR",
            "KC_P4",
            "KC_P5",
            "KC_P6",
            "KC_PPLS",
            "KC_BSPC",
            "BL_INC",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_DOWN",
            "KC_LBRC",
            "KC_LPRN",
            "KC_RPRN",
            "KC_RBRC",
            "KC_P1",
            "KC_P2",
            "KC_P3",
            "KC_PMNS",
            "KC_PIPE",
            "KC_NO",
            "KC_NO",
            "KC_DEL",
            "KC_DEL",
            "KC_NO",
            "KC_P0"
        ],
        [
            "KC_F12",
            "KC_F1",
            "KC_F2",
            "KC_F3",
            "KC_F4",
            "KC_F5",
            "KC_F6",
            "KC_F7",
            "KC_F8",
            "KC_F9",
            "KC_F10",
            "KC_F11",
            "RGB_TOG",
            "KC_EXLM",
            "KC_AT",
            "KC_HASH",
            "KC_DLR",
            "KC_PERC",
            "KC_CIRC",
            "KC_AMPR",
            "KC_ASTR",
            "KC_LPRN",
            "KC_RPRN",
            "KC_NO",
            "RGB_MOD",
            "KC_MRWD",
            "KC_MFFD",
            "KC_VOLU",
            "KC_PGUP",
            "KC_UNDS",
            "KC_PEQL",
            "KC_HOME",
            "RGB_HUI",
            "RGB_SAI",
            "RGB_VAI",
            "KC_BSLS",
            "KC_MUTE",
            "KC_MSTP",
            "KC_MPLY",
            "KC_VOLD",
            "KC_PGDN",
            "KC_PMNS",
            "KC_NO",
            "KC_NO",
            "KC_PPLS",
            "KC_END",
            "RGB_HUD",
            "RGB_SAD",
            "RGB_VAD",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO"
        ]
    ],
    "layout": "LAYOUT",
    "keymap": "keebio_iris_rev2_layout_dvorak.json",
    "keyboard": "keebio/iris/rev2",
    "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.

To setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>

You can convert this file to a keymap.c using this command: `qmk json2c {keymap}`

You can compile this keymap using this command: `qmk compile {keymap}`\"
",
    "notes": "",
    "version": 1
}

A keyboards/keebio/iris/keymaps/dvorak/keymap.c => keyboards/keebio/iris/keymaps/dvorak/keymap.c +73 -0
@@ 0,0 1,73 @@
#include QMK_KEYBOARD_H
enum my_layers {
    _DVORAK,
    _LOWER,
    _RAISE,
    _ADJUST
};

#define RAISE MO(_RAISE)
#define LOWER MO(_LOWER)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

  [_DVORAK] = LAYOUT(
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
     KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
     KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,                               KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
     KC_LCTL, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,                               KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_HOME,          KC_END,  KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
                                    LOWER,   KC_LGUI,   KC_ENT,                  KC_SPC,  KC_RALT, RAISE
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
  ),

  [_LOWER] = LAYOUT(
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
     KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                            KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
     RESET,   KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_GRAVE,
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
     KC_DEL,  _______, KC_LEFT, KC_RGHT, KC_UP,   KC_LBRC,                            KC_RBRC, KC_P4,   KC_P5,   KC_P6,   KC_PLUS, KC_BSPC,
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     BL_STEP, _______, _______, _______, KC_DOWN, KC_LCBR, KC_LPRN,          KC_RPRN, KC_RCBR, KC_P1,   KC_P2,   KC_P3,   KC_MINS, KC_PIPE,
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
                                    _______, _______, KC_DEL,                    KC_DEL,  _______, KC_P0
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
  ),

  [_RAISE] = LAYOUT(
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
     KC_F12,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
     RGB_TOG, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                            KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
     RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS,                            KC_EQL,  KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS,
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, _______,          _______, KC_PLUS, KC_END,  RGB_HUD, RGB_SAD, RGB_VAD, _______,
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
                                    _______, _______, _______,                   _______, _______, _______
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
  ),

  [_ADJUST] = LAYOUT(
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
                                    _______, _______, _______,                   _______, _______, _______
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
  )
};

layer_state_t layer_state_set_user(layer_state_t state) {
  return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

A keyboards/keebio/iris/keymaps/dvorak/readme.md => keyboards/keebio/iris/keymaps/dvorak/readme.md +16 -0
@@ 0,0 1,16 @@

![Iris Dvorak keymap](https://i.imgur.com/DXESYqV.png)

# Dvorak

```
make keebio/iris/rev2:dvorak
```
```
make keebio/iris/rev3:dvorak
```
```
make keebio/iris/rev4:dvorak
```

Tested with Iris rev. 2

A keyboards/keebio/iris/keymaps/dvorak/rules.mk => keyboards/keebio/iris/keymaps/dvorak/rules.mk +2 -0
@@ 0,0 1,2 @@
RGBLIGHT_ENABLE = yes
BACKLIGHT_ENABLE = yes