From 0ef004ae05c1fb977cd87883ec962575f18ee4b7 Mon Sep 17 00:00:00 2001 From: durken Date: Wed, 4 May 2022 13:54:38 +0200 Subject: [PATCH 1/9] initial commit --- keyboards/pierce/config.h | 36 ++++++ keyboards/pierce/halconf.h | 24 ++++ keyboards/pierce/keymaps/default/config.h | 16 +++ keyboards/pierce/keymaps/default/keymap.c | 62 ++++++++++ keyboards/pierce/keymaps/default/rules.mk | 1 + keyboards/pierce/keymaps/durken1/config.h | 61 ++++++++++ keyboards/pierce/keymaps/durken1/keymap.c | 136 ++++++++++++++++++++++ keyboards/pierce/keymaps/durken1/rules.mk | 17 +++ keyboards/pierce/matrix.c | 130 +++++++++++++++++++++ keyboards/pierce/pierce.c | 1 + keyboards/pierce/pierce.h | 18 +++ keyboards/pierce/readme.md | 16 +++ keyboards/pierce/rules.mk | 41 +++++++ 13 files changed, 559 insertions(+) create mode 100644 keyboards/pierce/config.h create mode 100644 keyboards/pierce/halconf.h create mode 100644 keyboards/pierce/keymaps/default/config.h create mode 100644 keyboards/pierce/keymaps/default/keymap.c create mode 100644 keyboards/pierce/keymaps/default/rules.mk create mode 100644 keyboards/pierce/keymaps/durken1/config.h create mode 100644 keyboards/pierce/keymaps/durken1/keymap.c create mode 100644 keyboards/pierce/keymaps/durken1/rules.mk create mode 100644 keyboards/pierce/matrix.c create mode 100644 keyboards/pierce/pierce.c create mode 100644 keyboards/pierce/pierce.h create mode 100644 keyboards/pierce/readme.md create mode 100644 keyboards/pierce/rules.mk diff --git a/keyboards/pierce/config.h b/keyboards/pierce/config.h new file mode 100644 index 000000000000..d8ab336702a8 --- /dev/null +++ b/keyboards/pierce/config.h @@ -0,0 +1,36 @@ +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER durken +#define PRODUCT pierce +#define DESCRIPTION keyboard + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 10 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F4, F5, F6, F7 } +#define MATRIX_COL_PINS { B1, B3, B2, B6, B5, B4, E6, D7, C6, D4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* number of backlight levels */ + +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 3 +#endif + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + + +#endif diff --git a/keyboards/pierce/halconf.h b/keyboards/pierce/halconf.h new file mode 100644 index 000000000000..920c31d8da26 --- /dev/null +++ b/keyboards/pierce/halconf.h @@ -0,0 +1,24 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/cannonkeys/ortho75/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C diff --git a/keyboards/pierce/keymaps/default/config.h b/keyboards/pierce/keymaps/default/config.h new file mode 100644 index 000000000000..4fba137bbfb6 --- /dev/null +++ b/keyboards/pierce/keymaps/default/config.h @@ -0,0 +1,16 @@ +#pragma once + + +// default but important +#define TAPPING_TERM 220 + +// Prevent normal rollover on alphas from accidentally triggering mods. +#define IGNORE_MOD_TAP_INTERRUPT + +// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. +#define TAPPING_FORCE_HOLD + +#define PERMISSIVE_HOLD + +// Recommended for heavy chording. +#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/pierce/keymaps/default/keymap.c b/keyboards/pierce/keymaps/default/keymap.c new file mode 100644 index 000000000000..2cb89f3ce03b --- /dev/null +++ b/keyboards/pierce/keymaps/default/keymap.c @@ -0,0 +1,62 @@ +#include QMK_KEYBOARD_H +enum layers { BASE, MBO, SYM, NUM, FN, }; + +#define NUM_SPC LT(NUM, KC_SPC) +#define FN_ENT LT(FN, KC_ENT) +#define SYM_BSP LT(SYM, KC_BSPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [BASE] = LAYOUT( + // Colemak Mod-DH + //,--------------------------------------------, ,--------------------------------------------. + 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_ESC, NUM_SPC, KC_TAB, FN_ENT, SYM_BSP, KC_DEL + //`--------------------------' '--------------------------' + + ), + + + [SYM] = LAYOUT( + // Symbols + //,--------------------------------------------, ,--------------------------------------------. + _______, _______, KC_SLSH, KC_TILD, _______, _______, KC_PIPE, KC_BSLS, KC_CIRC, _______, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_EXLM, KC_DLR, KC_LPRN, KC_LBRC, _______, _______, KC_RBRC, KC_RPRN, KC_HASH, KC_QUES, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + _______, KC_PERC, KC_LCBR, KC_LABK, _______, _______, KC_RABK, KC_RCBR, KC_AMPR, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_AT, KC_EQL, KC_DQUO, _______, _______, _______ + //`--------------------------' '--------------------------' + ), + + [NUM] = LAYOUT( + // Numbers + //,--------------------------------------------, ,--------------------------------------------. + _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_PLUS, KC_MINS, KC_ASTR, KC_SLSH, _______, _______, KC_4, KC_5, KC_6, _______, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + _______, _______, KC_VOLD, KC_VOLU, _______, KC_SPC, KC_1, KC_2, KC_3, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, KC_COMM, KC_0, KC_DOT + //`--------------------------' '--------------------------' + ), + + [FN] = LAYOUT( + // FN + //,--------------------------------------------, ,--------------------------------------------. + _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_PSCR, KC_CAPS, _______, _______, _______, _______ + //`--------------------------' '--------------------------' + ) +}; diff --git a/keyboards/pierce/keymaps/default/rules.mk b/keyboards/pierce/keymaps/default/rules.mk new file mode 100644 index 000000000000..a05fa2668103 --- /dev/null +++ b/keyboards/pierce/keymaps/default/rules.mk @@ -0,0 +1 @@ +EXTRAKEY_ENABLE = yes # Audio control and System control diff --git a/keyboards/pierce/keymaps/durken1/config.h b/keyboards/pierce/keymaps/durken1/config.h new file mode 100644 index 000000000000..2652f4cd5b04 --- /dev/null +++ b/keyboards/pierce/keymaps/durken1/config.h @@ -0,0 +1,61 @@ +#pragma once + +// default but important +#define TAPPING_TERM 220 + +// Prevent normal rollover on alphas from accidentally triggering mods. +#define IGNORE_MOD_TAP_INTERRUPT + +// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. +#define TAPPING_FORCE_HOLD + +#define PERMISSIVE_HOLD + +// Recommended for heavy chording. +#define QMK_KEYS_PER_SCAN 4 + +// Combo settings +#define COMBO_COUNT 3 +#define COMBO_TERM 35 + +#ifdef PS2_USE_USART +#define PS2_CLOCK_PIN D5 +#define PS2_DATA_PIN D2 + +/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */ +/* set DDR of CLOCK as input to be slave */ +#define PS2_MOUSE_ROTATE 270 // compensate for east-facing device orientation +#define PS2_USART_INIT() do { \ + PS2_CLOCK_DDR &= ~(1< AUTO_BUTTONS_TIMEOUT)) { + if (!tp_buttons) { + layer_off(MBO); + auto_buttons_timer = 0; + } + } +} + +#endif // defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE + +// Left-hand home row mods colemak +#define GUI_A LGUI_T(KC_A) +#define ALT_R LALT_T(KC_R) +#define SFT_S LSFT_T(KC_S) +#define CTRL_T LCTL_T(KC_T) + +// Right-hand home row mods colemak +#define CTL_N RCTL_T(KC_N) +#define SFT_E RSFT_T(KC_E) +#define ALT_I LALT_T(KC_I) +#define GUI_O LGUI_T(KC_O) + +#define NUM_SPC LT(NUM, KC_SPC) +#define FN_ENT LT(FN, KC_ENT) +#define SYM_BSP LT(SYM, KC_BSPC) + +const uint16_t PROGMEM arng_combo[] = {ALT_R, SFT_S, COMBO_END}; +const uint16_t PROGMEM adia_combo[] = {SFT_E, ALT_I, COMBO_END}; +const uint16_t PROGMEM odia_combo[] = {SE_U, SE_K, COMBO_END}; +combo_t key_combos[COMBO_COUNT] = { + [WF_ARNG] = COMBO(arng_combo, SE_ARNG), + [UK_ADIA] = COMBO(adia_combo, SE_ADIA), + [HC_ODIA] = COMBO(odia_combo, SE_ODIA) +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [BASE] = LAYOUT( + // Colemak Mod-DH + //,--------------------------------------------, ,--------------------------------------------. + SE_Q, SE_W, SE_F, SE_P, SE_B, SE_Y, SE_L, SE_U, SE_K, SE_QUOT, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + GUI_A, ALT_R, SFT_S, CTRL_T, SE_G, SE_M, CTL_N, SFT_E, ALT_I, GUI_O, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + SE_Z, SE_X, SE_C, SE_D, SE_V, SE_J, SE_H, SE_COMM, SE_DOT, SE_MINS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, NUM_SPC, KC_TAB, FN_ENT, SYM_BSP, KC_DEL + //`--------------------------' '--------------------------' + + ), + + + [MBO] = LAYOUT( + // Mouse + //,--------------------------------------------, ,--------------------------------------------. + _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, KC_BTN3, _______, _______, _______, _______, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, KC_BSPC, _______ + //`--------------------------' '--------------------------' + + ), + + [SYM] = LAYOUT( + // Symbols + //,--------------------------------------------, ,--------------------------------------------. + SE_SECT, SE_ACUT, SE_SLSH, SE_TILD, _______, _______, SE_PIPE, SE_BSLS, SE_DIAE, SE_CIRC, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + SE_EXLM, SE_DLR, SE_LPRN, SE_LBRC, _______, _______, SE_RBRC, SE_RPRN, SE_HASH, SE_QUES, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + _______, SE_PERC, SE_LCBR, SE_LABK, _______, _______, SE_RABK, SE_RCBR, SE_AMPR, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + SE_AT, SE_EQL, SE_DQUO, _______, _______, _______ + //`--------------------------' '--------------------------' + ), + + [NUM] = LAYOUT( + // Numbers + //,--------------------------------------------, ,--------------------------------------------. + _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, SE_7, SE_8, SE_9, SE_QUOT, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + SE_PLUS, SE_MINS, SE_ASTR, SE_SLSH, SE_CIRC, _______, SE_4, SE_5, SE_6, _______, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + _______, _______, KC_VOLD, KC_VOLU, _______, KC_SPC, SE_1, SE_2, SE_3, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, SE_COMM, SE_0, SE_DOT + //`--------------------------' '--------------------------' + ), + + [FN] = LAYOUT( + // FN + //,--------------------------------------------, ,--------------------------------------------. + _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11, + //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_PSCR, KC_CAPS, _______, _______, _______, _______ + //`--------------------------' '--------------------------' + ) +}; diff --git a/keyboards/pierce/keymaps/durken1/rules.mk b/keyboards/pierce/keymaps/durken1/rules.mk new file mode 100644 index 000000000000..44a4151d4ce6 --- /dev/null +++ b/keyboards/pierce/keymaps/durken1/rules.mk @@ -0,0 +1,17 @@ +EXTRAKEY_ENABLE = yes # Audio control and System control +TRACKPOINT = yes +AUTO_BUTTONS = yes +COMBO_ENABLE = yes + +USER_NAME := durken1 + +ifeq ($(strip $(TRACKPOINT)), yes) + PS2_MOUSE_ENABLE = yes + PS2_USE_USART = yes + OPT_DEFS += -DUSART +endif + +ifeq ($(strip $(AUTO_BUTTONS)), yes) + OPT_DEFS += -DAUTO_BUTTONS +endif + diff --git a/keyboards/pierce/matrix.c b/keyboards/pierce/matrix.c new file mode 100644 index 000000000000..341a546f254a --- /dev/null +++ b/keyboards/pierce/matrix.c @@ -0,0 +1,130 @@ +/* +Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar + +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 +#include +#include "util.h" +#include "matrix.h" +#include "debounce.h" +#include "quantum.h" +#include "i2c_slave.h" +#include "i2c_master.h" + +#define MY_I2C_ADDRESS (0x20U << 1) + +static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; + +/* matrix state(1:on, 0:off) */ +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +static inline void setPinOutput_writeLow(pin_t pin) { + ATOMIC_BLOCK_FORCEON { + setPinOutput(pin); + writePinLow(pin); + } +} + +static inline void setPinInputHigh_atomic(pin_t pin) { + ATOMIC_BLOCK_FORCEON { setPinInputHigh(pin); } +} + +// matrix code +static void select_row(uint8_t row) { setPinOutput_writeLow(row_pins[row]); } + +static void unselect_row(uint8_t row) { setPinInputHigh_atomic(row_pins[row]); } + +static void unselect_rows(void) { + for (uint8_t x = 0; x < MATRIX_ROWS; x++) { + setPinInputHigh_atomic(row_pins[x]); + } +} + +static void init_pins(void) { + unselect_rows(); + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + setPinInputHigh_atomic(col_pins[x]); + } +} + +static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { + // Start with a clear matrix row + matrix_row_t current_row_value = 0; + + // Select row + select_row(current_row); + matrix_output_select_delay(); + + // For each col... + for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + // Select the col pin to read (active low) + uint8_t pin_state = readPin(col_pins[col_index]); + + // Populate the matrix row with the state of the col pin + current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + + // Unselect row + unselect_row(current_row); + if (current_row + 1 < MATRIX_ROWS) { + // matrix_output_unselect_delay(); // wait for row signal to go HIGH + matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for all Col signals to go HIGH + } + + // Inject scanned matrix from wireless module + current_row_value |= (((matrix_row_t)(i2c_slave_reg[current_row+4])) << 5); + current_row_value |= ((matrix_row_t)i2c_slave_reg[current_row]); + + // If the row has changed, store the row and return the changed flag. + if (current_matrix[current_row] != current_row_value) { + current_matrix[current_row] = current_row_value; + return true; + } + return false; +} + +void matrix_init_custom(void) { + //i2c_init(); + i2c_slave_init(MY_I2C_ADDRESS); + sei(); + // initialize key pins + init_pins(); + + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + raw_matrix[i] = 0; + matrix[i] = 0; + } + + debounce_init(MATRIX_ROWS); + + matrix_init_quantum(); +} + +uint8_t matrix_scan_custom(void) { + bool changed = false; + + // Set row, read cols + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { + changed |= read_cols_on_row(raw_matrix, current_row); + } + + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); + + matrix_scan_quantum(); + return (uint8_t)changed; +} diff --git a/keyboards/pierce/pierce.c b/keyboards/pierce/pierce.c new file mode 100644 index 000000000000..56fabe39d05a --- /dev/null +++ b/keyboards/pierce/pierce.c @@ -0,0 +1 @@ +#include "pierce.h" diff --git a/keyboards/pierce/pierce.h b/keyboards/pierce/pierce.h new file mode 100644 index 000000000000..8a82be33dd30 --- /dev/null +++ b/keyboards/pierce/pierce.h @@ -0,0 +1,18 @@ +#ifndef pierce_H +#define pierce_H + +#include "quantum.h" + +#define LAYOUT( \ + 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, \ + K32, K33, K34, K35, K36, K37 \ +) { \ + { 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 }, \ + { KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO } \ +} + +#endif diff --git a/keyboards/pierce/readme.md b/keyboards/pierce/readme.md new file mode 100644 index 000000000000..5a961792c69e --- /dev/null +++ b/keyboards/pierce/readme.md @@ -0,0 +1,16 @@ +# Pierce + +![Pierce](https://i.imgur.com/JOUH1UI.jpeg) + +A modular wireless / semi-wireless split 36 key keyboard. Wireless version uses a dongle as a receiver for both halves while the semi-wireless version uses the wired half as a receiver for the wireless half. +Supports MX, Choc V1 and Alps switches. + +* Keyboard Maintainer: [durken1](https://github.com/durken1/) +* * Hardware Supported: pierce PCB 2.0 +* * Hardware Information: [pierce](https://github.com/durken1/pierce) +* +* Make example for this keyboard (after setting up your build environment): +* +* make pierce: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/pierce/rules.mk b/keyboards/pierce/rules.mk new file mode 100644 index 000000000000..7ac45aa7968d --- /dev/null +++ b/keyboards/pierce/rules.mk @@ -0,0 +1,41 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency. +F_CPU = 16000000 + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= no # Console for debug(+400) +COMMAND_ENABLE ?= no # Commands for debug and configuration +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality +AUDIO_ENABLE ?= no +RGBLIGHT_ENABLE ?= no +CUSTOM_MATRIX = lite + +SRC += matrix.c \ + i2c_slave.c \ + i2c_master.c From 188db8600bb638774f4facccd0fa82d4958ac096 Mon Sep 17 00:00:00 2001 From: durken Date: Wed, 4 May 2022 20:04:04 +0200 Subject: [PATCH 2/9] add license headers, misc cleanup --- keyboards/pierce/config.h | 31 +++-- keyboards/pierce/halconf.h | 24 ---- keyboards/pierce/info.json | 50 ++++++++ keyboards/pierce/keymaps/default/config.h | 27 ++-- keyboards/pierce/keymaps/default/keymap.c | 27 +++- keyboards/pierce/keymaps/durken1/config.h | 16 +++ keyboards/pierce/keymaps/durken1/keymap.c | 66 ++++++---- keyboards/pierce/matrix.c | 143 +++++----------------- keyboards/pierce/pierce.c | 16 +++ keyboards/pierce/pierce.h | 21 +++- keyboards/pierce/readme.md | 34 +++-- keyboards/pierce/rules.mk | 4 +- 12 files changed, 255 insertions(+), 204 deletions(-) delete mode 100644 keyboards/pierce/halconf.h create mode 100644 keyboards/pierce/info.json diff --git a/keyboards/pierce/config.h b/keyboards/pierce/config.h index d8ab336702a8..badc9262ad06 100644 --- a/keyboards/pierce/config.h +++ b/keyboards/pierce/config.h @@ -1,5 +1,20 @@ -#ifndef CONFIG_H -#define CONFIG_H +/* Copyright 2022 durken (https://github.com/durken1/) + * + * 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" @@ -9,7 +24,6 @@ #define DEVICE_VER 0x0001 #define MANUFACTURER durken #define PRODUCT pierce -#define DESCRIPTION keyboard /* key matrix size */ #define MATRIX_ROWS 4 @@ -23,14 +37,5 @@ /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW -/* number of backlight levels */ - -#ifdef BACKLIGHT_PIN -#define BACKLIGHT_LEVELS 3 -#endif - /* Set 0 if debouncing isn't needed */ -#define DEBOUNCING_DELAY 5 - - -#endif +#define DEBOUNCE 5 diff --git a/keyboards/pierce/halconf.h b/keyboards/pierce/halconf.h deleted file mode 100644 index 920c31d8da26..000000000000 --- a/keyboards/pierce/halconf.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2020 QMK - * - * 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/cannonkeys/ortho75/halconf.h -r platforms/chibios/common/configs/halconf.h` - */ - -#pragma once - -#define HAL_USE_I2C diff --git a/keyboards/pierce/info.json b/keyboards/pierce/info.json new file mode 100644 index 000000000000..6378c8fdf238 --- /dev/null +++ b/keyboards/pierce/info.json @@ -0,0 +1,50 @@ +{ + "keyboard_name": "pierce", + "url": "https://github.com/durken1/pierce", + "maintainer": "durken1", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":1}, + {"x":1, "y":0.63}, + {"x":2, "y":0.5}, + {"x":3, "y":0.63}, + {"x":4, "y":0.75}, + {"x":7, "y":0.75}, + {"x":8, "y":0.63}, + {"x":9, "y":0.5}, + {"x":10, "y":0.63}, + {"x":11, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":1.63}, + {"x":2, "y":1.5}, + {"x":3, "y":1.63}, + {"x":4, "y":1.75}, + {"x":7, "y":1.75}, + {"x":8, "y":1.63}, + {"x":9, "y":1.5}, + {"x":10, "y":1.63}, + {"x":11, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":2.63}, + {"x":2, "y":2.5}, + {"x":3, "y":2.63}, + {"x":4, "y":2.75}, + {"x":7, "y":2.75}, + {"x":8, "y":2.63}, + {"x":9, "y":2.5}, + {"x":10, "y":2.63}, + {"x":11, "y":3}, + + {"x":2.5, "y":3.66}, + {"x":3.5, "y":4.0}, + {"x":4.5, "y":4.25}, + + {"x":7.5, "y":4.0}, + {"x":6.5, "y":4.25}, + {"x":8.5, "y":3.66}] + } + } +} diff --git a/keyboards/pierce/keymaps/default/config.h b/keyboards/pierce/keymaps/default/config.h index 4fba137bbfb6..217dd4febe17 100644 --- a/keyboards/pierce/keymaps/default/config.h +++ b/keyboards/pierce/keymaps/default/config.h @@ -1,16 +1,21 @@ -#pragma once +/* Copyright 2022 durken (https://github.com/durken1/) + * + * 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 // default but important #define TAPPING_TERM 220 -// Prevent normal rollover on alphas from accidentally triggering mods. -#define IGNORE_MOD_TAP_INTERRUPT - -// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. -#define TAPPING_FORCE_HOLD - -#define PERMISSIVE_HOLD - -// Recommended for heavy chording. -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/pierce/keymaps/default/keymap.c b/keyboards/pierce/keymaps/default/keymap.c index 2cb89f3ce03b..2b704c5efd6a 100644 --- a/keyboards/pierce/keymaps/default/keymap.c +++ b/keyboards/pierce/keymaps/default/keymap.c @@ -1,5 +1,28 @@ +/* Copyright 2022 durken (https://github.com/durken1/) + * + * 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 -enum layers { BASE, MBO, SYM, NUM, FN, }; + +enum layers { + BASE, + MBO, + SYM, + NUM, + FN +}; #define NUM_SPC LT(NUM, KC_SPC) #define FN_ENT LT(FN, KC_ENT) @@ -7,7 +30,7 @@ enum layers { BASE, MBO, SYM, NUM, FN, }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT( - // Colemak Mod-DH + // Base //,--------------------------------------------, ,--------------------------------------------. KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| diff --git a/keyboards/pierce/keymaps/durken1/config.h b/keyboards/pierce/keymaps/durken1/config.h index 2652f4cd5b04..7d19a0b83b11 100644 --- a/keyboards/pierce/keymaps/durken1/config.h +++ b/keyboards/pierce/keymaps/durken1/config.h @@ -1,3 +1,19 @@ +/* Copyright 2022 durken (https://github.com/durken1/) + * + * 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 // default but important diff --git a/keyboards/pierce/keymaps/durken1/keymap.c b/keyboards/pierce/keymaps/durken1/keymap.c index d622e3f41377..fcb191d3b00f 100644 --- a/keyboards/pierce/keymaps/durken1/keymap.c +++ b/keyboards/pierce/keymaps/durken1/keymap.c @@ -1,3 +1,19 @@ +/* Copyright 2022 durken (https://github.com/durken1/) + * + * 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 "keymap_swedish.h" @@ -5,37 +21,44 @@ #include "ps2_mouse.h" #endif -//#if defined AUTO_BUTTONS -//#include USER_NAME_H // for AUTO_BUTTONS_LAYER -//#endif - #if defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE static uint16_t auto_buttons_timer; extern int tp_buttons; // mousekey button state set in action.c and used in ps2_mouse.c -enum layers { BASE, MBO, SYM, NUM, FN, }; -enum combos { WF_ARNG, UK_ADIA, HC_ODIA }; +enum layers { + BASE, + MBO, + SYM, + NUM, + FN +}; + +enum combos { + WF_ARNG, + EI_ADIA, + UK_ODIA +}; void ps2_mouse_moved_user(report_mouse_t *mouse_report) { - if (auto_buttons_timer) { - auto_buttons_timer = timer_read(); - } else { - if (!tp_buttons) { - layer_on(MBO); - auto_buttons_timer = timer_read(); + if (auto_buttons_timer) { + auto_buttons_timer = timer_read(); + } else { + if (!tp_buttons) { + layer_on(MBO); + auto_buttons_timer = timer_read(); + } } - } } void matrix_scan_user(void) { - if (auto_buttons_timer && (timer_elapsed(auto_buttons_timer) > AUTO_BUTTONS_TIMEOUT)) { - if (!tp_buttons) { - layer_off(MBO); - auto_buttons_timer = 0; + if (auto_buttons_timer && (timer_elapsed(auto_buttons_timer) > AUTO_BUTTONS_TIMEOUT)) { + if (!tp_buttons) { + layer_off(MBO); + auto_buttons_timer = 0; + } } - } } #endif // defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE @@ -59,15 +82,16 @@ void matrix_scan_user(void) { const uint16_t PROGMEM arng_combo[] = {ALT_R, SFT_S, COMBO_END}; const uint16_t PROGMEM adia_combo[] = {SFT_E, ALT_I, COMBO_END}; const uint16_t PROGMEM odia_combo[] = {SE_U, SE_K, COMBO_END}; + combo_t key_combos[COMBO_COUNT] = { [WF_ARNG] = COMBO(arng_combo, SE_ARNG), - [UK_ADIA] = COMBO(adia_combo, SE_ADIA), - [HC_ODIA] = COMBO(odia_combo, SE_ODIA) + [EI_ADIA] = COMBO(adia_combo, SE_ADIA), + [UK_ODIA] = COMBO(odia_combo, SE_ODIA) }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT( - // Colemak Mod-DH + // BASE //,--------------------------------------------, ,--------------------------------------------. SE_Q, SE_W, SE_F, SE_P, SE_B, SE_Y, SE_L, SE_U, SE_K, SE_QUOT, //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| diff --git a/keyboards/pierce/matrix.c b/keyboards/pierce/matrix.c index 341a546f254a..5023024b8b5a 100644 --- a/keyboards/pierce/matrix.c +++ b/keyboards/pierce/matrix.c @@ -1,130 +1,43 @@ -/* -Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar +/* Copyright 2022 durken (https://github.com/durken1/) + * + * 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 . + */ -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 -#include -#include "util.h" -#include "matrix.h" -#include "debounce.h" #include "quantum.h" #include "i2c_slave.h" -#include "i2c_master.h" #define MY_I2C_ADDRESS (0x20U << 1) -static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; - -/* matrix state(1:on, 0:off) */ -extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values - -static inline void setPinOutput_writeLow(pin_t pin) { - ATOMIC_BLOCK_FORCEON { - setPinOutput(pin); - writePinLow(pin); - } -} - -static inline void setPinInputHigh_atomic(pin_t pin) { - ATOMIC_BLOCK_FORCEON { setPinInputHigh(pin); } -} - -// matrix code -static void select_row(uint8_t row) { setPinOutput_writeLow(row_pins[row]); } - -static void unselect_row(uint8_t row) { setPinInputHigh_atomic(row_pins[row]); } - -static void unselect_rows(void) { - for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh_atomic(row_pins[x]); - } -} - -static void init_pins(void) { - unselect_rows(); - for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh_atomic(col_pins[x]); - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - // Start with a clear matrix row - matrix_row_t current_row_value = 0; - - // Select row - select_row(current_row); - matrix_output_select_delay(); - - // For each col... - for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - // Select the col pin to read (active low) - uint8_t pin_state = readPin(col_pins[col_index]); - - // Populate the matrix row with the state of the col pin - current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); - } - - // Unselect row - unselect_row(current_row); - if (current_row + 1 < MATRIX_ROWS) { - // matrix_output_unselect_delay(); // wait for row signal to go HIGH - matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for all Col signals to go HIGH - } - - // Inject scanned matrix from wireless module - current_row_value |= (((matrix_row_t)(i2c_slave_reg[current_row+4])) << 5); - current_row_value |= ((matrix_row_t)i2c_slave_reg[current_row]); - - // If the row has changed, store the row and return the changed flag. - if (current_matrix[current_row] != current_row_value) { - current_matrix[current_row] = current_row_value; - return true; - } - return false; -} - void matrix_init_custom(void) { - //i2c_init(); i2c_slave_init(MY_I2C_ADDRESS); - sei(); - // initialize key pins - init_pins(); - - // initialize matrix state: all keys off - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - raw_matrix[i] = 0; - matrix[i] = 0; - } - - debounce_init(MATRIX_ROWS); - - matrix_init_quantum(); } -uint8_t matrix_scan_custom(void) { - bool changed = false; - // Set row, read cols +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + bool matrix_has_changed = false; + matrix_row_t current_row_value; + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { - changed |= read_cols_on_row(raw_matrix, current_row); - } + current_row_value = 0; // Start with empty row + current_row_value |= (((matrix_row_t)(i2c_slave_reg[current_row+4])) << 5); // Add left half scan + current_row_value |= ((matrix_row_t)i2c_slave_reg[current_row]); // Add right half scan - debounce(raw_matrix, matrix, MATRIX_ROWS, changed); + if (current_matrix[current_row] != current_row_value) { + matrix_has_changed = true; + } + current_matrix[current_row] = current_row_value; + } - matrix_scan_quantum(); - return (uint8_t)changed; + return matrix_has_changed; } diff --git a/keyboards/pierce/pierce.c b/keyboards/pierce/pierce.c index 56fabe39d05a..085ca9cdeceb 100644 --- a/keyboards/pierce/pierce.c +++ b/keyboards/pierce/pierce.c @@ -1 +1,17 @@ +/* Copyright 2022 durken (https://github.com/durken1/) + * + * 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 "pierce.h" diff --git a/keyboards/pierce/pierce.h b/keyboards/pierce/pierce.h index 8a82be33dd30..a56990b10e92 100644 --- a/keyboards/pierce/pierce.h +++ b/keyboards/pierce/pierce.h @@ -1,5 +1,20 @@ -#ifndef pierce_H -#define pierce_H +/* Copyright 2022 durken (https://github.com/durken1/) + * + * 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" @@ -14,5 +29,3 @@ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ { KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO } \ } - -#endif diff --git a/keyboards/pierce/readme.md b/keyboards/pierce/readme.md index 5a961792c69e..520548aa0bbc 100644 --- a/keyboards/pierce/readme.md +++ b/keyboards/pierce/readme.md @@ -1,16 +1,26 @@ # Pierce ![Pierce](https://i.imgur.com/JOUH1UI.jpeg) +*A modular wireless / semi-wireless split 36 key keyboard. Wireless version uses a dongle as a receiver for both halves while the semi-wireless version uses the wired half as a receiver for the wireless half. +Supports MX, Choc V1 and Alps switches.* -A modular wireless / semi-wireless split 36 key keyboard. Wireless version uses a dongle as a receiver for both halves while the semi-wireless version uses the wired half as a receiver for the wireless half. -Supports MX, Choc V1 and Alps switches. - -* Keyboard Maintainer: [durken1](https://github.com/durken1/) -* * Hardware Supported: pierce PCB 2.0 -* * Hardware Information: [pierce](https://github.com/durken1/pierce) -* -* Make example for this keyboard (after setting up your build environment): -* -* make pierce: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). + * Keyboard Maintainer: [durken1](https://github.com/durken1/) + * Hardware Supported: pierce 2.0 + * Hardware Information: [pierce](https://github.com/durken1/pierce) + +Make example for this keyboard (after setting up your build environment): + + make pierce:default + +Flashing example for this keyboard: + + make pierce: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 2 ways: + +* **Physical reset button**: Briefly press the button on the dongle / wired half +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/pierce/rules.mk b/keyboards/pierce/rules.mk index 7ac45aa7968d..c728ec788db4 100644 --- a/keyboards/pierce/rules.mk +++ b/keyboards/pierce/rules.mk @@ -36,6 +36,6 @@ AUDIO_ENABLE ?= no RGBLIGHT_ENABLE ?= no CUSTOM_MATRIX = lite +# project specific files SRC += matrix.c \ - i2c_slave.c \ - i2c_master.c + i2c_slave.c From 9e203de76ef05594ab58e16028d062e788a571ae Mon Sep 17 00:00:00 2001 From: durken Date: Thu, 5 May 2022 08:26:23 +0200 Subject: [PATCH 3/9] simplify default keymap --- keyboards/pierce/keymaps/default/keymap.c | 50 +---------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/keyboards/pierce/keymaps/default/keymap.c b/keyboards/pierce/keymaps/default/keymap.c index 2b704c5efd6a..003f7102d2b2 100644 --- a/keyboards/pierce/keymaps/default/keymap.c +++ b/keyboards/pierce/keymaps/default/keymap.c @@ -18,16 +18,8 @@ enum layers { BASE, - MBO, - SYM, - NUM, - FN }; -#define NUM_SPC LT(NUM, KC_SPC) -#define FN_ENT LT(FN, KC_ENT) -#define SYM_BSP LT(SYM, KC_BSPC) - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT( // Base @@ -38,48 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_ESC, NUM_SPC, KC_TAB, FN_ENT, SYM_BSP, KC_DEL - //`--------------------------' '--------------------------' - - ), - - - [SYM] = LAYOUT( - // Symbols - //,--------------------------------------------, ,--------------------------------------------. - _______, _______, KC_SLSH, KC_TILD, _______, _______, KC_PIPE, KC_BSLS, KC_CIRC, _______, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - KC_EXLM, KC_DLR, KC_LPRN, KC_LBRC, _______, _______, KC_RBRC, KC_RPRN, KC_HASH, KC_QUES, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - _______, KC_PERC, KC_LCBR, KC_LABK, _______, _______, KC_RABK, KC_RCBR, KC_AMPR, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_AT, KC_EQL, KC_DQUO, _______, _______, _______ - //`--------------------------' '--------------------------' - ), - - [NUM] = LAYOUT( - // Numbers - //,--------------------------------------------, ,--------------------------------------------. - _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - KC_PLUS, KC_MINS, KC_ASTR, KC_SLSH, _______, _______, KC_4, KC_5, KC_6, _______, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - _______, _______, KC_VOLD, KC_VOLU, _______, KC_SPC, KC_1, KC_2, KC_3, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, KC_COMM, KC_0, KC_DOT + KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL //`--------------------------' '--------------------------' - ), - [FN] = LAYOUT( - // FN - //,--------------------------------------------, ,--------------------------------------------. - _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_F4, KC_F5, KC_F6, KC_F11, - //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_PSCR, KC_CAPS, _______, _______, _______, _______ - //`--------------------------' '--------------------------' ) }; From 96523ec742dbe53f30e6f7a70e5496712fccb7f1 Mon Sep 17 00:00:00 2001 From: durken Date: Fri, 6 May 2022 09:26:17 +0200 Subject: [PATCH 4/9] remove superflous code from rules.mk, config.h. adjust layout macro name --- keyboards/pierce/config.h | 5 ----- keyboards/pierce/info.json | 2 +- keyboards/pierce/keymaps/default/config.h | 4 ---- keyboards/pierce/keymaps/default/rules.mk | 1 - keyboards/pierce/keymaps/durken1/rules.mk | 2 -- keyboards/pierce/pierce.h | 4 +++- keyboards/pierce/rules.mk | 25 ----------------------- 7 files changed, 4 insertions(+), 39 deletions(-) diff --git a/keyboards/pierce/config.h b/keyboards/pierce/config.h index badc9262ad06..242b2ebf923c 100644 --- a/keyboards/pierce/config.h +++ b/keyboards/pierce/config.h @@ -29,11 +29,6 @@ #define MATRIX_ROWS 4 #define MATRIX_COLS 10 -/* key matrix pins */ -#define MATRIX_ROW_PINS { F4, F5, F6, F7 } -#define MATRIX_COL_PINS { B1, B3, B2, B6, B5, B4, E6, D7, C6, D4 } -#define UNUSED_PINS - /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/pierce/info.json b/keyboards/pierce/info.json index 6378c8fdf238..7179076794e2 100644 --- a/keyboards/pierce/info.json +++ b/keyboards/pierce/info.json @@ -3,7 +3,7 @@ "url": "https://github.com/durken1/pierce", "maintainer": "durken1", "layouts": { - "LAYOUT": { + "LAYOUT_split_3x5_3": { "layout": [ {"x":0, "y":1}, {"x":1, "y":0.63}, diff --git a/keyboards/pierce/keymaps/default/config.h b/keyboards/pierce/keymaps/default/config.h index 217dd4febe17..782e8e39c86b 100644 --- a/keyboards/pierce/keymaps/default/config.h +++ b/keyboards/pierce/keymaps/default/config.h @@ -15,7 +15,3 @@ */ #pragma once - -// default but important -#define TAPPING_TERM 220 - diff --git a/keyboards/pierce/keymaps/default/rules.mk b/keyboards/pierce/keymaps/default/rules.mk index a05fa2668103..e69de29bb2d1 100644 --- a/keyboards/pierce/keymaps/default/rules.mk +++ b/keyboards/pierce/keymaps/default/rules.mk @@ -1 +0,0 @@ -EXTRAKEY_ENABLE = yes # Audio control and System control diff --git a/keyboards/pierce/keymaps/durken1/rules.mk b/keyboards/pierce/keymaps/durken1/rules.mk index 44a4151d4ce6..e68f6623cd37 100644 --- a/keyboards/pierce/keymaps/durken1/rules.mk +++ b/keyboards/pierce/keymaps/durken1/rules.mk @@ -3,8 +3,6 @@ TRACKPOINT = yes AUTO_BUTTONS = yes COMBO_ENABLE = yes -USER_NAME := durken1 - ifeq ($(strip $(TRACKPOINT)), yes) PS2_MOUSE_ENABLE = yes PS2_USE_USART = yes diff --git a/keyboards/pierce/pierce.h b/keyboards/pierce/pierce.h index a56990b10e92..dc8d3a75eb89 100644 --- a/keyboards/pierce/pierce.h +++ b/keyboards/pierce/pierce.h @@ -18,7 +18,7 @@ #include "quantum.h" -#define LAYOUT( \ +#define LAYOUT_split_3x5_3( \ 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, \ @@ -29,3 +29,5 @@ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ { KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO } \ } + +#define LAYOUT LAYOUT_split_3x5_3 diff --git a/keyboards/pierce/rules.mk b/keyboards/pierce/rules.mk index c728ec788db4..732cd369c4bc 100644 --- a/keyboards/pierce/rules.mk +++ b/keyboards/pierce/rules.mk @@ -1,39 +1,14 @@ # MCU name MCU = atmega32u4 -# Processor frequency. -F_CPU = 16000000 - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -F_USB = $(F_CPU) - -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - - -# Boot Section Size in *bytes* -OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - # Build Options # comment out to disable the options. # BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) -EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) CONSOLE_ENABLE ?= no # Console for debug(+400) COMMAND_ENABLE ?= no # Commands for debug and configuration -SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality -AUDIO_ENABLE ?= no -RGBLIGHT_ENABLE ?= no CUSTOM_MATRIX = lite # project specific files From 8f74ffad46bac708bd2082a25bf4a19eb99a5ea1 Mon Sep 17 00:00:00 2001 From: durken Date: Wed, 11 May 2022 17:01:31 +0200 Subject: [PATCH 5/9] adjust rules.mk --- keyboards/pierce/rules.mk | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/keyboards/pierce/rules.mk b/keyboards/pierce/rules.mk index 732cd369c4bc..56c173529ce6 100644 --- a/keyboards/pierce/rules.mk +++ b/keyboards/pierce/rules.mk @@ -1,16 +1,22 @@ # MCU name MCU = atmega32u4 +# Bootloader selection +BOOTLOADER = atmel-dfu + # Build Options -# comment out to disable the options. +# change yes to no to disable # -BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) -CONSOLE_ENABLE ?= no # Console for debug(+400) -COMMAND_ENABLE ?= no # Commands for debug and configuration -NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -CUSTOM_MATRIX = 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 +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 = no # Audio output -# project specific files -SRC += matrix.c \ - i2c_slave.c +CUSTOM_MATRIX = lite +SRC += matrix.c +QUANTUM_LIB_SRC += i2c_slave.c From 13c18084fcc58c4d8e79beb2dcd35da175a7862f Mon Sep 17 00:00:00 2001 From: durken Date: Tue, 17 May 2022 18:22:36 +0200 Subject: [PATCH 6/9] add post_rules.mk --- keyboards/pierce/keymaps/default/rules.mk | 4 ++++ keyboards/pierce/keymaps/durken1/rules.mk | 10 ---------- keyboards/pierce/post_rules.mk | 11 +++++++++++ 3 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 keyboards/pierce/post_rules.mk diff --git a/keyboards/pierce/keymaps/default/rules.mk b/keyboards/pierce/keymaps/default/rules.mk index e69de29bb2d1..23bbc3df9514 100644 --- a/keyboards/pierce/keymaps/default/rules.mk +++ b/keyboards/pierce/keymaps/default/rules.mk @@ -0,0 +1,4 @@ +EXTRAKEY_ENABLE = no # Audio control and System control +TRACKPOINT = no +AUTO_BUTTONS = no +COMBO_ENABLE = no diff --git a/keyboards/pierce/keymaps/durken1/rules.mk b/keyboards/pierce/keymaps/durken1/rules.mk index e68f6623cd37..f82c733111ed 100644 --- a/keyboards/pierce/keymaps/durken1/rules.mk +++ b/keyboards/pierce/keymaps/durken1/rules.mk @@ -3,13 +3,3 @@ TRACKPOINT = yes AUTO_BUTTONS = yes COMBO_ENABLE = yes -ifeq ($(strip $(TRACKPOINT)), yes) - PS2_MOUSE_ENABLE = yes - PS2_USE_USART = yes - OPT_DEFS += -DUSART -endif - -ifeq ($(strip $(AUTO_BUTTONS)), yes) - OPT_DEFS += -DAUTO_BUTTONS -endif - diff --git a/keyboards/pierce/post_rules.mk b/keyboards/pierce/post_rules.mk new file mode 100644 index 000000000000..e0360a339191 --- /dev/null +++ b/keyboards/pierce/post_rules.mk @@ -0,0 +1,11 @@ +ifeq ($(strip $(TRACKPOINT)), yes) + PS2_MOUSE_ENABLE = yes + PS2_USE_USART = yes + OPT_DEFS += -DUSART +endif + +ifeq ($(strip $(AUTO_BUTTONS)), yes) + OPT_DEFS += -DAUTO_BUTTONS +endif + + From b2ce9cb0f5a7be530fb3ee2103109149fa1f2e55 Mon Sep 17 00:00:00 2001 From: durken Date: Fri, 20 May 2022 07:49:47 +0200 Subject: [PATCH 7/9] rename LAYOUT, adjust durken1 keymap --- keyboards/pierce/keymaps/default/keymap.c | 2 +- keyboards/pierce/keymaps/default/rules.mk | 3 +-- keyboards/pierce/keymaps/durken1/keymap.c | 33 +++++++++++------------ keyboards/pierce/keymaps/durken1/rules.mk | 2 +- keyboards/pierce/pierce.h | 2 -- keyboards/pierce/rules.mk | 2 ++ 6 files changed, 21 insertions(+), 23 deletions(-) diff --git a/keyboards/pierce/keymaps/default/keymap.c b/keyboards/pierce/keymaps/default/keymap.c index 003f7102d2b2..69ff60113bd0 100644 --- a/keyboards/pierce/keymaps/default/keymap.c +++ b/keyboards/pierce/keymaps/default/keymap.c @@ -21,7 +21,7 @@ enum layers { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT( + [BASE] = LAYOUT_split_3x5_3( // Base //,--------------------------------------------, ,--------------------------------------------. KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, diff --git a/keyboards/pierce/keymaps/default/rules.mk b/keyboards/pierce/keymaps/default/rules.mk index 23bbc3df9514..bb14ebebcdd3 100644 --- a/keyboards/pierce/keymaps/default/rules.mk +++ b/keyboards/pierce/keymaps/default/rules.mk @@ -1,4 +1,3 @@ -EXTRAKEY_ENABLE = no # Audio control and System control +# Change to yes to enable feature TRACKPOINT = no AUTO_BUTTONS = no -COMBO_ENABLE = no diff --git a/keyboards/pierce/keymaps/durken1/keymap.c b/keyboards/pierce/keymaps/durken1/keymap.c index fcb191d3b00f..a4f77753a81a 100644 --- a/keyboards/pierce/keymaps/durken1/keymap.c +++ b/keyboards/pierce/keymaps/durken1/keymap.c @@ -17,16 +17,6 @@ #include QMK_KEYBOARD_H #include "keymap_swedish.h" -#if defined PS2_MOUSE_ENABLE -#include "ps2_mouse.h" -#endif - -#if defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE - -static uint16_t auto_buttons_timer; -extern int tp_buttons; // mousekey button state set in action.c and used in ps2_mouse.c - - enum layers { BASE, MBO, @@ -41,6 +31,15 @@ enum combos { UK_ODIA }; +#if defined PS2_MOUSE_ENABLE +#include "ps2_mouse.h" +#endif + +#if defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE + +static uint16_t auto_buttons_timer; +extern int tp_buttons; // mousekey button state set in action.c and used in ps2_mouse.c + void ps2_mouse_moved_user(report_mouse_t *mouse_report) { if (auto_buttons_timer) { auto_buttons_timer = timer_read(); @@ -63,13 +62,13 @@ void matrix_scan_user(void) { #endif // defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE -// Left-hand home row mods colemak +// Left-hand home row mods #define GUI_A LGUI_T(KC_A) #define ALT_R LALT_T(KC_R) #define SFT_S LSFT_T(KC_S) #define CTRL_T LCTL_T(KC_T) -// Right-hand home row mods colemak +// Right-hand home row mods #define CTL_N RCTL_T(KC_N) #define SFT_E RSFT_T(KC_E) #define ALT_I LALT_T(KC_I) @@ -90,7 +89,7 @@ combo_t key_combos[COMBO_COUNT] = { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT( + [BASE] = LAYOUT_split_3x5_3( // BASE //,--------------------------------------------, ,--------------------------------------------. SE_Q, SE_W, SE_F, SE_P, SE_B, SE_Y, SE_L, SE_U, SE_K, SE_QUOT, @@ -105,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), - [MBO] = LAYOUT( + [MBO] = LAYOUT_split_3x5_3( // Mouse //,--------------------------------------------, ,--------------------------------------------. _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, @@ -119,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), - [SYM] = LAYOUT( + [SYM] = LAYOUT_split_3x5_3( // Symbols //,--------------------------------------------, ,--------------------------------------------. SE_SECT, SE_ACUT, SE_SLSH, SE_TILD, _______, _______, SE_PIPE, SE_BSLS, SE_DIAE, SE_CIRC, @@ -132,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' '--------------------------' ), - [NUM] = LAYOUT( + [NUM] = LAYOUT_split_3x5_3( // Numbers //,--------------------------------------------, ,--------------------------------------------. _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, SE_7, SE_8, SE_9, SE_QUOT, @@ -145,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' '--------------------------' ), - [FN] = LAYOUT( + [FN] = LAYOUT_split_3x5_3( // FN //,--------------------------------------------, ,--------------------------------------------. _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, diff --git a/keyboards/pierce/keymaps/durken1/rules.mk b/keyboards/pierce/keymaps/durken1/rules.mk index f82c733111ed..bb2480336527 100644 --- a/keyboards/pierce/keymaps/durken1/rules.mk +++ b/keyboards/pierce/keymaps/durken1/rules.mk @@ -1,5 +1,5 @@ +# Change to yes to enable feature EXTRAKEY_ENABLE = yes # Audio control and System control TRACKPOINT = yes AUTO_BUTTONS = yes COMBO_ENABLE = yes - diff --git a/keyboards/pierce/pierce.h b/keyboards/pierce/pierce.h index dc8d3a75eb89..edb4151740f5 100644 --- a/keyboards/pierce/pierce.h +++ b/keyboards/pierce/pierce.h @@ -29,5 +29,3 @@ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ { KC_NO, KC_NO, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO } \ } - -#define LAYOUT LAYOUT_split_3x5_3 diff --git a/keyboards/pierce/rules.mk b/keyboards/pierce/rules.mk index 56c173529ce6..47546919a8ab 100644 --- a/keyboards/pierce/rules.mk +++ b/keyboards/pierce/rules.mk @@ -20,3 +20,5 @@ AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = lite SRC += matrix.c QUANTUM_LIB_SRC += i2c_slave.c + +LAYOUTS = split_3x5_3 From f32c9c67626f28e9c6b77da2f77caed546c76ed9 Mon Sep 17 00:00:00 2001 From: Dan Abrahamsson Date: Tue, 7 Jun 2022 14:10:28 +0200 Subject: [PATCH 8/9] small cleanup --- keyboards/pierce/keymaps/default/config.h | 17 ----------------- keyboards/pierce/keymaps/default/rules.mk | 1 - keyboards/pierce/keymaps/durken1/rules.mk | 3 +-- 3 files changed, 1 insertion(+), 20 deletions(-) delete mode 100644 keyboards/pierce/keymaps/default/config.h diff --git a/keyboards/pierce/keymaps/default/config.h b/keyboards/pierce/keymaps/default/config.h deleted file mode 100644 index 782e8e39c86b..000000000000 --- a/keyboards/pierce/keymaps/default/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2022 durken (https://github.com/durken1/) - * - * 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/pierce/keymaps/default/rules.mk b/keyboards/pierce/keymaps/default/rules.mk index bb14ebebcdd3..0ba59d4e7e59 100644 --- a/keyboards/pierce/keymaps/default/rules.mk +++ b/keyboards/pierce/keymaps/default/rules.mk @@ -1,3 +1,2 @@ -# Change to yes to enable feature TRACKPOINT = no AUTO_BUTTONS = no diff --git a/keyboards/pierce/keymaps/durken1/rules.mk b/keyboards/pierce/keymaps/durken1/rules.mk index bb2480336527..bea18c02d1ff 100644 --- a/keyboards/pierce/keymaps/durken1/rules.mk +++ b/keyboards/pierce/keymaps/durken1/rules.mk @@ -1,5 +1,4 @@ -# Change to yes to enable feature -EXTRAKEY_ENABLE = yes # Audio control and System control +EXTRAKEY_ENABLE = yes TRACKPOINT = yes AUTO_BUTTONS = yes COMBO_ENABLE = yes From 71bc5b60800d779fcd6249ba1726189763a9ad34 Mon Sep 17 00:00:00 2001 From: durken1 <71756879+durken1@users.noreply.github.com> Date: Tue, 7 Jun 2022 14:11:20 +0200 Subject: [PATCH 9/9] Update readme.md Co-authored-by: Ryan --- keyboards/pierce/readme.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/keyboards/pierce/readme.md b/keyboards/pierce/readme.md index 520548aa0bbc..351bacbfa060 100644 --- a/keyboards/pierce/readme.md +++ b/keyboards/pierce/readme.md @@ -1,8 +1,9 @@ # Pierce -![Pierce](https://i.imgur.com/JOUH1UI.jpeg) -*A modular wireless / semi-wireless split 36 key keyboard. Wireless version uses a dongle as a receiver for both halves while the semi-wireless version uses the wired half as a receiver for the wireless half. -Supports MX, Choc V1 and Alps switches.* +![Pierce](https://i.imgur.com/JOUH1UIh.jpeg) + +A modular wireless / semi-wireless split 36 key keyboard. Wireless version uses a dongle as a receiver for both halves while the semi-wireless version uses the wired half as a receiver for the wireless half. +Supports MX, Choc V1 and Alps switches. * Keyboard Maintainer: [durken1](https://github.com/durken1/) * Hardware Supported: pierce 2.0