|
@@ -20,13 +20,17 @@
|
|
|
enum contra_layers {
|
|
|
_QWERTZ,
|
|
|
_FUNC,
|
|
|
- _NUMROW
|
|
|
+ _NUMROW,
|
|
|
+ _NUMROW_L3,
|
|
|
+ _GAMING
|
|
|
};
|
|
|
|
|
|
#define KC_I3 LM(_NUMROW, MOD_LALT)
|
|
|
#define KC_NR MO(_NUMROW)
|
|
|
#define NR_L3 SAFE_RANGE
|
|
|
#define FUN MO(_FUNC)
|
|
|
+#define G_1 TO(_GAMING)
|
|
|
+#define G_0 TG(_GAMING)
|
|
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
|
@@ -52,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
* ,-----------------------------------------------------------------------------------.
|
|
|
* | | | | | | | | Ü | | Ö | | Del |
|
|
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
|
- * | Lock | Ä | ß | | | | | RGBS | RGBB | RGBS | | |
|
|
|
+ * | Lock | Ä | ß | | | GAME | | RGBS | RGBB | RGBS | | |
|
|
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
|
* | | | | | | | | RGBH-| RGBT | RGBH+| PgUp | |
|
|
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
|
@@ -61,14 +65,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
*/
|
|
|
[_FUNC] = {
|
|
|
{_______, _______, _______, _______, _______, _______, _______, DE_UE, _______, DE_OE, _______, KC_DEL },
|
|
|
- {KC_LOCK, DE_AE, DE_SS, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______},
|
|
|
+ {KC_LOCK, DE_AE, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______},
|
|
|
{_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______},
|
|
|
{_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END }
|
|
|
},
|
|
|
|
|
|
/* Numrow layer (special characters with Shift and ISO_L3_Shift)
|
|
|
* ,-----------------------------------------------------------------------------------.
|
|
|
- * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß |
|
|
|
+ * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
|
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
|
* | | | | | | | | | | | #' | |
|
|
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
@@ -78,25 +82,61 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
* `-----------------------------------------------------------------------------------'
|
|
|
*/
|
|
|
[_NUMROW] = {
|
|
|
- {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS },
|
|
|
+ {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______},
|
|
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______},
|
|
|
{_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______},
|
|
|
{_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______}
|
|
|
+},
|
|
|
+[_NUMROW_L3] = {
|
|
|
+ {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______},
|
|
|
+ {_______, DE_Q, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
|
|
+ {_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______},
|
|
|
+ {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______}
|
|
|
+},
|
|
|
+
|
|
|
+/* Gaming
|
|
|
+ * ,-----------------------------------------------------------------------------------.
|
|
|
+ * | | | | | | | | | | | | |
|
|
|
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
|
|
|
+ * | | | | | | | | | | | | |
|
|
|
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
|
|
|
+ * | | | | | | | | | | | | |
|
|
|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
|
|
|
+ * | Space| | | | | | | | Reset| | | |
|
|
|
+ * `-----------------------------------------------------------------------------------'
|
|
|
+ */
|
|
|
+[_GAMING] = {
|
|
|
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
|
|
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
|
|
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
|
|
+ {KC_SPC, _______, _______, _______, _______, _______, _______, _______, G_0, _______, _______, _______}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
|
- if (keycode == NR_L3) {
|
|
|
- if (record->event.pressed) {
|
|
|
- register_code(DE_ALGR);
|
|
|
- layer_on(_NUMROW);
|
|
|
- } else {
|
|
|
- layer_off(_NUMROW);
|
|
|
- unregister_code(DE_ALGR);
|
|
|
- }
|
|
|
- return false;
|
|
|
+ switch(keycode) {
|
|
|
+ case KC_BSPC:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ if (get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) {
|
|
|
+ register_code(DE_SS);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ unregister_code(DE_SS);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ case NR_L3:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ register_code(DE_ALGR);
|
|
|
+ layer_on(_NUMROW_L3);
|
|
|
+ } else {
|
|
|
+ layer_off(_NUMROW_L3);
|
|
|
+ unregister_code(DE_ALGR);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ default:
|
|
|
+ return true;
|
|
|
}
|
|
|
- return true;
|
|
|
}
|
|
|
|
|
|
void led_set_user(uint8_t usb_led) {
|