Added GH60 Satan ISO layout with split right shift and split backspace (#2773)
* added an iso layout that supports split backspace and split rshift * added a keymap which uses the iso layout with split backspace and split rshift * added a #define LAYOUT_ for the KEYMAP_ * fixed missing newlinedaktil_thumb_popravljen
parent
0912c42f04
commit
503335be25
|
@ -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),
|
||||||
|
};
|
|
@ -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|
|
||||||
|
* `------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
```
|
|
@ -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
|
|
@ -138,11 +138,42 @@
|
||||||
{k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
|
{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_init_user(void);
|
||||||
void matrix_scan_user(void);
|
void matrix_scan_user(void);
|
||||||
|
|
||||||
#define LAYOUT_60_ansi KEYMAP_ANSI
|
#define LAYOUT_60_ansi KEYMAP_ANSI
|
||||||
#define LAYOUT_60_iso KEYMAP_ISO
|
#define LAYOUT_60_iso KEYMAP_ISO
|
||||||
#define LAYOUT_60_ansi_split_bs_rshift KEYMAP_HHKB
|
#define LAYOUT_60_ansi_split_bs_rshift KEYMAP_HHKB
|
||||||
|
#define LAYOUT_60_iso_split_bs_rshift KEYMAP_ISO_SPLITRSHIFT_SPLITBACKSPACE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue