[AI桌面硬件大赏】Vibeboard — 为 Vibe Coding 而生的按键板

[AI桌面硬件大赏】Vibeboard — 为 Vibe Coding 而生的按键板

Vibe coding(氛围编程) 是你指挥 AI 助手,而不是逐行敲代码。瓶颈不再是打字,而是那套小动作:打开 AI 面板 → 启动语音输入 → 提交。vibeboard 把它压缩成三颗键加一个旋钮,做成一个标准的 QMK 键盘并支持 VIA:每颗键和旋钮都能用图形界面实时改键,无需重新编译。默认布局发送 Win+K(打开 Kiro)、Win+H(语音输入)和 回车,旋钮则控制光标
发布于 · 2026-6-22 GPL (General Public License)
 
阅读时长:10分钟
图片[1]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网

预览
项目所需物料
硬件组件
XIAO RP2040×1
 
60mm球面按钮 游戏机带灯63按键配件 凸面游艺机圆形按键篮球微动×3
 
软件应用与在线服务
QMK
 
KIRO
 
fusion360
 
手动工具和加工设备
焊台TC22_SSD01_245+210套件
 
拓竹3D打印机 X1C
 
项目详情

vibeboard — A Keypad Built for Vibe Coding

vibeboard —— 为 Vibe Coding 而生的按键板

A 3-key + knob macropad (RP2040 · QMK · VIA) that turns “open the AI, dictate, hit enter” into physical buttons. 一个 3 键 + 旋钮 的宏键盘(RP2040 · QMK · VIA),把”打开 AI、口述需求、回车提交”变成实体按键。

 

 

Difficulty / 难度

Intermediate / 中级

Time / 耗时

~2–4 hours / 约 2–4 小时

Cost / 成本

~$10–20 / 约 ¥70–150

Skills / 技能

Basic soldering, QMK compile, VIA / 基础焊接、QMK 编译、VIA


TL;DR

EN. Vibe coding means steering an AI assistant instead of typing every line. The friction isn’t the typing anymore — it’s the little dance of open the AI panel → start voice input → submitvibeboard collapses that into three keys and a knob, built as a proper QMK keyboard with VIA support: every key and the encoder are remappable live from a GUI, no recompiling. The default layout sends Win+K (open Kiro), Win+H (voice typing) and Enter, and the knob drives your cursor.

中文。 Vibe coding(氛围编程) 是你指挥 AI 助手,而不是逐行敲代码。瓶颈不再是打字,而是那套小动作:打开 AI 面板 → 启动语音输入 → 提交vibeboard 把它压缩成三颗键加一个旋钮,做成一个标准的 QMK 键盘并支持 VIA:每颗键和旋钮都能用图形界面实时改键,无需重新编译。默认布局发送 Win+K(打开 Kiro)、Win+H(语音输入)和 回车,旋钮则控制光标。


 

Contents / 目录

  1. The Story / 项目故事

  2. How It Works / 工作原理

  3. Things Used / 物料清单

  4. Wiring / 接线

  5. Build the Firmware / 编译固件

  6. Flashing / 烧录

  7. Configure in VIA / 在 VIA 中配置

  8. Make a Key Launch Kiro / 让一颗键启动 Kiro

  9. The Vibe Coding Workflow / Vibe Coding 工作流

  10. Using the Knob / 使用旋钮

  11. Customize / 自定义

  12. Troubleshooting / 故障排除

  13. Going Further / 进阶玩法

  14. Code / 代码


 

1. The Story / 项目故事

Photo placeholder: a hero shot of your finished vibeboard next to your keyboard. 图片占位:把做好的 vibeboard 摆在键盘旁边来一张主图。

EN. I do most of my coding by talking to Kiro, an agentic AI IDE. The loop: pop open the assistant, describe what I want (usually by voice — speaking a paragraph beats typing it), submit, let it work. Each step is trivial, but repeated hundreds of times a day the keyboard gymnastics (Win+K, then Win+H, then Enter, then grab the mouse to fix the cursor) become the most annoying part.

中文。 我大部分编码都是和 Kiro(一个 agentic 的 AI IDE)对话完成的。循环是:弹出助手,描述需求(通常用语音——说一段比敲一段快),提交,让它干活。每一步都简单,但一天重复几百次后,这套键盘体操(先 Win+K,再 Win+H,再 回车,然后摸鼠标修光标)就成了最烦的部分。

EN. So I built a dedicated control surface: three switches and a rotary encoder, small enough to sit between my keyboard and coffee. I built it as a QMK + VIA keyboard on purpose — so the binding of each key isn’t frozen in firmware. With VIA I remap any key or the knob from a GUI in seconds, and the config is stored on the board itself.

中文。 于是我做了一个专用控制面板:三颗轴 + 一个旋钮,小到能塞在键盘和咖啡杯之间。我特意把它做成 QMK + VIA 键盘——这样每颗键的绑定就不会被冻死在固件里。有了 VIA,我能在图形界面里几秒钟改完任意键或旋钮,而且配置就存在板子上。


 

2. How It Works / 工作原理

EN. The design rule: keep the firmware a blank slate, and let VIA decide what each key does. The board is a standard USB HID keyboard running QMK. VIA talks to it over Raw HID and writes a dynamic keymap into the board’s EEPROM — so remapping is instant, survives reboots, and never needs a recompile. The only thing QMK can’t do by itself is launch an application; for that one case we hand a spare keystroke to a tiny OS-side helper (see §8).

中文。 设计准则:让固件保持一块白板,由 VIA 决定每颗键做什么。 这块板子就是个跑 QMK 的标准 USB HID 键盘。VIA 通过 Raw HID 和它通信,把动态键映射写进板子的 EEPROM——所以改键即时生效、重启不丢、永远不用重编译。QMK 唯一做不到的是启动一个应用;这一种情况,我们把一个备用键码交给系统侧的小助手处理(见 §8)。

flowchart LR
subgraph BOARD["vibeboard — QMK keyboard"]
K1["Key 1 / 键1"]
K2["Key 2 / 键2"]
K3["Key 3 / 键3"]
ENC["Knob / 旋钮"]
end
BOARD --> VIA["VIA dynamic keymap<br/>(stored in EEPROM)"]
VIA -->|"Win+K"| A1["Open / focus Kiro / 打开 Kiro"]
VIA -->|"Win+H"| A2["Voice typing / 语音输入"]
VIA -->|"Enter"| A3["Submit prompt / 提交"]
VIA -->|"arrows / Shift+arrows"| A4["Cursor nav & select / 光标导航与选择"]
Mermaid

图片[2]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网图片[3]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网 
展开代码

Layer / 层

Responsibility / 职责

Where / 位置

Switches & knob / 轴与旋钮

Physical input / 物理输入

The board / 板子

QMK firmware / QMK 固件

Scan, debounce, encoder, Raw HID / 扫描、去抖、编码器、Raw HID

RP2040

VIA dynamic keymap / VIA 动态键映射

Keycode for each key / 每颗键的键码

Board EEPROM / 板载 EEPROM

OS helper (optional) / 系统助手(可选)

Keystroke → launch app / 键码到启动应用

PowerToys / keyd / Karabiner


 

3. Things Used / 物料清单

 

Hardware / 硬件

Qty / 数量

Component / 元件

Notes / 说明

1

RP2040 board with SPI flash / 带 SPI flash 的 RP2040 板

Uses pins GP0–GP6 / 使用 GP0–GP6 引脚

3

Mechanical key switches / 机械轴

Cherry MX / Gateron / Kailh → GP0, GP1, GP2

3

Keycaps / 键帽

Optional but nice / 可选

1

EC11 rotary encoder (with push switch) / EC11 旋转编码器(带按压)

→ GP3/GP4 + GP5

1

Knob for the encoder / 旋钮帽

Fits EC11 shaft / 适配 EC11 轴

1

LED + ~330Ω resistor / LED + 约 330Ω 电阻

Optional status LED → GP6 / 可选状态灯

Hookup wire / 导线

Thin stranded or solid core / 细多股或单股

1

USB-C data cable / USB-C 数据线

Must carry data, not power-only / 必须能传数据

1

Enclosure (3D-printed / laser-cut) / 外壳

Optional / 可选

 

Software & Services / 软件与服务

Tool / 工具

Used for / 用途

QMK (MSYS or CLI)

Compile & flash firmware / 编译并烧录固件

VIA / usevia.app

Live key & encoder remapping / 实时改键与旋钮

Kiro (or your AI IDE)

The thing you’re controlling / 被控制的对象

Windows Voice Typing (Win+H)

Dictation / 语音听写

PowerToys / keyd / Karabiner

(Optional) make a key launch an app / (可选)让一颗键启动应用

 

Tools / 工具

  • Soldering iron + solder / 烙铁 + 焊锡

  • Wire strippers / 剥线钳

  • (Optional) 3D printer for an enclosure / (可选)3D 打印机做外壳


 

4. Wiring / 接线

EN. Wiring is simple because we use the RP2040’s internal pull-ups. Each switch connects one leg to a GPIO and the other to GND; the pin idles HIGH and a press pulls it LOW (active-low). No external resistors needed.

中文。 接线很简单,因为我们用了 RP2040 的内部上拉。每颗轴一只脚接 GPIO,另一只接 GND;引脚平时高电平,按下被拉低(低电平有效)。不需要外接电阻。

Input / 输入

Pin / 引脚

Notes / 说明

Key 1 / 键1

GP0

→ GND

Key 2 / 键2

GP1

→ GND

Key 3 / 键3

GP2

→ GND

Encoder A / 编码器 A

GP3

quadrature phase A

Encoder B / 编码器 B

GP4

quadrature phase B

Encoder common / 编码器公共脚

GND

middle pin of the A/B side

Encoder push / 旋钮按压

GP5

→ GND

Status LED / 状态灯

GP6

via ~330Ω resistor → GND (optional)

flowchart LR
SW1["SW1"] -->|GP0| RP["RP2040"]
SW2["SW2"] -->|GP1| RP
SW3["SW3"] -->|GP2| RP
ENC["EC11 encoder / 编码器"] -->|"A=GP3 · B=GP4"| RP
ENC -->|"push=GP5"| RP
RP -->|"GP6 + 330Ω"| LED["LED (optional)"]
SW1 --- G["GND"]
SW2 --- G
SW3 --- G
ENC --- G
LED --- G
RP --- G
Mermaid

图片[2]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网图片[3]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网 
展开代码

EC11 wiring note / EC11 接线说明: an EC11 has two sides. The A–C–B side (3 pins) is the rotation encoder — A→GP3, common C→GND, B→GP4. The two-pin side is the push switch — one pin→GP5, other→GND. No power pin required. EC11 有两侧:A–C–B 那一侧(3 脚)是旋转部分——A→GP3,公共脚 C→GND,B→GP4;两脚那一侧是按压开关——一脚→GP5,另一脚→GND。不需要接电源脚。


 

5. Build the Firmware / 编译固件

EN. The keyboard definition lives in vibe_keyboard/keyboards/vibe_coding/. The default keymap binds the three keys plus the encoder press — note these are just the defaults; VIA can override every one of them later:

中文。 键盘定义在 vibe_keyboard/keyboards/vibe_coding/ 里。默认 keymap 绑定了三颗键加旋钮按压——注意这些只是默认值,之后 VIA 可以逐一覆盖:

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
OPEN_KIRO, // 按键1: 打开Kiro
VOICE_TO_TEXT, // 按键2: 语音转文字
KC_ENT, // 按键3: 回车
ENC_PRESS // 按键4: 编码器按键
),
};
65:72:vibe_keyboard/keyboards/vibe_coding/keymaps/default/keymap.c

图片[2]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网图片[3]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网# Copy the keyboard into the QMK tree / 把键盘拷进 QMK 目录 cp -r vibe_keyboard/keyboards/vibe_coding qmk_firmware/keyboards/ # Compile the VIA- and encoder-enabled firmware / 编译带 VIA 和编码器的固件 qmk compile -kb vibe_coding -km default
Bash

图片[2]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网图片[3]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网QMK Configurator and compile in the browser. There are also pre-built .uf2 files in firmware_output/. 把 vibe_keyboard/keyboards/vibe_coding/info.json 传到 QMK Configurator 在浏览器里编译。firmware_output/ 里也有预编译的 .uf2


 

6. Flashing / 烧录

EN.

  1. Enter the bootloader: hold BOOTSEL while plugging in USB (or double-tap RESET — this firmware enables double-tap reset).

  2. A USB drive named RPI-RP2 appears.

  3. Drag the compiled .uf2 onto that drive. The board reboots automatically and starts working.

中文。

  1. 进入 bootloader:按住 BOOTSEL 再插 USB(或双击 RESET——本固件已开启双击复位)。

  2. 会出现一个名为 RPI-RP2 的 U 盘。

  3. 把编译好的 .uf2 拖到这个盘里。板子会自动重启并开始工作。


 

7. Configure in VIA / 在 VIA 中配置

EN. This is the heart of the build — where you decide what every key and the knob do, live.

  1. Open VIA (desktop) or usevia.app (Chrome/Edge). If the board isn’t auto-detected, enable Settings → Show Design tab, go to Design → Load, and pick vibe_coding_via.json from this repo.

  2. Plug in the board. VIA shows the layout: three keys plus the encoder.

  3. Click a key, then choose a keycode. Use the BASIC tab for plain keys, or SPECIAL → Any to type a raw keycode like LGUI(KC_K).

  4. To remap the knob, select the encoder in VIA and assign a keycode to each rotation direction (and to the press).

Changes apply instantly and are stored on the board — no reflashing.

中文。 这是整个项目的核心——你在这里实时决定每颗键和旋钮做什么。

  1. 打开 VIA(桌面版)或 usevia.app(Chrome/Edge)。如果没有被自动识别,在 Settings → Show Design tab 打开设计标签,进入 Design → Load,选择本仓库里的 vibe_coding_via.json

  2. 插上板子。VIA 会显示布局:三颗键加一个旋钮。

  3. 点击某颗键,选择键码。普通键用 BASIC 标签;或用 SPECIAL → Any 直接输入原始键码,例如 LGUI(KC_K)

  4. 旋钮时,在 VIA 里选中编码器,给每个旋转方向(以及按压)分配键码。

改完立即生效并保存在板子上——无需重刷。

Action / 动作

VIA keycode / VIA 键码

Open Kiro (Win+K) / 打开 Kiro

LGUI(KC_K)

Run dialog (Win+R) / 运行对话框

LGUI(KC_R)

Voice typing (Win+H) / 语音输入

LGUI(KC_H)

Command palette / 命令面板

LCTL(LSFT(KC_P))

Submit / 提交

KC_ENT

Spare trigger for an OS helper / 给系统助手用的备用触发键

KC_F13 … KC_F24


 

8. Make a Key Launch Kiro / 让一颗键启动 Kiro

EN. VIA can send keystrokes, but a keyboard can’t launch an app on its own. Two ways to bridge that gap:

  • If Kiro has a global hotkey (or you give its shortcut one), just bind the vibeboard key to that shortcut in VIA — e.g. LGUI(KC_K), or a custom Ctrl+Alt+K you assign to a Kiro shortcut. Done, no extra software.

  • Otherwise, use an OS helper. In VIA, set the key to a spare keycode such as F13, then let the OS catch F13 and launch the app. F13F24 are perfect because no app uses them by default.

中文。 VIA 能发送键码,但键盘本身无法启动应用。两种办法来弥合这个差距:

  • 如果 Kiro 有全局热键(或你给它的快捷方式设一个),直接在 VIA 里把 vibeboard 的键绑到那个快捷键——例如 LGUI(KC_K),或者你给 Kiro 快捷方式设置的自定义 Ctrl+Alt+K。搞定,不需要额外软件。

  • 否则用系统助手。 在 VIA 里把该键设为一个备用键码(如 F13),再让系统捕获 F13 去启动应用。F13F24 很合适,因为默认没有应用会用到它们。

Windows — PowerToys / Windows 方案: open PowerToys → Keyboard Manager → Remap a key → F13 → Run Program, and point it at Kiro.exe. / 打开 PowerToys → 键盘管理器 → 重新映射键 → F13 → 运行程序,指向 Kiro.exe

Linux — keyd / Linux 方案: in /etc/keyd/default.conf:

[main]
f13 = command(kiro)
Ini

图片[2]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网图片[3]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网9. The Vibe Coding Workflow / Vibe Coding 工作流

EN. Here’s the loop the board is designed around. Once it’s muscle memory, you barely touch the main keyboard while iterating with the AI:

中文。 这就是这块板子围绕设计的循环。一旦形成肌肉记忆,你在和 AI 迭代时几乎不用碰主键盘:

flowchart LR
A["Key 1<br/>Open Kiro / 打开 Kiro"] --> B["Key 2<br/>Voice typing / 语音输入"]
B --> C["Speak your intent / 口述需求"]
C --> D["Key 3<br/>Enter — submit / 回车提交"]
D --> E["AI writes code / AI 写代码"]
E --> F["Knob: navigate & select / 旋钮:导航与选择"]
F --> A
Mermaid

图片[2]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网图片[3]-[AI桌面硬件大赏】Vibeboard - 为 Vibe Coding 而生的按键板 - 盘古CG网-盘古CG网10. Using the Knob / 使用旋钮

EN. The rotary encoder is more than a volume knob — it’s a cursor controller with three navigation modes and a selection mode. The logic lives in keymaps/default/keymap.c and encoder_handler.c.

中文。 这个旋转编码器不只是音量旋钮——它是一个带三种导航模式和一种选择模式的光标控制器。逻辑在 keymaps/default/keymap.c 和 encoder_handler.c 里。

Mode / 模式

Turn / 旋转

Sends / 发送

Char / 字符(default / 默认)

CW / 顺时针 → right, CCW / 逆时针 → left

 / 

Word / 单词

CW → next word, CCW → prev word

Ctrl+→ / Ctrl+←

Line / 行

CW → down, CCW → up

 / 

EN. Press the knob to toggle Selection Mode — now turning the knob sends Shift+arrow combinations to grow/shrink a selection (e.g. Shift+→, or Ctrl+Shift+→ in word mode). Press Key 1 + Key 2 together to cycle through the three navigation modes; the chosen mode is remembered in EEPROM.

中文。 按下旋钮 切换 选择模式——此时旋转会发送 Shift+方向键组合来扩大/缩小选区(例如 Shift+→,单词模式下是 Ctrl+Shift+→)。同时按 键1 + 键2 可在三种导航模式间循环切换;所选模式会记在 EEPROM 里。

Why this matters for vibe coding / 为什么对 vibe coding 有用: when the AI produces a chunk of code, you usually want to select a few lines and say “rewrite this part”. The knob turns “select 4 lines” into a couple of clicks instead of a careful mouse drag. 当 AI 生成一段代码时,你通常想选中几行然后说”重写这一段”。旋钮把”选中 4 行”从小心翼翼的鼠标拖拽变成拨两下。


 

11. Customize / 自定义

EN.

  • Change a key, no reflash: just use VIA. This is the whole point of the build — pick any keycode, including modifiers like LGUI(KC_K). Changes persist on the board.

  • Change the defaults (compile-time): edit the LAYOUT(...) block in keymaps/default/keymap.c, recompile, reflash. Only needed if you want different out-of-box behavior.

  • Add keys/knobs: add a pin to DIRECT_PINS in config.h and a matching slot in LAYOUT, then bump MATRIX_COLS.

  • Layers: the firmware ships with 4 VIA layers (DYNAMIC_KEYMAP_LAYER_COUNT 4) — use a key as a layer toggle for a whole second set of actions.

中文。

  • 改一个键,免重刷: 直接用 VIA。这正是本项目的意义——选任意键码,包括 LGUI(KC_K) 这类带修饰键的组合。改动保存在板子上。

  • 改默认值(编译期): 编辑 keymaps/default/keymap.c 里的 LAYOUT(...),重新编译、重刷。只有当你想改开箱行为时才需要。

  • 加键/加旋钮: 在 config.h 的 DIRECT_PINS 里加一个引脚、在 LAYOUT 里加一个位置,并把 MATRIX_COLS 加一。

  • 分层: 固件自带 4 个 VIA 层DYNAMIC_KEYMAP_LAYER_COUNT 4)——用一颗键做层切换,就能多出一整套动作。

Keep the firmware neutral. If you ever feel like writing if (app == "Kiro") in firmware, push that decision out to VIA or the OS helper instead — that’s what keeps this board portable across machines and apps. 保持固件中性。如果你想在固件里写 if (app == "Kiro"),把这个判断挪到 VIA 或系统助手里去——正是这一点让这块板子能跨机器、跨应用通用。


 

12. Troubleshooting / 故障排除

Symptom / 现象

Fix / 解决

No RPI-RP2 drive / 没出现 RPI-RP2 盘

Hold BOOTSEL while plugging in, or double-tap RESET / 插入时按住 BOOTSEL,或双击 RESET

RP2040 keeps booting to BOOTSEL / RP2040 总进 BOOTSEL

Your flash isn’t a W25Q chip — add #define RP2040_FLASH_GENERIC_03H to config.h and rebuild / flash 不是 W25Q——在 config.h 加该宏并重新编译

VIA can’t see the board / VIA 找不到板子

Confirm VIA firmware is flashed; reconnect USB; restart VIA or load vibe_coding_via.json in Design tab / 确认刷了 VIA 固件;重插 USB;重启 VIA 或在 Design 标签加载定义

A key does nothing / 某个键没反应

Check the GPIO↔switch↔GND wiring; reseat the switch / 检查 GPIO↔轴↔GND 接线;重新插紧轴体

Key fires twice / 一按变两下

Raise DEBOUNCE in config.h (default 5) / 调大 config.h 里的 DEBOUNCE(默认 5)

Encoder direction reversed / 旋钮方向反了

Swap encoder pins A↔B, or swap ENCODERS_PAD_A/B in config.h / 交换 A↔B 引脚,或交换配置

Encoder skips / double-counts / 旋钮跳步或多记

Adjust ENCODER_RESOLUTION (default 4) / 调整 ENCODER_RESOLUTION(默认 4)

Key 1 opens nothing / 键1 打不开应用

A keyboard can’t launch apps — set up the OS helper in §8 / 键盘无法启动应用——按 §8 配置系统助手


 

13. Going Further / 进阶玩法

EN.

  • Per-app profiles: assign a spare keycode (F13F24) in VIA, then let your OS helper send different actions per focused app (Kiro vs terminal vs browser).

  • Status LED (GP6): light it to show which navigation mode the knob is in.

  • Use the 4 VIA layers: a “review” layer with accept suggestion / reject / next diff, toggled by holding a key.

  • OLED / RGB: the RP2040 has plenty of headroom for a tiny display showing the active mode.

  • Prompt macros: a key that types your favorite prefix (“Refactor this for readability and add tests:”).

中文。

  • 分应用配置: 在 VIA 里设一个备用键码(F13F24),再让系统助手按当前聚焦的应用发送不同动作(Kiro / 终端 / 浏览器各不同)。

  • 状态灯(GP6): 点亮它来显示旋钮当前处于哪种导航模式。

  • 用上 4 个 VIA 层: 做一个”评审”层,含采纳建议 / 拒绝 / 下一处 diff,按住某键切换。

  • OLED / RGB: RP2040 余量充足,放得下一块小屏显示当前模式。

  • 提示词宏: 一个键直接打出你常用的前缀(”重构这段代码以提升可读性并补测试:”)。


 

14. Code / 代码

File / 文件

What it is / 作用

[vibe_keyboard/keyboards/vibe_coding/](vibe_keyboard/keyboards/vibe_coding/)

The QMK keyboard (keys + encoder + VIA) / QMK 键盘

[keymaps/default/keymap.c](vibe_keyboard/keyboards/vibe_coding/keymaps/default/keymap.c)

Default layout, custom keycodes, encoder logic / 默认布局、自定义键码、编码器逻辑

[encoder_handler.c](vibe_keyboard/keyboards/vibe_coding/encoder_handler.c)

Navigation modes & selection state / 导航模式与选择状态

[config.h](vibe_keyboard/keyboards/vibe_coding/config.h) · [rules.mk](vibe_keyboard/keyboards/vibe_coding/rules.mk)

Pins, encoder, VIA, build options / 引脚、编码器、VIA、编译选项

vibe_coding_via.json

VIA keyboard definition / VIA 键盘定义

firmware_output/*.uf2

Pre-built firmware / 预编译固件


 

License / 许可协议

EN. vibeboard is dual-licensed (see [LICENSING.md](LICENSING.md)):

  • Code & firmware → GPL-2.0 — matches QMK, which the firmware is built on.

  • Documentation & hardware (incl. this tutorial) → CC BY-SA 4.0 — reuse and remix freely, just credit back and share alike.

The bundled qmk_firmware/ is upstream QMK and keeps its own license.

中文。 vibeboard 采用双协议(详见 [LICENSING.md](LICENSING.md)):

  • 代码与固件 → GPL-2.0 —— 与本固件所基于的 QMK 保持一致。

  • 文档与硬件(含本教程)→ CC BY-SA 4.0 —— 可自由复用、二次创作,署名并以相同协议分享即可。

仓库里的 qmk_firmware/ 是 QMK 上游副本,沿用其自身协议。


 

Credits / 致谢

EN. Built on the shoulders of QMK FirmwareVIA, and Kiro. Keeping the firmware a blank slate and letting VIA own the bindings is what makes this board simple to build and endlessly re-mappable — fork it, rewire it, and make the AI loop yours.

中文。 本项目站在 QMK FirmwareVIA 和 Kiro 的肩膀上。让固件保持白板、把绑定交给 VIA——正是这一点让它既好做又能无限改键。尽管 fork 它、改它的接线,把这套 AI 循环变成属于你自己的


Made for vibe coders. PRs and remixes welcome. / 为氛围编程者而作。欢迎 PR 与二次创作。

项目中附件
定制部件和外壳https://makerworld.com.cn/zh/models/2687680-vibe-coding-keyboard-for-kiro?from=search#profileId-3110940
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容