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

* hbbisenieks keymap

* fixed right encoder

* changes suggested during pr
master
Hilary B. Brenum 2019-11-22 14:40:18 -08:00 committed by James Young
parent e62ab7e259
commit eae21eed74
5 changed files with 299 additions and 0 deletions

View File

@ -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
}
}
}

View File

@ -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

View File

@ -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;
}

View File

@ -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.

View File

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