void_switch
gui_starter_template
void_switch | gui_starter_template | |
---|---|---|
26 | 19 | |
669 | 2,391 | |
- | - | |
0.0 | 3.4 | |
over 1 year ago | about 1 year ago | |
OpenSCAD | CMake | |
- | The Unlicense |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
void_switch
- Svalboard Alpha #4 -- headed to Chicago today!
-
Flux Keyboard
As far as I know the "other times this has been tried" all have had individual displays (and controllers) in each key. The difference being that here there is just one panel under the whole board with most of the parts above the display being transparent. This approach should be far less complicated to build, more robust and cheaper.
Honestly, I don't think I need an LCD in my keyboard but I'd quite like to have a go on some mAgLeV hall effect switches! On that note, if you like magnets and/or keebs you might be interested in Void switches[0] -- 3D printable hall effect switches
[0] https://github.com/riskable/void_switch
-
Show HN: An analog keyboard with 3D printed switches
I made a 3D printed keyboard with 3D printed switches + stabilizers and sent it to Chyrosran22 for review.
Longer story: Chyros suggested about 5 months ago that I make an "ultra bright" RGB LED keyboard that used my 3D printable Void Switch design (https://github.com/riskable/void_switch) so he could do a fun "RGB" video. I designed the PCB, the case, the top plate, switches, stabilizers, rotary encoders, etc from scratch and the keyboard in the video is the result.
The keyboard hardware was actually done within the first 3 months but I needed some extra time to add lighting effects to the firmware to meet the "fancy RGB" requirement :)
It's actually my 2nd normal-size analog keyboard design. The first being my Riskeyboard 70 which used a MAX7219 LED matrix display and regular (non-XL) ws2812b RGB LEDs: https://gfycat.com/firsthanduniformeasteuropeanshepherd
Not shown in his video: The top plates have no electronics in them which means they're completely waterproof and can be washed in a sink with soap & water: https://gfycat.com/unconsciousvigilantkinglet . Also, the incremental rotary encoder and absolute rotary encoder (aka "the selection knob") are analog as well (using a custom design).
The keycaps were 3D printed as well and designed using my Keycap Playground: https://github.com/riskable/keycap_playground
-
The pool of talented C++ developers is running dry
Haha... So I can use my awesome contactless magnetic separation+levitation 3D printable Void Switch design of course:
https://github.com/riskable/void_switch
...and so I can do this:
https://gfycat.com/costlyglaringhyracotherium
..and this:
https://gfycat.com/unconsciousvigilantkinglet
You can clean it in the sink with soap and water because there's no electrical contacts or components in the switches.
... But that's really just scratching the surface of what it can do.
- I'd like to create a 3d printed switch, mainly to see what UV resin sounds and feels like. I've searched high and low for files of such a thing, but no joy. Can anyone help?
-
Has anyone tried making a tiny, ergonomic piano "keyboard"?
Answering myself: the void switches by riskable can be used as analogic switches. It's an open source project: https://github.com/riskable/void_switch
-
Two state switch?
If you wanted to try to do something DIY you could build something with riskable's void switch and adapt his firmware to do this. Since hall effect sensors are analogue, you program the set and reset point and can set multiple. Although, I do wonder how easy it is to reliably use this feature, but that's the fun in experimentation.
- Some things I’m working on and didn’t have an appropriate place to post for! (Not quite there yet) Floating joystick
-
Physical buttons clearly outperform touchscreens in new cars, test finds
> "Instead of developing, manufacturing and keeping physical buttons in stock for years to come, car manufacturers are keen on integrating more functions into a digital screen which can be updated over time."
That's lame. 3D printing buttons is a very quick and simple solution to that problem. They can even use my lasts-forever, contactless analog hall effect Void Switch design: https://github.com/riskable/void_switch
Keeping buttons--something that's so quick and easy to 3D print--in stock seems like a huge waste of storage space.
-
Analogue pushbuttons?
Maybe these?
gui_starter_template
-
I am finding it incredibly hard to write software in CPP. Where can I get a book for software development in CPP ?
Was checking that as well, can't find it indeed. I would recommend looking into the following: https://github.com/cpp-best-practices/gui_starter_template
-
Collecting the best C++ practices
gui_starter_template. This is a C++ Best Practices GitHub template for getting up and running with C++ quickly.
-
Not adopting newer C++ standards
Next to language versions, spend time setting up your build system (CMake?) with all bells and whistles. You want unit tests, clang-tidy, include-what-you-use, sanitizers, fuzzing, clang-format, package managers. Just take a look at https://github.com/cpp-best-practices/gui_starter_template
-
Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...)
https://github.com/cpp-best-practices/gui_starter_template from Jason Turner (aka lefticus) is quite a popular one (2.1k stars in Github)
-
The pool of talented C++ developers is running dry
I actually just tried to play around with what seems to be a "modern c++" boilerplate project.
It uses CMake, conan for packaging, clang-tidy and cpp-check, and has templates for fuzz and unit testing[1].
I found it because qtcreator and kdevelop were weirdly clunky and created partly broken qt projects and I figured I wanted to add a package manager and qt to the mix.
The template looks really fancy, but it's so incredibly slow, to the point of being unusable.
It's a ramble yes. But the point is modern C++ tools seem to have added some niceties to the language, but they also brought more of the main C++ issues, i.e. slow compile times and nasty boilerplate in the build process. Yes, I realize CMake isn't modern and there are a bunch of new build tools.
[1] https://github.com/cpp-best-practices/gui_starter_template
-
clang-tidy: Which check flags you typically use?
Clang-tidy file of the C++ Project Template
- Ask HN: Who is using C++ as the main language for new project?
-
Package and project management in C++
For cmake i find this useful: https://cliutils.gitlab.io/modern-cmake/ https://github.com/cpp-best-practices/gui_starter_template
-
How would you create/maintain a new c++ project using modern tools/practices?
Jason Turner (known from cppcast) has following project: https://github.com/cpp-best-practices/cpp_starter_project
-
Recommendations for modern C++ project structures
this is a cpp_question, but anyway, I think this is exactly what you're looking for. Credits go to Jason Turner.
What are some alternatives?
zmk - ZMK Firmware Repository
ModernCppStarter - 🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
lagrange-keyboard - A configurable, handwired, ergonomic keyboard
sanitizers - AddressSanitizer, ThreadSanitizer, MemorySanitizer
custom-topre-guide - Guidelines for designing a custom Topre keyboard
honggfuzz - Security oriented software fuzzer. Supports evolutionary, feedback-driven fuzzing based on code coverage (SW and HW based)
keycap_playground - The Keycap Playground is a parametric OpenSCAD keycap generator made for generating keycaps of all shapes and sizes (and profiles)
json - JSON for Modern C++
ErgoDash - keyboard
windmap
riskeyboard70 - Riskeyboard 70 analog hall effect keyboard firmware
Catch - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)