From 489a922f347228baf167e4183f83bb688471b2fd Mon Sep 17 00:00:00 2001 From: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu, 9 Aug 2018 18:03:34 -0700 Subject: Keyboard: Disable mouse keys for kbd6x (#3603) --- keyboards/kbd6x/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/kbd6x') diff --git a/keyboards/kbd6x/rules.mk b/keyboards/kbd6x/rules.mk index 8f2e7e2ad..b8acb7ad9 100644 --- a/keyboards/kbd6x/rules.mk +++ b/keyboards/kbd6x/rules.mk @@ -52,7 +52,7 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096 # change yes to no to disable # BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration -- cgit v1.2.3-24-g4f1b From 1a907a1627796468c5d93c091168fede5893bbc7 Mon Sep 17 00:00:00 2001 From: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue, 4 Sep 2018 13:29:58 -0700 Subject: Keyboard: formatting changes for readme and enable bootmagic (#3851) --- keyboards/kbd6x/readme.md | 3 ++- keyboards/kbd6x/rules.mk | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'keyboards/kbd6x') diff --git a/keyboards/kbd6x/readme.md b/keyboards/kbd6x/readme.md index 625ec8968..b50646ace 100644 --- a/keyboards/kbd6x/readme.md +++ b/keyboards/kbd6x/readme.md @@ -4,7 +4,8 @@ A WKL Hot Swap Double USB C 60% Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) Hardware Supported: KBD6x PCB -Hardware Availability: [KBDFans](https://kbdfans.cn/products/kbd6x-wkl-hot-swap-60-double-type-c-pcb) +Hardware Availability: [KBDFans](https://kbdfans.cn/products/kbd6x-wkl-hot-swap-60-double-type-c-pcb) + Make example for this keyboard (after setting up your build environment): make kbd6x:default diff --git a/keyboards/kbd6x/rules.mk b/keyboards/kbd6x/rules.mk index b8acb7ad9..5c7a3877e 100644 --- a/keyboards/kbd6x/rules.mk +++ b/keyboards/kbd6x/rules.mk @@ -51,7 +51,7 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096 # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) -- cgit v1.2.3-24-g4f1b From 47e29754c215d02af39f3ee6158d4d6b76a7bffc Mon Sep 17 00:00:00 2001 From: Chris <38164944+ChrisUC@users.noreply.github.com> Date: Mon, 15 Oct 2018 12:41:43 -0500 Subject: Keymap: added default layout to the kbd6x for the tofu hhkb (#4132) * added layouts * fixed * might aswell fix the default layout aswell --- keyboards/kbd6x/keymaps/default/keymap.c | 19 -------- .../kbd6x/keymaps/hhkb-default-improved/keymap.c | 50 +++++++++++++++++++++ .../kbd6x/keymaps/hhkb-default-improved/readme.md | 1 + keyboards/kbd6x/keymaps/hhkb-default/keymap.c | 51 ++++++++++++++++++++++ keyboards/kbd6x/keymaps/hhkb-default/readme.md | 1 + 5 files changed, 103 insertions(+), 19 deletions(-) create mode 100644 keyboards/kbd6x/keymaps/hhkb-default-improved/keymap.c create mode 100644 keyboards/kbd6x/keymaps/hhkb-default-improved/readme.md create mode 100644 keyboards/kbd6x/keymaps/hhkb-default/keymap.c create mode 100644 keyboards/kbd6x/keymaps/hhkb-default/readme.md (limited to 'keyboards/kbd6x') diff --git a/keyboards/kbd6x/keymaps/default/keymap.c b/keyboards/kbd6x/keymaps/default/keymap.c index fd73b1445..00adbf887 100644 --- a/keyboards/kbd6x/keymaps/default/keymap.c +++ b/keyboards/kbd6x/keymaps/default/keymap.c @@ -33,25 +33,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -const uint16_t PROGMEM fn_actions[] = { - -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - // MACRODOWN only works in this function - switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); - } - break; - } - return MACRO_NONE; -}; - void matrix_init_user(void) { diff --git a/keyboards/kbd6x/keymaps/hhkb-default-improved/keymap.c b/keyboards/kbd6x/keymaps/hhkb-default-improved/keymap.c new file mode 100644 index 000000000..80c22e5d9 --- /dev/null +++ b/keyboards/kbd6x/keymaps/hhkb-default-improved/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2018 MechMerlin + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// iproved hhkb layout with more functionality + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = 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_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_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_RGUI, KC_RCTL + ), + + [1] = LAYOUT( + 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_INS, RESET, + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_DEL, + KC_RCTL, KC_VOLU, KC_VOLD, KC_MUTE, KC_MPLY, KC_MSTP, KC_ASTR, KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PLUS, KC_UNDS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + diff --git a/keyboards/kbd6x/keymaps/hhkb-default-improved/readme.md b/keyboards/kbd6x/keymaps/hhkb-default-improved/readme.md new file mode 100644 index 000000000..be22dd16c --- /dev/null +++ b/keyboards/kbd6x/keymaps/hhkb-default-improved/readme.md @@ -0,0 +1 @@ +# this is the default hhkb layout in a more useable normalized form (aka the way i use mine) \ No newline at end of file diff --git a/keyboards/kbd6x/keymaps/hhkb-default/keymap.c b/keyboards/kbd6x/keymaps/hhkb-default/keymap.c new file mode 100644 index 000000000..03153b67a --- /dev/null +++ b/keyboards/kbd6x/keymaps/hhkb-default/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2018 MechMerlin + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// stock hhkb as referenced by https://i.imgur.com/QoBTDHf.png + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = 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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_TRNS, KC_LALT, KC_LGUI, KC_SPACE, KC_RGUI, KC_RALT, KC_TRNS + ), + + [1] = LAYOUT( + 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_INS, KC_DEL, + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, RESET, + KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_MSTP, KC_TRNS, KC_ASTR, KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PLUS, KC_UNDS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + + + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + diff --git a/keyboards/kbd6x/keymaps/hhkb-default/readme.md b/keyboards/kbd6x/keymaps/hhkb-default/readme.md new file mode 100644 index 000000000..cf93c3553 --- /dev/null +++ b/keyboards/kbd6x/keymaps/hhkb-default/readme.md @@ -0,0 +1 @@ +# default hhkb layout adapted to the 6x (for tofu hhkb) \ No newline at end of file -- cgit v1.2.3-24-g4f1b From e99615b2acb473fc4a23886b87abe61c80faa1bc Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 10 Dec 2018 10:49:19 -0800 Subject: Keyboard: Added RGB toggle and cycle to default KDB6x mapping. (#4592) * Added RGB toggle and cycle to default mapping. This is present on layouts on 'http://qmkeyboard.cn/' but not here. * Added addition keycodes for hue/sat/val. --- keyboards/kbd6x/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/kbd6x') diff --git a/keyboards/kbd6x/keymaps/default/keymap.c b/keyboards/kbd6x/keymaps/default/keymap.c index 00adbf887..e2e96fc63 100644 --- a/keyboards/kbd6x/keymaps/default/keymap.c +++ b/keyboards/kbd6x/keymaps/default/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT( 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_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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, 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 -- cgit v1.2.3-24-g4f1b From cce19d265d22f13effd675e38122f7776682021f Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 11 Dec 2018 07:29:17 -0800 Subject: Reduce compile size of KBD6x (#4599) Disable some functionality so that it will compile under size in the QMK Configurator --- keyboards/kbd6x/config.h | 5 ++--- keyboards/kbd6x/rules.mk | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'keyboards/kbd6x') diff --git a/keyboards/kbd6x/config.h b/keyboards/kbd6x/config.h index 6a5ebf062..9f23fb867 100644 --- a/keyboards/kbd6x/config.h +++ b/keyboards/kbd6x/config.h @@ -169,8 +169,8 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION /* * MIDI options @@ -222,4 +222,3 @@ along with this program. If not, see . #define LCD_E_PIN 1 //< pin for Enable line #endif */ - diff --git a/keyboards/kbd6x/rules.mk b/keyboards/kbd6x/rules.mk index 5c7a3877e..e9b61a76d 100644 --- a/keyboards/kbd6x/rules.mk +++ b/keyboards/kbd6x/rules.mk @@ -55,7 +55,7 @@ BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration +COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -- cgit v1.2.3-24-g4f1b From fc921a9c54bb28fe91219a9321f9d2c0cf7cf293 Mon Sep 17 00:00:00 2001 From: Othi Date: Mon, 24 Dec 2018 17:06:12 +0000 Subject: First PR for KBD6x HHKB layout keymap (#4704) * initial commit for Othi's HHKB layout keymap, covering multiple modifiers hold and vim-like support and german characters. If there's any suggestion i can be reached via mnpqraven on github or Othi#6661 on discord * added readme.md. TODO: update readme.md * changed to default quantum keycode for `KC_TRNS`, removed `PREVENT_STUCK_MODIFIERS`, fixed tap dance using one shots TODO: unicode implementation at https://docs.qmk.fm/#/feature_unicode * keymap documentaion(readme) added * unicode init TODO: figure out what made the compose sequence not running * update unicode and readme --- keyboards/kbd6x/keymaps/othi/config.h | 10 ++ keyboards/kbd6x/keymaps/othi/keymap.c | 190 +++++++++++++++++++++++++++++++++ keyboards/kbd6x/keymaps/othi/readme.md | 56 ++++++++++ keyboards/kbd6x/keymaps/othi/rules.mk | 19 ++++ 4 files changed, 275 insertions(+) create mode 100644 keyboards/kbd6x/keymaps/othi/config.h create mode 100644 keyboards/kbd6x/keymaps/othi/keymap.c create mode 100644 keyboards/kbd6x/keymaps/othi/readme.md create mode 100644 keyboards/kbd6x/keymaps/othi/rules.mk (limited to 'keyboards/kbd6x') diff --git a/keyboards/kbd6x/keymaps/othi/config.h b/keyboards/kbd6x/keymaps/othi/config.h new file mode 100644 index 000000000..42f68b435 --- /dev/null +++ b/keyboards/kbd6x/keymaps/othi/config.h @@ -0,0 +1,10 @@ +#pragma once +#define ONESHOT_TAP_TOOGLE 2 +#define ONESHOT_TIMEOUT 2000 +// tap dance configurations +#define TAPPING_TERM 200 +#define TAPPING_TOGGLE 2 +#define PERMISSIVE_HOLD +// Fix KC_GESC conflict with Cmd+Alt+Esc on macros +#define GRAVE_ESC_GUI_OVERRIDE + diff --git a/keyboards/kbd6x/keymaps/othi/keymap.c b/keyboards/kbd6x/keymaps/othi/keymap.c new file mode 100644 index 000000000..1e0fc8ad7 --- /dev/null +++ b/keyboards/kbd6x/keymaps/othi/keymap.c @@ -0,0 +1,190 @@ +/* Copyright 2018 Othi + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// read README.md for rundown of what does what + +// #define BL 0 +#define CL 0 +#define NM_MODE 2 +#define VI_MODE 3 +#define FN3 4 +#define ACCENT 5 +#define ACCENT_CAP 6 + +//Unicode keymaps +void eeconfig_init_user(void) { + set_unicode_input_mode(UC_LNX); +} +#define DE_AE UC(0x00E4) +#define DE_SS UC(0x00DF) +#define DE_OE UC(0x00F6) +#define DE_UE UC(0x00FC) +#define DE_AE_CAP UC(0x00C4) +#define DE_OE_CAP UC(0x00D6) +#define DE_UE_CAP UC(0x00DC) + +uint32_t layer_state_set_user(uint32_t state) { + switch (biton32(state)) { + case NM_MODE: + rgblight_setrgb (0x00, 0x66, 0x00); + break; + case VI_MODE: + rgblight_setrgb (0x66, 0x66, 0x00); + break; + case ACCENT: + rgblight_setrgb (0x7A, 0x00, 0xFF); + break; + case ACCENT_CAP: + rgblight_setrgb (0x7A, 0xFF, 0xFF); + break; + default: // for any other layers, or the default layer + rgblight_setrgb (0xFF, 0x00, 0x00); + break; + } + return state; +} + +//Tap Dance Declarations +enum { + CTL_NM = 0, + ALT_NM = 1, + SFT_NM = 2, + GUI_NM = 3 +}; + +void dance_CTL_NM_finished (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + set_oneshot_mods(MOD_LCTL); + } else { + register_code (KC_LCTL); + layer_on(NM_MODE); + } +} + +void dance_CTL_NM_reset (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + unregister_code (KC_LCTL); + } else { + unregister_code (KC_LCTL); + layer_off(NM_MODE); + } +} + +void dance_GUI_NM_finished (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + register_code (KC_LGUI); + } else { + register_code (KC_LGUI); + layer_on(NM_MODE); + } +} + +void dance_GUI_NM_reset (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + unregister_code (KC_LGUI); + } else { + unregister_code (KC_LGUI); + layer_off(NM_MODE); + } +} + +void dance_ALT_NM_finished (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + register_code (KC_LALT); + } else { + register_code (KC_LALT); + layer_on(NM_MODE); + } +} + +void dance_ALT_NM_reset (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + unregister_code (KC_LALT); + } else { + unregister_code (KC_LALT); + layer_off(NM_MODE); + } +} + +void dance_SFT_NM_finished (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + register_code (KC_LSFT); + set_oneshot_mods(MOD_LSFT); + } else { + register_code (KC_LSFT); + layer_on(NM_MODE); + } +} + +void dance_SFT_NM_reset (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + unregister_code (KC_LSFT); + } else { + unregister_code (KC_LSFT); + layer_off(NM_MODE); + } +} + + +qk_tap_dance_action_t tap_dance_actions[] = { + [CTL_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_CTL_NM_finished, dance_CTL_NM_reset), + [GUI_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_GUI_NM_finished, dance_GUI_NM_reset), + [ALT_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_ALT_NM_finished, dance_ALT_NM_reset), + [SFT_NM] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, dance_SFT_NM_finished, dance_SFT_NM_reset) +}; + +// backup +// old R3 capslock, LT(NM_MODE,KC_BSPC), +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [CL] = LAYOUT( + 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_BSLS, KC_DEL, + MT(MOD_LGUI,KC_TAB), LT(NM_MODE,KC_Q), KC_W, LT(ACCENT,KC_F), KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, + MT(MOD_LCTL,KC_BSPC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, + TD(SFT_NM), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, MT(MOD_LCTL,KC_COMM), MT(MOD_LSFT,KC_DOT), MT(MOD_LALT,KC_SLSH), LM(CL,MOD_LGUI|MOD_LSFT), TT(NM_MODE), + _______, TD(CTL_NM), TD(ALT_NM), KC_SPC, LM(CL,MOD_LGUI|MOD_LALT), OSL(ACCENT) , _______ + ), + [NM_MODE] = LAYOUT( + KC_GRV, KC_MPRV, KC_MNXT, KC_MPLY, KC_END, _______, _______, _______, _______, _______, KC_HOME, _______, _______, RESET, KC_INS, + LGUI(KC_TAB), _______, LCTL(KC_RGHT), _______, _______, _______, _______, KC_UP, KC_PGUP, _______, _______, _______, TG(CL), KC_DEL, + _______, KC_LEFT, _______, KC_RGHT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_ENT, KC_QUOT, KC_LGUI, + KC_LSFT, _______, _______, _______, _______, LCTL(KC_LEFT), _______, _______, _______, _______, _______, TG(VI_MODE), TO(CL), + _______, TD(CTL_NM), TD(ALT_NM), KC_SPC, LM(CL,MOD_LGUI|MOD_LALT), OSL(ACCENT), _______ + ), + + [VI_MODE] = LAYOUT( + KC_GRV, KC_MPRV, KC_MNXT, KC_MPLY, LSFT(KC_END), KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, LSFT(KC_HOME), KC_F11, KC_F12, RESET, KC_INS, + LGUI(KC_TAB), _______, LSFT(LCTL(KC_RGHT)), _______, _______, _______, _______, LSFT(KC_UP), _______, _______, _______, _______, TG(CL), KC_BSPC, + _______, _______, _______, _______, _______, _______, LSFT(LCTL(KC_LEFT)), LSFT(KC_DOWN), LSFT(KC_RGHT), _______, KC_SCLN, KC_QUOT, KC_LGUI, + KC_LSFT, _______, _______, _______, _______, LSFT(LCTL(KC_LEFT)), _______, _______, _______, _______, KC_SLSH, OSM(MOD_LSFT), TO(CL), + _______, TD(CTL_NM), TD(ALT_NM), KC_SPC, LM(CL,MOD_LGUI|MOD_LALT), OSL(ACCENT), _______ + ), + [ACCENT] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, RGB_TOG, RGB_MODE_PLAIN, _______, _______, _______, _______, _______, DE_UE, _______, _______, _______, _______, _______, + _______, DE_AE, UC_Z, DE_SS, _______, _______, _______, _______, _______, _______, DE_OE, _______, _______, + OSL(ACCENT_CAP), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(CL), + _______, _______, _______, _______, _______, _______, _______ + ), + [ACCENT_CAP] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, DE_UE_CAP, _______, _______, _______, _______, _______, + _______, DE_AE_CAP, _______, DE_SS, _______, _______, _______, _______, _______, _______, DE_OE_CAP, _______, TO(CL), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), +}; + diff --git a/keyboards/kbd6x/keymaps/othi/readme.md b/keyboards/kbd6x/keymaps/othi/readme.md new file mode 100644 index 000000000..95be36d05 --- /dev/null +++ b/keyboards/kbd6x/keymaps/othi/readme.md @@ -0,0 +1,56 @@ +## Othi's Universal HHKB keymap + +### Goals +- Colemak layout. If you don't use Colemak then you'll need to also change the arrow key bindigns in other layers + +- Vim-like navigation layer so you can use vim binding arrowkeys in non-vim environment + +- Good modifier support so you don't have to hold 14 modifier keys at the same time + +- RGB indicating layer change(only work with plain colors so far, don't put your rgb to pulsing or any non static animation) + +### Layers +- **CL:** + + The base layer, default is Colemak + +- **NM_MODE:** + + Vim-like arrowkeys in the home row, it's `LHNE` for *JENK Colemak* and `HJKL` for *QWERTY* + + Also `HOME`, `END` and next/prev word (`Ctrl + Left/Right`) in `0, 4, w, b` like in vim + +- **VI_MODE:** + + The same as `NM_MODE` but with `KC_LSFT` held down for mostly highlighting + +- **ACCENT + ACCENT_CAP:** + + Function row and Unicode characters + +### Modifiers and Tap Dance keys +**LHS:** + +- Any Tap Dance key with the format of `TD(XXX_NM)` act as normal XXX modifier upon hold, but will hold **and** put you to `NM_MODE` when double click hold(a tap before the hold)(eg you can produce `Alt + PgUp` by pressing `Alt + Alt + U`) + +- `KC_TAB` acts as both `KC_TAB` on tap and `KC_LGUI` on hold + +- R3 CapsLock acts as both `KC_BSPC` on tap and `KC_LCTL` on hold + +- Holding `KC_Q` also puts you into `NM_MODE` + +- Holding `KC_F` puts you into `VI_MODE` for fast function keys + +**RHS:** + +- 3 keys `KC_SCLN`, `KC_DOT` and `KC_SLSH` in `CL` layer can also be held down for respectively `KC_LCTL`, `KC_LSFT`, `KC_LALT` for easier 2-hand modifier holding + +- Right modifiers hold the selected modifier with `KC_LGUI` at the same time, mainly for i3wm, you can change this to whatever combination you want + +### Misc. functionalities + +**Unicode:** + +- In case the keyboard output the 4-digit codepoint instead of the actual unicode, you need to change the rewrite input mode of the keyboard into the EEPROM(you only have to do this if the EEPROM was cleared or your current machine use another unicode compose method other than IBus/Linux's `Ctrl + Shift + U`). Change the corresponding Input `void eeconfig_init_user(void)`. See [this](https://docs.qmk.fm/#/feature_unicode) for availble input modes. + +- **NOTE:** make sure to keep your qmk env up to date with upstream diff --git a/keyboards/kbd6x/keymaps/othi/rules.mk b/keyboards/kbd6x/keymaps/othi/rules.mk new file mode 100644 index 000000000..9cda4109d --- /dev/null +++ b/keyboards/kbd6x/keymaps/othi/rules.mk @@ -0,0 +1,19 @@ +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = no # 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 +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default +MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) +UNICODE_ENABLE = yes # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = yes +AUDIO_ENABLE = no # Audio output on port C6 +FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches +HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) +TAP_DANCE_ENABLE=yes + -- cgit v1.2.3-24-g4f1b