aboutsummaryrefslogtreecommitdiff
path: root/keyboards/keebio
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keebio')
-rw-r--r--keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c85
-rw-r--r--keyboards/keebio/ergodicity/ergodicity.h2
-rw-r--r--keyboards/keebio/iris/iris.h2
-rw-r--r--keyboards/keebio/iris/keymaps/csc027/config.h (renamed from keyboards/keebio/iris/keymaps/via/config.h)8
-rw-r--r--keyboards/keebio/iris/keymaps/csc027/keymap.c70
-rw-r--r--keyboards/keebio/iris/keymaps/csc027/rules.mk6
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/config.h14
-rw-r--r--keyboards/keebio/iris/keymaps/hbbisenieks/config.h41
-rw-r--r--keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c161
-rw-r--r--keyboards/keebio/iris/keymaps/hbbisenieks/readme.md6
-rw-r--r--keyboards/keebio/iris/keymaps/hbbisenieks/rules.mk6
-rw-r--r--keyboards/keebio/iris/keymaps/jhelvy/README.md7
-rw-r--r--keyboards/keebio/iris/keymaps/jhelvy/config.h33
-rw-r--r--keyboards/keebio/iris/keymaps/jhelvy/keymap.c54
-rw-r--r--keyboards/keebio/iris/keymaps/jhelvy/rules.mk3
-rw-r--r--keyboards/keebio/iris/keymaps/osiris/rules.mk5
-rw-r--r--keyboards/keebio/iris/keymaps/sethBarberee/config.h1
-rw-r--r--keyboards/keebio/iris/keymaps/sethBarberee/rules.mk3
-rw-r--r--keyboards/keebio/iris/keymaps/via/rules.mk8
-rw-r--r--keyboards/keebio/iris/rev1/config.h22
-rw-r--r--keyboards/keebio/iris/rev1_led/config.h22
-rw-r--r--keyboards/keebio/iris/rev2/config.h22
-rw-r--r--keyboards/keebio/iris/rev3/config.h22
-rw-r--r--keyboards/keebio/iris/rev4/config.h20
-rw-r--r--keyboards/keebio/levinson/keymaps/ksamborski/config.h27
-rw-r--r--keyboards/keebio/levinson/keymaps/ksamborski/keymap.c151
-rw-r--r--keyboards/keebio/levinson/keymaps/ksamborski/rules.mk3
-rw-r--r--keyboards/keebio/levinson/keymaps/numpad/config.h34
-rw-r--r--keyboards/keebio/levinson/keymaps/numpad/keymap.c123
-rw-r--r--keyboards/keebio/levinson/keymaps/numpad/readme.md4
-rw-r--r--keyboards/keebio/levinson/keymaps/numpad/rules.mk3
-rw-r--r--keyboards/keebio/levinson/keymaps/rossman360/keymap.c135
-rw-r--r--keyboards/keebio/levinson/readme.md6
-rw-r--r--keyboards/keebio/levinson/rev1/config.h2
-rw-r--r--keyboards/keebio/levinson/rev2/config.h2
-rw-r--r--keyboards/keebio/quefrency/rev1/config.h2
-rw-r--r--keyboards/keebio/rorschach/rev1/config.h2
-rw-r--r--keyboards/keebio/tragicforce68/info.json2
-rw-r--r--keyboards/keebio/tragicforce68/keymaps/default/keymap.c4
-rwxr-xr-xkeyboards/keebio/tragicforce68/keymaps/rossman360/keymap.c71
-rw-r--r--keyboards/keebio/tragicforce68/keymaps/rossman360/readme.md3
-rw-r--r--keyboards/keebio/tragicforce68/keymaps/rossman360/rules.mk2
-rw-r--r--keyboards/keebio/tragicforce68/rules.mk2
-rw-r--r--keyboards/keebio/tragicforce68/tragicforce68.h4
-rw-r--r--keyboards/keebio/viterbi/keymaps/met/keymap.c321
-rw-r--r--keyboards/keebio/viterbi/keymaps/met/rules.mk1
46 files changed, 1384 insertions, 143 deletions
diff --git a/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c b/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c
new file mode 100644
index 000000000..1eaee012a
--- /dev/null
+++ b/keyboards/keebio/bdn9/keymaps/hbbisenieks/keymap.c
@@ -0,0 +1,85 @@
1/* Copyright 2019 Danny Nguyen <danny@keeb.io>
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18#define _AUDACITY 0
19#define _LIGHTS 1
20
21enum custom_keycodes {
22 AUDACITY = SAFE_RANGE,
23 LIGHTS,
24};
25
26#define KC_ KC_TRNS
27#define KC_AUD AUDACITY
28#define KC_LITE LIGHTS
29#define KC_ZNRM LCTL(KC_2) // zoom normal
30#define KC_SAVE LCTL(KC_S) // save
31#define KC_SYNC LALT(KC_S) // sync-lock tracks
32#define KC_SLNC LCTL(KC_L) // silence selection
33#define KC_BL_S BL_STEP
34#define KC_RGBM RGB_MOD
35#define KC_RGBT RGB_TOG
36
37
38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39 /*
40 | Knob 1: Vol Dn/Up | | Knob 2: Page Dn/Up |
41 | Press: Mute | Home | Press: Play/Pause |
42 | Hold: Layer 2 | Up | RGB Mode |
43 | Left | Down | Right |
44 */
45 [_AUDACITY] = LAYOUT(
46 //,-------+-------+-------.
47 KC_LITE,KC_SAVE,KC_ZNRM,
48 //|-------+-------+-------|
49 KC_SYNC,KC_SLNC,KC_BSPC,
50 //|-------+-------+-------|
51 KC_SPC , KC_F1 , KC_F2
52 //`-------+-------+-------'
53 ),
54 /*
55 | RESET | N/A | Media Stop |
56 | Held: Layer 2 | Home | RGB Mode |
57 | Media Previous | End | Media Next |
58 */
59 [_LIGHTS] = LAYOUT(
60 //,-------+-------+-------.
61 KC_ ,KC_BL_S,KC_STOP,
62 //|-------+-------+-------|
63 KC_RGBM,KC_HOME,KC_RGBT,
64 //|-------+-------+-------|
65 KC_MPRV,KC_END ,KC_MNXT
66 //`-------+-------+-------'
67 ),
68};
69
70void encoder_update_user(uint8_t index, bool clockwise) {
71 if (index == 0) {
72 if (clockwise) {
73 tap_code(KC_RGHT);
74 } else {
75 tap_code(KC_LEFT);
76 }
77 }
78 else if (index == 1) {
79 if (clockwise) {
80 SEND_STRING(SS_LCTRL("1")); // audacity zoom in
81 } else {
82 SEND_STRING(SS_LCTRL("3")); // audacity zoom out
83 }
84 }
85}
diff --git a/keyboards/keebio/ergodicity/ergodicity.h b/keyboards/keebio/ergodicity/ergodicity.h
index 156ad828a..a6a9cf4d7 100644
--- a/keyboards/keebio/ergodicity/ergodicity.h
+++ b/keyboards/keebio/ergodicity/ergodicity.h
@@ -37,5 +37,5 @@
37 { kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8, kB9, kB10, kB11, kB12, kB13, kB14, kB15 }, \ 37 { kB1, kB2, kB3, kB4, kB5, kB6, kB7, kB8, kB9, kB10, kB11, kB12, kB13, kB14, kB15 }, \
38 { kC1, kC2, kC3, kC4, kC5, kC6, kC7, kC8, kC9, kC10, kC11, kC12, kC13, KC_NO, kC15 }, \ 38 { kC1, kC2, kC3, kC4, kC5, kC6, kC7, kC8, kC9, kC10, kC11, kC12, kC13, KC_NO, kC15 }, \
39 { KC_NO, kD2, kD3, kD4, kD5, kD6, kD7, kD8, kD9, kD10, kD11, kD12, kD13, kD14, kD15 }, \ 39 { KC_NO, kD2, kD3, kD4, kD5, kD6, kD7, kD8, kD9, kD10, kD11, kD12, kD13, kD14, kD15 }, \
40 { KC_NO, kE2, kE3, kE4, KC_NO, kE6, kE7, KC_NO, kE9, KC_NO, kE11, KC_NO, KC_NO, kE15 } \ 40 { KC_NO, kE2, kE3, kE4, KC_NO, kE6, kE7, KC_NO, kE9, KC_NO, kE11, KC_NO, KC_NO, KC_NO, kE15 } \
41} 41}
diff --git a/keyboards/keebio/iris/iris.h b/keyboards/keebio/iris/iris.h
index 5e6bc5b58..878d57897 100644
--- a/keyboards/keebio/iris/iris.h
+++ b/keyboards/keebio/iris/iris.h
@@ -13,7 +13,7 @@
13#endif 13#endif
14 14
15#include "quantum.h" 15#include "quantum.h"
16#include "../../wilba_tech/via_keycodes.h" 16#include "via.h"
17 17
18// Used to create a keymap using only KC_ prefixed keys 18// Used to create a keymap using only KC_ prefixed keys
19#define LAYOUT_kc( \ 19#define LAYOUT_kc( \
diff --git a/keyboards/keebio/iris/keymaps/via/config.h b/keyboards/keebio/iris/keymaps/csc027/config.h
index f2498e592..5d201a6f1 100644
--- a/keyboards/keebio/iris/keymaps/via/config.h
+++ b/keyboards/keebio/iris/keymaps/csc027/config.h
@@ -17,4 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20#define USE_I2C
21#define EE_HANDS
22
23#undef RGBLED_NUM
20#define RGBLIGHT_ANIMATIONS 24#define RGBLIGHT_ANIMATIONS
25#define RGBLED_NUM 12
26#define RGBLIGHT_HUE_STEP 8
27#define RGBLIGHT_SAT_STEP 8
28#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/iris/keymaps/csc027/keymap.c b/keyboards/keebio/iris/keymaps/csc027/keymap.c
new file mode 100644
index 000000000..82a077391
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/csc027/keymap.c
@@ -0,0 +1,70 @@
1#include QMK_KEYBOARD_H
2#include "csc027.h"
3
4#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
5
6const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7 [_QW] = LAYOUT_wrapper(
8 _____________________QWERTY_L1_____________________, _____________________QWERTY_R1_____________________,
9 _____________________QWERTY_L2_____________________, _____________________QWERTY_R2_____________________,
10 _____________________QWERTY_L3_____________________, _____________________QWERTY_R3_____________________,
11 _____________________QWERTY_L4_____________________, KC_SPC, KC_SPC, _____________________QWERTY_R4_____________________,
12 KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI
13 ),
14
15 [_RS] = LAYOUT_wrapper(
16 ______________________RAISE_L1_____________________, ______________________RAISE_R1_____________________,
17 ______________________RAISE_L2_____________________, ______________________RAISE_R2_____________________,
18 ______________________RAISE_L3_____________________, ______________________RAISE_R3_____________________,
19 ______________________RAISE_L4_____________________, _______, _______, ______________________RAISE_R4_____________________,
20 _______, _______, _______, _______, _______, _______
21 ),
22
23 [_LW] = LAYOUT_wrapper(
24 ______________________LOWER_L1_____________________, ______________________LOWER_R1_____________________,
25 ______________________LOWER_L2_____________________, ______________________LOWER_R2_____________________,
26 ______________________LOWER_L3_____________________, ______________________LOWER_R3_____________________,
27 ______________________LOWER_L4_____________________, _______, _______, ______________________LOWER_R4_____________________,
28 _______, _______, _______, _______, _______, _______
29 ),
30
31 [_MS] = LAYOUT_wrapper(
32 ______________________MOUSE_L1_____________________, ______________________MOUSE_R1_____________________,
33 ______________________MOUSE_L2_____________________, ______________________MOUSE_R2_____________________,
34 ______________________MOUSE_L3_____________________, ______________________MOUSE_R3_____________________,
35 ______________________MOUSE_L4_____________________, _______, _______, ______________________MOUSE_R4_____________________,
36 _______, _______, _______, _______, _______, _______
37 ),
38
39 [_GT] = LAYOUT_wrapper(
40 _______________________GIT_L1______________________, _______________________GIT_R1______________________,
41 _______________________GIT_L2______________________, _______________________GIT_R2______________________,
42 _______________________GIT_L3______________________, _______________________GIT_R3______________________,
43 _______________________GIT_L4______________________, _______, _______, _______________________GIT_R4______________________,
44 _______, _______, _______, _______, _______, _______
45 ),
46
47 [_CN] = LAYOUT_wrapper(
48 ___________________CONVENIENCE_L1__________________, ___________________CONVENIENCE_R1__________________,
49 ___________________CONVENIENCE_L2__________________, ___________________CONVENIENCE_R2__________________,
50 ___________________CONVENIENCE_L3__________________, ___________________CONVENIENCE_R3__________________,
51 ___________________CONVENIENCE_L4__________________, _______, _______, ___________________CONVENIENCE_R4__________________,
52 _______, _______, _______, _______, _______, _______
53 ),
54
55 [_GW] = LAYOUT(
56 KC_Y, KC_GRV, KC_1, KC_2, KC_3, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
57 KC_B, KC_TAB, KC_T, KC_W, KC_4, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
58 KC_M, MC_LSEC, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
59 KC_I, KC_LCTL, KC_Z, KC_LALT, KC_V, KC_SPC, KC_SPC, _______, KC_N, KC_M, KC_COMM, KC_DOT, TO(_CS), TO(_QW),
60 KC_X, KC_C, KC_SPC, _______, KC_M, KC_B
61 ),
62
63 [_CS] = LAYOUT(
64 XXXXXXX, KC_5, KC_1, KC_2, KC_3, KC_4, KC_6, KC_P7, KC_P8, KC_P9, KC_0, KC_BSPC,
65 XXXXXXX, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_P4, KC_P5, KC_P6, XXXXXXX, KC_NLCK,
66 KC_G, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_H, KC_P1, KC_P2, KC_P3, KC_PENT, KC_ESC,
67 XXXXXXX, KC_LCTL, XXXXXXX, KC_X, XXXXXXX, XXXXXXX, KC_SPC, _______, KC_N, KC_P0, KC_P0, KC_PDOT, TO(_QW), TO(_QW),
68 KC_B, KC_SPC, KC_SPC, _______, KC_N, KC_P0
69 )
70};
diff --git a/keyboards/keebio/iris/keymaps/csc027/rules.mk b/keyboards/keebio/iris/keymaps/csc027/rules.mk
new file mode 100644
index 000000000..e922161e3
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/csc027/rules.mk
@@ -0,0 +1,6 @@
1BACKLIGHT_ENABLE = yes
2CONSOLE_ENABLE = no
3EXTRAKEY_ENABLE = no
4LTO_ENABLE = yes
5MOUSEKEY_ENABLE = yes
6NKRO_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/drashna/config.h b/keyboards/keebio/iris/keymaps/drashna/config.h
index 25678bd67..49381b60a 100644
--- a/keyboards/keebio/iris/keymaps/drashna/config.h
+++ b/keyboards/keebio/iris/keymaps/drashna/config.h
@@ -46,11 +46,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
46#ifdef AUDIO_ENABLE 46#ifdef AUDIO_ENABLE
47# define C6_AUDIO 47# define C6_AUDIO
48# ifdef RGBLIGHT_ENABLE 48# ifdef RGBLIGHT_ENABLE
49# define NO_MUSIC_MODE 49# ifndef __arm__
50# define NO_MUSIC_MODE
51# endif
50# endif // RGBLIGHT_ENABLE 52# endif // RGBLIGHT_ENABLE
51#endif // AUDIO_ENABLE 53#endif // AUDIO_ENABLE
52 54
53#ifndef KEYBOARD_keebio_iris_rev3 55#if defined(KEYBOARD_keebio_iris_rev1) || defined(KEYBOARD_keebio_iris_rev2)
54# define QMK_ESC_OUTPUT F6 // usually COL 56# define QMK_ESC_OUTPUT F6 // usually COL
55# define QMK_ESC_INPUT D7 // usually ROW 57# define QMK_ESC_INPUT D7 // usually ROW
56# define QMK_LED B0 58# define QMK_LED B0
@@ -58,10 +60,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
58#endif 60#endif
59 61
60#undef PRODUCT 62#undef PRODUCT
61#ifdef KEYBOARD_keebio_iris_rev2 63#if defined(KEYBOARD_keebio_iris_rev2)
62# define PRODUCT Drashna Hacked Iris Rev .2 64# define PRODUCT Drashna Hacked Iris Rev 2
63#elif defined(KEYBOARD_keebio_iris_rev3) 65#elif defined(KEYBOARD_keebio_iris_rev3)
64# define PRODUCT Drashna Hacked Iris Rev .3 66# define PRODUCT Drashna Hacked Iris Rev 3
67#elif defined(KEYBOARD_keebio_iris_rev4)
68# define PRODUCT Drashna Hacked Iris Rev 4
65#endif 69#endif
66 70
67#define SHFT_LED1 6 71#define SHFT_LED1 6
diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/config.h b/keyboards/keebio/iris/keymaps/hbbisenieks/config.h
new file mode 100644
index 000000000..48f448fa2
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/hbbisenieks/config.h
@@ -0,0 +1,41 @@
1/*
2Copyright 2017 Danny Nguyen <danny@keeb.io>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* Use I2C or Serial, not both */
21
22#define USE_SERIAL
23// #define USE_I2C
24
25/* Select hand configuration */
26
27#define MASTER_LEFT
28// #define MASTER_RIGHT
29// #define EE_HANDS
30
31#define TAPPING_TERM 150
32
33#define TAPPING_TOGGLE 2
34#define PERMISSIVE_HOLD
35
36#undef RGBLED_NUM
37#define RGBLIGHT_ANIMATIONS
38#define RGBLED_NUM 12
39#define RGBLIGHT_HUE_STEP 8
40#define RGBLIGHT_SAT_STEP 8
41#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 000000000..9916fc5ee
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c
@@ -0,0 +1,161 @@
1#include QMK_KEYBOARD_H
2
3enum layer_names {
4 _QWERTY,
5 _LOWER,
6 _RAISE,
7 _ADJUST,
8};
9
10enum custom_keycodes {
11 LOWER = SAFE_RANGE,
12 RAISE,
13 ADJUST,
14 GUSR,
15 HGRP,
16 CHUS,
17};
18
19#define KC_ KC_TRNS
20
21#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen
22#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen
23#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen
24#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen
25#define KC_ESCC MT(MOD_LCTL, KC_ESC)
26#define KC_LOWR LOWER
27#define KC_RASE RAISE
28#define KC_RST RESET
29#define KC_BL_S BL_STEP
30
31// Left and right shift as mot-tap square braces
32#define KC_LSBR MT(MOD_LSFT, KC_LBRC)
33#define KC_RSBR MT(MOD_RSFT, KC_RBRC)
34
35// mod-tap shift/minus
36#define KC_SMIN MT(MOD_LSFT, KC_MINS)
37
38// Tap-toggle layers
39#define KC_TT_L TT(1)
40#define KC_TT_R TT(2)
41
42#define KC_RGBM RGB_MOD
43#define KC_RGBT RGB_TOG
44
45#define KC_SLOK LGUI(LCTL(KC_Q)) // mojave lock screen
46#define KC_GUSR GUSR // "gam info user" macro
47#define KC_HGRP HGRP // "history | grep" macro
48#define KC_CHUS CHUS // "thisisunsafe" chrome browser macro
49
50const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
51
52 [_QWERTY] = LAYOUT_kc(
53 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
54 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC,
55 //|----+----+----+----+----+----| |----+----+----+----+----+----|
56 TAB , Q , W , E , R , T , Y , U , I , O , P ,BSLS,
57 //|----+----+----+----+----+----| |----+----+----+----+----+----|
58 ESC , A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
59 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
60 LSBR, Z , X , C , V , B ,TT_L, TT_R, N , M ,COMM,DOT ,SLSH,RSBR,
61 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
62 LCTL,SMIN,LGUI, ENT ,SPC ,LALT
63 // `----+----+----' `----+----+----'
64 ),
65
66 [_LOWER] = LAYOUT_kc(
67 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
68 TILD,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,MINS,EQL , ,
69 //|----+----+----+----+----+----| |----+----+----+----+----+----|
70 ,SLOK, , UP , ,RGBT, P7 , P8 , P9 , E , F ,LPRN,
71 //|----+----+----+----+----+----| |----+----+----+----+----+----|
72 DEL , ,LEFT,DOWN,RGHT,GUSR, P4 , P5 , P6 , C , D ,RPRN,
73 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
74 BL_S, , , ,HGRP,CHUS, , , P1 , P2 , P3 , A , B , ,
75 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
76 , , , DOT , P0 ,COLN
77 // `----+----+----' `----+----+----'
78 ),
79
80 [_RAISE] = LAYOUT_kc(
81 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
82 F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
83 //|----+----+----+----+----+----| |----+----+----+----+----+----|
84 ,RGBT,RGBM, , , , ,AMPR,MUTE, , , ,
85 //|----+----+----+----+----+----| |----+----+----+----+----+----|
86 ,CAPW,CPYW,CAPP,CPYP,PGUP, EQL ,HOME,VOLU,MRWD,MFFD, ,
87 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
88 , , , , ,PGDN, , ,PLUS,END ,VOLD,MPLY,MSTP, ,
89 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
90 , , , , ,
91 // `----+----+----' `----+----+----'
92 ),
93
94 [_ADJUST] = LAYOUT(
95 //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
96 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
97 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
98 RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
99 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
100 RESET , DEBUG , RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
101 //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------|
102 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
103 //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------'
104 _______, _______, _______, _______, _______, _______
105 // `--------+--------+--------' `--------+--------+--------'
106 )
107
108};
109
110#ifdef AUDIO_ENABLE
111float tone_qwerty[][2] = SONG(QWERTY_SOUND);
112#endif
113
114bool process_record_user(uint16_t keycode, keyrecord_t *record) {
115 switch (keycode) {
116 case LOWER:
117 if (record->event.pressed) {
118 layer_on(_LOWER);
119 update_tri_layer(_LOWER, _RAISE, _ADJUST);
120 } else {
121 layer_off(_LOWER);
122 update_tri_layer(_LOWER, _RAISE, _ADJUST);
123 }
124 return false;
125 break;
126 case RAISE:
127 if (record->event.pressed) {
128 layer_on(_RAISE);
129 update_tri_layer(_LOWER, _RAISE, _ADJUST);
130 } else {
131 layer_off(_RAISE);
132 update_tri_layer(_LOWER, _RAISE, _ADJUST);
133 }
134 return false;
135 break;
136 case ADJUST:
137 if (record->event.pressed) {
138 layer_on(_ADJUST);
139 } else {
140 layer_off(_ADJUST);
141 }
142 return false;
143 break;
144 case GUSR:
145 if (record->event.pressed) {
146 SEND_STRING("gam info user ");
147 }
148 break;
149 case HGRP:
150 if (record->event.pressed) {
151 SEND_STRING("history|grep ");
152 }
153 break;
154 case CHUS:
155 if (record->event.pressed) {
156 SEND_STRING("thisisunsafe");
157 }
158 break;
159 }
160 return true;
161}
diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/readme.md b/keyboards/keebio/iris/keymaps/hbbisenieks/readme.md
new file mode 100644
index 000000000..57b9491da
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/hbbisenieks/readme.md
@@ -0,0 +1,6 @@
1# HBBisenieks' Iris Layout
2
3A modified Iris layout with toggle-tap layers and a hexidecimal
4numpad. Other features include Space-Cadet-like shift keys that can do
5square or curly braces and a home-row escape key.
6
diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/rules.mk b/keyboards/keebio/iris/keymaps/hbbisenieks/rules.mk
new file mode 100644
index 000000000..f8de3b808
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/hbbisenieks/rules.mk
@@ -0,0 +1,6 @@
1RGBLIGHT_ENABLE = yes
2BACKLIGHT_ENABLE = yes
3
4# Comment out for pro-micro board
5BOOTLOADER = atmel-dfu
6
diff --git a/keyboards/keebio/iris/keymaps/jhelvy/README.md b/keyboards/keebio/iris/keymaps/jhelvy/README.md
new file mode 100644
index 000000000..5d5ff1247
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/jhelvy/README.md
@@ -0,0 +1,7 @@
1# jhelvy Keymap for [Iris Rev 2](https://docs.keeb.io/iris-build-guide/)
2
3## Keymap
4
5This is a custom keymap with the following layout:
6
7<img src="https://github.com/jhelvy/qmkJsonConverter/raw/master/keymaps/keebio_iris_rev2_jhelvy.png" width="800">
diff --git a/keyboards/keebio/iris/keymaps/jhelvy/config.h b/keyboards/keebio/iris/keymaps/jhelvy/config.h
new file mode 100644
index 000000000..2285c3f9a
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/jhelvy/config.h
@@ -0,0 +1,33 @@
1/*
2Copyright 2017 Danny Nguyen <danny@keeb.io>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20// #define USE_I2C
21#define EE_HANDS
22
23#undef RGBLED_NUM
24#define RGBLIGHT_ANIMATIONS
25#define RGBLED_NUM 12
26#define RGBLIGHT_HUE_STEP 8
27#define RGBLIGHT_SAT_STEP 8
28#define RGBLIGHT_VAL_STEP 8
29
30#define TAPPING_FORCE_HOLD
31#undef TAPPING_TERM
32#define TAPPING_TERM 200
33#define AUTO_SHIFT_TIMEOUT 150
diff --git a/keyboards/keebio/iris/keymaps/jhelvy/keymap.c b/keyboards/keebio/iris/keymaps/jhelvy/keymap.c
new file mode 100644
index 000000000..58ce3206d
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/jhelvy/keymap.c
@@ -0,0 +1,54 @@
1#include QMK_KEYBOARD_H
2
3
4#define _QWERTY 0
5#define _LOWER 1
6#define _RAISE 2
7
8enum custom_keycodes {
9 QWERTY = SAFE_RANGE,
10 LOWER,
11 RAISE,
12};
13
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15
16[_QWERTY] = LAYOUT( \
17 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, \
18 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, \
19 KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, \
20 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
21 LALT(KC_A),KC_LGUI, MO(1), KC_SPC, MO(2), KC_PGDN),
22
23[_LOWER] = LAYOUT( \
24 KC_ESC,LGUI(KC_1),LGUI(KC_2),LGUI(KC_3),LGUI(KC_4),LGUI(KC_5), KC_SCLN, KC_PIPE, KC_COLN,LCTL(KC_9),LCTL(KC_0), KC_F12, \
25 LCTL(KC_TAB),LGUI(KC_Q),LGUI(KC_W), KC_ESC,LGUI(KC_R),LGUI(KC_T), LCTL(KC_Y),LGUI(KC_LEFT), KC_UP,LGUI(KC_RGHT), KC_TILD, KC_F11, \
26 LGUI(KC_BSPC),MO(2),LGUI(KC_S),LGUI(KC_C),LGUI(KC_V),LGUI(KC_X), KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_GRV, KC_ENT, \
27 KC_F15,LGUI(KC_A),LGUI(KC_D), KC_F13,LGUI(KC_Z),LGUI(KC_Y), KC_NO, KC_NO,KC_BSPC,LGUI(KC_F), SGUI(KC_G),LGUI(KC_G), KC_BSLS, KC_F23, \
28 KC_LALT,KC_LGUI, KC_TRNS, KC_SPC,KC_RGUI, KC_PGUP),
29
30[_RAISE] = LAYOUT( \
31 KC_VOLU,LGUI(LALT(KC_1)),LGUI(LALT(KC_2)), KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PLUS, \
32 KC_VOLD, KC_NO, KC_NO, KC_NO,SGUI(KC_R), KC_F14, SGUI(KC_K),SGUI(KC_LEFT),LSFT(KC_UP),SGUI(KC_RGHT), KC_F18, KC_UNDS, \
33 KC_MUTE,KC_TRNS, KC_NO, KC_LBRC, KC_RBRC, KC_TAB, KC_F21,LSFT(KC_LEFT),LSFT(KC_DOWN),LSFT(KC_RGHT), KC_F20, KC_F16, \
34 KC_LSPO,KC_ASTG, KC_NO, KC_LCBR, KC_RCBR,LCTL(KC_U), KC_NO, KC_NO,KC_F22,LCTL(LGUI(KC_A)),LALT(LSFT(KC_LEFT)),LALT(LSFT(KC_RIGHT)), KC_F17, KC_F19, \
35 KC_CAPS,LALT(KC_SPC), KC_LGUI, KC_SPC,KC_TRNS, KC_NO)
36
37};
38
39void encoder_update_user(uint8_t index, bool clockwise) {
40 if (index == 0) {
41 if (clockwise) {
42 tap_code(KC_VOLU);
43 } else {
44 tap_code(KC_VOLD);
45 }
46 }
47 else if (index == 1) {
48 if (clockwise) {
49 tap_code(KC_PGDN);
50 } else {
51 tap_code(KC_PGUP);
52 }
53 }
54}
diff --git a/keyboards/keebio/iris/keymaps/jhelvy/rules.mk b/keyboards/keebio/iris/keymaps/jhelvy/rules.mk
new file mode 100644
index 000000000..c34fd4b1f
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/jhelvy/rules.mk
@@ -0,0 +1,3 @@
1AUTO_SHIFT_ENABLE = yes # Autoshift by holding down a key
2RGBLIGHT_ENABLE = yes
3BACKLIGHT_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/osiris/rules.mk b/keyboards/keebio/iris/keymaps/osiris/rules.mk
index f2788b5f7..45c570a3b 100644
--- a/keyboards/keebio/iris/keymaps/osiris/rules.mk
+++ b/keyboards/keebio/iris/keymaps/osiris/rules.mk
@@ -1,8 +1,3 @@
1RGBLIGHT_ENABLE = yes 1RGBLIGHT_ENABLE = yes
2BACKLIGHT_ENABLE = yes 2BACKLIGHT_ENABLE = yes
3MOUSEKEY_ENABLE = yes 3MOUSEKEY_ENABLE = yes
4
5# VIA Support - Comment these 3 lines out to disable
6# RAW_ENABLE = yes
7# DYNAMIC_KEYMAP_ENABLE = yes
8# SRC += keyboards/wilba_tech/wt_main.c \ No newline at end of file
diff --git a/keyboards/keebio/iris/keymaps/sethBarberee/config.h b/keyboards/keebio/iris/keymaps/sethBarberee/config.h
index fd5bda866..c031c0326 100644
--- a/keyboards/keebio/iris/keymaps/sethBarberee/config.h
+++ b/keyboards/keebio/iris/keymaps/sethBarberee/config.h
@@ -35,6 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
35#define RGBLIGHT_HUE_STEP 8 35#define RGBLIGHT_HUE_STEP 8
36#define RGBLIGHT_SAT_STEP 8 36#define RGBLIGHT_SAT_STEP 8
37#define RGBLIGHT_VAL_STEP 8 37#define RGBLIGHT_VAL_STEP 8
38#undef RGBLED_SPLIT
38#define RGBLED_SPLIT { RGBLED_NUM, 0} // defined to sync animations 39#define RGBLED_SPLIT { RGBLED_NUM, 0} // defined to sync animations
39 40
40#define FORCE_NKRO // force NKRO on by default 41#define FORCE_NKRO // force NKRO on by default
diff --git a/keyboards/keebio/iris/keymaps/sethBarberee/rules.mk b/keyboards/keebio/iris/keymaps/sethBarberee/rules.mk
index d7bc1927d..5df198b7b 100644
--- a/keyboards/keebio/iris/keymaps/sethBarberee/rules.mk
+++ b/keyboards/keebio/iris/keymaps/sethBarberee/rules.mk
@@ -1,8 +1,9 @@
1BOOTMAGIC_ENABLE = no 1BOOTMAGIC_ENABLE = no
2CONSOLE_ENABLE = no
2EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 3EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
3NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 4NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
4BACKLIGHT_ENABLE = yes # Enable my Red LEDS 5BACKLIGHT_ENABLE = yes # Enable my Red LEDS
5RGBLIGHT_ENABLE = yes # Enable my RGBS 6RGBLIGHT_ENABLE = yes # Enable my RGBS
6VELOCIKEY_ENABLE = yes # I like RGB 7VELOCIKEY_ENABLE = yes # I like RGB
7TAP_DANCE_ENABLE = yes # fancy fancy Caps 8TAP_DANCE_ENABLE = yes # fancy fancy Caps
8LINK_TIME_OPTIMIZATION = yes # Enable link time optimization 9LTO_ENABLE = yes # Enable link time optimization
diff --git a/keyboards/keebio/iris/keymaps/via/rules.mk b/keyboards/keebio/iris/keymaps/via/rules.mk
index ca2680325..1e5b99807 100644
--- a/keyboards/keebio/iris/keymaps/via/rules.mk
+++ b/keyboards/keebio/iris/keymaps/via/rules.mk
@@ -1,7 +1 @@
1RGBLIGHT_ENABLE = yes VIA_ENABLE = yes
2BACKLIGHT_ENABLE = yes
3
4# VIA Support - Comment these 3 lines out to disable
5RAW_ENABLE = yes
6DYNAMIC_KEYMAP_ENABLE = yes
7SRC += keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/keebio/iris/rev1/config.h b/keyboards/keebio/iris/rev1/config.h
index 12b4e098b..a6b14138e 100644
--- a/keyboards/keebio/iris/rev1/config.h
+++ b/keyboards/keebio/iris/rev1/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20#include QMK_KEYBOARD_CONFIG_H
21
22/* USB Device descriptor parameter */ 20/* USB Device descriptor parameter */
23#define VENDOR_ID 0xCB10 21#define VENDOR_ID 0xCB10
24#define PRODUCT_ID 0x1256 22#define PRODUCT_ID 0x1256
@@ -62,23 +60,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
62/* ws2812 RGB LED */ 60/* ws2812 RGB LED */
63#define RGB_DI_PIN D3 61#define RGB_DI_PIN D3
64#define RGBLED_NUM 12 // Number of LEDs 62#define RGBLED_NUM 12 // Number of LEDs
65
66#define DYNAMIC_KEYMAP_LAYER_COUNT 4
67
68// EEPROM usage
69
70// TODO: refactor with new user EEPROM code (coming soon)
71#define EEPROM_MAGIC 0x451F
72#define EEPROM_MAGIC_ADDR 34
73// Bump this every time we change what we store
74// This will automatically reset the EEPROM with defaults
75// and avoid loading invalid data from the EEPROM
76#define EEPROM_VERSION 0x08
77#define EEPROM_VERSION_ADDR 36
78
79// Dynamic keymap starts after EEPROM version
80#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
81// Dynamic macro starts after dynamic keymaps (37+(4*10*6*2)) = (37+480)
82#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 517
83#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 507 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
84#define DYNAMIC_KEYMAP_MACRO_COUNT 16
diff --git a/keyboards/keebio/iris/rev1_led/config.h b/keyboards/keebio/iris/rev1_led/config.h
index 3b3c999b8..5f93a61df 100644
--- a/keyboards/keebio/iris/rev1_led/config.h
+++ b/keyboards/keebio/iris/rev1_led/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20#include QMK_KEYBOARD_CONFIG_H
21
22/* USB Device descriptor parameter */ 20/* USB Device descriptor parameter */
23#define VENDOR_ID 0xCB10 21#define VENDOR_ID 0xCB10
24#define PRODUCT_ID 0x1256 22#define PRODUCT_ID 0x1256
@@ -62,23 +60,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
62/* ws2812 RGB LED */ 60/* ws2812 RGB LED */
63#define RGB_DI_PIN D3 61#define RGB_DI_PIN D3
64#define RGBLED_NUM 12 // Number of LEDs 62#define RGBLED_NUM 12 // Number of LEDs
65
66#define DYNAMIC_KEYMAP_LAYER_COUNT 4
67
68// EEPROM usage
69
70// TODO: refactor with new user EEPROM code (coming soon)
71#define EEPROM_MAGIC 0x451F
72#define EEPROM_MAGIC_ADDR 34
73// Bump this every time we change what we store
74// This will automatically reset the EEPROM with defaults
75// and avoid loading invalid data from the EEPROM
76#define EEPROM_VERSION 0x08
77#define EEPROM_VERSION_ADDR 36
78
79// Dynamic keymap starts after EEPROM version
80#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
81// Dynamic macro starts after dynamic keymaps (37+(4*10*6*2)) = (37+480)
82#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 517
83#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 507 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
84#define DYNAMIC_KEYMAP_MACRO_COUNT 16
diff --git a/keyboards/keebio/iris/rev2/config.h b/keyboards/keebio/iris/rev2/config.h
index 938ff05f0..ab55bf77b 100644
--- a/keyboards/keebio/iris/rev2/config.h
+++ b/keyboards/keebio/iris/rev2/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20#include QMK_KEYBOARD_CONFIG_H
21
22/* USB Device descriptor parameter */ 20/* USB Device descriptor parameter */
23#define VENDOR_ID 0xCB10 21#define VENDOR_ID 0xCB10
24#define PRODUCT_ID 0x1256 22#define PRODUCT_ID 0x1256
@@ -62,23 +60,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
62/* ws2812 RGB LED */ 60/* ws2812 RGB LED */
63#define RGB_DI_PIN D3 61#define RGB_DI_PIN D3
64#define RGBLED_NUM 12 // Number of LEDs 62#define RGBLED_NUM 12 // Number of LEDs
65
66#define DYNAMIC_KEYMAP_LAYER_COUNT 4
67
68// EEPROM usage
69
70// TODO: refactor with new user EEPROM code (coming soon)
71#define EEPROM_MAGIC 0x451F
72#define EEPROM_MAGIC_ADDR 34
73// Bump this every time we change what we store
74// This will automatically reset the EEPROM with defaults
75// and avoid loading invalid data from the EEPROM
76#define EEPROM_VERSION 0x08
77#define EEPROM_VERSION_ADDR 36
78
79// Dynamic keymap starts after EEPROM version
80#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
81// Dynamic macro starts after dynamic keymaps (37+(4*10*6*2)) = (37+480)
82#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 517
83#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 507 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
84#define DYNAMIC_KEYMAP_MACRO_COUNT 16
diff --git a/keyboards/keebio/iris/rev3/config.h b/keyboards/keebio/iris/rev3/config.h
index 6576ff683..8c6f4ad08 100644
--- a/keyboards/keebio/iris/rev3/config.h
+++ b/keyboards/keebio/iris/rev3/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20#include QMK_KEYBOARD_CONFIG_H
21
22/* USB Device descriptor parameter */ 20/* USB Device descriptor parameter */
23#define VENDOR_ID 0xCB10 21#define VENDOR_ID 0xCB10
24#define PRODUCT_ID 0x1256 22#define PRODUCT_ID 0x1256
@@ -71,23 +69,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
71#define RGB_DI_PIN F7 69#define RGB_DI_PIN F7
72#define RGBLED_NUM 12 // Number of LEDs 70#define RGBLED_NUM 12 // Number of LEDs
73#define RGBLED_SPLIT { 6, 6 } 71#define RGBLED_SPLIT { 6, 6 }
74
75#define DYNAMIC_KEYMAP_LAYER_COUNT 4
76
77// EEPROM usage
78
79// TODO: refactor with new user EEPROM code (coming soon)
80#define EEPROM_MAGIC 0x451F
81#define EEPROM_MAGIC_ADDR 34
82// Bump this every time we change what we store
83// This will automatically reset the EEPROM with defaults
84// and avoid loading invalid data from the EEPROM
85#define EEPROM_VERSION 0x08
86#define EEPROM_VERSION_ADDR 36
87
88// Dynamic keymap starts after EEPROM version
89#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
90// Dynamic macro starts after dynamic keymaps (37+(4*10*6*2)) = (37+480)
91#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 517
92#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 507 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
93#define DYNAMIC_KEYMAP_MACRO_COUNT 16
diff --git a/keyboards/keebio/iris/rev4/config.h b/keyboards/keebio/iris/rev4/config.h
index b4bcd6139..87fdafcd5 100644
--- a/keyboards/keebio/iris/rev4/config.h
+++ b/keyboards/keebio/iris/rev4/config.h
@@ -73,23 +73,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
73#define RGB_DI_PIN D6 73#define RGB_DI_PIN D6
74#define RGBLED_NUM 12 // Number of LEDs 74#define RGBLED_NUM 12 // Number of LEDs
75#define RGBLED_SPLIT { 6, 6 } 75#define RGBLED_SPLIT { 6, 6 }
76
77#define DYNAMIC_KEYMAP_LAYER_COUNT 4
78
79// EEPROM usage
80
81// TODO: refactor with new user EEPROM code (coming soon)
82#define EEPROM_MAGIC 0x451F
83#define EEPROM_MAGIC_ADDR 34
84// Bump this every time we change what we store
85// This will automatically reset the EEPROM with defaults
86// and avoid loading invalid data from the EEPROM
87#define EEPROM_VERSION 0x08
88#define EEPROM_VERSION_ADDR 36
89
90// Dynamic keymap starts after EEPROM version
91#define DYNAMIC_KEYMAP_EEPROM_ADDR 37
92// Dynamic macro starts after dynamic keymaps (37+(4*10*6*2)) = (37+480)
93#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 517
94#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 507 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
95#define DYNAMIC_KEYMAP_MACRO_COUNT 16
diff --git a/keyboards/keebio/levinson/keymaps/ksamborski/config.h b/keyboards/keebio/levinson/keymaps/ksamborski/config.h
new file mode 100644
index 000000000..7a21830f2
--- /dev/null
+++ b/keyboards/keebio/levinson/keymaps/ksamborski/config.h
@@ -0,0 +1,27 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20#pragma once
21
22/* Select hand configuration */
23#define MASTER_LEFT
24
25#define RGBLIGHT_ANIMATIONS
26#define RGBLED_NUM 12
27
diff --git a/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c b/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c
new file mode 100644
index 000000000..4fc77fb83
--- /dev/null
+++ b/keyboards/keebio/levinson/keymaps/ksamborski/keymap.c
@@ -0,0 +1,151 @@
1#include QMK_KEYBOARD_H
2
3enum layers {
4 _QW,
5 _LW,
6 _RS,
7 _AD,
8};
9
10enum custom_keycodes {
11 QWERTY = SAFE_RANGE,
12 LOWER,
13 RAISE,
14 ADJUST,
15 MKITPNK
16};
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20/* Qwerty
21 * ,-----------------------------------------. ,-----------------------------------------.
22 * | Esc | Q | W | E | R | T | | Y | U | I | O | P | Del |
23 * |------+------+------+------+------+------| |------+------+------+------+------+------|
24 * | Tab | A | S | D | F | G | | H | J | K | L | ; | Bksp |
25 * |------+------+------+------+------+------| |------+------+------+------+------+------|
26 * | Shift| Z | X | C | V | B | | N | M | , | . | \ | = |
27 * |------+------+------+------+------+------| |------+------+------+------+------+------|
28 * | Ctrl | | Meta | Alt | Lower| Enter| | Space| Raise| Alt | Meta | | |
29 * `-----------------------------------------' `-----------------------------------------'
30 */
31 [_QW] = LAYOUT_ortho_4x12(
32 KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_DEL ,
33 KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_BSPC,
34 KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_BSLS, KC_EQL ,
35 KC_LCTL , _______, KC_LGUI, KC_LALT, LOWER , KC_ENT , KC_SPC , RAISE , KC_RALT, KC_LGUI, _______, _______
36 ),
37
38/* Raise
39 * ,-----------------------------------------. ,-----------------------------------------.
40 * | , | 1 | 2 | 3 | + | - | | { | } | ( | ) | | |
41 * |------+------+------+------+------+------| |------+------+------+------+------+------|
42 * | . | 4 | 5 | 6 | # | * | | F1 | F2 | F3 | F4 | F5 | F6 |
43 * |------+------+------+------+------+------| |------+------+------+------+------+------|
44 * | Shift| 7 | 8 | 9 | / | = | | F7 | F8 | F9 | F10 | F11 | F12 |
45 * |------+------+------+------+------+------| |------+------+------+------+------+------|
46 * | | | 0 | |Adjust| | | | RAISE| | | | |
47 * `-----------------------------------------' `-----------------------------------------'
48 */
49 [_RS] = LAYOUT_ortho_4x12(
50 KC_COMM , KC_1 , KC_2 , KC_3 , KC_PLUS, KC_MINS, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, _______, _______,
51 KC_DOT , KC_4 , KC_5 , KC_6 , KC_HASH, KC_ASTR, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 ,
52 KC_LSFT , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_EQL , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
53 _______ , _______, KC_0 , _______, _______, _______, _______, _______, _______, _______, _______, _______
54 ),
55
56/* Lower
57 * ,-----------------------------------------. ,-----------------------------------------.
58 * | ` | ! | @ | # | $ | % | | Home| PgDn| PgUp| End | ( | ) |
59 * |------+------+------+------+------+------| |------+------+------+------+------+------|
60 * | | Vol+ | Mute | Play | | Ins | | Left| Down| Up | Right| { | } |
61 * |------+------+------+------+------+------| |------+------+------+------+------+------|
62 * | | Vol- | < M | M > | | | | ^ | & | * | ' | [ | ] |
63 * |------+------+------+------+------+------| |------+------+------+------+------+------|
64 * | | | | |LOWER | | | Shift|Adjust| | | | |
65 * `-----------------------------------------' `-----------------------------------------'
66 */
67 [_LW] = LAYOUT_ortho_4x12(
68 KC_GRV , KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_HOME , KC_PGDN, KC_PGUP, KC_END , KC_LPRN, KC_RPRN,
69 _______ , KC_VOLU, KC_MUTE, KC_MPLY, _______, KC_INS , KC_LEFT , KC_DOWN, KC_UP , KC_RIGHT, KC_LCBR, KC_RCBR,
70 _______ , KC_VOLD, KC_MPRV, KC_MNXT, _______, _______, KC_CIRC , KC_AMPR, KC_ASTR, KC_QUOT , KC_LBRC, KC_RBRC ,
71 _______ , _______, _______, _______, _______, _______, KC_LSFT , _______, _______, _______ , _______, _______
72 ),
73
74/* Adjust
75 * ,-----------------------------------------. ,-----------------------------------------.
76 * | Reset| | Up | | | Rec1 | | Rec2 | Plain| Snake|Gradnt| | Del |
77 * |------+------+------+------+------+------| |------+------+------+------+------+------|
78 * | Caps | Left | Down | Right|MkItPk| Play1| | Play2| RGB | HUE+ | SAT+ | BRI+ | |
79 * |------+------+------+------+------+------| |------+------+------+------+------+------|
80 * | | | | | | Stop1| | Stop2| MODE | HUE- | SAT- | BRI- | |
81 * |------+------+------+------+------+------| |------+------+------+------+------+------|
82 * | | | | | | | | | | | | | |
83 * `-----------------------------------------' `-----------------------------------------'
84 */
85 [_AD] = LAYOUT_ortho_4x12(
86 RESET , XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, DM_REC1, DM_REC2, RGB_M_P, RGB_M_SN,RGB_M_G, XXXXXXX, KC_DEL ,
87 KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, MKITPNK, DM_PLY1, DM_PLY2, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______,
88 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DM_RSTP, DM_RSTP, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
90 )
91};
92
93void make_it_pink_blue(void) {
94 uint16_t blue_hue = 210;
95 uint16_t pink_hue = 315;
96
97 /* key is pressed */
98 uint16_t hue = rgblight_get_hue();
99 uint8_t sat = rgblight_get_sat();
100 uint8_t val = rgblight_get_val();
101
102 if (hue != blue_hue)
103 rgblight_sethsv(blue_hue, sat, val);
104 else
105 rgblight_sethsv(pink_hue, sat, val);
106}
107
108bool process_record_user(uint16_t keycode, keyrecord_t *record) {
109 switch (keycode) {
110 case QWERTY:
111 if (record->event.pressed) {
112 set_single_persistent_default_layer(_QW);
113 }
114 return false;
115 break;
116 case LOWER:
117 if (record->event.pressed) {
118 layer_on(_LW);
119 update_tri_layer(_LW, _RS, _AD);
120 } else {
121 layer_off(_LW);
122 update_tri_layer(_LW, _RS, _AD);
123 }
124 return false;
125 break;
126 case RAISE:
127 if (record->event.pressed) {
128 layer_on(_RS);
129 update_tri_layer(_LW, _RS, _AD);
130 } else {
131 layer_off(_RS);
132 update_tri_layer(_LW, _RS, _AD);
133 }
134 return false;
135 break;
136 case ADJUST:
137 if (record->event.pressed) {
138 layer_on(_AD);
139 } else {
140 layer_off(_AD);
141 }
142 return false;
143 break;
144 case MKITPNK:
145 if (record->event.pressed)
146 make_it_pink_blue();
147 return false;
148 break;
149 }
150 return true;
151}
diff --git a/keyboards/keebio/levinson/keymaps/ksamborski/rules.mk b/keyboards/keebio/levinson/keymaps/ksamborski/rules.mk
new file mode 100644
index 000000000..1ce3f222f
--- /dev/null
+++ b/keyboards/keebio/levinson/keymaps/ksamborski/rules.mk
@@ -0,0 +1,3 @@
1RGBLIGHT_ENABLE=yes
2BOOTMAGIC_ENABLE=no
3DYNAMIC_MACRO_ENABLE=yes
diff --git a/keyboards/keebio/levinson/keymaps/numpad/config.h b/keyboards/keebio/levinson/keymaps/numpad/config.h
new file mode 100644
index 000000000..7e10bc445
--- /dev/null
+++ b/keyboards/keebio/levinson/keymaps/numpad/config.h
@@ -0,0 +1,34 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6Copyright 2018 Danny Nguyen <danny@keeb.io>
7
8This program is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 2 of the License, or
11(at your option) any later version.
12
13This program is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with this program. If not, see <http://www.gnu.org/licenses/>.
20*/
21
22#pragma once
23
24// #define USE_I2C
25// Need to flip the rows
26#undef MATRIX_COL_PINS
27#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6 }
28
29/* Select hand configuration */
30// #define MASTER_RIGHT
31// #define EE_HANDS
32
33/* Time in ms until oneshot layer times out */
34#define ONESHOT_TIMEOUT 3000
diff --git a/keyboards/keebio/levinson/keymaps/numpad/keymap.c b/keyboards/keebio/levinson/keymaps/numpad/keymap.c
new file mode 100644
index 000000000..32a1113c5
--- /dev/null
+++ b/keyboards/keebio/levinson/keymaps/numpad/keymap.c
@@ -0,0 +1,123 @@
1#include QMK_KEYBOARD_H
2
3/* Add the stings you want to send as macros, see
4 * https://docs.qmk.fm/#/feature_macros for what all can be used
5 */
6#define MACRO_0 "zero"
7#define MACRO_1 "one"
8#define MACRO_2 "two"
9#define MACRO_3 "three"
10#define MACRO_4 "four"
11#define MACRO_5 "five"
12#define MACRO_6 "six"
13#define MACRO_7 "seven"
14#define MACRO_8 "eight"
15#define MACRO_9 "nine"
16
17enum macro_keycodes {
18 M0 = SAFE_RANGE,
19 M1,
20 M2,
21 M3,
22 M4,
23 M5,
24 M6,
25 M7,
26 M8,
27 M9
28};
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31
32/* Numpad
33 * ,-----------------------------------------------------------------------------------.
34 * | 0 | 1 | 4 | 7 | BkSp |OSL(1)| | | | | | |
35 * |------+------+------+------+------+------+------+------+------+------+------+------|
36 * | , | 2 | 5 | 8 | / | Down | | | | | | |
37 * |------+------+------+------+------+------+------+------+------+------+------+------|
38 * | . | 3 | 6 | 9 | * | Up | | | | | | |
39 * |------+------+------+------+------+------+------+------+------+------+------+------|
40 * | Enter | + | - | = | MO(1)| | | | | | |
41 * `-----------------------------------------------------------------------------------'
42 */
43[0] = LAYOUT_ortho_4x12( \
44 KC_KP_0, KC_KP_1, KC_KP_4, KC_KP_7, KC_BSPACE, OSL(1), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
45 KC_COMMA, KC_KP_2, KC_KP_5, KC_KP_8, KC_KP_SLASH, KC_DOWN, KC_NO, KC_A, KC_B, KC_C, KC_D, KC_NO, \
46 KC_KP_DOT, KC_KP_3, KC_KP_6, KC_KP_9, KC_KP_ASTERISK, KC_UP, KC_NO, KC_E, KC_F, KC_G, KC_H, KC_NO, \
47 KC_KP_ENTER, KC_NO, KC_KP_PLUS, KC_KP_MINUS, KC_KP_EQUAL, MO(1), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO \
48),
49/* Macro layer - the number keys are macros,
50 * other functions on remaining keys
51 * ,-----------------------------------------.
52 * | M(0) | M(1) | M(4) | M(7) | | Esc |
53 * |------+------+------+------+------+------|
54 * | Left | M(2) | M(5) | M(8) | | |
55 * |------+------+------+------+------+------|
56 * | Right| M(3) | M(6) | M(9) | | |
57 * |------+------+------+------+------+------|
58 * | NumLock | RESET| | | Calc |
59 * `-----------------------------------------'
60 */
61[1] = LAYOUT_ortho_4x12( \
62 M0, M1, M4, M7, KC_NO, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
63 KC_LEFT, M2, M5, M8, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
64 KC_RIGHT, M3, M6, M8, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
65 KC_NUMLOCK, RESET, KC_NO, KC_NO, KC_CALC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO \
66)
67};
68
69bool process_record_user(uint16_t keycode, keyrecord_t *record) {
70 switch (keycode) {
71 case M0:
72 if (record->event.pressed) {
73 SEND_STRING(MACRO_0);
74 }
75 break;
76 case M1:
77 if (record->event.pressed) {
78 SEND_STRING(MACRO_1);
79 }
80 break;
81 case M2:
82 if (record->event.pressed) {
83 SEND_STRING(MACRO_2);
84 }
85 break;
86 case M3:
87 if (record->event.pressed) {
88 SEND_STRING(MACRO_3);
89 }
90 break;
91 case M4:
92 if (record->event.pressed) {
93 SEND_STRING(MACRO_4);
94 }
95 break;
96 case M5:
97 if (record->event.pressed) {
98 SEND_STRING(MACRO_5);
99 }
100 break;
101 case M6:
102 if (record->event.pressed) {
103 SEND_STRING(MACRO_6);
104 }
105 break;
106 case M7:
107 if (record->event.pressed) {
108 SEND_STRING(MACRO_7);
109 }
110 break;
111 case M8:
112 if (record->event.pressed) {
113 SEND_STRING(MACRO_8);
114 }
115 break;
116 case M9:
117 if (record->event.pressed) {
118 SEND_STRING(MACRO_9);
119 }
120 break;
121 }
122 return true;
123};
diff --git a/keyboards/keebio/levinson/keymaps/numpad/readme.md b/keyboards/keebio/levinson/keymaps/numpad/readme.md
new file mode 100644
index 000000000..0c15ac54d
--- /dev/null
+++ b/keyboards/keebio/levinson/keymaps/numpad/readme.md
@@ -0,0 +1,4 @@
1# Numpad Layout
2[Layout Example](http://www.keyboard-layout-editor.com/##@@_c=%23ffd100&a:7%3B&=&_c=%23909596&f:5%3B&=&=&=%3B&@_c=%23c4c8c5&st=MX1A-L1xx&f:6%3B&=Esc&=%2F%2F&=*&=%3F%3B&@=7&=8&=9&=%E2%80%93%3B&@=4&_n:true%3B&=5&=6&=+%3B&@=1&=2&=3&_c=%23ffd100&h:2%3B&=%3B&@_c=%23c4c8c5%3B&=0&_a:5%3B&=%3C%0A,&=%3E%0A.)
3
4Uses a single half of the Levinson a vertical 4x6 numpad/macropad.
diff --git a/keyboards/keebio/levinson/keymaps/numpad/rules.mk b/keyboards/keebio/levinson/keymaps/numpad/rules.mk
new file mode 100644
index 000000000..639c76834
--- /dev/null
+++ b/keyboards/keebio/levinson/keymaps/numpad/rules.mk
@@ -0,0 +1,3 @@
1# Build Options
2BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
3RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/keebio/levinson/keymaps/rossman360/keymap.c b/keyboards/keebio/levinson/keymaps/rossman360/keymap.c
new file mode 100644
index 000000000..efb5f9cfa
--- /dev/null
+++ b/keyboards/keebio/levinson/keymaps/rossman360/keymap.c
@@ -0,0 +1,135 @@
1#include QMK_KEYBOARD_H
2
3#define PGMOD LT(_NUM, KC_PGDN)
4#define TABMOD LT(_FN1, KC_TAB)
5#define SPCMOD LT(_FN1, KC_SPACE)
6#define ENTMOD LT(_FN2, KC_ENTER)
7#define ESCMOD LT(_NUM, KC_ESC)
8#define RSMOD LT(_FN1, KC_RSHIFT)
9#define CMDBSP MT(MOD_LGUI, KC_BSPC)
10#define ALTDEL MT(MOD_LALT, KC_DEL)
11#define CTRLSP MT(MOD_LCTL, KC_SPACE)
12#define BWORD LCTL(KC_BSPC)
13#define JUMPBACK LSFT(KC_TAB)
14#define LWORD LCTL(KC_LEFT)
15#define RWORD LCTL(KC_RIGHT)
16#define UNDO LCTL(KC_Z)
17#define NTAB LCTL(KC_T)
18#define CTAB LCTL(KC_W)
19#define XPANDR LCTL(LSFT(KC_X))
20#define TAB1 LCTL(KC_1)
21#define TAB2 LCTL(KC_2)
22#define TAB3 LCTL(KC_3)
23#define TAB4 LCTL(KC_4)
24#define RVOLU LCTL(KC_RBRC)
25#define RVOLD LCTL(KC_LBRC)
26
27enum layer_names {
28 _BASE,
29 _DEL,
30 _FN1,
31 _FN2,
32 _NUM,
33};
34
35enum custom_keycodes {
36 QWERTY = SAFE_RANGE,
37 CSPEAK,
38 PARADOWN,
39 PMERGE,
40 WREFRESH,
41 REMCAPS,
42 SPEAK1,
43 SPEAK2,
44 SPEAK3,
45 SPEAK4
46};
47
48bool process_record_user(uint16_t keycode, keyrecord_t *record) {
49switch (keycode) {
50 case CSPEAK:
51 if (record->event.pressed) {
52 SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN));
53 }
54 break;
55 case SPEAK1:
56 if (record->event.pressed) {
57 SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_1)));
58 }
59 break;
60 case SPEAK2:
61 if (record->event.pressed) {
62 SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_2)));
63 }
64 break;
65 case SPEAK3:
66 if (record->event.pressed) {
67 SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_3)));
68 }
69 break;
70 case SPEAK4:
71 if (record->event.pressed) {
72 SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN) SS_LCTRL(SS_TAP(X_4)));
73 }
74 break;
75 case PARADOWN:
76 if (record->event.pressed) {
77 SEND_STRING(SS_TAP(X_PGDOWN) SS_TAP(X_ENTER) SS_TAP(X_PGDOWN));
78 }
79 break;
80 case PMERGE:
81 if (record->event.pressed) {
82 SEND_STRING(SS_TAP(X_HOME) SS_TAP(X_BSPACE) SS_TAP(X_SPACE) SS_LCTRL(SS_TAP(X_BSPACE)) SS_TAP(X_SPACE));
83 }
84 break;
85 case WREFRESH:
86 if (record->event.pressed) {
87 SEND_STRING(SS_TAP(X_SPACE) SS_TAP(X_BSPACE));
88 }
89 break;
90 case REMCAPS:
91 if (record->event.pressed) {
92 SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_LCTRL(SS_TAP(X_LEFT)) SS_TAP(X_DELETE));
93 }
94 break;
95};
96return true;
97};
98
99const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
100
101[_BASE] = LAYOUT_ortho_4x12(
102 KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , NTAB ,
103 JUMPBACK, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
104 KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_MINS,
105 CMDBSP , ALTDEL , KC_NO , CTRLSP , TABMOD , PGMOD , ENTMOD , SPCMOD , MO(_DEL),KC_NO , KC_BSPC, KC_DEL
106 ),
107
108[_FN1] = LAYOUT_ortho_4x12(
109 _______, TAB1 , TAB2 , TAB3 , TAB4 , _______, _______, UNDO , _______, _______, _______, CTAB ,
110 KC_CAPS, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP , KC_RIGHT,KC_END , KC_NO ,
111 _______, _______, XPANDR , _______, _______, _______, _______, PMERGE , KC_DOWN, _______, _______, _______,
112 WREFRESH,_______, _______, _______, LWORD , RWORD , RVOLD , RVOLU , _______, _______, _______, _______
113 ),
114
115[_FN2] = LAYOUT_ortho_4x12(
116 _______, SPEAK1 , SPEAK2 , SPEAK3 , SPEAK4 , _______, _______, _______, _______, _______, _______, _______,
117 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
118 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
119 _______, _______, _______, _______, PARADOWN, CSPEAK, _______, _______, _______, _______, _______, _______
120 ),
121
122[_DEL] = LAYOUT_ortho_4x12(
123 _______, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, CTAB ,
124 REMCAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP ,KC_RIGHT, _______, _______,
125 _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______,
126 _______, _______, _______, KC_DEL , KC_BSPC, BWORD , _______, _______, _______, _______, _______, _______
127 ),
128
129[_NUM] = LAYOUT_ortho_4x12(
130 _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_MINS, KC_EQL,
131 KC_CAPS, _______, _______, _______, _______, _______, KC_MINS, KC_4 , KC_5 , KC_6 , KC_COLN, _______,
132 _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_1 , KC_2 , KC_3 , KC_BSLS, _______,
133 _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_0 , _______, _______, _______
134 )
135};
diff --git a/keyboards/keebio/levinson/readme.md b/keyboards/keebio/levinson/readme.md
index 8cb4ff1cf..f328aa420 100644
--- a/keyboards/keebio/levinson/readme.md
+++ b/keyboards/keebio/levinson/readme.md
@@ -9,11 +9,11 @@ Hardware Availability: [Keebio](https://keeb.io)
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make levinson/rev2:default 12 make keebio/levinson/rev3:default
13 13
14Example of flashing this keyboard with Pro micro: 14Example of flashing this keyboard with Pro micro:
15 15
16 make levinson/rev2:default:avrdude 16 make keebio/levinson/rev3:default:avrdude
17 17
18Example of flashing this keyboard with Elite-C: 18Example of flashing this keyboard with Elite-C:
19 19
@@ -21,7 +21,7 @@ You'll need to add `BOOTLOADER = atmel-dfu` to your `rules.mk` to ensure that re
21 21
22Hold the reset button on the Elite-C board, or the reset button on the keyboard if already assembled, then release the button and run: 22Hold the reset button on the Elite-C board, or the reset button on the keyboard if already assembled, then release the button and run:
23 23
24 make levinson/rev2:default:dfu 24 make keebio/levinson/rev3:default:dfu
25 25
26See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). 26See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
27 27
diff --git a/keyboards/keebio/levinson/rev1/config.h b/keyboards/keebio/levinson/rev1/config.h
index 52cf7baf7..a34c8bdcc 100644
--- a/keyboards/keebio/levinson/rev1/config.h
+++ b/keyboards/keebio/levinson/rev1/config.h
@@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20#pragma once 20#pragma once
21 21
22#include QMK_KEYBOARD_CONFIG_H
23
24/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
25#define VENDOR_ID 0xCB10 23#define VENDOR_ID 0xCB10
26#define PRODUCT_ID 0x1146 24#define PRODUCT_ID 0x1146
diff --git a/keyboards/keebio/levinson/rev2/config.h b/keyboards/keebio/levinson/rev2/config.h
index 1365ae792..9d6947125 100644
--- a/keyboards/keebio/levinson/rev2/config.h
+++ b/keyboards/keebio/levinson/rev2/config.h
@@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20#pragma once 20#pragma once
21 21
22#include QMK_KEYBOARD_CONFIG_H
23
24/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
25#define VENDOR_ID 0xCB10 23#define VENDOR_ID 0xCB10
26#define PRODUCT_ID 0x1146 24#define PRODUCT_ID 0x1146
diff --git a/keyboards/keebio/quefrency/rev1/config.h b/keyboards/keebio/quefrency/rev1/config.h
index 9778ef470..1d726a0fc 100644
--- a/keyboards/keebio/quefrency/rev1/config.h
+++ b/keyboards/keebio/quefrency/rev1/config.h
@@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19#pragma once 19#pragma once
20 20
21#include QMK_KEYBOARD_CONFIG_H
22
23/* USB Device descriptor parameter */ 21/* USB Device descriptor parameter */
24#define VENDOR_ID 0xCB10 22#define VENDOR_ID 0xCB10
25#define PRODUCT_ID 0x1257 23#define PRODUCT_ID 0x1257
diff --git a/keyboards/keebio/rorschach/rev1/config.h b/keyboards/keebio/rorschach/rev1/config.h
index bcfce2bee..4dae31f8c 100644
--- a/keyboards/keebio/rorschach/rev1/config.h
+++ b/keyboards/keebio/rorschach/rev1/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20#include QMK_KEYBOARD_CONFIG_H
21
22/* USB Device descriptor parameter */ 20/* USB Device descriptor parameter */
23#define VENDOR_ID 0xCB10 21#define VENDOR_ID 0xCB10
24#define PRODUCT_ID 0x1246 22#define PRODUCT_ID 0x1246
diff --git a/keyboards/keebio/tragicforce68/info.json b/keyboards/keebio/tragicforce68/info.json
index 550040a3a..3ff0b3678 100644
--- a/keyboards/keebio/tragicforce68/info.json
+++ b/keyboards/keebio/tragicforce68/info.json
@@ -5,7 +5,7 @@
5 "width": 17.25, 5 "width": 17.25,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT": { 8 "LAYOUT_68_ansi": {
9 "layout": [ 9 "layout": [
10 {"label":"~", "x":0, "y":0}, 10 {"label":"~", "x":0, "y":0},
11 {"label":"!", "x":1, "y":0}, 11 {"label":"!", "x":1, "y":0},
diff --git a/keyboards/keebio/tragicforce68/keymaps/default/keymap.c b/keyboards/keebio/tragicforce68/keymaps/default/keymap.c
index 69255e080..12d738b3a 100644
--- a/keyboards/keebio/tragicforce68/keymaps/default/keymap.c
+++ b/keyboards/keebio/tragicforce68/keymaps/default/keymap.c
@@ -4,7 +4,7 @@
4#define _FN1 1 4#define _FN1 1
5 5
6const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 6const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7 [_QWERTY] = LAYOUT( 7 [_QWERTY] = LAYOUT_68_ansi(
8 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐ 8 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐
9 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP, 9 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP,
10 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤ 10 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
18 //└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴──────────┘ └────────┴────────┴────────┘ 18 //└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴──────────┘ └────────┴────────┴────────┘
19 ), 19 ),
20 20
21 [_FN1] = LAYOUT( 21 [_FN1] = LAYOUT_68_ansi(
22 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐ 22 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐
23 KC_GRV, 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_HOME, 23 KC_GRV, 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_HOME,
24 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤ 24 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
diff --git a/keyboards/keebio/tragicforce68/keymaps/rossman360/keymap.c b/keyboards/keebio/tragicforce68/keymaps/rossman360/keymap.c
new file mode 100755
index 000000000..127a0fd1e
--- /dev/null
+++ b/keyboards/keebio/tragicforce68/keymaps/rossman360/keymap.c
@@ -0,0 +1,71 @@
1#include QMK_KEYBOARD_H
2#include "rossman360.h"
3
4#define PGMOD LT(_MOD, KC_PGDN)
5#define SPCMOD LT(_MOD, KC_SPACE)
6#define VOLMOD LT(_MOD, KC__MUTE)
7
8enum layer_names {
9 _BASE,
10 _REV,
11 _MOD,
12 _DEL,
13};
14
15const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16[_BASE] = LAYOUT_split_space(
17 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐
18 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, NTAB,
19 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
20 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(_MOD),CTAB,
21 //├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
22 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
23 //├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────┐
24 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
25 //├──────────┬───────┴──┬─────┴────┬───┴────────┴─────┬───┴────────┴───┬─────┴────────┴┬────────┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────┐
26 CMDBSP, ALTDEL, KC_LCTRL, KC_SPACE, SPCMOD, SPCMOD, MO(_DEL), KC_LCTL, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT
27 //└──────────┴──────────┴──────────┴──────────────────┴────────────────┴───────────────┴─────────────────┴──────────┴──────────┘ └────────┴────────┴────────┘
28 ),
29
30[_REV] = LAYOUT_split_space(
31 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐
32 _______, _______, _______, _______, _______, _______,_______, _______,_______, _______, _______, _______, _______, _______, _______, _______,
33 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
34 KC_LEFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,KC_HOME, KC_END, KC_RIGHT, _______, _______,
35 //├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
36 JUMPBACK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 //├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────┐
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CSPEAK, _______,
39 //├──────────┬───────┴──┬─────┴────┬───┴────────┴──────┬──┴────────┴────┬────┴────────┴┬────────┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────┐
40 _______, _______, _______, KC_TAB, PGMOD, _______, _______, _______, _______, _______, _______, _______
41 //└──────────┴──────────┴──────────┴───────────────────┴────────────────┴──────────────┴─────────────────┴──────────┴──────────┘ └────────┴────────┴────────┘
42 ),
43
44[_MOD] = LAYOUT_split_space(
45 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐
46 RESET, _______, _______, _______, _______, _______,_______, _______,KC_F8 , _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU,
47 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
48 _______, _______, WREFRESH,_______, DF(_REV), _______, _______, UNDO, _______, _______, _______, _______, _______, _______, _______, _______,
49 //├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
50 KC_CAPS, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP, KC_RIGHT, KC_END, _______, PARADOWN,
51 //├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────┐
52 _______, _______, XPANDR, _______, _______, _______, _______, PMERGE, KC_DOWN, _______, _______, _______, KC_F1 ,
53 //├──────────┬───────┴──┬─────┴────┬───┴────────┴──────┬──┴────────┴────┬────┴────────┴┬────────┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────┐
54 _______, _______, _______, LWORD, RWORD, LWORD, RWORD, _______, _______, _______, KC_F2 , _______
55 //└──────────┴──────────┴──────────┴───────────────────┴────────────────┴──────────────┴─────────────────┴──────────┴──────────┘ └────────┴────────┴────────┘
56 ),
57
58[_DEL] = LAYOUT_split_space(
59 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐
60 _______, SPEAK1, SPEAK2, SPEAK3, SPEAK4, _______,_______, _______,_______, _______, _______, _______, _______, _______, _______, _______,
61 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
63 //├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┤ └────────┴────────┘
64 REMCAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
65 //├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───────────────────┤ ┌────────┐
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
67 //├──────────┬───────┴──┬─────┴────┬───┴────────┴──────┬──┴────────┴────┬────┴────────┴┬────────┴────────┼────────┴─┬──────────┬────┬──────┴─┬────────┼────────┐
68 _______, _______, KC_DEL, KC_BSPC, BWORD, _______, _______, _______, _______, _______, _______, _______
69 //└──────────┴──────────┴──────────┴───────────────────┴────────────────┴──────────────┴─────────────────┴──────────┴──────────┘ └────────┴────────┴────────┘
70 ),
71};
diff --git a/keyboards/keebio/tragicforce68/keymaps/rossman360/readme.md b/keyboards/keebio/tragicforce68/keymaps/rossman360/readme.md
new file mode 100644
index 000000000..95e76d630
--- /dev/null
+++ b/keyboards/keebio/tragicforce68/keymaps/rossman360/readme.md
@@ -0,0 +1,3 @@
1#Rossman360's Tragicforce68 Layout
2
3This is a split-space layout that, like a lot of my layouts, has a lot of macros specific to the transcription service Rev. Moving back through text, deleting characters or whole words and returning to the end of the document can all be done using thumbs.
diff --git a/keyboards/keebio/tragicforce68/keymaps/rossman360/rules.mk b/keyboards/keebio/tragicforce68/keymaps/rossman360/rules.mk
new file mode 100644
index 000000000..d10eda0fb
--- /dev/null
+++ b/keyboards/keebio/tragicforce68/keymaps/rossman360/rules.mk
@@ -0,0 +1,2 @@
1MACROS_ENABLED = yes
2BOOTLOADER = atmel-dfu
diff --git a/keyboards/keebio/tragicforce68/rules.mk b/keyboards/keebio/tragicforce68/rules.mk
index 2118d3fc2..f9f487a2a 100644
--- a/keyboards/keebio/tragicforce68/rules.mk
+++ b/keyboards/keebio/tragicforce68/rules.mk
@@ -28,3 +28,5 @@ MIDI_ENABLE = no # MIDI controls
28UNICODE_ENABLE = no # Unicode 28UNICODE_ENABLE = no # Unicode
29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
30AUDIO_ENABLE = no # Audio output on port C6 30AUDIO_ENABLE = no # Audio output on port C6
31
32LAYOUTS = 68_ansi
diff --git a/keyboards/keebio/tragicforce68/tragicforce68.h b/keyboards/keebio/tragicforce68/tragicforce68.h
index a63ce50a5..cdecc55d9 100644
--- a/keyboards/keebio/tragicforce68/tragicforce68.h
+++ b/keyboards/keebio/tragicforce68/tragicforce68.h
@@ -2,7 +2,7 @@
2 2
3#include "quantum.h" 3#include "quantum.h"
4 4
5#define LAYOUT( \ 5#define LAYOUT_68_ansi( \
6 A1, A2, A3, A4, A5, A6, A7, A8, E1, E2, E3, E4, E5, E6, E7, E8, \ 6 A1, A2, A3, A4, A5, A6, A7, A8, E1, E2, E3, E4, E5, E6, E7, E8, \
7 B1, B2, B3, B4, B5, B6, B7, B8, F1, F2, F3, F4, F5, F6, F7, F8, \ 7 B1, B2, B3, B4, B5, B6, B7, B8, F1, F2, F3, F4, F5, F6, F7, F8, \
8 C1, C2, C3, C4, C5, C6, C7, C8, G1, G2, G3, G4, G5, \ 8 C1, C2, C3, C4, C5, C6, C7, C8, G1, G2, G3, G4, G5, \
@@ -72,3 +72,5 @@
72 KC_##K60, KC_##K61, KC_##K62, KC_##K63, KC_##K64, KC_##K65, KC_##K66, KC_##K67, KC_##K68, \ 72 KC_##K60, KC_##K61, KC_##K62, KC_##K63, KC_##K64, KC_##K65, KC_##K66, KC_##K67, KC_##K68, \
73 KC_##K70, KC_##K71, KC_##K72, KC_##K73, KC_##K74 \ 73 KC_##K70, KC_##K71, KC_##K72, KC_##K73, KC_##K74 \
74) 74)
75
76#define LAYOUT LAYOUT_68_ansi
diff --git a/keyboards/keebio/viterbi/keymaps/met/keymap.c b/keyboards/keebio/viterbi/keymaps/met/keymap.c
new file mode 100644
index 000000000..45427018a
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/met/keymap.c
@@ -0,0 +1,321 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7
8#define CANCEL LCTL(KC_C)
9#define TERM LCTL(LALT(KC_T))
10#define ALPHAMOD LT(_ALPHA, KC_VOLD)
11#define CTLBSP MT(MOD_LCTL, KC_BSPC)
12#define GUIDEL MT(MOD_LGUI, KC_DEL)
13#define ALTSPC MT(MOD_LALT, KC_SPACE)
14#define SPCMOD LT(_MOD, KC_SPACE)
15#define JUMPBACK LSFT(KC_TAB)
16#define NTAB LCTL(KC_T)
17#define CTAB LCTL(KC_W)
18#define TAB1 LCTL(KC_1)
19#define TAB2 LCTL(KC_2)
20#define TAB3 LCTL(KC_3)
21#define TAB4 LCTL(KC_4)
22#define BWORD LCTL(KC_BSPC)
23#define LWORD LCTL(KC_LEFT)
24#define RWORD LCTL(KC_RIGHT)
25#define TABMOD LT(_MOD, KC_TAB)
26#define ENTMOD LT(_ENT, KC_ENTER)
27
28enum layer_names {
29 _BASE,
30 _PLAYING,
31 _PLAYED,
32 _NUMS,
33 _FN,
34 _TEST,
35 _ALPHA,
36 _QWERTY,
37 _REV,
38 _DEL,
39 _MOD,
40 _ENT
41};
42
43enum custom_keycodes {
44 MET = SAFE_RANGE,
45 SET,
46 GO,
47 STOP,
48 RESUME,
49 NEWRESUME,
50 SYNC,
51 SHUTDOWN,
52 REBOOT,
53 SOURCE,
54 PUSH,
55 TEST,
56 TST,
57 ENAME,
58 SNAME,
59 LNAME,
60 BUS,
61 PMERGE,
62 CSPEAK
63};
64
65bool process_record_user(uint16_t keycode, keyrecord_t *record) {
66 switch (keycode) {
67 case SET:
68 if (record->event.pressed) {
69 layer_on(_NUMS);
70 SEND_STRING("met ");
71}
72 break;
73 case GO:
74 if (record->event.pressed) {
75 layer_off(_NUMS);
76 layer_off(_ALPHA);
77 layer_off(_PLAYED);
78 layer_on(_PLAYING);
79 SEND_STRING(SS_TAP(X_ENTER));
80}
81 break;
82 case STOP:
83 if (record->event.pressed) {
84 layer_off(_PLAYING);
85 layer_on(_PLAYED);
86 layer_off(_NUMS);
87 layer_off(_ALPHA);
88 SEND_STRING(SS_TAP(X_N));
89 SEND_STRING(SS_TAP(X_N));
90 SEND_STRING(SS_LCTRL(SS_TAP(X_C)));
91}
92 break;
93 case RESUME:
94 if (record->event.pressed) {
95 layer_off(_PLAYED);
96 layer_on(_PLAYING);
97 SEND_STRING(SS_LCTRL(SS_TAP(X_C)));
98 SEND_STRING(SS_TAP(X_UP));
99 SEND_STRING(SS_TAP(X_ENTER));
100}
101 break;
102 case NEWRESUME:
103 if (record->event.pressed) {
104 layer_off(_NUMS);
105 layer_off(_ALPHA);
106 layer_off(_PLAYED);
107 layer_on(_PLAYING);
108 SEND_STRING(SS_TAP(X_R));
109 SEND_STRING(SS_TAP(X_ENTER));
110}
111 break;
112 case SYNC:
113 if (record->event.pressed) {
114 SEND_STRING(SS_TAP(X_N));
115}
116 break;
117 case SHUTDOWN:
118 if (record->event.pressed) {
119 SEND_STRING(SS_LCTRL(SS_TAP(X_C)));
120 SEND_STRING("shutdown now");
121 SEND_STRING(SS_TAP(X_ENTER));
122}
123 break;
124 case REBOOT:
125 if (record->event.pressed) {
126 SEND_STRING(SS_LCTRL(SS_TAP(X_C)));
127 SEND_STRING("reboot");
128 SEND_STRING(SS_TAP(X_ENTER));
129 }
130 break;
131 case SOURCE:
132 if (record->event.pressed) {
133 SEND_STRING("source .bashrc");
134 SEND_STRING(SS_TAP(X_ENTER));
135 }
136 break;
137 case PUSH:
138 if (record->event.pressed) {
139 SEND_STRING("ftp rossmontsinger.net");
140 _delay_ms(250);
141 SEND_STRING(SS_TAP(X_ENTER));
142 _delay_ms(2250);
143 SEND_STRING("met@rossmontsinger.net");
144 _delay_ms(250);
145 SEND_STRING(SS_TAP(X_ENTER));
146 _delay_ms(2500);
147 SEND_STRING("metboard");
148 _delay_ms(250);
149 SEND_STRING(SS_TAP(X_ENTER));
150 }
151 break;
152 case TEST:
153 if (record->event.pressed) {
154 layer_off(_NUMS);
155 layer_off(_ALPHA);
156 layer_off(_PLAYED);
157 layer_on(_PLAYING);
158 SEND_STRING(SS_LCTRL(SS_TAP(X_C)));
159 _delay_ms(250);
160 SEND_STRING("play Desktop/met/a_lazoom.mp3");
161 SEND_STRING(SS_TAP(X_ENTER));
162 }
163 case TST:
164 if (record->event.pressed) {
165 SEND_STRING("tst");
166 SEND_STRING(SS_TAP(X_ENTER));
167 }
168 break;
169 case ENAME:
170 if (record->event.pressed) {
171 SEND_STRING("sname ");
172 layer_on(_NUMS);
173 layer_on(_ALPHA);
174 }
175 break;
176 case SNAME:
177 if (record->event.pressed) {
178 SEND_STRING(SS_TAP(X_ENTER));
179 layer_off(_NUMS);
180 layer_off(_ALPHA);
181 }
182 break;
183 case LNAME:
184 if (record->event.pressed) {
185 SEND_STRING("met $");
186 layer_off(_NUMS);
187 layer_on(_ALPHA);
188 }
189 break;
190 case BUS:
191 if (record->event.pressed) {
192 SEND_STRING("met $bus");
193 layer_off(_NUMS);
194 layer_off(_ALPHA);
195 layer_off(_PLAYED);
196 layer_on(_PLAYING);
197 SEND_STRING(SS_TAP(X_ENTER));
198 }
199 break;
200 case PMERGE:
201 if (record->event.pressed) {
202 SEND_STRING(SS_TAP(X_HOME));
203 SEND_STRING(SS_TAP(X_BSPACE));
204 SEND_STRING(SS_TAP(X_SPACE));
205 SEND_STRING(SS_LCTRL(SS_TAP(X_BSPACE)));
206 SEND_STRING(SS_TAP(X_SPACE));
207 }
208break;
209case CSPEAK:
210 if (record->event.pressed) {
211 SEND_STRING(SS_TAP(X_PGDOWN));
212 SEND_STRING(SS_TAP(X_ENTER));
213 SEND_STRING(SS_TAP(X_ENTER));
214 SEND_STRING(SS_TAP(X_PGDOWN));
215}
216 break;
217};
218
219 return true;
220};
221
222const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
223 [_BASE] = LAYOUT_ortho_5x14(
224 KC_NO, STOP , TST , _______, _______, _______, BUS , _______, _______, _______, _______, _______, _______, _______, \
225 KC_NO, _______, SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______, \
226 KC_NO, _______, SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______, \
227 KC_NO, LNAME , SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______, \
228 KC_NO, MO(_FN), _______, SET , _______, _______, _______, TG(_QWERTY),KC_B, _______, _______, _______, _______, _______ \
229 ),
230
231 [_PLAYING] = LAYOUT_ortho_5x14(
232 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
233 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
234 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
235 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
236 KC_NO, _______, _______, _______, _______, _______, STOP , _______, _______, _______, _______, _______, _______, _______
237 ),
238
239 [_PLAYED] = LAYOUT_ortho_5x14(
240 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
241 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
242 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
243 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
244 KC_NO, _______,_______, _______, _______, _______,NEWRESUME, _______, _______, _______, _______, _______, _______, _______
245 ),
246
247 [_NUMS] = LAYOUT_ortho_5x14(
248 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
249 KC_NO, _______, KC_7 , KC_8 , KC_9 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
250 KC_NO, _______, KC_4 , KC_5 , KC_6 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
251 KC_NO, _______, KC_1 , KC_2 , KC_3 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
252 KC_NO, _______, _______, KC_0 , _______, _______, GO , _______, _______, _______, _______, _______, _______, _______
253 ),
254
255 [_FN] = LAYOUT_ortho_5x14(
256 KC_NO, SHUTDOWN,_______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______,
257 KC_NO, REBOOT , _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______,
258 KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
259 KC_NO, ENAME , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
260 KC_NO, _______, _______, _______, _______, _______, SOURCE , _______, _______, _______, _______, _______, _______, _______
261 ),
262
263 [_TEST] = LAYOUT_ortho_5x14(
264 KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
265 KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
266 KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
267 KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
268 KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______
269 ),
270
271 [_ALPHA] = LAYOUT_ortho_5x14(
272 KC_NO, _______, KC_Y , KC_U , KC_I , KC_O , KC_P , _______, _______, _______, _______, _______, _______, _______,
273 KC_NO, KC_N , KC_Q , KC_W , KC_E , KC_R , KC_T , _______, _______, _______, _______, _______, _______, _______,
274 KC_NO, KC_M , KC_A , KC_S , KC_D , KC_F , KC_G , _______, _______, _______, _______, _______, _______, _______,
275 KC_NO, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , _______, _______, _______, _______, _______, _______, _______,
276 KC_NO, _______, KC_H , KC_J , KC_K , KC_L , GO , _______, _______, _______, _______, _______, _______, _______
277 ),
278
279 [_QWERTY] = LAYOUT_ortho_5x14(
280 KC_NO, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL ,
281 KC_NO, KC_CAPS, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC ,
282 KC_NO, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_PGUP ,
283 KC_NO, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_UP, KC_PGDN ,
284 KC_NO, CTLBSP , GUIDEL , KC_ENTER, ALTSPC, TABMOD , KC_BSPC, ENTMOD , SPCMOD ,MO(_DEL), KC_BSLS, KC_LEFT, KC_DOWN, KC_RIGHT
285 ),
286
287
288 [_REV] = LAYOUT_ortho_5x14(
289 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
290 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
291 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
292 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
293 KC_NO , _______, _______, _______, _______, KC_TAB , KC_PGDN, _______, _______, _______, _______, _______, _______, _______
294 ),
295
296
297 [_DEL] = LAYOUT_ortho_5x14(
298 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
299 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
300 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
301 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
302 KC_NO , _______, _______, _______, _______, KC_BSPC, BWORD , _______, _______, _______, _______, _______, _______, _______
303 ),
304
305 [_MOD] = LAYOUT_ortho_5x14(
306 KC_NO , KC_GRAVE,KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , NTAB ,
307 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB,
308 KC_NO , _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP ,KC_RIGHT, KC_END , _______, _______,
309 KC_NO , _______, _______, _______, _______, _______, _______, _______, PMERGE , KC_DOWN, _______, _______, _______, _______,
310 KC_NO , _______, _______, _______, _______, LWORD , RWORD , TG(_QWERTY),_______,_______,_______,_______, _______, _______
311 ),
312
313 [_ENT] = LAYOUT_ortho_5x14(
314 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
315 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
316 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
317 KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
318 KC_NO , _______, _______, _______, _______, _______, CSPEAK , _______, _______, _______, _______, _______, _______, _______
319 )
320};
321
diff --git a/keyboards/keebio/viterbi/keymaps/met/rules.mk b/keyboards/keebio/viterbi/keymaps/met/rules.mk
new file mode 100644
index 000000000..1e3cebb14
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/met/rules.mk
@@ -0,0 +1 @@
RGBLIGHT_ENABLE = yes