Dvorak is a keyboard layout devised by August Dvorak in the late 1930s as an alternative to the QWERTY keyboard which became popular during the same time. The Dvorak keyboard is geared towards English typing folks and it has the benefits of eliminating the chance of getting Repetitive Stress Injury, which is a result of prolonged periods of typing, the Dvorak is easier to learn to touch type and it is absolutely possible to type in Dvorak even if you have a hard-wired QWERTY keyboard, as Dvorak was inducted into ANSI in 1982 and every Operating System has software by default to re-map your keyboard into Dvorak.
If this the first time you have jostled with Dvorak. Read this comic to know more, do a web-search on Dvorak if it sounds interesting and if something convinces you to try and learn Dvorak, head to the Learning Dvorak section to learn to touch-type in Dvorak.
If you're a Dvorak'er' already and wish to know how to configure gNewSense to start hitting in Dvorak, then continue reading.
Dvorak in GDM 3
To change the layout on login screen of GDM3 to dvorak, add "setxkbmap dvorak" to the file /etc/gdm/Init/Default just before " exit 0 ".
Dvorak in GNOME
To change to Dvorak layout in GNOME, from the GNOME menu-bar go to :
System --> Preferences --> Keyboard
In the Keyboard Preferences window that opens, hit the Layouts tab and click on the Add button at the bottom. Now you will be presented with the Choose a Layout window dialog box, choose USA from the Variants drop-down menu & Dvorak from the Variants drop-down menu & hit Add button to add the Dvorak layout into your keyboard group.
Now back to the Keyboard Preference window, check the Separate layout for each window option if have the habit of using different layouts for different applications. When this option is checked, each new window that opens will have the layout set to the default layout.
Moving on, you will now want to toggle between different layouts that you have set in the Keyboard Preferences dialog box, to do exactly this, choose the Layout Option button and in the window that materializes pick a toggle key combination under the Layout Switching drop down that best suits you. It is also possible to toggle between layouts from the gnome-panel, just add the Keyboard Indicator widget to the panel.
Dvorak in Virtual Terminal
Virtual Terminal is a text-only terminal where you're provided with only the shell prompt, it is the best place to compute from, you sure need to learn to use the terminal to avail the real power of GNU/Linux.
To change the keyboard layout of the virtual terminal to Dvorak, you simply need to add a line in the rc.local file located at the /etc/ directory. Note that you need administrative privilege to edit the rc.local file. So please log-in to your admin account first before moving on to editing the rc.local' file, if you're not the administrator, then ask your dear administrator to edit the rc.local` for you.
Open up a terminal from GNOME by going to Applications --> Accessories --> Terminal or just log-in to a virtual terminal by hitting Alt + Ctrl + F1. Now once you have the shell prompt in front of you, hit
$ sudo emacs /etc/rc.local
in the prompt & you'll be prompted for the admin's password, duly type it and after this emacs should open in root mode (meaning, you can now edit any file in the system!). Hit any of the arrow keys to close the start-up screen of emacs. In the the rc.local file add this command :
before the exit 0 command. So the file should you like this :
# # rc.local # ...[Some comments relating to the function of this file] loadkeys dvorak exit 0
Save the rc.local file by hitting C-x C-s (while pressing the Ctrl key, hit x & the s key sequentially). You are done now, just quit emacs (C-x C-c) and restart the system, all your virtual terminals will have the keyboard layout set to Dvorak.
Dvorak in Awesome Window Manager
To re-map the keyboard to Dvorak in the Awesome Window Manager, it is required to write a petite shell script and call the script at log-in time. For gNewSense 2.3, only version 2.0 of Awesome is available in the repositories which is pretty much old.
To start off, create a .awesome directory under /home/ folder.
$ sudo mkdir /home/.awesome/
Start emacs (with root privilege) and create a new file (C-x C-f) by the name awesome_start.sh under /home/.awesome/ directory. Paste the text below in the awesome_start.sh file.
# Set the Dvorak keymap. setxkbmap dvorak # Start the Awesome environment. exec awesome
We are not finished yet, it is required that the xsession manager calls this script whenever a log-in happens with the Session set to Awesome. To exactly do this, the awesome.desktop file in /usr/share/xsessions/ should be edited using root privilege.
$ sudo emacs /usr/share/xsessions/awesome.desktop
In the file, change the value of the Exec variable to
After the edit, the awesome.desktop file should look like this :
[Desktop Entry] Encoding=UTF-8 Name=Awesome Comment=Awesome window manager Exec=/home/.awesome/awesome_start.sh Icon=awesome.xpm Type=XSession
Save the awesome.desktop file, log-off and log-on with the session set to Awesome. Bang!, your keyboard will be mapped to Dvorak.
Dvorak in the Login Prompt
Yes, the log-in prompt. It'd be annoying to type your username and password in qwerty, if you're a Dvorak typist and the GNOME log-in manager, that gNewSense 2.3 uses, doesn't provide any direct way to change the keyboard's layout at the log-in prompt. But the good news is, it is absolutely possible to change the keyboard's layout to Dvorak at the log-in prompt. What if there are others who use the computer, but are still stuck with qwerty ? They would need the default qwerty layout to log-in right. Therefore, in this case, our recipe for the keyboard layout settings at the log-in prompt should also take the qwerty users into account, so that they don't have problem logging into the system.
With all this in mind, we go forth to tweak the log-in prompt's keyboard settings. The recipe is just a two line edit in the xorg.conf file, so it should not take much of your time. To kick off, open the xorg.conf in emacs ( sudo mode).
$ sudo emacs /etc/X11/xorg.conf
Head to the InputDevice section (for the keyboard) and change the XkbLayout layout to "us,dvorak" and create a new option under the InputDevice section called XkbOptions and set the value of this option to "grp:switch,grp:shift_toggle". Therefore, the InputDevice section will look like this
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "us,dvorak" Option "XkbOptions" "grp:switch,grp:shift_toggle" EndSection
after the edit. Save the xorg.conf file (C-x C-s) and exit emacs (C-x C-c). Now, we are done with setting up the log-in prompt's key-mapping to both qwerty and Dvorak. Here we have set the default layout to be qwerty (us) and you can switch between the two layouts ( qwerty and dvorak ) by hitting two <shift> keys at the same time.
There is a touch typing tutor, called klavaro, available in the gNewSense repositories which can be used to learn to touch type in Dvorak.
Klavaro can be installed by the apt-get command
$ sudo apt-get update $ sudo apt-get install klavaro
Once klavaro is installed. Open klavaro
and in the klavaro window, first configure the keyboard to "dvorak_us" by hitting Define button beside the Keyboard option. In the keyboard layout selection window, select dvorak_us from the Original Layout drop-down menu and hit Select. Now, klavaro will be all set to help you learn Dvorak. Progress through all courses under <Learning> and get yourself wired to Dvorak. Happy learning.