/coders-dvorak-regular-keypad

Programmer Dvorak layout with the typical keypad layout instead of the modified one by Roland Kaufmann.

MIT LicenseMIT

coders-dvorak-regular-keypad

I like Roland Kaufmann's Programmer Dvorak keyboard layout however I dislike the fact that he reverses the direction of the numeric keypad. This is an installable solution that slightly backtracks from his improvements. This repository was originally called "programmer-dvorak-normal-keypad" but due to objections from Roland himself, I have renamed this to "coders-dvorak-regular-keypad". The layout name in the releases folder will be adjusted when time permits.

To get an idea, here is a comparison

Screen

Kaufman's original layout with "improved" keypad layout

Screen

My normal keypad version

If you prefer my version, continue on.

How to use?

  1. Go to the Release directory section.
  2. Download either the "English Singapore" or "English US" version relevant to your operating system Windows/Mac.
  3. Unzip the file

Windows

  1. Run msi or setup.exe
  2. Go to Control Panel -> Language
  3. Select your language -> Option -> Add an input method
  4. Search for Programmer Dvorak - Normal Keypad and Add. If the new layout is not visible, you may need to reboot your machine and start from Step 4.

For other languages example Chinese IME

Install the language pack. You can use the registry but Powershell works too. Open Powershell as Administrator. Replace 00000804 with the ID of your language.

Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804'

Layout Display Name : @C:\Windows\system32\input.dll,-5072
Layout File         : ProgDv.dll
Layout Text         : Chinese (Simplified) - US Keyboard
PSPath              : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804
PSParentPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
PSChildName         : 00000804
PSDrive             : HKLM
PSProvider          : Microsoft.PowerShell.Core\Registry

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804' -Name 'Layout File' -Value 'ProgDv.dll'

# Optional
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804' -Name 'Layout Text' -Value 'Chinese (Simplified) Programmer Dvorak'

Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804'

Layout Display Name : @C:\Windows\system32\input.dll,-5072
Layout File         : ProgDv.dll
Layout Text         : Chinese (Simplified) Programmer Dvorak
PSPath              : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000804
PSParentPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
PSChildName         : 00000804
PSDrive             : HKLM
PSProvider          : Microsoft.PowerShell.Core\Registry

Sign out and in again and the changes should take effect.

Source

Mac

  1. Copy the *.bundle file to ~/Library/Keyboard Layouts for the current user and *.keylayout to /Library/Keyboard Layouts for login screen purposes.
  2. Go to System Preferences, Keyboard, Input Sources, click "+", select English, select Programmer Dvorak - Normal Keypad

For Login Screen

For Mac

For Windows

Go to Control Panel: "Open "region" > then on the "administration" tab > click "copy settings" > then check the box "for home screen & new users"."

How to modify?

If you need to modify the layout for some reason...

Windows

  1. Install the Microsoft Keyboard Layout Creator
  2. Open the .klc file you wish to modify. I can't seem to view the keypad in MKLC though.

You should see something like this:

Screen

Screen

  1. Set current working directory
  2. Once you are done, click Project->Build DLL and Setup Package.
  3. Go to your working directory to retrieve the install folder

Mac

  1. Install Ukelele
  2. Open the .keylayout file you wist to modify. You may wish to change the keyboard type to view the keypad. View -> Keyboard Type -> Third party.

You should see something like this:

Screen

Screen

  1. Save as bundle