summaryrefslogtreecommitdiffstats
path: root/keyboards/c39
diff options
context:
space:
mode:
authorWilliam Chang <william@factual.com>2019-11-20 22:17:07 -0800
committerWilliam Chang <william@factual.com>2019-11-20 22:17:07 -0800
commite7f4d56592b3975c38af329e77b4efd9108495e8 (patch)
tree0a416bccbf70bfdbdb9ffcdb3bf136b47378c014 /keyboards/c39
parent71493b2f9bbd5f3d18373c518fa14ccafcbf48fc (diff)
parent8416a94ad27b3ff058576f09f35f0704a8b39ff3 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'keyboards/c39')
-rw-r--r--keyboards/c39/keymaps/drashna/config.h12
-rwxr-xr-xkeyboards/c39/keymaps/drashna/keymap.c97
-rwxr-xr-xkeyboards/c39/keymaps/drashna/readme.md3
-rw-r--r--keyboards/c39/keymaps/drashna/rules.mk20
-rw-r--r--keyboards/c39/keymaps/kuchosauronad0/config.h43
-rw-r--r--keyboards/c39/keymaps/kuchosauronad0/keymap.c131
-rw-r--r--keyboards/c39/keymaps/kuchosauronad0/readme.md10
-rw-r--r--keyboards/c39/keymaps/kuchosauronad0/rules.mk20
-rwxr-xr-xkeyboards/c39/rules.mk53
9 files changed, 345 insertions, 44 deletions
diff --git a/keyboards/c39/keymaps/drashna/config.h b/keyboards/c39/keymaps/drashna/config.h
new file mode 100644
index 0000000000..5d53fe54bb
--- /dev/null
+++ b/keyboards/c39/keymaps/drashna/config.h
@@ -0,0 +1,12 @@
+#pragma once
+
+// place overrides here
+#undef MATRIX_COL_PINS
+#define MATRIX_COL_PINS \
+ { A3, A2, A1, A0, B13, B14, B15, B9, B3, B2, B4, A10, A9 }
+#undef MATRIX_ROW_PINS
+#define MATRIX_ROW_PINS \
+ { B7, B1, B0 }
+
+#define RGB_DI_PIN B10
+#define RGBLED_NUM 15
diff --git a/keyboards/c39/keymaps/drashna/keymap.c b/keyboards/c39/keymaps/drashna/keymap.c
new file mode 100755
index 0000000000..882938138f
--- /dev/null
+++ b/keyboards/c39/keymaps/drashna/keymap.c
@@ -0,0 +1,97 @@
+#include "drashna.h"
+
+/*
+ * The `LAYOUT_base` macro is a template to allow the use of identical
+ * modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so
+ * that there is no need to set them up for each layout, and modify all of
+ * them if I want to change them. This helps to keep consistency and ease
+ * of use. K## is a placeholder to pass through the individual keycodes
+ */
+// clang-format off
+#define LAYOUT_base( \
+ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
+ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
+ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
+ ) \
+ LAYOUT_wrapper( \
+ KC_ESC, K01, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, KC_DEL, \
+ ALT_T(KC_TAB), K11, K12, K13, K14, K15, KC_BSPC, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \
+ KC_MLSF, CTL_T(K21), K22, K23, K24, LT(_LOWER,K25), KC_SPC, LT(_RAISE,K26), K27, K28, K29, RCTL_T(K2A), KC_ENT \
+ )
+#define LAYOUT_base_wrapper(...) LAYOUT_base(__VA_ARGS__)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_base_wrapper(
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
+ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
+ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
+ ),
+
+ [_COLEMAK] = LAYOUT_base_wrapper(
+ _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
+ _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
+ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
+ ),
+
+ [_DVORAK] = LAYOUT_base_wrapper(
+ _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
+ _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
+ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
+ ),
+
+ [_WORKMAN] = LAYOUT_base_wrapper(
+ _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
+ _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
+ _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
+ ),
+
+ [_NORMAN] = LAYOUT_base_wrapper(
+ _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
+ _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
+ _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
+ ),
+
+ [_MALTRON] = LAYOUT_base_wrapper(
+ _________________MALTRON_L1________________, _________________MALTRON_R1________________,
+ _________________MALTRON_L2________________, _________________MALTRON_R2________________,
+ _________________MALTRON_L3________________, _________________MALTRON_R3________________
+ ),
+
+ [_EUCALYN] = LAYOUT_base_wrapper(
+ _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
+ _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
+ _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
+ ),
+
+ [_CARPLAX] = LAYOUT_base_wrapper(
+ _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
+ _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
+ _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
+ ),
+
+ [_MODS] = LAYOUT_wrapper(
+ _______, ___________________BLANK___________________, _______, ___________________BLANK___________________, _______,
+ _______, ___________________BLANK___________________, _______, ___________________BLANK___________________, _______,
+ KC_LSFT, ___________________BLANK___________________, _______, ___________________BLANK___________________, _______
+ ),
+
+ [_LOWER] = LAYOUT_wrapper(
+ KC_TILD, _________________LOWER_L1__________________, _______, _________________LOWER_R1__________________, KC_BSPC,
+ KC_DEL, _________________LOWER_L2__________________, _______, _________________LOWER_R2__________________, KC_PIPE,
+ _______, _________________LOWER_L3__________________, _______, _________________LOWER_R3__________________, _______
+ ),
+
+ [_RAISE] = LAYOUT_wrapper(
+ KC_GRV, _________________RAISE_L1__________________, _______, _________________RAISE_R1__________________, KC_BSPC,
+ KC_DEL, _________________RAISE_L2__________________, _______, _________________RAISE_R2__________________, KC_BSLS,
+ _______, _________________RAISE_L3__________________, _______, _________________RAISE_R3__________________, _______
+ ),
+
+ [_ADJUST] = LAYOUT_wrapper(
+ KC_MAKE, _________________ADJUST_L1_________________, KC_NUKE, _________________ADJUST_R1_________________, KC_RST,
+ VRSN, _________________ADJUST_L2_________________, MG_NKRO, _________________ADJUST_R2_________________, EEP_RST,
+ TG_MODS, _________________ADJUST_L3_________________, KC_RGB_T,_________________ADJUST_R3_________________, RGB_IDL
+ )
+};
+// clang-format on
diff --git a/keyboards/c39/keymaps/drashna/readme.md b/keyboards/c39/keymaps/drashna/readme.md
new file mode 100755
index 0000000000..a8efbaa5fe
--- /dev/null
+++ b/keyboards/c39/keymaps/drashna/readme.md
@@ -0,0 +1,3 @@
+# @drashna's keymap for the C39
+
+HERE BE DRAGONS
diff --git a/keyboards/c39/keymaps/drashna/rules.mk b/keyboards/c39/keymaps/drashna/rules.mk
new file mode 100644
index 0000000000..d216f6abe6
--- /dev/null
+++ b/keyboards/c39/keymaps/drashna/rules.mk
@@ -0,0 +1,20 @@
+MCU = STM32F303
+BOOTLOADER =
+
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
+MIDI_ENABLE = no # MIDI controls
+UNICODE_ENABLE = yes # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = yes # Audio output on port C6
+RGBLIGHT_ENABLE = yes # RGB Enable / Disable
+
+RGBLIGHT_STARTUP_ANIMATION = yes
diff --git a/keyboards/c39/keymaps/kuchosauronad0/config.h b/keyboards/c39/keymaps/kuchosauronad0/config.h
new file mode 100644
index 0000000000..cf0726e2bb
--- /dev/null
+++ b/keyboards/c39/keymaps/kuchosauronad0/config.h
@@ -0,0 +1,43 @@
+
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+Copyright 2017 Art Ortenburger
+
+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
+
+/* key combination for magic key command */
+#undef IS_COMMAND
+#define IS_COMMAND() ( \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LALT)) \
+)
+
+#ifdef RGBLIGHT_ENABLE
+# define RGB_DI_PIN D0
+# define RGBLED_NUM 4
+#endif // !RGBLIGHT_ENABLE
+
+/*
+#ifdef AUDIO_ENABLE
+# Timer 1: #define B5_AUDIO #define B6_AUDIO #define B7_AUDIO
+# Timer 3: #define C4_AUDIO #define C5_AUDIO #define C6_AUDIO
+//TODO: only D0 and D1 available
+#endif // !AUDIO_ENABLE
+*/
+
diff --git a/keyboards/c39/keymaps/kuchosauronad0/keymap.c b/keyboards/c39/keymaps/kuchosauronad0/keymap.c
new file mode 100644
index 0000000000..231e3cf44d
--- /dev/null
+++ b/keyboards/c39/keymaps/kuchosauronad0/keymap.c
@@ -0,0 +1,131 @@
+/*
+This is the keymap for the keyboard
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+Copyright 2017 Art Ortenburger
+
+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 "kuchosauronad0.h"
+
+#ifdef RGBLIGHT_ENABLE
+ extern rgblight_config_t rgblight_config;
+#endif
+
+#ifdef INDICATOR_LIGHTS
+ extern userspace_config_t userspace_config;
+ uint8_t last_mod;
+ uint8_t last_led;
+ uint8_t last_osm;
+#endif
+
+
+#define LAYOUT_collide39_base( \
+ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
+ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
+ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
+ ) \
+ LAYOUT_wrapper( \
+ MT(MOD_LALT,KC_TAB), K01, K02, K03, K04, K05, LT(RAISE,KC_PGUP), K06, K07, K08, K09, K0A, KC_BSPC, \
+ SFT_T(KC_ESC), K11, K12, K13, K14, K15, LT(LOWER,KC_PGDN), K16, K17, K18, K19, K1A, SFT_T(KC_ENT), \
+ MT(MOD_LCTL,KC_DEL), K21, K22, K23, K24, K25, KC_SPACE, K26, K27, K28, K29, K2A, KC_LEAD \
+ )
+
+/*
+ * ,------. ,----------------------------------------------------------------------------. ,------.
+ * |ALTTAB| | Q | W | E | R | T |RSE/PU| Y | U | I | O | P | | BSPC |
+ * |------| |------+------+------+------+------+------+------+------+------+------+------+ |------|
+ * |SF/ESC| | A | S | D | F | G |LWR/PD| H | J | K | L | ; | | ENTER|
+ * |------| |------+------+------+------+------+------+------+------+------+------+------+ |------|
+ * |CTLDEL| | Z | X | C | V | B |SPACE | N | M | , | . | / | |LEADER|
+ * `------' `----------------------------------------------------------------------------' `------'
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_collide39_base_wrapper(
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
+ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
+ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
+ ),
+
+ [_COLEMAK] = LAYOUT_collide39_base_wrapper(
+ _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
+ _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
+ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
+ ),
+
+ [_DVORAK] = LAYOUT_collide39_base_wrapper(
+ _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
+ _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
+ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
+ ),
+
+#ifdef UNICODEMAP_ENABLE
+ [_UNICODE] = LAYOUT_collide39_base_wrapper(
+ _______________UNICODE_L1__________________, _______________UNICODE_R1__________________,
+ _______________UNICODE_L2__________________, _______________UNICODE_R2__________________,
+ _______________UNICODE_L3__________________, _______________UNICODE_R3__________________
+ ),
+#endif
+ [_WORKMAN] = LAYOUT_collide39_base_wrapper(
+ _________________RGB_UP____________________, _________________RGB_UP____________________,
+ _________________RGB_CENTER________________, _________________RGB_CENTER________________,
+ _________________RGB_DOWN__________________, _________________RGB_DOWN__________________
+ ),
+
+ [_PLOVER] = LAYOUT_wrapper(\
+ KC_1, _________________PLOVER_L1_________________, _______, _________________PLOVER_R1_________________, KC_1,
+ KC_NO, _________________PLOVER_L2_________________, _______, _________________PLOVER_R2_________________, KC_NO,
+ KC_NO, _________________PLOVER_L3_________________, _______, _________________PLOVER_R3_________________, _______
+ ),
+
+ [_MODS] = LAYOUT_wrapper(\
+ KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT,
+ KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RCTL,
+ KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_LOWER] = LAYOUT_wrapper(\
+ KC_TILD, _________________LOWER_L1__________________, _______, _________________LOWER_R1__________________, KC_BSPC,
+ KC_F11, _________________LOWER_L2__________________, _______, _________________LOWER_R2__________________, KC_PIPE,
+ KC_F12, _________________LOWER_L3__________________, _______, _________________LOWER_R3__________________, _______
+ ),
+
+ [_RAISE] = LAYOUT_wrapper(\
+ KC_GRV, _________________RAISE_L1__________________, _______, _________________RAISE_R1__________________, KC_BSPC,
+ _______, _________________RAISE_L2__________________, _______, _________________RAISE_R2__________________, KC_BSLS,
+ _______, _________________RAISE_L3__________________, _______, _________________RAISE_R3__________________, _______
+ ),
+
+ [_ADJUST] = LAYOUT_wrapper(\
+ KC_MAKE, _________________ADJUST_L1_________________, _______, _________________ADJUST_R1_________________, KC_RESET,
+ VRSN, _________________ADJUST_L2_________________, _______, _________________ADJUST_R2_________________, EEP_RST,
+ DEBUG, _________________ADJUST_L3_________________, _______, _________________ADJUST_R3_________________, _______
+ )
+
+};
+
+void matrix_init_keymap(void) {
+ #ifndef CONVERT_TO_PROTON_C
+ setPinOutput(D5);
+ writePinHigh(D5);
+ setPinOutput(B0);
+ writePinHigh(B0);
+ #endif
+}
+
diff --git a/keyboards/c39/keymaps/kuchosauronad0/readme.md b/keyboards/c39/keymaps/kuchosauronad0/readme.md
new file mode 100644
index 0000000000..ff01fb5ffa
--- /dev/null
+++ b/keyboards/c39/keymaps/kuchosauronad0/readme.md
@@ -0,0 +1,10 @@
+# Personal keymap for the collide39
+
+## Features:
+
+- leader key
+- combos
+- tap dance
+- rgb backlight for the space key using a chameleon 4x WS28xx leds
+
+#
diff --git a/keyboards/c39/keymaps/kuchosauronad0/rules.mk b/keyboards/c39/keymaps/kuchosauronad0/rules.mk
new file mode 100644
index 0000000000..ac7c77dd46
--- /dev/null
+++ b/keyboards/c39/keymaps/kuchosauronad0/rules.mk
@@ -0,0 +1,20 @@
+BOOTLOADER = caterina
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # 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
+LEADER_ENABLE = yes # default is yes
+TAP_DANCE_ENABLE = no #(+1254)
+COMBO_ENABLE = yes
+UNICODE_ENABLE = no #(+1134)
+UNICODEMAP_ENABLE = yes
+RGBLIGHT_ENABLE = yes
+AUDIO_ENABLE = no
+NKRO_ENABLE = yes
+
+INDICATOR_LIGHTS = yes
+MACROS_ENABLED = no
+RGBLIGHT_STARTUP_ANIMATION = yes
+
+NO_SECRETS = no
diff --git a/keyboards/c39/rules.mk b/keyboards/c39/rules.mk
index 8fcb089817..c7a902045a 100755
--- a/keyboards/c39/rules.mk
+++ b/keyboards/c39/rules.mk
@@ -1,50 +1,15 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
# Build Options
# change yes to no to disable