diff --git a/keyboards/planck/keymaps/mwpeterson/config.h b/keyboards/planck/keymaps/mwpeterson/config.h new file mode 100644 index 0000000000..d66557b29d --- /dev/null +++ b/keyboards/planck/keymaps/mwpeterson/config.h @@ -0,0 +1,40 @@ +#pragma once + +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT + +#ifdef AUDIO_ENABLE + #define STARTUP_SONG SONG(ONE_UP_SOUND) + // #define STARTUP_SONG SONG(PLANCK_SOUND) + // #define STARTUP_SONG SONG(NO_SOUND) + #define GOODBYE_SONG SONG(COIN_SOUND) + + #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND) } +#endif + +/* + * MIDI options + */ + +/* Prevent use of disabled MIDI features in the keymap */ +//#define MIDI_ENABLE_STRICT 1 + +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ + +#define MIDI_BASIC + +/* enable advanced MIDI features: + - MIDI notes can be added to the keymap + - Octave shift and transpose + - Virtual sustain, portamento, and modulation wheel + - etc. +*/ +//#define MIDI_ADVANCED + +/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ +//#define MIDI_TONE_KEYCODE_OCTAVES 2 + +// Most tactile encoders have detents every 4 stages +#define ENCODER_RESOLUTION 4 diff --git a/keyboards/planck/keymaps/mwpeterson/keymap.c b/keyboards/planck/keymaps/mwpeterson/keymap.c new file mode 100644 index 0000000000..bfb015c7a8 --- /dev/null +++ b/keyboards/planck/keymaps/mwpeterson/keymap.c @@ -0,0 +1,295 @@ +// from event.pressed) { +#ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_SONG(plover_song); +#endif + layer_off(RAISE_LAYER); + layer_off(LOWER_LAYER); + layer_off(ADJUST_LAYER); + layer_on(STENO_LAYER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + plover_resume(); + } + return false; + case PV_EXIT: + if (record->event.pressed) { +#ifdef AUDIO_ENABLE + PLAY_SONG(plover_gb_song); +#endif + plover_suspend(); + layer_off(STENO_LAYER); + } + return false; + case PV_LOOK: + if (record->event.pressed) { + plover_lookup(); + } + return false; + case SEND_VERSION: + if (record->event.pressed) { + SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@" QMK_VERSION " (" QMK_BUILDDATE ")"); + } + return false; + case SEND_MAKE: + if (record->event.pressed) { + SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP ":dfu\n"); + } + return false; + } + return true; +} diff --git a/keyboards/planck/keymaps/mwpeterson/rules.mk b/keyboards/planck/keymaps/mwpeterson/rules.mk new file mode 100644 index 0000000000..de8aa389c4 --- /dev/null +++ b/keyboards/planck/keymaps/mwpeterson/rules.mk @@ -0,0 +1,6 @@ +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Disable shift combination, which conflicts with shift-parens +MOUSEKEY_ENABLE = yes # Mouse keys (disabled to save space) +NKRO_ENABLE = no # N-key rollover required for use as a steno board +AUDIO_ENABLE = yes # Audio output on port C6