Merge remote-tracking branch 'upstream/master'

This commit is contained in:
2018-08-11 14:54:58 +02:00
2213 changed files with 96468 additions and 18822 deletions
+1 -2
View File
@@ -1,5 +1,4 @@
#include "dz60.h"
#include "action_layer.h"
#include QMK_KEYBOARD_H
// My layout is practically the default HHKB layout.
#define _DEFAULT 0
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+1 -2
View File
@@ -1,5 +1,4 @@
#include "dz60.h"
#include "action_layer.h"
#include QMK_KEYBOARD_H
#define _L0 0
#define _L1 1
+1 -1
View File
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define _______ KC_TRNS
#define XXXXXXX KC_NO
+1 -1
View File
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define _DEFAULT 0
#define _FN 1
+1 -9
View File
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
@@ -59,11 +59,3 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
break;
}
}
void led_set_user(uint8_t usb_led) {
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
} else {
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
}
}
+14 -14
View File
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
@@ -19,11 +19,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
LAYOUT(
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_BSLS, KC_GRV,
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_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
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_BSLS, KC_GRV,
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_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL),
KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RALT, KC_RCTL),
@@ -39,21 +39,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------------------------------------------------------------------------------------+
* | | | | | | | |
* `-----------------------------------------------------------------------------------------'
*/
*/
LAYOUT(
KC_CAPS, 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_INS, KC_DEL,
KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, KC_AMPR, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_DEL, KC_BSPC,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_ASTR, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LPRN, KC_RPRN, KC_PIPE, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS,
KC_CAPS, 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_INS, KC_DEL,
KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, KC_AMPR, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_DEL, KC_BSPC,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_ASTR, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_LPRN, KC_RPRN, KC_PIPE, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS),
LAYOUT(
RESET, KC_A, 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, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
RESET, KC_A, 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, 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),
};
+1 -1
View File
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+92
View File
@@ -0,0 +1,92 @@
#include QMK_KEYBOARD_H
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
#define ______ KC_TRNS
#define LAYER_1 1
#define LAYER_2 2
#define LAYER_3 3
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base Layer
* ,-----------------------------------------------------------------------------------------.
* | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc |
* |-----------------------------------------------------------------------------------------+
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
* |-----------------------------------------------------------------------------------------+
* | LAY1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
* |-----------------------------------------------------------------------------------------+
* | Shift | Z | X | C | V | B | N | M | , | . | / | RSh | U | LAY2|
* |-----------------------------------------------------------------------------------------+
* | Ctrl | Cmd | Alt | LAY1 | LAY2 | SPACE | RAlt | LAY1 | L | D | R |
* `-----------------------------------------------------------------------------------------'
*/
LAYOUT_2_shifts(
KC_GRAVE, 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_BSLS,
MO(LAYER_1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, ______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(LAYER_2),
KC_LCTL, KC_LGUI, KC_LALT, MO(LAYER_1), MO(LAYER_1), KC_SPC, KC_RALT, MO(LAYER_1), KC_LEFT, KC_DOWN, KC_RIGHT
),
/* Layer 1
* ,-----------------------------------------------------------------------------------------.
* | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
* |-----------------------------------------------------------------------------------------+
* | | PREV | PLAY | NEXT | | | | | Up | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | Home| Left | Down | Right | End | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | |VOL+| |
* |-----------------------------------------------------------------------------------------+s
* | | | | | | | |VOL-| MUTE |
* `-----------------------------------------------------------------------------------------'
KC_VOLD, KC_VOLU, KC_MUTE,
KC_MPRV, KC_MPLY, KC_MNXT,
*/
LAYOUT_2_shifts(
KC_ESC, 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,
______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, ______, ______, KC_UP, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_VOLU, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, KC_VOLD, KC_MUTE
),
/* Layer 2
* ,-----------------------------------------------------------------------------------------.
* | RESET | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | RESET |
* |-----------------------------------------------------------------------------------------+
* | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | |
* |-----------------------------------------------------------------------------------------+
* | | BL T| BL M| BL+ | BL- | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | |
* `-----------------------------------------------------------------------------------------'
*/
LAYOUT_2_shifts(
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, ______, RESET,
______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______,
______, BL_TOGG, BL_STEP, BL_INC, BL_DEC, ______, ______, ______, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______
),
};
+6
View File
@@ -0,0 +1,6 @@
![DZ60 Layout Image](https://i.redd.it/aa4usjtk5j701.jpg)
# Frogger's Keyboard Layout
This layouts is for someone with a dedicated arrow keys, but still wants arrows on home row as well. I have one layer which is functionality, and another layer
which is really more around backlight stuff, because I rarely use it. Instead of a 2.25u shift as pictured, I have 2 1u keys.
@@ -0,0 +1 @@
Split spacebar and multiple layouts for DZ60.
+253
View File
@@ -0,0 +1,253 @@
/*
* @Author: hailbreno
* @Date: 2018-04-30 14:32:13
* @Last Modified by: hailbreno
* @Last Modified time: 2018-05-03 11:19:34
*/
#include QMK_KEYBOARD_H
#define X KC_NO
#define _______ KC_TRNS
extern keymap_config_t keymap_config;
enum layers {
_QWERTY,
_COLEMAK,
_DVORAK,
_FUNC,
_FUNC2,
_ADJUST,
_RGB
};
enum keycodes {
QWERTY = SAFE_RANGE,
COLEMAK,
DVORAK,
FUNC,
FUNC2,
RGB,
};
/*layout template
* ,-----------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------------'
[LAYOUT] = LAYOUT_2_shifts(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY
* ,-----------------------------------------------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ~ |
* |-----------------------------------------------------------------------------------------+
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Del |
* |-----------------------------------------------------------------------------------------+
* | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
* |-----------------------------------------------------------------------------------------+
* | Shift | Z | X | C | V | B | N | M | , | . | / |Shift| Up | Bl |
* |-----------------------------------------------------------------------------------------+
* | Ctrl | Alt | Gui | Backspace | Fn2 | Space | Alt | App | Left| Down|Right|
* `-----------------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_2_shifts(
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_BSLS, KC_GRV,
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_DEL,
LT(_FUNC,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSPO, X, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, RGB,
KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, FUNC2, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT),
/* COLEMAK
* ,-----------------------------------------------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ~ | Del |
* |-----------------------------------------------------------------------------------------+
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ |
* |-----------------------------------------------------------------------------------------+
* | Caps | A | R | S | T | D | H | N | E | I | O | ' | Enter |
* |-----------------------------------------------------------------------------------------+
* | Shift | Z | X | C | V | B | K | M | , | . | / |Shift| Up | Bl |
* |-----------------------------------------------------------------------------------------+
* | Ctrl | Alt | Gui | Backspace | Fn2 | Space | Alt | App | Left| Down|Right|
* `-----------------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_2_shifts(
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_BSLS, KC_GRV,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_DEL,
LT(_FUNC,KC_CAPS), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
KC_LSPO, X, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, RGB,
KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, FUNC2, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT),
/* DVORAK
* ,-----------------------------------------------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | [ | ] | ~ | Del |
* |-----------------------------------------------------------------------------------------+
* | Tab | " | , | . | P | Y | F | G | C | R | L | / | = | \ |
* |-----------------------------------------------------------------------------------------+
* | Bckspc | A | O | E | U | I | D | H | T | N | S | - | Enter |
* |-----------------------------------------------------------------------------------------+
* | Shift | ; | Q | J | K | X | B | M | W | V | Z |Shift| Up | Bl |
* |-----------------------------------------------------------------------------------------+
* | Ctrl | Alt | Gui | Backspace | Fn2 | Space | Alt | App | Left| Down|Right|
* `-----------------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_2_shifts(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
KC_TAB, KC_QUOTE, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_DEL,
LT(_FUNC,KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT,
KC_LSPO, X, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC, KC_UP, RGB,
KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, FUNC2, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT),
/* FUNC
* ,-----------------------------------------------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Prnt| Ins |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | Up | | | | | Bspc |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | Left| Down| Rght| | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | PgUp| |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | Home| PgDn| End |
* `-----------------------------------------------------------------------------------------'
*/
[_FUNC] = LAYOUT_2_shifts(
_______, 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_PSCR, KC_INS,
_______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_CIRC, _______, _______, KC_BSPC,
_______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_TILD, _______,
_______, X, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
/* FUNC2
* ,-----------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------------'
*/
[_FUNC2] = LAYOUT_2_shifts(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
/* RGB
* ,-----------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | Tog | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------------'
*/
[_RGB] = LAYOUT_2_shifts(
_______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, _______, _______, _______, _______, _______, _______,
_______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
/* Adjust (Func + Func2)
* ,-----------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | |Reset|
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | |Qwerty|Colemk|Dvorak|
* `-----------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_2_shifts(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, X, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK),
};
#ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
set_single_persistent_default_layer(_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
break;
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
break;
case FUNC:
if (record->event.pressed) {
layer_on(_FUNC);
update_tri_layer(_FUNC, _FUNC2, _ADJUST);
} else {
layer_off(_FUNC);
update_tri_layer(_FUNC, _FUNC2, _ADJUST);
}
return false;
break;
case FUNC2:
if (record->event.pressed) {
layer_on(_FUNC2);
update_tri_layer(_FUNC, _FUNC2, _ADJUST);
} else {
layer_off(_FUNC2);
update_tri_layer(_FUNC, _FUNC2, _ADJUST);
}
return false;
break;
case RGB:
if (record->event.pressed) {
layer_on(_RGB);
} else {
layer_off(_RGB);
}
return false;
break;
}
return true;
}
@@ -0,0 +1,2 @@
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+1 -1
View File
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+1 -1
View File
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+86
View File
@@ -0,0 +1,86 @@
#include QMK_KEYBOARD_H
// LAYERS
#define _QWERTY 0 // QWERTY layer
#define _QW _QWERTY
#define _FUNCTION 1 // Function layer
#define _FN _FUNCTION
#define _CONTROL 2 // Control layer
#define _CN _CONTROL
// KEYCODES
#define _______ KC_TRNS
#define XXXXXXX KC_NO
#define MO_FN MO(1)
#define MO_FN MO(1)
#define MO_FN MO(1)
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_60_iso(
// 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
KC_GESC, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, 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, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL
),
[_FUNCTION] = LAYOUT_60_iso(
// 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
KC_GRV, 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,
_______, KC_CALC, KC_UP, _______, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_PAUS,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______,
_______, _______, _______, KC_APP, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
_______, _______, _______, TG(_CN), _______, _______, _______, _______
),
[_CONTROL] = LAYOUT_60_iso(
// 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
TG(_CN), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
_______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, XXXXXXX, _______, _______, _______, _______
),
};
enum function_id {
SHIFT_ESC,
};
const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_FUNCTION(SHIFT_ESC),
};
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
static uint8_t shift_esc_shift_mask;
switch (id) {
case SHIFT_ESC:
shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
if (record->event.pressed) {
if (shift_esc_shift_mask) {
add_key(KC_GRV);
send_keyboard_report();
} else {
add_key(KC_ESC);
send_keyboard_report();
}
} else {
if (shift_esc_shift_mask) {
del_key(KC_GRV);
send_keyboard_report();
} else {
del_key(KC_ESC);
send_keyboard_report();
}
}
break;
}
}
+15
View File
@@ -0,0 +1,15 @@
# ISO-UK layout
This is an ISO-UK keymap for the DZ60 in a standard ISO layout.
The top-left sends Escape normally, but becomes a grave accent key when
tapped whilst either Fn or GUI are held down.
## Layout Image
![Layout Image](https://i.imgur.com/K40Vktt.png)
----
### References
1. [Grave Escape - QMK Firmware Documentation](https://docs.qmk.fm/#/feature_grave_esc)
+32 -25
View File
@@ -3,33 +3,40 @@
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* ISO VIM arrow
* ,-----------------------------------------------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß | ´ | BSPC |
* |-----------------------------------------------------------------------------------------+
* | Tab | Q | W | E | R | T | Z | U | I | O | P | P | Ü | * | |
* |-------------------------------------------------------------------------------------| +
* | Layer_1 | A | S | D | F | G | H | J | K | L | Ö | Ä | # |Enter |
* |-----------------------------------------------------------------------------------------+
* | Shift| < | Y | X | C | V | B | N | M | , | . | . | - | RShift |
* |-----------------------------------------------------------------------------------------+
* | LCtrl | LGUI | LAlt | Space | RAlt | Left | Down | Up | Right |
* `-----------------------------------------------------------------------------------------'
*/
LAYOUT(
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_NO, 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_BSLS,
MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT),
/* ISO 5x1u layout (ISO German keyboard layout shown)
*
* This layout starts from a standard ISO 60% layout, but replaces the
* four 1.25u modifier keys in the bottom right corner with five 1u keys,
* enabling the user to have VIM-style arrows on this area of the board.
* ,-----------------------------------------------------------------------------------------.
* | Esc | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | 7 / | 8 ( | 9 ) | 0 = | ß ? | ´ ` | Backspace |
* |-----------------------------------------------------------------------------------------|
* | Tab | Q | W | E | R | T | Z | U | I | O | P | Ä | + * | Enter |
* |---------------------------------------------------------------------------------- |
* | Layer_1 | A | S | D | F | G | H | J | K | L | Ö | Ü | # ' | |
* |-----------------------------------------------------------------------------------------|
* | Shift | < > | Y | X | C | V | B | N | M | , ; | . : | - _ | Shift |
* |-----------------------------------------------------------------------------------------|
* | LCtl | LGUI | LAlt | Space |RAlt |Left |Down | Up |Right|
* `-----------------------------------------------------------------------------------------'
*/
LAYOUT_60_iso_5x1u(
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,
MO(1), 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_NUBS, 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, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
LAYOUT(
KC_GRV, 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_NO, KC_DEL,
KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_END, KC_DEL, KC_NO,
KC_LSFT, BL_TOGG, KC_APP, KC_PAUS, KC_INS, KC_NO, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_RSFT, KC_NO,
KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_BSPC, KC_BSPC, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END),
LAYOUT_60_iso_5x1u(
KC_GRV, 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,
KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, KC_DEL, KC_NO,
KC_LSFT, BL_TOGG, KC_APP, KC_PAUS, KC_INS, KC_NO, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_DEL, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
};
+1 -2
View File
@@ -1,5 +1,4 @@
#include "dz60.h"
#include "action_layer.h"
#include QMK_KEYBOARD_H
// My layout is practically the default HHKB layout.
#define _DEFAULT 0
+70
View File
@@ -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_60_iso_5x1u(
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_60_iso_5x1u(
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
KC_LGUI, KC_LALT, KC_LCTL, ____, ____, ____, ____, ____, ____
),
[_FL] = LAYOUT_60_iso_5x1u(
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;
}
}
+8
View File
@@ -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)
+2
View File
@@ -0,0 +1,2 @@
BACKLIGHT_ENABLE = no
MOUSEKEY_ENABLE = no
+2
View File
@@ -0,0 +1,2 @@
#pragma once
#define USB_MAX_POWER_CONSUMPTION 100
+21
View File
@@ -0,0 +1,21 @@
#include QMK_KEYBOARD_H
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
#define _______ KC_TRNS
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
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_BSLS, KC_GRV,
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_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_APP, KC_RCTL),
LAYOUT(
KC_GRV, 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_INS, KC_DEL,
KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, RESET,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
_______, KC_NO, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
};
+15
View File
@@ -0,0 +1,15 @@
# Build Options
# comment out to disable the options.
#
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes
LAYOUTS = 60_ansi
@@ -0,0 +1,9 @@
#ifndef CONFIG_KEYMAP_H
#define CONFIG_KEYMAP_H
#include "../../config.h"
// Fix KC_GESC conflict with Cmd+Alt+Esc on macos
#define GRAVE_ESC_GUI_OVERRIDE
#endif
@@ -0,0 +1,92 @@
#include QMK_KEYBOARD_H
#define ______ KC_TRNS
#define _BL 0
#define _FL 1
#define _ML 2
enum my_keycodes {
BR_UP = SAFE_RANGE,
BR_DOWN
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* ,-----------------------------------------------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
* |-----------------------------------------------------------------------------------------+
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
* |-----------------------------------------------------------------------------------------+
* | _FL | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
* |-----------------------------------------------------------------------------------------+
* | Shift | Z | X | C | V | B | N | M | , | . | / | _ML | Up |Shift|
* |-----------------------------------------------------------------------------------------+
* | Ctrl | Alt | Gui | Space |Gui/_ML| Alt | Left| Down|Right|
* `-----------------------------------------------------------------------------------------'
*/
[_BL] = LAYOUT_2_shifts(
KC_GESC, 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_NO, 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_BSLS,
MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_ML), KC_UP, KC_RSFT,
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, LM(_ML, MOD_RGUI), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
/* ,-----------------------------------------------------------------------------------------.
* | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | UP | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | Left| Down|Right| | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | |
* `-----------------------------------------------------------------------------------------'
*/
[_FL] = LAYOUT(
KC_GRV, 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,
______, ______, ______, ______, ______, ______, ______, ______, KC_UP, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, KC_LEFT, KC_DOWN, KC_RIGHT, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______),
/* ,-----------------------------------------------------------------------------------------.
* |Eject| BR- | BR+ | F3 | F4 | | |PREV |PLAY |NEXT |MUTE | V- | V+ | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | Reset |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | | |
* `-----------------------------------------------------------------------------------------'
*/
[_ML] = LAYOUT(
KC_MEDIA_EJECT, BR_DOWN, BR_UP, ______, ______, KC_F5, KC_F6, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______),
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
uint8_t key;
switch (keycode) {
case BR_DOWN:
case BR_UP:
// Clear the RGUI modifier placed by LM for _ML layer as brightness don't
// work with modifiers.
key = (keycode == BR_DOWN) ? KC_SLCK : KC_PAUS;
if (record->event.pressed) {
unregister_mods(MOD_RGUI);
add_key(key);
send_keyboard_report();
} else {
del_key(key);
send_keyboard_report();
}
return false; // Skip all further processing of this key
default:
return true; // Process all other keycodes normally
}
}
@@ -0,0 +1,70 @@
# Macos keymap with arrow
This is a keymap for DZ60 configured with arrows using the layout below:
[![](https://poitr.us/mARFK9+)](http://www.keyboard-layout-editor.com/#/gists/07d924064c77c0ff43de6b8a9519f931)
My build used the following components:
* DZ60 PCB
* [Stainless steel alu plate option A with 2U left shift](https://www.aliexpress.com/item/Alu-plate-dz60-plate-for-DIY-mechanical-keyboard/32827595666.html) (optional)
* [YMDK customized 61 64 68 ANSI keyset](https://www.amazon.com/Customized-Keyset-Profile-Mechanical-Keyboard/dp/B0777LMKKK)
* 60 Cherry MX Clear for the main keys + 10 Cherry MX Grey for the large keys
* [The wood case for DZ60](https://www.aliexpress.com/item/GH60-Keyboard-Wood-Case-PCB-Board-Position-Plate-Satellite-Axis-And-Walnut-Wood-Wrist-Rest-For/32836566852.html) (optional)
## Base Layer
```
,-----------------------------------------------------------------------------------------.
| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
|-----------------------------------------------------------------------------------------+
| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
|-----------------------------------------------------------------------------------------+
| _FL | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|-----------------------------------------------------------------------------------------+
| Shift | Z | X | C | V | B | N | M | , | . | / | _ML | Up |Shift|
|-----------------------------------------------------------------------------------------+
| Ctrl | Alt | Cmd | Space |Cmd/_ML| Alt | Left| Down|Right|
`-----------------------------------------------------------------------------------------'
```
* The escape key use `KC_GESC` to get grave accent on any letter with ``Alt+Esc`` and `` ` `` alone with the ``Hyper+Esc``. The `~` is obtained with `Shift+Esc`. `GRAVE_ESC_GUI_OVERRIDE` is define so `Cmd+Alt+Esc` can still work.
* The `Caps-Lock` (`Hyper`) key switch to the function layer (`_FL`).
* The right `Cmd` key is used to switch to the media layer (`_ML`) when used with keys mapped on that layer (the top row). Any other keys just act as a `Cmd+` that key.
## Function Layer (_FL)
```
,-----------------------------------------------------------------------------------------.
| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
|-----------------------------------------------------------------------------------------+
| | | | | | | | | UP | | | | | |
|-----------------------------------------------------------------------------------------+
| | | | | | | | Left| Down|Right| | | |
|-----------------------------------------------------------------------------------------+
| | | | | | | | | | | | | | |
|-----------------------------------------------------------------------------------------+
| | | | | | | | | |
`-----------------------------------------------------------------------------------------'
```
The function layer is activated by the `Caps-Lock` (`Hyper`) key to access `F` keys. In addition, the `IJKL` are mapped as cursor keys on that layer.
## Media Layer (_ML)
```
,-----------------------------------------------------------------------------------------.
| | BR- | BR+ | F3 | F4 | | |PREV |PLAY |NEXT |MUTE | V- | V+ | Eject |
|-----------------------------------------------------------------------------------------+
| | | | | | | | | | | | | | Reset |
|-----------------------------------------------------------------------------------------+
| | | | | | | | | | | | | |
|-----------------------------------------------------------------------------------------+
| | | | | | | | | | | | | | |
|-----------------------------------------------------------------------------------------+
| | | | | | | | | |
`-----------------------------------------------------------------------------------------'
```
The media layer is activated by the right `Cmd` (`FN`) key. It contains the typical macos media keys on the top row. Blank keys act as `Cmd+` that key on the base layer.
@@ -0,0 +1,2 @@
BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = no
+1 -2
View File
@@ -1,5 +1,4 @@
#include "dz60.h"
#include "action_layer.h"
#include QMK_KEYBOARD_H
// Hard Reload Chrome
enum dz60_keycodes {
+1 -2
View File
@@ -1,5 +1,4 @@
#include "dz60.h"
#include "action_layer.h"
#include QMK_KEYBOARD_H
#define _______ KC_TRNS //readability
+1 -1
View File
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
#define _______ KC_TRNS
#define XXXXXXX KC_NO
+1 -1
View File
@@ -1,4 +1,4 @@
#include "dz60.h"
#include QMK_KEYBOARD_H
// Make special keycodes more visible
#define ____ KC_TRNS
@@ -0,0 +1,17 @@
#ifndef CONFIG_KEYMAP_H
#define CONFIG_KEYMAP_H
#include "../../config.h"
// help for fast typist+dual function keys?
#define PERMISSIVE_HOLD
/* speed up mousekeys a bit */
#define MOUSEKEY_DELAY 50
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_MAX_SPEED 8
#define MOUSEKEY_TIME_TO_MAX 30
#define MOUSEKEY_WHEEL_MAX_SPEED 8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
#endif
@@ -0,0 +1,92 @@
#include QMK_KEYBOARD_H
#include "xtonhasvim.h"
enum layers {
_QWERTY,
_FUN,
_MOVE,
_MOUSE
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
KC_GRV, 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_NO, 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_BSLS,
LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_MOVE,KC_SCLN), KC_QUOT, KC_ENT,
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO,
KC_LCTL, KC_LALT, KC_LGUI, VIM_START, TG(_MOUSE), KC_SPC, KC_RGUI, KC_RALT, X_____X, KC_RCTL, MO(_FUN)),
[_FUN] = LAYOUT(
KC_GRV, 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,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______,
TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[_MOVE] = LAYOUT(
X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X,
X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, KC_HOME, KC_PGDN, KC_PGUP, KC_END, X_____X, X_____X, X_____X, X_____X,
X_____X, X_____X, LGUI(KC_LBRC), LGUI(LSFT(KC_LBRC)), LGUI(LSFT(KC_RBRC)), LGUI(KC_RBRC), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, X_____X, X_____X, X_____X,
_______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______,
TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[_MOUSE] = LAYOUT(
X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X,
X_____X, X_____X, X_____X, KC_MS_UP, X_____X, X_____X, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_UP, KC_MS_WH_RIGHT, X_____X, X_____X, X_____X, X_____X,
X_____X, X_____X,KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, X_____X, X_____X, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, X_____X, X_____X, X_____X,
_______, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, _______,
TO(_QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
[_EDIT] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
TO(_QWERTY), _______, _______, VIM_START, _______, _______, _______, _______, _______, _______, _______),
[_CMD] = LAYOUT(
X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X, X_____X,
X_____X, X_____X, VIM_W, VIM_E, X_____X, X_____X, VIM_Y, VIM_U, VIM_I, VIM_O, VIM_P, X_____X, X_____X, X_____X,
VIM_ESC, VIM_A, VIM_S, VIM_D, X_____X, VIM_G, VIM_H, VIM_J, VIM_K, VIM_L, X_____X, X_____X, X_____X,
VIM_SHIFT, X_____X, X_____X, VIM_X, VIM_C, VIM_V, VIM_B, X_____X, X_____X, VIM_COMMA, VIM_PERIOD, X_____X, VIM_SHIFT,X_____X,
TO(_QWERTY), _______, _______, TO(_QWERTY), X_____X, X_____X, _______, _______, _______, _______, _______),
};
#define LED_BIT 1 << 2
#define LED_MASK ~(1 << 2)
void user_led_on(void) {
DDRB |= LED_BIT;
PORTB &= LED_MASK;
}
void user_led_off(void) {
DDRB &= ~LED_BIT;
PORTB &= LED_MASK;
}
void matrix_init_user(void) {
user_led_off();
}
uint32_t layer_state_set_user(uint32_t state) {
static uint32_t last_state = 0;
if(last_state != state) {
switch (biton32(state)) {
case _CMD:
user_led_on();
break;
default:
user_led_off();
break;
}
last_state = state;
}
return state;
}
@@ -0,0 +1,10 @@
# Xton has a DZ60 and it's Vimtastic!
Mine has a split spacebar, no arrowkeys and an opaque case. Changes from the default layout:
* Vim mode toggled by hitting left spacebar (see `users/xtonhasvim`). Reusing the capslock LED to indicate VIM is on.
* Momentary directional control by holding down `;`.
* Mousekeys toggled with middle space button.
* Escape is dual-function with control (which replaces capslock AS IT SHOULD BE).
* Bottom left key is the "halp my kb doesn't work" key that always dumps you back to QWERTY.