From 715f83682b52fe8a8c1b2a6244b637ddaa95396b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20B=C3=BCsgen?= Date: Fri, 20 Jan 2023 21:18:14 +0100 Subject: [PATCH 1/4] feat: :sparkles: Add VIA-Enabled keymap Created and added a VIA-Enabled keymap for the dactyl-manuform 4x6 --- .../dactyl_manuform/4x6/keymaps/via/config.h | 28 +++++ .../dactyl_manuform/4x6/keymaps/via/keymap.c | 108 ++++++++++++++++++ .../dactyl_manuform/4x6/keymaps/via/rules.mk | 1 + 3 files changed, 137 insertions(+) create mode 100644 keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h create mode 100644 keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/4x6/keymaps/via/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h new file mode 100644 index 000000000000..46ca1084cfd5 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h @@ -0,0 +1,28 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2023 André Büsgen + +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_manuform/4x6/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c new file mode 100644 index 000000000000..1f4b122d4037 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c @@ -0,0 +1,108 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2023 André Büsgen + +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 + +#define _BASE 0 +#define _RAISE 1 +#define _LOWER 2 +#define _BLANK 3 + +#define SFT_ESC SFT_T(KC_ESC) +#define CTL_BSPC CTL_T(KC_BSPC) +#define ALT_SPC ALT_T(KC_SPC) +#define SFT_ENT SFT_T(KC_ENT) + +#define KC_ML KC_MS_LEFT +#define KC_MR KC_MS_RIGHT +#define KC_MU KC_MS_UP +#define KC_MD KC_MS_DOWN +#define KC_MB1 KC_MS_BTN1 +#define KC_MB2 KC_MS_BTN1 + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base (qwerty) + * +-----------------------------------------+ +-----------------------------------------+ + * | ESC | q | w | e | r | t | | y | u | i | o | p | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | a | s | d | f | g | | h | j | k | l | ; | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | SHFT | z | x | c | v | b | | n | m | , | . | / | | + * +------+------+------+------+-------------+ +-------------+------+------+------+------+ + * | [ | ] | | | | + * +-------------+-------------+ +-------------+-------------+ + * | | | | | | + * |------+------| |------+------| + * | | | | | | + * +-------------+ +-------------+ + * +-------------+ +-------------+ + * | | | | | | + * |------+------| |------+------| + * | | | | | | + * +-------------+ +-------------+ + */ + [_BASE] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, + KC_LBRC, KC_RBRC, KC_PLUS, KC_EQL, + RAISE, KC_SPC, KC_ENT, LOWER, + KC_TAB, KC_HOME, KC_END, KC_DEL, + KC_BSPC, KC_GRV, KC_LGUI, KC_LALT + ), + + [_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, QK_BOOT, KC_PLUS, + _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, + _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, + _______, KC_PSCR, _______, KC_P0, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT( + _______, QK_BOOT, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_NUM, KC_INS, KC_SCRL, KC_MUTE, + _______, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, + _______, _______, KC_EQL, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + + [_BLANK] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ) +}; + +void persistent_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes From f1a4ee1697cbf7b96f526acd757fa81223d96fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20B=C3=BCsgen?= Date: Mon, 23 Jan 2023 18:49:41 +0100 Subject: [PATCH 2/4] style: :art: format keymap files using clang-format --- .../handwired/dactyl_manuform/4x6/keymaps/via/config.h | 4 ++-- .../handwired/dactyl_manuform/4x6/keymaps/via/keymap.c | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h index 46ca1084cfd5..ce7fd324eb25 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . #pragma once /* Select hand configuration */ -//#define MASTER_LEFT -//#define MASTER_RIGHT +// #define MASTER_LEFT +// #define MASTER_RIGHT #define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c index 1f4b122d4037..383694869293 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c @@ -25,10 +25,10 @@ along with this program. If not, see . #define _LOWER 2 #define _BLANK 3 -#define SFT_ESC SFT_T(KC_ESC) +#define SFT_ESC SFT_T(KC_ESC) #define CTL_BSPC CTL_T(KC_BSPC) -#define ALT_SPC ALT_T(KC_SPC) -#define SFT_ENT SFT_T(KC_ENT) +#define ALT_SPC ALT_T(KC_SPC) +#define SFT_ENT SFT_T(KC_ENT) #define KC_ML KC_MS_LEFT #define KC_MR KC_MS_RIGHT @@ -40,6 +40,7 @@ along with this program. If not, see . #define RAISE MO(_RAISE) #define LOWER MO(_LOWER) +// clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base (qwerty) * +-----------------------------------------+ +-----------------------------------------+ @@ -101,6 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______ ) }; +//clang-format on void persistent_default_layer_set(uint16_t default_layer) { eeconfig_update_default_layer(default_layer); From c4985e2ceca92fd26c9ca0a5152cdff1bbc6b36d Mon Sep 17 00:00:00 2001 From: AnotherStranger Date: Tue, 24 Jan 2023 07:49:53 +0100 Subject: [PATCH 3/4] style: :rotating_light: use layer enums instead of defines Co-authored-by: adophoxia <100170946+adophoxia@users.noreply.github.com> --- .../handwired/dactyl_manuform/4x6/keymaps/via/keymap.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c index 383694869293..577937a699ef 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c @@ -20,10 +20,12 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#define _BASE 0 -#define _RAISE 1 -#define _LOWER 2 -#define _BLANK 3 +enum layers{ + _BASE, + _RAISE, + _LOWER, + _BLANK +}; #define SFT_ESC SFT_T(KC_ESC) #define CTL_BSPC CTL_T(KC_BSPC) From 9a06d13874953de5f78dffd15c0633c7afd74636 Mon Sep 17 00:00:00 2001 From: AnotherStranger Date: Tue, 24 Jan 2023 07:51:27 +0100 Subject: [PATCH 4/4] refactor: :coffin: remove unused layer persistency code Co-authored-by: Drashna Jaelre --- keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c index 577937a699ef..3e70e664af88 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/via/keymap.c @@ -106,7 +106,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; //clang-format on -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -}