aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlliGranlund <OlliGranlund@users.noreply.github.com>2018-09-30 23:50:16 +0300
committerDrashna Jaelre <drashna@live.com>2018-09-30 13:50:16 -0700
commita6c85f1c2383616e875e7cdc6ce31873d6fb0ce3 (patch)
treed5db75a29f7b3ec6ba8d70626cc9713ad6d4f535
parenta7d46f1b0f4d18699a38898ff68114204d4c087d (diff)
downloadqmk_firmware-a6c85f1c2383616e875e7cdc6ce31873d6fb0ce3.tar.gz
qmk_firmware-a6c85f1c2383616e875e7cdc6ce31873d6fb0ce3.zip
Keymap: add olligranlund Iris + satan layouts (#4031)
* init * function layout planning * nordic keymap v1.0 * Added latest satan layouts, updated readmes * Cleaning code * Renamed ISO -> iso
-rw-r--r--keyboards/iris/keymaps/olligranlund_nordic/config.h36
-rw-r--r--keyboards/iris/keymaps/olligranlund_nordic/keymap.c131
-rw-r--r--keyboards/iris/keymaps/olligranlund_nordic/readme.md11
-rw-r--r--keyboards/iris/keymaps/olligranlund_nordic/rules.mk2
-rw-r--r--keyboards/satan/keymaps/olligranlund_iso/config.h17
-rw-r--r--keyboards/satan/keymaps/olligranlund_iso/keymap.c99
-rw-r--r--keyboards/satan/keymaps/olligranlund_iso/readme.md18
-rw-r--r--keyboards/satan/keymaps/olligranlund_iso/rules.mk17
8 files changed, 331 insertions, 0 deletions
diff --git a/keyboards/iris/keymaps/olligranlund_nordic/config.h b/keyboards/iris/keymaps/olligranlund_nordic/config.h
new file mode 100644
index 000000000..259f2a742
--- /dev/null
+++ b/keyboards/iris/keymaps/olligranlund_nordic/config.h
@@ -0,0 +1,36 @@
1/*
2Copyright 2017 Danny Nguyen <danny@keeb.io>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* Use I2C or Serial, not both */
21
22#define USE_SERIAL
23//#define USE_I2C
24
25/* Select hand configuration */
26
27// #define MASTER_LEFT
28// #define MASTER_RIGHT
29#define EE_HANDS
30
31#undef RGBLED_NUM
32#define RGBLIGHT_ANIMATIONS
33#define RGBLED_NUM 18
34#define RGBLIGHT_HUE_STEP 8
35#define RGBLIGHT_SAT_STEP 8
36#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/iris/keymaps/olligranlund_nordic/keymap.c b/keyboards/iris/keymaps/olligranlund_nordic/keymap.c
new file mode 100644
index 000000000..65ed6d289
--- /dev/null
+++ b/keyboards/iris/keymaps/olligranlund_nordic/keymap.c
@@ -0,0 +1,131 @@
1#include QMK_KEYBOARD_H
2#include "keymap_swedish.h"
3
4extern keymap_config_t keymap_config;
5
6#define _QWERTY 0
7#define _LOWER 1
8#define _RAISE 2
9#define _ADJUST 16
10
11enum custom_keycodes {
12 QWERTY = SAFE_RANGE,
13 LOWER,
14 RAISE,
15 ADJUST
16};
17
18#define KC_ KC_TRNS
19
20#define KC_LOWER LOWER
21#define KC_RAISE RAISE
22#define KC_ADJ ADJUST
23#define KC_RST RESET
24
25#define KC_AA NO_AA
26#define KC_AE NO_AE
27#define KC_OE NO_OSLH
28
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30
31 [_QWERTY] = LAYOUT(
32 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
33 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
34 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
35LT(_LOWER, KC_TAB),KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_AA,
36 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
37 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_OE, KC_AE,
38 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
39 KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, RAISE, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
40 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
41 KC_LGUI, KC_LALT, KC_SPC, KC_ENT, ADJUST, KC_RALT
42 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
43 ),
44
45 [_LOWER] = LAYOUT(
46 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
47 NO_TILD, KC_EXLM, NO_AT, KC_HASH, NO_DLR, KC_PERC, NO_CIRC, NO_AMPR, NO_ASTR, NO_SLSH, NO_LPRN, NO_RPRN,
48 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
49 KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDOWN, NO_LCBR, NO_RCBR,
50 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
51 KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, NO_BSLS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, NO_LBRC, NO_RBRC,
52 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_GRAVE, KC_CIRC, KC_QUOTE, NO_LESS, NO_GRTR,
54 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
56 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
57 ),
58
59 [_RAISE] = LAYOUT(
60 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
61 KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
62 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
63 NO_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, NO_MINS, NO_ASTR,
64 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
65 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, NO_PLUS, NO_SLSH,
66 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
67 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_0, KC_TRNS,
68 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
69 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
70 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
71 ),
72
73 [_ADJUST] = LAYOUT(
74 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
75 BL_TOGG, BL_STEP, BL_BRTG, RGB_TOG, RGB_RMOD, RGB_MOD, _______, _______, _______, _______, _______, _______,
76 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
77 BL_DEC, _______, BL_INC, RGB_VAD, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______,
78 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
79 _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI, _______, _______, _______, _______, _______, _______,
80 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
82 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
83 _______, _______, _______, _______, _______, _______
84 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
85 )
86};
87
88void persistent_default_layer_set(uint16_t default_layer) {
89 eeconfig_update_default_layer(default_layer);
90 default_layer_set(default_layer);
91}
92
93bool process_record_user(uint16_t keycode, keyrecord_t *record) {
94 switch (keycode) {
95 case QWERTY:
96 if (record->event.pressed) {
97 set_single_persistent_default_layer(_QWERTY);
98 }
99 return false;
100 break;
101 case LOWER:
102 if (record->event.pressed) {
103 layer_on(_LOWER);
104 update_tri_layer(_LOWER, _RAISE, _ADJUST);
105 } else {
106 layer_off(_LOWER);
107 update_tri_layer(_LOWER, _RAISE, _ADJUST);
108 }
109 return false;
110 break;
111 case RAISE:
112 if (record->event.pressed) {
113 layer_on(_RAISE);
114 update_tri_layer(_LOWER, _RAISE, _ADJUST);
115 } else {
116 layer_off(_RAISE);
117 update_tri_layer(_LOWER, _RAISE, _ADJUST);
118 }
119 return false;
120 break;
121 case ADJUST:
122 if (record->event.pressed) {
123 layer_on(_ADJUST);
124 } else {
125 layer_off(_ADJUST);
126 }
127 return false;
128 break;
129 }
130 return true;
131}
diff --git a/keyboards/iris/keymaps/olligranlund_nordic/readme.md b/keyboards/iris/keymaps/olligranlund_nordic/readme.md
new file mode 100644
index 000000000..72eccde10
--- /dev/null
+++ b/keyboards/iris/keymaps/olligranlund_nordic/readme.md
@@ -0,0 +1,11 @@
1# Iris Nordic Layout
2### by Oliver Granlund
3
4![Finished product](https://i.imgur.com/zqSBc3t.jpg)
5
6This is for those who insist to use keyboard with ÅÄÖ. Also thought about the
7gaming aspect with this keyboard, therefore space on left side.
8
9At first I thought about having backspace in the upper right corner of the
10slave side, but that made it really clunky to fix your text. Thumbs should take
11care of this job instead.
diff --git a/keyboards/iris/keymaps/olligranlund_nordic/rules.mk b/keyboards/iris/keymaps/olligranlund_nordic/rules.mk
new file mode 100644
index 000000000..d7463419b
--- /dev/null
+++ b/keyboards/iris/keymaps/olligranlund_nordic/rules.mk
@@ -0,0 +1,2 @@
1RGBLIGHT_ENABLE = yes
2BACKLIGHT_ENABLE = yes
diff --git a/keyboards/satan/keymaps/olligranlund_iso/config.h b/keyboards/satan/keymaps/olligranlund_iso/config.h
new file mode 100644
index 000000000..eab4c8e97
--- /dev/null
+++ b/keyboards/satan/keymaps/olligranlund_iso/config.h
@@ -0,0 +1,17 @@
1// Backlight configuration
2#undef BACKLIGHT_LEVELS
3#define BACKLIGHT_LEVELS 10
4
5// Underlight configuration
6#undef RGB_DI_PIN
7#define RGB_DI_PIN B2
8#undef RGBLED_NUM
9#define RGBLED_NUM 16 // Number of LEDs
10#undef RGBLIGHT_HUE_STEP
11#define RGBLIGHT_HUE_STEP 8
12#undef RGBLIGHT_SAT_STEP
13#define RGBLIGHT_SAT_STEP 8
14#undef RGBLIGHT_VAL_STEP
15#define RGBLIGHT_VAL_STEP 8
16
17#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/satan/keymaps/olligranlund_iso/keymap.c b/keyboards/satan/keymaps/olligranlund_iso/keymap.c
new file mode 100644
index 000000000..5016d4377
--- /dev/null
+++ b/keyboards/satan/keymaps/olligranlund_iso/keymap.c
@@ -0,0 +1,99 @@
1#include QMK_KEYBOARD_H
2
3#define BASE 0 // Default layer
4#define MOUSE 1 // Space layer
5#define NUMPAD 2 // Alt layer
6#define CAPS 3 // Caps layer
7
8// General shortenings
9#define ESCA KC_ESC
10#define MINS KC_MINS
11#define EQUL KC_EQL
12#define BSPC KC_BSPC
13#define DELE KC_DEL
14#define LBRC KC_LBRC
15#define RBRC KC_RBRC
16#define ALTR KC_RALT
17#define SCLN KC_SCLN
18#define QUOT KC_QUOT
19#define NUHS KC_NUHS
20#define ENTE KC_ENT
21#define NUBS KC_NUBS // Less/ greater sign
22#define COMM KC_COMM // Comma
23#define FSTO KC_DOT // Full stop
24#define SLSH KC_SLSH
25#define ALTL KC_LALT
26#define GUIL KC_LGUI
27#define GUIR KC_RGUI
28#define MENO KC_MENU
29
30// Special Actions and Media Keys
31#define INSE KC_INS // Insert here
32#define HOME KC_HOME // Go to beginning of line
33#define ENDI KC_END // go to end of line
34#define PSCR KC_PSCR // Print Screen
35#define SLCK KC_SLCK // go to end of line
36#define PGDN KC_PGDN // go to end of line
37#define PGUP KC_PGUP // go to end of line
38#define PLPS KC_MPLY // Play/Pause
39#define PAUS KC_PAUS // Pause button
40#define MUTE KC_MUTE // Mute sound
41#define VOLU KC_VOLU // Volume increase
42#define VOLD KC_VOLD // Volume decrease
43#define MNXT KC_MNXT // next track
44#define MPRV KC_MPRV // prev track
45#define MSTP KC_MSTP // stop playing
46#define MSEL KC_MSEL // Select media (Start playing it)
47#define MAIL KC_MAIL // Open default mail app
48#define CALC KC_CALC // Open default calculator app
49#define MYCM KC_MYCM // Open default file manager
50
51// increase readability
52#define _______ KC_TRNS
53#define XXXXX KC_NO
54
55const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
56
57/* Keymap BASE: (Base Layer) Default Layer
58 * ,-----------------------------------------------------------.
59 * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
60 * |-----------------------------------------------------------|
61 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| R |
62 * |-----------------------------------------------------------|
63 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | R |
64 * |-----------------------------------------------------------|
65 * |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift |
66 * |-----------------------------------------------------------|
67 * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
68 * `-----------------------------------------------------------|
69 */
70
71[ BASE ] = KEYMAP_ISO_SPLITRSHIFT(
72 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
73 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, XXXXX, \
74 LT(CAPS, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS, KC_ENT, \
75 KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, XXXXX, \
76 KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(CAPS), TG(NUMPAD), TG(MOUSE)),
77
78[ MOUSE ] = KEYMAP( // Mouse controls
79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,\
80 _______, _______, _______, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, _______, _______, _______, _______,\
81 _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______,\
82 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,\
83 _______, _______, _______, _______, _______, _______, _______, _______),
84
85[ NUMPAD ] = KEYMAP( //Numpad and alt shortcuts
86 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,\
87 _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______,\
88 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______,\
89 _______, _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_7, KC_8, KC_9, KC_0, _______, _______, XXXXX,\
90 _______, _______, _______, _______, _______, _______, _______, _______),
91
92[ CAPS ] = KEYMAP( // Main "function" key, arrows, media control
93 KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, XXXXX,\
94 _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, PGDN, KC_UP, PGUP, PSCR, SLCK, PAUS, _______,\
95 _______, KC__VOLDOWN, KC__MUTE, KC__VOLUP, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______,\
96 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,\
97 _______, _______, _______, _______, _______, _______, _______, _______)
98
99};
diff --git a/keyboards/satan/keymaps/olligranlund_iso/readme.md b/keyboards/satan/keymaps/olligranlund_iso/readme.md
new file mode 100644
index 000000000..e0801ef85
--- /dev/null
+++ b/keyboards/satan/keymaps/olligranlund_iso/readme.md
@@ -0,0 +1,18 @@
1# ISO layout for the Satan GH60
2### Originally by Ben James, forked by Oliver Granlund
3
4![Finished product](https://i.imgur.com/s5HAgr6.jpg)
5
6I've wanted to make this as close to a P0ker as possible, but some macros in
7the P0ker don't make sense...
8
9Some of the features:
10* Caps activates special features when held:
11 * Arrow keys directly under right hand
12 * Volume control
13 * Fn keys on number row
14 * PageUp/PageDn/Home/other general buttons
15* Mouse control
16* Numpad (works so much better if this would be ortho)
17### RGB-strip
18![Behind the scenes](https://i.imgur.com/reHLXrc.jpg)
diff --git a/keyboards/satan/keymaps/olligranlund_iso/rules.mk b/keyboards/satan/keymaps/olligranlund_iso/rules.mk
new file mode 100644
index 000000000..c96deccaa
--- /dev/null
+++ b/keyboards/satan/keymaps/olligranlund_iso/rules.mk
@@ -0,0 +1,17 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = no # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend