I spend a lot of time switching between Linux, MacOS, and Windows
workstations. I do this partly because I am always looking for the best
tools for a given task. Even though modern GUIs are very similar, their
slight differences can be frustrating. I think the root of the
frustration is that the similarities between the OSes makes it
difficult to remember which interface I am dealing with. I am pretty
comfortable using MacOS key combinations when I am using an Apple
keyboard, but if I plug in a MS Natural Keyboard, I start to bump into
things like a caveman driving a car. Here are some tips I have learned
to make the transition between different computers easier on the ol'
noggin.
Contents:
- What
is a consistency conflict? - Changing Key Combos
on the Mac. - Firefox Key Combos.
- Terminal Key
Configurations - Clipboard Complaints
What
is a consistency conflict?
MacOS X tries to maintain a lot of similarities with earlier versions
of itself, and Windows tries to do the same. Gnome and KDE don't have
as long a history, but they do inherit a lot of the same problems from
the Mac and Windows. All of these GUIs have the ability to cut, copy,
and paste, but only the Mac has the command-key (aka apple-key), and it
has always used command-c for copying. When Windows and Linux added
this shortcut, they decided on the control-key. Perhaps it is really
Apple's fault for later adding the control-key to their keyboard, while
keeping the command-key. Therefore, you can never count on control-c
working at any computer you come across. Apple is staying consistent
with Apple, but is maintaining inconsistency with the majority of
installed computers, and by extension Apple is inconsistent with the
training of a much more computer literate society. Though Apple may
have good reason to stay internally consistent, it doesn't preclude
them from becoming more consistent in certain situations. For example,
they can easily offer both the control-c and command-c shortcuts out of
the box. This is not an enormous hurdle for the end user, but it is
akin to the silliness of using the right faucet handle for hot water.
Changing
Key Combos on the Mac.
Double
Command is
an excellent free tool to change key mappings. If you are using a PC
keyboard with your Mac, it will be very beneficial to have Double
Command swap the windows-key and the alt-key, which correspond to the
command-key and option-key on the Mac. I have also noticed that the
windows-key or option-key on a Mac keyboard is almost impossible to
touch type. I can use my pinky to press the control-key, and I can use
my thumb to press the alt-key or command-key. Who were the knuckleheads
that added the fn-key to the Mac and the menu-key to the PC keyboard
where they are most likely to be mistyped? If you really need a
volume-key and a reformat-my-hard-drive-key, could you place it at the
top of the keyboard with the rest of the keys that were inspired by the
usability tips from Pimp My Ride.
Be sure to check out the MacOS keyboard shortcuts under the “Keyboard
& Mouse” system preference. I'm not sure if this is available
before MacOS 10.4 Tiger.
Firefox
Key Combos.
If you switch between Firefox on the Mac and on Windows or Linux, you
may enjoy the
href="http://extensionroom.mozdev.org/more-info/keyconfig">keyconfig
extension, so you can quit pressing control-t fifty times
trying to open a new tab.
Terminal
Key Configurations
Ninety percent of the problems with terminal configurations are due to
the backspace and delete characters being reversed on the terminal
client
and on the server's terminal. In the Mac's Terminal program, you can
fix this by:
- Selecting “Window Settings” in the “Terminal” menu.
- Selecting “Keyboard” from the drop-down menu.
- Checking or unchecking “Delete key sends backspace”.
After you do this, you may find that a window connected to remote
systems works fine, but that the terminal on your Mac is now spewing
“^H” or “^?” instead of deleting the previous character. You can test
whether the delete-key is sending “^H” or “^?” by running “cat” in your
terminal window and hitting the delete-key. You can check whether the
which character the terminal is expecting by running “stty -a” and you
will either find “erase = ^?” or “erase = ^H” somewhere in the output.
You can set the terminal's erase character by running one of these
commands:
stty erase '^H' stty erase '^?'
You will want to put one of these commands in your .bashrc, .cshrc, or
.profile depending on what shell you are running, so that it is set
every time you connect. Even after I fixed this problem, I noticed
another more insidious one. Mutt did not like the delete character that
“cat” was accepting just fine. After I traced this down to the TERM
environmental variable on the Mac being set to “xterm-color”, while my
Linux box was setting the TERM env var to “xterm”. You can fix this by
setting TERM to “xterm”, and mutt will be happy, at least until you
connect with a terminal that doesn't support “xterm” at all. Now that I
knew that the terminal emulation setting was causing the problem, I
could actually search for some real answers. I haven't tried these
solutions yet, but here are instructions on
href="http://www.dansanderson.com/blog/archives/terminal/">fixing
xterm-color terminal emulation to work with the Mac's Terminal app,
and here is an amazingly thorough guide to
href="http://www.ibb.net/%7Eanne/keyboard.html">Consistent
BackSpace and Delete Configuration.
Your shell and any other program that supports readline has a large set
of shortcuts like move-to-the-beginning-of-line or
move-forward-one-word. You can even edit the
href="http://cnswww.cns.cwru.edu/%7Echet/readline/rluserman.html">readline
init file (/etc/inputrc or ~/.inputrc) to make the shortcuts
easier to use. In the Mac's Terminal app, you may need to go into the
“Window Settings” menu item and set “use option key as meta key” in
order to access some of the readline shortcuts. It's too bad that I
just used Double Command to swap the Apple key and the Alt key on my
Microsoft Natural Keyboard. Ahhhhhhhh.
Clipboard
Complaints
The Mac, Windows, KDE, and Gnome all support command-c or control-c for
copying, but I have become accustomed to the old school method of
copying in XWindow,
and that is by just selecting text. I don't have to press any command,
the text is in the clipboard automatically. Each of these methods has
shortcomings in making a convenient interface.
- If you forget to press command-c or control-c, or if you
press the wrong one, you will have to find the data again that you want
to copy. - If you are using “copy on select”, you have to be careful
not to selecting anything else as you navigate to the position you want
to paste to. This is especially annoying when you want to replace some
text, because you can't select the old text to delete it.
Except for very large selections that may tax your computer's memory, I
think that copying on selection is the preferable interface. However,
the effort involved to prevent the clipboard from being overwritten
before you are ready to paste is a problematic UI. I think it would be
great if I could copy on select, and then use the contextual menu to
view the last three items selected. This is definitely a UI feature for
the power user, but I am almost surprised that this doesn't already
exist. I searched for a potential solution, and the closest ones still
fell short of my goal. The
href="http://docs.kde.org/stable/en/kdebase/klipper/">Klipper
in KDE allows you to store and retrieve multiple clipboards, and you
can have the clipboard list popup under the mouse, but instead of
right-clicking, you have to press a configurable keyboard combination.
This may seem like whining over nothing, but I think lots of people
would be happier for having this nonexistent feature. MacOS X has a
product called CopyPaste
X which provides multiple clipboards in a contextual menu
(accessed by right-clicking), but it doesn't work in Firefox or Nvu,
and the clipboard entries are actually in a submenu of the contextual
menu. CopyPaste X also does not add the ability to copy on select. You
can get the copy on select functionality with the
href="http://autocopy.mozdev.org/">Autocopy extension for
Firefox and the GLTerm
or Putty
terminal clients, but I really want this interface feature to be
consistent throughout the OS, and preferably in all the OSes I use.

Atom Feed