~ruther/qmk_firmware

e5cc089b02a8ebd4eed7bd85eec1bf9cbf515758 — Jan Kolkmeier 7 years ago 9cfd818
ISO Keymap & Layout for dz60 (#3198)

* added ISO layout

* ISO dz60 layout: jkbone

* replace includes
M keyboards/dz60/dz60.h => keyboards/dz60/dz60.h +15 -0
@@ 5,6 5,7 @@

// Corresponding changes to the layout names and/or definitions must also be made to info.json


// 标准配列
#define LAYOUT( \
	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \


@@ 119,4 120,18 @@
	{ K400,  K401,  KC_NO, K403,  KC_NO, KC_NO, K406,  KC_NO, KC_NO, KC_NO, K410,  K411,  K412,  K413,  K414 }  \
}

#define LAYOUT_ISO( \
	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012,     K014, \
	K100,   K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113,   K213, \
	K200,    K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114,        \
	K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311,      K313,      \
	K400,   K401,   K403,                K406,                K410, K411, K412, K413, K414  \
) { \
	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012, KC_NO,  K014 }, \
	{ K100, KC_NO,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114 }, \
	{ K200, KC_NO,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213, KC_NO }, \
	{ K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311, KC_NO,  K313, KC_NO }, \
	{ K400,  K401, KC_NO,  K403, KC_NO, KC_NO,  K406, KC_NO, KC_NO, KC_NO,  K410,  K411,  K412,  K413,  K414 }  \
}

#endif

M keyboards/dz60/info.json => keyboards/dz60/info.json +3 -0
@@ 35,6 35,9 @@

    "LAYOUT_directional_625_space": {
      "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":2}, {"label":"K301", "x":2, "y":3}, {"label":"K302", "x":3, "y":3}, {"label":"K303", "x":4, "y":3}, {"label":"K304", "x":5, "y":3}, {"label":"K305", "x":6, "y":3}, {"label":"K306", "x":7, "y":3}, {"label":"K307", "x":8, "y":3}, {"label":"K308", "x":9, "y":3}, {"label":"K309", "x":10, "y":3}, {"label":"K310", "x":11, "y":3}, {"label":"K312", "x":12, "y":3}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K406", "x":3.75, "y":4, "w":6.25}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}]
    },
    "LAYOUT_ISO": {
      "layout": [{"label":"Esc", "x":0, "y":0},{"label":"!", "x":1, "y":0},{"label":"@", "x":2, "y":0},{"label":"#", "x":3, "y":0},{"label":"$", "x":4, "y":0},{"label":"%", "x":5, "y":0},{"label":"^", "x":6, "y":0},{"label":"&", "x":7, "y":0},{"label":"*", "x":8, "y":0},{"label":"(", "x":9, "y":0},{"label":")", "x":10, "y":0},{"label":"_", "x":11, "y":0},{"label":"+", "x":12, "y":0},{"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5},{"label":"Q", "x":1.5, "y":1},{"label":"W", "x":2.5, "y":1},{"label":"E", "x":3.5, "y":1},{"label":"R", "x":4.5, "y":1},{"label":"T", "x":5.5, "y":1},{"label":"Y", "x":6.5, "y":1},{"label":"U", "x":7.5, "y":1},{"label":"I", "x":8.5, "y":1},{"label":"O", "x":9.5, "y":1},{"label":"P", "x":10.5, "y":1},{"label":"{", "x":11.5, "y":1},{"label":"}", "x":12.5, "y":1},{"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75},{"label":"A", "x":1.75, "y":2},{"label":"S", "x":2.75, "y":2},{"label":"D", "x":3.75, "y":2},{"label":"F", "x":4.75, "y":2},{"label":"G", "x":5.75, "y":2},{"label":"H", "x":6.75, "y":2},{"label":"J", "x":7.75, "y":2},{"label":"K", "x":8.75, "y":2},{"label":"L", "x":9.75, "y":2},{"label":":", "x":10.75, "y":2},{"label":"\"", "x":11.75, "y":2},{"label":"|", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25},{"label":"~", "x":1.25, "y":3},{"label":"Z", "x":2.25, "y":3},{"label":"X", "x":3.25, "y":3},{"label":"C", "x":4.25, "y":3},{"label":"V", "x":5.25, "y":3},{"label":"B", "x":6.25, "y":3},{"label":"N", "x":7.25, "y":3},{"label":"M", "x":8.25, "y":3},{"label":"<", "x":9.25, "y":3},{"label":">", "x":10.25, "y":3},{"label":"/"", "x":11.25, "y":3},{"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25},{"label":"Win", "x":1.25, "y":4, "w":1.25},{"label":"Alt", "x":2.5, "y":4, "w":1.25},{"x":3.75, "y":4, "w":6.25},{"label":"Fn", "x":10, "y":4},{"x":11, "y":4},{"x":12, "y":4},{"x":13, "y":4},{"x":14, "y":4}]
    }
  }
}

A keyboards/dz60/keymaps/jkbone/keymap.c => keyboards/dz60/keymaps/jkbone/keymap.c +70 -0
@@ 0,0 1,70 @@
#include QMK_KEYBOARD_H

#define ____ KC_TRNS
#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
#define FL_ESC  LT(_FL, KC_ESC)
#define FL      MO(_FL)

enum layers_idx {
    _BL, // Base Layer
    _ML, // Mac Modifiers (Switched around LGUI, LALT, LCTL)
    _FL  // Functions
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	[_BL] = LAYOUT_ISO(
		KC_ESC,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS,  KC_EQL,    KC_BSPC,
		KC_TAB,      KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC,  KC_RBRC,  KC_ENT,
		FL_ESC,        KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,  KC_BSLS,
		KC_LSFT,    KC_GRV,  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,        KC_RSFT,
        KC_LCTL,     KC_LGUI,     KC_LALT,                      KC_SPC,                         FL, KC_LEFT, KC_DOWN,  KC_UP,  KC_RIGHT
    ),
	[_ML] = LAYOUT_ISO(
		____,      ____,     ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,         ____,
		____,        ____,     ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,     ____,     ____,     ____,
		____,         ____,     ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,     ____,     ____,
		____,       ____,     ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,    ____,     ____,          ____,
        KC_LGUI,     KC_LALT,     KC_LCTL,                      ____,                             ____,    ____,    ____,    ____,    ____
    ),
	[_FL] = LAYOUT_ISO(
		RESET,    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_DEL,
		____,        ____,   DF(_BL),   DF(_ML),    ____,    ____,    ____,    ____,    ____,    ____,    ____,     ____,     ____,    ____,
		____,         ____,    ____,    ____,    ____,    ____,  KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,    ____,     ____,     ____,
		____,       F(3),     F(2),    F(1),    F(0),    ____,    ____,    ____, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,          ____,
        ____,        ____,      ____,                          ____,                             ____,    ____,    ____,    ____,    ____
    )
};

enum function_id {
    RGB_VAZ,
    RGB_OAZ,
    RGB_WAN,
    RGB_000
};

const uint16_t PROGMEM fn_actions[] = {
  [0]  = ACTION_FUNCTION(RGB_VAZ),
  [1]  = ACTION_FUNCTION(RGB_OAZ),
  [2]  = ACTION_FUNCTION(RGB_WAN),
  [3]  = ACTION_FUNCTION(RGB_000)
};

void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
  switch (id) {
    case RGB_VAZ:
        rgblight_enable();
        rgblight_setrgb(0, 204, 33);
        break;
    case RGB_OAZ:
        rgblight_enable();
        rgblight_setrgb(229, 65, 0);
        break;
    case RGB_WAN:
        rgblight_enable();
        rgblight_setrgb(255, 255, 255);
        break;
    case RGB_000:
        rgblight_disable();
        break;
  }
}

A keyboards/dz60/keymaps/jkbone/readme.md => keyboards/dz60/keymaps/jkbone/readme.md +8 -0
@@ 0,0 1,8 @@
# JKBONE - ISO dz70

Split left shift, vim arrow keys & ISO setup. Keymap based on Macbooks with ISO uk/english international keyboard layouts.

[![JKBONE](https://i.imgur.com/FWP4IIi.png)](http://www.keyboard-layout-editor.com/#/gists/17b5b4c1248a66947575181ff98cb562)

[![Apple English International Layout](https://i.imgur.com/GxVqALg.png)](https://support.apple.com/en-us/HT201794)


A keyboards/dz60/keymaps/jkbone/rules.mk => keyboards/dz60/keymaps/jkbone/rules.mk +2 -0
@@ 0,0 1,2 @@
BACKLIGHT_ENABLE = no
MOUSEKEY_ENABLE = no