TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Making My Own USB Keyboard from Scratch

584 点作者 blakesmith超过 6 年前

29 条评论

niwo超过 6 年前
This project looks nicer than most first efforts. Some random tips for anyone who wants to do something similar, with reservations for that it has been awhile:<p>1. Get a through hole supported usb connector instead of a pure smd one, since the latter likes to fall off.<p>2. I would avoid routing under the switches for durability, this might just be superstition though.<p>3. You can route the x and y of the matrix on different sides of the board to make things easier.<p>4. If you want to pick and place or wave solder it is probably easier to have the smd and through hole parts on different sides of the board.<p>5. No reason not to use the supported switch footprint, especially since you can connect your ground planes with the additional holes. (well, I guess space is a reason but still).<p>6. If you are going to assemble by hand, make the pads longer as needed. Probably especially on the microcontroller and diodes.<p>7. Solder in order of cost and success rate.<p>8. Always add switches, leds and connectors for debugging even if you don&#x27;t intend to use them.<p>9. Some traces are quite close to the center hole, which might also be too small? Anyway, some margin is good for reliability&#x2F;yield. (especially mixing &#x27;technologies&#x27; e.g. holes&#x2F;edges and traces).<p>Edit: Oh, I forgot. You might consider scripting the placement of the switches&#x2F;diodes.
评论 #19182842 未加载
评论 #19184079 未加载
评论 #19182012 未加载
评论 #19182506 未加载
评论 #19184214 未加载
评论 #19183787 未加载
agrahul超过 6 年前
If you’re open-sourcing a project, you can get a real USB PID instead of hijacking someone else’s: <a href="http:&#x2F;&#x2F;pid.codes&#x2F;howto&#x2F;" rel="nofollow">http:&#x2F;&#x2F;pid.codes&#x2F;howto&#x2F;</a>
评论 #19181732 未加载
neonroku超过 6 年前
Cool project!<p>For folks interested in doing this themselves there are some communities out there - others have mentioned qmk, here are some useful forums to check out:<p>* <a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;MechanicalKeyboards" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;MechanicalKeyboards</a><p>* <a href="https:&#x2F;&#x2F;geekhack.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;geekhack.org&#x2F;</a><p>* <a href="https:&#x2F;&#x2F;deskthority.net" rel="nofollow">https:&#x2F;&#x2F;deskthority.net</a><p>Depending on your level of interest&#x2F;commitment you don&#x27;t have to design your PCB and software from scratch, there&#x27;s a spectrum from designing your own PCB, case, etc. to putting together components designed and sold by somebody else.
samstave超过 6 年前
I have a design wish for people who make things like this: “row modules”<p>Basically, as an example - i wouldnt be fond of the size of that spacebar, and would like other modules.<p>What if each horizontal row of the standard length on a qwerty were its own module, and you can snap several together to make the board you want.<p>Want a touchpad? Snap it to the base or side. Want a touchbar oled strip: snap it to the top. 9-key? No problem - gamer config wsad side module? Yep.<p>Want to just pull out the small qwerty section for some reason - just unsnap whatever you need.<p>Also, from a connection perspective, they should be little round rare earth magnet cylendars in dowl posts and you just mate the pieces this way.<p>Fyi, Daiso Japan carries these in packs of 8 for $1.50.
评论 #19181857 未加载
评论 #19187302 未加载
评论 #19182014 未加载
评论 #19192533 未加载
mncharity超过 6 年前
Has anyone seen keyboards with non-traditional touch surfaces? Such as trackpad keycaps?<p>Backstory: My fingers slide smoothly across my ThinkPad laptop keyboard, so I was playing with optical hand tracking (with a surface mirror to better track touch) to make the entire keyboard (and surrounding laptop) into a multitouch surface. There were occlusion and jitter issues, even with fingernail markers, and I set it aside while still not quite working. But I was left thinking &quot;I should get back to this&quot; rather than &quot;never again&quot;. Stroking a keycap as a trackpad seemed nice, even already having a touchpoint. Merely touching modifier keys (emacs) rather than having to press them. With a 3D display, I overlaid video of the keyboard, slightly above the screen plane so it was easily seen but only moderately annoying. And thus could overlay a multitouch control panel that doesn&#x27;t require shifting attention from the screen, or hands from the keyboard. With screen-comparable VR&#x2F;AR seemingly only a year or three away now, with attendant changes in UI constraints, there seems an opportunity to escape decades-old HID fetters, at least with professional UIs.
评论 #19182524 未加载
评论 #19185452 未加载
评论 #19182712 未加载
评论 #19185472 未加载
评论 #19183914 未加载
mntmn超过 6 年前
I love stuff like this. We made a whole laptop in this spirit, with a custom USB keyboard, optical trackball, motherboard and 3d printed&#x2F;cnc milled case, also with KiCAD: <a href="https:&#x2F;&#x2F;mntmn.com&#x2F;media&#x2F;news_md&#x2F;2019-01-14-status_update_on_reform.html" rel="nofollow">https:&#x2F;&#x2F;mntmn.com&#x2F;media&#x2F;news_md&#x2F;2019-01-14-status_update_on_...</a>
评论 #19182324 未加载
评论 #19182204 未加载
userbinator超过 6 年前
One suggestion I have is to not mount the USB connector on the board itself, but instead on the &quot;case&quot; with a short pigtail leading to the board. There&#x27;s a reason the majority of PC keyboards have a captive lead which runs into a strain relief on the case --- to keep the load off the solder joins when the cable moves around.<p>Interesting thought: The microcontroller in that keyboard is more powerful than the first IBM PC.
snazz超过 6 年前
For anyone who’s tried both: are big keyboards with lots of modifiers or little keyboards with “layers” more comfortable and functional for you? I currently have a full-size mechanical PC keyboard and am debating buying a Planck.
评论 #19182040 未加载
评论 #19183745 未加载
评论 #19181966 未加载
评论 #19181999 未加载
评论 #19182100 未加载
评论 #19182527 未加载
评论 #19181884 未加载
评论 #19181996 未加载
timonoko超过 6 年前
I made an USB-controlled relay from old keyboard circuit board. The relay is connected to the Scroll-lock LED, which is totally useless otherwise. Which means I can switch the relay on from keyboard or bash-script. At the moment the relay is connected to the ambient light in my lair.
keithnz超过 6 年前
funny, I was just looking at a keyboard stream on twitch for <a href="https:&#x2F;&#x2F;ishtob.net&#x2F;hadron&#x2F;hadronv3-groupbuy" rel="nofollow">https:&#x2F;&#x2F;ishtob.net&#x2F;hadron&#x2F;hadronv3-groupbuy</a> and I was just browsing the open source code used in the keyboard here <a href="https:&#x2F;&#x2F;github.com&#x2F;qmk&#x2F;qmk_firmware" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;qmk&#x2F;qmk_firmware</a>
评论 #19181722 未加载
kakwa_超过 6 年前
Reminds me of the time I rewired an old Mac SE keyboard to an USB keyboard controller.<p>Basically, I took an USB keyboard controller from a cheap secondhand Dell keyboard, reversed its matrix, and then rewired every combination to the USB controller board using a wires peeled off from an IDE connector.<p>Very time intensive, and to say the truth, not really working well in the end, but, hey, I was a student at the time.<p>It was far less ambitious than the titled project, but here are the pictures:<p><a href="http:&#x2F;&#x2F;blog.kakwalab.ovh&#x2F;IMG_6920.CR2.jpg" rel="nofollow">http:&#x2F;&#x2F;blog.kakwalab.ovh&#x2F;IMG_6920.CR2.jpg</a><p><a href="http:&#x2F;&#x2F;blog.kakwalab.ovh&#x2F;IMG_6921.CR2.jpg" rel="nofollow">http:&#x2F;&#x2F;blog.kakwalab.ovh&#x2F;IMG_6921.CR2.jpg</a><p>(yes, it&#x27;s a mess).
rolleiflex超过 6 年前
Does anybody know if there’s anything inherent in this that makes it have to be QWERTY in layout, or in shape?<p>What I’m thinking about is to actually make a custom physical user interface. Less of a keyboard and more the bridge of USS Enterprise.
评论 #19182197 未加载
评论 #19182176 未加载
评论 #19182301 未加载
评论 #19182114 未加载
diimdeep超过 6 年前
<a href="https:&#x2F;&#x2F;github.com&#x2F;diimdeep&#x2F;awesome-split-keyboards" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;diimdeep&#x2F;awesome-split-keyboards</a>
secure超过 6 年前
If you’re into custom-made keyboards and keyboard parts, check out my Kinesis advantage replacement controller project: <a href="https:&#x2F;&#x2F;michael.stapelberg.ch&#x2F;posts&#x2F;2018-04-17-kinx&#x2F;" rel="nofollow">https:&#x2F;&#x2F;michael.stapelberg.ch&#x2F;posts&#x2F;2018-04-17-kinx&#x2F;</a> (only 0.2ms of input latency!)
评论 #19184647 未加载
subjoriented超过 6 年前
Once I pulled a prank on a colleague by setting up a 555 timer inside their keyboard so that alt+f4 would constantly get pressed (every ~1 second). Because that friend was a software hacker, I knew he would look for rootkits and all sorts of nefarious software issues that could lead to this behavior. Anyhow, he did eventually figure it out (not after he was sure his BIOS was infected - yes this was 2007).<p>What I learned during that prank was that keyboards are very complicated. A keyboard is essentially a giant switching system where pressing keys closes circuits, and a microprocessor looks to see what lines are high&#x2F;low and infers which keys have been pressed. There&#x27;s whole systems designed around avoiding &quot;ghost keys&quot;, which arise because the number of combinations of possible simultaneous button presses of the switching system far outnumber the possible combinations of signals.
评论 #19187786 未加载
vfinn超过 6 年前
This may be irrelevant, but I&#x27;ve long wondered, do we really need the buttons at all. Couldn&#x27;t we just have a &quot;sensory board&quot;, where each individual could initialize the board using their hand movement &#x2F; finger press patterns to individual letters and&#x2F;or words based on probabilities.
评论 #19184398 未加载
franzwong超过 6 年前
There is a shop in Japan for DIY keyboard<p><a href="https:&#x2F;&#x2F;japantoday.com&#x2F;category&#x2F;tech&#x2F;japan%E2%80%99s-first-do-it-yourself-keyboard-specialist-shop-opens-in-akihabara" rel="nofollow">https:&#x2F;&#x2F;japantoday.com&#x2F;category&#x2F;tech&#x2F;japan%E2%80%99s-first-d...</a>
ferongr超过 6 年前
So much effort just to type on Cherry browns. Without the stiffness of a plate mount even.
petercooper超过 6 年前
What is it like typing on a keyboard that&#x27;s just a grid? Every keyboard I&#x27;ve used has had each row be shifted slightly which seems to make touch typing easier.
评论 #19184088 未加载
评论 #19183921 未加载
评论 #19183918 未加载
Solar19超过 6 年前
Nice. This reminds me of some old patents I like for optical keyboards, e.g. <a href="https:&#x2F;&#x2F;patents.google.com&#x2F;patent&#x2F;US4379968A" rel="nofollow">https:&#x2F;&#x2F;patents.google.com&#x2F;patent&#x2F;US4379968A</a><p>Though real optical would require optical equipment in the desktop&#x27;s or laptop&#x27;s chassis or motherboard, and OS support, since it wouldn&#x27;t be USB at any stage.
vemv超过 6 年前
The keycaps can&#x27;t be easily DIYed right?
评论 #19181787 未加载
评论 #19182174 未加载
评论 #19181780 未加载
评论 #19184018 未加载
barbecue_sauce超过 6 年前
I&#x27;m not a mechanical keyboard guy. Is it as difficult to type on a qwerty grid layout as it seems like it would be?
评论 #19183359 未加载
Aardwolf超过 6 年前
Hey it looks great. Question about the circuit: is it NKRO, or is there any shadowing or ghosting?
mellow-lake-day超过 6 年前
This is some great quality content!<p>Great project scope, execution, and write up.
评论 #19184195 未加载
zacharycohn超过 6 年前
Nice job! Did you consider 3d printing any components?
评论 #19184466 未加载
jamisteven超过 6 年前
Where does one find the time for such activities.
kevintb超过 6 年前
Incredibly cool project!
artificialLimbs超过 6 年前
Sweet. Words per minute?
spsrich超过 6 年前
love the colour. Took me right back to the Data General days.