Browse Source

[Keymap] Adding hbbisenieks keymap for keebio/iris (#7440)

* hbbisenieks keymap

* fixed right encoder

* changes suggested during pr
Hilary B. Brenum 5 năm trước cách đây
mục cha
commit
eae21eed74

+ 85 - 0
keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c

@@ -0,0 +1,85 @@
+/* Copyright 2019 Danny Nguyen <danny@keeb.io>
+ *
+ * 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/>.
+ */
+#include QMK_KEYBOARD_H
+
+#define _AUDACITY 0
+#define _LIGHTS 1
+
+enum custom_keycodes {
+  AUDACITY = SAFE_RANGE,
+  LIGHTS,
+};
+
+#define KC_ KC_TRNS
+#define KC_AUD AUDACITY
+#define KC_LITE LIGHTS
+#define KC_ZNRM LCTL(KC_2) // zoom normal
+#define KC_SAVE LCTL(KC_S) // save
+#define KC_SYNC LALT(KC_S) // sync-lock tracks
+#define KC_SLNC LCTL(KC_L) // silence selection
+#define KC_BL_S BL_STEP
+#define KC_RGBM RGB_MOD
+#define KC_RGBT RGB_TOG
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    /*
+        | Knob 1: Vol Dn/Up |      | Knob 2: Page Dn/Up |
+        | Press: Mute       | Home | Press: Play/Pause  |
+        | Hold: Layer 2     | Up   | RGB Mode           |
+        | Left              | Down | Right              |
+     */
+    [_AUDACITY] = LAYOUT(
+    //,-------+-------+-------.
+       KC_LITE,KC_SAVE,KC_ZNRM,
+    //|-------+-------+-------|
+       KC_SYNC,KC_SLNC,KC_BSPC,
+    //|-------+-------+-------|
+       KC_SPC , KC_F1 , KC_F2
+    //`-------+-------+-------'
+    ),
+    /*
+        | RESET          | N/A  | Media Stop |
+        | Held: Layer 2  | Home | RGB Mode   |
+        | Media Previous | End  | Media Next |
+     */
+    [_LIGHTS] = LAYOUT(
+    //,-------+-------+-------.
+         KC_  ,KC_BL_S,KC_STOP,
+    //|-------+-------+-------|
+       KC_RGBM,KC_HOME,KC_RGBT,
+    //|-------+-------+-------|
+       KC_MPRV,KC_END ,KC_MNXT
+    //`-------+-------+-------'
+    ),
+};
+
+void encoder_update_user(uint8_t index, bool clockwise) {
+    if (index == 0) {
+        if (clockwise) {
+            tap_code(KC_RGHT);
+        } else {
+            tap_code(KC_LEFT);
+        }
+    }
+    else if (index == 1) {
+        if (clockwise) {
+	    SEND_STRING(SS_LCTRL("1")); // audacity zoom in
+        } else {
+	    SEND_STRING(SS_LCTRL("3")); // audacity zoom out
+        }
+    }
+}

+ 41 - 0
keyboards/keebio/iris/keymaps/hbbisenieks/config.h

@@ -0,0 +1,41 @@
+/*
+Copyright 2017 Danny Nguyen <danny@keeb.io>
+
+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
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#define TAPPING_TERM 150
+
+#define TAPPING_TOGGLE 2
+#define PERMISSIVE_HOLD
+
+#undef RGBLED_NUM
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 12
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8

+ 161 - 0
keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c

@@ -0,0 +1,161 @@
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+  _QWERTY,
+  _LOWER,
+  _RAISE,
+  _ADJUST,
+};
+
+enum custom_keycodes {
+  LOWER = SAFE_RANGE,
+  RAISE,
+  ADJUST,
+  GUSR,
+  HGRP,
+  CHUS,
+};
+
+#define KC_ KC_TRNS
+
+#define KC_CAPW LGUI(LSFT(KC_3))        // Capture whole screen
+#define KC_CPYW LGUI(LSFT(LCTL(KC_3)))  // Copy whole screen
+#define KC_CAPP LGUI(LSFT(KC_4))        // Capture portion of screen
+#define KC_CPYP LGUI(LSFT(LCTL(KC_4)))  // Copy portion of screen
+#define KC_ESCC MT(MOD_LCTL, KC_ESC)
+#define KC_LOWR LOWER
+#define KC_RASE RAISE
+#define KC_RST RESET
+#define KC_BL_S BL_STEP
+
+// Left and right shift as mot-tap square braces
+#define KC_LSBR MT(MOD_LSFT, KC_LBRC)
+#define KC_RSBR MT(MOD_RSFT, KC_RBRC)
+
+// mod-tap shift/minus
+#define KC_SMIN MT(MOD_LSFT, KC_MINS)
+
+// Tap-toggle layers
+#define KC_TT_L TT(1)
+#define KC_TT_R TT(2)
+
+#define KC_RGBM RGB_MOD
+#define KC_RGBT RGB_TOG
+
+#define KC_SLOK LGUI(LCTL(KC_Q)) // mojave lock screen
+#define KC_GUSR GUSR // "gam info user" macro
+#define KC_HGRP HGRP // "history | grep" macro
+#define KC_CHUS CHUS // "thisisunsafe" chrome browser macro
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+  [_QWERTY] = LAYOUT_kc(
+  //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
+     GRV , 1  , 2  , 3  , 4  , 5  ,                6  , 7  , 8  , 9  , 0  ,BSPC,
+  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
+     TAB , Q  , W  , E  , R  , T  ,                Y  , U  , I  , O  , P  ,BSLS,
+  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
+     ESC , A  , S  , D  , F  , G  ,                H  , J  , K  , L  ,SCLN,QUOT,
+  //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
+     LSBR, Z  , X  , C  , V  , B  ,TT_L,     TT_R, N  , M  ,COMM,DOT ,SLSH,RSBR,
+  //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
+                       LCTL,SMIN,LGUI,         ENT ,SPC ,LALT
+  //                  `----+----+----'        `----+----+----'
+  ),
+
+  [_LOWER] = LAYOUT_kc(
+  //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
+     TILD,EXLM, AT ,HASH,DLR ,PERC,               CIRC,AMPR,ASTR,MINS,EQL ,    ,
+  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
+         ,SLOK,    , UP ,    ,RGBT,                P7 , P8 , P9 , E  , F  ,LPRN,
+  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
+     DEL ,    ,LEFT,DOWN,RGHT,GUSR,                P4 , P5 , P6 , C  , D  ,RPRN,
+  //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
+     BL_S,    ,    ,    ,HGRP,CHUS,    ,         , P1 , P2 , P3 , A  , B  ,    ,
+  //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
+                           ,    ,    ,         DOT , P0 ,COLN
+  //                  `----+----+----'        `----+----+----'
+  ),
+
+  [_RAISE] = LAYOUT_kc(
+  //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
+     F12 , F1 , F2 , F3 , F4 , F5 ,                F6 , F7 , F8 , F9 ,F10 ,F11 ,
+  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
+         ,RGBT,RGBM,    ,    ,    ,                   ,AMPR,MUTE,    ,    ,    ,
+  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
+         ,CAPW,CPYW,CAPP,CPYP,PGUP,               EQL ,HOME,VOLU,MRWD,MFFD,    ,
+  //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
+         ,    ,    ,    ,    ,PGDN,    ,         ,PLUS,END ,VOLD,MPLY,MSTP,    ,
+  //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
+                           ,    ,    ,             ,    ,
+  //                  `----+----+----'        `----+----+----'
+  ),
+
+  [_ADJUST] = LAYOUT(
+  //,--------+--------+--------+--------+--------+--------.                          ,--------+--------+--------+--------+--------+--------.
+      _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
+  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
+      RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______,                            _______, _______, _______, _______, _______, _______,
+  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
+      RESET  , DEBUG  , RGB_HUD, RGB_SAD, RGB_VAD, _______,                            _______, _______, _______, _______, _______, _______,
+  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
+      _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
+  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
+                                      _______, _______, _______,                  _______, _______, _______
+  //                                `--------+--------+--------'                `--------+--------+--------'
+  )
+
+};
+
+#ifdef AUDIO_ENABLE
+float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
+#endif
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+  switch (keycode) {
+    case LOWER:
+      if (record->event.pressed) {
+        layer_on(_LOWER);
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+      } else {
+        layer_off(_LOWER);
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+      }
+      return false;
+      break;
+    case RAISE:
+      if (record->event.pressed) {
+        layer_on(_RAISE);
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+      } else {
+        layer_off(_RAISE);
+        update_tri_layer(_LOWER, _RAISE, _ADJUST);
+      }
+      return false;
+      break;
+    case ADJUST:
+      if (record->event.pressed) {
+        layer_on(_ADJUST);
+      } else {
+        layer_off(_ADJUST);
+      }
+      return false;
+      break;
+    case GUSR:
+      if (record->event.pressed) {
+        SEND_STRING("gam info user ");
+      }
+      break;
+    case HGRP:
+      if (record->event.pressed) {
+        SEND_STRING("history|grep ");
+      }
+      break;
+    case CHUS:
+      if (record->event.pressed) {
+	SEND_STRING("thisisunsafe");
+      }
+      break;
+  }
+  return true;
+}

+ 6 - 0
keyboards/keebio/iris/keymaps/hbbisenieks/readme.md

@@ -0,0 +1,6 @@
+# HBBisenieks' Iris Layout
+
+A modified Iris layout with toggle-tap layers and a hexidecimal
+numpad. Other features include Space-Cadet-like shift keys that can do
+square or curly braces and a home-row escape key.
+

+ 6 - 0
keyboards/keebio/iris/keymaps/hbbisenieks/rules.mk

@@ -0,0 +1,6 @@
+RGBLIGHT_ENABLE = yes
+BACKLIGHT_ENABLE = yes
+
+# Comment out for pro-micro board
+BOOTLOADER = atmel-dfu
+