From 88555d8e18e90c2571c5d6553aae46c697c3341b Mon Sep 17 00:00:00 2001 From: Jacqueline Liang <8636194+Bratzworth@users.noreply.github.com> Date: Fri, 9 Sep 2022 05:41:18 -0700 Subject: [PATCH] Add via support for 6key (#18082) --- keyboards/handwired/6key/6key.c | 38 +++++++++++-------- keyboards/handwired/6key/6key.h | 30 +++++++-------- keyboards/handwired/6key/config.h | 28 +++++++------- keyboards/handwired/6key/info.json | 9 +++-- .../handwired/6key/keymaps/default/keymap.c | 27 +++---------- keyboards/handwired/6key/keymaps/via/keymap.c | 35 +++++++++++++++++ keyboards/handwired/6key/keymaps/via/rules.mk | 2 + keyboards/handwired/6key/rules.mk | 2 +- 8 files changed, 102 insertions(+), 69 deletions(-) create mode 100644 keyboards/handwired/6key/keymaps/via/keymap.c create mode 100644 keyboards/handwired/6key/keymaps/via/rules.mk diff --git a/keyboards/handwired/6key/6key.c b/keyboards/handwired/6key/6key.c index ab4263bde4f..22c766a30f6 100644 --- a/keyboards/handwired/6key/6key.c +++ b/keyboards/handwired/6key/6key.c @@ -1,16 +1,24 @@ - /* Copyright 2020 Bratzworth - * - * 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 . - */ + /* Copyright 2020 Bratzworth + * + * 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 "6key.h" + +bool dip_switch_update_kb(uint8_t index, bool active) { + if (!dip_switch_update_user(index, active)) { return false; } + if (index == 0) { + default_layer_set(1UL << (active ? 1 : 0)); + } + return true; +} diff --git a/keyboards/handwired/6key/6key.h b/keyboards/handwired/6key/6key.h index fe02df44e9f..f63abc35d2a 100644 --- a/keyboards/handwired/6key/6key.h +++ b/keyboards/handwired/6key/6key.h @@ -1,17 +1,17 @@ - /* Copyright 2020 Bratzworth - * - * 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 . + /* Copyright 2020 Bratzworth + * + * 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 @@ -24,4 +24,4 @@ { \ { k00, k01, k02 }, \ { k03, k04, k05 } \ -} +} diff --git a/keyboards/handwired/6key/config.h b/keyboards/handwired/6key/config.h index b7d983d75fa..42d7a5cb32a 100644 --- a/keyboards/handwired/6key/config.h +++ b/keyboards/handwired/6key/config.h @@ -1,17 +1,17 @@ - /* Copyright 2020 Bratzworth - * - * 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 . + /* Copyright 2020 Bratzworth + * + * 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 diff --git a/keyboards/handwired/6key/info.json b/keyboards/handwired/6key/info.json index 4b1e69de86a..b069f067c5f 100644 --- a/keyboards/handwired/6key/info.json +++ b/keyboards/handwired/6key/info.json @@ -1,16 +1,19 @@ { "keyboard_name": "6key", - "manufacturer": "Bratzworth", + "manufacturer": "bratzworth", "url": "https://github.com/Bratzworth/6key", "maintainer": "bratzworth", "usb": { - "vid": "0xBEED", + "vid": "0xD143", "pid": "0x0007", "device_version": "0.0.1" }, "layouts": { "LAYOUT": { - "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}] + "layout": [ + {"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, + {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1} + ] } } } diff --git a/keyboards/handwired/6key/keymaps/default/keymap.c b/keyboards/handwired/6key/keymaps/default/keymap.c index ad73597bab7..ab930240640 100644 --- a/keyboards/handwired/6key/keymaps/default/keymap.c +++ b/keyboards/handwired/6key/keymaps/default/keymap.c @@ -15,33 +15,18 @@ */ #include QMK_KEYBOARD_H -#define _MAIN 0 -#define _FN 1 - -#define KC_UNDO LCTL(KC_Z) -#define KC_REDO LCTL(KC_Y) +enum layers{ + _MAIN, + _FN +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MAIN] = LAYOUT( - KC_UNDO, KC_REDO, KC_A, - KC_C, KC_D, KC_S + KC_Z, KC_Y, KC_A, + KC_C, KC_D, KC_S ), - [_FN] = LAYOUT( KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18 ) }; - -bool dip_switch_update_user(uint8_t index, bool active) { - switch (index) { - case 0: { - if (active) { - set_single_persistent_default_layer(_FN); - } else { - set_single_persistent_default_layer(_MAIN); - } - } - } - return true; -} diff --git a/keyboards/handwired/6key/keymaps/via/keymap.c b/keyboards/handwired/6key/keymaps/via/keymap.c new file mode 100644 index 00000000000..4e1922da567 --- /dev/null +++ b/keyboards/handwired/6key/keymaps/via/keymap.c @@ -0,0 +1,35 @@ + /* Copyright 2022 Bratzworth + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + LCTL(KC_Z), LCTL(KC_Y), KC_A, + KC_C, KC_D, KC_S + ), + [1] = LAYOUT( + KC_F13, KC_F14, KC_F15, + KC_F16, KC_F17, KC_F18 + ), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), +}; diff --git a/keyboards/handwired/6key/keymaps/via/rules.mk b/keyboards/handwired/6key/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/handwired/6key/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/handwired/6key/rules.mk b/keyboards/handwired/6key/rules.mk index 5be28d8a57f..3cb12386cc9 100644 --- a/keyboards/handwired/6key/rules.mk +++ b/keyboards/handwired/6key/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +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