aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/xd75/keymaps/markus/config.h34
-rw-r--r--keyboards/xd75/keymaps/markus/keymap.c216
-rw-r--r--keyboards/xd75/keymaps/markus/readme.md16
-rw-r--r--keyboards/xd75/keymaps/markus/rules.mk26
4 files changed, 292 insertions, 0 deletions
diff --git a/keyboards/xd75/keymaps/markus/config.h b/keyboards/xd75/keymaps/markus/config.h
new file mode 100644
index 000000000..bde866636
--- /dev/null
+++ b/keyboards/xd75/keymaps/markus/config.h
@@ -0,0 +1,34 @@
1/* Copyright 2018 Markus Weimar
2 *
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.
7 *
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.
12 *
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/>.
15 */
16
17#ifndef CONFIG_USER_H
18#define CONFIG_USER_H
19
20#include QMK_KEYBOARD_CONFIG_H
21
22// place overrides here
23
24// Mousekeys
25#define MOUSEKEY_MOVE_DELTA 1
26#define MOUSEKEY_WHEEL_DELTA 1
27#define MOUSEKEY_DELAY 90
28#define MOUSEKEY_INTERVAL 16
29#define MOUSEKEY_MAX_SPEED 20
30#define MOUSEKEY_TIME_TO_MAX 0
31#define MOUSEKEY_WHEEL_MAX_SPEED 1
32#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
33
34#endif
diff --git a/keyboards/xd75/keymaps/markus/keymap.c b/keyboards/xd75/keymaps/markus/keymap.c
new file mode 100644
index 000000000..e61fb09b1
--- /dev/null
+++ b/keyboards/xd75/keymaps/markus/keymap.c
@@ -0,0 +1,216 @@
1/* Copyright 2018 Markus Weimar
2 *
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.
7 *
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.
12 *
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/>.
15 */
16
17#include "xd75.h"
18#include "keymap_german.h"
19
20#define ________ KC_TRNS
21#define ___xx___ KC_NO
22#define NKRO_TG MAGIC_TOGGLE_NKRO
23
24enum my_layers {
25 _QWZ,
26 _QWY,
27 _GAM,
28 _FN1,
29 _FN2,
30 _FN3,
31};
32
33enum my_keycodes {
34 QWERTZ = SAFE_RANGE,
35 QWERTY,
36 GAMING,
37 FN1,
38 FN2,
39 FN3
40};
41
42enum my_ucis {
43 UNI_LNX,
44 UNI_MAC,
45 UNI_WIN,
46};
47
48const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49
50/* QWERTZ
51 * .--------------------------------------------------------------------------------------------------------------------------------------.
52 * | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | Mute | Vol- | Vol+ | 7 / | 8 ( | 9 ) | 0 = | ẞ ? | Ü |
53 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
54 * | Esc | Q | W | E | R | T | Home | Play | End | Z | U | I | O | P | Ä |
55 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
56 * | LShift | A | S | D | F | G | Pg Up | Up | Pg Dn | H | J | K | L | Ö | RShift |
57 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
58 * | LCtrl | Y | X | C | V | B | Left | Down | Right | N | M | , ; | . : | - _ | RCtrl |
59 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
60 * | Caps | Fn3 | LGUI | LAlt | Fn2 | Fn1 | Tab | Del | Enter | Space | Bksp | LAlt | LGUI | Fn3 | Ins |
61 * '--------------------------------------------------------------------------------------------------------------------------------------'
62 */
63[_QWZ] = {
64{ DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, KC_MUTE, KC_VOLD, KC_VOLU, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_UE },
65{ KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_HOME, KC_MPLY, KC_END, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_AE },
66{ KC_LSFT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_PGUP, KC_UP, KC_PGDN, DE_H, DE_J, DE_K, DE_L, DE_OE, KC_RSFT },
67{ KC_LCTL, DE_Y, DE_X, DE_C, DE_V, DE_B, KC_LEFT, KC_DOWN, KC_RIGHT, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_RCTL },
68{ KC_CAPS, MO(_FN3), KC_LGUI, KC_LALT, MO(_FN2), MO(_FN1), KC_TAB, KC_DEL, KC_ENT, KC_SPC, KC_BSPC, KC_LALT, KC_LGUI, MO(_FN3), KC_INS },
69},
70
71/* QWERTY
72 * .--------------------------------------------------------------------------------------------------------------------------------------.
73 * | | | | | | | | | | | | | | | |
74 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
75 * | | | | | | | | | | Y | | | | | |
76 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
77 * | | | | | | | | | | | | | | | |
78 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
79 * | | Z | | | | | | | | | | | | | |
80 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
81 * | | | | | | | | | | | | | | | |
82 * '--------------------------------------------------------------------------------------------------------------------------------------'
83 */
84[_QWY] = {
85{ DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, KC_MUTE, KC_VOLD, KC_VOLU, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_UE },
86{ KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_HOME, KC_MPLY, KC_END, DE_Y, DE_U, DE_I, DE_O, DE_P, DE_AE },
87{ KC_LSFT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_PGUP, KC_UP, KC_PGDN, DE_H, DE_J, DE_K, DE_L, DE_OE, KC_RSFT },
88{ KC_LCTL, DE_Z, DE_X, DE_C, DE_V, DE_B, KC_LEFT, KC_DOWN, KC_RIGHT, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_RCTL },
89{ KC_CAPS, MO(_FN3), KC_LGUI, KC_LALT, MO(_FN2), MO(_FN1), KC_TAB, KC_DEL, KC_ENT, KC_SPC, KC_BSPC, KC_LALT, KC_LGUI, MO(_FN3), KC_INS },
90},
91
92/* GAMING
93 * .--------------------------------------------------------------------------------------------------------------------------------------.
94 * | | | | | | | | | | | | | | | |
95 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
96 * | | | | | | | | | | Y | | | | | |
97 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
98 * | | | | | | | | | | | | | | | |
99 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
100 * | | Z | | | | | | | | | | | | | |
101 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
102 * | Fn2 | | | | Space | | | | | | | | | | |
103 * '--------------------------------------------------------------------------------------------------------------------------------------'
104 */
105[_GAM] = {
106{ DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, KC_MUTE, KC_VOLD, KC_VOLU, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_UE },
107{ KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_HOME, KC_MPLY, KC_END, DE_Y, DE_U, DE_I, DE_O, DE_P, DE_AE },
108{ KC_LSFT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_PGUP, KC_UP, KC_PGDN, DE_H, DE_J, DE_K, DE_L, DE_OE, KC_RSFT },
109{ KC_LCTL, DE_Z, DE_X, DE_C, DE_V, DE_B, KC_LEFT, KC_DOWN, KC_RIGHT, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_RCTL },
110{ MO(_FN2), MO(_FN3), KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_TAB, KC_DEL, KC_ENT, KC_SPC, KC_BSPC, KC_LALT, KC_LGUI, MO(_FN3), KC_INS },
111},
112
113/* FN1
114 * .--------------------------------------------------------------------------------------------------------------------------------------.
115 * | F1 | F2 | F3 | F4 | F5 | F6 | Prev | Play | Next | F7 | F8 | F9 | F10 | F11 | F12 |
116 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
117 * | | @ | ~ | € | ´ | ` | | | | \ | { | } | + | * | |
118 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
119 * | | " | ' | ‚ | ‘ | ’ | | | | | | [ | ] | ! | ? | |
120 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
121 * | | ° | ^ | „ | “ | ” | | | | # | < | > | … | – | |
122 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
123 * | | | | | | | | | | | | | | | |
124 * '--------------------------------------------------------------------------------------------------------------------------------------'
125 */
126[_FN1] = {
127{ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 },
128{ ________, DE_AT, DE_TILD, DE_EURO, DE_ACUT, DE_GRV, ________, ___xx___, ________, DE_BSLS, DE_LCBR, DE_RCBR, DE_PLUS, DE_ASTR, ___xx___ },
129{ ________, DE_DQOT, DE_QUOT, UC(L'‚'), UC(L'‘'), UC(L'’'), ________, ________, ________, DE_PIPE, DE_LBRC, DE_RBRC, DE_EXLM, DE_QST, ________ },
130{ ________, DE_RING, DE_CIRC, UC(L'„'), UC(L'“'), UC(L'”'), ________, ________, ________, DE_HASH, DE_LESS, DE_MORE, UC(L'…'), UC(L'–'), ________ },
131{ ___xx___, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________ },
132},
133
134/* FN2
135 * .--------------------------------------------------------------------------------------------------------------------------------------.
136 * | | | | | % | ( | ) | P/ | P* | P- | Print | Scroll | Pause | ẞ | |
137 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
138 * | | | Mute | Vol- | Vol+ | Bspc | P7 | P8 | P9 | P+ | WH_U | MS_U | WH_D | × | ÷ |
139 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
140 * | | App | ACL0 | ACL1 | ACL2 | Space | P4 | P5 | P6 | WH_L | MS_L | MS_D | MS_R | WH_R | |
141 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
142 * | | | Prev | Play | Next | Tab | P1 | P2 | P3 | PEnter | BTN1 | BTN2 | BTN3 | — | |
143 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
144 * | Fn2 | | | | | PEnter | P0 | . : | P, | BTN1 | BTN2 | BTN3 | | | |
145 * '--------------------------------------------------------------------------------------------------------------------------------------'
146 */
147[_FN2] = {
148{ ___xx___, ___xx___, ___xx___, ___xx___, DE_PERC, DE_LPRN, DE_RPRN, KC_PSLS, KC_PAST, KC_PMNS, KC_PSCR, KC_LSCR, KC_PAUS, UC(L'ẞ'), ___xx___ },
149{ ________, ___xx___, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSPC, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_WH_U, KC_MS_U, KC_WH_D, UC(L'×'), UC(L'÷') },
150{ ________, KC_APP, KC_ACL2, KC_ACL1, KC_ACL0, KC_SPC, KC_P4, KC_P5, KC_P6, KC_WH_L, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_R, ________ },
151{ ________, ___xx___, KC_MPRV, KC_MPLY, KC_MNXT, KC_TAB, KC_P1, KC_P2, KC_P3, KC_PENT, KC_BTN1, KC_BTN2, KC_BTN3, UC(L'—'), ________ },
152{ MO(_FN2), ________, ________, ________, ________, KC_PENT, KC_P0, DE_DOT, KC_PDOT, KC_BTN1, KC_BTN2, KC_BTN3, ________, ________, ________ },
153},
154
155/* FN3
156 * .--------------------------------------------------------------------------------------------------------------------------------------.
157 * | F13 | F14 | F15 | F16 | F17 | F18 | U LNX | U WIN | U MAC | F19 | F20 | F21 | F22 | F23 | F24 |
158 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
159 * | | QWERTZ | QWERTY | | NKRO | ThinSp | L TOG | L MP | L MOD | | Pg Up | Up | Pg Dn | | |
160 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
161 * | | NaNbSp | | › | ‹ | GAMING | L HUI | L SAI | L VAI | Home | Left | Down | Right | End | |
162 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
163 * | | | | » | « | | L HUD | L SAD | L VAD | FigSp | | | | NbHyph | |
164 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
165 * | | | | | | | | Reset | | NbSp | | | | | |
166 * '--------------------------------------------------------------------------------------------------------------------------------------'
167 */
168[_FN3] = {
169{ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, UNI_LNX, UNI_WIN, UNI_MAC, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 },
170{ ________, QWERTZ, QWERTY, ___xx___, NKRO_TG, UC(L' '), RGB_TOG, RGB_M_P, RGB_MOD, ___xx___, KC_PGUP, KC_UP, KC_PGDN, ___xx___, ___xx___ },
171{ ________, UC(L' '), ___xx___, UC(L'›'), UC(L'‹'), GAMING, RGB_HUI, RGB_SAI, RGB_VAI, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, ________ },
172{ ________, ___xx___, ___xx___, UC(L'»'), UC(L'«'), ___xx___, RGB_HUD, RGB_SAD, RGB_VAD, UC(L' '), ___xx___, ___xx___, ___xx___, UC(L'‑'), ________ },
173{ ___xx___, ________, ________, ________, ________, ________, ________, RESET, ________, UC(L' '), ________, ________, ________, ________, ________ },
174},
175
176};
177
178void matrix_init_user(){
179 set_unicode_input_mode(UC_LNX);
180}
181
182bool process_record_user(uint16_t keycode, keyrecord_t *record) {
183 switch(keycode) {
184 case QWERTZ:
185 if (record->event.pressed) {
186 set_single_persistent_default_layer(_QWZ);
187 }
188 return false;
189 break;
190 case QWERTY:
191 if (record->event.pressed) {
192 set_single_persistent_default_layer(_QWY);
193 }
194 return false;
195 break;
196 case GAMING:
197 if (record->event.pressed) {
198 set_single_persistent_default_layer(_GAM);
199 }
200 return false;
201 break;
202 case UNI_LNX:
203 set_unicode_input_mode(UC_LNX);
204 return false;
205 break;
206 case UNI_WIN:
207 set_unicode_input_mode(UC_WINC);
208 return false;
209 break;
210 case UNI_MAC:
211 set_unicode_input_mode(UC_OSX);
212 return false;
213 break;
214 }
215 return true;
216}
diff --git a/keyboards/xd75/keymaps/markus/readme.md b/keyboards/xd75/keymaps/markus/readme.md
new file mode 100644
index 000000000..926281240
--- /dev/null
+++ b/keyboards/xd75/keymaps/markus/readme.md
@@ -0,0 +1,16 @@
1# XD75 keymap
2
3This keymap has three base layers (QWERTZ, QWERTY, Gaming) and three function layers (Fn1, Fn2, Fn3).
4
5QWERTY is identical to QWERTZ except `z` and `y` are swapped.
6
7Gaming is a modified QWERTY layer for left-hand usage.
8
9The function layers contain:
10
11* Symbols (standard and Unicode)
12* Unicode input mode switches
13* Numpad
14* Function keys
15* Media, mouse, LED control
16* Non-breaking characters
diff --git a/keyboards/xd75/keymaps/markus/rules.mk b/keyboards/xd75/keymaps/markus/rules.mk
new file mode 100644
index 000000000..febb446f8
--- /dev/null
+++ b/keyboards/xd75/keymaps/markus/rules.mk
@@ -0,0 +1,26 @@
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 = no # 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 = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODEMAP_ENABLE = no # This allows sending unicode symbols using X(<unicode>) in your keymap.
15UNICODE_ENABLE = yes # Unicode
16UCIS_ENABLE = no # Keep in mind that not all will work (See WinCompose for details on Windows).
17BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
18RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
19API_SYSEX_ENABLE = no
20
21# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
22SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
23
24ifndef QUANTUM_DIR
25 include ../../../../Makefile
26endif