Keep an eye on them, they drop new stuff semi-regularly. It’s all handmade so not constantly fully stocked.
Keep an eye on them, they drop new stuff semi-regularly. It’s all handmade so not constantly fully stocked.
so i had a crack at fixing it and got it to compile, obviously unable to test it functionally. I’ve pushed the code here.
I noticed you’re not actually using the joystick features since you’re reading the analog pins manually (btw, you should read them once per scan instead of in every if statement). so i just removed all the joystick code and the JOYSTICK_ENABLE = yes
. i’m not sure what exactly you’re trying to do but what I’ve got builds and doesn’t remove any of the functional code, so see how you go from there. I don’t know much about using the joystick feature in QMK so I can’t really advise on how to use it instead of what you’re doing, but as it stands you seem to not be utilising it anyway.
Good luck. if you’re stuck, maybe try going to the QMK discord and explaining what you are trying to achieve and see what people say there. Be careful not to assume the implementation and ask the wrong question, describe what you want to achieve at a high level and see what they advise to implement it (see the XY problem)
i don’t think you need to include config_common.h
, that’s just a convention for when there are multiple revisions of a keyboard but most of the stuff is common.
as for the other code, try removing things until you get it to compile and start adding it back. it looks like the problem could be happening inside some macro expansion or something. i think it would help to format your code a bit to make it easier to follow, there’s not really a need for the switch statement with only one case, etc. use consistent indentation, and such.
your compilation errors now just seem to be because of mismatched braces. you have an extra closing brace in keymap.c
before the xPos = analogReadPin(B4);
as well as after the intended close of the matrix_scan_user
method.
For the joystick part, do you have JOYSTICK_ENABLE = yes
in your rules.mk
?
For this you need an analogue sensing mechanism such as hall-effect sensors (as Wooting use). You can see some open-source reference designs for PCBs, Firmware, and switches using hall-effect sensors on riskable’s github to get you started. Technically you should be able to make a PCB like this and then use the same “switches” that Wooting use, though idk where they source them.
I’m not sure but I don’t think optical switches have that ability either, you’re either breaking the beam or you aren’t.
Wooting uses hall-effect sensors and MX-compatible “switches” that have a magnet in the plunger. The set and reset thresholds can be set in software/firmware.
So it can be done with hall-effect switches but not with mechanical switches as you say.
It’s a nonsensical statement to us programmers too.
I’m pretty sure that’s a claw44
Does your keyboard have asymmetric halves? The left having 7 columns and the right having 6? As the other commenter pointed out you have defined 6 columns but your layout macro in eiris.h
has 7 elements for the left hand. I think the way to solve it is to define it as 7 columns, add NO_PIN
to the end of MATRIX_COL_PINS_RIGHT
and then just add XXX
to the end of all the rows for the right half in your layout macro in eiris.h
.
This is outlined in the documentation
Generally yes, for keyboards without a number row we will tend to use some combination of those kinds of tricks. In the past I’ve had numbers on the homerow under an fn key (note that said fn key is on a thumb key so easier to press than the standard location for fn keys on regular keyboards). Currently I have a number row as vertical combos on my Sweep (34 key low profile split). So q+a = 1, w+s = 2, and so on. As well as a numpad on one half under a fn key (we call these layers). So for long strings of numbers I use the numpad layer, for short ones I use my “virtual number row”.
However, I got here gradually, my first split was a keebio Iris (which has a number row) and have gone progressively in the direction of smaller ones. There are a good number of numrow inclusive splits out there. Some examples:
Splitkb.com is due to release the Elora (Kyria, but with a number row) Any Day Now™️
On foot pedals, I have a stack of them but haven’t got around to making use of them in any projects yet. Others have
Most of the time it’s not exactly useful and some of the positions are awkward (e.g. 8, 9, 10), counting to 31 on one hand is maybe useful.
More useful IMO is counting in base 6 and treating each hand as a single digit. i.e counting to 35 on 2 hands without awkward fingerings. Better than 10, less awkward than binary.
Even with AI models that can identify that there are birds in the picture. Having it decide with accuracy that the picture is of a bird is still a hard problem.
I agree, I’m just answering the why question. Free software licenses don’t have non-commercial clauses and they want an NC clause.
I presume the reason they didn’t use GPL3 is because they wanted the attribution and non-commercial clauses offered by CC-BY-NC.
Not suggesting that they should not prefer to drop those clauses in favour of a copyleft free software licence. but you asked “why not” and losing those clauses is clearly an obvious candidate for why they might not want to.
Ideally you want to use QMK’s tri_layer feature as I outlined in this comment.
Also you can just use the _______
keycode instead of restating MO(...)
on every layer as that is the an alias for KC_TRANSPARENT
meaning it maintains the function of the layer below.
This doesn’t work perfectly, IIRC if OP presses MO(1), then MO(2), then releases MO(1) it’ll stay on layer 3. The better way to do it is defining the layer_state_set_user
function and calling update_tri_layer_state
as documented here
Ricardo was testing in production
Is this not loss?