[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