From eae21eed743d8bb9fd961f91d97a92f0f94247fe Mon Sep 17 00:00:00 2001 From: "Hilary B. Brenum" Date: Fri, 22 Nov 2019 14:40:18 -0800 Subject: [PATCH] [Keymap] Adding hbbisenieks keymap for keebio/iris (#7440) * hbbisenieks keymap * fixed right encoder * changes suggested during pr --- .../keebio/bdn9/keymaps/hbbisenieks/keymap.c | 85 +++++++++ .../keebio/iris/keymaps/hbbisenieks/config.h | 41 +++++ .../keebio/iris/keymaps/hbbisenieks/keymap.c | 161 ++++++++++++++++++ .../keebio/iris/keymaps/hbbisenieks/readme.md | 6 + .../keebio/iris/keymaps/hbbisenieks/rules.mk | 6 + 5 files changed, 299 insertions(+) create mode 100644 keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/hbbisenieks/config.h create mode 100644 keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/hbbisenieks/readme.md create mode 100644 keyboards/keebio/iris/keymaps/hbbisenieks/rules.mk diff --git a/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c b/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c new file mode 100644 index 0000000000..1eaee012af --- /dev/null +++ b/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c @@ -0,0 +1,85 @@ +/* Copyright 2019 Danny Nguyen + * + * 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 . + */ +#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 + } + } +} diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/config.h b/keyboards/keebio/iris/keymaps/hbbisenieks/config.h new file mode 100644 index 0000000000..48f448fa22 --- /dev/null +++ b/keyboards/keebio/iris/keymaps/hbbisenieks/config.h @@ -0,0 +1,41 @@ +/* +Copyright 2017 Danny Nguyen + +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 . +*/ + +#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 diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c b/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c new file mode 100644 index 0000000000..9916fc5ee5 --- /dev/null +++ b/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; +} diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/readme.md b/keyboards/keebio/iris/keymaps/hbbisenieks/readme.md new file mode 100644 index 0000000000..57b9491da6 --- /dev/null +++ b/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. + diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/rules.mk b/keyboards/keebio/iris/keymaps/hbbisenieks/rules.mk new file mode 100644 index 0000000000..f8de3b808c --- /dev/null +++ b/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 +