rsheldiii / KeyV2, Hacker News

rsheldiii / KeyV2, Hacker News



This library is a keycap and keyset construction library for mechanical keyboards, written in openSCAD.

Relevant links:

  • Thingiverse: **********************************************************************************
  • Shapeways:


    ****************How to run (**********************************


    Thingiverse Customizer

    First, you’ll need OpenSCAD: ( . I highly recommend installing the development snapshot, as they are much further along than the current stable release (as of writing, (**************************************************************************************. – 3).

    After you have openSCAD installed, you need to download the code and run it. running git clone https: / / you have git, or downloadingthis zipand extracting the code should do it. Then all you need to do is openkeys.scad with openSCAD and you are set! It is possible to edit this project with an external editor by checking off Design=>Automatic Reload and Preview in OpenSCAD.All examples below assume you are running the library on your computer with OpenSCAD.************************


    which is a bog-standard DCS row 5 (number / function row) keycap. To change how the key is generated, you add predefined modifier functions like so: (***************************************** sa_row (2) 2u () key (); (**********************************************You can chain as many modifier functions as you like! (****************************

    ******************************** (********************************************a slightly askew welcome pictureTweaking individual keycapsThere is a bevy of supporting functions to customize your keycaps. You can add a brim to more easily print the stem withbrimmed_stem_support, make 2x2 keycaps with (2u () 2uh (), add legends, rotate stems, and more. These functions can be found in key_profiles / for different keycap profiles,
    Example customizations

    Let's say you wanted to generate some 2u stabilized keycaps for an Ergodox, you could do something like this: (***************************************** legends=["Enter", "Escape", "Tab", "Shift"]; for (y=[0:3]) {   translate_u (0, y) 2u () dsa_row () stabilized () cherry () key (inset=true) {keytext (legends [y], [0,0], 6); } } (**********************************************************************************a slightly askew welcome picture

    The (key ()function also supports children, and will place them in the center of the top of the keycap, if you want to quickly design your own artisan keycaps: (***************************************** cherry () key () {   translate ([-6.25,2.3,-0]) scale (0. 83) import ("Assieme1.stl"); }; (************************************************************************************a slightly askew welcome picture**************(no face courtesy of this thing)

    Artisan support also supports (subtracting********************************** children by doing

    If you're interested in this, it may help to read the Technical Design of a keycapwiki page.Here's an example of tweaking the settings and code to make a 'stop sign' key profile:

    In (key_shape ()in: (***************************************** else if ($ key_shape_type==" stop_sign ") {    stop_sign_shape (size, delta, progress);  } (**********************************************insrc / shapes / stop_sign.scad (******************************************: (********************************************** module stop_sign_shape (size, delta, progress ) {   rotate ([0,0,22.5]) circle (d=size [0] - delta [0], $ fn=8); } (**********************************************

    In (keys.scad) ******************************************:(********************************* union () {   // make the font smaller   $ font_size=3;   // top of keycap is the same size as the bottom   $ width_difference=0;   $ height_difference=0;   $ key_shape_type="stop_sign";   $ dish_type="cylindrical";   // some keycap tops are slid backwards a little, and we don't want that   $ top_skew=0;   legends=["Stop..", "Hammer", "time!"];   for (x=[0:len(legends)-1]) {     translate_u (x) cherry () key (legends [x]);   } } (**********************************************************************************************


    **************************************** (Printing Help) ****************************

    Prints from this library are still challenging, despite all efforts to the contrary. Resin printers can create great looking keycaps; FDM printers can create usable keys that look alright, but may require tweaking to get prints acceptable. There are a few quick things that you can do:

    If your stem isn't fitting in the switch, try upping the slop factor, accessed by giving your keystem function a numeric value (eg (cherry (0.5) key ()). This will lengthen the cross and decrease the overall size of the keystem. The default value is 0.3, and represents millimeters. Note that even if you have a resin printer, you should probably keep the default value; keys printed with 0 slop will barely fit on the stem.

  • If your keystem breaks off the bed mid-print, you can enable a brim by adding the brimmed () modifier. This will give a solid base for the keystem to anchor into.
  • If you are unsatisfied with the quality of the top surface, you can try printing the keycap on a different surface than the bottom, though it may impact the quality of the stem.
  • If your newly-designed key shape is crashing into the switch, you can enable a clearance check for cherry switches by addingto your keycap declaration. This will subtract a cherry switch shape from your keycap, highlighting any parts in red which intersect with the switch.
  • three stop-sign shaped keys with legends

    That's it, if you have any questions feel free. to open an issue or leave a comment on thingiverse!

    What do you think?

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    GIPHY App Key not set. Please check settings

    Steam Ends Year With Lots of Stats & Awards Results, Crypto Coins News

    Steam Ends Year With Lots of Stats & Awards Results, Crypto Coins News

    No foolin’ — the 2010s were a crazy decade for tech, Ars Technica

    No foolin’ — the 2010s were a crazy decade for tech, Ars Technica