Last active
July 26, 2016 19:55
-
-
Save baetheus/e71b3735a553ed6138bb34079c13ab61 to your computer and use it in GitHub Desktop.
Planck Keymap 1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // This is the canonical layout file for the Quantum project. If you want to add another keyboard, | |
| // this is the style you want to emulate. | |
| #include "planck.h" | |
| #include "action_layer.h" | |
| #include "audio.h" | |
| #include "eeconfig.h" | |
| extern keymap_config_t keymap_config; | |
| // 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. | |
| #define _QWERTY 0 | |
| #define _LOWER 1 | |
| #define _RAISE 2 | |
| #define _ADJUST 16 | |
| enum planck_keycodes { | |
| QWERTY = SAFE_RANGE, | |
| LOWER, | |
| RAISE | |
| }; | |
| // Fillers to make layering more clear | |
| #define _______ KC_TRNS | |
| #define XXXXXXX KC_NO | |
| #define CUST_CL LCTL(KC_LEFT) | |
| #define CUST_CD LCTL(KC_DOWN) | |
| #define CUST_CU LCTL(KC_UP) | |
| #define CUST_CR LCTL(KC_RGHT) | |
| 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 | | |
| * |------+------+------+------+------+------+------+------+------+------+------+------| | |
| * |Mu Tog| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | |
| * `-----------------------------------------------------------------------------------' | |
| */ | |
| [_QWERTY] = { | |
| {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 }, | |
| {MU_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} | |
| }, | |
| /* Lower | |
| * ,-----------------------------------------------------------------------------------. | |
| * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | |
| * |------+------+------+------+------+-------------+------+------+------+------+------| | |
| * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | \ | | |
| * |------+------+------+------+------+------|------+------+------+------+------+------| | |
| * | | Next | Vol- | Vol+ | Mute | Play | | | | | | | | |
| * |------+------+------+------+------+------+------+------+------+------+------+------| | |
| * | | | | | | | |C-Left|C-Down| C-Up |C-Rght| | |
| * `-----------------------------------------------------------------------------------' | |
| */ | |
| [_LOWER] = { | |
| {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______}, | |
| {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS}, | |
| {_______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, _______, _______, _______}, | |
| {_______, _______, _______, _______, _______, _______, _______, _______, CUST_CL, CUST_CD, CUST_CU, CUST_CR} | |
| }, | |
| /* Raise | |
| * ,-----------------------------------------------------------------------------------. | |
| * | ~ | F1 | F2 | F3 | F4 | | | | | ( | ) | | | |
| * |------+------+------+------+------+-------------+------+------+------+------+------| | |
| * | | F5 | F6 | F7 | F8 | | | - | + | { | } | | | | |
| * |------+------+------+------+------+------|------+------+------+------+------+------| | |
| * | | F9 | F10 | F11 | F12 | | | _ | = | [ | ] | | | |
| * |------+------+------+------+------+------+------+------+------+------+------+------| | |
| * | | | | | | | | HOME | PGDN | PGUP | END | | |
| * `-----------------------------------------------------------------------------------' | |
| */ | |
| [_RAISE] = { | |
| {KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, KC_LPRN, KC_RPRN, _______}, | |
| {_______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, | |
| {_______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_UNDS, KC_EQL, KC_LBRC, KC_RBRC, _______}, | |
| {_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END } | |
| }, | |
| /* Adjust (Lower + Raise) | |
| * ,-----------------------------------------------------------------------------------. | |
| * | | | | | | | | | | | | Reset| | |
| * |------+------+------+------+------+-------------+------+------+------+------+------| | |
| * | | | |Mus on|Musoff| | | | | | | | | |
| * |------+------+------+------+------+------|------+------+------+------+------+------| | |
| * | | | | | | | | | | | | | | |
| * |------+------+------+------+------+------+------+------+------+------+------+------| | |
| * | | | | | | | | | | | | | |
| * `-----------------------------------------------------------------------------------' | |
| */ | |
| [_ADJUST] = { | |
| {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET }, | |
| {_______, _______, _______, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______}, | |
| {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | |
| {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} | |
| } | |
| }; | |
| float tone_startup[][2] = SONG(STARTUP_SOUND); | |
| float tone_qwerty[][2] = SONG(QWERTY_SOUND); | |
| float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); | |
| float tone_goodbye[][2] = SONG(GOODBYE_SOUND); | |
| void persistant_default_layer_set(uint16_t default_layer) { | |
| eeconfig_update_default_layer(default_layer); | |
| default_layer_set(default_layer); | |
| } | |
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |
| switch (keycode) { | |
| case QWERTY: | |
| if (record->event.pressed) { | |
| PLAY_NOTE_ARRAY(tone_qwerty, false, 0); | |
| persistant_default_layer_set(1UL<<_QWERTY); | |
| } | |
| return false; | |
| break; | |
| case LOWER: | |
| if (record->event.pressed) { | |
| layer_on(_LOWER); | |
| update_tri_layer(_LOWER, _RAISE, _ADJUST); | |
| } else { | |
| layer_off(_LOWER); | |
| update_tri_layer(_LOWER, _RAISE, _ADJUST); | |
| } | |
| return false; | |
| break; | |
| case RAISE: | |
| if (record->event.pressed) { | |
| layer_on(_RAISE); | |
| update_tri_layer(_LOWER, _RAISE, _ADJUST); | |
| } else { | |
| layer_off(_RAISE); | |
| update_tri_layer(_LOWER, _RAISE, _ADJUST); | |
| } | |
| return false; | |
| break; | |
| } | |
| return true; | |
| } | |
| void matrix_init_user(void) { | |
| startup_user(); | |
| } | |
| 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); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment