mihaiolteanu / mugur

Configurator for QMK compatible keyboards

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Just asking for clarification.

commander-trashdin opened this issue · comments

Is this Emacs specific way of configuration, or system wide? Afaic you have to configure on Arduino itself (or whatever it is inside) to make it system wide.

Also, how hard it is to support something from 40% series? I can be more specific if needed.

Hello Andrew,

I'm not sure I understand what you are asking.
Yes, please be more specific :)

I cannot specify the keyboard model I have here rn, but I'll do it this evening.

About the first part -- I m not sure what is not clear here, but afaic the configuration happens in the keyboard itself, where there is no lisp by default, so how does this work? Does your code just generate appropriate C config?

Yes, that is correct, it generates the appropriate C config files.
And no, at the moment, this only supports the Ergodox EZ (76 keys).
If you want to hack it and modify the source code, I can point you in the right direction, but you would have to do the tinkering for yourself.

Great, thanks. I'm actually going to try this although...is there a reason why it is in Emacs lisp and not in, say, Common Lisp? Because if that is just a.matter of choice, maybe I'll rather reimplement it in CL using your ideas?

Yes, it's just a matter of choice.
I'm sure it would work just as well in CL.
Feel free to do it :)

Okay, it's chimera ortho. I'm also gonna try to add something to your thing instead of creating my own. I realized that duplicating libs is an old and kinda dumb lisps tradition, so I'm not following it)

That's a nice keyboard!

Firstly, go to https://github.com/mihaiolteanu/mugur/blob/master/mugur.el#L861 and change the layout to match your chimera ortho keyboard. That is, you'll have to have only the number of keys from your keyboard and in their correct position.

Secondly, change the "LAYOUT_ergodox" from this line https://github.com/mihaiolteanu/mugur/blob/master/mugur.el#L916 to "LAYOUT" or "LAYOUT_kc", not sure.

Thirdly, build it, and see what we have :)
I assume there are some Ergodox specific features that I've hard-coded without realizing, since this is the only keyboard I have and I'm interested in at the moment.

The best approach from this package would be to somehow parse the qmk firmware (since it's already necessary for the user to have it on his machine) and figure out the layout for each keyboard, where the keyboard name would be given as an argument to mugur-keymap. The second best approach, and the one that I've already tried, is to have the layouts in different files, one file for each keyboard. But there are other issues here, since I need to specify more than just the layout (the keys and their position) for each keyboard. So, for the moment, I only support the Ergodox officially. But you can try it out, see if it works for the chimera, and maybe figure out a way to make the package more general. I can offer clues and support you along the way.

No answer means you solved it :)