aboutsummaryrefslogtreecommitdiff
path: root/keyboards/sneakbox
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-08-19 18:59:06 +0000
committerQMK Bot <hello@qmk.fm>2021-08-19 18:59:06 +0000
commit34137666498f367c677b751abab97100f30d1d36 (patch)
tree286eeb46a3c8339ce8b3dade2fc53d52c319d7aa /keyboards/sneakbox
parent7f1c90b7a8d66b806f87229fb96e5c69ee9fb1a4 (diff)
parentb724a0dfd5782f81d52fa006466e607d7ba04c5e (diff)
downloadqmk_firmware-34137666498f367c677b751abab97100f30d1d36.tar.gz
qmk_firmware-34137666498f367c677b751abab97100f30d1d36.zip
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/sneakbox')
-rw-r--r--keyboards/sneakbox/ava/ava.c36
-rw-r--r--keyboards/sneakbox/ava/ava.h59
-rw-r--r--keyboards/sneakbox/ava/config.h72
-rw-r--r--keyboards/sneakbox/ava/info.json27
-rw-r--r--keyboards/sneakbox/ava/keymaps/default/keymap.c40
-rw-r--r--keyboards/sneakbox/ava/keymaps/via/keymap.c55
-rw-r--r--keyboards/sneakbox/ava/keymaps/via/rules.mk1
-rw-r--r--keyboards/sneakbox/ava/readme.md15
-rw-r--r--keyboards/sneakbox/ava/rules.mk25
9 files changed, 330 insertions, 0 deletions
diff --git a/keyboards/sneakbox/ava/ava.c b/keyboards/sneakbox/ava/ava.c
new file mode 100644
index 000000000..c1b7c76cd
--- /dev/null
+++ b/keyboards/sneakbox/ava/ava.c
@@ -0,0 +1,36 @@
1/*
2Copyright 2021 Bryan Ong
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#include "ava.h"
19
20bool encoder_update_kb(uint8_t index, bool clockwise) {
21 if (!encoder_update_user(index,clockwise)) { return false; }
22 if (index == 0) { /* First encoder */
23 if (clockwise) {
24 tap_code(KC_DOWN);
25 } else {
26 tap_code(KC_UP);
27 }
28 } else if (index == 1) { /* Second encoder */
29 if (clockwise) {
30 tap_code(KC_DOWN);
31 } else {
32 tap_code(KC_UP);
33 }
34 }
35 return true;
36}
diff --git a/keyboards/sneakbox/ava/ava.h b/keyboards/sneakbox/ava/ava.h
new file mode 100644
index 000000000..01cdfdd77
--- /dev/null
+++ b/keyboards/sneakbox/ava/ava.h
@@ -0,0 +1,59 @@
1/*
2Copyright 2021 Bryan Ong
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#include "quantum.h"
21
22#define LAYOUT_all LAYOUT_alice_split_bs
23
24#define LAYOUT_alice_split_bs( \
25 K020, K000, K001, K002, K003, K004, K005, K006, K010, K011, K012, K013, K014, K015, K016, K017, \
26 K040, K021, K022, K023, K024, K025, K026, K030, K031, K032, K033, K034, K035, K036, K037, \
27 K060, K041, K042, K043, K044, K045, K046, K050, K051, K052, K053, K054, K055, K056, \
28 K007, K061, K062, K063, K064, K065, K066, K070, K071, K072, K073, K074, K075, K076, K077, \
29 K027, K047, K057, K067, K081, K083, K085, K086, K087 \
30) { \
31 { K000, K001, K002, K003, K004, K005, K006, K007 }, \
32 { K010, K011, K012, K013, K014, K015, K016, K017 }, \
33 { K020, K021, K022, K023, K024, K025, K026, K027 }, \
34 { K030, K031, K032, K033, K034, K035, K036, K037 }, \
35 { K040, K041, K042, K043, K044, K045, K046, K047 }, \
36 { K050, K051, K052, K053, K054, K055, K056, K057 }, \
37 { K060, K061, K062, K063, K064, K065, K066, K067 }, \
38 { K070, K071, K072, K073, K074, K075, K076, K077 }, \
39 { KC_NO, K081, KC_NO, K083, KC_NO, K085, K086, K087 } \
40}
41
42#define LAYOUT_alice( \
43 K020, K000, K001, K002, K003, K004, K005, K006, K010, K011, K012, K013, K014, K015, K017, \
44 K040, K021, K022, K023, K024, K025, K026, K030, K031, K032, K033, K034, K035, K036, K037, \
45 K060, K041, K042, K043, K044, K045, K046, K050, K051, K052, K053, K054, K055, K056, \
46 K007, K061, K062, K063, K064, K065, K066, K070, K071, K072, K073, K074, K075, K076, K077, \
47 K027, K047, K057, K067, K081, K083, K085, K086, K087 \
48) { \
49 { K000, K001, K002, K003, K004, K005, K006, K007 }, \
50 { K010, K011, K012, K013, K014, K015, KC_NO, K017 }, \
51 { K020, K021, K022, K023, K024, K025, K026, K027 }, \
52 { K030, K031, K032, K033, K034, K035, K036, K037 }, \
53 { K040, K041, K042, K043, K044, K045, K046, K047 }, \
54 { K050, K051, K052, K053, K054, K055, K056, K057 }, \
55 { K060, K061, K062, K063, K064, K065, K066, K067 }, \
56 { K070, K071, K072, K073, K074, K075, K076, K077 }, \
57 { KC_NO, K081, KC_NO, K083, KC_NO, K085, K086, K087 } \
58}
59
diff --git a/keyboards/sneakbox/ava/config.h b/keyboards/sneakbox/ava/config.h
new file mode 100644
index 000000000..81fdf5b37
--- /dev/null
+++ b/keyboards/sneakbox/ava/config.h
@@ -0,0 +1,72 @@
1/*
2Copyright 2021 Bryan Ong
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#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x5342
24#define PRODUCT_ID 0x0004
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Sneakbox
27#define PRODUCT AVA
28
29/*Bootmagic boot button, set to topmost, leftmost key */
30#define BOOTMAGIC_LITE_ROW 2
31#define BOOTMAGIC_LITE_COLUMN 0
32
33/* encoder */
34/* #define NUMBER_OF_ENCODERS 1 */
35#define ENCODERS_PAD_A { D3 }
36#define ENCODERS_PAD_B { D2 }
37#define ENCODER_RESOLUTION 1
38
39/* key matrix size */
40#define MATRIX_ROWS 9
41#define MATRIX_COLS 8
42
43/* key matrix pins */
44#define MATRIX_ROW_PINS { F1, E6, F4, B1, F5, B2, F6, B3, B7 }
45#define MATRIX_COL_PINS { F0, D0, C7, C6, B6, B5, B4, D1 }
46#define UNUSED_PINS
47
48/* COL2ROW or ROW2COL */
49#define DIODE_DIRECTION COL2ROW
50
51/* Set 0 if debouncing isn't needed */
52#define DEBOUNCE 5
53
54
55#define LED_NUM_LOCK_PIN D4
56#define LED_CAPS_LOCK_PIN D6
57
58#define RGB_DI_PIN F7
59#define RGBLIGHT_EFFECT_BREATHING
60#define RGBLIGHT_EFFECT_RAINBOW_MOOD
61#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
62#define RGBLIGHT_EFFECT_SNAKE
63#define RGBLIGHT_EFFECT_KNIGHT
64#define RGBLIGHT_EFFECT_CHRISTMAS
65#define RGBLIGHT_EFFECT_STATIC_GRADIENT
66#define RGBLIGHT_EFFECT_RGB_TEST
67#define RGBLIGHT_EFFECT_ALTERNATING
68#define RGBLIGHT_EFFECT_TWINKLE
69#define RGBLED_NUM 14
70#define RGBLIGHT_HUE_STEP 8
71#define RGBLIGHT_SAT_STEP 8
72#define RGBLIGHT_VAL_STEP 8 \ No newline at end of file
diff --git a/keyboards/sneakbox/ava/info.json b/keyboards/sneakbox/ava/info.json
new file mode 100644
index 000000000..61185ff71
--- /dev/null
+++ b/keyboards/sneakbox/ava/info.json
@@ -0,0 +1,27 @@
1{
2 "keyboard_name": "AVA",
3 "url": "https://sneakbox.com",
4 "maintainer": "mujimanic",
5 "width": 18.75,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_alice_split_bs": {
9 "layout": [
10 {"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0},
11 {"x":0, "y":1}, {"x":1.25, "y":1, "w":1.5}, {"x":2.75, "y":1}, {"x":3.75, "y":1}, {"x":4.75, "y":1}, {"x":5.75, "y":1}, {"x":6.75, "y":1}, {"x":9.75, "y":1}, {"x":10.75, "y":1}, {"x":11.75, "y":1}, {"x":12.75, "y":1}, {"x":13.75, "y":1}, {"x":14.75, "y":1}, {"x":15.75, "y":1}, {"x":16.75, "y":1, "w":1.5},
12 {"x":0, "y":2}, {"x":1.25, "y":2, "w":1.75}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":15, "y":2}, {"x":16, "y":2, "w":2.25},
13 {"x":0, "y":3}, {"x":1.25, "y":3, "w":2.25}, {"x":3.5, "y":3}, {"x":4.5, "y":3}, {"x":5.5, "y":3}, {"x":6.5, "y":3}, {"x":7.5, "y":3}, {"x":9.5, "y":3}, {"x":10.5, "y":3}, {"x":11.5, "y":3}, {"x":12.5, "y":3}, {"x":13.5, "y":3}, {"x":14.5, "y":3}, {"x":15.65, "y":3.25}, {"x":16.75, "y":3, "w":1.5},
14 {"x":1.25, "y":4, "w":1.5}, {"x":2.75, "y":4}, {"x":5, "y":4, "w":1.5}, {"x":6.5, "y":4, "w":2.25}, {"x":9.75, "y":4, "w":2.75}, {"x":12.5, "y":4, "w":1}, {"x":14.65, "y":4.25}, {"x":15.65, "y":4.25}, {"x":16.65, "y":4.25}
15 ]
16 },
17 "LAYOUT_alice": {
18 "layout": [
19 {"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0, "w":2},
20 {"x":0, "y":1}, {"x":1.25, "y":1, "w":1.5}, {"x":2.75, "y":1}, {"x":3.75, "y":1}, {"x":4.75, "y":1}, {"x":5.75, "y":1}, {"x":6.75, "y":1}, {"x":9.75, "y":1}, {"x":10.75, "y":1}, {"x":11.75, "y":1}, {"x":12.75, "y":1}, {"x":13.75, "y":1}, {"x":14.75, "y":1}, {"x":15.75, "y":1}, {"x":16.75, "y":1, "w":1.5},
21 {"x":0, "y":2}, {"x":1.25, "y":2, "w":1.75}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":15, "y":2}, {"x":16, "y":2, "w":2.25},
22 {"x":0, "y":3}, {"x":1.25, "y":3, "w":2.25}, {"x":3.5, "y":3}, {"x":4.5, "y":3}, {"x":5.5, "y":3}, {"x":6.5, "y":3}, {"x":7.5, "y":3}, {"x":9.5, "y":3}, {"x":10.5, "y":3}, {"x":11.5, "y":3}, {"x":12.5, "y":3}, {"x":13.5, "y":3}, {"x":14.5, "y":3}, {"x":15.65, "y":3.25}, {"x":16.75, "y":3, "w":1.5},
23 {"x":1.25, "y":4, "w":1.5}, {"x":2.75, "y":4}, {"x":5, "y":4, "w":1.5}, {"x":6.5, "y":4, "w":2.25}, {"x":9.75, "y":4, "w":2.75}, {"x":12.5, "y":4, "w":1}, {"x":14.65, "y":4.25}, {"x":15.65, "y":4.25}, {"x":16.65, "y":4.25}
24 ]
25 }
26 }
27}
diff --git a/keyboards/sneakbox/ava/keymaps/default/keymap.c b/keyboards/sneakbox/ava/keymaps/default/keymap.c
new file mode 100644
index 000000000..a76088794
--- /dev/null
+++ b/keyboards/sneakbox/ava/keymaps/default/keymap.c
@@ -0,0 +1,40 @@
1/*
2Copyright 2021 Bryan Ong
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#include QMK_KEYBOARD_H
19
20// Defines names for use in layer keycodes and the keymap
21enum layer_names {
22 _BASE,
23 _FN
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_BASE] = LAYOUT_alice_split_bs(
28 KC_ESC, KC_GRV, 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_BSPC,
29 KC_PGUP, 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,
30 KC_PGDN, 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_ENT,
31 KC_END, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_DEL,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, LT(_FN, KC_SPC), KC_LEFT, KC_DOWN, KC_RGHT),
33 [_FN] = LAYOUT_alice_split_bs(
34 KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_MOD, RGB_TOG,
36 KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS,
37 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI, KC_TRNS, RGB_HUI,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
39};
40
diff --git a/keyboards/sneakbox/ava/keymaps/via/keymap.c b/keyboards/sneakbox/ava/keymaps/via/keymap.c
new file mode 100644
index 000000000..4f9274f26
--- /dev/null
+++ b/keyboards/sneakbox/ava/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
1/*
2Copyright 2021 Bryan Ong
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#include QMK_KEYBOARD_H
19
20// Defines names for use in layer keycodes and the keymap
21enum layer_names {
22 _BASE,
23 _FN,
24 _L3,
25 _L4
26};
27
28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29
30 [_BASE] = LAYOUT_alice_split_bs(
31 KC_ESC, KC_GRV, 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_BSPC,
32 KC_PGUP, 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,
33 KC_PGDN, 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_ENT,
34 KC_END, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_DEL,
35 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, LT(_FN, KC_SPC), KC_LEFT, KC_DOWN, KC_RGHT),
36 [_FN] = LAYOUT_alice_split_bs(
37 KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_MOD, RGB_TOG,
39 KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS,
40 RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_SAI, KC_TRNS, RGB_HUI,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
42 [_L3] = LAYOUT_alice_split_bs(
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
48 [_L4] = LAYOUT_alice_split_bs(
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
54};
55
diff --git a/keyboards/sneakbox/ava/keymaps/via/rules.mk b/keyboards/sneakbox/ava/keymaps/via/rules.mk
new file mode 100644
index 000000000..036bd6d1c
--- /dev/null
+++ b/keyboards/sneakbox/ava/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/sneakbox/ava/readme.md b/keyboards/sneakbox/ava/readme.md
new file mode 100644
index 000000000..8f65c143f
--- /dev/null
+++ b/keyboards/sneakbox/ava/readme.md
@@ -0,0 +1,15 @@
1# Sneakbox AVA
2
3![Sneakbox AVA](https://i.imgur.com/lVaAmfSh.jpg)
4
5An Alice-like keyboard featuring a blocked arrow cluster in place of the right shift position. The left sided nav cluster contains four keys. Optional pushbutton rotary encoder socket positioned at the top left key position. Firmware covers both soldered and hotswap versions of the PCB.
6
7* Keyboard Maintainer: [mujimanic](https://github.com/mujimanic)
8* Hardware Supported: AVA-compatible keyboard case. This PCB is different from and is not compatible with conventional Alice keyboard cases or Arisu format cases (right sided arrow cluster + right sided nav cluster).
9* Hardware Availability: [sneakbox.design](https://sneakbox.com/collections/frontpage/products/infopre-order-ava-keyboard-shell)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make sneakbox/ava:default
14
15See 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).
diff --git a/keyboards/sneakbox/ava/rules.mk b/keyboards/sneakbox/ava/rules.mk
new file mode 100644
index 000000000..f87f3d95b
--- /dev/null
+++ b/keyboards/sneakbox/ava/rules.mk
@@ -0,0 +1,25 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23ENCODER_ENABLE = yes
24
25LAYOUTS = alice alice_split_bs \ No newline at end of file