#+title: 键盘DIY #+date: <2023-07-21 Fri 23:04> #+author: thebesttv 有两个想法 - 超低成本键盘,按键不多,适合送人之类的hh - 分体键盘,成本尽量低,矮轴,希望有 OLED 屏 - 6列,每列4行。大拇指三个。共24+3=27个 - 大拇指参考 crone 或 piantor - 其余参考 keebio iris rev 7 - 带屏幕 - [[https://www.reddit.com/r/ErgoMechKeyboards/][Reddit 上的 ErgoMechKeyboards 社群]] * 键帽 大多数是十字键帽,但凯华Choc不兼容。 目前没找到十字的超低键帽,打算试试3D打印。 * 矮轴 主要有两种矮轴: - [[http://www.kailh.com/product/Ms/Choc/][凯华Choc]]:键帽不是十字的,接近三块一粒 - [[https://www.gateron.co/products/gateron-low-profile-mechanical-switch-set][佳达隆矮轴]]:十字键帽,相对便宜点,两块几一粒 两者的PCB均不兼容,也和MX不兼容。 * 键盘布局 - [[https://github.com/ergogen/ergogen][Ergogen - Ergonomic keyboard layout generator]] - [[http://www.keyboard-layout-editor.com/#/][Keyboard layout editor]] - [[https://jhelvy.shinyapps.io/splitkbcompare/][Split keyboard compar]] * 轴体固定方式 ** PCB ** 定位板 热插拔需要,可以用一块1mm的PCB代替(1.2的或许也行?)。 ** 3D打印 直接打印一块定位板固定轴体,这样可以实现弯的键盘。 * MCU ** CH552 主要分为 CH552G(SOP-16)和 CH552T()。 相比于基于 RISC-V 的 CH582,更容易焊接,也更便宜。 可以用 Arduino 编程,[[#toby-chui][Toby Chui]] 的键盘里有样例代码。 - [[https://blog.csdn.net/havc_W/article/details/122467144][沁恒CH552G实现最小系统]] - [[https://www.wch.cn/products/CH552.html][沁恒 CH552 介绍]] - [[https://www.wch.cn/products/productsCenter/mcuInterface?categoryId=72][CH552 所在的 E8051 USB 系列]] - [[https://github.com/DeqingSun/ch55xduino/tree/ch55xduino][ch55xduino]] * 按键扫描方式 ** 矩阵扫描 大多数键盘采用的方法,缺点是每个按键都需要二极管,从而防止鬼键,此外不太 清楚这种的怎么 debounce。 ** 并入串出 从稚晖君的翰文上发现的。74HC165 是并入串出芯片,每个可以输入8位,也就是8个键。 把多个 74HC165 串联,可以让 MCU 只用 1 个 IO 口(和几个控制芯片的端口) 实现任意多键的扫描。 稍微有点麻烦的是,每个按键需要一个10K的上拉电阻。 可以使用 0603 的排阻代替4个电阻。 - [[https://atta.szlcsc.com/upload/public/pdf/source/20160218/1457707760975.pdf][74HC165 文档]] * 一些成品 ** 分体键盘 - [[https://youtu.be/pK41Mr4Kdd0][Keys To A Dream Software Development Setup]] An overview of some novel approaches to the computer keyboard, both in terms of physical layout and key mappings. - [[https://aposymbiont.github.io/split-keyboards/][Split keyboard gallery]] - [[https://github.com/diimdeep/awesome-split-keyboards][Awesome Split Keyboards]] - [[https://www.ergodox.io/][ErgoDox]] - [[https://github.com/pashutk/chocofi][Chocofi]] ** Toby Chui 的两块基于 CH552 的键盘 :PROPERTIES: :CUSTOM_ID: toby-chui :END: 小的是 4 键,大的 5x4 键,PCB 大小可以控制在 10x10。 大的虽然采用的是矩阵扫描,但好像没有用二极管防止鬼键。 - [[https://twitter.com/toby_chui/status/1675050392038825984][twitter]] - [[https://www.instructables.com/DIY-3-Single-Chip-Macro-Keypad-From-Scratch-Arduin/][4xMacropad]]: DIY $3 Single Chip Macro Keypad From Scratch (Arduino IDE Programmable!) 基于 CH552G 的低成本 4键 键盘 * 打字练习 - monkeytype - typeracer - speedcoder * Misc - [[https://precondition.github.io/home-row-mods][A guide to home row mods]] 大概是说在 home row 放上 ctrl 和 alt 等控制键。 - [[https://wiki.ai03.com/books/pcb-design/page/pcb-guide-part-1---preparations][ai03's Keyboard PCB Design Guide]] - [[https://github.com/ruiqimao/keyboard-pcb-guide][Keyboard PCB Guide]] - [[https://www.masterzen.fr/2020/05/03/designing-a-keyboard-part-1/][Designing a keyboard from scratch - Part 1]] - [[https://youtu.be/Mks7QDxFreY][The Charybdis Wireless Keyboard]] 使用很薄的PCB,来达到弯折的效果 - [[https://oshwhub.com/nimrodlord/ada40][50%矮轴热插拔小键盘 ada51]] 定位板使用通用标准轴体开孔,但是是1mm厚