~ruther/qmk_firmware

878774b24e262785d553428543b72a233b1e4c9f — Yan-Fa Li 8 years ago 8c02748
Contribute a DZ60 keymap for 67 key configuration
M keyboards/dz60/config.h => keyboards/dz60/config.h +2 -2
@@ 46,9 46,9 @@

#define RGB_DI_PIN E2
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 20
#define RGBLED_NUM 16
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8

#endif
\ No newline at end of file
#endif

A keyboards/dz60/keymaps/model42/keymap.c => keyboards/dz60/keymaps/model42/keymap.c +65 -0
@@ 0,0 1,65 @@
#include "dz60.h"
#include "action_layer.h"

// Hard Reload Chrome
enum dz60_keycodes {
	LT_1_OR_RELOAD_CHROME = SAFE_RANGE
};

const uint16_t PROGMEM keymaps[][5][15] = {
// layer 0
KEYMAP_DIRECTIONAL(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_PGUP, KC_PGDN,
       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,
       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_ENT,
       KC_LSFT, LT(3, KC_Z), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RSFT, KC_SLSH), KC_UP, KC_SLSH,
       KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, LT(4, KC_SPC), KC_BSPC, MO(2), LT_1_OR_RELOAD_CHROME, KC_LEFT, KC_DOWN, KC_RGHT),

// layer 1
KEYMAP_DIRECTIONAL(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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
       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, BL_DEC, BL_TOGG, BL_INC, BL_STEP, 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),

// layer 2
KEYMAP_DIRECTIONAL(KC_TRNS, 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_HOME, KC_END,
       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, 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),

// layer 3
KEYMAP_DIRECTIONAL(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, 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, KC_TRNS, KC_TRNS, KC_TRNS),

// layer 4
KEYMAP_DIRECTIONAL(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_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
       KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, 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, KC_TRNS, KC_TRNS),
};

uint16_t custom_lt_timer;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
	if(LT_1_OR_RELOAD_CHROME == keycode) {
		if(record->event.pressed) {
			custom_lt_timer = timer_read();
			layer_on(1);
		} else {
			layer_off(1);
			if (timer_elapsed(custom_lt_timer) < 200) {
				register_code(KC_LGUI);
				register_code(KC_RSHIFT);
				register_code(KC_R);
				unregister_code(KC_R);
				unregister_code(KC_RSHIFT);
				unregister_code(KC_LGUI);
			}
		}
	}
	return true;
}

A keyboards/dz60/keymaps/model42/readme.md => keyboards/dz60/keymaps/model42/readme.md +42 -0
@@ 0,0 1,42 @@
# yanfali's keymap for KBDFans DZ60 PCB

## 4 Layers

### Layer 0

![layer 0](https://imgur.com/bOiQI69.png)
Conventional ANSI layout. Except:

 - Backspace has been replaced with 2 keys
   - PGUP
   - PGDN
 - 2.25U Left shift is now 1.25U with 1U key LT(layer 3, KC_Z)
 - Bottom right shift is 1.75U. Has arrow cluster. Tap right shift for / and dedicated / key is to far right.
 - Bottom row, split space bar
   - 2.75U (Space)
   - 1.25U (mouse key + WASD) with LT(4, KC_SPC)
   - 2.25U (backspace)
   - 1U MO(layer 2)
   - 1U LT(layer 1, SHIFT+LGUI+R)
   - arrows.

### Layer 1

![layer 1](https://imgur.com/X7iKNxQ.png)
RGB underglow and backlight controls, Reset

### Layer 2

![layer 1](https://imgur.com/gELh7Se.png)
F1-F12, PGUP -> HOME, PGDN -> END

### Layer 3

Unused at this time but tied to 3 FN key to right of 1.25U left shift.

### Layer 4

 * WASD - Mouse controls
 * Q - Btn 1
 * E - Btn 2