From 3b165ed51b83a125624bf177f9464329f297ccaa Mon Sep 17 00:00:00 2001 From: Juan Pablo Kutianski Date: Sun, 24 Jul 2022 02:42:17 -0300 Subject: [PATCH] Added Johan von Konow 3DPCB Keyboard (#209) * Added Johan von Konow 3DPCB Keyboard * Added Johan von Konow 3DPCB Keyboard * Solve comments https://github.com/vial-kb/vial-qmk/pull/209#discussion_r928191530 & https://github.com/vial-kb/vial-qmk/pull/209#discussion_r928191540 & added EXTRAFLAGS += -flto * Solve comments https://github.com/vial-kb/vial-qmk/pull/209#discussion_r928191530 & https://github.com/vial-kb/vial-qmk/pull/209#discussion_r928191540 & added EXTRAFLAGS += -flto --- keyboards/handwired/3dpcb/3dpcb.c | 49 ++++++++ keyboards/handwired/3dpcb/3dpcb.h | 19 +++ keyboards/handwired/3dpcb/config.h | 46 +++++++ .../handwired/3dpcb/keymaps/default/keymap.c | 116 ++++++++++++++++++ .../handwired/3dpcb/keymaps/vial/config.h | 4 + .../handwired/3dpcb/keymaps/vial/keymap.c | 60 +++++++++ .../handwired/3dpcb/keymaps/vial/rules.mk | 6 + keyboards/handwired/3dpcb/rules.mk | 20 +++ 8 files changed, 320 insertions(+) create mode 100644 keyboards/handwired/3dpcb/3dpcb.c create mode 100644 keyboards/handwired/3dpcb/3dpcb.h create mode 100644 keyboards/handwired/3dpcb/config.h create mode 100644 keyboards/handwired/3dpcb/keymaps/default/keymap.c create mode 100644 keyboards/handwired/3dpcb/keymaps/vial/config.h create mode 100644 keyboards/handwired/3dpcb/keymaps/vial/keymap.c create mode 100644 keyboards/handwired/3dpcb/keymaps/vial/rules.mk create mode 100644 keyboards/handwired/3dpcb/rules.mk diff --git a/keyboards/handwired/3dpcb/3dpcb.c b/keyboards/handwired/3dpcb/3dpcb.c new file mode 100644 index 0000000000..bdbecee2d3 --- /dev/null +++ b/keyboards/handwired/3dpcb/3dpcb.c @@ -0,0 +1,49 @@ +#include "3dpcb.h" + +static uint16_t led_timer; +bool led_layer_state = false; + +// Blink at layer 1, 2 or 3 +void matrix_scan_kb(void) { + uint8_t layer = biton32(layer_state); + uint8_t usb_led = host_keyboard_leds(); + + if (timer_elapsed(led_timer) > LAYER_BLINK_TIME) { + switch (layer) { + case 1: + if (!led_layer_state) { + led_set(0); + } else { + led_set(2); + } + + led_layer_state = !led_layer_state; + break; + case 2: + if (!led_layer_state) { + led_set(0); + } else { + led_set(1); + } + + led_layer_state = !led_layer_state; + break; + case 3: + if (!led_layer_state) { + led_set(0); + } else { + led_set(3); + } + + led_layer_state = !led_layer_state; + break; + default: + led_set(usb_led); + led_layer_state = false; + } + + led_timer = timer_read(); + } + + matrix_scan_user(); +}; diff --git a/keyboards/handwired/3dpcb/3dpcb.h b/keyboards/handwired/3dpcb/3dpcb.h new file mode 100644 index 0000000000..9622bb4ca1 --- /dev/null +++ b/keyboards/handwired/3dpcb/3dpcb.h @@ -0,0 +1,19 @@ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, \ + K10, K11, K12, K13, K14, K15, \ + K20, K21, K22, K23, K24, K25, K26, \ + K30, K31, K32, K33, K34, K35, K36, \ + K40, K41, K42, K43, K44, K45, K46 \ +) { \ + { K00, K01, K02, K03, K04, K05, XXX }, \ + { K10, K11, K12, K13, K14, K15, XXX }, \ + { K20, K21, K22, K23, K24, K25, K26 }, \ + { K30, K31, K32, K33, K34, K35, K36 }, \ + { K40, K41, K42, K43, K44, K45, K46 } \ +} diff --git a/keyboards/handwired/3dpcb/config.h b/keyboards/handwired/3dpcb/config.h new file mode 100644 index 0000000000..1e4e9116e7 --- /dev/null +++ b/keyboards/handwired/3dpcb/config.h @@ -0,0 +1,46 @@ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Johan von Konow +#define PRODUCT 3DPCB Keyboard + +/* Layers */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 7 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D7, E6, B1, B2, B6 } +#define MATRIX_COL_PINS { D4, C6, F6, B5, F7, B4, B3 } +#define UNUSED_PINS + +// Leds definition +#define LED_NUM_LOCK_PIN B0 +#define LED_CAPS_LOCK_PIN D5 +#define LED_PIN_ON_STATE 0 +#define LAYER_BLINK_TIME 200 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* 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 + +/* Define MIDI level */ +#define MIDI_ADVANCED + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Use 1000hz polling */ +#define USB_POLLING_INTERVAL_MS 1 diff --git a/keyboards/handwired/3dpcb/keymaps/default/keymap.c b/keyboards/handwired/3dpcb/keymaps/default/keymap.c new file mode 100644 index 0000000000..1b062904d3 --- /dev/null +++ b/keyboards/handwired/3dpcb/keymaps/default/keymap.c @@ -0,0 +1,116 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, LCTL(LSFT(KC_F1)), LCTL(LSFT(KC_F4)), LCTL(LALT(KC_E)), KC_F10, LCTL(LSFT(KC_F9)), + LCTL(LALT(KC_M)), LCTL(KC_T), LCTL(LSFT(KC_M)), LCTL(KC_J), LCTL(KC_0), LCTL(LSFT(KC_A)), + LCTL(LALT(KC_P)), LCTL(KC_3), LCTL(KC_5), LCTL(KC_7), LCTL(KC_8), LCTL(LSFT(KC_1)), LCTL(KC_F1), + KC_LSFT, LCTL(LSFT(KC_3)), LCTL(LSFT(KC_5)), LCTL(LSFT(KC_8)), LCTL(LALT(KC_0)), LCTL(LALT(KC_3)), LCTL(KC_F4), + KC_LCTL, MO(0), MO(1), LCTL(KC_Z), LCTL(KC_C), LCTL(KC_G), KC_DEL), + + [1] = LAYOUT( + KC_TRNS, LCTL(LSFT(KC_F2)), LCTL(LSFT(KC_F5)), LCTL(LSFT(KC_F6)), LCTL(LSFT(KC_F8)), LCTL(LSFT(KC_F10)), + LCTL(LALT(KC_3)), LCTL(LSFT(KC_S)), LCTL(LSFT(KC_R)), LCTL(LSFT(KC_J)), LCTL(KC_1), LCTL(LSFT(KC_P)), + LCTL(LALT(KC_C)), LCTL(KC_4), LCTL(KC_6), KC_TRNS, LCTL(KC_9), LCTL(LSFT(KC_2)), LCTL(KC_F2), + KC_TRNS, LCTL(LSFT(KC_4)), LCTL(LSFT(KC_6)), LCTL(LSFT(KC_9)), LCTL(LALT(KC_1)), KC_TRNS, LCTL(KC_M), + KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_Y), LCTL(KC_V), LCTL(LSFT(KC_G)), KC_TRNS), + + [2] = LAYOUT( + KC_TRNS, LCTL(LSFT(KC_F3)), KC_TRNS, LCTL(LSFT(KC_F7)), KC_TRNS, KC_TRNS, + LCTL(KC_S), KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_2), KC_TRNS, + LCTL(KC_E), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_F3), + KC_TRNS, KC_TRNS, LCTL(LSFT(KC_7)), KC_TRNS, LCTL(LALT(KC_2)), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_U), LCTL(KC_X), LCTL(KC_A), KC_TRNS), + + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [4] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [5] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [6] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [7] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [8] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [9] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [10] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [11] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [12] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [13] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [14] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [15] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + +}; diff --git a/keyboards/handwired/3dpcb/keymaps/vial/config.h b/keyboards/handwired/3dpcb/keymaps/vial/config.h new file mode 100644 index 0000000000..a588203bf3 --- /dev/null +++ b/keyboards/handwired/3dpcb/keymaps/vial/config.h @@ -0,0 +1,4 @@ +/* Vial */ +#define VIAL_KEYBOARD_UID {0x5E, 0x87, 0x5B, 0x94, 0x49, 0x4C, 0xED, 0x6D} +#define VIAL_UNLOCK_COMBO_ROWS {0,0}; +#define VIAL_UNLOCK_COMBO_COLS {0,5}; diff --git a/keyboards/handwired/3dpcb/keymaps/vial/keymap.c b/keyboards/handwired/3dpcb/keymaps/vial/keymap.c new file mode 100644 index 0000000000..eb5bdebe04 --- /dev/null +++ b/keyboards/handwired/3dpcb/keymaps/vial/keymap.c @@ -0,0 +1,60 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, LCTL(LSFT(KC_F1)), LCTL(LSFT(KC_F4)), LCTL(LALT(KC_E)), KC_F10, LCTL(LSFT(KC_F9)), + LCTL(LALT(KC_M)), LCTL(KC_T), LCTL(LSFT(KC_M)), LCTL(KC_J), LCTL(KC_0), LCTL(LSFT(KC_A)), + LCTL(LALT(KC_P)), LCTL(KC_3), LCTL(KC_5), LCTL(KC_7), LCTL(KC_8), LCTL(LSFT(KC_1)), LCTL(KC_F1), + KC_LSFT, LCTL(LSFT(KC_3)), LCTL(LSFT(KC_5)), LCTL(LSFT(KC_8)), LCTL(LALT(KC_0)), LCTL(LALT(KC_3)), LCTL(KC_F4), + KC_LCTL, FN_MO13, FN_MO23, LCTL(KC_Z), LCTL(KC_C), LCTL(KC_G), KC_DEL), + + [1] = LAYOUT( + KC_TRNS, LCTL(LSFT(KC_F2)), LCTL(LSFT(KC_F5)), LCTL(LSFT(KC_F6)), LCTL(LSFT(KC_F8)), LCTL(LSFT(KC_F10)), + LCTL(LALT(KC_3)), LCTL(LSFT(KC_S)), LCTL(LSFT(KC_R)), LCTL(LSFT(KC_J)), LCTL(KC_1), LCTL(LSFT(KC_P)), + LCTL(LALT(KC_C)), LCTL(KC_4), LCTL(KC_6), KC_TRNS, LCTL(KC_9), LCTL(LSFT(KC_2)), LCTL(KC_F2), + KC_TRNS, LCTL(LSFT(KC_4)), LCTL(LSFT(KC_6)), LCTL(LSFT(KC_9)), LCTL(LALT(KC_1)), KC_TRNS, LCTL(KC_M), + KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_Y), LCTL(KC_V), LCTL(LSFT(KC_G)), KC_TRNS), + + [2] = LAYOUT( + KC_TRNS, LCTL(LSFT(KC_F3)), KC_TRNS, LCTL(LSFT(KC_F7)), KC_TRNS, KC_TRNS, + LCTL(KC_S), KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_2), KC_TRNS, + LCTL(KC_E), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_F3), + KC_TRNS, KC_TRNS, LCTL(LSFT(KC_7)), KC_TRNS, LCTL(LALT(KC_2)), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_U), LCTL(KC_X), LCTL(KC_A), KC_TRNS), + + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [4] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [5] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [6] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [7] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +}; diff --git a/keyboards/handwired/3dpcb/keymaps/vial/rules.mk b/keyboards/handwired/3dpcb/keymaps/vial/rules.mk new file mode 100644 index 0000000000..c555b48866 --- /dev/null +++ b/keyboards/handwired/3dpcb/keymaps/vial/rules.mk @@ -0,0 +1,6 @@ +VIA_ENABLE = yes # Enable Via +VIAL_ENABLE = yes # Enable Vial + +TAP_DANCE_ENABLE = no +COMBO_ENABLE = no +KEY_OVERRIDE_ENABLE = no diff --git a/keyboards/handwired/3dpcb/rules.mk b/keyboards/handwired/3dpcb/rules.mk new file mode 100644 index 0000000000..09fe0a212f --- /dev/null +++ b/keyboards/handwired/3dpcb/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 +BOOTLOADER = atmel-dfu + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= no # 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 +MIDI_ENABLE = yes # MIDI controls +BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality +AUDIO_ENABLE ?= no +RGBLIGHT_ENABLE ?= no + +EXTRAFLAGS += -flto