summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/satan/keymaps/dende_iso/keymap.c80
-rw-r--r--keyboards/satan/keymaps/dende_iso/readme.md61
-rw-r--r--keyboards/satan/keymaps/dende_iso/rules.mk21
-rw-r--r--keyboards/satan/satan.h31
4 files changed, 193 insertions, 0 deletions
diff --git a/keyboards/satan/keymaps/dende_iso/keymap.c b/keyboards/satan/keymaps/dende_iso/keymap.c
new file mode 100644
index 0000000000..9ac1cddbad
--- /dev/null
+++ b/keyboards/satan/keymaps/dende_iso/keymap.c
@@ -0,0 +1,80 @@
+#include "satan.h"
+#include "keymap_extras/keymap_german.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+#define _DEF 0
+#define _FNK 1
+#define _MEDIA 2
+
+// dual-role shortcuts
+#define FN_CAPS LT(_MEDIA, KC_CAPSLOCK)
+
+// increase readability
+#define _______ KC_TRNS
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _DEF: Default Layer
+ * ,------------------------------------------------------------.
+ * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| ß| ´|bcksp|fn1|
+ * |------------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Z| U| I| O| P| Ü| +| |
+ * |----------------------------------------------------- Return|
+ * |fn2 | A| S| D| F| G| H| J| K| L| Ö| Ä| # | |
+ * |------------------------------------------------------------|
+ * |Sft | < | Y| X| C| V| B| N| M| ,| .| -| RSft| del |
+ * |------------------------------------------------------------|
+ * |Ctrl|Win |Alt | Space |RAlt |Win |App|RCtrl|
+ * `------------------------------------------------------------'
+ */
+[_DEF] = LAYOUT_60_iso_split_bs_rshift(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, KC_BSPC, MO(_FNK), \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, \
+ FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, \
+ KC_LSFT, DE_LESS, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_DELETE, \
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, DE_ALGR, KC_RGUI, KC_APP, KC_RCTL),
+
+
+ /* Keymap _FNK: Function Keys
+ * ,------------------------------------------------------------.
+ * | ^ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12| Ins | |
+ * |------------------------------------------------------------|
+ * | |PGU| Up|PGD| | | |Ins|Hom|PDU| | | | |
+ * |----------------------------------------------------- |
+ * | |Lft|Dwn|Rgt| | | |Del|End|PGD| | | | |
+ * |------------------------------------------------------------|
+ * | | | | | | | | | | | | | | |
+ * |------------------------------------------------------------|
+ * | | | | | | | | |
+ * `------------------------------------------------------------'
+ */
+[_FNK] = LAYOUT_60_iso_split_bs_rshift(
+ DE_CIRC, 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_INS, _______, \
+ _______, KC_PGUP, KC_UP, KC_PGDOWN, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, \
+ _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDOWN, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______),
+
+ /* Keymap _MEDIA: Media and Mouse Layer
+ * ,------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |------------------------------------------------------------|
+ * | | | | | | | |MLC| MU|MRC| | | | |
+ * |----------------------------------------------------- |
+ * | |PRV|VLD|VLU|NXT| | | ML| MD| MR| | | | |
+ * |------------------------------------------------------------|
+ * | | | | | | | | | | | | | UP | |
+ * |------------------------------------------------------------|
+ * | | | | PLAY | |LEFT|DWN|RIGHT|
+ * `------------------------------------------------------------'
+ */
+
+[_MEDIA] = LAYOUT_60_iso_split_bs_rshift(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, \
+ _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP , _______, \
+ _______, _______, _______, KC_MPLY, _______, KC_LEFT, KC_DOWN, KC_RIGHT),
+ };
diff --git a/keyboards/satan/keymaps/dende_iso/readme.md b/keyboards/satan/keymaps/dende_iso/readme.md
new file mode 100644
index 0000000000..238a2f725f
--- /dev/null
+++ b/keyboards/satan/keymaps/dende_iso/readme.md
@@ -0,0 +1,61 @@
+# Satan GH60 ISO-DE Layout with split backspace and right shift
+
+![Layout Image](https://i.imgur.com/a7znS69.jpg)
+
+## Default Layer
+This ISO-DE based layout has a split backspace. the left part is the actual backspace and the right parts serves as a FN key.
+The right shift is also split, with the right part serving as the del key.
+```
+/* Keymap _DEF: Default Layer
+ * ,------------------------------------------------------------.
+ * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| ß| ´|bcksp|fn1|
+ * |------------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Z| U| I| O| P| Ü| +| |
+ * |----------------------------------------------------- Return|
+ * |fn2 | A| S| D| F| G| H| J| K| L| Ö| Ä| # | |
+ * |------------------------------------------------------------|
+ * |Sft | < | Y| X| C| V| B| N| M| ,| .| -| RSft| del |
+ * |------------------------------------------------------------|
+ * |Ctrl|Win |Alt | Space |RAlt |Win |App|RCtrl|
+ * `------------------------------------------------------------'
+ */
+```
+
+
+## FN Key Layer
+The Function keys can be accessed when holding fn1 (right part of backspace)
+
+```
+/* Keymap _FNK: Function Keys
+ * ,------------------------------------------------------------.
+ * | ^ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12| Ins | |
+ * |------------------------------------------------------------|
+ * | |PGU| Up|PGD| | | |Ins|Hom|PDU| | | | |
+ * |----------------------------------------------------- |
+ * | |Lft|Dwn|Rgt| | | |Del|End|PGD| | | | |
+ * |------------------------------------------------------------|
+ * | | | | | | | | | | | | | | |
+ * |------------------------------------------------------------|
+ * | | | | | | | | |
+ * `------------------------------------------------------------'
+ */
+```
+
+## Media and Mouse Layer
+The Media Keys and Mouse control can be accessed when holding capslock (fn2)
+
+```
+/* Keymap _MEDIA: Media and Mouse Layer
+ * ,------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |------------------------------------------------------------|
+ * | | | | | | | |MLC| MU|MRC| | | | |
+ * |----------------------------------------------------- |
+ * | |PRV|VLD|VLU|NXT| | | ML| MD| MR| | | | |
+ * |------------------------------------------------------------|
+ * | | | | | | | | | | | | | UP | |
+ * |------------------------------------------------------------|
+ * | | | | PLAY | |LEFT|DWN|RIGHT|
+ * `------------------------------------------------------------'
+ */
+``` \ No newline at end of file
diff --git a/keyboards/satan/keymaps/dende_iso/rules.mk b/keyboards/satan/keymaps/dende_iso/rules.mk
new file mode 100644
index 0000000000..2a7ff27793
--- /dev/null
+++ b/keyboards/satan/keymaps/dende_iso/rules.mk
@@ -0,0 +1,21 @@
+# 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 = no # 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 = yes # 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 = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/satan/satan.h b/keyboards/satan/satan.h
index 8a8874ced3..f7f7b44343 100644
--- a/keyboards/satan/satan.h
+++ b/keyboards/satan/satan.h
@@ -138,11 +138,42 @@
{k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
}
+/* ISO w/ split right shift key matrix layout
+ * ,-----------------------------------------------------------.
+ * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d|49 |
+ * |-----------------------------------------------------------|
+ * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| |
+ * |-------------------------------------------------------- |
+ * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c| 2d|
+ * |-----------------------------------------------------------|
+ * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | 3c|
+ * |-----------------------------------------------------------|
+ * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d |
+ * `-----------------------------------------------------------'
+
+ swap 3c and 3d. 3c is right of 3d in reality
+ */
+#define KEYMAP_ISO_SPLITRSHIFT_SPLITBACKSPACE( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
+ k40, k41, k42, k45, k4a, k4b, k4c, k4d \
+) \
+{ \
+ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
+ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c}, \
+ {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
+ {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
+ {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \
+}
+
void matrix_init_user(void);
void matrix_scan_user(void);
#define LAYOUT_60_ansi KEYMAP_ANSI
#define LAYOUT_60_iso KEYMAP_ISO
#define LAYOUT_60_ansi_split_bs_rshift KEYMAP_HHKB
+#define LAYOUT_60_iso_split_bs_rshift KEYMAP_ISO_SPLITRSHIFT_SPLITBACKSPACE
#endif