From 77d083ed986a3bc16bffdcdb40fca12a34e02199 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Wed, 15 Jun 2016 15:43:40 -0400 Subject: [PATCH] updates experimental planck keymap, adds basic layout --- keyboard/planck/keymaps/basic/Makefile | 63 ++++++++++++ keyboard/planck/keymaps/basic/README.md | 2 + keyboard/planck/keymaps/basic/compiled.hex | Bin 0 -> 43582 bytes keyboard/planck/keymaps/basic/keymap.c | 94 ++++++++++++++++++ .../planck/keymaps/experimental/compiled.hex | Bin 73989 -> 74701 bytes keyboard/planck/keymaps/experimental/keymap.c | 44 +++++--- 6 files changed, 189 insertions(+), 14 deletions(-) create mode 100644 keyboard/planck/keymaps/basic/Makefile create mode 100644 keyboard/planck/keymaps/basic/README.md create mode 100644 keyboard/planck/keymaps/basic/compiled.hex create mode 100644 keyboard/planck/keymaps/basic/keymap.c diff --git a/keyboard/planck/keymaps/basic/Makefile b/keyboard/planck/keymaps/basic/Makefile new file mode 100644 index 0000000000..3a9cc18b4d --- /dev/null +++ b/keyboard/planck/keymaps/basic/Makefile @@ -0,0 +1,63 @@ +#---------------------------------------------------------------------------- +# On command line: +# +# make all = Make software. +# +# make clean = Clean out built project files. +# +# make coff = Convert ELF to AVR COFF. +# +# make extcoff = Convert ELF to AVR Extended COFF. +# +# make program = Download the hex file to the device. +# Please customize your programmer settings(PROGRAM_CMD) +# +# make teensy = Download the hex file to the device, using teensy_loader_cli. +# (must have teensy_loader_cli installed). +# +# make dfu = Download the hex file to the device, using dfu-programmer (must +# have dfu-programmer installed). +# +# make flip = Download the hex file to the device, using Atmel FLIP (must +# have Atmel FLIP installed). +# +# make dfu-ee = Download the eeprom file to the device, using dfu-programmer +# (must have dfu-programmer installed). +# +# make flip-ee = Download the eeprom file to the device, using Atmel FLIP +# (must have Atmel FLIP installed). +# +# make debug = Start either simulavr or avarice as specified for debugging, +# with avr-gdb or avr-insight as the front end for debugging. +# +# make filename.s = Just compile filename.c into the assembler code only. +# +# make filename.i = Create a preprocessed source file for use in submitting +# bug reports to the GCC project. +# +# To rebuild project do "make clean" then "make all". +#---------------------------------------------------------------------------- + +# Build Options +# change to "no" to disable the options, or define them in the makefile.mk in +# the appropriate keymap folder that will get included automatically +# +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 +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboard/planck/keymaps/basic/README.md b/keyboard/planck/keymaps/basic/README.md new file mode 100644 index 0000000000..3a4824b5b4 --- /dev/null +++ b/keyboard/planck/keymaps/basic/README.md @@ -0,0 +1,2 @@ +# A more basic Planck Layout for copying + diff --git a/keyboard/planck/keymaps/basic/compiled.hex b/keyboard/planck/keymaps/basic/compiled.hex new file mode 100644 index 0000000000000000000000000000000000000000..a4d94b6c4fc761142bfe3e9fe30b1c7c5ceca89b GIT binary patch literal 43582 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 Uz$eUKSUWfbZeM7V|NWo;2VM|Q(EtDd literal 0 HcmV?d00001 diff --git a/keyboard/planck/keymaps/basic/keymap.c b/keyboard/planck/keymaps/basic/keymap.c new file mode 100644 index 0000000000..36a066e919 --- /dev/null +++ b/keyboard/planck/keymaps/basic/keymap.c @@ -0,0 +1,94 @@ +#include "planck.h" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[0] = { + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {KC_RSFT, KC_LCTL, KC_LALT, KC_LGUI, M(1), KC_SPC, KC_SPC, M(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Reset | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[1] = { + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, + {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______}, + {RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Reset | | | | | | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[2] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______}, + {RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} +}, + + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case 1: + if (record->event.pressed) { + layer_on(1); + } else { + layer_off(1); + } + break; + case 2: + if (record->event.pressed) { + layer_on(2); + } else { + layer_off(2); + } + break; + } + return MACRO_NONE; +}; diff --git a/keyboard/planck/keymaps/experimental/compiled.hex b/keyboard/planck/keymaps/experimental/compiled.hex index 76984a07cc26d228d3c4dc8e913e0a0f08dc8293..ec6b52a619815a1235bae36f06e6f1cdfab62272 100644 GIT binary patch literal 74701 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 literal 73989 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 I!1R3l0M3Ag=>Px# diff --git a/keyboard/planck/keymaps/experimental/keymap.c b/keyboard/planck/keymaps/experimental/keymap.c index 93e45bda69..2be5a80791 100644 --- a/keyboard/planck/keymaps/experimental/keymap.c +++ b/keyboard/planck/keymaps/experimental/keymap.c @@ -174,24 +174,20 @@ const uint16_t PROGMEM fn_actions[] = { }; #ifdef AUDIO_ENABLE -float tone_startup[][2] = { - {440.0*pow(2.0,(31)/12.0), 12}, - {440.0*pow(2.0,(28)/12.0), 8}, - {440.0*pow(2.0,(19)/12.0), 8}, - {440.0*pow(2.0,(24)/12.0), 8}, - {440.0*pow(2.0,(28)/12.0), 20} -}; +float tone_startup[][2] = SONG(STARTUP_SOUND); float tone_qwerty[][2] = SONG(QWERTY_SOUND); float tone_dvorak[][2] = SONG(DVORAK_SOUND); float tone_colemak[][2] = SONG(COLEMAK_SOUND); float tone_plover[][2] = SONG(PLOVER_SOUND); float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); -float goodbye[][2] = SONG(GOODBYE_SOUND); +float tone_goodbye[][2] = SONG(GOODBYE_SOUND); #endif + void persistant_default_layer_set(uint16_t default_layer) { eeconfig_update_default_layer(default_layer); default_layer_set(default_layer); @@ -293,17 +289,34 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) void matrix_init_user(void) { #ifdef AUDIO_ENABLE - _delay_ms(20); // stops the tick - PLAY_NOTE_ARRAY(tone_startup, false, 0); + startup_user(); #endif } #ifdef AUDIO_ENABLE - void play_goodbye_tone(void) - { - PLAY_NOTE_ARRAY(goodbye, false, 0); +void startup_user() +{ + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); +} + +void shutdown_user() +{ + PLAY_NOTE_ARRAY(tone_goodbye, false, 0); _delay_ms(150); - } + stop_all_notes(); +} + +void music_on_user(void) +{ + music_scale_user(); +} + +void music_scale_user(void) +{ + PLAY_NOTE_ARRAY(music_scale, false, 0); +} + #endif LEADER_EXTERNS(); @@ -315,6 +328,9 @@ void matrix_scan_user(void) { leading = false; leader_end(); + SEQ_ONE_KEY (KC_V) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } SEQ_ONE_KEY(KC_F) { SEND_STRING("if yes\n\tpeanut butter\nelse\n\trice snacks"); }