From bceb96cc8f846a913c5afef7aa4778b0eeb42936 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Mon, 22 May 2023 11:06:40 +0100 Subject: [PATCH 01/10] remove `3x5_3` variant --- .../handwired/dactyl_manuform/3x5_3/3x5_3.c | 66 --- .../handwired/dactyl_manuform/3x5_3/config.h | 30 -- .../handwired/dactyl_manuform/3x5_3/info.json | 77 ---- .../3x5_3/keymaps/default/keymap.c | 26 -- .../3x5_3/keymaps/dlford/config.h | 105 ----- .../3x5_3/keymaps/dlford/features/caps_word.c | 76 ---- .../3x5_3/keymaps/dlford/features/caps_word.h | 36 -- .../3x5_3/keymaps/dlford/keymap.c | 386 ------------------ .../3x5_3/keymaps/dlford/rules.mk | 17 - .../handwired/dactyl_manuform/3x5_3/rules.mk | 18 - 10 files changed, 837 deletions(-) delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/config.h delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/info.json delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/default/keymap.c delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk delete mode 100644 keyboards/handwired/dactyl_manuform/3x5_3/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c b/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c deleted file mode 100644 index 5afb908d0205..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/3x5_3.c +++ /dev/null @@ -1,66 +0,0 @@ -/* -Copyright 2021 @dlford - -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 "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - -// LED Layout -// Columns -// 0 1 2 3 4 5 6 7 8 9 10 11 -// Physical (Center: 133) -// 20 41 61 81 102 122 143 163 183 204 224 244 -// Rows Physical (Center: 54) -// 17 12 11 06 05 23 24 29 30 35 0 21 -// 16 13 10 07 04 22 25 28 31 34 1 43 -// 15 14 09 08 03 21 26 27 32 33 2 64 -// 02 01 00 18 19 20 3 85 - -led_config_t g_led_config = { { - // Key matrix to LED index - // Left 1-18 - {17, 12, 11, 6, 5}, - {16, 13, 10, 7, 4}, - {15, 14, 9, 8, 3}, - {NO_LED, NO_LED, 2, 1, 0}, - // Right 1-18 - {23, 24, 29, 30, 35}, - {22, 25, 28, 31, 34}, - {21, 26, 27, 32, 33}, - {18, 19, 20, NO_LED, NO_LED}, -}, { - // LED index to physical position - // Left 1-18 - {122,85},{102,85},{81,85},{102,64},{102,43},{102,21}, - {81,21},{81,43},{81,64},{61,64},{61,43},{61,21}, - {41,21},{41,43},{41,64},{20,64},{20,43},{20,21}, - // Right 1-18 - {143,85},{163,85},{183,85},{163,64},{163,43},{163,21}, - {183,21},{183,43},{183,64},{204,64},{204,43},{204,21}, - {224,21},{224,43},{224,64},{244,64},{244,43},{244,21} -}, { - // LED index to flag - // Left 1-18 - 4,4,4,4,4,4, - 4,4,4,4,4,4, - 4,4,4,4,4,4, - // Right 1-18 - 4,4,4,4,4,4, - 4,4,4,4,4,4, - 4,4,4,4,4,4 -} }; - -#endif diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/config.h b/keyboards/handwired/dactyl_manuform/3x5_3/config.h deleted file mode 100644 index d84e9b644020..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/config.h +++ /dev/null @@ -1,30 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2021 @dlford -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 . -*/ - -#pragma once - -// WS2812 RGB LED strip input and number of LEDs -#define RGB_MATRIX_LED_COUNT 36 -#define RGB_MATRIX_SPLIT { 18, 18 } -#define RGB_MATRIX_CENTER { 133, 54 } - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#undef LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#undef LOCKING_RESYNC_ENABLE - -/* Enables This makes it easier for fast typists to use dual-function keys */ -#undef PERMISSIVE_HOLD diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/info.json b/keyboards/handwired/dactyl_manuform/3x5_3/info.json deleted file mode 100644 index cfe109fb3729..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/info.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "keyboard_name": "Dactyl Minidox (3x5+3)", - "manufacturer": "DLFord", - "url": "https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/", - "maintainer": "dlford", - "usb": { - "vid": "0x444D", - "pid": "0x3536", - "device_version": "0.0.3" - }, - "ws2812": { - "pin": "D3" - }, - "rgb_matrix": { - "driver": "WS2812" - }, - "matrix_pins": { - "cols": ["C6", "D7", "E6", "B4", "B5"], - "rows": ["B1", "B3", "B2", "B6"] - }, - "diode_direction": "ROW2COL", - "split": { - "soft_serial_pin": "D0" - }, - "processor": "atmega32u4", - "bootloader": "caterina", - "community_layouts": ["split_3x5_3"], - "layouts": { - "LAYOUT_split_3x5_3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [0, 4], "x": 4, "y": 0}, - - {"matrix": [4, 0], "x": 10, "y": 0}, - {"matrix": [4, 1], "x": 11, "y": 0}, - {"matrix": [4, 2], "x": 12, "y": 0}, - {"matrix": [4, 3], "x": 13, "y": 0}, - {"matrix": [4, 4], "x": 14, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - - {"matrix": [5, 0], "x": 10, "y": 1}, - {"matrix": [5, 1], "x": 11, "y": 1}, - {"matrix": [5, 2], "x": 12, "y": 1}, - {"matrix": [5, 3], "x": 13, "y": 1}, - {"matrix": [5, 4], "x": 14, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - - {"matrix": [6, 0], "x": 10, "y": 2}, - {"matrix": [6, 1], "x": 11, "y": 2}, - {"matrix": [6, 2], "x": 12, "y": 2}, - {"matrix": [6, 3], "x": 13, "y": 2}, - {"matrix": [6, 4], "x": 14, "y": 2}, - - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - - {"matrix": [7, 0], "x": 10, "y": 3}, - {"matrix": [7, 1], "x": 11, "y": 3}, - {"matrix": [7, 2], "x": 12, "y": 3} - ] - } - } -} diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/default/keymap.c deleted file mode 100644 index abd64335581c..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/default/keymap.c +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2022 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┐ ┌───┐ - * │GUI├───┐ ┌───┤Alt│ - * └───┤Bsp├───┐ ┌───┤Ent├───┘ - * └───┤ │ │ ├───┘ - * └───┘ └───┘ - */ - [0] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - KC_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT - ) -}; diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h deleted file mode 100644 index 783a2c46b141..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h +++ /dev/null @@ -1,105 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2021 @dlford -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 . -*/ - -#pragma once - -//#define USE_MATRIX_I2C - -/* Select hand configuration */ - -// #define MASTER_LEFT -// #define MASTER_RIGHT -#define EE_HANDS // ./util/docker_build.sh crkbd:dlford:dfu-split-[left|right] (or avrdude-split[left|right]) - -#define TAPPING_TOGGLE 2 // number of taps to toggle TT -#define TAPPING_TERM_PER_KEY // milliseconds from tap to hold for mod tap per key -#define PERMISSIVE_HOLD_PER_KEY // activate mod top hold earlier if another key is pressed AND released per key -#define QUICK_TAP_TERM_PER_KEY // disable double tap hold key repeat per key -#undef MOUSEKEY_INTERVAL -#undef MOUSEKEY_DELAY -#undef MOUSEKEY_TIME_TO_MAX -#undef MOUSEKEY_MAX_SPEED -#undef MOUSEKEY_WHEEL_DELAY -#define MK_KINETIC_SPEED -#define MOUSEKEY_DELAY 100 -#define MOUSEKEY_INTERVAL 35 -#define MOUSEKEY_MOVE_DELTA 5 -#define MOUSEKEY_INITIAL_SPEED 1 -#define MOUSEKEY_DECELERATED_SPEED 10 -#define MOUSEKEY_BASE_SPEED 1200 -#define MOUSEKEY_ACCELERATED_SPEED 4800 - -#ifdef RGB_MATRIX_ENABLE -// # define RGB_MATRIX_TIMEOUT 300000 // number of milliseconds to wait until disabling effects -// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - -// Enable animations -// # define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue speed is hue for secondary hue -// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom speed controls how much gradient changes -// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right speed controls how much gradient changes -// # define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation -// # define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right -// # define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right -// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation -// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness -// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation -// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness -// # define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient -// # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right -// # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom -// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in -// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in -// # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right -// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard -# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard -// # define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard -// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard -// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard -// # define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue -// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation -// # define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time then shifts back -// # define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right then back to the left -# define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right -// # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Required for the following two effects -// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! -// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation -// # define RGB_MATRIX_KEYPRESSES // reacts to keypresses, required for the remaining effects -// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out -// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue pulses keys hit to shifted hue then fades to current hue -// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out -// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out -// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out -// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out -// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out -// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out -// # define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out -// # define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out -// # define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out -// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out -#endif - -// Features I don't want, remove to save space -// #define NO_ACTION_ONESHOT // Used by caps word -#define NO_ACTION_FUNCTION -#define NO_ACTION_MACRO -#define NO_USB_STARTUP_CHECK diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c deleted file mode 100644 index ee295c730508..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.c +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// For full documentation, see -// https://getreuer.info/posts/keyboards/caps-word - -#include "caps_word.h" -bool caps_word_enabled = false; - -bool process_caps_word(uint16_t keycode, keyrecord_t* record) { - static bool shifted = false; - - if (!caps_word_enabled) { - // Pressing both shift keys at the same time enables caps word. - if (((get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) - == MOD_MASK_SHIFT) { - clear_mods(); - clear_oneshot_mods(); - shifted = false; - caps_word_enabled = true; - return false; - } - return true; - } - - if (!record->event.pressed) { return true; } - - if (!((get_mods() | get_oneshot_mods()) & ~MOD_MASK_SHIFT)) { - switch (keycode) { - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - // Earlier return if this has not been considered tapped yet. - if (record->tap.count == 0) { return true; } - // Get the base tapping keycode of a mod- or layer-tap key. - keycode &= 0xff; - } - - switch (keycode) { - // Letter keys should be shifted. - case KC_A ... KC_Z: - if (!shifted) { register_code(KC_LSFT); } - shifted = true; - return true; - - // Keycodes that continue caps word but shouldn't get shifted. - case KC_1 ... KC_0: - case KC_BSPC: - case KC_MINS: - case KC_UNDS: - if (shifted) { unregister_code(KC_LSFT); } - shifted = false; - return true; - - // Any other keycode disables caps word. - } - } - - // Disable caps word. - caps_word_enabled = false; - if (shifted) { unregister_code(KC_LSFT); } - shifted = false; - return true; -} - diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h deleted file mode 100644 index a609a325443b..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/features/caps_word.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// Caps Word, activated by pressing both shift keys at the same time. -// -// This library implements "Caps Word", which is like conventional Caps Lock, -// but automatically disables itself at the end of the word. This is useful for -// typing all-caps identifiers like `MOD_MASK_ALT`. -// -// Caps Word is activated by pressing the left and right shift keys at the same -// time. This way you don't need a dedicated key for using Caps Word. I've -// tested that this works as expected with one-shot mods and Space Cadet Shift. -// If your shift keys are mod-taps, activate Caps Word by holding both shift -// mod-tap keys until the tapping term, release them, then begin typing. -// -// For full documentation, see -// https://getreuer.info/posts/keyboards/caps-word - -#pragma once - -#include QMK_KEYBOARD_H - -bool process_caps_word(uint16_t keycode, keyrecord_t* record); -extern bool caps_word_enabled; diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c deleted file mode 100644 index bdacde1a8542..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c +++ /dev/null @@ -1,386 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> -Copyright 2021 @dlford - -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 -#include "features/caps_word.h" - -// Layers -enum layers { - _QWERTY = 0, - _COLEMAK, - _NAVIGATION, - _SPECIAL, - _MOUSE, -}; - -static uint16_t default_animation = RGB_MATRIX_CYCLE_SPIRAL; -static int default_speed = 50; -static uint16_t secondary_animation = RGB_MATRIX_HUE_WAVE; -static int secondary_speed = 150; -static bool is_macro_recording = false; - -// Init -void keyboard_post_init_user(void) { - rgb_matrix_sethsv_noeeprom(HSV_PURPLE); - rgb_matrix_mode_noeeprom(default_animation); - rgb_matrix_set_speed_noeeprom(default_speed); -} - -// Permissive hold per key -bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LT(3, KC_SPC): - return true; // Enable permissive hold - case LT(2, KC_TAB): - return true; - default: - return false; // Disable permissive hold - } -} - -// Tapping force hold per key -uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LT(3, KC_SPC): - return 0; // Enable force hold - case LT(2, KC_TAB): - return 0; - default: - return QUICK_TAP_TERM; // Disable force hold - } -} - -// Tapping term per key -uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case C_S_T(KC_E): - case C_S_T(KC_I): - return 215; - default: - return 190; - } -} - -// RGB timeout -#define RGB_CUSTOM_TIMEOUT 5 // in minutes -static uint16_t idle_timer = 0; -static uint8_t halfmin_counter = 0; -static bool led_on = true; -void matrix_scan_user(void) { - if (is_keyboard_master()) { - // idle_timer needs to be set one time - if (idle_timer == 0) idle_timer = timer_read(); - - if (led_on && timer_elapsed(idle_timer) > 30000) { - halfmin_counter++; - idle_timer = timer_read(); - } - - if (led_on && halfmin_counter >= RGB_CUSTOM_TIMEOUT * 2) { - rgb_matrix_disable_noeeprom(); - led_on = false; - halfmin_counter = 0; - } - } -} - -// Macros -enum macro_events { - M_KEYMAP = SAFE_RANGE, - M_COMM, - M_DOT, -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // RGB resume - if (is_keyboard_master()) { - if (record->event.pressed) { - if (led_on == false) { - rgb_matrix_enable_noeeprom(); - led_on = true; - } - idle_timer = timer_read(); - halfmin_counter = 0; - } - } - - // Caps word - if (!process_caps_word(keycode, record)) { return false; } - - // Macros - const uint8_t mods = get_mods(); - static uint8_t backstepCounter = 0; - static bool keyDown = false; - switch (keycode) { - case M_KEYMAP: - if (record->event.pressed) { - SEND_STRING("https://raw.githubusercontent.com/dlford/qmk_firmware/master/keyboards/crkbd/keymaps/dlford/legends.svg"); - } - return false; - case M_COMM: - if (record->event.pressed) { - if ((mods & MOD_BIT(KC_LCTL)) && (mods & MOD_BIT(KC_LSFT) && (mods & MOD_BIT(KC_LALT)))) { - backstepCounter = 1; - clear_mods(); - SEND_STRING("<>"); - } else if ((mods & MOD_BIT(KC_LCTL)) && (mods & MOD_BIT(KC_LALT))) { - backstepCounter = 1; - clear_mods(); - SEND_STRING("()"); - } else if ((mods & MOD_BIT(KC_LCTL)) && (mods & MOD_BIT(KC_LSFT))) { - backstepCounter = 2; - clear_mods(); - SEND_STRING("{};"); - } else if (mods & MOD_BIT(KC_LCTL)) { - backstepCounter = 1; - clear_mods(); - SEND_STRING("{}"); - } else if ((mods & MOD_BIT(KC_LALT)) && (mods & MOD_BIT(KC_LSFT))) { - backstepCounter = 2; - clear_mods(); - SEND_STRING("[];"); - } else if (mods & MOD_BIT(KC_LALT)) { - backstepCounter = 1; - clear_mods(); - SEND_STRING("[]"); - } else { - keyDown = true; - register_code(KC_COMM); - return true; - } - if (backstepCounter) { - while (backstepCounter > 0) { - tap_code(KC_LEFT); - backstepCounter--; - } - set_mods(mods); - } - } else { - if (keyDown) { - unregister_code(KC_COMM); - keyDown = false; - return true; - } - } - return false; - case M_DOT: - if (record->event.pressed) { - if (mods & MOD_BIT(KC_LCTL)) { - clear_mods(); - SEND_STRING("=>"); - } else if (mods & MOD_BIT(KC_LALT)) { - clear_mods(); - SEND_STRING("->"); - } else { - keyDown = true; - register_code(KC_DOT); - return true; - } - } else { - if (keyDown) { - unregister_code(KC_DOT); - keyDown = false; - return true; - } - } - set_mods(mods); - return false; - } - - return true; -} - -// RGB Layers (Enable animations in config.h) -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case _SPECIAL: - rgb_matrix_sethsv_noeeprom(HSV_ORANGE); - rgb_matrix_set_speed_noeeprom(secondary_speed); - rgb_matrix_mode_noeeprom(secondary_animation); - break; - case _NAVIGATION: - rgb_matrix_sethsv_noeeprom(HSV_BLUE); - rgb_matrix_set_speed_noeeprom(secondary_speed); - rgb_matrix_mode_noeeprom(secondary_animation); - break; - case _MOUSE: - rgb_matrix_sethsv_noeeprom(HSV_GREEN); - rgb_matrix_set_speed_noeeprom(secondary_speed); - rgb_matrix_mode_noeeprom(secondary_animation); - break; - default: - rgb_matrix_sethsv_noeeprom(HSV_PURPLE); - rgb_matrix_set_speed_noeeprom(default_speed); - rgb_matrix_mode_noeeprom(default_animation); - break; - } - return state; -} - -// Dynamic Macro Recording Backlight -void dynamic_macro_record_start_user(int8_t direction) { - is_macro_recording = true; -} - -void dynamic_macro_record_end_user(int8_t direction) { - is_macro_recording = false; -} - -// Indicators -bool rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock || caps_word_enabled) { - // Left master - rgb_matrix_set_color(3, RGB_RED); - // Right master - rgb_matrix_set_color(21, RGB_RED); - } - if (is_macro_recording) { - // Left master - rgb_matrix_set_color(4, RGB_ORANGE); - // Right master - rgb_matrix_set_color(22, RGB_ORANGE); - } - if (default_layer_state - 1 == _COLEMAK) { - // Left master - rgb_matrix_set_color(5, RGB_GREEN); - // Right master - rgb_matrix_set_color(23, RGB_GREEN); - } - return false; -} - -// Quantum keys / Abbreviations -enum custom_keycodes { - VVV = KC_TRNS, - XXX = KC_NO, - CSA_Q = MEH_T(KC_Q), - CSA_F1 = MEH_T(KC_F1), - CSA_1 = MEH_T(KC_1), - CA_W = LCA_T(KC_W), - CA_F2 = LCA_T(KC_F2), - CA_2 = LCA_T(KC_2), - CS_E = C_S_T(KC_E), - CS_F = C_S_T(KC_F), - CS_I = C_S_T(KC_I), - CS_U = C_S_T(KC_U), - CS_F3 = C_S_T(KC_F3), - CS_3 = C_S_T(KC_3), - CS_F8 = C_S_T(KC_F8), - CS_8 = C_S_T(KC_8), - CA_O = LCA_T(KC_O), - CA_Y = LCA_T(KC_Y), - CA_F9 = LCA_T(KC_F9), - CA_9 = LCA_T(KC_9), - CSA_P = MEH_T(KC_P), - CSA_SCLN = MEH_T(KC_SCLN), - CSA_F10 = MEH_T(KC_F10), - CSA_0 = MEH_T(KC_0), - LGUI_A = LGUI_T(KC_A), - LGUI_FIND = LGUI_T(KC_FIND), - LGUI_GRV = LGUI_T(KC_GRV), - LALT_S = LALT_T(KC_S), - LALT_R = LALT_T(KC_R), - LALT_HOME = LALT_T(KC_HOME), - LCTL_D = LCTL_T(KC_D), - LCTL_S = LCTL_T(KC_S), - LCTL_PGUP = LCTL_T(KC_PGUP), - LCTL_LBRC = LCTL_T(KC_LBRC), - LSFT_F = LSFT_T(KC_F), - _LSFT_T = LSFT_T(KC_T), - LSFT_PGDN = LSFT_T(KC_PGDN), - LSFT_RBRC = LSFT_T(KC_RBRC), - RSFT_J = RSFT_T(KC_J), - RSFT_N = RSFT_T(KC_N), - RSFT_DOWN = RSFT_T(KC_DOWN), - RSFT_MINS = RSFT_T(KC_MINS), - RCTL_K = RCTL_T(KC_K), - RCTL_E = RCTL_T(KC_E), - RCTL_UP = RCTL_T(KC_UP), - RCTL_EQL = RCTL_T(KC_EQL), - RALT_L = RALT_T(KC_L), - RALT_I = RALT_T(KC_I), - RALT_RGHT = RALT_T(KC_RGHT), - RALT_BSLS = RALT_T(KC_BSLS), - RGUI_SCLN = RGUI_T(KC_SCLN), - RGUI_O = RGUI_T(KC_O), - RGUI_F11 = RGUI_T(KC_F11), - RGUI_QUOT = RGUI_T(KC_QUOT), - LT3_SPC = LT(3,KC_SPC), - LT2_TAB = LT(2,KC_TAB), - DF_QWERTY = DF(0), - DF_COLEMAK = DF(1), -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x5_3( - //|--------------------------------------------| |--------------------------------------------| - CSA_Q, CA_W, CS_E, KC_R, KC_T, KC_Y, KC_U, CS_I, CA_O, CSA_P, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - LGUI_A, LALT_S, LCTL_D, LSFT_F, KC_G, KC_H, RSFT_J, RCTL_K, RALT_L, RGUI_SCLN, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, M_COMM, M_DOT, KC_SLSH, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, LT3_SPC, KC_BSPC, KC_DEL, LT2_TAB, KC_ENT - // |--------+--------+--------| |--------+--------+--------| - ), - [_COLEMAK] = LAYOUT_split_3x5_3( - //|--------------------------------------------| |--------------------------------------------| - CSA_Q, CA_W, CS_F, KC_P, KC_G, KC_J, KC_L, CS_U, CA_Y, CSA_SCLN, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - LGUI_A, LALT_R, LCTL_S, _LSFT_T, KC_D, KC_H, RSFT_N, RCTL_E, RALT_I, RGUI_O, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, M_COMM, M_DOT, KC_SLSH, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, LT3_SPC, KC_BSPC, KC_DEL, LT2_TAB, KC_ENT - // |--------+--------+--------| |--------+--------+--------| - ), - [_NAVIGATION] = LAYOUT_split_3x5_3( - //|--------------------------------------------| |--------------------------------------------| - CSA_F1, CA_F2, CS_F3, KC_F4, KC_F5, KC_F6, KC_F7, CS_F8, CA_F9, CSA_F10, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - LGUI_FIND,LALT_HOME,LCTL_PGUP,LSFT_PGDN,KC_END, KC_LEFT,RSFT_DOWN,RCTL_UP,RALT_RGHT,RGUI_F11, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - DF_QWERTY,DF_COLEMAK,KC_VOLD, KC_VOLU, QK_BOOT, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, KC_F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - VVV, TG(4), VVV, VVV, VVV, VVV - // |--------+--------+--------| |--------+--------+--------| - ), - [_SPECIAL] = LAYOUT_split_3x5_3( - //|--------------------------------------------| |--------------------------------------------| - CSA_1, CA_2, CS_3, KC_4, KC_5, KC_6, KC_7, CS_8, CA_9, CSA_0, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - LGUI_GRV,KC_LALT,LCTL_LBRC,LSFT_RBRC,KC_LPRN, KC_RPRN,RSFT_MINS,RCTL_EQL,RALT_BSLS,RGUI_QUOT, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - KC_TILD, KC_CAPS, KC_LCBR, KC_RCBR,TG(_MOUSE), EE_CLR, KC_UNDS, KC_PLUS, KC_PIPE, KC_DQUO, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - VVV, VVV, VVV, VVV, TG(4), VVV - // |--------+--------+--------| |--------+--------+--------| - ), - [_MOUSE] = LAYOUT_split_3x5_3( - //|--------------------------------------------| |--------------------------------------------| - KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, DM_REC1, KC_WSTP, KC_ACL2, KC_ACL1, KC_ACL0, KC_WFWD, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, DM_PLY1, KC_WREF, KC_BTN1, KC_BTN2, KC_BTN3, KC_WBAK, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - M_KEYMAP,KC_BTN3, KC_BTN2, KC_BTN1, XXX, XXX, XXX, XXX, XXX, XXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - VVV, TG(4), VVV, VVV, TG(4), VVV - // |--------+--------+--------| |--------+--------+--------| - ), -}; diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk deleted file mode 100644 index f40ace960604..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Includes -SRC += features/caps_word.c - -# Build Options -# change yes to no to disable -# -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -DYNAMIC_MACRO_ENABLE = yes # Create macros on the fly -RGB_MATRIX_DRIVER = WS2812 -INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc. -# TAP_DANCE_ENABLE = yes # Send different keycodes if tapped multiple times -# KEY_OVERRIDE_ENABLE = yes # Override key combos -# COMBO_ENABLE = yes # Custom key combos - -LTO_ENABLE = yes -RGBLIGHT_SUPPORTED = yes -RGB_MATRIX_SUPPORTED = yes diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk b/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk deleted file mode 100644 index 38ee6f425280..000000000000 --- a/keyboards/handwired/dactyl_manuform/3x5_3/rules.mk +++ /dev/null @@ -1,18 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -# AUDIO_ENABLE = yes # Audio output - -RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB matrix -SPLIT_KEYBOARD = yes - -RGBLIGHT_SUPPORTED = yes -RGB_MATRIX_SUPPORTED = yes From 20c6e5737147e212705a536a02713a79b314a254 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Mon, 22 May 2023 11:43:44 +0100 Subject: [PATCH 02/10] renamed to dactyl_minidox --- keyboards/handwired/dactyl_minidox/3x5_3.c | 66 +++ keyboards/handwired/dactyl_minidox/config.h | 30 ++ keyboards/handwired/dactyl_minidox/info.json | 77 ++++ .../dactyl_minidox/keymaps/default/keymap.c | 26 ++ .../dactyl_minidox/keymaps/dlford/config.h | 105 +++++ .../keymaps/dlford/features/caps_word.c | 76 ++++ .../keymaps/dlford/features/caps_word.h | 36 ++ .../dactyl_minidox/keymaps/dlford/keymap.c | 386 ++++++++++++++++++ .../dactyl_minidox/keymaps/dlford/rules.mk | 17 + keyboards/handwired/dactyl_minidox/rules.mk | 17 + 10 files changed, 836 insertions(+) create mode 100644 keyboards/handwired/dactyl_minidox/3x5_3.c create mode 100644 keyboards/handwired/dactyl_minidox/config.h create mode 100644 keyboards/handwired/dactyl_minidox/info.json create mode 100644 keyboards/handwired/dactyl_minidox/keymaps/default/keymap.c create mode 100644 keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h create mode 100644 keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.c create mode 100644 keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.h create mode 100644 keyboards/handwired/dactyl_minidox/keymaps/dlford/keymap.c create mode 100644 keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk create mode 100644 keyboards/handwired/dactyl_minidox/rules.mk diff --git a/keyboards/handwired/dactyl_minidox/3x5_3.c b/keyboards/handwired/dactyl_minidox/3x5_3.c new file mode 100644 index 000000000000..5afb908d0205 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/3x5_3.c @@ -0,0 +1,66 @@ +/* +Copyright 2021 @dlford + +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 "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + +// LED Layout +// Columns +// 0 1 2 3 4 5 6 7 8 9 10 11 +// Physical (Center: 133) +// 20 41 61 81 102 122 143 163 183 204 224 244 +// Rows Physical (Center: 54) +// 17 12 11 06 05 23 24 29 30 35 0 21 +// 16 13 10 07 04 22 25 28 31 34 1 43 +// 15 14 09 08 03 21 26 27 32 33 2 64 +// 02 01 00 18 19 20 3 85 + +led_config_t g_led_config = { { + // Key matrix to LED index + // Left 1-18 + {17, 12, 11, 6, 5}, + {16, 13, 10, 7, 4}, + {15, 14, 9, 8, 3}, + {NO_LED, NO_LED, 2, 1, 0}, + // Right 1-18 + {23, 24, 29, 30, 35}, + {22, 25, 28, 31, 34}, + {21, 26, 27, 32, 33}, + {18, 19, 20, NO_LED, NO_LED}, +}, { + // LED index to physical position + // Left 1-18 + {122,85},{102,85},{81,85},{102,64},{102,43},{102,21}, + {81,21},{81,43},{81,64},{61,64},{61,43},{61,21}, + {41,21},{41,43},{41,64},{20,64},{20,43},{20,21}, + // Right 1-18 + {143,85},{163,85},{183,85},{163,64},{163,43},{163,21}, + {183,21},{183,43},{183,64},{204,64},{204,43},{204,21}, + {224,21},{224,43},{224,64},{244,64},{244,43},{244,21} +}, { + // LED index to flag + // Left 1-18 + 4,4,4,4,4,4, + 4,4,4,4,4,4, + 4,4,4,4,4,4, + // Right 1-18 + 4,4,4,4,4,4, + 4,4,4,4,4,4, + 4,4,4,4,4,4 +} }; + +#endif diff --git a/keyboards/handwired/dactyl_minidox/config.h b/keyboards/handwired/dactyl_minidox/config.h new file mode 100644 index 000000000000..d84e9b644020 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/config.h @@ -0,0 +1,30 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2021 @dlford +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 . +*/ + +#pragma once + +// WS2812 RGB LED strip input and number of LEDs +#define RGB_MATRIX_LED_COUNT 36 +#define RGB_MATRIX_SPLIT { 18, 18 } +#define RGB_MATRIX_CENTER { 133, 54 } + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#undef LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#undef LOCKING_RESYNC_ENABLE + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#undef PERMISSIVE_HOLD diff --git a/keyboards/handwired/dactyl_minidox/info.json b/keyboards/handwired/dactyl_minidox/info.json new file mode 100644 index 000000000000..d1bd6575bfa7 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "Dactyl Minidox (3x5+3)", + "manufacturer": "DLFord", + "url": "https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/", + "maintainer": "dlford", + "usb": { + "vid": "0x444D", + "pid": "0x3536", + "device_version": "0.0.3" + }, + "ws2812": { + "pin": "D3" + }, + "rgb_matrix": { + "driver": "WS2812" + }, + "matrix_pins": { + "cols": ["C6", "D7", "E6", "B4", "B5"], + "rows": ["B1", "B3", "B2", "B6"] + }, + "diode_direction": "ROW2COL", + "split": { + "enabled": true, + "soft_serial_pin": "D0" + }, + "development_board": "pro_micro", + "community_layouts": ["split_3x5_3"], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + + {"matrix": [4, 0], "x": 10, "y": 0}, + {"matrix": [4, 1], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0}, + {"matrix": [4, 3], "x": 13, "y": 0}, + {"matrix": [4, 4], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + + {"matrix": [5, 0], "x": 10, "y": 1}, + {"matrix": [5, 1], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1}, + {"matrix": [5, 3], "x": 13, "y": 1}, + {"matrix": [5, 4], "x": 14, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + + {"matrix": [6, 0], "x": 10, "y": 2}, + {"matrix": [6, 1], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2}, + {"matrix": [6, 3], "x": 13, "y": 2}, + {"matrix": [6, 4], "x": 14, "y": 2}, + + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + + {"matrix": [7, 0], "x": 10, "y": 3}, + {"matrix": [7, 1], "x": 11, "y": 3}, + {"matrix": [7, 2], "x": 12, "y": 3} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_minidox/keymaps/default/keymap.c b/keyboards/handwired/dactyl_minidox/keymaps/default/keymap.c new file mode 100644 index 000000000000..abd64335581c --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ + * │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ + * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ + * │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ + * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ + * │ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │ + * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ + * ┌───┐ ┌───┐ + * │GUI├───┐ ┌───┤Alt│ + * └───┤Bsp├───┐ ┌───┤Ent├───┘ + * └───┤ │ │ ├───┘ + * └───┘ └───┘ + */ + [0] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT + ) +}; diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h b/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h new file mode 100644 index 000000000000..783a2c46b141 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h @@ -0,0 +1,105 @@ +/* +Copyright 2012 Jun Wako +Copyright 2021 @dlford +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 . +*/ + +#pragma once + +//#define USE_MATRIX_I2C + +/* Select hand configuration */ + +// #define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS // ./util/docker_build.sh crkbd:dlford:dfu-split-[left|right] (or avrdude-split[left|right]) + +#define TAPPING_TOGGLE 2 // number of taps to toggle TT +#define TAPPING_TERM_PER_KEY // milliseconds from tap to hold for mod tap per key +#define PERMISSIVE_HOLD_PER_KEY // activate mod top hold earlier if another key is pressed AND released per key +#define QUICK_TAP_TERM_PER_KEY // disable double tap hold key repeat per key +#undef MOUSEKEY_INTERVAL +#undef MOUSEKEY_DELAY +#undef MOUSEKEY_TIME_TO_MAX +#undef MOUSEKEY_MAX_SPEED +#undef MOUSEKEY_WHEEL_DELAY +#define MK_KINETIC_SPEED +#define MOUSEKEY_DELAY 100 +#define MOUSEKEY_INTERVAL 35 +#define MOUSEKEY_MOVE_DELTA 5 +#define MOUSEKEY_INITIAL_SPEED 1 +#define MOUSEKEY_DECELERATED_SPEED 10 +#define MOUSEKEY_BASE_SPEED 1200 +#define MOUSEKEY_ACCELERATED_SPEED 4800 + +#ifdef RGB_MATRIX_ENABLE +// # define RGB_MATRIX_TIMEOUT 300000 // number of milliseconds to wait until disabling effects +// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) +# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. +# define RGB_MATRIX_HUE_STEP 8 +# define RGB_MATRIX_SAT_STEP 8 +# define RGB_MATRIX_VAL_STEP 8 +# define RGB_MATRIX_SPD_STEP 10 + +// Enable animations +// # define ENABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue speed is hue for secondary hue +// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom speed controls how much gradient changes +// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient left to right speed controls how much gradient changes +// # define ENABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation +// # define ENABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right +// # define ENABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right +// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation +// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness +// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation +// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +// # define ENABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient +// # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right +// # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom +// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in +// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in +// # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right +// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard +# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard +// # define ENABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard +// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard +// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard +// # define ENABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue +// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation +// # define ENABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time then shifts back +// # define ENABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right then back to the left +# define ENABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right +// # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Required for the following two effects +// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! +// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation +// # define RGB_MATRIX_KEYPRESSES // reacts to keypresses, required for the remaining effects +// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue pulses keys hit to shifted hue then fades to current hue +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out +// # define ENABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out +// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out +#endif + +// Features I don't want, remove to save space +// #define NO_ACTION_ONESHOT // Used by caps word +#define NO_ACTION_FUNCTION +#define NO_ACTION_MACRO +#define NO_USB_STARTUP_CHECK diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.c b/keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.c new file mode 100644 index 000000000000..ee295c730508 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.c @@ -0,0 +1,76 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// For full documentation, see +// https://getreuer.info/posts/keyboards/caps-word + +#include "caps_word.h" +bool caps_word_enabled = false; + +bool process_caps_word(uint16_t keycode, keyrecord_t* record) { + static bool shifted = false; + + if (!caps_word_enabled) { + // Pressing both shift keys at the same time enables caps word. + if (((get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) + == MOD_MASK_SHIFT) { + clear_mods(); + clear_oneshot_mods(); + shifted = false; + caps_word_enabled = true; + return false; + } + return true; + } + + if (!record->event.pressed) { return true; } + + if (!((get_mods() | get_oneshot_mods()) & ~MOD_MASK_SHIFT)) { + switch (keycode) { + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + // Earlier return if this has not been considered tapped yet. + if (record->tap.count == 0) { return true; } + // Get the base tapping keycode of a mod- or layer-tap key. + keycode &= 0xff; + } + + switch (keycode) { + // Letter keys should be shifted. + case KC_A ... KC_Z: + if (!shifted) { register_code(KC_LSFT); } + shifted = true; + return true; + + // Keycodes that continue caps word but shouldn't get shifted. + case KC_1 ... KC_0: + case KC_BSPC: + case KC_MINS: + case KC_UNDS: + if (shifted) { unregister_code(KC_LSFT); } + shifted = false; + return true; + + // Any other keycode disables caps word. + } + } + + // Disable caps word. + caps_word_enabled = false; + if (shifted) { unregister_code(KC_LSFT); } + shifted = false; + return true; +} + diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.h b/keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.h new file mode 100644 index 000000000000..a609a325443b --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/features/caps_word.h @@ -0,0 +1,36 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// Caps Word, activated by pressing both shift keys at the same time. +// +// This library implements "Caps Word", which is like conventional Caps Lock, +// but automatically disables itself at the end of the word. This is useful for +// typing all-caps identifiers like `MOD_MASK_ALT`. +// +// Caps Word is activated by pressing the left and right shift keys at the same +// time. This way you don't need a dedicated key for using Caps Word. I've +// tested that this works as expected with one-shot mods and Space Cadet Shift. +// If your shift keys are mod-taps, activate Caps Word by holding both shift +// mod-tap keys until the tapping term, release them, then begin typing. +// +// For full documentation, see +// https://getreuer.info/posts/keyboards/caps-word + +#pragma once + +#include QMK_KEYBOARD_H + +bool process_caps_word(uint16_t keycode, keyrecord_t* record); +extern bool caps_word_enabled; diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/keymap.c b/keyboards/handwired/dactyl_minidox/keymaps/dlford/keymap.c new file mode 100644 index 000000000000..bdacde1a8542 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/keymap.c @@ -0,0 +1,386 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2021 @dlford + +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 +#include "features/caps_word.h" + +// Layers +enum layers { + _QWERTY = 0, + _COLEMAK, + _NAVIGATION, + _SPECIAL, + _MOUSE, +}; + +static uint16_t default_animation = RGB_MATRIX_CYCLE_SPIRAL; +static int default_speed = 50; +static uint16_t secondary_animation = RGB_MATRIX_HUE_WAVE; +static int secondary_speed = 150; +static bool is_macro_recording = false; + +// Init +void keyboard_post_init_user(void) { + rgb_matrix_sethsv_noeeprom(HSV_PURPLE); + rgb_matrix_mode_noeeprom(default_animation); + rgb_matrix_set_speed_noeeprom(default_speed); +} + +// Permissive hold per key +bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LT(3, KC_SPC): + return true; // Enable permissive hold + case LT(2, KC_TAB): + return true; + default: + return false; // Disable permissive hold + } +} + +// Tapping force hold per key +uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LT(3, KC_SPC): + return 0; // Enable force hold + case LT(2, KC_TAB): + return 0; + default: + return QUICK_TAP_TERM; // Disable force hold + } +} + +// Tapping term per key +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case C_S_T(KC_E): + case C_S_T(KC_I): + return 215; + default: + return 190; + } +} + +// RGB timeout +#define RGB_CUSTOM_TIMEOUT 5 // in minutes +static uint16_t idle_timer = 0; +static uint8_t halfmin_counter = 0; +static bool led_on = true; +void matrix_scan_user(void) { + if (is_keyboard_master()) { + // idle_timer needs to be set one time + if (idle_timer == 0) idle_timer = timer_read(); + + if (led_on && timer_elapsed(idle_timer) > 30000) { + halfmin_counter++; + idle_timer = timer_read(); + } + + if (led_on && halfmin_counter >= RGB_CUSTOM_TIMEOUT * 2) { + rgb_matrix_disable_noeeprom(); + led_on = false; + halfmin_counter = 0; + } + } +} + +// Macros +enum macro_events { + M_KEYMAP = SAFE_RANGE, + M_COMM, + M_DOT, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // RGB resume + if (is_keyboard_master()) { + if (record->event.pressed) { + if (led_on == false) { + rgb_matrix_enable_noeeprom(); + led_on = true; + } + idle_timer = timer_read(); + halfmin_counter = 0; + } + } + + // Caps word + if (!process_caps_word(keycode, record)) { return false; } + + // Macros + const uint8_t mods = get_mods(); + static uint8_t backstepCounter = 0; + static bool keyDown = false; + switch (keycode) { + case M_KEYMAP: + if (record->event.pressed) { + SEND_STRING("https://raw.githubusercontent.com/dlford/qmk_firmware/master/keyboards/crkbd/keymaps/dlford/legends.svg"); + } + return false; + case M_COMM: + if (record->event.pressed) { + if ((mods & MOD_BIT(KC_LCTL)) && (mods & MOD_BIT(KC_LSFT) && (mods & MOD_BIT(KC_LALT)))) { + backstepCounter = 1; + clear_mods(); + SEND_STRING("<>"); + } else if ((mods & MOD_BIT(KC_LCTL)) && (mods & MOD_BIT(KC_LALT))) { + backstepCounter = 1; + clear_mods(); + SEND_STRING("()"); + } else if ((mods & MOD_BIT(KC_LCTL)) && (mods & MOD_BIT(KC_LSFT))) { + backstepCounter = 2; + clear_mods(); + SEND_STRING("{};"); + } else if (mods & MOD_BIT(KC_LCTL)) { + backstepCounter = 1; + clear_mods(); + SEND_STRING("{}"); + } else if ((mods & MOD_BIT(KC_LALT)) && (mods & MOD_BIT(KC_LSFT))) { + backstepCounter = 2; + clear_mods(); + SEND_STRING("[];"); + } else if (mods & MOD_BIT(KC_LALT)) { + backstepCounter = 1; + clear_mods(); + SEND_STRING("[]"); + } else { + keyDown = true; + register_code(KC_COMM); + return true; + } + if (backstepCounter) { + while (backstepCounter > 0) { + tap_code(KC_LEFT); + backstepCounter--; + } + set_mods(mods); + } + } else { + if (keyDown) { + unregister_code(KC_COMM); + keyDown = false; + return true; + } + } + return false; + case M_DOT: + if (record->event.pressed) { + if (mods & MOD_BIT(KC_LCTL)) { + clear_mods(); + SEND_STRING("=>"); + } else if (mods & MOD_BIT(KC_LALT)) { + clear_mods(); + SEND_STRING("->"); + } else { + keyDown = true; + register_code(KC_DOT); + return true; + } + } else { + if (keyDown) { + unregister_code(KC_DOT); + keyDown = false; + return true; + } + } + set_mods(mods); + return false; + } + + return true; +} + +// RGB Layers (Enable animations in config.h) +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case _SPECIAL: + rgb_matrix_sethsv_noeeprom(HSV_ORANGE); + rgb_matrix_set_speed_noeeprom(secondary_speed); + rgb_matrix_mode_noeeprom(secondary_animation); + break; + case _NAVIGATION: + rgb_matrix_sethsv_noeeprom(HSV_BLUE); + rgb_matrix_set_speed_noeeprom(secondary_speed); + rgb_matrix_mode_noeeprom(secondary_animation); + break; + case _MOUSE: + rgb_matrix_sethsv_noeeprom(HSV_GREEN); + rgb_matrix_set_speed_noeeprom(secondary_speed); + rgb_matrix_mode_noeeprom(secondary_animation); + break; + default: + rgb_matrix_sethsv_noeeprom(HSV_PURPLE); + rgb_matrix_set_speed_noeeprom(default_speed); + rgb_matrix_mode_noeeprom(default_animation); + break; + } + return state; +} + +// Dynamic Macro Recording Backlight +void dynamic_macro_record_start_user(int8_t direction) { + is_macro_recording = true; +} + +void dynamic_macro_record_end_user(int8_t direction) { + is_macro_recording = false; +} + +// Indicators +bool rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock || caps_word_enabled) { + // Left master + rgb_matrix_set_color(3, RGB_RED); + // Right master + rgb_matrix_set_color(21, RGB_RED); + } + if (is_macro_recording) { + // Left master + rgb_matrix_set_color(4, RGB_ORANGE); + // Right master + rgb_matrix_set_color(22, RGB_ORANGE); + } + if (default_layer_state - 1 == _COLEMAK) { + // Left master + rgb_matrix_set_color(5, RGB_GREEN); + // Right master + rgb_matrix_set_color(23, RGB_GREEN); + } + return false; +} + +// Quantum keys / Abbreviations +enum custom_keycodes { + VVV = KC_TRNS, + XXX = KC_NO, + CSA_Q = MEH_T(KC_Q), + CSA_F1 = MEH_T(KC_F1), + CSA_1 = MEH_T(KC_1), + CA_W = LCA_T(KC_W), + CA_F2 = LCA_T(KC_F2), + CA_2 = LCA_T(KC_2), + CS_E = C_S_T(KC_E), + CS_F = C_S_T(KC_F), + CS_I = C_S_T(KC_I), + CS_U = C_S_T(KC_U), + CS_F3 = C_S_T(KC_F3), + CS_3 = C_S_T(KC_3), + CS_F8 = C_S_T(KC_F8), + CS_8 = C_S_T(KC_8), + CA_O = LCA_T(KC_O), + CA_Y = LCA_T(KC_Y), + CA_F9 = LCA_T(KC_F9), + CA_9 = LCA_T(KC_9), + CSA_P = MEH_T(KC_P), + CSA_SCLN = MEH_T(KC_SCLN), + CSA_F10 = MEH_T(KC_F10), + CSA_0 = MEH_T(KC_0), + LGUI_A = LGUI_T(KC_A), + LGUI_FIND = LGUI_T(KC_FIND), + LGUI_GRV = LGUI_T(KC_GRV), + LALT_S = LALT_T(KC_S), + LALT_R = LALT_T(KC_R), + LALT_HOME = LALT_T(KC_HOME), + LCTL_D = LCTL_T(KC_D), + LCTL_S = LCTL_T(KC_S), + LCTL_PGUP = LCTL_T(KC_PGUP), + LCTL_LBRC = LCTL_T(KC_LBRC), + LSFT_F = LSFT_T(KC_F), + _LSFT_T = LSFT_T(KC_T), + LSFT_PGDN = LSFT_T(KC_PGDN), + LSFT_RBRC = LSFT_T(KC_RBRC), + RSFT_J = RSFT_T(KC_J), + RSFT_N = RSFT_T(KC_N), + RSFT_DOWN = RSFT_T(KC_DOWN), + RSFT_MINS = RSFT_T(KC_MINS), + RCTL_K = RCTL_T(KC_K), + RCTL_E = RCTL_T(KC_E), + RCTL_UP = RCTL_T(KC_UP), + RCTL_EQL = RCTL_T(KC_EQL), + RALT_L = RALT_T(KC_L), + RALT_I = RALT_T(KC_I), + RALT_RGHT = RALT_T(KC_RGHT), + RALT_BSLS = RALT_T(KC_BSLS), + RGUI_SCLN = RGUI_T(KC_SCLN), + RGUI_O = RGUI_T(KC_O), + RGUI_F11 = RGUI_T(KC_F11), + RGUI_QUOT = RGUI_T(KC_QUOT), + LT3_SPC = LT(3,KC_SPC), + LT2_TAB = LT(2,KC_TAB), + DF_QWERTY = DF(0), + DF_COLEMAK = DF(1), +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + CSA_Q, CA_W, CS_E, KC_R, KC_T, KC_Y, KC_U, CS_I, CA_O, CSA_P, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + LGUI_A, LALT_S, LCTL_D, LSFT_F, KC_G, KC_H, RSFT_J, RCTL_K, RALT_L, RGUI_SCLN, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, M_COMM, M_DOT, KC_SLSH, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, LT3_SPC, KC_BSPC, KC_DEL, LT2_TAB, KC_ENT + // |--------+--------+--------| |--------+--------+--------| + ), + [_COLEMAK] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + CSA_Q, CA_W, CS_F, KC_P, KC_G, KC_J, KC_L, CS_U, CA_Y, CSA_SCLN, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + LGUI_A, LALT_R, LCTL_S, _LSFT_T, KC_D, KC_H, RSFT_N, RCTL_E, RALT_I, RGUI_O, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, M_COMM, M_DOT, KC_SLSH, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, LT3_SPC, KC_BSPC, KC_DEL, LT2_TAB, KC_ENT + // |--------+--------+--------| |--------+--------+--------| + ), + [_NAVIGATION] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + CSA_F1, CA_F2, CS_F3, KC_F4, KC_F5, KC_F6, KC_F7, CS_F8, CA_F9, CSA_F10, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + LGUI_FIND,LALT_HOME,LCTL_PGUP,LSFT_PGDN,KC_END, KC_LEFT,RSFT_DOWN,RCTL_UP,RALT_RGHT,RGUI_F11, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + DF_QWERTY,DF_COLEMAK,KC_VOLD, KC_VOLU, QK_BOOT, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, KC_F12, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + VVV, TG(4), VVV, VVV, VVV, VVV + // |--------+--------+--------| |--------+--------+--------| + ), + [_SPECIAL] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + CSA_1, CA_2, CS_3, KC_4, KC_5, KC_6, KC_7, CS_8, CA_9, CSA_0, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + LGUI_GRV,KC_LALT,LCTL_LBRC,LSFT_RBRC,KC_LPRN, KC_RPRN,RSFT_MINS,RCTL_EQL,RALT_BSLS,RGUI_QUOT, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_TILD, KC_CAPS, KC_LCBR, KC_RCBR,TG(_MOUSE), EE_CLR, KC_UNDS, KC_PLUS, KC_PIPE, KC_DQUO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + VVV, VVV, VVV, VVV, TG(4), VVV + // |--------+--------+--------| |--------+--------+--------| + ), + [_MOUSE] = LAYOUT_split_3x5_3( + //|--------------------------------------------| |--------------------------------------------| + KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, DM_REC1, KC_WSTP, KC_ACL2, KC_ACL1, KC_ACL0, KC_WFWD, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, DM_PLY1, KC_WREF, KC_BTN1, KC_BTN2, KC_BTN3, KC_WBAK, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + M_KEYMAP,KC_BTN3, KC_BTN2, KC_BTN1, XXX, XXX, XXX, XXX, XXX, XXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + VVV, TG(4), VVV, VVV, TG(4), VVV + // |--------+--------+--------| |--------+--------+--------| + ), +}; diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk new file mode 100644 index 000000000000..f40ace960604 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk @@ -0,0 +1,17 @@ +# Includes +SRC += features/caps_word.c + +# Build Options +# change yes to no to disable +# +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +DYNAMIC_MACRO_ENABLE = yes # Create macros on the fly +RGB_MATRIX_DRIVER = WS2812 +INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc. +# TAP_DANCE_ENABLE = yes # Send different keycodes if tapped multiple times +# KEY_OVERRIDE_ENABLE = yes # Override key combos +# COMBO_ENABLE = yes # Custom key combos + +LTO_ENABLE = yes +RGBLIGHT_SUPPORTED = yes +RGB_MATRIX_SUPPORTED = yes diff --git a/keyboards/handwired/dactyl_minidox/rules.mk b/keyboards/handwired/dactyl_minidox/rules.mk new file mode 100644 index 000000000000..95d9275b35ff --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/rules.mk @@ -0,0 +1,17 @@ +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +# AUDIO_ENABLE = yes # Audio output + +RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB matrix + +RGBLIGHT_SUPPORTED = yes +RGB_MATRIX_SUPPORTED = yes From 21036437b7941119a1af9801aa545a5293c90a31 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Mon, 22 May 2023 11:50:59 +0100 Subject: [PATCH 03/10] correct development_board --- keyboards/handwired/dactyl_minidox/info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/dactyl_minidox/info.json b/keyboards/handwired/dactyl_minidox/info.json index d1bd6575bfa7..53e6f671a2d4 100644 --- a/keyboards/handwired/dactyl_minidox/info.json +++ b/keyboards/handwired/dactyl_minidox/info.json @@ -23,7 +23,7 @@ "enabled": true, "soft_serial_pin": "D0" }, - "development_board": "pro_micro", + "development_board": "promicro", "community_layouts": ["split_3x5_3"], "layouts": { "LAYOUT_split_3x5_3": { From ac415c20195e9ae3f712d8c2e931a7c7bf4f8169 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Mon, 22 May 2023 14:04:27 +0100 Subject: [PATCH 04/10] create readme.md --- keyboards/handwired/dactyl_minidox/info.json | 7 +++-- keyboards/handwired/dactyl_minidox/readme.md | 27 ++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 keyboards/handwired/dactyl_minidox/readme.md diff --git a/keyboards/handwired/dactyl_minidox/info.json b/keyboards/handwired/dactyl_minidox/info.json index 53e6f671a2d4..0a1c6a56bbcd 100644 --- a/keyboards/handwired/dactyl_minidox/info.json +++ b/keyboards/handwired/dactyl_minidox/info.json @@ -1,6 +1,6 @@ { - "keyboard_name": "Dactyl Minidox (3x5+3)", - "manufacturer": "DLFord", + "keyboard_name": "Dactyl Minidox", + "manufacturer": "dlford", "url": "https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/", "maintainer": "dlford", "usb": { @@ -24,6 +24,9 @@ "soft_serial_pin": "D0" }, "development_board": "promicro", + "layout_aliases": { + "LAYOUT": "LAYOUT_split_3x5_3" + }, "community_layouts": ["split_3x5_3"], "layouts": { "LAYOUT_split_3x5_3": { diff --git a/keyboards/handwired/dactyl_minidox/readme.md b/keyboards/handwired/dactyl_minidox/readme.md new file mode 100644 index 000000000000..976b30d39069 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/readme.md @@ -0,0 +1,27 @@ +# Dactyl Minidox + +![DactylMinidox](https://i.imgur.com/PqjgeRfh.jpg) + +A 36 key (3x5_3), split bodied keyboard derived from the [Dactyl ManuForm](/keyboards/handwired/dactyl_manuform/). + +* Keyboard Maintainer: [Dan Ford](https://github.com/dlford) +* Hardware Supported: Pro Micro controller, or clone of +* Hardware Availability: [Build Guide](https://www.dlford.io/keyboard-build-guide-per-key-rgb-leds/) + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_minidox:default + +Flashing example for this keyboard: + + make handwired/dactyl_minidox:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From 0af8520882cca45503f77ef20f60126b9c0945dd Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Wed, 24 May 2023 08:04:13 +0100 Subject: [PATCH 05/10] add keyboard alias for previous name --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index f005bb34c399..75288ba8b2d9 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -200,6 +200,9 @@ "gmmk/pro/iso": { "target": "gmmk/pro/rev1/iso" }, + "handwired/dactyl_manuform/3x5_3": { + "target": "handwired/dactyl_minidox" + }, "handwired/ferris": { "target": "ferris/0_1" }, From 9787f1612d1cbb89eb821d6ee25e10f601b46659 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Wed, 24 May 2023 10:18:39 +0100 Subject: [PATCH 06/10] add 'via' keymap --- keyboards/handwired/dactyl_minidox/keymaps/via/config.h | 0 keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c | 0 keyboards/handwired/dactyl_minidox/keymaps/via/rules.mk | 1 + 3 files changed, 1 insertion(+) create mode 100644 keyboards/handwired/dactyl_minidox/keymaps/via/config.h create mode 100644 keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c create mode 100644 keyboards/handwired/dactyl_minidox/keymaps/via/rules.mk diff --git a/keyboards/handwired/dactyl_minidox/keymaps/via/config.h b/keyboards/handwired/dactyl_minidox/keymaps/via/config.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c b/keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/handwired/dactyl_minidox/keymaps/via/rules.mk b/keyboards/handwired/dactyl_minidox/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/dactyl_minidox/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes From fd37d411a8a8674425f19c540c4146d12de3dc03 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Wed, 24 May 2023 10:19:06 +0100 Subject: [PATCH 07/10] add 'via' keymap --- .../dactyl_minidox/keymaps/via/config.h | 23 +++++++++ .../dactyl_minidox/keymaps/via/keymaps.c | 51 +++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/keyboards/handwired/dactyl_minidox/keymaps/via/config.h b/keyboards/handwired/dactyl_minidox/keymaps/via/config.h index e69de29bb2d1..bb5b0bf6af6d 100644 --- a/keyboards/handwired/dactyl_minidox/keymaps/via/config.h +++ b/keyboards/handwired/dactyl_minidox/keymaps/via/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2021 @dlford +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 . +*/ + +#pragma once + +/* Select hand configuration */ +// #define MASTER_LEFT +// #define MASTER_RIGHT + +#define EE_HANDS diff --git a/keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c b/keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c index e69de29bb2d1..3c471ee9636d 100644 --- a/keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c +++ b/keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c @@ -0,0 +1,51 @@ +// Copyright 2022 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum layers{ + _BASE, + _RAISE, + _LOWER, + _BLANK +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ + * │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ + * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ + * │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ + * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ + * │ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │ + * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ + * ┌───┐ ┌───┐ + * │GUI├───┐ ┌───┤Alt│ + * └───┤Bsp├───┐ ┌───┤Ent├───┘ + * └───┤ │ │ ├───┘ + * └───┘ └───┘ + */ + [_BASE] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT + ), + [_RAISE] = LAYOUT_split_3x5_3( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + [_LOWER] = LAYOUT_split_3x5_3( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + [_BLANK] = LAYOUT_split_3x5_3( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ) +}; From 2ff14bfded53014be024da082b1f3d671bc4feab Mon Sep 17 00:00:00 2001 From: Duncan Sutherland <75046609+dunk2k@users.noreply.github.com> Date: Wed, 24 May 2023 14:47:33 +0100 Subject: [PATCH 08/10] Update readme.md --- keyboards/handwired/dactyl_minidox/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/dactyl_minidox/readme.md b/keyboards/handwired/dactyl_minidox/readme.md index 976b30d39069..5826403a80ff 100644 --- a/keyboards/handwired/dactyl_minidox/readme.md +++ b/keyboards/handwired/dactyl_minidox/readme.md @@ -2,7 +2,7 @@ ![DactylMinidox](https://i.imgur.com/PqjgeRfh.jpg) -A 36 key (3x5_3), split bodied keyboard derived from the [Dactyl ManuForm](/keyboards/handwired/dactyl_manuform/). +A 36 key (3x5+3), split bodied keyboard derived from the [Dactyl ManuForm](/keyboards/handwired/dactyl_manuform/). * Keyboard Maintainer: [Dan Ford](https://github.com/dlford) * Hardware Supported: Pro Micro controller, or clone of From 8e18ad9fb34a572112d39ee671cbf6b6a2ae1433 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Mon, 5 Jun 2023 21:39:33 +0100 Subject: [PATCH 09/10] corrections made to revert oled code to `dlford` keymap --- keyboards/handwired/dactyl_minidox/rules.mk | 5 ----- 1 file changed, 5 deletions(-) diff --git a/keyboards/handwired/dactyl_minidox/rules.mk b/keyboards/handwired/dactyl_minidox/rules.mk index 95d9275b35ff..e22ac7f3ffcf 100644 --- a/keyboards/handwired/dactyl_minidox/rules.mk +++ b/keyboards/handwired/dactyl_minidox/rules.mk @@ -10,8 +10,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow # AUDIO_ENABLE = yes # Audio output - -RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB matrix - -RGBLIGHT_SUPPORTED = yes -RGB_MATRIX_SUPPORTED = yes From b2ea4bd5bdd9f9e5f35d71c95928cacd14aec625 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Mon, 5 Jun 2023 21:43:49 +0100 Subject: [PATCH 10/10] 'via' dir corrections --- .../keymaps/via/{keymaps.c => keymap.c} | 14 -------------- 1 file changed, 14 deletions(-) rename keyboards/handwired/dactyl_minidox/keymaps/via/{keymaps.c => keymap.c} (66%) diff --git a/keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c b/keyboards/handwired/dactyl_minidox/keymaps/via/keymap.c similarity index 66% rename from keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c rename to keyboards/handwired/dactyl_minidox/keymaps/via/keymap.c index 3c471ee9636d..80b9b62b5355 100644 --- a/keyboards/handwired/dactyl_minidox/keymaps/via/keymaps.c +++ b/keyboards/handwired/dactyl_minidox/keymaps/via/keymap.c @@ -10,20 +10,6 @@ enum layers{ }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┐ ┌───┐ - * │GUI├───┐ ┌───┤Alt│ - * └───┤Bsp├───┐ ┌───┤Ent├───┘ - * └───┤ │ │ ├───┘ - * └───┘ └───┘ - */ [_BASE] = LAYOUT_split_3x5_3( KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,