Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Programmers Dvorak Layout Missing #61

Open
F1LT3R opened this issue Jul 30, 2016 · 7 comments
Open

Programmers Dvorak Layout Missing #61

F1LT3R opened this issue Jul 30, 2016 · 7 comments

Comments

@F1LT3R
Copy link

F1LT3R commented Jul 30, 2016

I cant find the layout files for programmers dvorak or any layout that demonstrates how to add keys where numbers are accessed via shift. How can this be accomplished?

@haata
Copy link
Member

haata commented Jul 30, 2016

Ah, yes.

So, shift keys are (according the USB spec) entirely handled by the OS (and not the keyboard). So in theory this is not possible.

However, with a bit of work (KLL 0.5 will make this easier). The idea would be to remap all the Shift keys to a function layer. This way, the OS doesn't "help you out".

Caveat, I haven't tried doing this myself, but it should work in theory. If you run into odd cases, let me know. I might have some solutions for you. Worst case some C functions/capabilities can be written to handle the more complicated cases.

@F1LT3R
Copy link
Author

F1LT3R commented Jul 30, 2016

With the remapping in 0.5, will it be possible to plug the keyboard into any OS and have Programmer Dvorak work? (Without OS software changes?)

@haata
Copy link
Member

haata commented Jul 30, 2016

Hmm, I can't say with 100% certainty without testing. But it'll make it easier.

@F1LT3R
Copy link
Author

F1LT3R commented Jul 31, 2016

So I have an Ergodox infinity with a Teensy inside, so surely I should be able to program keystroke combination into this already? So far my whole experience of doing anything like this with the keyboard is using the online configurator and flashing the Ergodox with the update. I'd happily get into the C code (not that I program C, I don't), ... if I can be pointed in the right direction.

There seems to be several different libraries around that will Flash the Ergodox. But they all look "early". This is a bit frustrating, because I bought and put the Ergodox together thinking from looking at the configurator that I would be able to program it with any key combination.

If I really want to get into programming my Ergodox/Teensy firmware with any combination of keys, where should I actually start?

@RyanRayNeff
Copy link

@F1LT3R I think the feature that your looking for is "Dual Role Keys". If you wanted to switch to a 10 key layer, or a symbol layer, you can hold down another key to temporarily access those. (For example, I've set my symbol layer to be accessible by holding down the 'a' key) The shift key is a bit of a strange duck, because it already "shifts" layers natively, as @haata mentioned above.
As far as getting the dual role key functionality, there's 2 popular flavors of Ergodox right now, and each of them uses different firmware. (Ergodox Infinity, and Ergodox EZ) The Ergodox EZ currently supports dual role keys. You can see the EZ configurator here:
http://configure.ergodox-ez.com/keyboard_layouts/new
Concerning dual role key support for the Ergodox Infinity, @haata has been working on implementing this feature, but it's not ready yet. You can follow the issue in the controller repo here:
kiibohd/controller#2
As far as getting into programming the Ergodox with any combination of keys, I'd say go with EZ for GUI functionality, and go with Infinity for more robust options that will require you to do some coding. Personally, I have both an EZ and an Infinity, and I haven't used the infinity because I rely so heavily on the dual function keys, and I'm relying on haata to do all the heavy lifting for me. I realize that buying a second keyboard is probably not the solution you were looking for, but the alternative is helping to build out the Infinity features here on github. Does that make sense?

@insederec
Copy link

insederec commented Sep 11, 2017

I'm in the exact same situation. I thought I could use layers the same way the shift key works. Am I right in assuming that there's no way for me to get my layout onto my Infinity? I absolutely cannot afford another keyboard, but I'm no stranger to coding. I'm no expert either but I can get by.
Is there any way to use the windows keyboard layout for programmer's dvorak that I already made for the Ergodox?

@F1LT3R
Copy link
Author

F1LT3R commented Sep 14, 2017

You can do this (shift like behavior) @insederec, @haata has some code somewhere that did this, but I couldn't get it to work for all the keys I wanted to (some of the number row if I remember). I also got sold on the "it does everything" thing on the Massdrop. It's a good keyboard, but it didn't live up to it's programmability claims. At this point, it's been so long, I expect something to outdo it soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants