]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
[Keymap] Added preonic and mechmini 2 keymaps (#5202)
authorSpacebarRacecar <42380065+SpacebarRacecar@users.noreply.github.com>
Thu, 21 Feb 2019 17:39:04 +0000 (18:39 +0100)
committerDrashna Jaelre <drashna@live.com>
Thu, 21 Feb 2019 17:39:04 +0000 (09:39 -0800)
* added mechmini2 keymap

* added preonic keymap

* changed readme

* correction to mechmini 2 readme

* changes to preonic keymap

keyboards/mechmini/v2/keymaps/spacebarracecar/config.h [new file with mode: 0644]
keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c [new file with mode: 0644]
keyboards/mechmini/v2/keymaps/spacebarracecar/readme.md [new file with mode: 0644]
keyboards/mechmini/v2/keymaps/spacebarracecar/rules.mk [new file with mode: 0644]
keyboards/planck/keymaps/spacebarracecar/keymap.c
keyboards/preonic/keymaps/spacebarracecar/config.h [new file with mode: 0644]
keyboards/preonic/keymaps/spacebarracecar/keymap.c [new file with mode: 0644]
keyboards/preonic/keymaps/spacebarracecar/readme.md [new file with mode: 0644]
keyboards/preonic/keymaps/spacebarracecar/rules.mk [new file with mode: 0644]
keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c
users/spacebarracecar/spacebarracecar.h

diff --git a/keyboards/mechmini/v2/keymaps/spacebarracecar/config.h b/keyboards/mechmini/v2/keymaps/spacebarracecar/config.h
new file mode 100644 (file)
index 0000000..45dcbb0
--- /dev/null
@@ -0,0 +1,3 @@
+#pragma once
+
+
diff --git a/keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c b/keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c
new file mode 100644 (file)
index 0000000..d4e9de0
--- /dev/null
@@ -0,0 +1,139 @@
+#include QMK_KEYBOARD_H
+#include "spacebarracecar.h"
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+enum layers {
+  _BASE,
+  _RAISE,
+  _LOWER,
+  _MUSICMODE
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Base
+,-----------------------------------------------------------------------------------------------------------------------.
+|Tab      |Q        |W        |E        |R        |T        |Z        |U        |I        |O        |P        |Backspace|
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|Esc/Nav  |A        |S        |D        |F        |G        |H        |J        |K        |L        |;        |'        |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|Shift    |Y        |X        |C        |V        |B        |N        |M        |,        |.        |/        |Shift    |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|LCtrl    |         |Win      |Alt      |Lower    |Space    |Enter    |Raise    |AltGr    |Win      |Menu     |RCtrl    |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+
+[_BASE] = LAYOUT_ortho(
+  KC_TAB,   DE_Q,     DE_W,     DE_E,     DE_R,     DE_T,     CU_Z,     DE_U,     DE_I,     DE_O,     DE_P,     KC_BSPC,
+  CU_NAV,   DE_A,     DE_S,     DE_D,     DE_F,     DE_G,     DE_H,     DE_J,     DE_K,     DE_L,     CU_SCLN,  CU_QUOT,
+  CU_LSFT,  CU_Y,     DE_X,     DE_C,     DE_V,     DE_B,     DE_N,     DE_M,     CU_COMM,  CU_DOT,   CU_SLSH,  CU_RSFT,
+  KC_LCTL,  XXXXXXX,  KC_LGUI,  KC_LALT,  LOWER,    KC_SPC,   CTLENT,   RAISE,    KC_RALT,  KC_RGUI,  KC_APP,   KC_RCTL
+),
+
+/* Lower
+,-----------------------------------------------------------------------------------------------------------------------.
+|~        |!        |"        |#        |$        |%        |^        |&        |*        |(        |)        |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |@        |Strg+X   |Strg+C   |Strg+V   |         |         |_        |+        |{        |}        ||        |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |?        |         |         |         |         |         |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |         |         |         |         |         |         |         |         |         |         |         |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+[_LOWER] = LAYOUT_ortho(
+  DE_TILD,  DE_EXLM,  DE_DQOT,  DE_HASH,  DE_DLR,   DE_PERC,  CU_CIRC,  DE_AMPR,  DE_ASTR,  DE_LPRN,  DE_RPRN,  _______,
+  _______,  DE_AT,    CTRLX,    CTRLC,    CTRLV,    XXXXXXX,  XXXXXXX,  DE_UNDS,  DE_PLUS,  DE_LCBR,  DE_RCBR,  DE_PIPE,
+  _______,  DE_EURO,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  DE_MINS,  CU_EQL,   CU_LBRC,  CU_RBRC,  _______,
+  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
+),
+
+/* Raise
+,-----------------------------------------------------------------------------------------------------------------------.
+|`        |1        |2        |3        |4        |5        |6        |7        |8        |9        |0        |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |F1       |F2       |F3       |F4       |F5       |F6       |-        |=        |[        |]        |\        |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |F7       |F8       |F9       |F10      |F11      |F12      |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |         |         |         |         |         |         |         |         |         |         |         |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+
+[_RAISE] = LAYOUT_ortho(
+  CU_GRV,   DE_1,     DE_2,     CU_3,     DE_4,     DE_5,     CU_6,     CU_7,     CU_8,     CU_9,     CU_0,     _______,
+  _______,  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    DE_MINS,  CU_EQL,   CU_LBRC,  CU_RBRC,  CU_BSLS,
+  _______,  KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   XXXXXXX,  _______,  _______,  _______,  _______,
+  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
+),
+
+/* Deadkey
+,-----------------------------------------------------------------------------------------------------------------------.
+|         |         |         |         |         |         |         |Ü        |         |Ö        |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |Ä        |ß        |         |         |         |         |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |         |         |         |         |         |         |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |         |         |         |         |"        |"        |         |         |         |         |         |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+
+[_DEADKEY] = LAYOUT_ortho(
+  KC_TAB,   CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_UE,    CU_ED,    CU_OE,    CU_ED,    KC_BSPC,
+  CU_NAV,   CU_AE,    CU_SS,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_DDQ,
+  CU_LSFT,  CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_RSFT,
+  KC_LCTL,  XXXXXXX,  KC_LGUI,  KC_LALT,  LOWER,    CU_DDQ,   CU_DDQ,   RAISE,    KC_RALT,  KC_RGUI,  KC_APP,   KC_RCTL
+),
+
+/* Navigation
+,-----------------------------------------------------------------------------------------------------------------------.
+|ALT F4   |PageDown |Up       |PageUp   |Home     |         |         |         |Win+Up   |         |         |Del      |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |Left     |Down     |Right    |End      |         |         |Win+Left |Win+Down |Win+Right|         |Enter    |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |Prev     |Pause    |Next     |LowerVol |RaiseVol |Mute     |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|RESET    |ESCT     |         |         |         |         |         |         |         |         |         |Game     |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+
+[_NAV] = LAYOUT_ortho(
+  ALTF4,    KC_PGDN,  KC_UP,    KC_PGUP,  KC_HOME,  XXXXXXX,  XXXXXXX,  XXXXXXX,  GUIU,     XXXXXXX,  XXXXXXX,  KC_DEL,
+  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  XXXXXXX,  GUIL,     GUID,     GUIR,     EMOJI,   KC_ENT,
+  _______,  KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_VOLD,  KC_VOLU,  KC_MUTE,  RGB_TOG,  RGB_MOD,  RGB_HUI,  CU_RGBV,  _______,
+  RESET,    CU_ESCT,  _______,  _______,  _______,  KC_SPC,   CTLENT,   RGB_M_P,  _______,  _______,  _______,  CU_GAME
+)
+
+};
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+switch (keycode) {
+  case MO(_LOWER):
+    if (game){
+      if(record->event.pressed) {
+        register_code(KC_SPC);
+      } else {
+        unregister_code(KC_SPC);
+      }
+      return false;
+    } else {
+      return true;
+    }
+  case KC_LALT:
+    if (game) {
+      if (record->event.pressed){
+        layer_on(_RAISE);
+      } else {
+        layer_off(_RAISE);
+      }
+      return false;
+    } else {
+      return true;
+    }
+  default:
+    return true;
+  }
+}
diff --git a/keyboards/mechmini/v2/keymaps/spacebarracecar/readme.md b/keyboards/mechmini/v2/keymaps/spacebarracecar/readme.md
new file mode 100644 (file)
index 0000000..d403971
--- /dev/null
@@ -0,0 +1,5 @@
+# SpacebarRacecar US-International Mechmini 2 Keymap for German PCs
+
+This keymap emulates most keys of the US-International layout on PCs that have German set as input language.  
+This allows the use of the keyboard on any PC in Germany without the need to change any settings.
+The keymap is mostly based on the Planck default layout but adds essential features for german input, like access to Ä, Ö, Ü, ß.
diff --git a/keyboards/mechmini/v2/keymaps/spacebarracecar/rules.mk b/keyboards/mechmini/v2/keymaps/spacebarracecar/rules.mk
new file mode 100644 (file)
index 0000000..cade68a
--- /dev/null
@@ -0,0 +1,22 @@
+# 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 = no            # 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 = no                # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no           # 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 SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no           # Breathing sleep LED during USB suspend
+
+# Userspace defines
+GERMAN_ENABLE = yes             # Enable Custom US Ansi Keycodes for PC with German set as input language
index 14b96c8472ffda51c37871aa3d0309c8ec77d78d..7ace78903460056d1b68793cff90fe58b518c55e 100644 (file)
@@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 [_NAV] = LAYOUT_ortho_4x12(
   ALTF4,    KC_PGDN,  KC_UP,    KC_PGUP,  KC_HOME,  XXXXXXX,  XXXXXXX,  XXXXXXX,  GUIU,     XXXXXXX,  XXXXXXX,  KC_DEL,
-  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  XXXXXXX,  GUIL,     GUID,     GUIR,     XXXXXXX,  KC_ENT,
+  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  XXXXXXX,  GUIL,     GUID,     GUIR,     EMOJI,    KC_ENT,
   _______,  KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_VOLD,  KC_VOLU,  KC_MUTE,  MU_ON,    XXXXXXX,  XXXXXXX,  XXXXXXX,  _______,
   RESET,    CU_ESCT,  _______,  _______,  _______,  KC_SPC,   CTLENT,   _______,  _______,  _______,  _______,  CU_GAME
 )
diff --git a/keyboards/preonic/keymaps/spacebarracecar/config.h b/keyboards/preonic/keymaps/spacebarracecar/config.h
new file mode 100644 (file)
index 0000000..4f48857
--- /dev/null
@@ -0,0 +1,5 @@
+#pragma once
+
+#ifdef AUDIO_ENABLE
+  #define STARTUP_SONG SONG(NO_SOUND)
+#endif
diff --git a/keyboards/preonic/keymaps/spacebarracecar/keymap.c b/keyboards/preonic/keymaps/spacebarracecar/keymap.c
new file mode 100644 (file)
index 0000000..041fa9f
--- /dev/null
@@ -0,0 +1,176 @@
+#include QMK_KEYBOARD_H
+#include "spacebarracecar.h"
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+enum layers {
+  _BASE,
+  _RAISE,
+  _LOWER,
+  _MUSICMODE
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Base
+,-----------------------------------------------------------------------------------------------------------------------.
+|`        |1        |2        |3        |4        |5        |6        |7        |8        |9        |0        |\        |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|Tab      |Q        |W        |E        |R        |T        |Z        |U        |I        |O        |P        |Backspace|
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|Esc/Nav  |A        |S        |D        |F        |G        |H        |J        |K        |L        |;        |'        |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|Shift    |Y        |X        |C        |V        |B        |N        |M        |,        |.        |/        |Shift    |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|LCtrl    |         |Win      |Alt      |Lower    |Space    |Enter    |Raise    |AltGr    |Win      |Menu     |RCtrl    |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+
+[_BASE] = LAYOUT_preonic_grid(
+  CU_GRV,   DE_1,     DE_2,     CU_3,     DE_4,     DE_5,     CU_6,     CU_7,     CU_8,     CU_9,     CU_0,     CU_BSLS,
+  KC_TAB,   DE_Q,     DE_W,     DE_E,     DE_R,     DE_T,     CU_Z,     DE_U,     DE_I,     DE_O,     DE_P,     KC_BSPC,
+  CU_NAV,   DE_A,     DE_S,     DE_D,     DE_F,     DE_G,     DE_H,     DE_J,     DE_K,     DE_L,     CU_SCLN,  CU_QUOT,
+  CU_LSFT,  CU_Y,     DE_X,     DE_C,     DE_V,     DE_B,     DE_N,     DE_M,     CU_COMM,  CU_DOT,   CU_SLSH,  CU_RSFT,
+  KC_LCTL,  XXXXXXX,  KC_LGUI,  KC_LALT,  LOWER,    KC_SPC,   CTLENT,   RAISE,    KC_RALT,  KC_RGUI,  KC_APP,   KC_RCTL
+),
+
+/* Lower
+,-----------------------------------------------------------------------------------------------------------------------.
+|`        |1        |2        |3        |4        |5        |6        |7        |8        |9        |0        |\        |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|~        |!        |"        |#        |$        |%        |^        |&        |*        |(        |)        |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |@        |Strg+X   |Strg+C   |Strg+V   |         |         |_        |+        |{        |}        ||        |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |?        |         |         |         |         |         |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |         |         |         |         |         |         |         |         |         |         |         |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+[_LOWER] = LAYOUT_preonic_grid(
+  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
+  DE_TILD,  DE_EXLM,  DE_DQOT,  DE_HASH,  DE_DLR,   DE_PERC,  CU_CIRC,  DE_AMPR,  DE_ASTR,  DE_LPRN,  DE_RPRN,  _______,
+  _______,  DE_AT,    CTRLX,    CTRLC,    CTRLV,    XXXXXXX,  XXXXXXX,  DE_UNDS,  DE_PLUS,  DE_LCBR,  DE_RCBR,  DE_PIPE,
+  _______,  DE_EURO,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  DE_MINS,  CU_EQL,   CU_LBRC,  CU_RBRC,  _______,
+  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
+),
+
+/* Raise
+,-----------------------------------------------------------------------------------------------------------------------.
+|`        |1        |2        |3        |4        |5        |6        |7        |8        |9        |0        |\        |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|`        |1        |2        |3        |4        |5        |6        |7        |8        |9        |0        |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |F1       |F2       |F3       |F4       |F5       |F6       |-        |=        |[        |]        |\        |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |F7       |F8       |F9       |F10      |F11      |F12      |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |         |         |         |         |         |         |         |         |         |         |         |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+
+[_RAISE] = LAYOUT_preonic_grid(
+  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
+  CU_GRV,   DE_1,     DE_2,     CU_3,     DE_4,     DE_5,     CU_6,     CU_7,     CU_8,     CU_9,     CU_0,     _______,
+  _______,  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    DE_MINS,  CU_EQL,   CU_LBRC,  CU_RBRC,  CU_BSLS,
+  _______,  KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   XXXXXXX,  _______,  _______,  _______,  _______,
+  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
+),
+
+[_MUSICMODE] = LAYOUT_preonic_grid(
+  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
+  KC_LCTL,  KC_LALT,  KC_LGUI,  KC_DOWN,  KC_UP,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  MU_MOD,   MU_OFF
+),
+
+/* Deadkey
+,-----------------------------------------------------------------------------------------------------------------------.
+|         |         |         |         |         |         |         |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |         |         |         |         |         |         |Ü        |         |Ö        |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |Ä        |ß        |         |         |         |         |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |         |         |         |         |         |         |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |         |         |         |         |"        |"        |         |         |         |         |         |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+
+[_DEADKEY] = LAYOUT_preonic_grid(
+  CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,
+  KC_TAB,   CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_UE,    CU_ED,    CU_OE,    CU_ED,    KC_BSPC,
+  CU_NAV,   CU_AE,    CU_SS,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_DDQ,
+  CU_LSFT,  CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_ED,    CU_RSFT,
+  KC_LCTL,  XXXXXXX,  KC_LGUI,  KC_LALT,  LOWER,    CU_DDQ,   CU_DDQ,   RAISE,    KC_RALT,  KC_RGUI,  KC_APP,   KC_RCTL
+),
+
+/* Navigation
+,-----------------------------------------------------------------------------------------------------------------------.
+|F1       |F2       |F3       |F4       |F5       |F6       |F7       |F8       |F9       |F10      |F11      |F12      |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|ALT F4   |PageDown |Up       |PageUp   |Home     |         |         |         |Win+Up   |         |         |Del      |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |Left     |Down     |Right    |End      |         |         |Win+Left |Win+Down |Win+Right|         |Enter    |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|         |Prev     |Pause    |Next     |LowerVol |RaiseVol |Mute     |         |         |         |         |         |
+|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+|RESET    |ESCT     |         |         |         |         |         |         |         |         |         |Game     |
+`-----------------------------------------------------------------------------------------------------------------------'
+*/
+
+[_NAV] = LAYOUT_preonic_grid(
+  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,
+  ALTF4,    KC_PGDN,  KC_UP,    KC_PGUP,  KC_HOME,  XXXXXXX,  XXXXXXX,  XXXXXXX,  GUIU,     XXXXXXX,  XXXXXXX,  KC_DEL,
+  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  XXXXXXX,  GUIL,     GUID,     GUIR,     EMOJI,    KC_ENT,
+  _______,  KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_VOLD,  KC_VOLU,  KC_MUTE,  MU_ON,    XXXXXXX,  XXXXXXX,  XXXXXXX,  _______,
+  RESET,    CU_ESCT,  _______,  _______,  _______,  KC_SPC,   CTLENT,   _______,  _______,  _______,  _______,  CU_GAME
+)
+
+};
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+switch (keycode) {
+  case MO(_LOWER):
+    if (game){
+      if(record->event.pressed) {
+        register_code(KC_SPC);
+      } else {
+        unregister_code(KC_SPC);
+      }
+      return false;
+    } else {
+      return true;
+    }
+  case KC_LALT:
+    if (game) {
+      if (record->event.pressed){
+        layer_on(_RAISE);
+      } else {
+        layer_off(_RAISE);
+      }
+      return false;
+    } else {
+      return true;
+    }
+  case MU_ON:
+    if(record->event.pressed) {
+      layer_off(_LOWER);
+      layer_off(_RAISE);
+      layer_off(_NAV);
+      layer_off(_DEADKEY);
+      layer_on(_MUSICMODE);
+    }
+    return true;
+  case MU_OFF:
+    if(record->event.pressed) {
+      layer_off(_MUSICMODE);
+    }
+    return true;
+  default:
+    return true;
+  }
+}
diff --git a/keyboards/preonic/keymaps/spacebarracecar/readme.md b/keyboards/preonic/keymaps/spacebarracecar/readme.md
new file mode 100644 (file)
index 0000000..b99bb95
--- /dev/null
@@ -0,0 +1,5 @@
+# SpacebarRacecar US-International Preonic Keymap for German PCs
+
+This keymap emulates most keys of the US-International layout on PCs that have German set as input language.  
+This allows the use of the keyboard on any PC in Germany without the need to change any settings.
+The keymap is mostly based on the Preonic default layout but adds essential features for german input, like access to Ä, Ö, Ü, ß.
diff --git a/keyboards/preonic/keymaps/spacebarracecar/rules.mk b/keyboards/preonic/keymaps/spacebarracecar/rules.mk
new file mode 100644 (file)
index 0000000..bc817a1
--- /dev/null
@@ -0,0 +1,22 @@
+# 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 = no            # 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 = no                # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no           # Enable keyboard backlight functionality
+MIDI_ENABLE = no                # MIDI controls
+AUDIO_ENABLE = yes              # 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 SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no           # Breathing sleep LED during USB suspend
+
+# Userspace defines
+GERMAN_ENABLE = yes             # Enable Custom US Ansi Keycodes for PC with German set as input language
index 87ae5d12420a8dd1268ca8ac38dfea7a356f41a7..407118309741c2da3779e413fc8a687a319f2d15 100644 (file)
@@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [_NAV] = LAYOUT(
   _______,  _______,  _______,  _______,  KC_ESC,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
   _______,  _______,  _______,  _______,  ALTF4,    KC_PGDN,  KC_UP,    KC_PGUP,  KC_HOME,  XXXXXXX,  XXXXXXX,  XXXXXXX,  GUIU,     XXXXXXX,  XXXXXXX,  KC_DEL,
-  _______,  _______,  _______,  _______,  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  XXXXXXX,  GUIL,     GUID,     GUIR,     XXXXXXX,  KC_ENT,
+  _______,  _______,  _______,  _______,  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  XXXXXXX,  GUIL,     GUID,     GUIR,     EMOJI,   KC_ENT,
   _______,  _______,  _______,  _______,  _______,  KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_VOLD,  KC_VOLU,  KC_MUTE,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  _______,
   _______,  _______,  _______,  _______,  RESET,    CU_ESCT,  _______,  _______,  _______,  KC_SPC,   CTLENT,   _______,  _______,  _______,  _______,  CU_GAME
 ),
@@ -243,7 +243,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [_NAV] = LAYOUT(
   KC_ESC,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  _______,  _______,  _______,  _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,
   ALTF4,    KC_PGDN,  KC_UP,    KC_PGUP,  KC_HOME,  XXXXXXX,  _______,  _______,  _______,  _______,  XXXXXXX,  XXXXXXX,  GUIU,     XXXXXXX,  XXXXXXX,  KC_DEL,
-  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  _______,  _______,  _______,  _______,  XXXXXXX,  GUIL,     GUID,     GUIR,     XXXXXXX,  KC_ENT,
+  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  _______,  _______,  _______,  _______,  XXXXXXX,  GUIL,     GUID,     GUIR,     EMOJI,    KC_ENT,
   _______,  KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_VOLD,  KC_VOLU,  _______,  _______,  _______,  _______,  KC_MUTE,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  _______,
   RESET,    CU_ESCT,  _______,  _______,  _______,  KC_SPC,   _______,  _______,  _______,  _______,  CTLENT,   _______,  _______,  _______,  _______,  CU_GAME
 ),
@@ -364,7 +364,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [_NAV] = LAYOUT(
   KC_ESC,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  _______,  _______,  _______,  _______,
   ALTF4,    KC_PGDN,  KC_UP,    KC_PGUP,  KC_HOME,  XXXXXXX,  XXXXXXX,  XXXXXXX,  GUIU,     XXXXXXX,  XXXXXXX,  KC_DEL,   _______,  _______,  _______,  _______,
-  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  XXXXXXX,  GUIL,     GUID,     GUIR,     XXXXXXX,  KC_ENT,   _______,  _______,  _______,  _______,
+  _______,  KC_LEFT,  KC_DOWN,  KC_RGHT,  KC_END,   XXXXXXX,  XXXXXXX,  GUIL,     GUID,     GUIR,     EMOJI,    KC_ENT,   _______,  _______,  _______,  _______,
   _______,  KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_VOLD,  KC_VOLU,  KC_MUTE,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  _______,  _______,  _______,  _______,  _______,
   RESET,    CU_ESCT,  _______,  _______,  _______,  KC_SPC,   CTLENT,   _______,  _______,  _______,  _______,  CU_GAME,  _______,  _______,  _______,  _______
 ),
index b57cbed82425ae2717b1bbb66cf4518378dd8c09..690971c39b0471734c722f47b5294bb3e6b6263c 100644 (file)
@@ -90,6 +90,8 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
 
 #define CTLENT CTL_T(KC_ENT)
 
+#define EMOJI LWIN(KC_DOT)
+
 /*
 Templates for Keys, with custom shifted and non shifted Characters
 */