qmk-keychron-q3-colemak-dh/keyboards/kinesis/keymaps/stapelberg/keymap.c
Michael Stapelberg f733307551
keymaps/stapelberg: keypad layer for multimedia keys, wake on escape (#18295)
This makes more keys function as printed on the actual keyboard :)
2022-09-06 23:13:12 +01:00

96 lines
5.0 KiB
C

/* Copyright 2021 Michael Stapelberg
*
* 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
#define QWERTY 0 // Base qwerty
#define LAYER1 1
/****************************************************************************************************
*
* Keymap: Default Layer in Qwerty
*
* ,-------------------------------------------------------------------------------------------------------------------.
* | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F8 | F9 | F10 | F12 | PSCR | SLCK | PAUS | FN0 | BOOT |
* |--------+------+------+------+------+------+---------------------------+------+------+------+------+------+--------|
* | =+ | 1! | 2@ | 3# | 4$ | 5% | | 6^ | 7& | 8* | 9( | 0) | -_ |
* |--------+------+------+------+------+------| +------+------+------+------+------+--------|
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | Caps | A | S | D | F | G | | H | J | K | L | ;: | '" |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | Shift | Z | X | C | V | B | | N | M | ,. | .> | /? | Shift |
* `--------+------+------+------+------+------- `------+------+------+------+------+--------'
* | `~ | INS | Left | Right| | Up | Down | [{ | ]} |
* `---------------------------' `---------------------------'
* ,-------------. ,-------------.
* | Ctrl | Alt | | Gui | Ctrl |
* ,------|------|------| |------+------+------.
* | | | Home | | PgUp | | |
* | BkSp | Del |------| |------|Return| Space|
* | | | End | | PgDn | | |
* `--------------------' `--------------------'
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[QWERTY] = LAYOUT(
KC_DEL, KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8,
KC_EQL, KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,
KC_TAB, KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,
KC_CAPS,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,
KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,
KC_GRV ,KC_INS ,KC_LEFT,KC_RGHT,
KC_LCTL,KC_LALT,
KC_LGUI,
KC_BSPC,KC_ESC ,KC_END ,
KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR ,KC_SLCK ,KC_PAUS, MO(1), QK_BOOT,
KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,
KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS,
KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,
KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT,
KC_UP ,KC_DOWN,KC_LBRC,KC_RBRC,
KC_RALT,KC_RCTL,
KC_PGUP,
KC_PGDN,KC_ENTER ,KC_SPC
),
// LAYER1 is activated by the keypad key. It has WAKE on Escape (left-most key),
// and volume keys on PSCR (mute), SLCK (volume down) and PAUS (volume up),
// as printed on the Kinesis Advantage 2.
[LAYER1] = LAYOUT(
KC_WAKE, KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO,
KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO , KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO ,KC_NO ,
KC_NO ,
KC_NO ,KC_NO ,KC_NO ,
KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_MUTE ,KC_VOLD ,KC_VOLU, KC_TRNS, KC_NO ,
KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO ,KC_NO ,KC_NO ,KC_NO ,
KC_NO ,KC_NO ,
KC_NO ,
KC_NO ,KC_NO ,KC_NO
),
};