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

Doc: Programmer Dvorak implementation #1523

Closed
taqtiqa-mark opened this issue Nov 6, 2022 · 2 comments
Closed

Doc: Programmer Dvorak implementation #1523

taqtiqa-mark opened this issue Nov 6, 2022 · 2 comments

Comments

@taqtiqa-mark
Copy link

taqtiqa-mark commented Nov 6, 2022

Is it possible to implement programmer dvorak layout in a keyboard using zmk, e.g. Kinesis 360, and hence avoid installing drivers etc on windows, macos and linux?

If I understand correctly this should be able to be implemented via a keymap or a behavior? Doubts arise over the inversion of the numbers and symbols.

Finally, if this is all possible is aPR to this project appropriate, or do these layouts belong in their own repo?

Appreciate any hints or tips.

@caksoylar
Copy link
Contributor

caksoylar commented Nov 6, 2022

I might not be fully understanding how to activate the alternative functions of the keys from the explanation webpage. However in its most basic form I believe this layout assigns certain modifier+key combinations to produce different keycodes, such as shift+7 resulting in [. You can replicate this approach using the mod-morph behaviors.

Having said that, using custom keyboard firmware allows you to define multiple layers that can be activated via dedicated keys, and don't depend on overloading modifier functionality. Most firmware users prefer using those to add additional functionality to key positions and I'd strongly encourage doing that as well. At the end of the day this layout seems to be designed considering the limitations of non-programmable keyboards.

Note that for some of the symbols you would also need to use macros to send a sequence of keycodes to produce the desired symbol using OS' unicode functionality. The specific sequence will be dependent on the OS, see one example in the docs and general discussion in #232.

To get the dead keys functionality you would likely need to use an OS layout that uses dead keys, like US International.

Greek and math mode would be possible by toggling on a special layer that contains macros to produce the symbols in unicode.

I would encourage looking through other people's ZMK configs (some of which are pretty well documented) through the Github topic for inspiration. Some of us are using keyboards as small as 30 keys, where we can cram all the necessary functionality through the use of layers and combos.

@caksoylar
Copy link
Contributor

I am closing this from ZMK point-of-view, since we aren't likely to get a section for this in the docs. The recipes section proposed in #1953 might be a good fit if anyone is inclined to contribute an item on programmer Dvorak.

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

2 participants