summaryrefslogtreecommitdiffstats
path: root/keyboards/contra
diff options
context:
space:
mode:
authorMax Rumpf <max.rumpf1998@gmail.com>2018-10-15 22:23:19 +0200
committerDrashna Jaelre <drashna@live.com>2018-10-15 22:23:19 +0200
commit4e2817eff18f868b6d62710b67f46808d6efd22d (patch)
tree3c1665596de6c6752e0d02346c5efdb8a5e57425 /keyboards/contra
parent31d12662bde435e6636347ee842108b1cb3d8d48 (diff)
downloadqmk_firmware-4e2817eff18f868b6d62710b67f46808d6efd22d.tar.gz
qmk_firmware-4e2817eff18f868b6d62710b67f46808d6efd22d.tar.xz
Keymap: Some tweaks to Maxr1998's Contra layout (#4144)
* Make some keys more accessible, prevent mistypings * Add "Gaming" layer which maps L-Ctrl to space (left-handed jumping compatibility-mode for all games)
Diffstat (limited to 'keyboards/contra')
-rw-r--r--keyboards/contra/keymaps/maxr1998/keymap.c70
1 files changed, 55 insertions, 15 deletions
diff --git a/keyboards/contra/keymaps/maxr1998/keymap.c b/keyboards/contra/keymaps/maxr1998/keymap.c
index afdd3d94a..87bf33894 100644
--- a/keyboards/contra/keymaps/maxr1998/keymap.c
+++ b/keyboards/contra/keymaps/maxr1998/keymap.c
@@ -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) {