No, we did not
Citation needed
HN user
No, we did not
Citation needed
Simavr was fantastic to work with, it's a very impressive project!
My point is that they're macro pads where you can assign keycodes or keycode combinations to specific keys. The threeboard is itself capable of determining which keycodes to send and is not limited by what it's been programmed to do. So it's fully-functional in the sense that you can use it to type anything, it'd just take a really long time and make you very unhappy!
These kinds of things are distinctly different, assigning macros or keycodes to specific keys. The threeboard is not a macropad, it's a fully-functional keyboard that can type anything, it just requires specifying the keycode to type or programming in macros to type words/sentences.
I tried to give a bit of an overview of this in the 'hardware design' section of the documentation [0]. It has some external links to further documentation and tutorials in it too. But the learning curve is very steep.
I'd maybe suggest looking for an electrical engineering intro book or course at a level you feel comfortable with, just to get an idea of the basics.
For the ErgoDox keyboard, the schematic is actually available on their own repo [1], but it's going to look quite intimidating initially. But I found a pretty great looking article explaining the electrical design of the ErgoDox that you might find useful [2]. The ErgoDox actually looks very similar electrically to the threeboard, it uses the same MCU (atmega32u4), but of course has the extra complexity of communicating with the other half of the keyboard over the 3.5mm connector.
[0] https://github.com/taylorconor/threeboard/blob/master/docume... [1]: https://github.com/zsa/docs/blob/master/ErgoDox%20EZ%20Schem... [2]: https://kandepet.com/dissecting-the-ergodox-the-ergonomic-pr...
It does just send ASCII codes (well, USB keycodes)! It's not supposed to be practical, just to be technically interesting and useful to learn from!
For me personally, no. But I think the threeboard firmware is small enough right now that it's very readable and understandable, so it could make a good starting point to fork and adapt to different boards!
Put whatever switches you want on it and it can be!
Yes the A key is the most frequently used, as it increments the USB keycode in all layers. An alternative would be a mode that allows setting individual bits in the keycode byte, but that's still quite arduous.
SparkFun have some pretty good tutorials and resources for learning, e.g. this tutorial which guides you through using KiCad, a tool for designing schematics and PCBs: https://learn.sparkfun.com/tutorials/beginners-guide-to-kica....
I built a similar project (https://github.com/taylorconor/inkymon) using an Inky wHAT e-ink dev board [1] connected to a Raspberry Pi Zero, which seems to be the same display as used here.
It's really not fit for this calendar / todo list use-case. It's not possible to get much information density on a 400x300 two-tone display. No anti-aliasing or hinting on the fonts, for example. So you either need great eyesight or very few todos :)
Regardless of whether or not you support Sverigedemokraterna, they are widely considered to be right-wing or far-right [1]. Politico is not taking any stance or making any kind of statement by labelling them as such.
Could be a really fun variation on quinesnake: https://github.com/taylorconor/quinesnake
All streaming integrations in Sonos (like Spotify) communicate with the Sonos backend rather than the device directly. So that would fall apart too.
I guess the inline function would require a Badge and the private member function would not. So an inline constructed but never used Badge is even more likely to be completely optimized away
Oh that sucks, the whole point of programs like these is that they should still be portable. Could you make a GitHub issue (or email me) with your platform, shell, compiler version and curses version?
Unfortunately it's a pretty manual, tedious and frustrating process, especially when the code is minified and you want to squeeze it into as small a source file as possible.
+1! And there are plenty of helpful tutorials around if you get a bit stuck!
It's not a quine :)