Windows CE & Dvorak
Background
IgorD recently posted an amazingly useful entry, which is always my hint to post something useless above him so he doesn't get top billing too long :).
Somehow the Dvorak keyboard came up in conversation recently. I've used it for the last 7 years and haven't looked back. I can still do QWERTY reasonably well because for a long time CEPCs only had QWERTY keyboard drivers and it was before we had a telnet server, so I had to do lots of QWERTY still.
One day I decided that we needed to take CE out of the 19th century. I figured out how the keyboard driver worked, filled out the scan code table, got permission from begrudging mgmt, and then checked in the dvorak driver. Doing the *official* dvorak Driver for an OS is the dream of any Dvorak guy who's also a systems programmer.
I don't know if my version shipped, though. Steve Schrock, who owned keyboard stuff back then, figured out a way to get the scan tables directly from the WinXP keyboard driver and that's the Dvorak driver that CE ships today. I think Steve removed my version to spite me :), though had I not done this there wouldn't be the driver in the 1st place so I'll still take a little credit here.
There's more Dvorak users on CE than you may think. Back in '99 there were 2 other engineers and a PM in my office doing a massive code review of WinCE RDP changes back into Win2000. One of the other guys had to sit down and type at my keyboard (he may have invented a reason) and when he sat down he typed perfectly. My jaw dropped, as usually people type out a sentence of gibberish before we remember to switch the keyboard. He was a Dvorak guy of course and had realized I was one by watching me type. The other engineer laughed and it turns out he's a Dvorak guy too. The poor PM said something to the effect that she was in the room with the 3 biggest losers in MS, which I'll let pass without comment.
Adding Dvorak driver to CE
If you want Dvorak (this is General Embedded only, not PocketPC/Windows Mobile) then you can set SYSGEN_KBD_US_DVORAK=1. To make it your default layout you'll need this as well.
[HKEY_CURRENT_USER\Keyboard Layout\Preload]
@="00010409"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\1]
@="00010409"
Random links
https://gigliwood.com/abcd/abcd.html -- This is how I learned Dvorak - it's very good. I did it in Jan 99, in the few weeks I had after graduating college and before coming to MS.
https://www.visi.com/~pmk/evolved.html - This guy figured out a genetic algorithm to determine the optimal keyboard pattern and learned that Mr. Dvorak was a pretty smart guy.
https://hardware.slashdot.org/article.pl?sid=02/07/06/1244204&mode=thread&tid=137 - Discussion
https://blogs.msdn.com/cenet - Normally a good blog for discussing Windows CE networking; it has been free of complete randomness until today.