Compare commits

...
Sign in to create a new pull request.
Author SHA1 Message Date
dependabot[bot]
31481c6e2b
Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-20 19:05:09 +00:00
andrew morton
0fde9c9cac
[Keyboard] Add Coffee Break Keyboards Acai (#25796)
* Add support for Coffee Break Keyboards Acai

* Apply suggestions from code review

Co-authored-by: Jack Sangdahl <jack@pngu.org>

* Ran qmk format-json

* Misssed one of @waffle87's suggestions

* Misssed another of @waffle87's suggestions

* Try hosting on imgur.com

* Remove empty layers, add boot to layer 2

* Enhance the default keymap

* Use correct keycodes for RGB

---------

Co-authored-by: Jack Sangdahl <jack@pngu.org>
2025-11-18 20:50:47 -07:00
Joel Challis
5bb7476400
Short term fix for skip_converter KeyError in 'qmk userspace-add' (#25798) 2025-11-19 03:45:29 +00:00
yiancar
6242c09f7d
Hyper7 v4 (#25728) 2025-11-17 02:10:59 +00:00
Ivan Gromov
eb5703d12e
Add imi60-HS (#25773) 2025-11-17 02:09:09 +00:00
Joel Challis
bb2ca21647
Fix detection of hid bootloader flashing tool (#25790) 2025-11-17 02:06:59 +00:00
26 changed files with 1160 additions and 17 deletions

View file

@ -25,7 +25,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 1
persist-credentials: false

View file

@ -28,7 +28,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0

View file

@ -45,7 +45,7 @@ jobs:
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Determine concurrency
id: generate_slice_length
@ -82,7 +82,7 @@ jobs:
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

View file

@ -37,7 +37,7 @@ jobs:
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Generate build targets
id: generate_targets
@ -89,7 +89,7 @@ jobs:
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Get target definitions
uses: actions/download-artifact@v6
@ -136,7 +136,7 @@ jobs:
steps:
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Download firmwares
uses: actions/download-artifact@v6

View file

@ -24,7 +24,7 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
submodules: recursive

View file

@ -15,7 +15,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
fetch-depth: 0

View file

@ -30,7 +30,7 @@ jobs:
container: ghcr.io/qmk/qmk_cli
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 1

View file

@ -21,7 +21,7 @@ jobs:
- riot
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
fetch-depth: 0

View file

@ -26,7 +26,7 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0

View file

@ -19,7 +19,7 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0

View file

@ -18,7 +18,7 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0

View file

@ -19,7 +19,7 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Run qmk generators
run: |

View file

@ -19,7 +19,7 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Run qmk generators
run: |

View file

@ -26,7 +26,7 @@ jobs:
container: ghcr.io/qmk/qmk_cli
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
submodules: recursive
- name: Install dependencies

View file

@ -0,0 +1,174 @@
{
"manufacturer": "CoffeeBreakKeyboards",
"keyboard_name": "Acai",
"maintainer": "CoffeeBreakKeyboards",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"dynamic_keymap": {
"layer_count": 6
},
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"matrix_pins": {
"cols": ["GP25", "GP24", "GP23", "GP20", "GP18", "GP7", "GP6", "GP5", "GP4", "GP3"],
"rows": ["GP27", "GP28", "GP19", "GP26"]
},
"processor": "RP2040",
"rgb_matrix": {
"animations": {
"alphas_mods": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_sat": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"band_val": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"cycle_up_down": true,
"digital_rain": true,
"dual_beacon": true,
"flower_blooming": true,
"gradient_left_right": true,
"gradient_up_down": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"jellybean_raindrops": true,
"multisplash": true,
"pixel_flow": true,
"pixel_fractal": true,
"pixel_rain": true,
"rainbow_beacon": true,
"rainbow_moving_chevron": true,
"rainbow_pinwheels": true,
"raindrops": true,
"riverflow": true,
"solid_multisplash": true,
"solid_reactive": true,
"solid_reactive_cross": true,
"solid_reactive_multicross": true,
"solid_reactive_multinexus": true,
"solid_reactive_multiwide": true,
"solid_reactive_nexus": true,
"solid_reactive_simple": true,
"solid_reactive_wide": true,
"solid_splash": true,
"splash": true,
"starlight": true,
"starlight_dual_hue": true,
"starlight_dual_sat": true,
"typing_heatmap": true
},
"driver": "ws2812",
"layout": [
{"matrix": [0, 4], "x": 100, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 75, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 50, "y": 0, "flags": 4},
{"matrix": [0, 1], "x": 25, "y": 0, "flags": 4},
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
{"matrix": [1, 0], "x": 0, "y": 21, "flags": 4},
{"matrix": [1, 1], "x": 25, "y": 21, "flags": 4},
{"matrix": [1, 2], "x": 50, "y": 21, "flags": 4},
{"matrix": [1, 3], "x": 75, "y": 21, "flags": 4},
{"matrix": [1, 4], "x": 100, "y": 21, "flags": 4},
{"matrix": [2, 4], "x": 100, "y": 43, "flags": 4},
{"matrix": [2, 3], "x": 75, "y": 43, "flags": 4},
{"matrix": [2, 2], "x": 50, "y": 43, "flags": 4},
{"matrix": [2, 1], "x": 25, "y": 43, "flags": 4},
{"matrix": [2, 0], "x": 0, "y": 43, "flags": 4},
{"matrix": [3, 0], "x": 0, "y": 64, "flags": 4},
{"matrix": [3, 1], "x": 25, "y": 64, "flags": 4},
{"matrix": [3, 2], "x": 50, "y": 64, "flags": 4},
{"matrix": [3, 3], "x": 75, "y": 64, "flags": 4},
{"matrix": [3, 4], "x": 100, "y": 64, "flags": 4},
{"matrix": [3, 5], "x": 125, "y": 64, "flags": 4},
{"matrix": [3, 6], "x": 150, "y": 64, "flags": 4},
{"matrix": [3, 7], "x": 175, "y": 64, "flags": 4},
{"matrix": [3, 8], "x": 200, "y": 64, "flags": 4},
{"matrix": [3, 9], "x": 224, "y": 64, "flags": 4},
{"matrix": [2, 9], "x": 224, "y": 43, "flags": 4},
{"matrix": [2, 8], "x": 200, "y": 43, "flags": 4},
{"matrix": [2, 7], "x": 175, "y": 43, "flags": 4},
{"matrix": [2, 6], "x": 150, "y": 43, "flags": 4},
{"matrix": [2, 5], "x": 125, "y": 43, "flags": 4},
{"matrix": [1, 5], "x": 125, "y": 21, "flags": 4},
{"matrix": [1, 6], "x": 150, "y": 21, "flags": 4},
{"matrix": [1, 7], "x": 175, "y": 21, "flags": 4},
{"matrix": [1, 8], "x": 200, "y": 21, "flags": 4},
{"matrix": [1, 9], "x": 224, "y": 21, "flags": 4},
{"matrix": [0, 9], "x": 224, "y": 0, "flags": 4},
{"matrix": [0, 8], "x": 200, "y": 0, "flags": 4},
{"matrix": [0, 7], "x": 175, "y": 0, "flags": 4},
{"matrix": [0, 6], "x": 150, "y": 0, "flags": 4},
{"matrix": [0, 5], "x": 125, "y": 0, "flags": 4}
],
"max_brightness": 125,
"sleep": true
},
"usb": {
"device_version": "0.0.1",
"pid": "0x1075",
"vid": "0x4342"
},
"ws2812": {
"driver": "vendor",
"pin": "GP29"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
{"matrix": [2, 6], "x": 6, "y": 2},
{"matrix": [2, 7], "x": 7, "y": 2},
{"matrix": [2, 8], "x": 8, "y": 2},
{"matrix": [2, 9], "x": 9, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4, "y": 3},
{"matrix": [3, 5], "x": 5, "y": 3},
{"matrix": [3, 6], "x": 6, "y": 3},
{"matrix": [3, 7], "x": 7, "y": 3},
{"matrix": [3, 8], "x": 8, "y": 3},
{"matrix": [3, 9], "x": 9, "y": 3}
]
}
}
}

View file

@ -0,0 +1,29 @@
// Copyright 2025 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
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_ENTER,
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH),
KC_LCTL, KC_LGUI, KC_LALT, LT(1,KC_BSPC), KC_DEL, KC_ENT, LT(2,KC_SPACE), KC_RALT, KC_RGUI, KC_RCTL
),
[1] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT(
RM_TOGG, RM_NEXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};

View file

@ -0,0 +1,26 @@
# Acai
![Acai](https://imgur.com/eWKoH96.png)
A 10x4 ortholinear keyboard made and sold by Coffee Break Keyboards. PCB designed by Snipeye. Case designed by Rain and Obabo. [More info on cbkbd.com](https://www.cbkbd.com/product/acai)
* Hardware Supported: Acai PCB
* Hardware Availability: [cbkbd.com](https://www.cbkbd.com/product/acai-pcb)
Make example for this keyboard (after setting up your build environment):
make cbkbd/acai:default
Flashing example for this keyboard:
make cbkbd/acai:default:flash
See the [build environment setup](getting_started_build_tools) and the [make instructions](getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](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

View file

@ -0,0 +1,292 @@
{
"manufacturer": "La-Versa x keyten",
"keyboard_name": "imi60-HS",
"maintainer": "key10iq",
"processor": "STM32F072",
"bootloader": "stm32-dfu",
"usb": {
"vid": "0xEB69",
"pid": "0x6009",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"diode_direction": "COL2ROW",
"matrix_pins": {
"rows": ["B1", "B0", "A6", "A5", "B11"],
"cols": ["A3", "A4", "A7", "B2", "B10", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"]
},
"community_layouts": [
"60_ansi_wkl_split_bs_rshift",
"60_hhkb",
"60_ansi_tsangan_split_bs_rshift"
],
"layout_aliases": {
"LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
"layouts": {
"LAYOUT_60_ansi_wkl_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [2, 13], "x": 14, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 1], "x": 2.25, "y": 3},
{"matrix": [3, 2], "x": 3.25, "y": 3},
{"matrix": [3, 3], "x": 4.25, "y": 3},
{"matrix": [3, 4], "x": 5.25, "y": 3},
{"matrix": [3, 5], "x": 6.25, "y": 3},
{"matrix": [3, 6], "x": 7.25, "y": 3},
{"matrix": [3, 7], "x": 8.25, "y": 3},
{"matrix": [3, 8], "x": 9.25, "y": 3},
{"matrix": [3, 9], "x": 10.25, "y": 3},
{"matrix": [3, 10], "x": 11.25, "y": 3},
{"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
{"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
"LAYOUT_60_hhkb": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [2, 13], "x": 14, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 1], "x": 2.25, "y": 3},
{"matrix": [3, 2], "x": 3.25, "y": 3},
{"matrix": [3, 3], "x": 4.25, "y": 3},
{"matrix": [3, 4], "x": 5.25, "y": 3},
{"matrix": [3, 5], "x": 6.25, "y": 3},
{"matrix": [3, 6], "x": 7.25, "y": 3},
{"matrix": [3, 7], "x": 8.25, "y": 3},
{"matrix": [3, 8], "x": 9.25, "y": 3},
{"matrix": [3, 9], "x": 10.25, "y": 3},
{"matrix": [3, 10], "x": 11.25, "y": 3},
{"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
{"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 11], "x": 12.5, "y": 4}
]
},
"LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [2, 13], "x": 14, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 1], "x": 2.25, "y": 3},
{"matrix": [3, 2], "x": 3.25, "y": 3},
{"matrix": [3, 3], "x": 4.25, "y": 3},
{"matrix": [3, 4], "x": 5.25, "y": 3},
{"matrix": [3, 5], "x": 6.25, "y": 3},
{"matrix": [3, 6], "x": 7.25, "y": 3},
{"matrix": [3, 7], "x": 8.25, "y": 3},
{"matrix": [3, 8], "x": 9.25, "y": 3},
{"matrix": [3, 9], "x": 10.25, "y": 3},
{"matrix": [3, 10], "x": 11.25, "y": 3},
{"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
{"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 11], "x": 12.5, "y": 4},
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
"LAYOUT_60_ansi_tsangan_split_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [2, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 1], "x": 2.25, "y": 3},
{"matrix": [3, 2], "x": 3.25, "y": 3},
{"matrix": [3, 3], "x": 4.25, "y": 3},
{"matrix": [3, 4], "x": 5.25, "y": 3},
{"matrix": [3, 5], "x": 6.25, "y": 3},
{"matrix": [3, 6], "x": 7.25, "y": 3},
{"matrix": [3, 7], "x": 8.25, "y": 3},
{"matrix": [3, 8], "x": 9.25, "y": 3},
{"matrix": [3, 9], "x": 10.25, "y": 3},
{"matrix": [3, 10], "x": 11.25, "y": 3},
{"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
{"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 11], "x": 12.5, "y": 4},
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
}
}
}

View file

@ -0,0 +1,23 @@
// Copyright 2025 key10iq
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
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_GRV, 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_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,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_BOOT, 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,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View file

@ -0,0 +1,27 @@
# keyten imi60-HS
imi60-HS - 60% Hot-Swap PCB compatible with keyboards by La-Versa: Animi, Mirimi, Otsukimi and Abyss
![imi60-HS](https://live.staticflickr.com/65535/54904885051_339dbff9d8_b.jpg)
* Keyboard Maintainer: [keyten](https://github.com/key10iq)
* Hardware Supported: keyten imi60-HS
* Hardware Availability: private GB
Make example for this keyboard (after setting up your build environment):
make keyten/imi60_hs:default
Flashing example for this keyboard:
make keyten/imi60_hs: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
* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
* Physical reset button: Hold the button on the back of the PCB

View file

@ -0,0 +1,5 @@
// Copyright 2025 Yiancar-Designs, Bit-Shifter
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define DYNAMIC_KEYMAP_MACRO_COUNT 30

View file

@ -0,0 +1,429 @@
{
"manufacturer": "Yiancar-Designs",
"keyboard_name": "Hyper7 v4",
"maintainer": "Yiancar-Designs",
"bootloader": "stm32-dfu",
"bootmagic": {
"matrix": [3, 0]
},
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "B0", "C5", "C4", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "B12", "B13", "B14", "B15", "A8", "C9", "C8", "C7", "C6", "C11", "C10", "A15", "A14"],
"rows": ["C1", "C2", "C3", "A13", "C12", "B3", "B4", "B5"]
},
"processor": "STM32F072",
"url": "https://yiancar-designs.com",
"usb": {
"device_version": "0.0.1",
"pid": "0x6837",
"vid": "0x8968"
},
"layouts": {
"LAYOUT_modern": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "w":2},
{"matrix": [0, 2], "x": 2, "y": 0, "w":2},
{"matrix": [0, 4], "x": 4.5, "y": 0, "w":2},
{"matrix": [0, 6], "x": 6.5, "y": 0, "w":2},
{"matrix": [0, 8], "x": 8.5, "y": 0, "w":2},
{"matrix": [0, 10], "x": 10.5, "y": 0, "w":2},
{"matrix": [0, 12], "x": 12.5, "y": 0, "w":2},
{"matrix": [0, 14], "x": 14.5, "y": 0, "w":2},
{"matrix": [0, 16], "x": 16.5, "y": 0, "w":2},
{"matrix": [0, 18], "x": 18.5, "y": 0, "w":2},
{"matrix": [0, 20], "x": 20.5, "y": 0, "w":2},
{"matrix": [0, 22], "x": 22.5, "y": 0, "w":2},
{"matrix": [0, 24], "x": 25, "y": 0, "w":2},
{"matrix": [0, 26], "x": 27, "y": 0, "w":2},
{"matrix": [1, 0], "x": 0, "y": 1, "w":2},
{"matrix": [1, 2], "x": 2, "y": 1, "w":2},
{"matrix": [1, 4], "x": 4.5, "y": 1, "w":2},
{"matrix": [1, 6], "x": 6.5, "y": 1, "w":2},
{"matrix": [1, 8], "x": 8.5, "y": 1, "w":2},
{"matrix": [1, 10], "x": 10.5, "y": 1, "w":2},
{"matrix": [1, 12], "x": 12.5, "y": 1, "w":2},
{"matrix": [1, 14], "x": 14.5, "y": 1, "w":2},
{"matrix": [1, 16], "x": 16.5, "y": 1, "w":2},
{"matrix": [1, 18], "x": 18.5, "y": 1, "w":2},
{"matrix": [1, 20], "x": 20.5, "y": 1, "w":2},
{"matrix": [1, 22], "x": 22.5, "y": 1, "w":2},
{"matrix": [1, 24], "x": 25, "y": 1, "w":2},
{"matrix": [1, 26], "x": 27, "y": 1, "w":2},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2, "w":2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2},
{"matrix": [2, 12], "x": 12.5, "y": 2},
{"matrix": [2, 13], "x": 13.5, "y": 2},
{"matrix": [2, 14], "x": 14.5, "y": 2},
{"matrix": [2, 15], "x": 15.5, "y": 2},
{"matrix": [2, 16], "x": 16.5, "y": 2},
{"matrix": [2, 17], "x": 17.5, "y": 2},
{"matrix": [2, 18], "x": 18.5, "y": 2},
{"matrix": [2, 19], "x": 19.5, "y": 2},
{"matrix": [2, 20], "x": 20.5, "y": 2},
{"matrix": [2, 21], "x": 21.5, "y": 2},
{"matrix": [2, 22], "x": 22.5, "y": 2, "w":2},
{"matrix": [2, 24], "x": 25, "y": 2},
{"matrix": [2, 25], "x": 26, "y": 2},
{"matrix": [2, 26], "x": 27, "y": 2},
{"matrix": [2, 27], "x": 28, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3.5},
{"matrix": [3, 1], "x": 1, "y": 3.5},
{"matrix": [3, 2], "x": 2, "y": 3.5},
{"matrix": [3, 3], "x": 3, "y": 3.5},
{"matrix": [3, 4], "x": 4.5, "y": 3.5, "w": 1.5},
{"matrix": [3, 6], "x": 6, "y": 3.5},
{"matrix": [3, 7], "x": 7, "y": 3.5},
{"matrix": [3, 8], "x": 8, "y": 3.5},
{"matrix": [3, 9], "x": 9, "y": 3.5},
{"matrix": [3, 10], "x": 10, "y": 3.5},
{"matrix": [3, 11], "x": 11, "y": 3.5},
{"matrix": [3, 12], "x": 12, "y": 3.5},
{"matrix": [3, 13], "x": 13, "y": 3.5},
{"matrix": [3, 14], "x": 14, "y": 3.5},
{"matrix": [3, 15], "x": 15, "y": 3.5},
{"matrix": [3, 16], "x": 16, "y": 3.5},
{"matrix": [3, 17], "x": 17, "y": 3.5},
{"matrix": [3, 18], "x": 18, "y": 3.5},
{"matrix": [3, 19], "x": 19, "y": 3.5},
{"matrix": [3, 20], "x": 20, "y": 3.5},
{"matrix": [3, 21], "x": 21, "y": 3.5},
{"matrix": [3, 22], "x": 22, "y": 3.5},
{"matrix": [3, 23], "x": 23, "y": 3.5, "w": 1.5},
{"matrix": [3, 24], "x": 25, "y": 3.5},
{"matrix": [3, 25], "x": 26, "y": 3.5},
{"matrix": [3, 26], "x": 27, "y": 3.5},
{"matrix": [3, 27], "x": 28, "y": 3.5},
{"matrix": [4, 0], "x": 0, "y": 4.5},
{"matrix": [4, 1], "x": 1, "y": 4.5},
{"matrix": [4, 2], "x": 2, "y": 4.5},
{"matrix": [4, 3], "x": 3, "y": 4.5},
{"matrix": [4, 4], "x": 4.5, "y": 4.5},
{"matrix": [4, 5], "x": 5.5, "y": 4.5, "w": 1.5},
{"matrix": [4, 7], "x": 7, "y": 4.5, "w": 1.5},
{"matrix": [4, 8], "x": 8.5, "y": 4.5},
{"matrix": [4, 9], "x": 9.5, "y": 4.5},
{"matrix": [4, 10], "x": 10.5, "y": 4.5},
{"matrix": [4, 11], "x": 11.5, "y": 4.5},
{"matrix": [4, 12], "x": 12.5, "y": 4.5},
{"matrix": [4, 13], "x": 13.5, "y": 4.5},
{"matrix": [4, 14], "x": 14.5, "y": 4.5},
{"matrix": [4, 15], "x": 15.5, "y": 4.5},
{"matrix": [4, 16], "x": 16.5, "y": 4.5},
{"matrix": [4, 17], "x": 17.5, "y": 4.5},
{"matrix": [4, 18], "x": 18.5, "y": 4.5},
{"matrix": [4, 19], "x": 19.5, "y": 4.5},
{"matrix": [4, 20], "x": 20.5, "y": 4.5, "w": 1.5},
{"matrix": [4, 22], "x": 22, "y": 4.5, "w": 1.5},
{"matrix": [4, 23], "x": 23.5, "y": 4.5},
{"matrix": [4, 24], "x": 25, "y": 4.5},
{"matrix": [4, 25], "x": 26, "y": 4.5},
{"matrix": [4, 26], "x": 27, "y": 4.5},
{"matrix": [4, 27], "x": 28, "y": 4.5},
{"matrix": [5, 0], "x": 0, "y": 5.5},
{"matrix": [5, 1], "x": 1, "y": 5.5},
{"matrix": [5, 2], "x": 2, "y": 5.5},
{"matrix": [5, 3], "x": 3, "y": 5.5},
{"matrix": [5, 4], "x": 4.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 6], "x": 6, "y": 5.5, "w": 1.5},
{"matrix": [5, 7], "x": 7.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 9], "x": 9, "y": 5.5},
{"matrix": [5, 10], "x": 10, "y": 5.5},
{"matrix": [5, 11], "x": 11, "y": 5.5},
{"matrix": [5, 12], "x": 12, "y": 5.5},
{"matrix": [5, 13], "x": 13, "y": 5.5},
{"matrix": [5, 14], "x": 14, "y": 5.5},
{"matrix": [5, 15], "x": 15, "y": 5.5},
{"matrix": [5, 16], "x": 16, "y": 5.5},
{"matrix": [5, 17], "x": 17, "y": 5.5},
{"matrix": [5, 18], "x": 18, "y": 5.5},
{"matrix": [5, 19], "x": 19, "y": 5.5},
{"matrix": [5, 20], "x": 20, "y": 5.5, "w": 1.5},
{"matrix": [5, 21], "x": 21.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 23], "x": 23, "y": 5.5, "w": 1.5},
{"matrix": [5, 24], "x": 25, "y": 5.5},
{"matrix": [5, 25], "x": 26, "y": 5.5},
{"matrix": [5, 26], "x": 27, "y": 5.5},
{"matrix": [5, 27], "x": 28, "y": 5.5},
{"matrix": [6, 0], "x": 0, "y": 6.5},
{"matrix": [6, 1], "x": 1, "y": 6.5},
{"matrix": [6, 2], "x": 2, "y": 6.5},
{"matrix": [6, 3], "x": 3, "y": 6.5},
{"matrix": [6, 4], "x": 4.5, "y": 6.5},
{"matrix": [6, 5], "x": 5.5, "y": 6.5},
{"matrix": [6, 6], "x": 6.5, "y": 6.5, "w": 1.5},
{"matrix": [6, 8], "x": 8, "y": 6.5, "w": 1.5},
{"matrix": [6, 9], "x": 9.5, "y": 6.5},
{"matrix": [6, 10], "x": 10.5, "y": 6.5},
{"matrix": [6, 11], "x": 11.5, "y": 6.5},
{"matrix": [6, 12], "x": 12.5, "y": 6.5},
{"matrix": [6, 13], "x": 13.5, "y": 6.5},
{"matrix": [6, 14], "x": 14.5, "y": 6.5},
{"matrix": [6, 15], "x": 15.5, "y": 6.5},
{"matrix": [6, 16], "x": 16.5, "y": 6.5},
{"matrix": [6, 17], "x": 17.5, "y": 6.5},
{"matrix": [6, 18], "x": 18.5, "y": 6.5},
{"matrix": [6, 19], "x": 19.5, "y": 6.5, "w": 1.5},
{"matrix": [6, 21], "x": 21, "y": 6.5, "w": 1.5},
{"matrix": [6, 22], "x": 22.5, "y": 6.5},
{"matrix": [6, 23], "x": 23.5, "y": 6.5},
{"matrix": [6, 24], "x": 25, "y": 6.5},
{"matrix": [6, 25], "x": 26, "y": 6.5},
{"matrix": [6, 26], "x": 27, "y": 6.5},
{"matrix": [6, 27], "x": 28, "y": 6.5},
{"matrix": [7, 0], "x": 0, "y": 7.5},
{"matrix": [7, 1], "x": 1, "y": 7.5},
{"matrix": [7, 2], "x": 2, "y": 7.5},
{"matrix": [7, 3], "x": 3, "y": 7.5},
{"matrix": [7, 4], "x": 4.5, "y": 7.5},
{"matrix": [7, 5], "x": 5.5, "y": 7.5},
{"matrix": [7, 6], "x": 6.5, "y": 7.5},
{"matrix": [7, 7], "x": 7.5, "y": 7.5, "w": 1.5},
{"matrix": [7, 8], "x": 9, "y": 7.5, "w": 1.5},
{"matrix": [7, 13], "x": 10.5, "y": 7.5, "w": 7},
{"matrix": [7, 18], "x": 17.5, "y": 7.5},
{"matrix": [7, 19], "x": 18.5, "y": 7.5, "w": 1.5},
{"matrix": [7, 20], "x": 20, "y": 7.5, "w": 1.5},
{"matrix": [7, 21], "x": 21.5, "y": 7.5},
{"matrix": [7, 22], "x": 22.5, "y": 7.5},
{"matrix": [7, 23], "x": 23.5, "y": 7.5},
{"matrix": [7, 24], "x": 25, "y": 7.5},
{"matrix": [7, 25], "x": 26, "y": 7.5},
{"matrix": [7, 26], "x": 27, "y": 7.5},
{"matrix": [7, 27], "x": 28, "y": 7.5}
]
},
"LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4.5, "y": 0},
{"matrix": [0, 5], "x": 5.5, "y": 0},
{"matrix": [0, 6], "x": 6.5, "y": 0},
{"matrix": [0, 7], "x": 7.5, "y": 0},
{"matrix": [0, 8], "x": 8.5, "y": 0},
{"matrix": [0, 9], "x": 9.5, "y": 0},
{"matrix": [0, 10], "x": 10.5, "y": 0},
{"matrix": [0, 11], "x": 11.5, "y": 0},
{"matrix": [0, 12], "x": 12.5, "y": 0},
{"matrix": [0, 13], "x": 13.5, "y": 0},
{"matrix": [0, 14], "x": 14.5, "y": 0},
{"matrix": [0, 15], "x": 15.5, "y": 0},
{"matrix": [0, 16], "x": 16.5, "y": 0},
{"matrix": [0, 17], "x": 17.5, "y": 0},
{"matrix": [0, 18], "x": 18.5, "y": 0},
{"matrix": [0, 19], "x": 19.5, "y": 0},
{"matrix": [0, 20], "x": 20.5, "y": 0},
{"matrix": [0, 21], "x": 21.5, "y": 0},
{"matrix": [0, 22], "x": 22.5, "y": 0},
{"matrix": [0, 23], "x": 23.5, "y": 0},
{"matrix": [0, 24], "x": 25, "y": 0},
{"matrix": [0, 25], "x": 26, "y": 0},
{"matrix": [0, 26], "x": 27, "y": 0},
{"matrix": [0, 27], "x": 28, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1},
{"matrix": [1, 14], "x": 14.5, "y": 1},
{"matrix": [1, 15], "x": 15.5, "y": 1},
{"matrix": [1, 16], "x": 16.5, "y": 1},
{"matrix": [1, 17], "x": 17.5, "y": 1},
{"matrix": [1, 18], "x": 18.5, "y": 1},
{"matrix": [1, 19], "x": 19.5, "y": 1},
{"matrix": [1, 20], "x": 20.5, "y": 1},
{"matrix": [1, 21], "x": 21.5, "y": 1},
{"matrix": [1, 22], "x": 22.5, "y": 1},
{"matrix": [1, 23], "x": 23.5, "y": 1},
{"matrix": [1, 24], "x": 25, "y": 1},
{"matrix": [1, 25], "x": 26, "y": 1},
{"matrix": [1, 26], "x": 27, "y": 1},
{"matrix": [1, 27], "x": 28, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2},
{"matrix": [2, 12], "x": 12.5, "y": 2},
{"matrix": [2, 13], "x": 13.5, "y": 2},
{"matrix": [2, 14], "x": 14.5, "y": 2},
{"matrix": [2, 15], "x": 15.5, "y": 2},
{"matrix": [2, 16], "x": 16.5, "y": 2},
{"matrix": [2, 17], "x": 17.5, "y": 2},
{"matrix": [2, 18], "x": 18.5, "y": 2},
{"matrix": [2, 19], "x": 19.5, "y": 2},
{"matrix": [2, 20], "x": 20.5, "y": 2},
{"matrix": [2, 21], "x": 21.5, "y": 2},
{"matrix": [2, 22], "x": 22.5, "y": 2},
{"matrix": [2, 23], "x": 23.5, "y": 2},
{"matrix": [2, 24], "x": 25, "y": 2},
{"matrix": [2, 25], "x": 26, "y": 2},
{"matrix": [2, 26], "x": 27, "y": 2},
{"matrix": [2, 27], "x": 28, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3.5},
{"matrix": [3, 1], "x": 1, "y": 3.5},
{"matrix": [3, 2], "x": 2, "y": 3.5},
{"matrix": [3, 3], "x": 3, "y": 3.5},
{"matrix": [3, 4], "x": 4.5, "y": 3.5, "w": 1.5},
{"matrix": [3, 6], "x": 6, "y": 3.5},
{"matrix": [3, 7], "x": 7, "y": 3.5},
{"matrix": [3, 8], "x": 8, "y": 3.5},
{"matrix": [3, 9], "x": 9, "y": 3.5},
{"matrix": [3, 10], "x": 10, "y": 3.5},
{"matrix": [3, 11], "x": 11, "y": 3.5},
{"matrix": [3, 12], "x": 12, "y": 3.5},
{"matrix": [3, 13], "x": 13, "y": 3.5},
{"matrix": [3, 14], "x": 14, "y": 3.5},
{"matrix": [3, 15], "x": 15, "y": 3.5},
{"matrix": [3, 16], "x": 16, "y": 3.5},
{"matrix": [3, 17], "x": 17, "y": 3.5},
{"matrix": [3, 18], "x": 18, "y": 3.5},
{"matrix": [3, 19], "x": 19, "y": 3.5},
{"matrix": [3, 20], "x": 20, "y": 3.5},
{"matrix": [3, 21], "x": 21, "y": 3.5},
{"matrix": [3, 22], "x": 22, "y": 3.5},
{"matrix": [3, 23], "x": 23, "y": 3.5, "w": 1.5},
{"matrix": [3, 24], "x": 25, "y": 3.5},
{"matrix": [3, 25], "x": 26, "y": 3.5},
{"matrix": [3, 26], "x": 27, "y": 3.5},
{"matrix": [3, 27], "x": 28, "y": 3.5},
{"matrix": [4, 0], "x": 0, "y": 4.5},
{"matrix": [4, 1], "x": 1, "y": 4.5},
{"matrix": [4, 2], "x": 2, "y": 4.5},
{"matrix": [4, 3], "x": 3, "y": 4.5},
{"matrix": [4, 4], "x": 4.5, "y": 4.5},
{"matrix": [4, 5], "x": 5.5, "y": 4.5, "w": 1.5},
{"matrix": [4, 7], "x": 7, "y": 4.5, "w": 1.5},
{"matrix": [4, 8], "x": 8.5, "y": 4.5},
{"matrix": [4, 9], "x": 9.5, "y": 4.5},
{"matrix": [4, 10], "x": 10.5, "y": 4.5},
{"matrix": [4, 11], "x": 11.5, "y": 4.5},
{"matrix": [4, 12], "x": 12.5, "y": 4.5},
{"matrix": [4, 13], "x": 13.5, "y": 4.5},
{"matrix": [4, 14], "x": 14.5, "y": 4.5},
{"matrix": [4, 15], "x": 15.5, "y": 4.5},
{"matrix": [4, 16], "x": 16.5, "y": 4.5},
{"matrix": [4, 17], "x": 17.5, "y": 4.5},
{"matrix": [4, 18], "x": 18.5, "y": 4.5},
{"matrix": [4, 19], "x": 19.5, "y": 4.5},
{"matrix": [4, 20], "x": 20.5, "y": 4.5, "w": 1.5},
{"matrix": [4, 22], "x": 22, "y": 4.5, "w": 1.5},
{"matrix": [4, 23], "x": 23.5, "y": 4.5},
{"matrix": [4, 24], "x": 25, "y": 4.5},
{"matrix": [4, 25], "x": 26, "y": 4.5},
{"matrix": [4, 26], "x": 27, "y": 4.5},
{"matrix": [4, 27], "x": 28, "y": 4.5},
{"matrix": [5, 0], "x": 0, "y": 5.5},
{"matrix": [5, 1], "x": 1, "y": 5.5},
{"matrix": [5, 2], "x": 2, "y": 5.5},
{"matrix": [5, 3], "x": 3, "y": 5.5},
{"matrix": [5, 4], "x": 4.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 6], "x": 6, "y": 5.5, "w": 1.5},
{"matrix": [5, 7], "x": 7.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 9], "x": 9, "y": 5.5},
{"matrix": [5, 10], "x": 10, "y": 5.5},
{"matrix": [5, 11], "x": 11, "y": 5.5},
{"matrix": [5, 12], "x": 12, "y": 5.5},
{"matrix": [5, 13], "x": 13, "y": 5.5},
{"matrix": [5, 14], "x": 14, "y": 5.5},
{"matrix": [5, 15], "x": 15, "y": 5.5},
{"matrix": [5, 16], "x": 16, "y": 5.5},
{"matrix": [5, 17], "x": 17, "y": 5.5},
{"matrix": [5, 18], "x": 18, "y": 5.5},
{"matrix": [5, 19], "x": 19, "y": 5.5},
{"matrix": [5, 20], "x": 20, "y": 5.5, "w": 1.5},
{"matrix": [5, 21], "x": 21.5, "y": 5.5, "w": 1.5},
{"matrix": [5, 23], "x": 23, "y": 5.5, "w": 1.5},
{"matrix": [5, 24], "x": 25, "y": 5.5},
{"matrix": [5, 25], "x": 26, "y": 5.5},
{"matrix": [5, 26], "x": 27, "y": 5.5},
{"matrix": [5, 27], "x": 28, "y": 5.5},
{"matrix": [6, 0], "x": 0, "y": 6.5},
{"matrix": [6, 1], "x": 1, "y": 6.5},
{"matrix": [6, 2], "x": 2, "y": 6.5},
{"matrix": [6, 3], "x": 3, "y": 6.5},
{"matrix": [6, 4], "x": 4.5, "y": 6.5},
{"matrix": [6, 5], "x": 5.5, "y": 6.5},
{"matrix": [6, 6], "x": 6.5, "y": 6.5, "w": 1.5},
{"matrix": [6, 8], "x": 8, "y": 6.5, "w": 1.5},
{"matrix": [6, 9], "x": 9.5, "y": 6.5},
{"matrix": [6, 10], "x": 10.5, "y": 6.5},
{"matrix": [6, 11], "x": 11.5, "y": 6.5},
{"matrix": [6, 12], "x": 12.5, "y": 6.5},
{"matrix": [6, 13], "x": 13.5, "y": 6.5},
{"matrix": [6, 14], "x": 14.5, "y": 6.5},
{"matrix": [6, 15], "x": 15.5, "y": 6.5},
{"matrix": [6, 16], "x": 16.5, "y": 6.5},
{"matrix": [6, 17], "x": 17.5, "y": 6.5},
{"matrix": [6, 18], "x": 18.5, "y": 6.5},
{"matrix": [6, 19], "x": 19.5, "y": 6.5, "w": 1.5},
{"matrix": [6, 21], "x": 21, "y": 6.5, "w": 1.5},
{"matrix": [6, 22], "x": 22.5, "y": 6.5},
{"matrix": [6, 23], "x": 23.5, "y": 6.5},
{"matrix": [6, 24], "x": 25, "y": 6.5},
{"matrix": [6, 25], "x": 26, "y": 6.5},
{"matrix": [6, 26], "x": 27, "y": 6.5},
{"matrix": [6, 27], "x": 28, "y": 6.5},
{"matrix": [7, 0], "x": 0, "y": 7.5},
{"matrix": [7, 1], "x": 1, "y": 7.5},
{"matrix": [7, 2], "x": 2, "y": 7.5},
{"matrix": [7, 3], "x": 3, "y": 7.5},
{"matrix": [7, 4], "x": 4.5, "y": 7.5},
{"matrix": [7, 5], "x": 5.5, "y": 7.5},
{"matrix": [7, 6], "x": 6.5, "y": 7.5},
{"matrix": [7, 7], "x": 7.5, "y": 7.5},
{"matrix": [7, 8], "x": 8.5, "y": 7.5, "w": 1.5},
{"matrix": [7, 10], "x": 10, "y": 7.5},
{"matrix": [7, 11], "x": 11, "y": 7.5, "w": 1.5},
{"matrix": [7, 12], "x": 12.5, "y": 7.5, "w": 1.5},
{"matrix": [7, 14], "x": 14, "y": 7.5},
{"matrix": [7, 15], "x": 15, "y": 7.5, "w": 1.5},
{"matrix": [7, 16], "x": 16.5, "y": 7.5, "w": 1.5},
{"matrix": [7, 18], "x": 18, "y": 7.5},
{"matrix": [7, 19], "x": 19, "y": 7.5, "w": 1.5},
{"matrix": [7, 20], "x": 20.5, "y": 7.5},
{"matrix": [7, 21], "x": 21.5, "y": 7.5},
{"matrix": [7, 22], "x": 22.5, "y": 7.5},
{"matrix": [7, 23], "x": 23.5, "y": 7.5},
{"matrix": [7, 24], "x": 25, "y": 7.5},
{"matrix": [7, 25], "x": 26, "y": 7.5},
{"matrix": [7, 26], "x": 27, "y": 7.5},
{"matrix": [7, 27], "x": 28, "y": 7.5},
{"matrix": [7, 13], "x": 11, "y": 8.5, "w": 7}
]
}
}
}

View file

@ -0,0 +1,111 @@
// Copyright 2025 Yiancar-Designs, Bit-Shifter
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum my_keycodes {
MACRO = QK_USER_0,
QUOTE,
CLRIN,
SQUAR,
CIRCL,
TRIAN,
DIAMO,
WRITE,
TTY,
PLUSM,
MODE,
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case MACRO:
if (record->event.pressed) {
// when keycode MACRO is pressed
SEND_STRING("Hyper7 is the best thing ever!");
}
break;
case QUOTE:
if (record->event.pressed) {
// when keycode QUOTE is pressed
SEND_STRING("\"\"" SS_TAP(X_LEFT));
}
break;
case CLRIN:
if (record->event.pressed) {
// when keycode CLRIN is pressed
SEND_STRING(SS_LCTL("a") SS_TAP(X_DEL));
}
break;
case SQUAR:
if (record->event.pressed) {
// when keycode SQUAR is pressed
SEND_STRING("I like squares");
}
break;
case CIRCL:
if (record->event.pressed) {
// when keycode CIRCL is pressed
SEND_STRING("I like circles");
}
break;
case TRIAN:
if (record->event.pressed) {
// when keycode TRIAN is pressed
SEND_STRING("I like the illuminati");
}
break;
case DIAMO:
if (record->event.pressed) {
// when keycode DIAMO is pressed
SEND_STRING("Everyone likes diamonds");
}
break;
case WRITE:
if (record->event.pressed) {
// when keycode WRITE is pressed
SEND_STRING(SS_LGUI("x") "notepad" SS_TAP(X_ENT));
}
break;
case TTY:
if (record->event.pressed) {
// when keycode TTY is pressed
SEND_STRING(SS_LGUI("x") "cmd" SS_TAP(X_ENT));
}
break;
case PLUSM:
if (record->event.pressed) {
// when keycode PLUSM is pressed
SEND_STRING("+-");
}
case MODE:
if (record->event.pressed) {
// when keycode MODE is pressed
SEND_STRING("Mode");
}
}
return true;
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_modern(
G(KC_F1), MACRO, RCS(KC_ESC), QUOTE, KC_INS, CLRIN, G(KC_D), C(KC_S), C(KC_C), A(KC_F4), KC_PAUS, C(KC_P), G(C(KC_Q)), LCA(KC_DEL),
G(KC_X), KC_WHOM, G(KC_PAUS), C(KC_R), A(KC_TAB), SQUAR, CIRCL, TRIAN, DIAMO, C(KC_Y), LAG(KC_R), RCS(KC_ESC), G(KC_L), KC_CAPS,
KC_F1, KC_F2, A(KC_F4), G(KC_R), KC_ESC, KC_QUES, KC_EXLM, KC_AT, KC_AT, KC_AT, KC_AT, KC_GRV, KC_GRV, KC_GRV, KC_GRV, KC_UNDS, KC_LABK, KC_RABK, KC_PIPE, KC_LCBR, KC_RCBR, C(KC_ENT), KC_CIRC, KC_PERC, KC_HASH, KC_DLR,
KC_F3, KC_F4, C(KC_F), WRITE, LSFT(KC_N), PLUSM, KC_TILD, 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_NUBS, KC_LBRC, KC_RBRC, C(KC_Z), KC_PMNS, KC_PSLS, KC_PAST, KC_PMNS,
KC_F5, KC_F6, C(KC_M), C(KC_Z), C(KC_V), C(KC_X), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LCBR, KC_RCBR, KC_BSPC, KC_CLEAR, C(KC_HOME),KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_F7, KC_F8, C(KC_A), KC_F12, MO(1), MODE, KC_PGUP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_QUOT, KC_ENT, KC_HOME, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_AMPR,
KC_F9, KC_F10, TTY, G(KC_L), C(KC_HOME),KC_END, G(KC_DOT), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, G(KC_DOT), KC_UP, KC_LGUI, KC_P1, KC_P2, KC_P3, KC_EQL,
KC_F11, KC_F12, KC_HOME, C(KC_END), C(KC_LEFT),C(KC_RGHT),G(KC_DOWN),KC_HYPR, KC_LALT, KC_SPC, KC_RGUI, KC_HYPR, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_P0, KC_PDOT, KC_ENTER
),
[1] = LAYOUT_modern(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};

View file

@ -0,0 +1,25 @@
# Hyper7 v4
This is a very big pcb... It supports VIA.
* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
* Hardware Supported: A very big keyboard with STM32F072RB
* Hardware Availability: https://mechboards.co.uk/
Make example for this keyboard (after setting up your build environment):
make yiancardesigns/hyper7/v4:default
Flashing example for this keyboard:
make yiancardesigns/hyper7/v4: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 (3,0) in the matrix (F3) 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

View file

@ -47,6 +47,7 @@ def userspace_add(cli):
from qmk.cli.new.keymap import new_keymap
cli.config.new_keymap.keyboard = cli.args.keyboard
cli.config.new_keymap.keymap = cli.args.keymap
cli.args.skip_converter = True
if new_keymap(cli) is not False:
userspace.add_target(keyboard=cli.args.keyboard, keymap=cli.args.keymap, build_env=build_env)
else:

View file

@ -153,6 +153,7 @@ def _flash_atmel_dfu(mcu, file):
def _flash_hid_bootloader(mcu, details, file):
cmd = None
if details == 'halfkay':
if shutil.which('teensy-loader-cli'):
cmd = 'teensy-loader-cli'