Curve0More
More
About Curve0I have spent a ton of time exploring all kinds of keyboards and making my own. While my personal keyboards are
a bit too extreme for most, I want to share at least some of my design ideas with the world. One concept I am passionate about is a curved assembly, relying on the positions of the switches themselves instead of the keycap profile to achieve the curved typing surface. Curve0 brings a curved assembly to the 60% layout at an affordable price.
To give everyone a chance to try this, I designed a simple construction to keep the price low. The case (into which the plate is integrated) is cut and bent from two pieces of 1.5mm stainless steel with a brushed finish. You may find visible surface imperfections from the manufacturing process.
Curve0 requires uniprofile keycaps - I have personally built it with DSA and XDA.
Why curve More
It has long been known that a flat typing surface is not very comfortable. This is why the majority of keyboards have profiled keycaps. You may have noticed that all keycap profiles share a common characteristic: the overall typing surface is in the general shape of a curve.
(original photo from
https://geekhack.org/index.php?topic=68550; check out that thread to see lots of other profiles)
Changing the keytop angles (in order to achieve a curved typing surface) has flaws:
- The angle of the force applied to the key is not in line with the translation axis of the switch. As a result:
- Only the component of the force that is parallel to the switch action actually contributes to moving the switch. The operator therefore needs to press harder in order to move the switch the same amount (vs flat keytop):
- The perpendicular force component becomes friction. This results in a less smooth key travel.
- Additionally, the added friction resists the movement of the switch and makes the operator have to press even harder!
- The angled keycaps also need to be taller. The perpendicular force component therefore has greater leverage, which increases its added friction (which decreases smoothness and requires you to press even harder):
To fix these flaws, Curve0 has the switches themselves at an angle. This gives a curved typing surface with flat keycaps.
Another advantage of having the switches at an angle is that your finger actually moves in the direction of the press during the key travel, which feels more comfortable (in my opinion at least).
Height and angles More
With DSA keycaps, Curve0 will have a home row height of about 25.5mm and a spacebar height of about 27.5mm.
Measuring the angle is not as straightforward as other keyboards since each row has a different angle. With the default rubber feet, the home row has no angle (parallel to table). However, I find that the keyboard angle is better represented by the tangent of the curve between the home row and the row above it, as this is the center of the actual typing surface (without the spacebar row). This has an angle of 5°. Finally, the spacebar has an angle of 2°. The extra rubber feet add (or subtract, if you put them on the front) 4°.
Layout supportCurve0 is a 60% ANSI keyboard supporting split backspace and shifts. Standard bottom row. Unfortunately ISO enter is not supported as it would require a different case and PCB.
Kit will includeMore
- Stainless steel case with screws and standoffs
- Main PCB (RP2040 mcu), daughterboard (UDB C5 with two mounting holes removed), and their connecting cable (JST-SH)
- 4x small rubber feet and 4x large rubber feet for adjusting keyboard angle to your preference
You will need your own: switches, keycaps, PCB-mount stabilizers, USB-C cable.
Assembly requires soldering and flashing firmware. QMK and vial firmware will be provided and flashing is simple (the PCB uses RP2040 so it is basically drag and drop).
Discord serverhttps://discord.gg/2cN5WGYscMUpdate: FirmwaresI have attached the firmwares to the post.
kbd0_curve0_60_ansi_default.uf2 is the QMK firmware with the default keymap. You can generate it yourself with
QMK Configurator.As of 2025-01-20, the default keymap has not been merged into QMK Configurator. You can upload the attached keymap.json to QMK Configurator to get started.
kbd0_curve0_60_ansi_via.uf2 is the Via firmware. Flash this and you are good to go (remapping is done on the
Via site.)
As of 2025-01-20, the files have not been merged into Via. To remap on the site, you will need to turn on the Design tab in Settings and upload the attached 60_ansi.json file.
kbd0_curve0_60_ansi_vial.uf2 is the Vial firmware. Flash this, install Vial's desktop application, and you are good to go (remapping is done on the fly in Vial).
If you want to build the firmwares yourself:
The QMK firmware has been merged to the official QMK repository, you can find it there.
As of 2025-01-20, the Vial firmware has not been merged to the official Vial repository. You can use my fork for now instead:
https://github.com/kbd0/vial-qmkAs of 2025-01-20, the Via code has not been merged to the official Via repositories. You can use my fork for now instead:
https://github.com/kbd0/qmk_userspace_via and the attached 60_ansi.json file
Price and how to buyCurve0 can be pre-ordered for 75$ USD at
kbd0.comThis group buy is live now until November 30. I expect to deliver Q1 2025 if all goes smoothly. I doubt delivery will be later than Q2.