[{"data":1,"prerenderedAt":422},["ShallowReactive",2],{"project-24610658":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":46,"post_text":48,"what":49,"said":92,"maker_in_thread":219,"shape":226,"grid":231,"attempts":386,"same_week":387,"maker_shows":33,"maker_hidden":414,"reader_version":415,"card":416},"24610658","Keyboard Simulator","virtual keyboard designer","title","Show HN: Keyboard Simulator – virtual keyboard designer","https:\u002F\u002Fkeyboardsimulator.xyz\u002F","keyboardsimulator.xyz","crsnbrt",1601245514,2020,210,63,256,3028,9,"notable","creative","keyboard design visualiser","web_app",[24,25,26,27],"keyboard designer","mechanical keyboard","3d keyboard preview","keyboard layout","mixed",0.302,{"positive":31,"neutral":32,"mixed":33,"critical":34},12,10,1,4,27,{"design":37,"pricing":39,"performance":42,"execution":43,"docs":44,"idea":45},{"positive":33,"critical":38},3,{"positive":40,"critical":41},2,0,{"positive":33,"critical":41},{"positive":41,"critical":33},{"positive":41,"critical":41},{"positive":41,"critical":41},[47,38,47,47,47,47,33,47,41,38,38,41,41,41,41,41,41,41,41,41,38,41,38,41,41,41,41,38,41,33,38,33,41,38,47,38,47,41,47,47],5,null,{"problem":50,"audience":57,"pricing":48,"motivation":66,"time_to_build":48,"stack":73,"openness":90,"stage":91,"team_size":90},{"value":51,"source":52,"evidence":53},"Lets people visualise what a custom keyboard could look like before building it","maker",[54],{"id":55,"by":11,"text":56},"24612065","Thanks, you're right it could use a few more layouts, 75% is probably the biggest omission. I didn't want it to be too overwhelming with too many variations as I see this as more…",{"value":58,"source":59,"evidence":60},"Mechanical keyboard enthusiasts","inferred",[61,65],{"id":62,"by":63,"text":64},"24611243","SommaRaikkonen","Thanks a lot for sharing. I used to go on \u002Fr\u002FMKB a lot a few years ago, but I had to stop because I wouldn't ever be able to afford such nice-looking keyboards, as they were…",{"id":55,"by":11,"text":56},{"value":67,"source":52,"evidence":68},"Sticker shock of expensive mechanical keyboards and a tool for interest checks",[69,72],{"id":70,"by":11,"text":71},"24611407","That mk sticker shock is no joke, part of the inspiration for this :)",{"id":55,"by":11,"text":56},[74,80,84],{"value":75,"source":52,"evidence":76},"React",[77],{"id":78,"by":11,"text":79},"24620060","It's a react app using three.js or the keyboard rendering",{"value":81,"source":52,"evidence":82},"three.js",[83],{"id":78,"by":11,"text":79},{"value":85,"source":52,"evidence":86},"QMK keyboard data model",[87],{"id":88,"by":11,"text":89},"24611322","I modeled the json for building the boards around qmk (https:\u002F\u002Fbeta.docs.qmk.fm\u002F) for example a board layout: https:\u002F\u002Fapi.qmk.fm\u002Fv1\u002Fkeyboards\u002Fdz60","unknown","launched",{"praise":93,"objections":121,"requests":155,"questions":194,"alternatives":206},[94,110],{"value":95,"source":96,"evidence":97},"Smooth 3D view, including on mobile","commenter",[98,102,106],{"id":99,"by":100,"text":101},"24611484","maddyboo","The 3D viewport is super smooth on mobile, great job & awesome tool!",{"id":103,"by":104,"text":105},"24612448","raynr","Oh wow this is great, very smooth on my PC! Lets me look at various colour combos. Is this just meant to be a visualisation tool? Imports from…",{"id":107,"by":108,"text":109},"24613356","mherrmann","Very cool. I love how even on mobile I can just rotate, pan and zoom in the 3D view.",{"value":111,"source":96,"evidence":112},"Satisfying and fun to play with",[113,117],{"id":114,"by":115,"text":116},"24613916","stanislavb","It's somehow very satisfying to play with this :)",{"id":118,"by":119,"text":120},"24620216","jerome-jh","Delightfully useless.",[122,137,148],{"value":123,"source":96,"evidence":124},"Missing 75% and split layouts",[125,129,133],{"id":126,"by":127,"text":128},"24611896","airstrike","This is great. From the title, I thought it was http:\u002F\u002Fwww.keyboard-layout-editor.com\u002F but this is a nice addition. Almost wish it combined the functionality of the two, or at…",{"id":130,"by":131,"text":132},"24615701","toyg","At least one split layout would be nice too.",{"id":134,"by":135,"text":136},"24611305","hanklazard","Very cool! I've been going down the mech keyboard rabbit hole for the last week ... think you could add a split layout option?",{"value":138,"source":96,"evidence":139},"40% ortho spacebar width is inaccurate",[140,144],{"id":141,"by":142,"text":143},"24612825","ivanstojic","I think the 40% ortho keyboard model doesn't really accurately represent what that class of keyboards look like.",{"id":145,"by":146,"text":147},"24622540","raihansaputra","Yeah I just realized that too. The spacebar should be 2u instead of 3u.",{"value":149,"source":96,"evidence":150},"Case finish selection bug (Matte selects Glossy)",[151],{"id":152,"by":153,"text":154},"24619595","mncharity","Issue: clicking Case Finish Matte selects Glossy. Reload; click CASE OPTIONS; for Case Finish, expect Brushed to be shown as selected. Click on the Matte radio button circle.…",[156,168,179,190],{"value":157,"source":96,"evidence":158},"Split keyboard layout option",[159,163,164],{"id":160,"by":161,"text":162},"24614984","weinzierl","This is fantastic! If I had a wish I'd wish for the addition of split keyboard layouts (like Ergodox) and the Granite color scheme. One minor thing: I can scroll through the list…",{"id":134,"by":135,"text":136},{"id":165,"by":166,"text":167},"24612911","127","I guess that's pretty cool. The 65% is not 65% IMO, but the Drop 65%. There's a key missing left of the arrows. Also would be nice to have keyboard height, split keyboards,…",{"value":169,"source":96,"evidence":170},"Buy button",[171,175],{"id":172,"by":173,"text":174},"24611212","subsubsub","Congratulations, this is great. Now add a \"buy\" button!",{"id":176,"by":177,"text":178},"24633697","g105b","If only there was a [BUY NOW], you would make a serious load of cash.",{"value":180,"source":96,"evidence":181},"Switch type and sound simulation",[182,186],{"id":183,"by":184,"text":185},"24611439","Aeolun","Need to be able to select the switch type then :P",{"id":187,"by":188,"text":189},"24613421","Zak","And simulate the sound.",{"value":191,"source":96,"evidence":192},"Import from keyboard-layout-editor",[193],{"id":103,"by":104,"text":105},[195],{"value":196,"source":96,"evidence":197},"Which 3D technology is used",[198,202],{"id":199,"by":200,"text":201},"24619131","Rokid","Which technology did you use for the 3D stuff? I've never seen anything quite like this!",{"id":203,"by":204,"text":205},"24619323","ReedJessen","This is an amazingly slick 3d system in my browser. What tech stack is this?",[207,212],{"value":208,"source":96,"evidence":209},"keyboard-layout-editor.com",[210,211],{"id":126,"by":127,"text":128},{"id":103,"by":104,"text":105},{"value":213,"source":96,"evidence":214},"splitkbcompare",[215],{"id":216,"by":217,"text":218},"24611799","rickyc091","While not the same, you can use this to compare split layouts. https:\u002F\u002Fjhelvy.shinyapps.io\u002Fsplitkbcompare\u002F",{"comments":18,"answered":34,"key":220},[221,222,225],{"id":55,"text":56},{"id":223,"text":224},"24616131","You can also use space or enter to activate i made sure you can do everything from the keyboard alone. Adding an extra keypress was by design, since I have to generate new…",{"id":70,"text":71},{"commenters":227,"max_depth":228,"maker_replies":18,"first_comment_mins":229,"lifespan_hours":230},45,6,81,50,[232,234,236,238,240,243,247,248,249,251,253,254,255,257,258,260,261,264,267,270,272,275,279,282,285,288,291,294,296,299,302,304,306,310,313,315,317,320,324,327,329,331,333,335,336,337,339,342,347,348,349,353,357,359,361,364,367,370,372,373,375,379,382],[126,41,47,233,127,41],"project\u002Fpositive\u002Fnone",[55,41,41,235,11,33],"maker\u002Fneutral\u002Fnone",[130,41,38,237,131,41],"project\u002Fneutral\u002Fdesign",[172,33,47,239,173,41],"project\u002Fpositive\u002Fpricing",[241,33,47,239,242,41],"24613396","vyrotek",[244,33,41,245,246,41],"24613534","other\u002Fneutral\u002Fnone","Alekhine",[160,40,47,233,161,41],[223,40,41,235,11,33],[99,38,47,250,100,41],"project\u002Fpositive\u002Fperformance",[141,34,33,252,142,41],"project\u002Fcritical\u002Fdesign",[145,34,33,252,146,41],[103,47,47,233,104,41],[62,228,41,256,63,41],"other\u002Fneutral\u002Fpricing",[70,228,41,235,11,33],[183,228,38,259,184,41],"project\u002Fneutral\u002Fnone",[187,228,38,259,188,41],[262,228,41,245,263,41],"24615880","aloisdg",[265,228,41,245,266,41],"24612407","colmvp",[268,228,41,245,269,41],"24615206","alfonsodev",[271,228,41,245,266,41],"24633489",[273,228,41,256,274,41],"24615178","sascha_sl",[276,277,41,256,278,41],"24612339",7,"arvinsim",[280,277,41,245,281,41],"24612406","tapland",[283,277,41,245,284,41],"24612474","samatman",[286,277,41,245,287,41],"24615299","phreeza",[289,277,41,245,290,41],"24616026","Ndymium",[292,277,41,245,293,41],"24616288","andreareina",[295,277,41,245,290,41],"24624020",[297,277,41,245,298,41],"24634675","selftest",[300,277,41,245,301,41],"24616494","cjbconnor",[303,277,41,245,284,41],"24619184",[305,277,41,256,131,41],"24615712",[307,308,38,237,309,41],"24611323",8,"dirtyid",[311,308,41,312,11,33],"24611373","maker\u002Fneutral\u002Fdesign",[314,308,38,312,309,41],"24612022",[316,308,41,312,11,33],"24612052",[318,308,41,245,319,41],"24612153","FlagsAreFun",[321,308,41,322,323,41],"24611603","other\u002Fneutral\u002Fdesign","frosted-flakes",[325,308,41,245,326,41],"24612221","OkGoDoIt",[328,308,41,245,323,41],"24612984",[330,308,41,245,309,41],"24612585",[332,308,41,245,323,41],"24613017",[334,308,41,245,290,41],"24616105",[134,18,38,237,135,41],[216,18,41,322,217,41],[152,32,33,338,153,41],"project\u002Fcritical\u002Fexecution",[340,32,41,341,11,33],"24620003","maker\u002Fneutral\u002Fexecution",[343,344,38,345,346,41],"24611230",11,"maker\u002Fneutral\u002Fdocs","xellisx",[88,344,41,345,11,33],[165,31,33,252,166,41],[350,31,41,351,352,41],"24613120","commenter\u002Fneutral\u002Fdesign","bradly",[354,355,38,237,356,41],"24612735",13,"noisy_boy",[358,355,41,312,11,33],"24612888",[199,360,38,235,200,41],14,[107,362,47,363,108,41],15,"project\u002Fpositive\u002Fdesign",[176,365,38,366,177,41],16,"project\u002Fneutral\u002Fpricing",[368,369,47,233,352,41],"24613127",17,[203,371,47,233,204,41],18,[78,371,41,235,11,33],[114,374,47,233,115,41],19,[376,377,47,233,378,41],"24612710",20,"DEADBEEFC0FFEE",[118,380,38,381,119,41],21,"project\u002Fmixed\u002Fidea",[383,384,47,233,385,41],"24621906",22,"RobbieHacks",[],[388,393,398,402,406,410],{"id":389,"name":390,"points":391,"category":392},"24615185","ts-sql",426,"languages",{"id":394,"name":395,"points":396,"category":397},"24604291","DevUtils.app",241,"dev_tools",{"id":399,"name":400,"points":401,"category":397},"24577642","Headless Recorder",224,{"id":403,"name":404,"points":405,"category":392},"24637797","Ruby One-Liners Cookbook",191,{"id":407,"name":408,"points":409,"category":20},"24588523","modfy.video",129,{"id":411,"name":412,"points":409,"category":413},"24621479","Motion","productivity",false,"v2",{"id":417,"name":5,"line":6,"ai":414,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":418,"top":18,"kw":419,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":420,"url":9,"mix":421,"praise":95,"objection":123,"sub":21},24610658,0.3,[24,25,26,27],"5355551503300000000030300003013103535055",[31,32,33,34],1794036596498]