From a8927ac60140a2b12bb47661e22c9218f16897f5 Mon Sep 17 00:00:00 2001 From: chance Date: Fri, 7 Jan 2022 08:27:42 -0500 Subject: [PATCH 1/5] [Keymap] Adding Frosty Flake VIA keymap (#13211) * updated my personal layouts * added Artix to install script * setting up for PR * added Artix to install script * Created frosty flake via keymap.c Created the default VIA keymap.c file for the Frosty Flake controller * Create rules.mk * add #define DYNAMIC_KEYMAP_LAYER_COUNT 3 * Update keymap.c * Delete keyboards/tada68/keymaps/trashcat directory * Create keymap.c * Create README.md * Create rules.mk * Delete keyboards/whitefox/keymaps/trashcat directory * Update qmk_install.sh * Rename README.md to readme.md * Update keymap.c * Update keymap.c * Apply suggestions from code review --- keyboards/bpiphany/frosty_flake/config.h | 1 + .../frosty_flake/keymaps/via/keymap.c | 44 +++++++++++++++++++ .../frosty_flake/keymaps/via/rules.mk | 2 + 3 files changed, 47 insertions(+) create mode 100644 keyboards/bpiphany/frosty_flake/keymaps/via/keymap.c create mode 100644 keyboards/bpiphany/frosty_flake/keymaps/via/rules.mk diff --git a/keyboards/bpiphany/frosty_flake/config.h b/keyboards/bpiphany/frosty_flake/config.h index 1a337b111f05..a60d728ac65f 100644 --- a/keyboards/bpiphany/frosty_flake/config.h +++ b/keyboards/bpiphany/frosty_flake/config.h @@ -93,3 +93,4 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/bpiphany/frosty_flake/keymaps/via/keymap.c b/keyboards/bpiphany/frosty_flake/keymaps/via/keymap.c new file mode 100644 index 000000000000..b3ef6ecadbb2 --- /dev/null +++ b/keyboards/bpiphany/frosty_flake/keymaps/via/keymap.c @@ -0,0 +1,44 @@ + /* Copyright 2021 Chance Monnette + * + * 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_tkl( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, + KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), + +[1] = LAYOUT_tkl( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, + _______,_______,_______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, + _______,_______,_______, _______, _______, _______ , _______, _______, _______, _______, _______ + ), + +[2] = LAYOUT_tkl( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, + _______,_______,_______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, + _______,_______,_______, _______, _______, _______ , _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/bpiphany/frosty_flake/keymaps/via/rules.mk b/keyboards/bpiphany/frosty_flake/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/bpiphany/frosty_flake/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes From 145e91d41f97f210783f053c6caf8eeb37be4fc2 Mon Sep 17 00:00:00 2001 From: FateEverywhere <41215461+FateEverywhere@users.noreply.github.com> Date: Fri, 7 Jan 2022 15:21:04 -0500 Subject: [PATCH 2/5] [Keyboard] Hard Light Mark 2 and keymaps (#13719) * Hard Light Mark 2 and keymaps This time with minor competence! * Update keyboards/edi/hardlight/mk2/rules.mk * Delete config.h * Apply suggestions from code review --- keyboards/edi/hardlight/mk2/config.h | 81 ++++++++++++ keyboards/edi/hardlight/mk2/halconf.h | 32 +++++ .../edi/hardlight/mk2/keymaps/.gitignore | 1 + .../hardlight/mk2/keymaps/default/config.h | 24 ++++ .../hardlight/mk2/keymaps/default/keymap.c | 115 ++++++++++++++++++ .../edi/hardlight/mk2/keymaps/kate/keymap.c | 115 ++++++++++++++++++ keyboards/edi/hardlight/mk2/mcuconf.h | 32 +++++ keyboards/edi/hardlight/mk2/mk2.c | 18 +++ keyboards/edi/hardlight/mk2/mk2.h | 37 ++++++ keyboards/edi/hardlight/mk2/readme.md | 22 ++++ keyboards/edi/hardlight/mk2/rules.mk | 33 +++++ 11 files changed, 510 insertions(+) create mode 100644 keyboards/edi/hardlight/mk2/config.h create mode 100644 keyboards/edi/hardlight/mk2/halconf.h create mode 100644 keyboards/edi/hardlight/mk2/keymaps/.gitignore create mode 100644 keyboards/edi/hardlight/mk2/keymaps/default/config.h create mode 100644 keyboards/edi/hardlight/mk2/keymaps/default/keymap.c create mode 100644 keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c create mode 100644 keyboards/edi/hardlight/mk2/mcuconf.h create mode 100644 keyboards/edi/hardlight/mk2/mk2.c create mode 100644 keyboards/edi/hardlight/mk2/mk2.h create mode 100644 keyboards/edi/hardlight/mk2/readme.md create mode 100644 keyboards/edi/hardlight/mk2/rules.mk diff --git a/keyboards/edi/hardlight/mk2/config.h b/keyboards/edi/hardlight/mk2/config.h new file mode 100644 index 000000000000..ab4b00682765 --- /dev/null +++ b/keyboards/edi/hardlight/mk2/config.h @@ -0,0 +1,81 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xF7E0 +#define PRODUCT_ID 0x2408 +#define DEVICE_VER 0x0007 +#define MANUFACTURER Everywhere Defense Industries +#define PRODUCT Hard Light Mk 2 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 8 + +#define MATRIX_COL_PINS { B2, B6, B5, F1, F0, C15, C14, C13 } +#define MATRIX_ROW_PINS { B10, B11, A14, A15, A3, A0, A2, A1 } +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* RGB Underglow */ +#define RGB_DI_PIN A10 +#define RGBLED_NUM 32 +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 5 +//#define RGBLIGHT_LIMIT_VAL 200 + +/* PWM RGB Underglow Defines */ +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM5 +#define WS2812_DMA_CHANNEL 3 +#define WS2812_EXTERNAL_PULLUP + +/* I2C driver overrides */ +#define I2C1_SCL 7 +#define I2C1_SDA 8 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/edi/hardlight/mk2/halconf.h b/keyboards/edi/hardlight/mk2/halconf.h new file mode 100644 index 000000000000..498f31a919fd --- /dev/null +++ b/keyboards/edi/hardlight/mk2/halconf.h @@ -0,0 +1,32 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 + +// Activate PWM mode +#define HAL_USE_PWM TRUE + +// Activate Inter-Integrated-Circuit Networking (I2C/2Wire) +#define HAL_USE_I2C TRUE + +// Activate Serial Peripheral Interface +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + + +#include_next \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk2/keymaps/.gitignore b/keyboards/edi/hardlight/mk2/keymaps/.gitignore new file mode 100644 index 000000000000..08a0f321a2d7 --- /dev/null +++ b/keyboards/edi/hardlight/mk2/keymaps/.gitignore @@ -0,0 +1 @@ +fate \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk2/keymaps/default/config.h b/keyboards/edi/hardlight/mk2/keymaps/default/config.h new file mode 100644 index 000000000000..688751093380 --- /dev/null +++ b/keyboards/edi/hardlight/mk2/keymaps/default/config.h @@ -0,0 +1,24 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 + +#undef LEADER_TIMEOUT +#define LEADER_TIMEOUT 250 +#define LEADER_PER_KEY_TIMING + +// place overrides here diff --git a/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c b/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c new file mode 100644 index 000000000000..6683e647d32d --- /dev/null +++ b/keyboards/edi/hardlight/mk2/keymaps/default/keymap.c @@ -0,0 +1,115 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 + +enum layers { + _MAIN, + _RAISE, + _LOWER, + _SET, +}; + +// Readability keycodes +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define SET MO(_SET) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + +/* MAIN + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Backsp | Delete | 7 | 8 | 9 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | Pause | 4 | 5 | 6 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LShift | Z | X | C | V | B | N | M | , | . | / | Up | Enter | 1 | 2 | 3 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LCtrl | Lock | GUI | Alt | Lower | Space | Space | Raise | PrtScr | RShift | Left | Down | Right | 0 | . | Enter | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_MAIN] = LAYOUT_ortho_4x16( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL, KC_KP_7, KC_KP_8, KC_KP_9, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_PAUS, KC_KP_4, KC_KP_5, KC_KP_6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, KC_KP_1, KC_KP_2, KC_KP_3, + KC_LCTL, KC_LOCK, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_PSCR, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_KP_DOT, KC_PENT + ), + +/* RAISE + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | Insert | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | - | = | [ | ] | \ | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | PgUp | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | Vol- | PgDn | Vol+ | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_RAISE] = LAYOUT_ortho_4x16( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_INS, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_PGDN, KC_VOLU, _______, _______, _______ + ), + +/* LOWER + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | Home | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | Mute | End | Play | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_LOWER] = LAYOUT_ortho_4x16( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_END, KC_MPLY, _______, _______, _______ + ), + + /* SETTINGS + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | | CapLok | ScrLok | NumLok | VK I/O | | | RGB IO | Mode+ | Mode- | Plain | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | Hue+ | Sat+ | Val+ | Larsen | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | Hue- | Sat- | Val- | Rswirl | | Reset | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_SET] = LAYOUT_ortho_4x16( + _______, KC_CAPS, KC_SLCK, KC_NLCK, VLK_TOG, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_P, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SW,_______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, _______, RESET, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _SET); +} \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c b/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c new file mode 100644 index 000000000000..a493c2288a07 --- /dev/null +++ b/keyboards/edi/hardlight/mk2/keymaps/kate/keymap.c @@ -0,0 +1,115 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 + +enum layers { + _MAIN, + _RAISE, + _LOWER, + _SET, +}; + +// Readability keycodes +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define SET MO(_SET) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + +/* MAIN + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Backsp | Delete | 7 | 8 | 9 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | Enter | 4 | 5 | 6 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LShift | Z | X | C | V | B | N | M | , | . | / | Up | Pause | 1 | 2 | 3 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LCtrl | Lock | GUI | Alt | Lower | Space | Space | Raise | PrtScr | RShift | Left | Down | Right | 0 | . | Enter | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_MAIN] = LAYOUT_ortho_4x16( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_DEL, KC_KP_7, KC_KP_8, KC_KP_9, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_KP_4, KC_KP_5, KC_KP_6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_PAUS, KC_KP_1, KC_KP_2, KC_KP_3, + KC_LCTL, KC_LOCK, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_PSCR, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_KP_DOT, KC_PENT + ), + +/* RAISE + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | Insert | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | - | = | [ | ] | \ | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | PgUp | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | Vol- | PgDn | Vol+ | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_RAISE] = LAYOUT_ortho_4x16( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_INS, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_PGDN, KC_VOLU, _______, _______, _______ + ), + +/* LOWER + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | Home | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | Mute | End | Play | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_LOWER] = LAYOUT_ortho_4x16( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_END, KC_MPLY, _______, _______, _______ + ), + + /* SETTINGS + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | | CapLok | ScrLok | NumLok | VK I/O | | | RGB IO | Mode+ | Mode- | Plain | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | Hue+ | Sat+ | Val+ | Larsen | | Reset | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | Hue- | Sat- | Val- | Rswirl | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_SET] = LAYOUT_ortho_4x16( + _______, KC_CAPS, KC_SLCK, KC_NLCK, VLK_TOG, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_P, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SW,_______, RESET, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _SET); +} \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk2/mcuconf.h b/keyboards/edi/hardlight/mk2/mcuconf.h new file mode 100644 index 000000000000..95e698d9ec3d --- /dev/null +++ b/keyboards/edi/hardlight/mk2/mcuconf.h @@ -0,0 +1,32 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 + +#include_next + +// Enable PWM +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE + +// Enable I2C +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +//Enable SPI +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk2/mk2.c b/keyboards/edi/hardlight/mk2/mk2.c new file mode 100644 index 000000000000..ab4414e4d2a2 --- /dev/null +++ b/keyboards/edi/hardlight/mk2/mk2.c @@ -0,0 +1,18 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 "mk2.h" diff --git a/keyboards/edi/hardlight/mk2/mk2.h b/keyboards/edi/hardlight/mk2/mk2.h new file mode 100644 index 000000000000..5065582d6539 --- /dev/null +++ b/keyboards/edi/hardlight/mk2/mk2.h @@ -0,0 +1,37 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 + +#include "quantum.h" + +#define LAYOUT_ortho_4x16( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, \ + K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, K31, \ + K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, \ + K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, K61, K62, K63 \ +) \ +{ \ + { K00, K02, K04, K06, K08, K10, K12, K14 }, \ + { K01, K03, K05, K07, K09, K11, K13, K15 }, \ + { K16, K18, K20, K22, K24, K26, K28, K30 }, \ + { K17, K19, K21, K23, K25, K27, K29, K31 }, \ + { K32, K34, K36, K38, K40, K42, K44, K46 }, \ + { K33, K35, K37, K39, K41, K43, K45, K47 }, \ + { K48, K50, K52, K54, K56, K58, K60, K62 }, \ + { K49, K51, K53, K55, K57, K59, K61, K63 } \ +} diff --git a/keyboards/edi/hardlight/mk2/readme.md b/keyboards/edi/hardlight/mk2/readme.md new file mode 100644 index 000000000000..54b14a220e16 --- /dev/null +++ b/keyboards/edi/hardlight/mk2/readme.md @@ -0,0 +1,22 @@ +# Hard Light Mark 2 + +![Hard Light Mark 2](https://i.imgur.com/X6Katarh.png) + +A compact 60% keyboard designed by Fate Everywhere. Born out of the desire for a Planck with a numpad for technical work and a lack of reliance on the Elite-C. + +* Keyboard Maintainer: [Fate Everywhere](https://github.com/fateeverywhere) +* Hardware Supported: Mark 2 Hard Light. +* Hardware Availability: [Seven Store](https://store.7storm.org). +* To Enter Bootloader: + If keyboard is operational, hold RAISE and LOWER then press ENTER. + If keyboard is unresponsive, unplug board then hold the BTLDR button on the bottom of the PCB and plug in the keyboard. + +Build example for this keyboard (after setting up your build environment): + + make edi/hardlight/mk2:default + +Flash example for this keyboard (after setting up your build environment): + + make edi/hardlight/mk2: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). diff --git a/keyboards/edi/hardlight/mk2/rules.mk b/keyboards/edi/hardlight/mk2/rules.mk new file mode 100644 index 000000000000..5ffab4a55e63 --- /dev/null +++ b/keyboards/edi/hardlight/mk2/rules.mk @@ -0,0 +1,33 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +Bootloader = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +VELOCIKEY_ENABLE = yes +KEY_LOCK_ENABLE = yes +WS2812_DRIVER = pwm + +# Layout definitions +LAYOUTS = ortho_4x16 + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE From a5afe84a121026d6b0489ee66939d954d19c9ddb Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 7 Jan 2022 13:30:22 -0800 Subject: [PATCH 3/5] Dango40: Fix QMK Configurator Implementation (#15761) * friendly-format info.json * correct info.json structure * info.json: update key labels --- keyboards/onekeyco/dango40/info.json | 323 +++++---------------------- 1 file changed, 61 insertions(+), 262 deletions(-) diff --git a/keyboards/onekeyco/dango40/info.json b/keyboards/onekeyco/dango40/info.json index 188cc7473dbf..e26e92697b1c 100644 --- a/keyboards/onekeyco/dango40/info.json +++ b/keyboards/onekeyco/dango40/info.json @@ -1,263 +1,62 @@ { - "keyboard_name":"Dango40", - "url":"https://github.com/swiftrax", - "maintainer":"Swiftrax", - "layouts":{ - "LAYOUT":{ - "layout_all":[ - { - "label":"0,0", - "x":0, - "y":0 - }, - { - "label":"0,1", - "x":1, - "y":0 - }, - { - "label":"0,2", - "x":2, - "y":0 - }, - { - "label":"0,3", - "x":3, - "y":0 - }, - { - "label":"0,4", - "x":4, - "y":0 - }, - { - "label":"0,5", - "x":5, - "y":0 - }, - { - "label":"0,6", - "x":6, - "y":0 - }, - { - "label":"0,7", - "x":7, - "y":0 - }, - { - "label":"0,8", - "x":8, - "y":0 - }, - { - "label":"0,9", - "x":9, - "y":0 - }, - { - "label":"0,10", - "x":10, - "y":0 - }, - { - "label":"0,11", - "x":11, - "y":0, - "w":1.75 - }, - { - "label":"0,12", - "x":12.75, - "y":0 - }, - { - "label":"1,0", - "x":0, - "y":1, - "w":1.25 - }, - { - "label":"1,1", - "x":1.25, - "y":1 - }, - { - "label":"1,2", - "x":2.25, - "y":1 - }, - { - "label":"1,3", - "x":3.25, - "y":1 - }, - { - "label":"1,4", - "x":4.25, - "y":1 - }, - { - "label":"1,5", - "x":5.25, - "y":1 - }, - { - "label":"1,6", - "x":6.25, - "y":1 - }, - { - "label":"1,7", - "x":7.25, - "y":1 - }, - { - "label":"1,8", - "x":8.25, - "y":1 - }, - { - "label":"1,9", - "x":9.25, - "y":1 - }, - { - "label":"1,10", - "x":10.25, - "y":1 - }, - { - "label":"1,11", - "x":11.25, - "y":1, - "w":1.5 - }, - { - "label":"1,12", - "x":12.75, - "y":1 - }, - { - "label":"2,0", - "x":0, - "y":2, - "w":1.75 - }, - { - "label":"2,1", - "x":1.75, - "y":2 - }, - { - "label":"2,2", - "x":2.75, - "y":2 - }, - { - "label":"2,3", - "x":3.75, - "y":2 - }, - { - "label":"2,4", - "x":4.75, - "y":2 - }, - { - "label":"2,5", - "x":5.75, - "y":2 - }, - { - "label":"2,6", - "x":6.75, - "y":2 - }, - { - "label":"2,7", - "x":7.75, - "y":2 - }, - { - "label":"2,8", - "x":8.75, - "y":2 - }, - { - "label":"2,9", - "x":9.75, - "y":2 - }, - { - "label":"2,10", - "x":10.75, - "y":2 - }, - { - "label":"2,11", - "x":11.75, - "y":2 - }, - { - "label":"2,12", - "x":12.75, - "y":2 - }, - { - "label":"3,0", - "x":0, - "y":3, - "w":1.25 - }, - { - "label":"3,1", - "x":1.25, - "y":3, - "w":1.5 - }, - { - "label":"3,2", - "x":2.75, - "y":3, - "w":1.25 - }, - { - "label":"3,4", - "x":4, - "y":3, - "w":2.25 - }, - { - "label":"3,6", - "x":6.25, - "y":3, - "w":2.75 - }, - { - "label":"3,7", - "x":9, - "y":3, - "w":1.25 - }, - { - "label":"3,9", - "x":10.25, - "y":3, - "w":1.25 - }, - { - "label":"3,10", - "x":11.5, - "y":3, - "w":1.25 - }, - { - "label":"3,11", - "x":12.75, - "y":3 - } - ] - } - } -} \ No newline at end of file + "keyboard_name": "Dango40", + "url": "https://github.com/swiftrax", + "maintainer": "Swiftrax", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"Q", "x":1, "y":0}, + {"label":"W", "x":2, "y":0}, + {"label":"E", "x":3, "y":0}, + {"label":"R", "x":4, "y":0}, + {"label":"T", "x":5, "y":0}, + {"label":"Y", "x":6, "y":0}, + {"label":"U", "x":7, "y":0}, + {"label":"I", "x":8, "y":0}, + {"label":"O", "x":9, "y":0}, + {"label":"P", "x":10, "y":0}, + {"label":"Backspace", "x":11, "y":0, "w":1.75}, + {"label":"Mute", "x":12.75, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.25}, + {"label":"A", "x":1.25, "y":1}, + {"label":"S", "x":2.25, "y":1}, + {"label":"D", "x":3.25, "y":1}, + {"label":"F", "x":4.25, "y":1}, + {"label":"G", "x":5.25, "y":1}, + {"label":"H", "x":6.25, "y":1}, + {"label":"J", "x":7.25, "y":1}, + {"label":"K", "x":8.25, "y":1}, + {"label":"L", "x":9.25, "y":1}, + {"label":";:", "x":10.25, "y":1}, + {"label":"Enter", "x":11.25, "y":1, "w":1.5}, + {"label":"Page Up", "x":12.75, "y":1}, + + {"label":"Shift", "x":0, "y":2, "w":1.75}, + {"label":"Z", "x":1.75, "y":2}, + {"label":"X", "x":2.75, "y":2}, + {"label":"C", "x":3.75, "y":2}, + {"label":"V", "x":4.75, "y":2}, + {"label":"B", "x":5.75, "y":2}, + {"label":"N", "x":6.75, "y":2}, + {"label":"M", "x":7.75, "y":2}, + {"label":",<", "x":8.75, "y":2}, + {"label":".>", "x":9.75, "y":2}, + {"label":"/?", "x":10.75, "y":2}, + {"label":"Shift", "x":11.75, "y":2}, + {"label":"Page Down", "x":12.75, "y":2}, + + {"label":"Ctrl", "x":0, "y":3, "w":1.25}, + {"label":"GUI", "x":1.25, "y":3, "w":1.5}, + {"label":"Alt", "x":2.75, "y":3, "w":1.25}, + {"label":"Space", "x":4, "y":3, "w":2.25}, + {"label":"Space", "x":6.25, "y":3, "w":2.75}, + {"label":"Alt", "x":9, "y":3, "w":1.25}, + {"label":"Ctrl", "x":10.25, "y":3, "w":1.25}, + {"label":"Fn", "x":11.5, "y":3, "w":1.25}, + {"label":"Right", "x":12.75, "y":3} + ] + } + } +} From 4ace960b98bf50468cf560a50ce591d6de00639d Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 7 Jan 2022 13:47:49 -0800 Subject: [PATCH 4/5] JJ50 Touch-Up (#15762) * rules.mk: Build Options sorting and white space * use QMK 3-character notation * info.json: apply friendly formatting * info.json: use 3-character notation * move layout macro alias to info.json * number matrix identifiers by electrical position --- keyboards/kprepublic/jj50/info.json | 82 ++++++++++++++++++++++++++--- keyboards/kprepublic/jj50/jj50.h | 22 ++++---- keyboards/kprepublic/jj50/rules.mk | 16 +++--- 3 files changed, 93 insertions(+), 27 deletions(-) diff --git a/keyboards/kprepublic/jj50/info.json b/keyboards/kprepublic/jj50/info.json index e492059e11f9..5d84efe24608 100644 --- a/keyboards/kprepublic/jj50/info.json +++ b/keyboards/kprepublic/jj50/info.json @@ -1,10 +1,78 @@ { - "keyboard_name": "JJ50", - "url": "", - "maintainer": "qmk", - "layouts": { - "LAYOUT_ortho_5x12": { - "layout": [{"label":"K011", "x":0, "y":0}, {"label":"K010", "x":1, "y":0}, {"label":"K009", "x":2, "y":0}, {"label":"K008", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K003", "x":8, "y":0}, {"label":"K002", "x":9, "y":0}, {"label":"K201", "x":10, "y":0}, {"label":"K000", "x":11, "y":0}, {"label":"K111", "x":0, "y":1}, {"label":"K110", "x":1, "y":1}, {"label":"K109", "x":2, "y":1}, {"label":"K108", "x":3, "y":1}, {"label":"K104", "x":4, "y":1}, {"label":"K105", "x":5, "y":1}, {"label":"K106", "x":6, "y":1}, {"label":"K107", "x":7, "y":1}, {"label":"K103", "x":8, "y":1}, {"label":"K102", "x":9, "y":1}, {"label":"K001", "x":10, "y":1}, {"label":"K100", "x":11, "y":1}, {"label":"K211", "x":0, "y":2}, {"label":"K210", "x":1, "y":2}, {"label":"K209", "x":2, "y":2}, {"label":"K208", "x":3, "y":2}, {"label":"K204", "x":4, "y":2}, {"label":"K205", "x":5, "y":2}, {"label":"K206", "x":6, "y":2}, {"label":"K207", "x":7, "y":2}, {"label":"K203", "x":8, "y":2}, {"label":"K202", "x":9, "y":2}, {"label":"K101", "x":10, "y":2}, {"label":"K200", "x":11, "y":2}, {"label":"K311", "x":0, "y":3}, {"label":"K310", "x":1, "y":3}, {"label":"K309", "x":2, "y":3}, {"label":"K308", "x":3, "y":3}, {"label":"K304", "x":4, "y":3}, {"label":"K305", "x":5, "y":3}, {"label":"K306", "x":6, "y":3}, {"label":"K307", "x":7, "y":3}, {"label":"K303", "x":8, "y":3}, {"label":"K302", "x":9, "y":3}, {"label":"K301", "x":10, "y":3}, {"label":"K300", "x":11, "y":3}, {"label":"K411", "x":0, "y":4}, {"label":"K410", "x":1, "y":4}, {"label":"K409", "x":2, "y":4}, {"label":"K408", "x":3, "y":4}, {"label":"K404", "x":4, "y":4}, {"label":"K405", "x":5, "y":4}, {"label":"K406", "x":6, "y":4}, {"label":"K407", "x":7, "y":4}, {"label":"K403", "x":8, "y":4}, {"label":"K402", "x":9, "y":4}, {"label":"K401", "x":10, "y":4}, {"label":"K400", "x":11, "y":4}] + "keyboard_name": "JJ50", + "url": "", + "maintainer": "qmk", + "layout_aliases": { + "LAYOUT": "LAYOUT_ortho_5x12" + }, + "layouts": { + "LAYOUT_ortho_5x12": { + "layout": [ + {"label":"K2B", "x":0, "y":0}, + {"label":"K2A", "x":1, "y":0}, + {"label":"K29", "x":2, "y":0}, + {"label":"K28", "x":3, "y":0}, + {"label":"K24", "x":4, "y":0}, + {"label":"K25", "x":5, "y":0}, + {"label":"K26", "x":6, "y":0}, + {"label":"K27", "x":7, "y":0}, + {"label":"K23", "x":8, "y":0}, + {"label":"K22", "x":9, "y":0}, + {"label":"K21", "x":10, "y":0}, + {"label":"K20", "x":11, "y":0}, + + {"label":"K0B", "x":0, "y":1}, + {"label":"K0A", "x":1, "y":1}, + {"label":"K09", "x":2, "y":1}, + {"label":"K08", "x":3, "y":1}, + {"label":"K04", "x":4, "y":1}, + {"label":"K05", "x":5, "y":1}, + {"label":"K06", "x":6, "y":1}, + {"label":"K07", "x":7, "y":1}, + {"label":"K03", "x":8, "y":1}, + {"label":"K02", "x":9, "y":1}, + {"label":"K01", "x":10, "y":1}, + {"label":"K00", "x":11, "y":1}, + + {"label":"K1B", "x":0, "y":2}, + {"label":"K1A", "x":1, "y":2}, + {"label":"K19", "x":2, "y":2}, + {"label":"K18", "x":3, "y":2}, + {"label":"K14", "x":4, "y":2}, + {"label":"K15", "x":5, "y":2}, + {"label":"K16", "x":6, "y":2}, + {"label":"K17", "x":7, "y":2}, + {"label":"K13", "x":8, "y":2}, + {"label":"K12", "x":9, "y":2}, + {"label":"K11", "x":10, "y":2}, + {"label":"K10", "x":11, "y":2}, + + {"label":"K3B", "x":0, "y":3}, + {"label":"K3A", "x":1, "y":3}, + {"label":"K39", "x":2, "y":3}, + {"label":"K38", "x":3, "y":3}, + {"label":"K34", "x":4, "y":3}, + {"label":"K35", "x":5, "y":3}, + {"label":"K36", "x":6, "y":3}, + {"label":"K37", "x":7, "y":3}, + {"label":"K33", "x":8, "y":3}, + {"label":"K32", "x":9, "y":3}, + {"label":"K31", "x":10, "y":3}, + {"label":"K30", "x":11, "y":3}, + + {"label":"K4B", "x":0, "y":4}, + {"label":"K4A", "x":1, "y":4}, + {"label":"K49", "x":2, "y":4}, + {"label":"K48", "x":3, "y":4}, + {"label":"K44", "x":4, "y":4}, + {"label":"K45", "x":5, "y":4}, + {"label":"K46", "x":6, "y":4}, + {"label":"K47", "x":7, "y":4}, + {"label":"K43", "x":8, "y":4}, + {"label":"K42", "x":9, "y":4}, + {"label":"K41", "x":10, "y":4}, + {"label":"K40", "x":11, "y":4} + ] + } } - } } diff --git a/keyboards/kprepublic/jj50/jj50.h b/keyboards/kprepublic/jj50/jj50.h index 59d5c6409731..a3d42856c815 100644 --- a/keyboards/kprepublic/jj50/jj50.h +++ b/keyboards/kprepublic/jj50/jj50.h @@ -22,17 +22,15 @@ along with this program. If not, see . #include "quantum.h" #define LAYOUT_ortho_5x12( \ - K011, K010, K009, K008, K004, K005, K006, K007, K003, K002, K201, K000, \ - K111, K110, K109, K108, K104, K105, K106, K107, K103, K102, K001, K100, \ - K211, K210, K209, K208, K204, K205, K206, K207, K203, K202, K101, K200, \ - K311, K310, K309, K308, K304, K305, K306, K307, K303, K302, K301, K300, \ - K411, K410, K409, K408, K404, K405, K406, K407, K403, K402, K401, K400 \ + K2B, K2A, K29, K28, K24, K25, K26, K27, K23, K22, K21, K20, \ + K0B, K0A, K09, K08, K04, K05, K06, K07, K03, K02, K01, K00, \ + K1B, K1A, K19, K18, K14, K15, K16, K17, K13, K12, K11, K10, \ + K3B, K3A, K39, K38, K34, K35, K36, K37, K33, K32, K31, K30, \ + K4B, K4A, K49, K48, K44, K45, K46, K47, K43, K42, K41, K40 \ ) { \ - { K100, K001, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, }, \ - { K200, K101, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, }, \ - { K000, K201, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B } \ } - -#define LAYOUT LAYOUT_ortho_5x12 diff --git a/keyboards/kprepublic/jj50/rules.mk b/keyboards/kprepublic/jj50/rules.mk index 2e510c8bba9d..faa1a619b91d 100644 --- a/keyboards/kprepublic/jj50/rules.mk +++ b/keyboards/kprepublic/jj50/rules.mk @@ -8,14 +8,14 @@ BOOTLOADER = bootloadhid # change yes to no to disable # BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration +MOUSEKEY_ENABLE = no # 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 = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality -WS2812_DRIVER = i2c # This driver powers the RGB Lighting and RGB Matrix features -LTO_ENABLE = yes # Enable link time optimization +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +WS2812_DRIVER = i2c # This driver powers the RGB Lighting and RGB Matrix features +LTO_ENABLE = yes # Enable link time optimization LAYOUTS = ortho_5x12 From a2ed670eee98cab826e0b959576716cd7e13a946 Mon Sep 17 00:00:00 2001 From: Richard Date: Fri, 7 Jan 2022 19:22:35 -0800 Subject: [PATCH 5/5] Add a-ball handwired trackball based on ADSN9800 (#9015) * Initial commit of kball * Pretty much working * Rename to aball * Cleanup * Fix typo and make instructions * Refactor to use qmk spi * Suggestions from ZVECR * Update keyboards/handwired/aball/adns9800_srom_A6.h * Update keyboards/handwired/aball/adns.c * Update keyboards/handwired/aball/adns.c * Update keyboards/handwired/aball/adns.c * Added copyright and source attribution * Update keyboards/handwired/aball/rules.mk Include as quantum lib to help avoid timing issues with LTO * Only send report on change, adj sensitivity, fix src include * Fix issue causing constant reports and bad clamping * Streamline conversion to int, add required wait before burst read * Changes to track develop * Update rules with new feature descriptors, add info.json * Add stub layout * Rework / cleanup key matrix. Add missing CS pin define for new ADNS driver * Add stub keymap to enable compile --- keyboards/handwired/aball/aball.c | 18 ++++++++++ keyboards/handwired/aball/aball.h | 29 +++++++++++++++ keyboards/handwired/aball/config.h | 35 +++++++++++++++++++ keyboards/handwired/aball/info.json | 12 +++++++ .../handwired/aball/keymaps/default/keymap.c | 18 ++++++++++ keyboards/handwired/aball/readme.md | 14 ++++++++ keyboards/handwired/aball/rules.mk | 22 ++++++++++++ 7 files changed, 148 insertions(+) create mode 100644 keyboards/handwired/aball/aball.c create mode 100644 keyboards/handwired/aball/aball.h create mode 100644 keyboards/handwired/aball/config.h create mode 100644 keyboards/handwired/aball/info.json create mode 100644 keyboards/handwired/aball/keymaps/default/keymap.c create mode 100644 keyboards/handwired/aball/readme.md create mode 100644 keyboards/handwired/aball/rules.mk diff --git a/keyboards/handwired/aball/aball.c b/keyboards/handwired/aball/aball.c new file mode 100644 index 000000000000..0b3d2f165c58 --- /dev/null +++ b/keyboards/handwired/aball/aball.c @@ -0,0 +1,18 @@ +/* Copyright 2020 Richard Sutherland + * + * 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 "aball.h" +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; diff --git a/keyboards/handwired/aball/aball.h b/keyboards/handwired/aball/aball.h new file mode 100644 index 000000000000..8daf6bf6804c --- /dev/null +++ b/keyboards/handwired/aball/aball.h @@ -0,0 +1,29 @@ +/* Copyright 2020 Richard Sutherland + * + * 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 + +#include "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT(k00) {{ KC_NO }} diff --git a/keyboards/handwired/aball/config.h b/keyboards/handwired/aball/config.h new file mode 100644 index 000000000000..12f13fb4a8c9 --- /dev/null +++ b/keyboards/handwired/aball/config.h @@ -0,0 +1,35 @@ +/* +Copyright 2020 Richard Sutherland + +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 + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xC2F0 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Richard Sutherland +#define PRODUCT ABall + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +#define DIRECT_PINS {{NO_PIN}} + +#define ADNS9800_CS_PIN F7 diff --git a/keyboards/handwired/aball/info.json b/keyboards/handwired/aball/info.json new file mode 100644 index 000000000000..c8afff6a2b1a --- /dev/null +++ b/keyboards/handwired/aball/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "aball", + "url": "https://github.com/brickbots/aball/", + "maintainer": "@brickbots", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0} + ] + } + } +} diff --git a/keyboards/handwired/aball/keymaps/default/keymap.c b/keyboards/handwired/aball/keymaps/default/keymap.c new file mode 100644 index 000000000000..00826a0262bc --- /dev/null +++ b/keyboards/handwired/aball/keymaps/default/keymap.c @@ -0,0 +1,18 @@ +/* Copyright 2020 Richard Sutherland + * + * 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 + + diff --git a/keyboards/handwired/aball/readme.md b/keyboards/handwired/aball/readme.md new file mode 100644 index 000000000000..96a62d8386b8 --- /dev/null +++ b/keyboards/handwired/aball/readme.md @@ -0,0 +1,14 @@ +# ABall + +Your keyboard has plenty of buttons, why do you need more on your pointing device? ABall is a buttonless trackball designed to +fit nicely next to a kyria, or other keyboard which serves as the mouse buttons. For my use I have left, middle and right mouse +buttons on a layer along with keys for scroll up and down which I operate with my left hand while my right hand uses the ball for pointing. + +* Keyboard Maintainer: [Richard Sutherland](https://github.com/brickbots) +* Special thanks to the Oddball for doing the heavy lifing with ADNS suport: [atulloh.github.io/oddball](https://atulloh.github.io/oddball) + +Make example for this keyboard (after setting up your build environment): + + make handwired/aball:default + +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). diff --git a/keyboards/handwired/aball/rules.mk b/keyboards/handwired/aball/rules.mk new file mode 100644 index 000000000000..9063957737e9 --- /dev/null +++ b/keyboards/handwired/aball/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +# Add trackball support +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = adns9800