2 Copyright 2016 Julien Pecqueur <julien@peclu.net>
3 Copyright 2016 Felix Uhl <ifreilicht@gmail.com>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #include QMK_KEYBOARD_H
20 #define KC_SPFN LT(1, KC_SPC)
22 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
23 /* Layout 0: Default Layer
24 * ,-----------------------------------------------------------.
25 * |` | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
26 * |-----------------------------------------------------------|
27 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
28 * |-----------------------------------------------------------|
29 * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |
30 * |-----------------------------------------------------------|
31 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
32 * |-----------------------------------------------------------|
33 * |Fn1 |Gui |Alt | SpaceFn |Alt |Gui |App |Ctrl|
34 * `-----------------------------------------------------------'
37 GRV
, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS
, EQL
, BSPC
, BSPC
, \
38 TAB
, Q
, W
, E
, R
, T
, Y
, U
, I
, O
, P
, LBRC
, RBRC
, BSLS
, \
39 LCTL
, A
, S
, D
, F
, G
, H
, J
, K
, L
, SCLN
, QUOT
, NUHS
, ENT
, \
40 LSFT
, NUBS
, Z
, X
, C
, V
, B
, N
, M
, COMM
, DOT
, SLSH
, NO
, RSFT
, NO
, \
41 MO1
, LGUI
, LALT
, SPFN
, RALT
, RGUI
, APP
, RCTL
),
43 /* Layout 1: Function Layer
44 * ,-----------------------------------------------------------.
45 * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
46 * |-----------------------------------------------------------|
47 * | |Prv|Ply|Nxt|Stp| | |PUp|Up |PDn| |Slk|Pau|Ins |
48 * |-----------------------------------------------------------|
49 * | |Vl-|Mut|Vl+| | |Hom|Lef|Dow|Rig|End| |PEnt |
50 * |-----------------------------------------------------------|
51 * | |Prt|Cut|Cop|Pst|Cal| | | | | |CapsLock |
52 * |-----------------------------------------------------------|
54 * `-----------------------------------------------------------'
57 ESC
, F1
, F2
, F3
, F4
, F5
, F6
, F7
, F8
, F9
, F10
, F11
, F12
, TRNS
, DEL
, \
58 TRNS
, MPRV
, MPLY
, MNXT
, MSTP
, TRNS
, TRNS
, PGUP
, UP
, PGDN
, TRNS
, SLCK
, PAUS
, INS
, \
59 TRNS
, VOLD
, MUTE
, VOLU
, TRNS
, TRNS
, HOME
, LEFT
, DOWN
, RGHT
, END
, TRNS
, TRNS
, PENT
, \
60 TRNS
, TRNS
, PSCR
, FN2
, FN3
, FN4
, CALC
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, CAPS
, TRNS
, \
61 TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
, TRNS
),
65 * Fn action definition
67 const uint16_t PROGMEM fn_actions
[] = {
68 [2] = ACTION_MODS_KEY(MOD_LSFT
, KC_DEL
), /* Cut */
69 [3] = ACTION_MODS_KEY(MOD_LCTL
, KC_INS
), /* Copy */
70 [4] = ACTION_MODS_KEY(MOD_LSFT
, KC_INS
), /* Paste */
74 void matrix_init_user(void) {
78 void matrix_scan_user(void) {
82 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {
86 void led_set_user(uint8_t usb_led
) {