[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Keystrokes and Operating Systems
Many thanks for the public and private responses to my questions about
keystrokes and the definition of "operating system." Sorry about the delay
in answering.
Let's see -- folks have mentioned polling, and interrupts, and drivers, and
direct hardware access, and failsafes, and Big Brother.... all intriguing
topics, all worthy of investigation, but not quite what I'm concerned about
here. What everyone agrees on is that keystrokes normally go through one or
more layers of software, the topmost of which is something labeled the OS,
before reaching application programs. We can definitely say that one job of
an OS is to present keystrokes to applications in usable form.
What I'm concerned about is when keystrokes that ought to reach
applications don't, and are instead handled in application-like ways by
this supposedly underlying software; and when this software *prevents*
developers and users from defining their own keystrokes for operations that
are inarguably application functions. My word for software that does this
is "straitjacket."
As I understand it, a Windows application (or the user, in some apps) can
define (1) "shortcut" keys for individual commands, (2) a keystroke to
activate the menu bar, and (3) the keys that activate individual commands
once a menu is open -- but that's it. If the user or the app has a non-
canonical way of moving the cursor (or highlighting, or focus, or whatever)
in text, for example, that method *cannot* be applied in menus and dialog
boxes; you *must* use a pointing device or Microsoft-defined navigation
keystrokes until you return to your document -- and Microsoft-defined
navigation keystrokes are always mind-bogglingly inconvenient non-main-
block keystrokes available only on IBM-type keyboards and imitations. This
is unacceptable. There are thirty-two ISO-, ECMA-, and ANSI-defined non-
printing *command* keystrokes in the *main block* of every microcomputer
keyboard on Earth, IBMish or not. With only one exception that I know of,
these keystrokes are DEAD when Windows has control, and that is robbery.
The exception is Control+H, which is defined as backspace in every encoding
standard we have, from seven-bit ASCII to thirty-two-bit Unicode. Control+H
works as backspace on text input lines in Windows dialog boxes. Does it
work that way when you are editing text in Word? Nope -- and if you want to
make it work that way, you must create a macro, because backspace (a rather
basic function, wouldn't you say?) is conspicuously absent from the long
list of functions you can select in Word's keyboard customization feature.
So much for Windows' vaunted consistency and conformance to standards.
Good ol' Control+H -- or ^H, as we used to write it. Like a fair number of
other people in this world, I have to tap out text all day. Back when Ctrl
was next to the A key (anyone remember that?) I just about wept with joy
when I realized I would never have to reach for a backspace key again. ^H
worked exactly the same way in every app, every utility, and every OS on
every computer I had to use, from Apple II clones to the Yodobashi Computer
Union Formula 1 to IBM Personal Computer clones. Lord almighty, did that
ever make my life easier! A few other Ctrl-key combinations had similarly
consistent definitions, the rest were easy to learn from programs' on-
screen keystroke help (anyone remember *that*?) and though some were
slightly awkward and some seemed illogical at first, I had this notion (now
generally considered a sign of mental illness) that I should expend the
small effort needed to master them, since (1) I could expect to be using
computers for the rest of my life, (2) these were the only command
keystrokes available on all computers, and (3) developers would SURELY make
all functions available through these keystrokes so that any program could
offer the same keyboard interface on all of the many different kinds of
computers then coming out (anyone remember THAT?).
These days, this kind of thinking will get you called a fool, an idiot, a
Luddite, or an elitist. In those days, CP/M was still going strong, still
being hailed as a great advance because of the ease with which it could be
adapted to different hardware designs....
Soon I could open and close files and menus, scroll and jump through text,
select and move and copy and delete and undo and cancel and confirm and
search and save and exit and you name it, all without moving my hands from
the home position or looking down at the keyboard. It made me a better
typist; it gave me the confidence to approach new apps and new systems
without fear; and it was so enjoyable I often made the cursor do a little
dance after I finished a particularly difficult sentence or paragraph.
Function, arrow, and editing keys -- all vendor-specific, all
non-standard, all out of the way -- were laughable. Life was good.
Along came Windows. Six bundled applications -- and *not one working Ctrl-
key combination in any one of them*. In the desktop -- MS-DOS Executive,
they called it -- you could change disk drives using Ctrl and letter keys.
That's all. Three disk drives, three working Ctrl-key combinations in the
entire software suite. (Anyone doubt it? I have a 1986 "official guide" to
Windows 1.0 from Microsoft Press here. Detailed instructions; lotsa pics
showing all the menus and all the "shortcut" keys. Instructive indeed.)
Sure, Windows apps now have Ctrl-key "shortcuts"; this didn't start until
IBM obligingly moved Ctrl from the home row to the position occupied by
the Mac's Command key. (You DO all know where the Ctrl+X/C/V
cut/copy/paste suite comes from, don't you? Lots of choice we have these
days, eh? And by the way, do a Web search on Ctrl, Caps Lock, carpal, and
RSI some day -- and think about all the people typing in all the text that
brings us all the knowledge we have....)
You think "shortcut" keys are fast and convenient? Compared to using a
mouse they might be; imagine what it's like when *everything* is right
under your fingertips. It once was, and it still can be -- you don't think
there's a mouse on this machine, do you? -- but not in Windows, because the
idea of people learning skills transferrable to other systems is anathema
to the Pavlovians in Redmond.
The moment you go to the menus, Windows severely limits the ways you can
use the keyboard, and when you go any further than that, Microsoft is in
complete control of how you work. That's not an operating system; it's a
dictatorship.
I invite our Microsoft defenders to defend the disabling of a standards-
based resource and the theft of a supremely ergonomic, efficient,
enjoyable, and easy-to-learn way to operate a computer.
I ask everyone: How can we dignify with the name "operating system" code
that *neutralizes* built-in functionality and *robs* developers and users
of options guaranteed them by every standard on the books?
For everyone who uses a keyboard, Windows was a huge step backwards. Think
about how much its keyboard interface has changed in the past twelve years.
This is progress?
Dan Strychalski
dski@cameonet.cameo.com.tw