April 19, 2007
I received a bug report for a legitimate bug in (you can't turn off Dvorak from the tray context menu), and the text of the report led me to wonder if the change in the UI was confusing to some. In case it is, try this for a little backstory as to the change:

The big addition in 2.0 is international support; support for other non-Dvorak layouts than just US-Qwerty.

Rather than try to build in specific support for several known non-Dvorak layouts (e.g. US, UK, Australia, French-AZERTY), I decided to simply work off whatever layout is in the registry when DVA 2.0 is first run. This should allow it to work with any layout someone wants to toggle with Dvorak. For example, I never would've thought about the French-AZERTY layout until a recent email asked for it - and I'd rather not have to continually update the program when someone else requests another layout the program didn't support.

As a consequence, I thought it'd be simpler to change the interface to show Dvorak as on or off, rather than replace all prior references to Qwerty with whatever the default layout is[1]. So now the UI has no specific knowledge of the ‘other’ layout and just gives feedback as to the state of Dvorak.

[1] especially difficult when it comes to the layout window. Just getting the proper localized name of the current layout requires a rather lot of code (if you're curious, open up Reflector to System.Windows.Forms.InputLanguage.get_LayoutName to see what .NET has to do). The actual layout of the keys of the keyboard I doubt is even available from anywhere in the OS.

tags: ComputersAndTechnology
comments powered by Disqus