summaryrefslogtreecommitdiff
path: root/keyboards/crkbd
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/crkbd')
-rw-r--r--keyboards/crkbd/keymaps/snowe/config.h55
-rw-r--r--keyboards/crkbd/keymaps/snowe/keycode_aliases.h81
-rw-r--r--keyboards/crkbd/keymaps/snowe/keymap.c190
-rw-r--r--keyboards/crkbd/keymaps/snowe/rules.mk25
4 files changed, 351 insertions, 0 deletions
diff --git a/keyboards/crkbd/keymaps/snowe/config.h b/keyboards/crkbd/keymaps/snowe/config.h
new file mode 100644
index 0000000000..b624b589bc
--- /dev/null
+++ b/keyboards/crkbd/keymaps/snowe/config.h
@@ -0,0 +1,55 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+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
+
+//#define USE_MATRIX_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#define USE_SERIAL_PD2
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 200
+
+#define IGNORE_MOD_TAP_INTERRUPT
+#undef PERMISSIVE_HOLD
+
+#ifdef RGBLIGHT_ENABLE
+ #undef RGBLED_NUM
+ #define RGBLIGHT_ANIMATIONS
+ #define RGBLED_NUM 27
+ #define RGBLIGHT_LIMIT_VAL 120
+ #define RGBLIGHT_HUE_STEP 10
+ #define RGBLIGHT_SAT_STEP 17
+ #define RGBLIGHT_VAL_STEP 17
+#endif
+
+#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
+
+// fix for me putting alt under A and being a fast typist
+#define IGNORE_MOD_TAP_INTERRUPT
+//#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
+
+#define LAYER_STATE_8BIT \ No newline at end of file
diff --git a/keyboards/crkbd/keymaps/snowe/keycode_aliases.h b/keyboards/crkbd/keymaps/snowe/keycode_aliases.h
new file mode 100644
index 0000000000..bd70a79aa5
--- /dev/null
+++ b/keyboards/crkbd/keymaps/snowe/keycode_aliases.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2020 Drashna Jaelre <@drashna>
+ * Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010>
+ *
+ * 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
+
+#define GUI_ESC GUI_T(KC_ESC)
+#define CTL_ESC CTL_T(KC_ESC)
+#define SH_BKSP SFT_T(KC_BSPC)
+#define SP_RAIS LT(_UPPER, KC_SPC)
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_UPPER)
+#define ADJUST MO(_ADJUST)
+#define TG_MODS TG(_MODS)
+//#define TG_GAME TG(_GAMEPAD)
+//#define OS_LWR OSL(_LOWER)
+//#define OS_RSE OSL(_UPPER)
+
+//#define KC_SEC1 KC_SECRET_1
+//#define KC_SEC2 KC_SECRET_2
+//#define KC_SEC3 KC_SECRET_3
+//#define KC_SEC4 KC_SECRET_4
+//#define KC_SEC5 KC_SECRET_5
+
+#define QWERTY KC_QWERTY
+#define DVORAK KC_DVORAK
+#define COLEMAK KC_COLEMAK
+#define WORKMAN KC_WORKMAN
+
+#define KC_RESET RESET
+#define KC_RST KC_RESET
+
+#ifdef SWAP_HANDS_ENABLE
+# define KC_C1R3 SH_TT
+#else // SWAP_HANDS_ENABLE
+# define KC_C1R3 KC_BSPC
+#endif // SWAP_HANDS_ENABLE
+
+#define BK_LWER LT(_LOWER, KC_BSPC)
+#define SP_LWER LT(_LOWER, KC_SPC)
+#define DL_RAIS LT(_UPPER, KC_DEL)
+#define ET_RAIS LT(_UPPER, KC_ENTER)
+#define SFT_ENT SFT_T(KC_ENTER)
+#define SP_RAIS LT(_UPPER, KC_SPC)
+
+/* OSM keycodes, to keep things clean and easy to change */
+#define KC_MLSF OSM(MOD_LSFT)
+#define KC_MRSF OSM(MOD_RSFT)
+
+#define OS_LGUI OSM(MOD_LGUI)
+#define OS_RGUI OSM(MOD_RGUI)
+#define OS_LSFT OSM(MOD_LSFT)
+#define OS_RSFT OSM(MOD_RSFT)
+#define OS_LCTL OSM(MOD_LCTL)
+#define OS_RCTL OSM(MOD_RCTL)
+#define OS_LALT OSM(MOD_LALT)
+#define OS_RALT OSM(MOD_RALT)
+#define OS_MEH OSM(MOD_MEH)
+#define OS_HYPR OSM(MOD_HYPR)
+
+#define ALT_APP ALT_T(KC_APP)
+
+#define MG_NKRO MAGIC_TOGGLE_NKRO
+
+#define UC_IRNY UC(0x2E2E)
+#define UC_CLUE UC(0x203D)
diff --git a/keyboards/crkbd/keymaps/snowe/keymap.c b/keyboards/crkbd/keymaps/snowe/keymap.c
new file mode 100644
index 0000000000..4dfd6ecbeb
--- /dev/null
+++ b/keyboards/crkbd/keymaps/snowe/keymap.c
@@ -0,0 +1,190 @@
+/*
+Copyright 2019 @foostan
+Copyright 2020 Drashna Jaelre <@drashna>
+Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010>
+
+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 "snowe.h"
+
+// Symbols chart
+// ↯ hyper key (ctrl, alt, shift, super)
+// ⌘ command
+// ⌥ option
+// ⌃ control
+// ⇧ shift
+// ⌫ backspace
+// ⌦ delete
+// ⎋ escape
+// ↩ enter
+
+/* Wrapper
+ * ,-----------------------------------------------. .-----------------------------------------------.
+ * | Tab | 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 | |
+ * `-----------------------. | | .-----------------------'
+ * |-------+-------+-------| |-------+-------+-------|
+ * | ⌃ | ⇧/↩ | ⌫/LWR | | ␣/RAY | ␣ | R ⌥ |
+ * `-----------------------' '-----------------------'
+ */
+// clang-format off
+#define LAYOUT_crkbd_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_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \
+ GUI_ESC, CTL_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, ALT_T(K1A), KC_QUOT, \
+ HYPR_T(KC_DEL), ALT_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_BSLS, \
+ KC_LCTL, LOWER, SH_BKSP, KC_ENTER, SP_RAIS, KC_LALT \
+ )
+// clang-format on
+#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ /* QWERTY
+ * ,-----------------------------------------------. .-----------------------------------------------.
+ * | | Q | W | E | R | T | | Y | U | I | O | P | |
+ * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ * | | A | S | D | F | G | | H | J | K | L | ; | ' |
+ * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ * | | Z | X | C | V | B | | N | M | , | . | / | |
+ * `-----------------------. | | .-----------------------'
+ * |-------+-------+-------| |-------+-------+-------|
+ * | | | | | | | |
+ * `-----------------------' '-----------------------'
+ */
+ [_MAIN] = LAYOUT_crkbd_base_wrapper(
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
+ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
+ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
+ ),
+
+ /* Lower
+ * ,-----------------------------------------------. .-----------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
+ * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ * | | | | | | | | | _ | + | [ | ] | |
+ * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ * | | | | | | | | | ← | ↑ | ↓ | → | |
+ * `-----------------------. | | .-----------------------'
+ * |-------+-------+-------| |-------+-------+-------|
+ * | | | | | | | |
+ * `-----------------------' '-----------------------'
+ */
+ [_LOWER] = LAYOUT_wrapper(
+ KC_TILDE, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11,
+ KC_F12 , _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
+ _______ , _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+
+
+ /*
+ * ,-----------------------------------------------. .-----------------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ * | | | | | | | | | | | | | |
+ * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ * | | | | | | | | | | | | | |
+ * `-----------------------. | | .-----------------------'
+ * |-------+-------+-------| |-------+-------+-------|
+ * | | | | | | | |
+ * `-----------------------' '-----------------------'
+ */
+ /* Raise
+ * ,-----------------------------------------------. .-----------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
+ * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ * | | | | | | | | | ← | ↑ | ↓ | → | |
+ * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
+ * | | | | | | | | | home |pg down| pg up | end | |
+ * `-----------------------. | | .-----------------------'
+ * |-------+-------+-------| |-------+-------+-------|
+ * | | | | | | | |
+ * `-----------------------' '-----------------------'
+ */
+ [_UPPER] = LAYOUT_wrapper( \
+ KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______,
+ _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
+ _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
+ _______, _______, _______, _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT_wrapper( \
+ _______, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET,
+ _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
+ _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
+ _______, _______, _______, _______, _______, _______
+ )
+ // clang-format on
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _UPPER, _ADJUST); }
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_LCTL:
+ case KC_RCTL:
+#ifdef OCEAN_DREAM_ENABLE
+ is_calm = (record->event.pressed) ? true : false;
+#endif
+#ifdef LUNA_ENABLE
+ if (record->event.pressed) {
+ isSneaking = true;
+ } else {
+ isSneaking = false;
+ }
+#endif
+ break;
+ case KC_SPC:
+#ifdef LUNA_ENABLE
+ if (record->event.pressed) {
+ isJumping = true;
+ showedJump = false;
+ } else {
+ isJumping = false;
+ }
+#endif
+ break;
+ }
+ return true;
+}
+
+// uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+// switch (keycode) {
+// case ALT_T(KC_A):
+// case SH_BKSP:
+// return TAPPING_TERM + 500;
+// default:
+// return TAPPING_TERM;
+// }
+//}
+//
+// bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
+// switch (keycode) {
+// case ALT_T(KC_A):
+// case SH_BKSP:
+// return true;
+// default:
+// return false;
+// }
+//} \ No newline at end of file
diff --git a/keyboards/crkbd/keymaps/snowe/rules.mk b/keyboards/crkbd/keymaps/snowe/rules.mk
new file mode 100644
index 0000000000..fac462a685
--- /dev/null
+++ b/keyboards/crkbd/keymaps/snowe/rules.mk
@@ -0,0 +1,25 @@
+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
+NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+AUDIO_ENABLE = no # Audio output on port C6
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+LEADER_ENABLE = no
+MIDI_ENABLE = no # MIDI controls
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+SWAP_HANDS_ENABLE = no # Enable one-hand typing
+RGBLIGHT_TWINKLE = no
+OLED_DRIVER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+
+OCEAN_DREAM_ENABLE = yes
+LUNA_ENABLE = no # disabled so travis build succeeds
+
+# if firmware size over limit, try this option
+CFLAGS += -flto
+
+WPM_ENABLE = yes