1 /* Copyright 2018 Carlos Filoteo
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * 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/>.
16 #include QMK_KEYBOARD_H
18 #include "protocol/serial.h"
22 #include "keymap_norwegian.h"
24 #define _______ KC_TRNS
25 #define LT3_TAB LT(3, KC_TAB)
26 #define MT_RSFT_ENT MT(MOD_RSFT, KC_ENT)
28 enum custom_keycodes
{
33 const uint16_t PROGMEM keymaps
[][MATRIX_ROWS
][MATRIX_COLS
] = {
36 * ,-------------------------------------------------------------------------.
37 * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace |
38 * |-------------------------------------------------------------------------+
39 * |Tab/L3| A | S | D | F | G | H | J | K | L | ' |Ent/RS|
40 * |-------------------------------------------------------------------------+
41 * | Shift | Z | X | C | V | B | N | M | , | . | Up | L4 |
42 * |-------------------------------------------------------------------------+
43 * | Ctrl| Gui | L4 | Alt | L2 | Space | L1 | Ctrl| Left| Down|Right|
44 * `-------------------------------------------------------------------------'
47 LAYOUT( /* Base - L0 */
48 KC_ESC
, KC_Q
, KC_W
, KC_E
, KC_R
, KC_T
, KC_Y
, KC_U
, KC_I
, KC_O
, KC_P
, KC_BSPC
,
49 LT3_TAB
, KC_A
, KC_S
, KC_D
, KC_F
, KC_G
, KC_H
, KC_J
, KC_K
, KC_L
, NO_APOS
, MT_RSFT_ENT
,
50 KC_LSFT
, KC_Z
, KC_X
, KC_C
, KC_V
, KC_B
, KC_N
, KC_M
, KC_COMM
, KC_DOT
, KC_UP
, MO(4),
51 KC_LCTL
, KC_LGUI
, MO(4), KC_LALT
, MO(2), KC_SPC
, MO(1), KC_RCTL
, KC_LEFT
, KC_DOWN
, KC_RGHT
55 * ,-------------------------------------------------------------------------.
56 * | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete|
57 * |-------------------------------------------------------------------------+
58 * | | | | | | | | | + | = | * | / |
59 * |-------------------------------------------------------------------------+
60 * | | | | | | | | | - | _ | PgUp| |
61 * |-------------------------------------------------------------------------+
62 * | | | |Capsl| | | | | Home| PgDn| End |
63 * `-------------------------------------------------------------------------'
66 LAYOUT( /* Right modifier - L1 */
67 KC_GRV
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
, KC_6
, KC_7
, KC_8
, KC_9
, KC_0
, KC_DELETE
,
68 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, NO_PLUS
, NO_EQL
, NO_ASTR
, NO_SLSH
,
69 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, NO_MINS
, NO_UNDS
, KC_PGUP
, _______
,
70 _______
, _______
, _______
, KC_CAPS
, _______
, _______
, _______
, _______
, KC_HOME
, KC_PGDN
, KC_END
74 * ,-------------------------------------------------------------------------.
75 * | § | ! | " | # | ¤ | % | & | / | = | + | \ | Delete|
76 * |-------------------------------------------------------------------------+
77 * | | | ? | { | [ | ( | ) | ] | } | F10 | F11 | F12 |
78 * |-------------------------------------------------------------------------+
79 * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | PgUp| |
80 * |-------------------------------------------------------------------------+
81 * | | | |Capsl| | | | | Home| PgDn| End |
82 * `-------------------------------------------------------------------------'
85 LAYOUT( /* Left modifier - L2 */
86 NO_SECT
, KC_EXCLAIM
, NO_QUO2
, KC_HASH
, NO_BULT
, KC_PERCENT
, NO_AMPR
, NO_SLSH
, NO_EQL
, NO_PLUS
, NO_BSLS
, KC_DELETE
,
87 _______
, _______
, NO_QUES
, NO_LCBR
, NO_LBRC
, NO_LPRN
, NO_RPRN
, NO_RBRC
, NO_RCBR
, KC_F10
, KC_F11
, KC_F12
,
88 _______
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_F9
, KC_PGUP
, _______
,
89 _______
, _______
, _______
, KC_CAPS
, _______
, _______
, _______
, _______
, KC_HOME
, KC_PGDN
, KC_END
93 * ,-------------------------------------------------------------------------.
94 * | Esc | Calc|Webhm| Comp|Webrf| | | | | |PrtSc| |
95 * |-------------------------------------------------------------------------+
96 * | | | | | | | |VolDn|VolUp| | | |
97 * |-------------------------------------------------------------------------+
98 * | |LEDtg|LEDch| | |RESET| | Mute| |MouB1|MousU|MouB2|
99 * |-------------------------------------------------------------------------+
100 * | | | | | | | | |MousL|MousD|MousR|
101 * `-------------------------------------------------------------------------'
104 LAYOUT( /* Hold Tab down - L3 */
105 KC_ESC
, KC_CALC
, KC_WHOM
, KC_MYCM
, KC_WREF
, _______
, _______
, _______
, _______
, _______
, KC_PSCR
, _______
,
106 _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_VOLU
, KC_VOLD
, _______
, _______
, _______
,
107 _______
, LED_TOG
, LED_CHG
, _______
, _______
, RESET
, _______
, KC_MUTE
, _______
, KC_MS_BTN1
, KC_MS_U
, KC_MS_BTN2
,
108 _______
, _______
, _______
, _______
, _______
, _______
, _______
, _______
, KC_MS_L
, KC_MS_D
, KC_MS_R
112 * ,-------------------------------------------------------------------------.
113 * | | | @ | £ | $ | ~ | | ¨ | ´ | ` | Å | |
114 * |-------------------------------------------------------------------------+
115 * | | | | € | | | | | ^ | Ø | Æ | |
116 * |-------------------------------------------------------------------------+
117 * | | < | | | | | | µ | | | | |
118 * |-------------------------------------------------------------------------+
119 * | | | | | | | | L5 | | | |
120 * `-------------------------------------------------------------------------'
123 LAYOUT( /* Norsk - L4 */
124 _______
, _______
, NO_AT
, NO_PND
, NO_DLR
, NO_TILD
, _______
, NO_QUOT
, NO_ACUT
, NO_GRV
, NO_AA
, _______
,
125 _______
, _______
, _______
, NO_EURO
, _______
, _______
, _______
, _______
, NO_CIRC
, NO_OSLH
, NO_AE
, _______
,
126 _______
, NO_LESS
, _______
, _______
, _______
, _______
, _______
, NO_MU
, _______
, _______
, _______
, _______
,
127 _______
, _______
, _______
, _______
, _______
, _______
, _______
, TO(5), _______
, _______
, _______
130 /* GAMING Layer (toggle on and off)
131 * ,-------------------------------------------------------------------------.
132 * | Esc | Q | W | E | R | T | Y | F1 | F2 | F3 | F4 |Bspace |
133 * |-------------------------------------------------------------------------+
134 * | Tab | A | S | D | F | G | H | F5 | F6 | F7 | F8 | Enter|
135 * |-------------------------------------------------------------------------+
136 * | Shift | 1 | 2 | 3 | 4 | 5 | 6 | F9 | F10 | F11 | Up |TOGGL|
137 * |-------------------------------------------------------------------------+
138 * | Ctrl| Z | X | C | B | Space | M | V |Left |Down |Right|
139 * `-------------------------------------------------------------------------'
142 LAYOUT( /* GAMING, toggled on and off - L5 */
143 KC_ESC
, KC_Q
, KC_W
, KC_E
, KC_R
, KC_T
, KC_Y
, KC_F1
, KC_F2
, KC_F3
, KC_F4
, KC_BSPC
,
144 KC_TAB
, KC_A
, KC_S
, KC_D
, KC_F
, KC_G
, KC_H
, KC_F5
, KC_F6
, KC_F7
, KC_F8
, KC_ENT
,
145 KC_LSFT
, KC_1
, KC_2
, KC_3
, KC_4
, KC_5
, KC_6
, KC_F9
, KC_F10
, KC_F11
, KC_UP
, TO(0),
146 KC_LCTL
, KC_Z
, KC_X
, KC_C
, KC_B
, KC_SPC
, KC_M
, KC_V
, KC_LEFT
, KC_DOWN
, KC_RGHT
150 //LED keymap functions
152 void led_chmode(void) {
156 void led_toggle(void) {
160 bool process_record_user(uint16_t keycode
, keyrecord_t
*record
) {
161 if (record
->event
.pressed
) {