Executor and ADB (Was Re: Scotty gets out his flame thrower ...)

Executor and ADB (Was Re: Scotty gets out his flame thrower ...)

Post by Clifford T. Matthe » Tue, 27 Oct 1992 11:36:10

Dear Folks,

Since Executor is one of the programs that Scotty mentioned as breaking with
ADB, I'd like to reply to his post as well as to the posts several other
people have made.

First off, I take full responsibility for the fact that our program broke
when it shouldn't have.  To right our wrong, we have developed a program
called "ExecutorPatcher" which will patch previous versions of our software
(Executor, Executor-DEMO and HFS_XFer) so that they can work with the new ADB
keyboard.  Executor 1.3, due out at the end of December should automatically
work with all existing keyboards and with new keyboards when they're

That said, I'd like to point out that Executor, SoftPC and X implementations
are all in a tricky position, because we all need to provide keycodes as
well as character codes to the programs that are running in our synthetic
environments.  I'm not exactly sure why WordPerfect had troubles; perhaps
just to round out a nice game of "one of these things is not like the

        Executor        Soft-PC

        CoXist          WordPerfect

Ironically, the key-codes that we've always provided to the programs running
under Executor are, in fact, the key codes that the new ADB keyboards produce,
so our patch basically consists of *NOT* remapping the keycodes.  Ain't it
a wacky world?  (Our patch changes exacty 13 short words.  The source to
ExecutorPatcher is available on unmvax.cs.unm.edu in pub/ardi/Source).

I agree that most of the fault lies with the developers.  It would have been
nice to have had a "heads-up" on this issue from anyone, be it NeXT, NeXTWorld,
or anyone else; but to not get one is not negligent in our book.

However, the makers of Executor, Soft-PC and X emulators are probably
all going to have to come up with their own way to determine which
physical keys have been pressed (as Scott Hess pointed out, due to
"dead-keys" this is not as easy as it might seem) so that we can
pass the information in to our respective environments.  I think
that had there been an API to get such information, we would have
used it and I'd even guess that the other companies in our boat
would have done the same.