#include "keymap_german.h" #include QMK_KEYBOARD_H enum layer_names { _BL, _LOWER, _RAISE, _FUNC }; #define BL PDF(_BL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty * ,-----------------------------------------------------------------------------------. * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | * |------+------+------+------+------+------+------+------+------+------+------+------| * | 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 | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Ctrl | GUI | GUI | Alt |Lower | Space |Raise | Left | Down | Up |Right | * `-----------------------------------------------------------------------------------' */ [_BL] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, 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_LCTL, KC_LGUI, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), /* Lower * ,-----------------------------------------------------------------------------------. * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | * |------+------+------+------+------+-------------+------+------+------+------+------| * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | * |------+------+------+------+------+-------------+------+------+------+------+------| * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' */ [_LOWER] = LAYOUT( KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, 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),KC_HOME, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), /* Raise * ,-----------------------------------------------------------------------------------. * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | * |------+------+------+------+------+------+------+------+------+------+------+------| * | ` | 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 / | Pg Up| Pg Dn| | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' */ [_RAISE] = LAYOUT( 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_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, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), /* Qwerty * ,-----------------------------------------------------------------------------------. * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Tab | Q | W | E | R | T | Y | Ü | I | Ö | P | Bksp | * |------+------+------+------+------+-------------+------+------+------+------+------| * | Esc | Ä | ß | D | F | G | H | J | K | L | ; | " | * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Ctrl | GUI | GUI | Alt |Lower | Space |Raise | Left | Down | Up |Right | * `-----------------------------------------------------------------------------------' */ [_FUNC] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, DE_UDIA, KC_I, DE_ODIA, KC_P, KC_BSPC, KC_ESC, DE_ADIA, 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_LCTL, KC_LGUI, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), /* Adjust (Lower + Raise) * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | Reset| Debug| | | | | | | | | Del | * |------+------+------+------+------+-------------+------+------+------+------+------| * | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Qwerty|Qwerty| | | * |------+------+------+------+------+------|------+------+------+------+------+------| * | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ // [_ADJUST] = LAYOUT( // KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, // _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, // _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, BL, BL, BL, _______, _______, // _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ // ) }; // bool process_record_user(uint16_t keycode, keyrecord_t *record) { // switch (keycode) { // 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; // case BACKLIT: // if (record->event.pressed) { // register_code(KC_RSFT); // #ifdef BACKLIGHT_ENABLE // backlight_step(); // #endif // #ifdef RGBLIGHT_ENABLE // rgblight_step(); // #endif // #ifdef __AVR__ // gpio_write_pin_low(E6); // #endif // } else { // unregister_code(KC_RSFT); // #ifdef __AVR__ // gpio_write_pin_high(E6); // #endif // } // return false; // break; // } // return true; // }; // // bool muse_mode = false; // uint8_t last_muse_note = 0; // uint16_t muse_counter = 0; // uint8_t muse_offset = 70; // uint16_t muse_tempo = 50; // // bool encoder_update_user(uint8_t index, bool clockwise) { // if (muse_mode) { // if (IS_LAYER_ON(_RAISE)) { // if (clockwise) { // muse_offset++; // } else { // muse_offset--; // } // } else { // if (clockwise) { // muse_tempo+=1; // } else { // muse_tempo-=1; // } // } // } else { // if (clockwise) { // register_code(KC_PGDN); // unregister_code(KC_PGDN); // } else { // register_code(KC_PGUP); // unregister_code(KC_PGUP); // } // } // return true; // } // // bool dip_switch_update_user(uint8_t index, bool active) { // switch (index) { // case 0: // if (active) { // layer_on(_ADJUST); // } else { // layer_off(_ADJUST); // } // break; // case 1: // if (active) { // muse_mode = true; // } else { // muse_mode = false; // } // } // return true; // } // // // void matrix_scan_user(void) { // #ifdef AUDIO_ENABLE // if (muse_mode) { // if (muse_counter == 0) { // uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; // if (muse_note != last_muse_note) { // stop_note(compute_freq_for_midi_note(last_muse_note)); // play_note(compute_freq_for_midi_note(muse_note), 0xF); // last_muse_note = muse_note; // } // } // muse_counter = (muse_counter + 1) % muse_tempo; // } else { // if (muse_counter) { // stop_all_notes(); // muse_counter = 0; // } // } // #endif // } // // bool music_mask_user(uint16_t keycode) { // switch (keycode) { // case RAISE: // case LOWER: // return false; // default: // return true; // } // } // // Copyright 2023 QMK // // SPDX-License-Identifier: GPL-2.0-or-later // // #include QMK_KEYBOARD_H // // const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // [0] = LAYOUT( // KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, // 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_LCTL, KC_LGUI, KC_LGUI, KC_LALT, KC_ENT, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT // ) // };