[Keymap] Adding hbbisenieks keymap for keebio/iris (#7440)
* hbbisenieks keymap * fixed right encoder * changes suggested during prrefactor_process_record_kb_user
parent
e62ab7e259
commit
eae21eed74
@ -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
|
||||
} |
||||
} |
||||
} |
@ -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 |
@ -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; |
||||
} |
@ -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. |
||||
|
@ -0,0 +1,6 @@ |
||||
RGBLIGHT_ENABLE = yes
|
||||
BACKLIGHT_ENABLE = yes
|
||||
|
||||
# Comment out for pro-micro board
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
Loading…
Reference in new issue