“I’m sorry, Dave, I’m afraid I can’t do that.”
I am a Dvorak keyboard user. I am really pleased with how much more comfortable my keyboard use has been since I started using it. Linux and Windows both support it really well, so I haven’t really had any problems at work or at home.
You see, I am the only Dvorak user in the house, so the computers that I share with the family (read: all of them) have to be QWERTY friendly, too. After a short bit of searching, I found some xorg.conf configuration settings that told the computer to use both layouts, and to switch with the shift keys. That worked great for the last year or so, until the Intrepid upgrade.
Ubuntu 8.10 now does almost all of its hardware configuration through HAL and hot-pluggable input support in the new versions of X. That’s great news in my opinion, because xorg.conf can really be a nightmare. And the upgrade even remembered that I use Dvorak and set it that way. It just didn’t import my second layout or my switch option.
Tonight I spent a LONG time searching for the location of the default x settings so I could change them. Strangely enough, I never did find them. If you know where they are now, please drop me a line. I know they have to be somewhere, because Dvorak is not the default keyboard for the world, and my system always uses it. Despite this failure, I did manage to find out how and where to override the settings.
in /etc/hal/fdi/policy there resides a file called preferences.fdi. You can add additional device rules there, or create new .fdi files in this location.
To set my keyboard up the way I wanted, I had to add the following device block:
<match key=”info.capabilities” contains=”input.keys”>
<merge key=”input.x11_options.XkbRules” type=”string”>base</merge>
<merge key=”input.x11_options.XkbModel” type=”string”>pc105</merge>
<merge key=”input.x11_driver” type=”string”>evdev</merge>
<merge key=”input.x11_options.XkbLayout” type=”string”>dvorak,us</merge>
<merge key=”input.x11_options.XkbOptions” type=”string”>grp:shift_toggle</merge>
It was really pretty trivial, once I figured out that I wasn’t going to have to change the existing repository of information.
Something tells me that HAL and I are not yet done with one another. I haven’t tried my Wacom tablet, yet.