Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Keyboard] Add SP-111 v2 keyboard #21652

Merged
merged 16 commits into from
Oct 5, 2023
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions keyboards/viktus/sp111_v2/config.h
drashna marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2023 BlindAssassin111 (@blindassassin111)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

/* Split Defines */
#define SPLIT_USB_DETECT
thompson-ele marked this conversation as resolved.
Show resolved Hide resolved
#define MASTER_LEFT
thompson-ele marked this conversation as resolved.
Show resolved Hide resolved

#ifdef RGB_MATRIX_ENABLE
// The number of LEDs connected
#define RGB_MATRIX_LED_COUNT 3
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_KEYPRESSES
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define EECONFIG_KB_DATA_SIZE 12
drashna marked this conversation as resolved.
Show resolved Hide resolved
#endif

/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/

/* disable debug print */
//#define NO_DEBUG

/* disable print */
//#define NO_PRINT

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
thompson-ele marked this conversation as resolved.
Show resolved Hide resolved
198 changes: 198 additions & 0 deletions keyboards/viktus/sp111_v2/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
{
"manufacturer": "BlindAssassin111",
"keyboard_name": "viktus/sp111_v2",
"maintainer": "blindassassin111",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"matrix_pins": {
"cols": ["C6", "F6", "F5", "F4", "F1", "F7", "B7", "D2", "D3", "D5", "D4"],
"rows": ["C7", "B6", "B5", "B4", "D7", "D6"]
},
"ws2812": {
"pin": "F0"
},
"rgb_matrix": {
"driver": "WS2812",
thompson-ele marked this conversation as resolved.
Show resolved Hide resolved
"max_brightness": 150,
"layout": [
{ "flags": 8, "x": 0, "y": 0 },
{ "flags": 8, "x": 0, "y": 1 },
{ "flags": 8, "x": 0, "y": 2 }
],
"animations": {
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"rainbow_moving_chevron": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true
}
},
"split": {
"enabled": true,
"matrix_pins": {
"right": {
"cols": ["C6", "F1", "B4", "B5", "D2", "D3", "D5", "D4", "D6", "D7"],
"rows": ["C7", "B6", "F4", "F5", "F6", "F7"]
}
},
"transport": {
"protocol": "i2c"
},
"usb_detect": {
"enabled": false
}
thompson-ele marked this conversation as resolved.
Show resolved Hide resolved
},
"url": "https://viktus.design/",
"usb": {
"device_version": "2.0.0",
"pid": "0x5112",
"vid": "0x5644"
},
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "0,0", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
drashna marked this conversation as resolved.
Show resolved Hide resolved
{ "label": "0,1", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
{ "label": "0,2", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
{ "label": "0,3", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
{ "label": "0,4", "matrix": [0, 4], "w": 1, "x": 4.5, "y": 0 },
{ "label": "0,5", "matrix": [0, 5], "w": 1, "x": 5.75, "y": 0 },
{ "label": "0,6", "matrix": [0, 6], "w": 1, "x": 6.75, "y": 0 },
{ "label": "0,7", "matrix": [0, 7], "w": 1, "x": 7.75, "y": 0 },
{ "label": "0,8", "matrix": [0, 8], "w": 1, "x": 8.75, "y": 0 },
{ "label": "0,9", "matrix": [0, 9], "w": 1, "x": 10, "y": 0 },
{ "label": "0,10", "matrix": [0, 10], "w": 1, "x": 11, "y": 0 },
{ "label": "6,0", "matrix": [6, 0], "w": 1, "x": 13, "y": 0 },
{ "label": "6,1", "matrix": [6, 1], "w": 1, "x": 14, "y": 0 },
{ "label": "6,3", "matrix": [6, 3], "w": 1, "x": 15.25, "y": 0 },
{ "label": "6,4", "matrix": [6, 4], "w": 1, "x": 16.25, "y": 0 },
{ "label": "6,5", "matrix": [6, 5], "w": 1, "x": 17.25, "y": 0 },
{ "label": "6,6", "matrix": [6, 6], "w": 1, "x": 18.25, "y": 0 },
{ "label": "6,7", "matrix": [6, 7], "w": 1, "x": 19.5, "y": 0 },
{ "label": "6,8", "matrix": [6, 8], "w": 1, "x": 20.75, "y": 0 },
{ "label": "6,9", "matrix": [6, 9], "w": 1, "x": 21.75, "y": 0 },
{ "label": "1,0", "matrix": [1, 0], "w": 1, "x": 0, "y": 1.5 },
{ "label": "1,1", "matrix": [1, 1], "w": 1, "x": 1, "y": 1.5 },
{ "label": "1,2", "matrix": [1, 2], "w": 1, "x": 2, "y": 1.5 },
{ "label": "1,3", "matrix": [1, 3], "w": 1, "x": 3, "y": 1.5 },
{ "label": "1,4", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1.5 },
{ "label": "1,5", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1.5 },
{ "label": "1,6", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1.5 },
{ "label": "1,7", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1.5 },
{ "label": "1,8", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1.5 },
{ "label": "1,9", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1.5 },
{ "label": "1,10", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1.5 },
{ "label": "7,0", "matrix": [7, 0], "w": 1, "x": 12.5, "y": 1.5 },
{ "label": "7,1", "matrix": [7, 1], "w": 1, "x": 13.5, "y": 1.5 },
{ "label": "7,2", "matrix": [7, 2], "w": 1, "x": 14.5, "y": 1.5 },
{ "label": "7,3", "matrix": [7, 3], "w": 1, "x": 15.5, "y": 1.5 },
{ "label": "7,4", "matrix": [7, 4], "w": 1, "x": 16.5, "y": 1.5 },
{ "label": "7,5", "matrix": [7, 5], "w": 1, "x": 17.5, "y": 1.5 },
{ "label": "7,6", "matrix": [7, 6], "w": 1, "x": 18.5, "y": 1.5 },
{ "label": "7,7", "matrix": [7, 7], "w": 1, "x": 19.5, "y": 1.5 },
{ "label": "7,8", "matrix": [7, 8], "w": 1, "x": 20.75, "y": 1.5 },
{ "label": "7,9", "matrix": [7, 9], "w": 1, "x": 21.75, "y": 1.5 },
{ "label": "2,0", "matrix": [2, 0], "w": 1, "x": 0, "y": 2.5 },
{ "label": "2,1", "matrix": [2, 1], "w": 1, "x": 1, "y": 2.5 },
{ "label": "2,2", "matrix": [2, 2], "w": 1, "x": 2, "y": 2.5 },
{ "label": "2,3", "matrix": [2, 3], "w": 1, "x": 3, "y": 2.5 },
{ "label": "2,4", "matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.5 },
{ "label": "2,5", "matrix": [2, 5], "w": 1, "x": 6, "y": 2.5 },
{ "label": "2,6", "matrix": [2, 6], "w": 1, "x": 7, "y": 2.5 },
{ "label": "2,7", "matrix": [2, 7], "w": 1, "x": 8, "y": 2.5 },
{ "label": "2,8", "matrix": [2, 8], "w": 1, "x": 9, "y": 2.5 },
{ "label": "2,9", "matrix": [2, 9], "w": 1, "x": 10, "y": 2.5 },
{ "label": "8,0", "matrix": [8, 0], "w": 1, "x": 12, "y": 2.5 },
{ "label": "8,1", "matrix": [8, 1], "w": 1, "x": 13, "y": 2.5 },
{ "label": "8,2", "matrix": [8, 2], "w": 1, "x": 14, "y": 2.5 },
{ "label": "8,3", "matrix": [8, 3], "w": 1, "x": 15, "y": 2.5 },
{ "label": "8,4", "matrix": [8, 4], "w": 1, "x": 16, "y": 2.5 },
{ "label": "8,5", "matrix": [8, 5], "w": 1, "x": 17, "y": 2.5 },
{ "label": "8,6", "matrix": [8, 6], "w": 1, "x": 18, "y": 2.5 },
{ "label": "8,7", "matrix": [8, 7], "w": 1.5, "x": 19, "y": 2.5 },
{ "label": "8,8", "matrix": [8, 8], "w": 1, "x": 20.75, "y": 2.5 },
{ "label": "8,9", "matrix": [8, 9], "w": 1, "x": 21.75, "y": 2.5 },
{ "label": "3,0", "matrix": [3, 0], "w": 1, "x": 0, "y": 3.5 },
{ "label": "3,1", "matrix": [3, 1], "w": 1, "x": 1, "y": 3.5 },
{ "label": "3,2", "matrix": [3, 2], "w": 1, "x": 2, "y": 3.5 },
{ "label": "3,3", "matrix": [3, 3], "w": 1, "x": 3, "y": 3.5 },
{ "label": "3,4", "matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.5 },
{ "label": "3,5", "matrix": [3, 5], "w": 1, "x": 6.25, "y": 3.5 },
{ "label": "3,6", "matrix": [3, 6], "w": 1, "x": 7.25, "y": 3.5 },
{ "label": "3,7", "matrix": [3, 7], "w": 1, "x": 8.25, "y": 3.5 },
{ "label": "3,8", "matrix": [3, 8], "w": 1, "x": 9.25, "y": 3.5 },
{ "label": "3,9", "matrix": [3, 9], "w": 1, "x": 10.25, "y": 3.5 },
{ "label": "9,0", "matrix": [9, 0], "w": 1, "x": 12.25, "y": 3.5 },
{ "label": "9,1", "matrix": [9, 1], "w": 1, "x": 13.25, "y": 3.5 },
{ "label": "9,2", "matrix": [9, 2], "w": 1, "x": 14.25, "y": 3.5 },
{ "label": "9,3", "matrix": [9, 3], "w": 1, "x": 15.25, "y": 3.5 },
{ "label": "9,4", "matrix": [9, 4], "w": 1, "x": 16.25, "y": 3.5 },
{ "label": "9,5", "matrix": [9, 5], "w": 1, "x": 17.25, "y": 3.5 },
{ "label": "9,6", "matrix": [9, 6], "w": 1, "x": 18.25, "y": 3.5 },
{ "label": "9,7", "matrix": [9, 7], "w": 1.25, "x": 19.25, "y": 3.5 },
{ "label": "9,8", "matrix": [9, 8], "w": 1, "x": 20.75, "y": 3.5 },
{ "label": "9,9", "matrix": [9, 9], "w": 1, "x": 21.75, "y": 3.5 },
{ "label": "4,0", "matrix": [4, 0], "w": 1, "x": 0, "y": 4.5 },
{ "label": "4,1", "matrix": [4, 1], "w": 1, "x": 1, "y": 4.5 },
{ "label": "4,2", "matrix": [4, 2], "w": 1, "x": 2, "y": 4.5 },
{ "label": "4,3", "matrix": [4, 3], "w": 1, "x": 3, "y": 4.5 },
{ "label": "4,4", "matrix": [4, 4], "w": 1.25, "x": 4.5, "y": 4.5 },
{ "label": "4,5", "matrix": [4, 5], "w": 1, "x": 5.75, "y": 4.5 },
{ "label": "4,6", "matrix": [4, 6], "w": 1, "x": 6.75, "y": 4.5 },
{ "label": "4,7", "matrix": [4, 7], "w": 1, "x": 7.75, "y": 4.5 },
{ "label": "4,8", "matrix": [4, 8], "w": 1, "x": 8.75, "y": 4.5 },
{ "label": "4,9", "matrix": [4, 9], "w": 1, "x": 9.75, "y": 4.5 },
{ "label": "4,10", "matrix": [4, 10], "w": 1, "x": 10.75, "y": 4.5 },
{ "label": "10,1", "matrix": [10, 1], "w": 1, "x": 12.75, "y": 4.5 },
{ "label": "10,1", "matrix": [10, 2], "w": 1, "x": 13.75, "y": 4.5 },
{ "label": "10,2", "matrix": [10, 3], "w": 1, "x": 14.75, "y": 4.5 },
{ "label": "10,3", "matrix": [10, 4], "w": 1, "x": 15.75, "y": 4.5 },
{ "label": "10,4", "matrix": [10, 5], "w": 1, "x": 16.75, "y": 4.5 },
{ "label": "10,6", "matrix": [10, 6], "w": 1.75, "x": 17.75, "y": 4.5 },
{ "label": "10,7", "matrix": [10, 7], "w": 1, "x": 19.5, "y": 4.5 },
{ "label": "10,8", "matrix": [10, 8], "w": 1, "x": 20.75, "y": 4.75 },
{ "label": "5.0", "matrix": [5, 0], "w": 1, "x": 0, "y": 5.5 },
{ "label": "5,1", "matrix": [5, 1], "w": 1, "x": 1, "y": 5.5 },
{ "label": "5,2", "matrix": [5, 2], "w": 1, "x": 2, "y": 5.5 },
{ "label": "5,3", "matrix": [5, 3], "w": 1, "x": 3, "y": 5.5 },
{ "label": "5,4", "matrix": [5, 4], "w": 1.25, "x": 4.5, "y": 5.5 },
{ "label": "5,5", "matrix": [5, 5], "w": 1.25, "x": 5.75, "y": 5.5 },
{ "label": "5,7", "matrix": [5, 7], "w": 1.25, "x": 7, "y": 5.5 },
{ "label": "5,8", "matrix": [5, 8], "w": 1, "x": 8.25, "y": 5.5 },
{ "label": "5,9", "matrix": [5, 9], "w": 2.25, "x": 9.25, "y": 5.5 },
{ "label": "11,2", "matrix": [11, 2], "w": 2.25, "x": 12.5, "y": 5.5 },
{ "label": "11,3", "matrix": [11, 3], "w": 1, "x": 14.75, "y": 5.5 },
{ "label": "11,4", "matrix": [11, 4], "w": 1.25, "x": 15.75, "y": 5.5 },
{ "label": "11,5", "matrix": [11, 5], "w": 1.25, "x": 17, "y": 5.5 },
{ "label": "11,6", "matrix": [11, 6], "w": 1.25, "x": 18.25, "y": 5.5 },
{ "label": "11,7", "matrix": [11, 7], "w": 1, "x": 19.75, "y": 5.75 },
{ "label": "11,8", "matrix": [11, 8], "w": 1, "x": 20.75, "y": 5.75 },
{ "label": "11,9", "matrix": [11, 9], "w": 1, "x": 21.75, "y": 5.75 }
]
}
}
}
49 changes: 49 additions & 0 deletions keyboards/viktus/sp111_v2/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// Copyright 2023 BlindAssassin111 (@blindassassin111)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌──┐┌──┐┌──┐┌──┐ ┌──┐ ┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐ ┌──┐ ┌──┐┌──┐
* │0A││0B││0C││0D│ │0E│ │0F││0G││0H││0I│ │0J││0K│ │6A││6B│ │6D││6E││6F││6G│ │6H│ │6I││6J│
* └──┘└──┘└──┘└──┘ └──┘ └──┘└──┘└──┘└──┘ └──┘└──┘ └──┘└──┘ └──┘└──┘└──┘└──┘ └──┘ └──┘└──┘
* ┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐
* │1A││1B││1C││1D│ │1E││1F││1G││1H││1I││1J││1K│ │7A││7B││7C││7D││7E││7F││7G││7H│ │7I││7J│
* └──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘
* ┌──┐┌──┐┌──┐┌──┐ ┌────┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌────┐ ┌──┐┌──┐
* │2A││2B││2C││2D│ │2E ││2F││2G││2H││2I││2J│ │8A││8B││8C││8D││8E││8F││8G││8H │ │8I││8J│
* └──┘└──┘└──┘└──┘ └────┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└────┘ └──┘└──┘
* ┌──┐┌──┐┌──┐┌──┐ ┌─────┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐┌───┐ ┌──┐┌──┐
* │3A││3B││3C││3D│ │3E ││3F││3G││3H││3I││3J│ │9A││9B││9C││9D││9E││9F││9G││9H │ │9I││9J│
* └──┘└──┘└──┘└──┘ └─────┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└──┘└──┘└───┘ └──┘└──┘
* ┌──┐┌──┐┌──┐┌──┐ ┌───┐┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐┌─────┐┌──┐
* │4A││4B││4C││4D│ │4E ││4F││4G││4H││4I││4J││4K│ │AB││AC││AD││AE││AF││AG ││AH│ ┌──┐
* └──┘└──┘└──┘└──┘ └───┘└──┘└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘└─────┘└──┘ │AI│
* ┌──┐┌──┐┌──┐┌──┐ ┌───┐┌───┐┌───┐┌──┐┌───────┐ ┌───────┐┌──┐┌───┐┌───┐┌───┐ └──┘
* │5A││5B││5C││5D│ │5E ││5F ││5H ││5I││5J │ │BC ││BD││BE ││BF ││BG │ ┌──┐┌──┐┌──┐
* └──┘└──┘└──┘└──┘ └───┘└───┘└───┘└──┘└───────┘ └───────┘└──┘└───┘└───┘└───┘ │BH││BI││BJ│
* └──┘└──┘└──┘
*/
[_BASE] = LAYOUT(
KC_MUTE,KC_MPRV,KC_MPLY,KC_MNXT, KC_ESC, 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_PSCR, KC_SCRL, KC_PAUS,
KC_NUM, KC_PSLS,KC_PAST,KC_PMNS, 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_DEL, KC_HOME, KC_INS,
KC_P7, KC_P8, KC_P9, KC_PPLS, 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, KC_END, KC_DEL,
KC_P4, KC_P5, KC_P6, KC_PEQL, 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_NUHS, KC_ENT, KC_PGUP, KC_PGDN,
KC_P1, KC_P2, KC_P3, KC_PENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP,
KC_P0, KC_P0, KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_MUTE, KC_SPC, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),

[_FN] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
};
6 changes: 6 additions & 0 deletions keyboards/viktus/sp111_v2/keymaps/via/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Copyright 2023 BlindAssassin111 (@blindassassin111)
// SPDX-License-Identifier: GPL-2.0-or-later

thompson-ele marked this conversation as resolved.
Show resolved Hide resolved
#pragma once

#define DYNAMIC_KEYMAP_LAYER_COUNT 3
Loading