These are some alternative keyboard layout drivers for Windows, mostly focused around improving support for the Dvorak keyboard layout, which is sorely lacking.
The original concept is from early 2012 when I started to learn the Dvorak layout. Some other variants were added to the list later as I needed them or others requested them.
Originally a Ginever Alliance project, hence GA in the name of the driver files.
Windows has three layers of key identification: the key itself, the virtual mapping of that key (the VKEY), and the symbol that is typed by that key for each modifier combination. For example, in a typical QWERTY layout, you have "the R key maps to the virtual R key and types R". For most situations, it's the VKEY being used to bind keyboard behaviour; for example, games normally map movement to VKEY-W, VKEY-A, VKEY-S, VKEY-D rather than W-A-S-D, and the copy shortcut is actually CTRL+[VKEY-C] rather than CTRL+[C-key] or CTRL+[key that types the letter C]. Most end-users don't notice this behaviour because, traditionally, the VKEY and the symbol being typed are configured to be a 1-to-1 match.
This setup where the VKEY and the symbol match causes problems when trying to switch to Dvorak. The only available Dvorak keyboard driver shipped with Windows is a US Dvorak layout driver which has Dvorak VKEYS. In our previous example, this gives "the R key maps to the virtual P key and types P". Unfortunately, Dvorak VKEYS just plain suck. Everything is designed to assume you have a QWERTY keyboard, from keyboard shortcuts to default mappings in video games, so if you're stuck with Dvorak VKEYS, you are stuck pressing CTRL+[dvorak-C] to copy, which is the same as CTRL+[qwerty-I], and that's just not enjoyable. Gaming also becomes a living hell, having to redo keybinds for every single game; some don't have rebindable keys at all and often they are totally unplayable. Several other problems add on to this to make Dvorak VKEYS completely impractical.
Even worse, UK typers are completely shafted with no driver at all.
What you really want is QWERTY VKEYS. This gives something closer to "the R key maps to the virtual R key and types P" - so the keyboard is treated as a QWERTY keyboard everywhere except typing into a text box, which will get the symbols from Dvorak. And voila! Thanks to having QWERTY VKEYS, the Dvorak keyboard is suddenly no longer a complete nightmare to switch to! Hooray!
Fortunately it is easy to make a custom driver with this functionality. So that's exactly what I did!
There are five drivers available.
For UK typists, the main driver is UKGADVQV, which provides a UK Dvorak layout with QWERTY VKEYS. There is also a variant driver UKGADVQ2 which maps caps lock to backspace, similarly to Colemak.
For US typists, the main driver is USGADVQV and the variant is USGADVQ2; they offer the same functionality as their UK counterparts.
The fifth driver is UHGADVRG, a hybrid layout for UK typists who have ended up with a US layout keyboard. I made this to use with my first laptop, which was unfortunately stuck with exactly such a keyboard.
All drivers have extended character options when pressing the right Alt key (normally Alt-Gr) and the available character selection is larger than with the traditional QWERTY driver. For example, you can get the degrees symbol by pressing AltGr+[VKEY-Q]. Some users may find this useful.
UKGADVQV and UHGADVRG have been regularly used. In particular, I have used UKGADVQV every day at both home and work for over a decade with no major problems. The only time I have problems is when programs read the symbol being typed in order to execute commands rather than the VKEY; you then get inconsistent behaviour. All other use cases work 100% perfect.
Most of these were built with MSKLC 1.4. A few I had to adjust the source code by hand before compiling the DLL. Either way, very simple to do.
Programs ported from Linux are notorious for this, especially those based on GNOME, but this is usually a bug in the port. Cygwin's bash terminal also seems to look at characters rather than VKEYS so you're still stuck pressing CTRL+[dvorak-C] to interrupt, CTRL+[dvorak-R] to look back through command history, etc. Adobe software is also particularly bad; Photoshop is really only usable with a QWERTY keyboard (sorry).
That being said, Windows software should be using VKEYS exclusively for this stuff. Failure to do so is bad/shitty programming and you should bitch at the developer.
These drivers are tested and verified to be working under Windows 7, 8, 8.1, 10 and 11. Based on the MSKLC documentation, I believe they should also be compatible with Windows 2000, XP and Vista (although I've not tested them on Windows versions that old). Anyway, I expect these drivers to continue to work indefinitely on all future versions, as the keyboard layout driver files have remained essentially unchanged for over 20 years.
To use a driver, just run the setup.exe as administrator to install it. Then you can select it from Control Panel or Settings.
Downloads can be found >> HERE <<
Licensed under WTFPL version 2. Stupidly easy for me to make, so I honestly don't care what you do with it. Have fun typing I guess.
---------------------------------------------------------------------
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
---------------------------------------------------------------------
Unix-based platforms like Mac and Linux don't really support VKEYS or any equivalent concept, so trying to configure the same behaviour is basically impossible. Linux software in particular generally reads the symbol being typed by a key in order to determine what behaviour to perform, so there is no way to have any sort of full "Dvorak only in text boxes" experience like Windows allows for.
There are a couple of inferior alternatives available you could try which I've used with varying degrees of contentness and toleration. Your mileage may vary.
If you're using Mac, look out for a layout called "Dvorak with Qwerty-Command". This ships with the OS out of the box. It will let you use QWERTY keyboard shortcuts while otherwise having the layout set to Dvorak. The layout that comes with Mac is only for the US layout, but if you're a UK typist, you can make something similar for UK keyboards using Ukelele which is completely free.
For Linux, you have a few options.
Ideally, you want something that works properly with both X11 and Wayland. Originally I was using Dvorak Qwerty Keyboard remapping for Linux by Thomas Bocek, which does essentially the same thing as the Mac layout, but it wasn't very good for gaming. Valve's improvements to Wine/Proton during the 2020s started to make Linux gaming half-decent, and the 'Dvorak sucks on Linux' issue started being a bigger problem.
I recently modified that program (yay for open source things!) and turned it into a "Dvorak Lock" which lets you toggle Dvorak on/off by pressing the Caps Lock key. The modified version can be found HERE. When the Dvorak Lock is turned on, the behaviour should be roughly similar to using the old version (holding modifiers still gives you QWERTY). The advantage of this approach is: (A) you can turn it off while playing games, (B) if you need to type while playing, you can just toggle "caps" on/off while typing, and (C) you can look at your Caps Lock LED indicator to see what keyboard layout you're currently typing in. I haven't been using this for very long, and I've had a few more ideas which I want to play around with, so I suspect this will be improved over time :)