DS34 v2 数字小键盘(b23_ds34_v2)
34 键 + 1 个旋钮 · USB 有线单模 · QMK 固件 · VIA 改键
b23_ds34_v2 是菜籽猫 DS34 v2 数字小键盘 PCB:主控 STM32F103CBT6(Blue Pill),8 列 × 6 行矩阵,带完整的编辑区、方向键与音量键,右上角 1 个 EC11 旋钮。旋钮走虚拟键位映射,顺 / 逆时针都能在 VIA 里单独改键。固件为 QMK,开源,支持 VIA 在线实时改键。
1. 基本参数
| 规格 | 参数 |
|---|---|
| PCB 型号 | b23_ds34_v2(DS34 v2) |
| 按键数量 | 34 键 + 1 个旋钮 |
| 矩阵 | 8 列 × 6 行(COL2ROW) |
| 连接模式 | USB 有线单模 |
| 接口 | Type-C(支持 C2C 线) |
| 主控 | STM32F103CBT6(Blue Pill) |
| 旋钮 | 1 个 EC11 增量编码器(B8 / B9,方向已翻转) |
| USB VID / PID | 0x4B23 / 0x4B23 |
| 灯光 | RGB 轴灯(WS2812 @ B13,下灯位),33 个灯位 |
| 默认灯效 | cycle_left_right(左右循环) |
| 层数 | 4 层(0–3) |
| 全键无冲 | 支持(NKRO) |
| 回报率 | 1000 Hz |
| 固件平台 | QMK(开源) |
| 改键工具 | VIA 在线改键 |
| 源代码 | github.com/micahyy/czm_qmk |
2. 硬件接口与引脚(PCB 设计)
| 功能 | 引脚 / 参数 |
|---|---|
| 矩阵 | 6 行 × 8 列(COL2ROW) |
| 旋钮 A / B 相 | B8 / B9 |
| WS2812 数据脚 | B13 |
| Bootloader | stm32duino |
2.1 旋钮虚拟键位
旋钮的顺时针 / 逆时针映射到 row 3 的 col 0 / col 1 两个虚拟位(ENCODERS_MATRIX_MAP),这两个位置没有实体轴,所以在 VIA 的键位图里就是旋钮的两个动作,每一层都能分别指定。旋钮方向已在固件里翻转(ENCODER_DIRECTION_FLIP)。
3. 灯光说明
- 轴灯为 WS2812 RGB 下灯位,共 33 个灯位,默认灯效「左右循环」。
- NumLock 指示:NumLock 开启时第 9 号灯位亮白。
- 层指示:切到第 1 / 2 / 3 层时,对应灯位(如第 3 / 24、25、26 号)会亮白,方便确认当前层。
- 灯效的开关、切换、亮度都可以在第 1 层的快捷键里直接调,也可以在 VIA 的 Lighting 菜单里调。
4. 快捷键与层
键盘有 4 层(0–3):
| 操作 | 说明 |
|---|---|
按 FN(默认层顶部第 4 个位置,Pause 键位) | 按住进入第 1 层 |
第 1 层里按住 ↓ | 临时进入第 3 层(维护层) |
4.1 第 0 层(默认层)
| 区域 | 键 |
|---|---|
| 顶部一排 | PrintScreen、ScrollLock、FN(进第 1 层)、PgUp、PgDn、Mute、音量-、音量+ |
| 第二排 | Insert、Home、PgUp、Num、/、*、- |
| 第三排 | Del、End、PgDn、7、8、9、+ |
| 第四排 | 4、5、6(左侧两个旋钮虚拟位) |
| 第五排 | ↑、1、2、3、Enter |
| 第六排 | ←、↓、→、0(2u)、. |
4.2 第 1 层(按住 FN)
| 位置 | 键 |
|---|---|
Num 位 | RGB 开关(RM_TOGG) |
5 位 | 切换灯效(RM_NEXT) |
0 位 | 切换灯效(RM_NEXT) |
← / → 位 | 保持默认(透传) |
↓ 位 | 按住进入第 3 层维护层(MO(3)) |
4.3 第 3 层(维护层,第 1 层里按住 ↓ 再按)
| 位置 | 键 |
|---|---|
左上角 PrintScreen 位 | 进入 Bootloader(QK_BOOT,刷机模式) |
右下角 . 位 | 恢复出厂设置(EE_CLR,清空 VIA 改键) |
进 Bootloader 之前不必先把键盘断电,按完直接进入 DFU;恢复出厂设置后键盘会自动重启并回到默认键位。
5. VIA 改键
- 用 USB 线接好键盘,打开 VIA:国内服务器 | 海外服务器
- 首次使用需要在 Design(设计) 标签加载本键盘的 JSON 定义文件(随固件一起发布,或从固件仓库编译目录获取)
- 加载后切回 Configure(改键) 标签即可实时改键,改完立即生效并保存在键盘里
- 36 个位置都可改,其中 row 3 的 col 0 / col 1 就是旋钮的顺 / 逆时针
VIA 使用教程见:VIA 的使用
6. 固件烧录
本 PCB 使用 stm32duino bootloader:
- 进入 Bootloader(任选一种):
- 快捷键:按住
FN,再按住↓,然后按左上角PrintScreen位(QK_BOOT) - 或:拔掉 USB 线,按住左上角第一个键不放再插线(QMK Bootmagic Lite)
- 快捷键:按住
- 烧录固件:
- 用 QMK Toolbox 选择编译好的
.bin文件点 Flash;或 - 命令行:
dfu-util -a 2 -d 1EAF:0003 -D <固件>.bin
- 用 QMK Toolbox 选择编译好的
- 烧录完成后重新插拔 USB 线即可使用。
7. 自行编译固件
固件源码开源在 github.com/micahyy/czm_qmk,编译命令:
make czmao/b23_ds34_v2:via
仓库的 GitHub Actions 会自动编译,固件可在 Actions 的 Artifact(firmware-b23_ds34_v2)里下载。
8. 常见问题
Q:VIA 识别不到键盘? A:请使用支持 WebHID 的 Chrome / Edge 打开 VIA,并确认已加载本键盘的 JSON 定义。仍不行就换接口或换线。
Q:旋钮方向反了? A:在 VIA 里把旋钮对应的两个位置互换即可;也可以改 config.h 的 ENCODER_DIRECTION_FLIP 后重新编译。
Q:改键乱了想恢复? A:按住 FN → 按住 ↓ → 按右下角 . 键位(EE_CLR),清空 EEPROM 回到默认键位。
Q:小键盘数字打不出来? A:确认 NumLock 是打开的(NumLock 开启时第 9 号灯位会亮白);部分系统需要在系统设置里开启「鼠标键关闭」。
[QQ 交流群]
677654482
📥 固件与源码下载
- 固件源码(QMK):github.com/micahyy/czm_qmk(PCB 路径
keyboards/czmao/b23_ds34_v2) - 编译好的固件:仓库 GitHub Actions 的 Artifact
firmware-b23_ds34_v2
烧录方法见上文第 6 节「固件烧录」。

评论 / 提问 (填个昵称就能留言,无需注册;邮箱选填,填了能收到回复通知)