diff options
| -rw-r--r-- | keyboards/pierce/config.h | 36 | ||||
| -rw-r--r-- | keyboards/pierce/info.json | 50 | ||||
| -rw-r--r-- | keyboards/pierce/keymaps/default/keymap.c | 37 | ||||
| -rw-r--r-- | keyboards/pierce/keymaps/default/rules.mk | 2 | ||||
| -rw-r--r-- | keyboards/pierce/keymaps/durken1/config.h | 77 | ||||
| -rw-r--r-- | keyboards/pierce/keymaps/durken1/keymap.c | 159 | ||||
| -rw-r--r-- | keyboards/pierce/keymaps/durken1/rules.mk | 4 | ||||
| -rw-r--r-- | keyboards/pierce/matrix.c | 43 | ||||
| -rw-r--r-- | keyboards/pierce/pierce.c | 17 | ||||
| -rw-r--r-- | keyboards/pierce/pierce.h | 31 | ||||
| -rw-r--r-- | keyboards/pierce/post_rules.mk | 11 | ||||
| -rw-r--r-- | keyboards/pierce/readme.md | 27 | ||||
| -rw-r--r-- | keyboards/pierce/rules.mk | 24 | 
13 files changed, 518 insertions, 0 deletions
| diff --git a/keyboards/pierce/config.h b/keyboards/pierce/config.h new file mode 100644 index 0000000000..242b2ebf92 --- /dev/null +++ b/keyboards/pierce/config.h @@ -0,0 +1,36 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#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 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 10 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 diff --git a/keyboards/pierce/info.json b/keyboards/pierce/info.json new file mode 100644 index 0000000000..7179076794 --- /dev/null +++ b/keyboards/pierce/info.json @@ -0,0 +1,50 @@ +{ +    "keyboard_name": "pierce",  +    "url": "https://github.com/durken1/pierce",  +    "maintainer": "durken1",  +    "layouts": { +        "LAYOUT_split_3x5_3": { +            "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/keymap.c b/keyboards/pierce/keymaps/default/keymap.c new file mode 100644 index 0000000000..69ff60113b --- /dev/null +++ b/keyboards/pierce/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + +#include QMK_KEYBOARD_H + +enum layers {  +    BASE,  +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +  [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, +  //|--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------| +         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,  KC_SPC,  KC_TAB,     KC_ENT, KC_BSPC,  KC_DEL +                             //`--------------------------'  '--------------------------' + +  ) +}; diff --git a/keyboards/pierce/keymaps/default/rules.mk b/keyboards/pierce/keymaps/default/rules.mk new file mode 100644 index 0000000000..0ba59d4e7e --- /dev/null +++ b/keyboards/pierce/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +TRACKPOINT = no +AUTO_BUTTONS = no diff --git a/keyboards/pierce/keymaps/durken1/config.h b/keyboards/pierce/keymaps/durken1/config.h new file mode 100644 index 0000000000..7d19a0b83b --- /dev/null +++ b/keyboards/pierce/keymaps/durken1/config.h @@ -0,0 +1,77 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + +#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<<PS2_CLOCK_BIT);   \ +    PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT);     \ +    UCSR1C = ((1 << UMSEL10) |  \ +            (3 << UPM10)   |  \ +            (0 << USBS1)   |  \ +            (3 << UCSZ10)  |  \ +            (0 << UCPOL1));   \ +    UCSR1A = 0;                 \ +    UBRR1H = 0;                 \ +    UBRR1L = 0;                 \ +} while (0) +#define PS2_USART_RX_INT_ON() do {  \ +    UCSR1B = ((1 << RXCIE1) |       \ +            (1 << RXEN1));        \ +} while (0) +#define PS2_USART_RX_POLL_ON() do { \ +    UCSR1B = (1 << RXEN1);          \ +} while (0) +#define PS2_USART_OFF() do {    \ +    UCSR1C = 0;                 \ +    UCSR1B &= ~((1 << RXEN1) |  \ +            (1 << TXEN1));  \ +} while (0) +#define PS2_USART_RX_READY      (UCSR1A & (1<<RXC1)) +#define PS2_USART_RX_DATA       UDR1 +#define PS2_USART_ERROR         (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1))) +#define PS2_USART_RX_VECT       USART1_RX_vect +#endif + +#ifdef AUTO_BUTTONS +  #define AUTO_BUTTONS_TIMEOUT 750 +#endif + diff --git a/keyboards/pierce/keymaps/durken1/keymap.c b/keyboards/pierce/keymaps/durken1/keymap.c new file mode 100644 index 0000000000..a4f77753a8 --- /dev/null +++ b/keyboards/pierce/keymaps/durken1/keymap.c @@ -0,0 +1,159 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + +#include QMK_KEYBOARD_H +#include "keymap_swedish.h" + +enum layers {  +    BASE,  +    MBO,  +    SYM,  +    NUM,  +    FN +}; + +enum combos {  +    WF_ARNG,  +    EI_ADIA,  +    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(); +    } 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; +        } +    } +} + +#endif // defined AUTO_BUTTONS && defined PS2_MOUSE_ENABLE + +// 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 +#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), +	[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_split_3x5_3( + // BASE +  //,--------------------------------------------,                    ,--------------------------------------------. +         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_split_3x5_3( +  // Mouse +  //,--------------------------------------------,                    ,--------------------------------------------. +      _______, _______, _______, _______, _______,                      KC_BTN1, KC_BTN2, _______, _______, _______, +  //|--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------| +      _______, _______, _______, _______, _______,                      KC_BTN3, _______, _______, _______, _______, +  //|--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------| +      _______, _______, _______, _______, _______,                      _______, _______, _______, _______, _______, +  //|--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------| +                                 _______, _______, _______,    _______, KC_BSPC, _______ +                             //`--------------------------'  '--------------------------' + +  ), + +  [SYM] = LAYOUT_split_3x5_3( +  // 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_split_3x5_3( +  // 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_split_3x5_3( +  // 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 0000000000..bea18c02d1 --- /dev/null +++ b/keyboards/pierce/keymaps/durken1/rules.mk @@ -0,0 +1,4 @@ +EXTRAKEY_ENABLE = yes +TRACKPOINT = yes +AUTO_BUTTONS = yes +COMBO_ENABLE = yes diff --git a/keyboards/pierce/matrix.c b/keyboards/pierce/matrix.c new file mode 100644 index 0000000000..5023024b8b --- /dev/null +++ b/keyboards/pierce/matrix.c @@ -0,0 +1,43 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + +#include "quantum.h" +#include "i2c_slave.h" + +#define MY_I2C_ADDRESS (0x20U << 1) + +void matrix_init_custom(void) { +    i2c_slave_init(MY_I2C_ADDRESS); +} + + +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++) { +        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 + +        if (current_matrix[current_row] != current_row_value) { +            matrix_has_changed = true; +        } +        current_matrix[current_row] = current_row_value; +    } + +    return matrix_has_changed; +} diff --git a/keyboards/pierce/pierce.c b/keyboards/pierce/pierce.c new file mode 100644 index 0000000000..085ca9cdec --- /dev/null +++ b/keyboards/pierce/pierce.c @@ -0,0 +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 <http://www.gnu.org/licenses/>. + */ + +#include "pierce.h" diff --git a/keyboards/pierce/pierce.h b/keyboards/pierce/pierce.h new file mode 100644 index 0000000000..edb4151740 --- /dev/null +++ b/keyboards/pierce/pierce.h @@ -0,0 +1,31 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "quantum.h" + +#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, \ +	            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 }  \ +} diff --git a/keyboards/pierce/post_rules.mk b/keyboards/pierce/post_rules.mk new file mode 100644 index 0000000000..e0360a3391 --- /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 + + diff --git a/keyboards/pierce/readme.md b/keyboards/pierce/readme.md new file mode 100644 index 0000000000..351bacbfa0 --- /dev/null +++ b/keyboards/pierce/readme.md @@ -0,0 +1,27 @@ +# Pierce + + + +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 + * 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 new file mode 100644 index 0000000000..47546919a8 --- /dev/null +++ b/keyboards/pierce/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +#   change yes to no to disable +# +BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes       # Mouse keys +EXTRAKEY_ENABLE = yes       # Audio control and System control +CONSOLE_ENABLE = no         # Console for debug +COMMAND_ENABLE = no         # Commands for debug and configuration +NKRO_ENABLE = yes           # Enable N-Key Rollover +BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow +AUDIO_ENABLE = no           # Audio output + +CUSTOM_MATRIX = lite +SRC += matrix.c +QUANTUM_LIB_SRC += i2c_slave.c + +LAYOUTS = split_3x5_3 | 
