snowe keymap/userspace and Ocean Dream animation (#12477)
* Add snowe keymap/userspace & Ocean Dream animation * Add snowe userspace with keymap wrappers and two animations * Add crkbd keymap * Add Ocean Dream animation, a cool full screen animation with: * * twinkling stars * * meteor showers * * ocean waves * * island with palm tree * * moon with phases * Disable Luna so travis build succeeds. * Add more copyrights * Add pragma once to keycode_aliases.h Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
parent
6e1ed1c9d3
commit
4a15eb593d
15 changed files with 1870 additions and 0 deletions
55
keyboards/crkbd/keymaps/snowe/config.h
Normal file
55
keyboards/crkbd/keymaps/snowe/config.h
Normal file
|
@ -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
|
81
keyboards/crkbd/keymaps/snowe/keycode_aliases.h
Normal file
81
keyboards/crkbd/keymaps/snowe/keycode_aliases.h
Normal file
|
@ -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)
|
190
keyboards/crkbd/keymaps/snowe/keymap.c
Normal file
190
keyboards/crkbd/keymaps/snowe/keymap.c
Normal file
|
@ -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;
|
||||
// }
|
||||
//}
|
25
keyboards/crkbd/keymaps/snowe/rules.mk
Normal file
25
keyboards/crkbd/keymaps/snowe/rules.mk
Normal file
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue