Reputation: 256581
I would be interested in switching to Dvorak keyboard layout. The problem that everyone runs into is that common programming* keyboard shortcuts, such as:
Will no longer be the keys on the bottom left of the keyboard, since the Dvorak layout has C, V and Z in different locations.
The Mac has solved this problem by having a keyboard layout called "Dvorak - Qwerty Command", where the keyboard is normally in Dvorak mode, but if you press a command key the mappings temporarily revert to Qwerty.
Does such a feature exist on Windows? It has been suggested that such a feat can be accomplished using the Microsoft Keyboard Layout Creator, but I won't pretend to understand all that.
In other words, Stackoverflow users, is this a problem that has already been solved?
* The joke being that the most common programming tasks are Ctrl+C, Ctrl+V.
Upvotes: 16
Views: 11817
Reputation: 41
Dvertkey, an AutoHotKey script, caters for more scenarios than any other Windows solution I've used.
This is an old question, but I've kept coming back here over the years and no solution has been without annoyances. Thanks to ftvs for the AutoHotKey answer that inspired me to write this script.
I've been a dvorak user for sixteen years, and for years I've used the various alternative keymaps mentioned in this thread, but all of them fall down when using a number of recent incarnations of Microsoft applications, such as the Office apps and SQL Server Management Studio. They seem to ignore Windows' own keymaps when using meta keys, rendering the hybrid layouts useless. AutoHotKey gets around this to ensure I get exactly what I want in any application.
While I agree with the sentiment of Sam Harwell's advice for new dvorak users, I disagree with the suggestion of not changing shortcut characters. Good keyboard shortcuts are about their positions on the keyboard more than the character that represents it. These are often chosen with good reasons (eg. the common X C V being cut-copy-paste, together at the bottom of the keyboard) and there's no reason to lose that good shortcut positioning when moving to Dvorak. This script will retain that.
Upvotes: 3
Reputation: 438
AutoHotKey to the rescue. This will use DVORAK when typing normally and when holding Shift. While Ctrl or Alt is held down QWERTY behaviour takes over.
;Sorry about the messed up syntax highlighting.
;Disclaimer: may not work at all.
#UseHook
-::Send {Blind}[
=::Send {Blind}]
q::Send {Blind}'
w::Send {Blind}`,
e::Send {Blind}.
r::Send {Blind}p
t::Send {Blind}y
y::Send {Blind}f
u::Send {Blind}g
i::Send {Blind}c
o::Send {Blind}r
p::Send {Blind}l
[::Send {Blind}/
]::Send {Blind}=
a::Send {Blind}a
s::Send {Blind}o
d::Send {Blind}e
f::Send {Blind}u
g::Send {Blind}i
h::Send {Blind}d
j::Send {Blind}h
k::Send {Blind}t
l::Send {Blind}n
`;::Send {Blind}s
'::Send {Blind}-
z::Send {Blind}`;
x::Send {Blind}q
c::Send {Blind}j
v::Send {Blind}k
b::Send {Blind}x
n::Send {Blind}b
m::Send {Blind}m
,::Send {Blind}w
.::Send {Blind}v
/::Send {Blind}z
;capitalise
+-::Send {Blind}{{}
+=::Send {Blind}{}}
+q::Send {Blind}"
+w::Send {Blind}<
+e::Send {Blind}>
+r::Send {Blind}P
+t::Send {Blind}Y
+y::Send {Blind}F
+u::Send {Blind}G
+i::Send {Blind}C
+o::Send {Blind}R
+p::Send {Blind}L
+[::Send {Blind}?
+]::Send {Blind}{+}
+a::Send {Blind}A
+s::Send {Blind}O
+d::Send {Blind}E
+f::Send {Blind}U
+g::Send {Blind}I
+h::Send {Blind}D
+j::Send {Blind}H
+k::Send {Blind}T
+l::Send {Blind}N
+;::Send {Blind}S
+'::Send {Blind}_
+z::Send {Blind}:
+x::Send {Blind}Q
+c::Send {Blind}J
+v::Send {Blind}K
+b::Send {Blind}X
+n::Send {Blind}B
+m::Send {Blind}M
+,::Send {Blind}W
+.::Send {Blind}V
+/::Send {Blind}Z
Eventually this may become a shot in the foot because it cannot be used with GNU/Linux, so another solution may be required if you ever try it out.
Upvotes: 3
Reputation: 11
You're right, AutoHotkey doesn't help GNU/Linux users...but, if you're on Windows, AutoHotkey once again comes through! Except that the code should be more like this:
^;::Send {Blind}z ;Undo
^q::Send {Blind}x ;Cut
^j::Send {Blind}c ;Copy
^k::Send {Blind}v ;Paste
^o::Send {Blind}s ;Save
^r::Send {Blind}o ;Open
^f::Send {Blind}y ;Redo
I had a feeling that AHK was the answer, but I didn't know how to go about doing it. Thanks for pointing me in the right direction!
Upvotes: 1
Reputation: 5747
You can try this http://aming-blog.blogspot.com/2010/10/mac-style-dvorak-qwerty-control-layout.html
Upvotes: 0
Reputation: 71
I was in the same situation, so I wrote this:
http://dvorak-qwerty.googlecode.com
Hope it helps!
(Maybe using the keyboard layout creator would be better but I didn't want to figure it out either!)
Upvotes: 4
Reputation: 99859
I use Dvorak exclusively now, including all shortcuts. Here's how and why I got where I am:
I started the change shortly into Christmas break 2.5 years ago. I wasn't in school or work for a bit, so poor typing abilities wouldn't negatively affect my day-to-day activities. I made a pact with myself: no QWERTY, at all, until my Dvorak typing reaches my current QWERTY abilities. That was by far the best and most painful decision. Every day I spent 2-3 hours training for the keyboard. It took 3 weeks to reach 50WPM, and for some reason I capped out there for like 2 months! I kept training, and about 3 months in I surpassed my original normalized efficiency (counts accuracy) from when I used QWERTY. Now I'm marginally faster than when I used QWERTY, but more than anything I've found that my hands no longer hurt at the end of a long day. It makes all the difference in the world.
Rules:
l
key initially, but it was because I simply wasn't used to it and the pressure of learning kept me tense. Things will get better as you improve, and before you know it you'll be more comfortable on Dvorak than you were on QWERTY.Suggestions:
Observation:
Upvotes: 17