I have been using the Programmer Dvorak keyboard layout for a while, but ran into problems after a poorly-executed tweak of mine which lead to me re-installing version. However, the latest package (marked as beta) does not support KeyBindings that use the control modifier. If I try to modify the Programmer Dovarak bundle with Ukelele, it seems Mac OS X then ceases to recognize it, even after restarts.
I then settled for remaking the Programmer Dvorak layout from Ukelele's built-in Dvorak template. This keyboard layout lets me use the Cocoa text shortcuts (^A ^E ^F etc), but I can't do things like dealing with system dialogs (e.g., do a Software Update and press spacebar. In general, outlined button : spacebar :: solid shaded button : enter). In addition, some apps won't let me use Command- shortcuts. For example, I can't use Command-C, -X, or -N in Mental Case while I'm using my remade Dvorak, but I can't use KeyBindings like ^D if I'm using the official Dvorak. BUT if I use the normal US keyboard, I get no problems; both control- and command- stuff work fine.
So, my main question is: how do I merge the functionalities of these two layouts? Phrased a different way: Why is it that, given the below XML, I run into the phenomena described above?
- a GitHub gist for my recreated Programmer Dvorak layout
- another gist, posted to save you time from downloading the whole package
Note that the official layout (2nd link above) actually installs itself with a .bundle
directory in /Library/Keyboard Layouts/
whereas I have my recreated layout simply at $HOME/Library/Keyboard Layouts/name.layout
.
If there's any other information that would be helpful, please let me know; I'd be happy to take screenshots or something if necessary.
Best Answer
There is now a new version of Programmer Dvorak that works with key combinations like ⌃A.
Option worked everywhere I tested, so non-functional could just mean that states under option don't output non-ASCII characters. If you want to disable all default input sources, you can edit the HIToolBox plist.
In previous versions you could have added a keymap where all keys output a control character like
�
. See Control not working in iTerm 2 when using Programmer Dvorak keyboard layout.