Two custom keyboard layouts, both ALMOST working in different ways
There is now a new version of Programmer Dvorak that works with key combinations like ⌃A.


  ◊  Option modifier is currently non-functional. Also, you cannot replace a default Roman layout with this one. Control keys should now be functional.


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 &amp;#0000;. See Control not working in iTerm 2 when using Programmer Dvorak keyboard layout.