Introducing an educational folder with examples and practice exercices
#7435 aperta il 21 nov 2019
Metriche repository
- Star
- (20.368 star)
- Metriche merge PR
- (Merge medio 20g 9h) (27 PR mergiate in 30 g)
Descrizione
Hello everyone, here is a documentation proposition.
A little bit of context
I am a newbee with QMK but I am now able to make some simples keyboards and exploit the features of QMK. I am not a warrior who can create advanced features in the core of QMK. But for me it was a long time for achieved this. First because making a diy keyboard is also a question of money but also because I was completly lost in the documentation. Some days ago I have talked 1 hour to a professionnal electronics and is was the same for him even if the project have a very advanced documentation.
Examples of my issues
- I was thinking that the documentation for some features was missing -> In fact, my features were documented.
- I wasn’t able to understand that there was two documentation for describing the same feature : The complete newb guide and the normal one.
- I wasn’t sure what hardware to buy (So I have buyed a Teensy 3.2 wich wasn’t the simpliest way to achieve my builds). Yep the documentation say that many controller work but for a beginner, she don’t promote a precise one.
Most importants issues
- I was hoping to make a very simple keyboard, a proof of concept to validate the fact that I was able to make a complete one before buying all the parts.
- Features are documented but the examples of all the features aren’t really implemented on sample keyboards in the repo, like demos. e. g. If you want to see a concrete implementation of Backlight you have to browse the keyboard folder and the risk is to fall in a @drashna overkill sorcerer implementation who pulse exactly at 144hz.
For fixing that, my idea is to propose keyboard folder, something like « educational examples » who propose two differents things :
1. Complete guides who explain clearly how to make 1~4 (for the moment) little keyboard for beginners.
- A first one can be the one-key. It’s great to validate that all the tools are installed, the compilation process, the use of a bread-board / or handwiring, maybe the debug too and much important : A first keyboard wich print characters.
- Probably one with a 3×2 matrice and some keys missing in the matrice to demonstrate how to make a simplified matrice wich have some larger keys on it, all the macro definitions and layers.
- A thirst one can be made with a cheap PCB just for some who fear handwiring. Something like a 3×2 macro pad (open source that everyone can order on JLPCB ? It can be good if we want to propose something for people who have big difficulties to get parts for cheap like Brazil).
- A splitted keyborad handwired with only 4 keys to introduce master and slave things.
For that, I am thinking about parts list with exacts references, shematics, pictures, photography, any tips and step to step guides possible Something like a Ikea guide that you can’t fail even if you’r a golden retriever.
2. Features focused demonstration who can be implemented on one of those simples keyboards.
At this point you’r supposed to have a complete keyboard or one of the 4 educationnal keyboards described below and with that you can compile those demonstrations layouts / use of a particular features for validate your handwiring, or just because you fear to implement this on your kb.
Examples
- Macros : First keymap to show how to print text directly, a second to press / releases keycodes, a thirst wich use timers.
- How to have Capslock / Scroll lock / Num pad leds indicators.
- Backlight with a handwired led-bar backlight with 5 leds and a mosfet (with exacts refs parts) : First keymap is just to make light, a second to achieve breathing, a thirst to breath only when using a layer.
- Solenoids / vibrator engine (Not very sure if this is the good word).
- …
Pretty sure those concrete example directly in the code can help newbees to learn. Clearly this is hard work. I can probably make some features documentation and examples (like backlight, or easy softwares examples) but I am not an expert and can’t done all of this stuff alone. Also the only thing I masterize is procrastination.
What do you think ?