diff --git a/keyboards/flxlb/zt60hs/keyboard.json b/keyboards/flxlb/zt60hs/keyboard.json new file mode 100644 index 00000000000..184e67af012 --- /dev/null +++ b/keyboards/flxlb/zt60hs/keyboard.json @@ -0,0 +1,98 @@ +{ + "manufacturer": "flxlb", + "keyboard_name": "ZT60-HS", + "maintainer": "cccywj", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["F7", "F0", "F1", "F4", "F5", "B7", "B3", "B2", "B1", "B0", "B4", "D7", "D6", "D4"], + "rows": ["F6", "B5", "B6", "C6", "C7"] + }, + "processor": "atmega32u4", + "url": "https://www.flxlb.ca", + "usb": { + "device_version": "1.0.0", + "pid": "0x0002", + "vid": "0x7076" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [0, 2], "x": 3.25, "y": 0}, + {"matrix": [0, 3], "x": 4.25, "y": 0}, + {"matrix": [0, 4], "x": 5.25, "y": 0}, + {"matrix": [0, 5], "x": 6.25, "y": 0}, + {"matrix": [0, 6], "x": 7.25, "y": 0}, + {"matrix": [0, 7], "x": 8.25, "y": 0}, + {"matrix": [0, 8], "x": 9.25, "y": 0}, + {"matrix": [0, 9], "x": 10.25, "y": 0}, + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + {"matrix": [2, 12], "x": 15.25, "y": 0}, + {"matrix": [1, 0], "x": 0.75, "y": 1.25, "w": 1.5}, + {"matrix": [1, 1], "x": 2.25, "y": 1.25}, + {"matrix": [1, 2], "x": 3.25, "y": 1.25}, + {"matrix": [1, 3], "x": 4.25, "y": 1.25}, + {"matrix": [1, 4], "x": 5.25, "y": 1.25}, + {"matrix": [1, 5], "x": 6.25, "y": 1.25}, + {"matrix": [1, 6], "x": 7.25, "y": 1.25}, + {"matrix": [1, 7], "x": 8.25, "y": 1.25}, + {"matrix": [1, 8], "x": 9.25, "y": 1.25}, + {"matrix": [1, 9], "x": 10.25, "y": 1.25}, + {"matrix": [1, 10], "x": 11.25, "y": 1.25}, + {"matrix": [1, 11], "x": 12.25, "y": 1.25}, + {"matrix": [1, 12], "x": 13.25, "y": 1.25}, + {"matrix": [1, 13], "x": 14.25, "y": 1.25, "w": 1.5}, + {"matrix": [2, 0], "x": 0.5, "y": 2.25, "w": 1.75}, + {"matrix": [2, 1], "x": 2.25, "y": 2.25}, + {"matrix": [2, 2], "x": 3.25, "y": 2.25}, + {"matrix": [2, 3], "x": 4.25, "y": 2.25}, + {"matrix": [2, 4], "x": 5.25, "y": 2.25}, + {"matrix": [2, 5], "x": 6.25, "y": 2.25}, + {"matrix": [2, 6], "x": 7.25, "y": 2.25}, + {"matrix": [2, 7], "x": 8.25, "y": 2.25}, + {"matrix": [2, 8], "x": 9.25, "y": 2.25}, + {"matrix": [2, 9], "x": 10.25, "y": 2.25}, + {"matrix": [2, 10], "x": 11.25, "y": 2.25}, + {"matrix": [2, 11], "x": 12.25, "y": 2.25}, + {"matrix": [2, 13], "x": 13.25, "y": 2.25, "w": 2.25}, + {"matrix": [3, 0], "x": 0.25, "y": 3.25, "w": 2}, + {"matrix": [3, 1], "x": 2.25, "y": 3.25}, + {"matrix": [3, 2], "x": 3.25, "y": 3.25}, + {"matrix": [3, 3], "x": 4.25, "y": 3.25}, + {"matrix": [3, 4], "x": 5.25, "y": 3.25}, + {"matrix": [3, 5], "x": 6.25, "y": 3.25}, + {"matrix": [3, 6], "x": 7.25, "y": 3.25}, + {"matrix": [3, 7], "x": 8.25, "y": 3.25}, + {"matrix": [3, 8], "x": 9.25, "y": 3.25}, + {"matrix": [3, 9], "x": 10.25, "y": 3.25}, + {"matrix": [3, 10], "x": 11.25, "y": 3.25}, + {"matrix": [3, 11], "x": 12.25, "y": 3.25}, + {"matrix": [3, 12], "x": 13.25, "y": 3.25}, + {"matrix": [3, 13], "x": 14.25, "y": 3.25}, + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4.25, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4.25, "w": 1.25}, + {"matrix": [4, 5], "x": 5, "y": 4.25, "w": 2.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 9], "x": 10, "y": 4.25, "w": 1.25}, + {"matrix": [4, 10], "x": 11.25, "y": 4.25, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4.25, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4.25, "w": 1.25} + ] + } + } +} diff --git a/keyboards/flxlb/zt60hs/keymaps/default/keymap.c b/keyboards/flxlb/zt60hs/keymaps/default/keymap.c new file mode 100644 index 00000000000..2dd4f44a46e --- /dev/null +++ b/keyboards/flxlb/zt60hs/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2025 flxlb (@cccywj) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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_BSPC, KC_DEL, + 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_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_BSPC, KC_RALT, KC_RGUI, MO(2), KC_RCTL + ), + + [1] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_P7, KC_P8, KC_P9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, _______, KC_UP, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT_all( + 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/flxlb/zt60hs/readme.md b/keyboards/flxlb/zt60hs/readme.md new file mode 100644 index 00000000000..af9ec603a98 --- /dev/null +++ b/keyboards/flxlb/zt60hs/readme.md @@ -0,0 +1,27 @@ +# flxlb ZT60 + +![ZT60](https://i.imgur.com/3t3Q4eN.jpeg) + +A premium 60% ortholinear keyboard engineered for both form and function, the ZT60 features a clean ortholinear layout that enhances finger symmetry and ergonomics without compromising usability. Designed with meticulous attention to detail, it supports most standard keycap sets and offers extensive layout customization options, combining versatility with aesthetic elegance. + +* Keyboard Maintainer: [cccywj](https://github.com/cccywj) +* Hardware Supported: ATMEGA32U4 +* Hardware Availability: [flxlb](https://www.flxlb.ca) + +Make example for this keyboard (after setting up your build environment): + + make flxlb/zt60hs:default + +Flashing example for this keyboard: + + make flxlb/zt60hs:default: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 +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available