diff --git a/keyboards/xbows/knight/config.h b/keyboards/xbows/knight/config.h index b91dd8db66..34f9905502 100644 --- a/keyboards/xbows/knight/config.h +++ b/keyboards/xbows/knight/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1225 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x4B6E #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT KNIGHT diff --git a/keyboards/xbows/knight/keymaps/via/rules.mk b/keyboards/xbows/knight/keymaps/via/rules.mk index 1e5b99807c..36b7ba9cbc 100644 --- a/keyboards/xbows/knight/keymaps/via/rules.mk +++ b/keyboards/xbows/knight/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/xbows/knight/keymaps/vial/config.h b/keyboards/xbows/knight/keymaps/vial/config.h new file mode 100644 index 0000000000..612e927c8c --- /dev/null +++ b/keyboards/xbows/knight/keymaps/vial/config.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +// x-bows knight vial uid +#define VIAL_KEYBOARD_UID {0xA0, 0x52, 0x04, 0xCE, 0x23, 0x45, 0x71, 0x6D} + +// esc and enter +#define VIAL_UNLOCK_COMBO_ROWS {0, 3} +#define VIAL_UNLOCK_COMBO_COLS {0, 13} + + +#ifdef RGB_MATRIX_ENABLE +/* + * 17 RGB effects are pre-defined in /keyboards/xbows/nature/config.h + * add a #undef line below to disable unused RGB effect to release space, e.g., +// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness + + * See https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects for all QMK RGB effects + * add a #define line below to enable other RGB effect, e.g., + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +*/ +// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +#endif diff --git a/keyboards/xbows/knight/keymaps/vial/keymap.c b/keyboards/xbows/knight/keymaps/vial/keymap.c new file mode 100644 index 0000000000..dabbc6c9b3 --- /dev/null +++ b/keyboards/xbows/knight/keymaps/vial/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2021 Shulin Huang + * + * 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 . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap VANILLA: (Base Layer) Default Layer + * + * |---------------------------------------------------------------------------------------------------------------------------------| + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | Prtsc | + * |---------------------------------------------------------------------------------------------------------------------------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | + * |---------------------------------------------------------------------------------------------------------------------------------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | \ | PgUp | + * |---------------------------------------------------------------------------------------------------------------------------------| + * | Ctl | A | S | D | F | G | Bksp | H | J | K | L | ; | '" | Enter | PgDn | + * |---------------------------------------------------------------------------------------------------------------------------------| + * |Shift| Z | X | C | V | B | Enter | N | M | , | . | /? | Shift| | Up | + * |---------------------------------------------------------------------------------------------------------------------------------| + * |Ctrl | GUI | Alter | Space | Ctrl | Shift | Space | Alter | FN | Ctrl | Lft | Dn | Rig | + * |---------------------------------------------------------------------------------------------------------------------------------| + */ + [0] = LAYOUT( + 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_DEL, KC_PSCR, + 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_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_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, + 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_NLCK, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + 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_MUTE, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_MNXT), + [2] = LAYOUT( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [3] = LAYOUT( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/xbows/knight/keymaps/vial/rules.mk b/keyboards/xbows/knight/keymaps/vial/rules.mk new file mode 100644 index 0000000000..8f590a23d7 --- /dev/null +++ b/keyboards/xbows/knight/keymaps/vial/rules.mk @@ -0,0 +1,83 @@ +# X-Bows keyboards V3 uses ATmega32u4 chip, which doesn't have rich storage. +# Some infrequently used features or RGB must be disabled to free space to port to Vial. +# We leaves a comment on each feature about the estimated storage size just for reference. +# See https://get.vial.today/docs/firmware-size.html +# and https://docs.qmk.fm/#/squeezing_avr?id=rulesmk-settings about reducing firmware size + +VIA_ENABLE = yes +VIAL_ENABLE = yes + +# link time optimization to reduce firmware size +LTO_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_grave_esc +# Combine esc, ~, ` to one key. +# - Esc as normal +# hold shift will output tilde ~ +# hold win/command key will output backtick ` +# Disabling it frees 140 b +GRAVE_ESC_ENABLE = yes + + +# N-key rollover +# capable of reporting any number of key-presses at once rather than 6 keys by default +# Disabling it frees 360 bytes +NKRO_ENABLE = yes + + +# Audio control and System control +# Disabling it frees 380 bytes +EXTRAKEY_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_space_cadet +# Combine ctrl/shift/alt and () to one key, e.g., Left Shift when held, ( when tapped +# Disabling it frees 380 bytes +SPACE_CADET_ENABLE = yes + + +# https://docs.qmk.fm/#/keycodes_magic +# Disabling it frees 630 bytes +MAGIC_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_mouse_keys +# Mouse keys +# Disabling it frees 1350 bytes +MOUSEKEY_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_key_overrides +# We won't use key override feature. +# Disabling it frees 2000 bytes +KEY_OVERRIDE_ENABLE = no + + +# https://docs.qmk.fm/#/feature_tap_dance +# allow one key to have 4 functions, e.g., +# - tap sends X, +# - hold sends CTRL, +# - double tap sends Esc, +# - tap+hold sends Alt" +# Disabling it frees 2000 bytes +TAP_DANCE_ENABLE = no + + +# https://docs.qmk.fm/#/feature_combo +# E.g. tap D and F within 500ms will give Esc +# Disabling it frees 2500 bytes +COMBO_ENABLE = no + + +# Configure more QMK setting. +# E.g. press a key longer than 200ms by default is treated as a hold action. We can change it to 500ms. +# You can enable auto shift feature. E.g. press 2 longer than 200ms gives @ +# Enable it and go to Vial to see more features +# Disabling it frees 3300 bytes +QMK_SETTINGS = no + + +# set to no to disable RGB +# see config.h to enable/disable some RGB effects +RGB_MATRIX_ENABLE = yes diff --git a/keyboards/xbows/knight/keymaps/vial/vial.json b/keyboards/xbows/knight/keymaps/vial/vial.json new file mode 100644 index 0000000000..da61bc0602 --- /dev/null +++ b/keyboards/xbows/knight/keymaps/vial/vial.json @@ -0,0 +1,190 @@ +{ + "name": "Knight", + "vendorId": "0x5842", + "productId": "0x4B6E", + "lighting": "none", + "matrix": { "rows": 6, "cols": 15 }, + "layouts": { + "keymap": [ + [ + { + "c": "#777777" + }, + "0,0", + { + "c": "#cccccc", + "x": 0.25 + }, + "0,1", + "0,2", + "0,3", + "0,4", + { + "c": "#aaaaaa", + "x": 0.25 + }, + "0,5", + "0,6", + "0,7", + "0,8", + { + "x": 0.25 + }, + "0,9", + "0,10", + "0,11", + "0,12", + { + "x": 0.25, + "w": 2 + }, + "0,13", + { + "w": 2 + }, + "0,14" + ], + [ + { + "y": 0.25 + }, + "1,0", + "1,1", + "1,2", + "1,3", + "1,4", + "1,5", + { + "x": 3 + }, + "1,7", + "1,8", + "1,9", + "1,10", + "1,11", + "1,12", + "1,13", + { + "w": 2 + }, + "1,14" + ], + [ + "2,0", + "2,1", + "2,2", + "2,3", + "2,4", + "2,5", + { + "x": 3 + }, + "2,7", + "2,8", + "2,9", + "2,10", + "2,11", + "2,12", + "2,13", + "2,14", + "2,6" + ], + [ + "3,0", + "3,1", + "3,2", + "3,3", + "3,4", + "3,5", + { + "c": "#777777", + "x": 0.75, + "w": 1.5 + }, + "3,6", + { + "c": "#cccccc", + "x": 0.75 + }, + "3,7", + "3,8", + "3,9", + "3,10", + "3,11", + "3,12", + { + "c": "#aaaaaa", + "w": 2 + }, + "3,13", + "3,14" + ], + [ + "4,0", + "4,1", + "4,2", + "4,3", + "4,4", + "4,5", + { + "c": "#777777", + "x": 0.5, + "w": 2 + }, + "4,6", + { + "c": "#cccccc", + "x": 0.5 + }, + "4,7", + "4,8", + "4,9", + "4,10", + "4,11", + "4,12", + { + "c": "#aaaaaa", + "x": 1 + }, + "4,13" + ], + [ + "5,0", + "5,1", + { + "w": 2 + }, + "5,2", + { + "w": 2 + }, + "5,4", + { + "c": "#777777", + "w": 1.5 + }, + "5,5", + { + "w": 1.5 + }, + "5,6", + { + "c": "#cccccc", + "w": 2 + }, + "5,7", + { + "c": "#aaaaaa", + "w": 2 + }, + "5,9", + "5,10", + "5,11", + "5,12", + "5,13", + "5,14" + ] + ] + + } +} diff --git a/keyboards/xbows/knight_plus/config.h b/keyboards/xbows/knight_plus/config.h index add7d53679..e844844821 100644 --- a/keyboards/xbows/knight_plus/config.h +++ b/keyboards/xbows/knight_plus/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1227 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x4B50 #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT KNIGHT_PLUS diff --git a/keyboards/xbows/knight_plus/keymaps/via/rules.mk b/keyboards/xbows/knight_plus/keymaps/via/rules.mk index 1e5b99807c..36b7ba9cbc 100644 --- a/keyboards/xbows/knight_plus/keymaps/via/rules.mk +++ b/keyboards/xbows/knight_plus/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/xbows/knight_plus/keymaps/vial/config.h b/keyboards/xbows/knight_plus/keymaps/vial/config.h new file mode 100644 index 0000000000..9317fef63b --- /dev/null +++ b/keyboards/xbows/knight_plus/keymaps/vial/config.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +// x-bows knight plus vial uid +#define VIAL_KEYBOARD_UID {0x0D, 0xB9, 0x5E, 0x89, 0x17, 0x3E, 0xE5, 0xFD} + +// esc and enter +#define VIAL_UNLOCK_COMBO_ROWS {0, 3} +#define VIAL_UNLOCK_COMBO_COLS {0, 13} + + +#ifdef RGB_MATRIX_ENABLE +/* + * 17 RGB effects are pre-defined in /keyboards/xbows/nature/config.h + * add a #undef line below to disable unused RGB effect to release space, e.g., +// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness + + * See https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects for all QMK RGB effects + * add a #define line below to enable other RGB effect, e.g., + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +*/ +// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +#endif diff --git a/keyboards/xbows/knight_plus/keymaps/vial/keymap.c b/keyboards/xbows/knight_plus/keymaps/vial/keymap.c new file mode 100644 index 0000000000..dabbc6c9b3 --- /dev/null +++ b/keyboards/xbows/knight_plus/keymaps/vial/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2021 Shulin Huang + * + * 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 . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap VANILLA: (Base Layer) Default Layer + * + * |---------------------------------------------------------------------------------------------------------------------------------| + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | Prtsc | + * |---------------------------------------------------------------------------------------------------------------------------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | + * |---------------------------------------------------------------------------------------------------------------------------------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | \ | PgUp | + * |---------------------------------------------------------------------------------------------------------------------------------| + * | Ctl | A | S | D | F | G | Bksp | H | J | K | L | ; | '" | Enter | PgDn | + * |---------------------------------------------------------------------------------------------------------------------------------| + * |Shift| Z | X | C | V | B | Enter | N | M | , | . | /? | Shift| | Up | + * |---------------------------------------------------------------------------------------------------------------------------------| + * |Ctrl | GUI | Alter | Space | Ctrl | Shift | Space | Alter | FN | Ctrl | Lft | Dn | Rig | + * |---------------------------------------------------------------------------------------------------------------------------------| + */ + [0] = LAYOUT( + 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_DEL, KC_PSCR, + 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_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_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, + 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_NLCK, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + 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_MUTE, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_MNXT), + [2] = LAYOUT( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [3] = LAYOUT( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/xbows/knight_plus/keymaps/vial/rules.mk b/keyboards/xbows/knight_plus/keymaps/vial/rules.mk new file mode 100644 index 0000000000..8f590a23d7 --- /dev/null +++ b/keyboards/xbows/knight_plus/keymaps/vial/rules.mk @@ -0,0 +1,83 @@ +# X-Bows keyboards V3 uses ATmega32u4 chip, which doesn't have rich storage. +# Some infrequently used features or RGB must be disabled to free space to port to Vial. +# We leaves a comment on each feature about the estimated storage size just for reference. +# See https://get.vial.today/docs/firmware-size.html +# and https://docs.qmk.fm/#/squeezing_avr?id=rulesmk-settings about reducing firmware size + +VIA_ENABLE = yes +VIAL_ENABLE = yes + +# link time optimization to reduce firmware size +LTO_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_grave_esc +# Combine esc, ~, ` to one key. +# - Esc as normal +# hold shift will output tilde ~ +# hold win/command key will output backtick ` +# Disabling it frees 140 b +GRAVE_ESC_ENABLE = yes + + +# N-key rollover +# capable of reporting any number of key-presses at once rather than 6 keys by default +# Disabling it frees 360 bytes +NKRO_ENABLE = yes + + +# Audio control and System control +# Disabling it frees 380 bytes +EXTRAKEY_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_space_cadet +# Combine ctrl/shift/alt and () to one key, e.g., Left Shift when held, ( when tapped +# Disabling it frees 380 bytes +SPACE_CADET_ENABLE = yes + + +# https://docs.qmk.fm/#/keycodes_magic +# Disabling it frees 630 bytes +MAGIC_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_mouse_keys +# Mouse keys +# Disabling it frees 1350 bytes +MOUSEKEY_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_key_overrides +# We won't use key override feature. +# Disabling it frees 2000 bytes +KEY_OVERRIDE_ENABLE = no + + +# https://docs.qmk.fm/#/feature_tap_dance +# allow one key to have 4 functions, e.g., +# - tap sends X, +# - hold sends CTRL, +# - double tap sends Esc, +# - tap+hold sends Alt" +# Disabling it frees 2000 bytes +TAP_DANCE_ENABLE = no + + +# https://docs.qmk.fm/#/feature_combo +# E.g. tap D and F within 500ms will give Esc +# Disabling it frees 2500 bytes +COMBO_ENABLE = no + + +# Configure more QMK setting. +# E.g. press a key longer than 200ms by default is treated as a hold action. We can change it to 500ms. +# You can enable auto shift feature. E.g. press 2 longer than 200ms gives @ +# Enable it and go to Vial to see more features +# Disabling it frees 3300 bytes +QMK_SETTINGS = no + + +# set to no to disable RGB +# see config.h to enable/disable some RGB effects +RGB_MATRIX_ENABLE = yes diff --git a/keyboards/xbows/knight_plus/keymaps/vial/vial.json b/keyboards/xbows/knight_plus/keymaps/vial/vial.json new file mode 100644 index 0000000000..12594e0371 --- /dev/null +++ b/keyboards/xbows/knight_plus/keymaps/vial/vial.json @@ -0,0 +1,190 @@ +{ + "name": "Knight-Plus", + "vendorId": "0x5842", + "productId": "0x4B50", + "lighting": "none", + "matrix": { "rows": 6, "cols": 15 }, + "layouts": { + "keymap": [ + [ + { + "c": "#777777" + }, + "0,0", + { + "c": "#cccccc", + "x": 0.25 + }, + "0,1", + "0,2", + "0,3", + "0,4", + { + "c": "#aaaaaa", + "x": 0.25 + }, + "0,5", + "0,6", + "0,7", + "0,8", + { + "x": 0.25 + }, + "0,9", + "0,10", + "0,11", + "0,12", + { + "x": 0.25, + "w": 2 + }, + "0,13", + { + "w": 2 + }, + "0,14" + ], + [ + { + "y": 0.25 + }, + "1,0", + "1,1", + "1,2", + "1,3", + "1,4", + "1,5", + { + "x": 3 + }, + "1,7", + "1,8", + "1,9", + "1,10", + "1,11", + "1,12", + "1,13", + { + "w": 2 + }, + "1,14" + ], + [ + "2,0", + "2,1", + "2,2", + "2,3", + "2,4", + "2,5", + { + "x": 3 + }, + "2,6", + "2,7", + "2,8", + "2,9", + "2,10", + "2,11", + "2,12", + "2,13", + "2,14" + ], + [ + "3,0", + "3,1", + "3,2", + "3,3", + "3,4", + "3,5", + { + "c": "#777777", + "x": 0.75, + "w": 1.5 + }, + "3,6", + { + "c": "#cccccc", + "x": 0.75 + }, + "3,7", + "3,8", + "3,9", + "3,10", + "3,11", + "3,12", + { + "c": "#aaaaaa", + "w": 2 + }, + "3,13", + "3,14" + ], + [ + "4,0", + "4,1", + "4,2", + "4,3", + "4,4", + "4,5", + { + "c": "#777777", + "x": 0.5, + "w": 2 + }, + "4,6", + { + "c": "#cccccc", + "x": 0.5 + }, + "4,7", + "4,8", + "4,9", + "4,10", + "4,11", + "4,12", + { + "c": "#aaaaaa", + "x": 1 + }, + "4,13" + ], + [ + "5,0", + "5,1", + { + "w": 2 + }, + "5,2", + { + "w": 2 + }, + "5,4", + { + "c": "#777777", + "w": 1.5 + }, + "5,5", + { + "w": 1.5 + }, + "5,6", + { + "c": "#cccccc", + "w": 2 + }, + "5,7", + { + "c": "#aaaaaa", + "w": 2 + }, + "5,9", + "5,10", + "5,11", + "5,12", + "5,13", + "5,14" + ] + ] + + } +} diff --git a/keyboards/xbows/nature/config.h b/keyboards/xbows/nature/config.h index 2395ae778c..44aaa590ed 100644 --- a/keyboards/xbows/nature/config.h +++ b/keyboards/xbows/nature/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1226 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x4E61 #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT NATURE @@ -39,7 +39,7 @@ # define RGB_MATRIX_LED_FLUSH_LIMIT 16 # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -// # define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_CENTER \ { 92, 33 } diff --git a/keyboards/xbows/nature/keymaps/via/rules.mk b/keyboards/xbows/nature/keymaps/via/rules.mk index 1e5b99807c..36b7ba9cbc 100644 --- a/keyboards/xbows/nature/keymaps/via/rules.mk +++ b/keyboards/xbows/nature/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/xbows/nature/keymaps/vial/config.h b/keyboards/xbows/nature/keymaps/vial/config.h new file mode 100644 index 0000000000..340b2b4cfa --- /dev/null +++ b/keyboards/xbows/nature/keymaps/vial/config.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +// x-bows nature vial uid +#define VIAL_KEYBOARD_UID {0x7E, 0x49, 0xEB, 0x6F, 0xA4, 0x26, 0x44, 0x1C} + +// esc and enter +#define VIAL_UNLOCK_COMBO_ROWS {0, 3} +#define VIAL_UNLOCK_COMBO_COLS {0, 13} + + +#ifdef RGB_MATRIX_ENABLE +/* + * 17 RGB effects are pre-defined in /keyboards/xbows/nature/config.h + * add a #undef line below to disable unused RGB effect to release space, e.g., +// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness + + * See https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects for all QMK RGB effects + * add a #define line below to enable other RGB effect, e.g., + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +*/ +// #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +#endif diff --git a/keyboards/xbows/nature/keymaps/vial/keymap.c b/keyboards/xbows/nature/keymaps/vial/keymap.c new file mode 100644 index 0000000000..dabbc6c9b3 --- /dev/null +++ b/keyboards/xbows/nature/keymaps/vial/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2021 Shulin Huang + * + * 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 . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap VANILLA: (Base Layer) Default Layer + * + * |---------------------------------------------------------------------------------------------------------------------------------| + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | Prtsc | + * |---------------------------------------------------------------------------------------------------------------------------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | + * |---------------------------------------------------------------------------------------------------------------------------------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | ] | \ | PgUp | + * |---------------------------------------------------------------------------------------------------------------------------------| + * | Ctl | A | S | D | F | G | Bksp | H | J | K | L | ; | '" | Enter | PgDn | + * |---------------------------------------------------------------------------------------------------------------------------------| + * |Shift| Z | X | C | V | B | Enter | N | M | , | . | /? | Shift| | Up | + * |---------------------------------------------------------------------------------------------------------------------------------| + * |Ctrl | GUI | Alter | Space | Ctrl | Shift | Space | Alter | FN | Ctrl | Lft | Dn | Rig | + * |---------------------------------------------------------------------------------------------------------------------------------| + */ + [0] = LAYOUT( + 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_DEL, KC_PSCR, + 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_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_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LCTL, KC_LSFT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, NK_TOGG, EEP_RST, + 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_NLCK, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, + 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_MUTE, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_MNXT), + [2] = LAYOUT( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [3] = LAYOUT( + 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, 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, 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, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/xbows/nature/keymaps/vial/rules.mk b/keyboards/xbows/nature/keymaps/vial/rules.mk new file mode 100644 index 0000000000..8f590a23d7 --- /dev/null +++ b/keyboards/xbows/nature/keymaps/vial/rules.mk @@ -0,0 +1,83 @@ +# X-Bows keyboards V3 uses ATmega32u4 chip, which doesn't have rich storage. +# Some infrequently used features or RGB must be disabled to free space to port to Vial. +# We leaves a comment on each feature about the estimated storage size just for reference. +# See https://get.vial.today/docs/firmware-size.html +# and https://docs.qmk.fm/#/squeezing_avr?id=rulesmk-settings about reducing firmware size + +VIA_ENABLE = yes +VIAL_ENABLE = yes + +# link time optimization to reduce firmware size +LTO_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_grave_esc +# Combine esc, ~, ` to one key. +# - Esc as normal +# hold shift will output tilde ~ +# hold win/command key will output backtick ` +# Disabling it frees 140 b +GRAVE_ESC_ENABLE = yes + + +# N-key rollover +# capable of reporting any number of key-presses at once rather than 6 keys by default +# Disabling it frees 360 bytes +NKRO_ENABLE = yes + + +# Audio control and System control +# Disabling it frees 380 bytes +EXTRAKEY_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_space_cadet +# Combine ctrl/shift/alt and () to one key, e.g., Left Shift when held, ( when tapped +# Disabling it frees 380 bytes +SPACE_CADET_ENABLE = yes + + +# https://docs.qmk.fm/#/keycodes_magic +# Disabling it frees 630 bytes +MAGIC_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_mouse_keys +# Mouse keys +# Disabling it frees 1350 bytes +MOUSEKEY_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_key_overrides +# We won't use key override feature. +# Disabling it frees 2000 bytes +KEY_OVERRIDE_ENABLE = no + + +# https://docs.qmk.fm/#/feature_tap_dance +# allow one key to have 4 functions, e.g., +# - tap sends X, +# - hold sends CTRL, +# - double tap sends Esc, +# - tap+hold sends Alt" +# Disabling it frees 2000 bytes +TAP_DANCE_ENABLE = no + + +# https://docs.qmk.fm/#/feature_combo +# E.g. tap D and F within 500ms will give Esc +# Disabling it frees 2500 bytes +COMBO_ENABLE = no + + +# Configure more QMK setting. +# E.g. press a key longer than 200ms by default is treated as a hold action. We can change it to 500ms. +# You can enable auto shift feature. E.g. press 2 longer than 200ms gives @ +# Enable it and go to Vial to see more features +# Disabling it frees 3300 bytes +QMK_SETTINGS = no + + +# set to no to disable RGB +# see config.h to enable/disable some RGB effects +RGB_MATRIX_ENABLE = yes diff --git a/keyboards/xbows/nature/keymaps/vial/vial.json b/keyboards/xbows/nature/keymaps/vial/vial.json new file mode 100644 index 0000000000..ba6f8ab43b --- /dev/null +++ b/keyboards/xbows/nature/keymaps/vial/vial.json @@ -0,0 +1,190 @@ +{ + "name": "Nature", + "vendorId": "0x5842", + "productId": "0x4E61", + "lighting": "none", + "matrix": { "rows": 6, "cols": 15 }, + "layouts": { + "keymap": [ + [ + { + "c": "#777777" + }, + "0,0", + { + "c": "#cccccc", + "x": 0.25 + }, + "0,1", + "0,2", + "0,3", + "0,4", + { + "c": "#aaaaaa", + "x": 0.25 + }, + "0,5", + "0,6", + "0,7", + "0,8", + { + "x": 0.25 + }, + "0,9", + "0,10", + "0,11", + "0,12", + { + "x": 0.25, + "w": 2 + }, + "0,13", + { + "w": 2 + }, + "0,14" + ], + [ + { + "y": 0.25 + }, + "1,0", + "1,1", + "1,2", + "1,3", + "1,4", + "1,5", + { + "x": 3 + }, + "1,7", + "1,8", + "1,9", + "1,10", + "1,11", + "1,12", + "1,13", + { + "w": 2 + }, + "1,14" + ], + [ + "2,0", + "2,1", + "2,2", + "2,3", + "2,4", + "2,5", + { + "x": 3 + }, + "2,7", + "2,8", + "2,9", + "2,10", + "2,11", + "2,12", + "2,13", + "2,14", + "2,6" + ], + [ + "3,0", + "3,1", + "3,2", + "3,3", + "3,4", + "3,5", + { + "c": "#777777", + "x": 0.75, + "w": 1.5 + }, + "3,6", + { + "c": "#cccccc", + "x": 0.75 + }, + "3,7", + "3,8", + "3,9", + "3,10", + "3,11", + "3,12", + { + "c": "#aaaaaa", + "w": 2 + }, + "3,13", + "3,14" + ], + [ + "4,0", + "4,1", + "4,2", + "4,3", + "4,4", + "4,5", + { + "c": "#777777", + "x": 0.5, + "w": 2 + }, + "4,6", + { + "c": "#cccccc", + "x": 0.5 + }, + "4,7", + "4,8", + "4,9", + "4,10", + "4,11", + "4,12", + { + "c": "#aaaaaa", + "x": 1 + }, + "4,13" + ], + [ + "5,0", + "5,1", + { + "w": 2 + }, + "5,2", + { + "w": 2 + }, + "5,4", + { + "c": "#777777", + "w": 1.5 + }, + "5,5", + { + "w": 1.5 + }, + "5,6", + { + "c": "#cccccc", + "w": 2 + }, + "5,7", + { + "c": "#aaaaaa", + "w": 2 + }, + "5,9", + "5,10", + "5,11", + "5,12", + "5,13", + "5,14" + ] + ] + + } +} diff --git a/keyboards/xbows/nature/rules.mk b/keyboards/xbows/nature/rules.mk index 5ff72e1df8..9dec74c970 100644 --- a/keyboards/xbows/nature/rules.mk +++ b/keyboards/xbows/nature/rules.mk @@ -16,6 +16,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output -SLEEP_LED_ENABLE = yes RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = IS31FL3731 diff --git a/keyboards/xbows/numpad/config.h b/keyboards/xbows/numpad/config.h index 96dff5241a..9e65e4340c 100644 --- a/keyboards/xbows/numpad/config.h +++ b/keyboards/xbows/numpad/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1228 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x4E75 #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT NUMPAD diff --git a/keyboards/xbows/numpad/keymaps/via/rules.mk b/keyboards/xbows/numpad/keymaps/via/rules.mk index 1e5b99807c..36b7ba9cbc 100644 --- a/keyboards/xbows/numpad/keymaps/via/rules.mk +++ b/keyboards/xbows/numpad/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/xbows/numpad/keymaps/vial/config.h b/keyboards/xbows/numpad/keymaps/vial/config.h new file mode 100644 index 0000000000..1592f51fb2 --- /dev/null +++ b/keyboards/xbows/numpad/keymaps/vial/config.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +// x-bows knight plus numpad vial uid +#define VIAL_KEYBOARD_UID {0xEB, 0x6B, 0x57, 0xE0, 0x04, 0x41, 0xE1, 0x15} + +// esc and enter +#define VIAL_UNLOCK_COMBO_ROWS {0, 4} +#define VIAL_UNLOCK_COMBO_COLS {0, 3} diff --git a/keyboards/xbows/numpad/keymaps/vial/keymap.c b/keyboards/xbows/numpad/keymaps/vial/keymap.c new file mode 100644 index 0000000000..6b122cc5d0 --- /dev/null +++ b/keyboards/xbows/numpad/keymaps/vial/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2021 Shulin Huang + * + * 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 . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap VANILLA: (Base Layer) Default Layer + * + * |-------------------------------| + * | Esc | Tab | BS | Fn | + * |-------------------------------| + * | NUM | / | * | = | + * |-------------------------------| + * | 7 | 8 | 9 | - | + * |-------------------------------| + * | 4 | 5 | 6 | + | + * |-------------------------------| + * | 1 | 2 | 3 | ENTER | + * |-------------------------------| + * | 0 | . | + * |-----------------------| + */ + [0] = LAYOUT( + KC_ESC , KC_TAB, KC_BSPC, MO(1), + KC_NLCK, KC_PSLS, KC_PAST, KC_EQL, + KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_PDOT), + [1] = LAYOUT( + RESET, EEP_RST, KC_TRNS, KC_TRNS, + KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, + RGB_MOD, RGB_VAI, RGB_HUI, KC_VOLD, + RGB_SPD, RGB_TOG, RGB_SPI, KC_VOLU, + KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS), + [2] = LAYOUT( + 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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS), + [3] = LAYOUT( + 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, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/xbows/numpad/keymaps/vial/rules.mk b/keyboards/xbows/numpad/keymaps/vial/rules.mk new file mode 100644 index 0000000000..b98046fa0f --- /dev/null +++ b/keyboards/xbows/numpad/keymaps/vial/rules.mk @@ -0,0 +1,83 @@ +# X-Bows keyboards V3 uses ATmega32u4 chip, which doesn't have rich storage. +# Some infrequently used features or RGB must be disabled to free space to port to Vial. +# We leaves a comment on each feature about the estimated storage size just for reference. +# See https://get.vial.today/docs/firmware-size.html +# and https://docs.qmk.fm/#/squeezing_avr?id=rulesmk-settings about reducing firmware size + +VIA_ENABLE = yes +VIAL_ENABLE = yes + +# link time optimization to reduce firmware size +LTO_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_grave_esc +# Combine esc, ~, ` to one key. +# - Esc as normal +# hold shift will output tilde ~ +# hold win/command key will output backtick ` +# Disabling it frees 140 b +GRAVE_ESC_ENABLE = yes + + +# N-key rollover +# capable of reporting any number of key-presses at once rather than 6 keys by default +# Disabling it frees 360 bytes +NKRO_ENABLE = yes + + +# Audio control and System control +# Disabling it frees 380 bytes +EXTRAKEY_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_space_cadet +# Combine ctrl/shift/alt and () to one key, e.g., Left Shift when held, ( when tapped +# Disabling it frees 380 bytes +SPACE_CADET_ENABLE = yes + + +# https://docs.qmk.fm/#/keycodes_magic +# Disabling it frees 630 bytes +MAGIC_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_mouse_keys +# Mouse keys +# Disabling it frees 1350 bytes +MOUSEKEY_ENABLE = yes + + +# https://docs.qmk.fm/#/feature_key_overrides +# We won't use key override feature. +# Disabling it frees 2000 bytes +KEY_OVERRIDE_ENABLE = no + + +# https://docs.qmk.fm/#/feature_tap_dance +# allow one key to have 4 functions, e.g., +# - tap sends X, +# - hold sends CTRL, +# - double tap sends Esc, +# - tap+hold sends Alt" +# Disabling it frees 2000 bytes +TAP_DANCE_ENABLE = no + + +# https://docs.qmk.fm/#/feature_combo +# E.g. tap D and F within 500ms will give Esc +# Disabling it frees 2500 bytes +COMBO_ENABLE = no + + +# Configure more QMK setting. +# E.g. press a key longer than 200ms by default is treated as a hold action. We can change it to 500ms. +# You can enable auto shift feature. E.g. press 2 longer than 200ms gives @ +# Enable it and go to Vial to see more features +# Disabling it frees 3300 bytes +QMK_SETTINGS = yes + + +# set to no to disable RGB +# see config.h to enable/disable some RGB effects +RGB_MATRIX_ENABLE = yes diff --git a/keyboards/xbows/numpad/keymaps/vial/vial.json b/keyboards/xbows/numpad/keymaps/vial/vial.json new file mode 100644 index 0000000000..1ded75da3e --- /dev/null +++ b/keyboards/xbows/numpad/keymaps/vial/vial.json @@ -0,0 +1,62 @@ +{ + "name": "Numpad", + "vendorId": "0x5842", + "productId": "0x4E75", + "lighting": "none", + "matrix": { "rows": 6, "cols": 4 }, + "layouts": { + "keymap": [ + [ + { + "c": "#777777" + }, + "0,0", + { + "c": "#cccccc" + }, + "0,1", + "0,2", + "0,3" + ], + [ + { + "c": "#aaaaaa", + "y": 0.5 + }, + "1,0", + "1,1", + "1,2", + "1,3" + ], + [ + "2,0", + "2,1", + "2,2", + "2,3" + ], + [ + "3,0", + "3,1", + "3,2", + "3,3" + ], + [ + "4,0", + "4,1", + "4,2", + { + "h": 2 + }, + "4,3" + ], + [ + { + "w": 2 + }, + "5,0", + "5,2" + ] + ] + + } +} diff --git a/keyboards/xbows/ranger/config.h b/keyboards/xbows/ranger/config.h index e5b9764074..b159c1e067 100644 --- a/keyboards/xbows/ranger/config.h +++ b/keyboards/xbows/ranger/config.h @@ -17,8 +17,8 @@ #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1229 +#define VENDOR_ID 0x5842 +#define PRODUCT_ID 0x5261 #define DEVICE_VER 0x0001 #define MANUFACTURER X-BOWS #define PRODUCT Ranger diff --git a/keyboards/xbows/ranger/keymaps/via/rules.mk b/keyboards/xbows/ranger/keymaps/via/rules.mk index 1e5b99807c..36b7ba9cbc 100644 --- a/keyboards/xbows/ranger/keymaps/via/rules.mk +++ b/keyboards/xbows/ranger/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +LTO_ENABLE = yes