diff --git a/keyboards/mini49/info.json b/keyboards/mini49/info.json new file mode 100644 index 0000000000..156722ec10 --- /dev/null +++ b/keyboards/mini49/info.json @@ -0,0 +1,81 @@ +{ + "manufacturer": "HSS", + "keyboard_name": "mini49", + "maintainer": "pcs3rd", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], + "rows": ["GP10", "GP11", "GP12", "GP13", "GP14"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xBEEF" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "K04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 }, + { "label": "K05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 }, + { "label": "K06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 }, + { "label": "K07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 }, + { "label": "K08", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 }, + { "label": "K09", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 }, + { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 1 }, + { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 1 }, + { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2, "y": 1 }, + { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3, "y": 1 }, + { "label": "K14", "matrix": [1, 4], "w": 1, "x": 4, "y": 1 }, + { "label": "K15", "matrix": [1, 5], "w": 1, "x": 5, "y": 1 }, + { "label": "K16", "matrix": [1, 6], "w": 1, "x": 6, "y": 1 }, + { "label": "K17", "matrix": [1, 7], "w": 1, "x": 7, "y": 1 }, + { "label": "K18", "matrix": [1, 8], "w": 1, "x": 8, "y": 1 }, + { "label": "K19", "matrix": [1, 9], "w": 1, "x": 9, "y": 1 }, + { "label": "K20", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 }, + { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 }, + { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 }, + { "label": "K23", "matrix": [2, 3], "w": 1, "x": 3, "y": 2 }, + { "label": "K24", "matrix": [2, 4], "w": 1, "x": 4, "y": 2 }, + { "label": "K25", "matrix": [2, 5], "w": 1, "x": 5, "y": 2 }, + { "label": "K26", "matrix": [2, 6], "w": 1, "x": 6, "y": 2 }, + { "label": "K27", "matrix": [2, 7], "w": 1, "x": 7, "y": 2 }, + { "label": "K28", "matrix": [2, 8], "w": 1, "x": 8, "y": 2 }, + { "label": "K29", "matrix": [2, 9], "w": 1, "x": 9, "y": 2 }, + { "label": "K30", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 }, + { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 }, + { "label": "K32", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 }, + { "label": "K33", "matrix": [3, 3], "w": 1, "x": 3, "y": 3 }, + { "label": "K34", "matrix": [3, 4], "w": 1, "x": 4, "y": 3 }, + { "label": "K35", "matrix": [3, 5], "w": 1, "x": 5, "y": 3 }, + { "label": "K36", "matrix": [3, 6], "w": 1, "x": 6, "y": 3 }, + { "label": "K37", "matrix": [3, 7], "w": 1, "x": 7, "y": 3 }, + { "label": "K38", "matrix": [3, 8], "w": 1, "x": 8, "y": 3 }, + { "label": "K39", "matrix": [3, 9], "w": 1, "x": 9, "y": 3 }, + { "label": "K40", "matrix": [4, 0], "w": 1, "x": 0, "y": 4 }, + { "label": "K41", "matrix": [4, 1], "w": 1, "x": 1, "y": 4 }, + { "label": "K42", "matrix": [4, 2], "w": 1, "x": 2, "y": 4 }, + { "label": "K43", "matrix": [4, 3], "w": 1, "x": 3, "y": 4 }, + { "label": "K45", "matrix": [4, 5], "w": 1, "x": 4, "y": 4 }, + { "label": "K46", "matrix": [4, 6], "w": 1, "x": 5, "y": 4 }, + { "label": "K47", "matrix": [4, 7], "w": 1, "x": 6, "y": 4 }, + { "label": "K48", "matrix": [4, 8], "w": 1, "x": 7, "y": 4 }, + { "label": "K49", "matrix": [4, 9], "w": 1, "x": 8, "y": 4 } + ] + } + } + +} diff --git a/keyboards/mini49/keymaps/default/keymap.c b/keyboards/mini49/keymaps/default/keymap.c new file mode 100644 index 0000000000..69a9e21a35 --- /dev/null +++ b/keyboards/mini49/keymaps/default/keymap.c @@ -0,0 +1,11 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC, + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; diff --git a/keyboards/mini49/keymaps/default/rules.mk b/keyboards/mini49/keymaps/default/rules.mk new file mode 100644 index 0000000000..7e4fd5d349 --- /dev/null +++ b/keyboards/mini49/keymaps/default/rules.mk @@ -0,0 +1 @@ +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite diff --git a/keyboards/mini49/keymaps/vial/config.h b/keyboards/mini49/keymaps/vial/config.h new file mode 100644 index 0000000000..2ccfe974e6 --- /dev/null +++ b/keyboards/mini49/keymaps/vial/config.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x5C, 0x8A, 0x21, 0xB3, 0x82, 0x40, 0xF6, 0x11} + +#define VIAL_UNLOCK_COMBO_ROWS {0, 0} +#define VIAL_UNLOCK_COMBO_COLS {0, 9} + +#define DYNAMIC_KEYMAP_MACRO_COUNT 32 +#define DYNAMIC_KEYMAP_LAYER_COUNT 12 + diff --git a/keyboards/mini49/keymaps/vial/keymap.c b/keyboards/mini49/keymaps/vial/keymap.c new file mode 100644 index 0000000000..a412eeb784 --- /dev/null +++ b/keyboards/mini49/keymaps/vial/keymap.c @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC, + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; + diff --git a/keyboards/mini49/keymaps/vial/rules.mk b/keyboards/mini49/keymaps/vial/rules.mk new file mode 100644 index 0000000000..7e2cda2ab0 --- /dev/null +++ b/keyboards/mini49/keymaps/vial/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +MIDI_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mini49/keymaps/vial/vial.json b/keyboards/mini49/keymaps/vial/vial.json new file mode 100644 index 0000000000..40cffe2c13 --- /dev/null +++ b/keyboards/mini49/keymaps/vial/vial.json @@ -0,0 +1,19 @@ +{ + "name": "mini49", + "vendorId": "0xBEEF", + "productId": "0x0000", + "lighting": "none", + "matrix": {"rows": 5, "cols": 10}, + "layouts": { + "keymap": [ + ["0,0","0,1","0,2","0,3","0,4","0,5","0,6","0,7","0,8","0,9"], + ["1,0","1,1","1,2","1,3","1,4","1,5","1,6","1,7","1,8","1,9"], + ["2,0","2,1","2,2","2,3","2,4","2,5","2,6","2,7","2,8","2,9"], + ["3,0","3,1","3,2","3,3","3,4","3,5","3,6","3,7","3,8","3,9"], + ["4,0","4,1","4,2","4,3",{"w": 2 }, "4,5","4,6","4,7","4,8", "4,9"] + ] + }, + "vial": { + "midi": "advanced" + } +} \ No newline at end of file diff --git a/keyboards/mini49/readme.md b/keyboards/mini49/readme.md new file mode 100644 index 0000000000..a68a5ee0fe --- /dev/null +++ b/keyboards/mini49/readme.md @@ -0,0 +1,29 @@ +# mini49 + + +![mini49](https://cloud.stickpile.net/apps/files_sharing/publicpreview/YkYfcoeLRmHpfy2?file=/&fileId=225288&x=1080&y=1920&a=true) + +A sub-60% ortholinear keyboard powered by vial-qmk. + +* Keyboard Maintainer: [Raymond Dean][def] +* Hardware Supported: *RP2040* + +Make example for this keyboard (after setting up your build environment): + + make mini49:vial + +Flashing example for this keyboard: + + make mini49:vial:flash + +See 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). + +## Bootloader + +Enter the bootloader in 3 ways: + +- Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard. Bootmagic is not enabled in the vial layout. +- Physical reset: Hold the BOOT button down while pressing the RESET button. +- Keycode in layout: Press the key mapped to QK_BOOT if it is available + +[def]: https://github.com/pcs3rd diff --git a/keyboards/mini49/rules.mk b/keyboards/mini49/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/keyboards/mini49/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank