aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhypnocrat <33875176+hypnocrat@users.noreply.github.com>2018-03-09 19:32:03 +0100
committerJack Humbert <jack.humb@gmail.com>2018-03-09 13:32:03 -0500
commit400f410c45cb0e97791988e753c8dab1b876b53a (patch)
treecf34c935babe0219a80d0b4408c8e60114c46cbd
parent8d6eadf26159dfe3a63d0bda15bdc68cab21ee36 (diff)
downloadqmk_firmware-400f410c45cb0e97791988e753c8dab1b876b53a.tar.gz
qmk_firmware-400f410c45cb0e97791988e753c8dab1b876b53a.zip
XD75 keymap - Germanized (#2441)
* Added a heavily customized German keymap to the XD75RE * A heavily customized alternative layout for the XD75, for German users * Fixed capitalization, removed unnecessary files * Hopefully fixed capitalization, some keymap changes
-rw-r--r--keyboards/xd75/keymaps/germanized/config.h125
-rw-r--r--keyboards/xd75/keymaps/germanized/keymap.c86
-rw-r--r--keyboards/xd75/keymaps/germanized/readme.md83
-rw-r--r--keyboards/xd75/keymaps/germanized/rules.mk38
4 files changed, 332 insertions, 0 deletions
diff --git a/keyboards/xd75/keymaps/germanized/config.h b/keyboards/xd75/keymaps/germanized/config.h
new file mode 100644
index 000000000..5b19bddb0
--- /dev/null
+++ b/keyboards/xd75/keymaps/germanized/config.h
@@ -0,0 +1,125 @@
1/* Copyright 2018 Kolja Brauns
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 "../../config.h"
21
22// place overrides here
23
24//Tap-Toggle
25#define TAPPING_TOGGLE 3
26
27//Tap Dancing
28#define TAPPING_TERM 200
29
30// Alt gr
31#define ALGR(kc) RALT(kc)
32#define DE_ALGR KC_RALT
33
34// normal characters
35#define DE_Z KC_Y
36#define DE_Y KC_Z
37
38#define DE_A KC_A
39#define DE_B KC_B
40#define DE_C KC_C
41#define DE_D KC_D
42#define DE_E KC_E
43#define DE_F KC_F
44#define DE_G KC_G
45#define DE_H KC_H
46#define DE_I KC_I
47#define DE_J KC_J
48#define DE_K KC_K
49#define DE_L KC_L
50#define DE_M KC_M
51#define DE_N KC_N
52#define DE_O KC_O
53#define DE_P KC_P
54#define DE_Q KC_Q
55#define DE_R KC_R
56#define DE_S KC_S
57#define DE_T KC_T
58#define DE_U KC_U
59#define DE_V KC_V
60#define DE_W KC_W
61#define DE_X KC_X
62
63#define DE_0 KC_0
64#define DE_1 KC_1
65#define DE_2 KC_2
66#define DE_3 KC_3
67#define DE_4 KC_4
68#define DE_5 KC_5
69#define DE_6 KC_6
70#define DE_7 KC_7
71#define DE_8 KC_8
72#define DE_9 KC_9
73
74#define DE_DOT KC_DOT
75#define DE_COMM KC_COMM
76
77#define DE_SS KC_MINS
78#define DE_AE KC_QUOT
79#define DE_UE KC_LBRC
80#define DE_OE KC_SCLN
81
82#define DE_CIRC KC_GRAVE // accent circumflex ^ and ring °
83#define DE_ACUT KC_EQL // accent acute ´ and grave `
84#define DE_PLUS KC_RBRC // + and * and ~
85#define DE_HASH KC_BSLS // # and '
86#define DE_LESS KC_NUBS // < and > and |
87#define DE_MINS KC_SLSH // - and _
88
89// shifted characters
90#define DE_RING LSFT(DE_CIRC) // °
91#define DE_EXLM LSFT(KC_1) // !
92#define DE_DQOT LSFT(KC_2) // "
93#define DE_PARA LSFT(KC_3) // §
94#define DE_DLR LSFT(KC_4) // $
95#define DE_PERC LSFT(KC_5) // %
96#define DE_AMPR LSFT(KC_6) // &
97#define DE_SLSH LSFT(KC_7) // /
98#define DE_LPRN LSFT(KC_8) // (
99#define DE_RPRN LSFT(KC_9) // )
100#define DE_EQL LSFT(KC_0) // =
101#define DE_QST LSFT(DE_SS) // ?
102#define DE_GRV LSFT(DE_ACUT) // `
103#define DE_ASTR LSFT(DE_PLUS) // *
104#define DE_QUOT LSFT(DE_HASH) // '
105#define DE_MORE LSFT(DE_LESS) // >
106#define DE_COLN LSFT(KC_DOT) // :
107#define DE_SCLN LSFT(KC_COMM) // ;
108#define DE_UNDS LSFT(DE_MINS) // _
109
110// Alt Gr-ed characters
111#define DE_SQ2 ALGR(KC_2) // ²
112#define DE_SQ3 ALGR(KC_3) // ³
113#define DE_LCBR ALGR(KC_7) // {
114#define DE_LBRC ALGR(KC_8) // [
115#define DE_RBRC ALGR(KC_9) // ]
116#define DE_RCBR ALGR(KC_0) // }
117#define DE_BSLS ALGR(DE_SS) // backslash
118#define DE_AT ALGR(KC_Q) // @
119#define DE_EURO ALGR(KC_E) // €
120#define DE_TILD ALGR(DE_PLUS) // ~
121#define DE_PIPE ALGR(DE_LESS) // |
122
123// Launchy
124#define ALT_SPC LALT(KC_SPC)
125#endif
diff --git a/keyboards/xd75/keymaps/germanized/keymap.c b/keyboards/xd75/keymaps/germanized/keymap.c
new file mode 100644
index 000000000..b7c9620c1
--- /dev/null
+++ b/keyboards/xd75/keymaps/germanized/keymap.c
@@ -0,0 +1,86 @@
1/* Copyright 2017 Kolja Brauns
2*/
3#include "xd75.h"
4
5#ifndef KEYMAP_GERMAN
6#define KEYMAP_GERMAN
7
8#include "keymap.h"
9
10#endif
11
12//Tap Dance Declarations
13enum {
14 TD_ESC_RUPT = 0
15};
16
17enum {
18 TD_TAB = 1
19};
20
21//Tap Dance Definitions
22qk_tap_dance_action_t tap_dance_actions[] = {
23 //Tap once for Esc, twice Ctrl+Alt+Del
24 [TD_ESC_RUPT] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, LALT(LCTL(KC_DEL))),
25 [TD_TAB] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, LGUI(KC_TAB))
26// Other declarations would go here, separated by commas, if you have them
27};
28
29//In Layer declaration, add tap dance item in place of a key code
30
31
32// Layer shorthand
33#define _QWZ 0
34#define _FNC 1
35
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37
38
39 /* QWZ
40 * .-----------------------------------------------------------------------------------------------------------------------.
41 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß | ´ | BckSpc| Esc |
42 * |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
43 * | Tab | Q | W | E | R | T | Z | U | I | O | P | Ü | + | | PgUp |
44 * |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------| Enter |-------|
45 * | Ctrl/ | A | S | D | F | G | H | J | K | L | Ö | Ä | # | | PgDn |
46 * | GUITab| | | | | | | | | | | | | | |
47 * |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
48 * | LShift| Y | X | C | V | B | N | M | , | . | - | ^ | Home/ | Up | End |
49 * | | | | | | | | | | | | | RShift| | |
50 * |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
51 * | LCtrl | LAlt | MO(1)/| Space | Backspace | MO(1)/|AltGr/ | Win | < | Del | Left | Down | Right |
52 * | | | Enter | | | TO(1) |Pause | | | | | | |
53 * °-----------------------------------------------------------------------------------------------------------------------°
54 */
55
56 [_QWZ] = {
57 { TD(TD_ESC_RUPT), 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, KC_ESC },
58 { 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, KC_NO, KC_PGUP },
59 { TD(TD_TAB), 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_PGDN },
60 { KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, DE_CIRC, MT(MOD_RSFT, KC_HOME), KC_UP, KC_END },
61 { KC_LCTL, KC_LALT, LT(1, KC_ENT), KC_SPC, KC_NO, KC_BSPC, KC_NO, TT(1), MT(MOD_RALT, KC_PAUS), KC_RGUI, DE_LESS, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT },
62 },
63
64 /* FNC
65 * .-----------------------------------------------------------------------------------------------------------------------.
66 * | Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | _____ | _____ |
67 * |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
68 * | _____ | _____ | _____ |Bright+| _____ | _____ | _____ | _____ | _____ | Up | PrtSc | _____ | _____ | _____ | _____ |
69 * |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
70 * | _____ | _____ | _____ |RGB Tog|RGB Mod| _____ | _____ | _____ | Left | Down | Right | _____ | _____ | Play | _____ |
71 * |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
72 * | CpsLck| _____ | _____ |Bright-| _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | VolUp | Mute |
73 * |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
74 * | TO(0) | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | Prev | VolDn | Next |
75 * °-----------------------------------------------------------------------------------------------------------------------°
76*/
77 [_FNC] = {
78 { RESET, 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_TRNS, KC_TRNS },
79 { KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS },
80 { KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS },
81 { KC_CAPS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE },
82 { TO(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT },
83 },
84
85};
86
diff --git a/keyboards/xd75/keymaps/germanized/readme.md b/keyboards/xd75/keymaps/germanized/readme.md
new file mode 100644
index 000000000..81e98c9f7
--- /dev/null
+++ b/keyboards/xd75/keymaps/germanized/readme.md
@@ -0,0 +1,83 @@
1# XD75RE
2
3Copyright 2018 Kolja Brauns
4
5### Current release: 1.7
6
7**Features**
8A keymap for German users of the XD75RE keyboard, customized to my needs. Not optimized for ten-finger typing. Some choices are due to me being a lefty.
9Designed to ease transition from staggered layouts, with the most important keys in the same positions. All German alphanumerics on main layer. Keyboard language should be set to DE in your OS.
10Lots of dual-use keys, mostly with hold/tap. See visual representation below.
11Some 2u keys, using PoS caps. If you don't have any you'll have to replace the dummy keys with the relevant keycodes.
12Full nav keys on main layer.
13Designed to be used with an additional macropad, no numpad configured.
14
15 **QWZ** - Layer 0, Default Layer. QWERTZ layout.
16
17
18 .-----------------------------------------------------------------------------------------------------------------------.
19 | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß | ´ | BckSpc| Esc |
20 |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
21 | Tab | Q | W | E | R | T | Z | U | I | O | P | Ü | + | | PgUp |
22 |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------| Enter |-------|
23 | Ctrl/ | A | S | D | F | G | H | J | K | L | Ö | Ä | # | | PgDn |
24 | GUITab| | | | | | | | | | | | | | |
25 |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
26 | LShift| Y | X | C | V | B | N | M | , | . | - | ^ | Home/ | Up | End |
27 | | | | | | | | | | | | | RShift| | |
28 |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
29 | LCtrl | LAlt | MO(1)/| Space | Backspace | MO(1)/|AltGr/ | Win | < | Del | Left | Down | Right |
30 | | | Enter | | | TO(1) |Pause | | | | | | |
31 °-----------------------------------------------------------------------------------------------------------------------°
32
33
34
35
36**FNC** - Layer 1, Function Layer. F-Keys, additional useful keys. Usually accessed temporarily, can be toggled if necessary.
37
38
39 .-----------------------------------------------------------------------------------------------------------------------.
40 | Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | _____ | _____ |
41 |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
42 | _____ | _____ | _____ |Bright+| _____ | _____ | _____ | _____ | _____ | Up | PrtSc | _____ | _____ | _____ | _____ |
43 |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
44 | _____ | _____ | _____ |RGB Tog|RGB Mod| _____ | _____ | _____ | Left | Down | Right | _____ | _____ | Play | _____ |
45 |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
46 | CpsLck| _____ | _____ |Bright-| _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | VolUp | Mute |
47 |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
48 | TO(0) | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | Prev | VolDn | Next |
49 °-----------------------------------------------------------------------------------------------------------------------°
50
51
52
53*Release 1.1*
54
55Added Printscreen to second layer.
56Added shortcut to Launchy to AltGr.
57
58*Release 1.3*
59
60Now using PoS keys for 2u keys, added dummy keys accordingly (not strictly necessary since debouncing handles this, but without this you'll have double input rarely.)
61Cleaned keymap up & removed unnecessary layers.
62
63*Release 1.4*
64Fixed position of the reset key, replaced right spacebar with backspace.
65
66*Release 1.5*
67Reset moved to Esc. Removed Numpad since it wasn't getting any use. Removed random other keys on function layer that weren't getting any use or are covered by my macropad. Added RShift for held home key.
68Added secondary arrow keys on JIKL.
69
70*Release 1.6*
71Major rework and cleanup.
72Capslock removed. Caps now temporarily toggles function layer when held, Esc when tapped. LShift is Capslock when tapped. Esc is Ctrl-Alt-Del on tap.
73Left lower MO(1) is now Enter on tap. Right lower Layer(1) is now Tap-Toggle (Toggle:_Tap thrice).
74Media keys moved to nav section - Enter=Play, Up=VolUp, Down=VolDn, Left=Prev, Right=Next, End=Mute.
75Added PrintScreen on P on Layer 1.
76Added cleaner visual representation since the multi-function keys make the actual keymap messy.
77Moved old versions into folder together, only current version in root keymap directory now.
78
79*Release 1.7*
80Backspace split, includes Esc now.
81Capslock moved to function layer to keep smoother LShift operation.
82Original Caps key now Ctrl, Alt+GUI on double-tap - inspired by Android.
83Cleaned up visual representation in readme.
diff --git a/keyboards/xd75/keymaps/germanized/rules.mk b/keyboards/xd75/keymaps/germanized/rules.mk
new file mode 100644
index 000000000..d72bcf575
--- /dev/null
+++ b/keyboards/xd75/keymaps/germanized/rules.mk
@@ -0,0 +1,38 @@
1# Copyright 2013 Jun Wako <wakojun@gmail.com>
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# QMK Build Options
18# change to "no" to disable the options, or define them in the Makefile in
19# the appropriate keymap folder that will get included automatically
20#
21BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
22MOUSEKEY_ENABLE = no # Mouse keys(+4700)
23EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
24CONSOLE_ENABLE = no # Console for debug(+400)
25COMMAND_ENABLE = yes # Commands for debug and configuration
26NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
27BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
28MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
29AUDIO_ENABLE = no # Audio output on port C6
30UNICODE_ENABLE = no # Unicode
31BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
32RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
33SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
34TAP_DANCE_ENABLE = yes # Enable Tap Dancing
35
36ifndef QUANTUM_DIR
37 include ../../../../Makefile
38endif