Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!ut-sally!husc6!panda!genrad!decvax!linus!philabs!micomvax!musocs!mcgill-vision!mouse
From: mouse@mcgill-vision.UUCP (der Mouse)
Newsgroups: comp.sources.wanted
Subject: Re: Dvorak keyboard translator wanted
Message-ID: <582@mcgill-vision.UUCP>
Date: Wed, 17-Dec-86 19:25:38 EST
Article-I.D.: mcgill-v.582
Posted: Wed Dec 17 19:25:38 1986
Date-Received: Fri, 19-Dec-86 00:11:39 EST
References: <329@stl.stc.co.uk> <1006@theory.cs.cmu.edu>
Organization: McGill University, Montreal
Lines: 43

In article <1006@theory.cs.cmu.edu>, tsf@theory.cs.cmu.edu (Timothy Freeman) writes:
> Does anyone out there have a filter for some flavor of Unix which
> makes a QWERTY keyboard behave like a DVORAK keyboard?  The idea is
> that I run this filter, and I relabel my keyboard in a DVORAK
> fashion, and then the keys work as labelled without any hardware
> changes.

This is a nice idea but I doubt it would work with most terminals.  I
say this because the Dvorak keyboard reassigns letters to some keys
that are normally (ie, QWERTY) not letters, notably ,< .> and /? - and
while this is not itself a problem, it breaks trying to send the
corresponding control character (since control-comma is not normally
distinguishable from control-point and control-slash).

If you are willing to fiddle the Dvorak keyboard slightly so that the
letters appear only on keys that bear letters under QWERTY, this would
be possible.  However, to keep things consistent will require kernel
hacks on any UNIX I know of - otherwise things like the kill character,
let us say you use ^U, would have to be set to something different from
what the keyboard says you're typing.  This is because those control
characters are handled by the kernel - your user program won't get a
chance to see them!

This difficulty *can* be worked around if your system has pseudo
terminals, but it's messy and doesn't work totally anyway.

If you are lucky enough to be running on something with a totally soft
keyboard, such as a Lisp Machine or a Sun, the sort of thing you want
*is* possible.  Not necessarily easy, mind you.  I have software which
is capable of doing this on a Sun-2 or Sun-3, provided you don't want
to run suntools (I don't, but I appear to be in the minority).

As for getting the translation table, I'm sure the CMU library has a
reference which will give this.  I found such a reference once in the
McGill libraries, but the xerox I made of it has vanished and I don't
remember what it was - I'd have to search it out again.

					der Mouse

USA: {ihnp4,decvax,akgua,utzoo,etc}!utcsri!mcgill-vision!mouse
     think!mosart!mcgill-vision!mouse
Europe: mcvax!decvax!utcsri!mcgill-vision!mouse
ARPAnet: think!mosart!mcgill-vision!mouse@harvard.harvard.edu