summaryrefslogtreecommitdiffstats
path: root/keyboards/keebio/viterbi
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keebio/viterbi')
-rw-r--r--keyboards/keebio/viterbi/keymaps/default/config.h41
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna/config.h61
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna/keymap.c76
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna/rules.mk25
-rw-r--r--keyboards/keebio/viterbi/keymaps/ericgebhart/config.h24
-rw-r--r--keyboards/keebio/viterbi/keymaps/ericgebhart/keymap.c18
-rw-r--r--keyboards/keebio/viterbi/keymaps/met/keymap.c321
-rw-r--r--keyboards/keebio/viterbi/keymaps/vosechu/config.h50
-rw-r--r--keyboards/keebio/viterbi/keymaps/vosechu/keymap.c91
-rw-r--r--keyboards/keebio/viterbi/rev2/rev2.c18
10 files changed, 725 insertions, 0 deletions
diff --git a/keyboards/keebio/viterbi/keymaps/default/config.h b/keyboards/keebio/viterbi/keymaps/default/config.h
new file mode 100644
index 0000000000..38c399ff2c
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/default/config.h
@@ -0,0 +1,41 @@
+/*
+Copyright 2017 Danny Nguyen <danny@hexwire.com>
+
+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
+
+// #define USE_I2C
+
+/* Select hand configuration */
+
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#undef RGBLED_NUM
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 12
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/viterbi/keymaps/drashna/config.h b/keyboards/keebio/viterbi/keymaps/drashna/config.h
new file mode 100644
index 0000000000..cd640ec8d5
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/drashna/config.h
@@ -0,0 +1,61 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * 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
+
+#undef MATRIX_ROWS
+#define MATRIX_ROWS 5
+
+#ifdef RGBLIGHT_ENABLE
+# undef RGBLED_NUM
+# define RGBLED_NUM 16
+
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 8
+# define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
+# define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
+#endif // RGBLIGHT_ENABLE
+
+#undef PRODUCT
+#define PRODUCT "Drashnas Viterbi Macro Pad"
+
+#ifdef AUDIO_ENABLE
+# define AUDIO_PIN C6
+# define NO_MUSIC_MODE
+#endif
+
+// clang-format off
+#define LAYOUT_ortho_5x7( \
+ L00, L01, L02, L03, L04, L05, L06, \
+ L10, L11, L12, L13, L14, L15, L16, \
+ L20, L21, L22, L23, L24, L25, L26, \
+ L30, L31, L32, L33, L34, L35, L36, \
+ L40, L41, L42, L43, L44, L45, L46 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { L40, L41, L42, L43, L44, L45, L46 }, \
+ }
+// clang-format on
+
+#define QMK_ESC_OUTPUT F5 // usually COL
+#define QMK_ESC_INPUT D4 // usually ROW
+#define QMK_LED B0
+#define QMK_SPEAKER C6
diff --git a/keyboards/keebio/viterbi/keymaps/drashna/keymap.c b/keyboards/keebio/viterbi/keymaps/drashna/keymap.c
new file mode 100644
index 0000000000..4e393e4196
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/drashna/keymap.c
@@ -0,0 +1,76 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * 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 "drashna.h"
+
+// Fillers to make layering more clear
+#define TT_MDIA TT(_MEDIA)
+
+// enum more_custom_keycodes {
+// KC_P00 = NEW_SAFE_RANGE
+//};
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_NUMLOCK] = LAYOUT_ortho_5x7(
+ KC_NO, TG_DBLO, TG_GAME, KC_NUM, KC_SCRL, KC_COLN, KC_PSLS,
+ TT_MDIA, KC_CALC, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PAST,
+ KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS,
+ KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS,
+ KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_COLN, KC_PENT
+ ),
+
+ [_DIABLO] = LAYOUT_ortho_5x7(
+ KC_ESC, _______, KC_V, KC_D, XXXXXXX, XXXXXXX, KC_L,
+ KC_TAB, KC_S, KC_F, KC_I, KC_M, KC_T, KC_J,
+ KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_F,
+ KC_LCTL, KC_D3_3, KC_D3_3, KC_D3_3, KC_D3_3, KC_Z, KC_DIABLO_CLEAR,
+ KC_LALT, KC_F4, KC_F5, KC_F8, KC_F9, KC_F10, SFT_T(KC_SPACE)
+ ),
+
+ [_GAMEPAD] = LAYOUT_ortho_5x7( // Game pad layout designed primarily for Overwatch
+ KC_NO, KC_ESC, _______, KC_1, KC_2, KC_3, KC_4,
+ TT_MDIA, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
+ KC_Z, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_Y, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
+ KC_F1, KC_U, KC_I, KC_Y, KC_V, KC_SPC, KC_V
+ ),
+
+ [_MEDIA] = LAYOUT_ortho_5x7(
+ QK_MAKE, QK_BOOT, MU_TOGG, AU_ON, AU_OFF, CK_TOGG, RGB_SAD,
+ _______, EE_CLR, KC_RGB_T,RGB_M_P, RGB_M_B, RGB_M_R, RGB_SAI,
+ RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_HUD,
+ KC_MPLY, KC_MPRV, KC_MNXT, RGB_M_X, RGB_M_G, RGB_M_P, RGB_HUI,
+ KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI
+ )
+
+
+};
+// clang-format on
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+ // switch (keycode) {
+ // case KC_P00:
+ // if (!record->event.pressed) {
+ // tap(KC_KP_0);
+ // tap(KC_KP_0);
+ // }
+ // return false;
+ // break;
+ //}
+ return true;
+}
diff --git a/keyboards/keebio/viterbi/keymaps/drashna/rules.mk b/keyboards/keebio/viterbi/keymaps/drashna/rules.mk
new file mode 100644
index 0000000000..86a693c3b1
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/drashna/rules.mk
@@ -0,0 +1,25 @@
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+TAP_DANCE_ENABLE = no
+RGBLIGHT_ENABLE = yes
+AUDIO_ENABLE = yes
+NKRO_ENABLE = yes
+SPLIT_KEYBOARD = no
+SPACE_CADET_ENABLE = no
+
+NO_SECRETS = yes
+INDICATOR_LIGHTS = no
+LAYOUTS = ortho_5x7
+
+# SRC := $(filter-out serial.c matrix.c i2c.c split_util.c,$(SRC))
+# SRC := $(filter-out serial.c,$(SRC))
+# SRC := $(filter-out matrix.c,$(SRC))
+# SRC := $(filter-out i2c.c,$(SRC))
+# SRC := $(filter-out split_util.c,$(SRC))
+# SRC += quantum/matrix.c
+
+BOOTLOADER = qmk-hid
+BOOTLOADER_SIZE = 512
diff --git a/keyboards/keebio/viterbi/keymaps/ericgebhart/config.h b/keyboards/keebio/viterbi/keymaps/ericgebhart/config.h
new file mode 100644
index 0000000000..c5f8fff090
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/ericgebhart/config.h
@@ -0,0 +1,24 @@
+#pragma once
+
+// #define USE_I2C
+
+/* Select hand configuration */
+
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#undef RGBLED_NUM
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 12
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/viterbi/keymaps/ericgebhart/keymap.c b/keyboards/keebio/viterbi/keymaps/ericgebhart/keymap.c
new file mode 100644
index 0000000000..c534fe3c6d
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/ericgebhart/keymap.c
@@ -0,0 +1,18 @@
+/*
+ Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>
+
+ 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/>.
+*/
+
+// See: users/ericgebhart.
diff --git a/keyboards/keebio/viterbi/keymaps/met/keymap.c b/keyboards/keebio/viterbi/keymaps/met/keymap.c
new file mode 100644
index 0000000000..b81c5ce314
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/met/keymap.c
@@ -0,0 +1,321 @@
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+#define CANCEL LCTL(KC_C)
+#define TERM LCTL(LALT(KC_T))
+#define ALPHAMOD LT(_ALPHA, KC_VOLD)
+#define CTLBSP MT(MOD_LCTL, KC_BSPC)
+#define GUIDEL MT(MOD_LGUI, KC_DEL)
+#define ALTSPC MT(MOD_LALT, KC_SPACE)
+#define SPCMOD LT(_MOD, KC_SPACE)
+#define JUMPBACK LSFT(KC_TAB)
+#define NTAB LCTL(KC_T)
+#define CTAB LCTL(KC_W)
+#define TAB1 LCTL(KC_1)
+#define TAB2 LCTL(KC_2)
+#define TAB3 LCTL(KC_3)
+#define TAB4 LCTL(KC_4)
+#define BWORD LCTL(KC_BSPC)
+#define LWORD LCTL(KC_LEFT)
+#define RWORD LCTL(KC_RIGHT)
+#define TABMOD LT(_MOD, KC_TAB)
+#define ENTMOD LT(_ENT, KC_ENTER)
+
+enum layer_names {
+ _BASE,
+ _PLAYING,
+ _PLAYED,
+ _NUMS,
+ _FN,
+ _TEST,
+ _ALPHA,
+ _QWERTY,
+ _REV,
+ _DEL,
+ _MOD,
+ _ENT
+};
+
+enum custom_keycodes {
+ MET = SAFE_RANGE,
+ SET,
+ GO,
+ STOP,
+ RESUME,
+ NEWRESUME,
+ SYNC,
+ SHUTDOWN,
+ REBOOT,
+ SOURCE,
+ PUSH,
+ TEST,
+ TST,
+ ENAME,
+ SNAME,
+ LNAME,
+ BUS,
+ PMERGE,
+ CSPEAK
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case SET:
+ if (record->event.pressed) {
+ layer_on(_NUMS);
+ SEND_STRING("met ");
+}
+ break;
+ case GO:
+ if (record->event.pressed) {
+ layer_off(_NUMS);
+ layer_off(_ALPHA);
+ layer_off(_PLAYED);
+ layer_on(_PLAYING);
+ SEND_STRING(SS_TAP(X_ENTER));
+}
+ break;
+ case STOP:
+ if (record->event.pressed) {
+ layer_off(_PLAYING);
+ layer_on(_PLAYED);
+ layer_off(_NUMS);
+ layer_off(_ALPHA);
+ SEND_STRING(SS_TAP(X_N));
+ SEND_STRING(SS_TAP(X_N));
+ SEND_STRING(SS_LCTL(SS_TAP(X_C)));
+}
+ break;
+ case RESUME:
+ if (record->event.pressed) {
+ layer_off(_PLAYED);
+ layer_on(_PLAYING);
+ SEND_STRING(SS_LCTL(SS_TAP(X_C)));
+ SEND_STRING(SS_TAP(X_UP));
+ SEND_STRING(SS_TAP(X_ENTER));
+}
+ break;
+ case NEWRESUME:
+ if (record->event.pressed) {
+ layer_off(_NUMS);
+ layer_off(_ALPHA);
+ layer_off(_PLAYED);
+ layer_on(_PLAYING);
+ SEND_STRING(SS_TAP(X_R));
+ SEND_STRING(SS_TAP(X_ENTER));
+}
+ break;
+ case SYNC:
+ if (record->event.pressed) {
+ SEND_STRING(SS_TAP(X_N));
+}
+ break;
+ case SHUTDOWN:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LCTL(SS_TAP(X_C)));
+ SEND_STRING("shutdown now");
+ SEND_STRING(SS_TAP(X_ENTER));
+}
+ break;
+ case REBOOT:
+ if (record->event.pressed) {
+ SEND_STRING(SS_LCTL(SS_TAP(X_C)));
+ SEND_STRING("reboot");
+ SEND_STRING(SS_TAP(X_ENTER));
+ }
+ break;
+ case SOURCE:
+ if (record->event.pressed) {
+ SEND_STRING("source .bashrc");
+ SEND_STRING(SS_TAP(X_ENTER));
+ }
+ break;
+ case PUSH:
+ if (record->event.pressed) {
+ SEND_STRING("ftp rossmontsinger.net");
+ _delay_ms(250);
+ SEND_STRING(SS_TAP(X_ENTER));
+ _delay_ms(2250);
+ SEND_STRING("met@rossmontsinger.net");
+ _delay_ms(250);
+ SEND_STRING(SS_TAP(X_ENTER));
+ _delay_ms(2500);
+ SEND_STRING("metboard");
+ _delay_ms(250);
+ SEND_STRING(SS_TAP(X_ENTER));
+ }
+ break;
+ case TEST:
+ if (record->event.pressed) {
+ layer_off(_NUMS);
+ layer_off(_ALPHA);
+ layer_off(_PLAYED);
+ layer_on(_PLAYING);
+ SEND_STRING(SS_LCTL(SS_TAP(X_C)));
+ _delay_ms(250);
+ SEND_STRING("play Desktop/met/a_lazoom.mp3");
+ SEND_STRING(SS_TAP(X_ENTER));
+ }
+ case TST:
+ if (record->event.pressed) {
+ SEND_STRING("tst");
+ SEND_STRING(SS_TAP(X_ENTER));
+ }
+ break;
+ case ENAME:
+ if (record->event.pressed) {
+ SEND_STRING("sname ");
+ layer_on(_NUMS);
+ layer_on(_ALPHA);
+ }
+ break;
+ case SNAME:
+ if (record->event.pressed) {
+ SEND_STRING(SS_TAP(X_ENTER));
+ layer_off(_NUMS);
+ layer_off(_ALPHA);
+ }
+ break;
+ case LNAME:
+ if (record->event.pressed) {
+ SEND_STRING("met $");
+ layer_off(_NUMS);
+ layer_on(_ALPHA);
+ }
+ break;
+ case BUS:
+ if (record->event.pressed) {
+ SEND_STRING("met $bus");
+ layer_off(_NUMS);
+ layer_off(_ALPHA);
+ layer_off(_PLAYED);
+ layer_on(_PLAYING);
+ SEND_STRING(SS_TAP(X_ENTER));
+ }
+ break;
+ case PMERGE:
+ if (record->event.pressed) {
+ SEND_STRING(SS_TAP(X_HOME));
+ SEND_STRING(SS_TAP(X_BACKSPACE));
+ SEND_STRING(SS_TAP(X_SPACE));
+ SEND_STRING(SS_LCTL(SS_TAP(X_BACKSPACE)));
+ SEND_STRING(SS_TAP(X_SPACE));
+ }
+break;
+case CSPEAK:
+ if (record->event.pressed) {
+ SEND_STRING(SS_TAP(X_PAGE_DOWN));
+ SEND_STRING(SS_TAP(X_ENTER));
+ SEND_STRING(SS_TAP(X_ENTER));
+ SEND_STRING(SS_TAP(X_PAGE_DOWN));
+}
+ break;
+};
+
+ return true;
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_ortho_5x14(
+ KC_NO, STOP , TST , _______, _______, _______, BUS , _______, _______, _______, _______, _______, _______, _______, \
+ KC_NO, _______, SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ KC_NO, _______, SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ KC_NO, LNAME , SET , SET , SET , _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ KC_NO, MO(_FN), _______, SET , _______, _______, _______, TG(_QWERTY),KC_B, _______, _______, _______, _______, _______ \
+ ),
+
+ [_PLAYING] = LAYOUT_ortho_5x14(
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, _______, _______, _______, STOP , _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_PLAYED] = LAYOUT_ortho_5x14(
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______,_______, _______, _______, _______,NEWRESUME, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_NUMS] = LAYOUT_ortho_5x14(
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, KC_7 , KC_8 , KC_9 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, KC_4 , KC_5 , KC_6 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, KC_1 , KC_2 , KC_3 , _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, KC_0 , _______, _______, GO , _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN] = LAYOUT_ortho_5x14(
+ KC_NO, SHUTDOWN,_______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, REBOOT , _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, ENAME , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, _______, _______, _______, _______, SOURCE , _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_TEST] = LAYOUT_ortho_5x14(
+ KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, TST , TST , TST , TST , TST , TST , _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_ALPHA] = LAYOUT_ortho_5x14(
+ KC_NO, _______, KC_Y , KC_U , KC_I , KC_O , KC_P , _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, KC_N , KC_Q , KC_W , KC_E , KC_R , KC_T , _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, KC_M , KC_A , KC_S , KC_D , KC_F , KC_G , _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, KC_Z , KC_X , KC_C , KC_V , KC_B , _______, _______, _______, _______, _______, _______, _______,
+ KC_NO, _______, KC_H , KC_J , KC_K , KC_L , GO , _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_QWERTY] = LAYOUT_ortho_5x14(
+ 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 ,
+ 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 ,
+ 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 ,
+ 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 ,
+ KC_NO, CTLBSP , GUIDEL , KC_ENTER, ALTSPC, TABMOD , KC_BSPC, ENTMOD , SPCMOD ,MO(_DEL), KC_BSLS, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+
+
+ [_REV] = LAYOUT_ortho_5x14(
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, KC_TAB , KC_PGDN, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+
+ [_DEL] = LAYOUT_ortho_5x14(
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, KC_BSPC, BWORD , _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_MOD] = LAYOUT_ortho_5x14(
+ 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 ,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB,
+ KC_NO , _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP ,KC_RIGHT, KC_END , _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, PMERGE , KC_DOWN, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, LWORD , RWORD , TG(_QWERTY),_______,_______,_______,_______, _______, _______
+ ),
+
+ [_ENT] = LAYOUT_ortho_5x14(
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_NO , _______, _______, _______, _______, _______, CSPEAK , _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
diff --git a/keyboards/keebio/viterbi/keymaps/vosechu/config.h b/keyboards/keebio/viterbi/keymaps/vosechu/config.h
new file mode 100644
index 0000000000..a808f80f85
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/vosechu/config.h
@@ -0,0 +1,50 @@
+/*
+Copyright 2017 Chuck Lauer Vose <vosechu@gmail.com>
+
+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
+
+#undef RGBLED_NUM
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_SNAKE
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_CHRISTMAS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_ALTERNATING
+#define RGBLIGHT_EFFECT_TWINKLE
+#define RGBLED_NUM 3
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+
+#define RGBLIGHT_SLEEP // Put the keyboard to sleep when USB goes dark
+
+#define LAYOUT_ortho_half_5x7( \
+ L00, L01, L02, L03, L04, L05, L06, \
+ L10, L11, L12, L13, L14, L15, L16, \
+ L20, L21, L22, L23, L24, L25, L26, \
+ L30, L31, L32, L33, L34, L35, L36, \
+ L40, L41, L42, L43, L44, L45, L46 \
+ ) \
+ LAYOUT_ortho_5x14( \
+ L00, L01, L02, L03, L04, L05, L06, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO, \
+ L10, L11, L12, L13, L14, L15, L16, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO, \
+ L20, L21, L22, L23, L24, L25, L26, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO, \
+ L30, L31, L32, L33, L34, L35, L36, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO, \
+ L40, L41, L42, L43, L44, L45, L46, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO \
+ )
diff --git a/keyboards/keebio/viterbi/keymaps/vosechu/keymap.c b/keyboards/keebio/viterbi/keymaps/vosechu/keymap.c
new file mode 100644
index 0000000000..0d2677d22b
--- /dev/null
+++ b/keyboards/keebio/viterbi/keymaps/vosechu/keymap.c
@@ -0,0 +1,91 @@
+#include QMK_KEYBOARD_H
+#include "vosechu.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[BASE] = LAYOUT_ortho_half_5x7( // Base layer
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_9 ,
+ ALT_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , TT(TT1) ,
+ CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , TT(TT2) ,
+ KC_F13 , KC_Z , KC_X , KC_C , KC_V , KC_B , TT(TT3) ,
+ KC_MEH , CTL_GRV , ALT_TAB , KC_LALT , MO(LWR) , LFT_BK , SFT_SPC
+),
+[LWR] = LAYOUT_ortho_half_5x7( // EVE layer
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ A(KC_LEFT), KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F9 ,
+ SFT_SPC , A(KC_F1), A(KC_F2), A(KC_F3), A(KC_F4), _______ , _______ ,
+ A(KC_RGHT), C(KC_F1), C(KC_F2), C(KC_F3), C(KC_F4), _______ , _______ ,
+ _______ , QK_BOOT, _______ , _______ , _LAYER_ , KC_DEL , KC_ENT
+),
+[LFT] = LAYOUT_ortho_half_5x7( // Media
+ _______ , KC_F10 , KC_F11 , KC_F12 , KC_PSCR , KC_SCRL , KC_PAUS ,
+ _______ , KC_F7 , KC_F8 , KC_F9 , KC_INS , KC_HOME , KC_PGUP ,
+ RGB_TOG , KC_F4 , KC_F5 , KC_F6 , KC_DEL , KC_END , KC_PGDN ,
+ _______ , KC_F1 , KC_F2 , KC_F3 , KC_VOLU , KC_VOLD , KC_MUTE ,
+ _______ , _______ , _______ , _______ , PSWD , _LAYER_ , PSWD_ALT
+),
+[TT1] = LAYOUT_ortho_half_5x7( // Override WASD with arrows
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ _______ , _______ , KC_UP , _______ , _______ , _______ , _______ ,
+ _______ , KC_LEFT , KC_DOWN , KC_RGHT , _______ , _______ , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______
+),
+[TT2] = LAYOUT_ortho_half_5x7( // Browser layer
+ C(KC_W) , C(KC_1) , C(KC_T) , C(KC_9) , _______ , _______ , _______ ,
+ WBWSRBK , WTABLFT , KC_UP , WTABRGT , WBWSRFW , _______ , _______ ,
+ KC_ESC , KC_LEFT , KC_DOWN , KC_RGHT , C(KC_R) , _______ , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , TT(T23X),
+ _______ , _______ , _______ , _______ , _______ , _______ , _______
+),
+[TT3] = LAYOUT_ortho_half_5x7( // OS X override layer
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ _______ , _______ , _______ , _______ , _______ , _______ , TT(T23X),
+ _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+ _______ , _______ , _______ , KC_LGUI , _______ , _______ , _______
+),
+[T23X] = LAYOUT_ortho_half_5x7( // Browser layer
+ G(KC_W) , G(KC_1) , G(KC_T) , G(KC_9) , _______ , SLACKTB , _______ ,
+ BWSR_BK , TAB_LFT , KC_UP , TAB_RGT , BWSR_FW , SLACKUP , _______ ,
+ KC_ESC , KC_LEFT , KC_DOWN , KC_RGHT , G(KC_R) , SLACKDN , _______ ,
+ _______ , _______ , KC_Q , KC_J , KC_K , _______ , _______ ,
+ _______ , _______ , _______ , KC_LGUI , _______ , _______ , _______
+),
+// [_EMPTY] = LAYOUT(
+// _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+// _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+// _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+// _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
+// _______ , _______ , _______ , _______ , _______ , _______ , _______
+// ),
+};
+
+void keyboard_post_init_user(void) {
+ // Call the post init code.
+ rgblight_enable_noeeprom(); // enables Rgb, without saving settings
+ rgblight_mode_noeeprom(0);
+ rgblight_sethsv_noeeprom(0, 0, 0);
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ switch (get_highest_layer(state)) {
+ case TT1:
+ rgblight_sethsv_noeeprom(HSV_BLUE);
+ break;
+ case TT2:
+ rgblight_sethsv_noeeprom(HSV_PURPLE);
+ break;
+ case T23X:
+ rgblight_sethsv_noeeprom(HSV_GOLD);
+ break;
+ case TT3:
+ rgblight_sethsv_noeeprom(HSV_GREEN);
+ break;
+ default: // for any other layers, or the default layer
+ rgblight_sethsv_noeeprom(0, 0, 0);
+ break;
+ }
+
+ return state;
+}
diff --git a/keyboards/keebio/viterbi/rev2/rev2.c b/keyboards/keebio/viterbi/rev2/rev2.c
new file mode 100644
index 0000000000..a72cc44436
--- /dev/null
+++ b/keyboards/keebio/viterbi/rev2/rev2.c
@@ -0,0 +1,18 @@
+#include "viterbi.h"
+
+void eeconfig_init_kb(void) {
+#ifdef BACKLIGHT_ENABLE
+ backlight_enable();
+ backlight_level(5);
+#endif
+#ifdef RGBLIGHT_ENABLE
+ rgblight_enable(); // Enable RGB by default
+ rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness
+#ifdef RGBLIGHT_MODE_RAINBOW_SWIRL
+ rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
+#endif
+#endif
+
+ eeconfig_update_kb(0);
+ eeconfig_init_user();
+}