summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlliGranlund <OlliGranlund@users.noreply.github.com>2018-09-30 22:50:16 +0200
committerDrashna Jaelre <drashna@live.com>2018-09-30 22:50:16 +0200
commita6c85f1c2383616e875e7cdc6ce31873d6fb0ce3 (patch)
treed5db75a29f7b3ec6ba8d70626cc9713ad6d4f535
parenta7d46f1b0f4d18699a38898ff68114204d4c087d (diff)
downloadqmk_firmware-a6c85f1c2383616e875e7cdc6ce31873d6fb0ce3.tar.gz
qmk_firmware-a6c85f1c2383616e875e7cdc6ce31873d6fb0ce3.tar.xz
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 @@
+/*
+Copyright 2017 Danny Nguyen <danny@keeb.io>
+
+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/>.
+*/
+
+#pragma once
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+//#define USE_I2C
+
+/* Select hand configuration */
+
+// #define MASTER_LEFT
+// #define MASTER_RIGHT
+#define EE_HANDS
+
+#undef RGBLED_NUM
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 18
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#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 @@
+#include QMK_KEYBOARD_H
+#include "keymap_swedish.h"
+
+extern keymap_config_t keymap_config;
+
+#define _QWERTY 0
+#define _LOWER 1
+#define _RAISE 2
+#define _ADJUST 16
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST
+};
+
+#define KC_ KC_TRNS
+
+#define KC_LOWER LOWER
+#define KC_RAISE RAISE
+#define KC_ADJ ADJUST
+#define KC_RST RESET
+
+#define KC_AA NO_AA
+#define KC_AE NO_AE
+#define KC_OE NO_OSLH
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+LT(_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,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_OE, KC_AE,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ 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,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ KC_LGUI, KC_LALT, KC_SPC, KC_ENT, ADJUST, KC_RALT
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_LOWER] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ NO_TILD, KC_EXLM, NO_AT, KC_HASH, NO_DLR, KC_PERC, NO_CIRC, NO_AMPR, NO_ASTR, NO_SLSH, NO_LPRN, NO_RPRN,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDOWN, NO_LCBR, NO_RCBR,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, NO_BSLS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, NO_LBRC, NO_RBRC,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ 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,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_RAISE] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ NO_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, NO_MINS, NO_ASTR,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, NO_PLUS, NO_SLSH,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ 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,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_ADJUST] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ BL_TOGG, BL_STEP, BL_BRTG, RGB_TOG, RGB_RMOD, RGB_MOD, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ BL_DEC, _______, BL_INC, RGB_VAD, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, _______, _______, _______, _______, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ )
+};
+
+void persistent_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ break;
+ 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 ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
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 @@
+# Iris Nordic Layout
+### by Oliver Granlund
+
+![Finished product](https://i.imgur.com/zqSBc3t.jpg)
+
+This is for those who insist to use keyboard with ÅÄÖ. Also thought about the
+gaming aspect with this keyboard, therefore space on left side.
+
+At first I thought about having backspace in the upper right corner of the
+slave side, but that made it really clunky to fix your text. Thumbs should take
+care 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 @@
+RGBLIGHT_ENABLE = yes
+BACKLIGHT_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 @@
+// Backlight configuration
+#undef BACKLIGHT_LEVELS
+#define BACKLIGHT_LEVELS 10
+
+// Underlight configuration
+#undef RGB_DI_PIN
+#define RGB_DI_PIN B2
+#undef RGBLED_NUM
+#define RGBLED_NUM 16 // Number of LEDs
+#undef RGBLIGHT_HUE_STEP
+#define RGBLIGHT_HUE_STEP 8
+#undef RGBLIGHT_SAT_STEP
+#define RGBLIGHT_SAT_STEP 8
+#undef RGBLIGHT_VAL_STEP
+#define RGBLIGHT_VAL_STEP 8
+
+#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 @@
+#include QMK_KEYBOARD_H
+
+#define BASE 0 // Default layer
+#define MOUSE 1 // Space layer
+#define NUMPAD 2 // Alt layer
+#define CAPS 3 // Caps layer
+
+// General shortenings
+#define ESCA KC_ESC
+#define MINS KC_MINS
+#define EQUL KC_EQL
+#define BSPC KC_BSPC
+#define DELE KC_DEL
+#define LBRC KC_LBRC
+#define RBRC KC_RBRC
+#define ALTR KC_RALT
+#define SCLN KC_SCLN
+#define QUOT KC_QUOT
+#define NUHS KC_NUHS
+#define ENTE KC_ENT
+#define NUBS KC_NUBS // Less/ greater sign
+#define COMM KC_COMM // Comma
+#define FSTO KC_DOT // Full stop
+#define SLSH KC_SLSH
+#define ALTL KC_LALT
+#define GUIL KC_LGUI
+#define GUIR KC_RGUI
+#define MENO KC_MENU
+
+// Special Actions and Media Keys
+#define INSE KC_INS // Insert here
+#define HOME KC_HOME // Go to beginning of line
+#define ENDI KC_END // go to end of line
+#define PSCR KC_PSCR // Print Screen
+#define SLCK KC_SLCK // go to end of line
+#define PGDN KC_PGDN // go to end of line
+#define PGUP KC_PGUP // go to end of line
+#define PLPS KC_MPLY // Play/Pause
+#define PAUS KC_PAUS // Pause button
+#define MUTE KC_MUTE // Mute sound
+#define VOLU KC_VOLU // Volume increase
+#define VOLD KC_VOLD // Volume decrease
+#define MNXT KC_MNXT // next track
+#define MPRV KC_MPRV // prev track
+#define MSTP KC_MSTP // stop playing
+#define MSEL KC_MSEL // Select media (Start playing it)
+#define MAIL KC_MAIL // Open default mail app
+#define CALC KC_CALC // Open default calculator app
+#define MYCM KC_MYCM // Open default file manager
+
+// increase readability
+#define _______ KC_TRNS
+#define XXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Keymap BASE: (Base Layer) Default Layer
+ * ,-----------------------------------------------------------.
+ * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
+ * |-----------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| R |
+ * |-----------------------------------------------------------|
+ * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | R |
+ * |-----------------------------------------------------------|
+ * |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift |
+ * |-----------------------------------------------------------|
+ * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
+ * `-----------------------------------------------------------|
+ */
+
+[ BASE ] = KEYMAP_ISO_SPLITRSHIFT(
+ 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, \
+ 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, \
+ 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, \
+ 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, \
+ KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(CAPS), TG(NUMPAD), TG(MOUSE)),
+
+[ MOUSE ] = KEYMAP( // Mouse controls
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,\
+ _______, _______, _______, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_U, KC_MS_BTN2, _______, _______, _______, _______,\
+ _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______,\
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,\
+ _______, _______, _______, _______, _______, _______, _______, _______),
+
+[ NUMPAD ] = KEYMAP( //Numpad and alt shortcuts
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,\
+ _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______,\
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______,\
+ _______, _______, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_7, KC_8, KC_9, KC_0, _______, _______, XXXXX,\
+ _______, _______, _______, _______, _______, _______, _______, _______),
+
+[ CAPS ] = KEYMAP( // Main "function" key, arrows, media control
+ 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,\
+ _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, PGDN, KC_UP, PGUP, PSCR, SLCK, PAUS, _______,\
+ _______, KC__VOLDOWN, KC__MUTE, KC__VOLUP, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______,\
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXX,\
+ _______, _______, _______, _______, _______, _______, _______, _______)
+
+};
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 @@
+# ISO layout for the Satan GH60
+### Originally by Ben James, forked by Oliver Granlund
+
+![Finished product](https://i.imgur.com/s5HAgr6.jpg)
+
+I've wanted to make this as close to a P0ker as possible, but some macros in
+the P0ker don't make sense...
+
+Some of the features:
+* Caps activates special features when held:
+ * Arrow keys directly under right hand
+ * Volume control
+ * Fn keys on number row
+ * PageUp/PageDn/Home/other general buttons
+* Mouse control
+* Numpad (works so much better if this would be ortho)
+### RGB-strip
+![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 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend