Browse Source

[Keymap] Add keymap for Nyquist rev3 (#8706)

* copy nyquist setup

* enable i2c

* update colors

* update readme

* Update keyboards/keebio/nyquist/keymaps/georgepetri3/keymap.c

Co-Authored-By: Joel Challis <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
George Petri 5 years ago
parent
commit
6e84247ec2

+ 25 - 0
keyboards/keebio/nyquist/keymaps/georgepetri3/config.h

@@ -0,0 +1,25 @@
+/*
+Copyright 2017 Danny Nguyen <danny@hexwire.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#define RGBLIGHT_LAYERS
+
+#define TAPPING_TOGGLE 2
+#define TAPPING_TERM 150
+
+#define USE_I2C

+ 106 - 0
keyboards/keebio/nyquist/keymaps/georgepetri3/keymap.c

@@ -0,0 +1,106 @@
+#include QMK_KEYBOARD_H
+#define _BASE 0
+#define _L 1
+#define _R 2
+
+#define KC_TL LCTL(KC_PGUP)
+#define KC_TR LCTL(KC_PGDN)
+#define KC_TC LCTL(KC_W)
+#define KC_TRO LCTL(LSFT(KC_T))
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[_BASE] = LAYOUT(
+//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+    KC_GRV , KC_1   , KC_2   , KC_3   , KC_4   , KC_5   ,   KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_BSPC,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   ,   KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_DEL ,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    KC_ESC , KC_A   , KC_S   , KC_D   , KC_F   , KC_G   ,   KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    KC_LSFT, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   ,   KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_ENT ,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    KC_CAPS, KC_LCTL, KC_LGUI, KC_LALT, MO(_L) , KC_SPC ,   KC_RSFT, TT(_R) , KC_LEFT, KC_DOWN, KC_UP  , KC_RGHT
+//└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┘
+  ),
+  
+  [_L] = LAYOUT(
+//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+    _______, 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_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_BSLS,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    _______, _______, _______, _______, _______, _______,   KC_LEFT, KC_DOWN, KC_UP  , KC_RGHT, _______, _______,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    _______, _______, _______, _______, _______, _______,   _______, KC_PGDN, KC_PGUP, KC_HOME, KC_END , _______,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    _______, _______, _______, _______, _______, _______,   _______, _______, _______, _______, _______, _______
+//└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┘
+  ),
+  
+  [_R] = LAYOUT(
+//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+    _______, _______, _______, _______, _______, _______,   _______, _______, _______, _______, _______, _______,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    _______, KC_TL  , KC_TR  , KC_TC  , KC_TRO , _______,   _______, KC_TL  , KC_TR  , KC_TC  , KC_TRO , _______,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    _______, KC_LEFT, KC_DOWN, KC_UP  , KC_RGHT, _______,   KC_LEFT, KC_DOWN, KC_UP  , KC_RGHT, _______, _______,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    _______, KC_PGDN, KC_PGUP, KC_HOME, KC_END , _______,   _______, KC_PGDN, KC_PGUP, KC_HOME, KC_END , _______,
+//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+    _______, _______, _______, _______, _______, _______,   _______, _______, _______, _______, _______, _______
+//└────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┘
+  )
+};
+
+const rgblight_segment_t PROGMEM left[] = RGBLIGHT_LAYER_SEGMENTS(
+    {0, 12, HSV_SPRINGGREEN}
+);
+
+const rgblight_segment_t PROGMEM right[] = RGBLIGHT_LAYER_SEGMENTS(
+    {0, 12, HSV_RED}
+);
+
+const rgblight_segment_t PROGMEM capslock[] = RGBLIGHT_LAYER_SEGMENTS(
+    {2, 3, HSV_GOLD},
+    {6, 1, HSV_GOLD},
+    {11, 1, HSV_GOLD}
+);
+
+const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(left, right, capslock);
+
+void keyboard_post_init_user(void) {
+    rgblight_sethsv_noeeprom(HSV_BLUE);
+    rgblight_layers = rgb_layers;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+    rgblight_set_layer_state(0, layer_state_cmp(state, _L));
+    rgblight_set_layer_state(1, layer_state_cmp(state, _R));
+    return state;
+}
+
+void suspend_power_down_user(void) {
+    rgblight_disable();
+}
+
+void suspend_wakeup_init_user(void) {
+    rgblight_enable();
+}
+
+bool is_shift_pressed = false;
+
+bool led_update_user(led_t led_state) {
+    rgblight_set_layer_state(2, is_shift_pressed != led_state.caps_lock);
+    return true;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t* record) {
+    switch (keycode) {
+        case KC_LSFT:
+        case KC_RSFT:
+            is_shift_pressed = record->event.pressed;
+            rgblight_set_layer_state(2, is_shift_pressed != host_keyboard_led_state().caps_lock);
+        default:
+            return true;
+    }
+}

+ 52 - 0
keyboards/keebio/nyquist/keymaps/georgepetri3/readme.md

@@ -0,0 +1,52 @@
+# George Petri's Nyquist rev3 layout
+
+```
+sudo make keebio/nyquist/rev3:georgepetri3:dfu
+```
+
+Features a dedicated navigation layer on rise and current layer status on rgb underglow.  
+
+### Base Layer
+```
+┌──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┐
+│ GRAVE│  1   │  2   │  3   │  4   │  5   │ │  6   │  7   │  8   │  9   │  0   │ BSPC │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│  TAB │  Q   │  W   │  E   │  R   │  T   │ │  Y   │  U   │  I   │  O   │  P   │ DEL  │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│  ESC │  A   │  S   │  D   │  F   │  G   │ │  H   │  J   │  K   │  L   │  SCLN│ QUOT │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│  LSFT│  Z   │  X   │  C   │  V   │  B   │ │  N   │  M   │  COMM│  DOT │  SLSH│ ENT  │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│  CAPS│  LCTL│ LGUI │ LALT │MO(_L)│  SPC │ │  RSFT│MO(_R)│  LEFT│  DOWN│  UP  │ RGHT │
+└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
+```
+
+### Lower
+```
+┌──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┐
+│      │  F1  │  F2  │  F3  │  F4  │  F5  │ │  F6  │  F7  │  F8  │  F9  │  F10 │      │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│      │  F11 │  F12 │      │      │      │ │      │  MINS│  EQL │  LBRC│  RBRC│ BSLS │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│      │      │      │      │      │      │ │  LEFT│  DOWN│  UP  │  RGHT│      │      │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│      │      │      │      │      │      │ │      │  PGDN│ PGUP │  HOME│  END │      │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│      │      │      │      │      │      │ │      │      │      │      │      │      │
+└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
+```
+
+### Rise
+```
+┌──────┬──────┬──────┬──────┬──────┬──────┐ ┌──────┬──────┬──────┬──────┬──────┬──────┐
+│      │      │      │      │      │      │ │      │      │      │      │      │      │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│      │ TAB_L│ TAB_R│ TAB_C│ TAB_R│      │ │      │ TAB_L│ TAB_R│ TAB_C│ TAB_R│      │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│      │  LEFT│  DOWN│  UP  │  RGHT│      │ │  LEFT│  DOWN│  UP  │  RGHT│      │      │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│      │  PGDN│  PGUP│  HOME│  END │      │ │      │  PGDN│  PGUP│  HOME│  END │      │
+├──────┼──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┼──────┤
+│      │      │      │      │      │      │ │      │      │      │      │      │      │
+└──────┴──────┴──────┴──────┴──────┴──────┘ └──────┴──────┴──────┴──────┴──────┴──────┘
+```

+ 5 - 0
keyboards/keebio/nyquist/keymaps/georgepetri3/rules.mk

@@ -0,0 +1,5 @@
+MOUSEKEY_ENABLE = no
+COMMAND_ENABLE = no
+RGBLIGHT_ENABLE = yes
+LTO_ENABLE = yes
+DEBOUNCE_TYPE = eager_pk