Hi,
I have Problems with the ErgoDox firmware. While it is very flexible and I need that one function call per key for something I envision later, so far the experience, and especially the documentation where frustrating me. I didn't achieve more than swapping a few keys.
To refer to the Keys, I use this chart:
How do I add a Key that activates a layer? What I did so far:
- The symbold in _kb_layout seems irrelevant, but replace it with something meaninfull to keep track.
- Add a pointer to _kbfun_layer_push_N in _kb_layout_press.
- Add a pointer to _kbfun_layer_pop_N in _kb_layout_release.
I want Key K02 in the diagramm to enter Layer 1, and leave it if i release the key. So far I only toggles it.
Also kbfun_transparent seems to get in my way. I do not see why one would want such a function, but fine, I replaced it with kbfun_press_release. Yet, some strange things happen I susspect to be related with that.
K0A and K39 on layer 1 are mapped to backspace. However, only K39 actually produces a whitespace. K0A produces Spaces, as on layer 0. I can't figure out why.
On Layer 1 The left half is a flipped version of the right half. That works for most keys just fine. However key k42, that should produce a "o", does produce a "shiftL + o" and so a captial "o", and I don't know why.
keys K20 and KD2 do behave like shift keys, and this is intended behaviour. However that does not make sense to me, as they are mapped to kbfun_2_keys_capslock_press_release rather than to kbfun_shift_press_release. I'd like to map key K2D on layer 2 to shift lock, how do I do this?
Here is my C-Source code:
http://pastebin.ca/2858123