Rainer Joswig
Hamburg, Germany
Email: joswig@lisp.de
| Using the original Symbolics Keyboard with the Mac |
| I'm using a 17 inch MacBook Pro as my main hacking machine. For mobile use it replaces a full workstation.
At home I'm often using it with a 30 inch Cinema Display. Then the laptop is closed and I'm using only the external
screen and one of Apple's new and nice Alu keyboards. The German keyboard layout is a bit
less useful for programming compared to the US keyboard layout. But generally it is a very usable
keyboard, which is very flat and compact.
I also have one new style and one old style Symbolics Keyboard. Those can only be used with a real Symbolics Lisp Machine console (which is a bit fragile and getting old) or with the MacIvory. For the MacIvory there is a ADB (Apple Desktop Bus) keyboard and mouse adapter, so that the original Symbolics keyboard and mouse can be used for example with an Apple Macintosh Quadra. The adapter also needs a special system extension from Symbolics which runs under the old Mac OS. There is also some support for using the Symbolics keyboard with the (old) Mac OS applications (and not only with Genera). The Genera manuals explain the use of the Symbolics keyboard with Mac OS (pre OSX) applications. The MacIvory embedded Lisp Machine does not run on any computer that supports Mac OS X though. The only Macs that are compatible are 68k (68020, 68030 and 68040) Macs running a Mac OS prior to Mac OS X.
I have one of those original ADB adapters from Symbolics and they work fine. Unfortunately they are hard to get. If you are looking for one, feel lucky if you get one. The adapter is more rare than the keyboard. Sometimes David Schmidt from Symbolics has keyboards for sale. Up to now these were the only options how to use a Symbolics keyboard. Relatively new is a PS2 to Symbolics keyboard adapter that has been put together by Alexander Kurz (http://www.kbdbabel.org, open source keyboard protocol translator project) and Hans Hübner. There are around 30 existing and Hans sold those for 30 Euros. He added also a USB to PS2 adapter (mine is a but fragile, so I bought one from Belkin - expensive). By chaining together both adapters it is now possible to use the original Symbolics keyboard on a computer that has an USB port for connecting keyboards. Yeah!
Who are the potential users? Potential users are
There are still some keyboard mapping problems to sort out, but Hans should be able to resolve those with a new chip for his Symbolics to PS2 adapter. Most other keyboard mapping changes can be made on Operating System level. For Mac OS X there is an application called Ukulele which can create and edit Mac OS X keyboard layouts. The program is easy to use and in a few minutes I had adapted a Logitech keyboard layout to my Symbolics keyboard. The keyboard layout file should then be placed in the directory ~/Library/Keyboard Layouts/ . Logout and Login again - then Mac OS X should have noticed the keyboard layout new file. In System Preferences > Country Settings > Keyboard Menu one can add the new keyboard layout to the keyboard menu in the menubar.
With some special key configuration it should also be possible to take advantage of the special keys on the Symbolics keyboard while using the LispWorks integrated development environment or Aquamacs (a nice Macintosh version of GNU Emacs). The keyboard for example has a Complete key which triggers input completion in various contexts on the Lisp Machine. It also has Suspend, Resume, Abort keys which on the Lisp Machine trigger functionality in the command loop (a kind of of REPL (Read Eval Print Loop) on steroids) and the condition system. Conceptually Resume calls the next CONTINUE restart and Abort calls the next ABORT restart. Suspend would start a new REPL for the current process. One can imagine that these keys could also find good use with a Common Lisp development environment like LispWorks. Very useful to customize the keyboard actions is the software 'Keyboard Maestro' for Mac OS X. I have been able to use the current keyboard mapping and do some useful extensions. So for example I get special characters with the SYMBOL key as a prefix (though not as a modifier key). Umlaut ü is now SYMBOL u. The SELECT key prefix works, too. SELECT e activates now Aquamacs version of GNU Emacs. SELECT f activates the finder. l=LispWorks, t=Terminal, m=Mail, N=MT-Newswatcher, v=Vorschau (Preview), b=browser (Safari), k=Keynote, ... COMPLETE now is meta-control-i for completion in LispWorks. ABORT does COMMAND-.
The REFRESH key now is used to check new mail in Mail, reload a web page in the web browser or check for new news in the News reader.
After typing a bit with the Symbolics keyboard I feel right at home. It has a feel to it that no other keyboard has - especially for a Lisp developer. I can report that the Symbolics keyboard works extremely well attached to my Mac. LOCAL is the Mac's command key (which is not that usable and takes a bit of time to learn). RUBOUT sits to the left and deletes a character (that's relatively easy to learn). To the right we have the usual RETURN key, but next to the RETURN key there is a LINE key. This can be used in a Lisp Editor (for example with LispWorks) to insert a newline and indent. When one types a lot of Lisp code, one might use the COMPLETE key for completion, LINE for newline+indent and the parentheses are available without pressing shift. This really makes source code entry faster. Other settings I have made: PAGE scrolls page-wise (shift-PAGE scrols up), SCROLL scrolls down a line (shift-SCROLL up a line, control-SCROLL goes left, control-shift-SCROLL goes right, ...). I have also made the changes to the RUBOUT key so that there can be exceptions to some programs (seems like carbon programs might need that). Many thanks to Alexander Kurz and Hans Hübner, who have made it possible to use the original Symbolics keyboard with a modern computer. |
Links:
Keywords:
| LISPM MAC-OS-X SYMBOLICS |