Greg's Avant Stellar
Greg's diary
Greg's home page
HOWTO index
Google

In about May 1990 I bought some Northgate OmniKey keyboards at a junk shop in Sunnyvale. They were brand new, but no longer “modern”, because the function keys were on the left hand side, like the old PC keyboards. Now the PC AT had taken over, and its keyboard had the function keys at the top, and the much more important Caps_Lock key had displaced the Ctrl key. I and two of my colleagues, James “Jox Emacs” Cox and Rhodri Davies, all preferred the older layout, particularly the location of the Ctrl key, so I bought one for each of us.

I grew to like the keyboard not just for the layout, but also for the feel. A couple of years later I left Tandem, I negotiated with James and Rhod and took all three keyboards with me. I still have them, but they're getting old and bouncy, and some of the keys stick.

Northgate had gone out of business round about the time I bought the first keyboards—indeed, that's probably why I found them in the first place—so it wasn't easy to buy new ones, though I did find a couple on eBay later. Some years later I found a similar keyboard, the Avant Stellar, which was supposed to be a direct replacement. They do look very similar:


This should be Omnikey-keyboard.jpeg.  Is it missing?
Image title: Omnikey keyboard          Dimensions:          3874 x 1397, 1488 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Friday, 17 July 2009, thumbnails          All images taken on Friday, 17 July 2009, small
Diary entry for Friday, 17 July 2009 Complete exposure details

 
This should be Avant-Stellar.jpeg.  Is it missing?
Image title: Avant Stellar          Dimensions:          3847 x 1562, 688 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 18 July 2009, thumbnails          All images taken on Saturday, 18 July 2009, small
Diary entry for Saturday, 18 July 2009 Complete exposure details

 

The Avant Stellar has more function keys where I can't use them, but annoyingly this stupid inverted T cursor keypad. I've never understood why people changed to that.

The keyboard is programmable: you can change the layout of just about any key. I had long since lost the software, which was for ancient versions of Microsoft “Windows”, though I note it's http://www.cvtinc.com/products/keyboards/software.htm. But you can (and often unfortunately frequently must) reprogram it directly from the keyboard. Here's an overview:

Manual reprogramming

To reset all key bindings, press the right Ctrl key (which I'll call Rctrl here) four times, then the ! key (Left Shift and 1), then x. The LCDs will flash for a while. When they stop, the keyboard is in the default configuration. You don't need to press anything else to exit. You probably need to do this before remapping.

To set the keyboard in programming mode, press the right Ctrl key (which I'll call Rctrl here) four times, then the ! key (Left Shift and 1), then r. The ! echoes. To exit, press Rctrl again.

To remap a key, press the key with the binding you want followed by the key you want to have this binding (this is the opposite of what my instructions say). To exit, press Rctrl, which I suppose means you can't assign Rctrl to any other key.

Here's what I do to assign the keys as shown on the photo above. The key names below refer to the position of the key caps above. The Caps_Lock key is in fact set to Super_L (the so-called “Windows” key).

Rctrl-Rctrl-Rctrl-Rctrl-!r
Lctrl Broken window
Alt Lctrl
Caps_Lock Alt
` Caps_Lock
Esc `
Broken window (top left) Esc
PrintScreen Backspace
Rctrl

To explain: the key with the cap marked ` was intended to be the Super (“Windows”) key, whose cap I moved to top left to what Avant Stellar intended to be the Esc key. See below for the remapping of PrintScreen.

Problems

It's possible to reassign the Rctrl key. In this case, you can't enter the programming mode or keyboard reset as described above. Instead, find a non-running computer, plug the keyboard in and hold down the default Esc key (the one on its own between F12 and SF1), then power up. When you release the key, the keyboard resets to default configuration, apparently in the same way as Rctrl Rctrl Rctrl Rctrl ! x.

Somehow the keyboard still has problems. In the past I've had it continually forget its bindings, and there's something funny about the timing. In Emacs, I frequently issue the sequence c-x c-s c-a (save file and return to beginning of line). For some reason, the c-x appears to frequently get lost, so Emacs sees c-s (search forward). I've also frequently seen the Ctrl key get stuck “on”, and at least once the non-existent Caps_Lock key got stuck on, which is pretty fatal. I had to change keyboard to fix it. I've now found a place to put it on the keyboard, so that I can turn it off if it turns itself on by itself.

People have suggested to me that I should just leave the keyboard with the default mapping and do the remapping with xmodmap. That's a good idea, but it doesn't work: even if I remap the Caps_Lock key, the keyboard honours it and doesn't pass the keycode on to the computer, so effectively the remapping doesn't work. It sounds tempting to remap just that one key, but that way Ctrl and Alt generate the same keycode, so there's no way for xmodmap to differentiate between them.

The other problem is that when the Ctrl function gets stuck on, it makes an innocuous Alt-Backspace (which I use in Emacs to delete words backwards) into a Ctrl-Alt-Backspace, which terminates the X server. You'd think you could solve that problem by removing the “Terminate Server” functionality from that key combination, but that doesn't work: it stops anyway. Instead, I have remapped the Backspace key to the PrintScreen key (which I don't use), and then mapped it to the correct keycode.

Here's a diff of my modified key map. The keycodes may not match other keyboards, but the differences should be useful:

@@ -12,7 +12,7 @@
 keycode  19 = 0 parenright
 keycode  20 = minus underscore
 keycode  21 = equal plus
-keycode  22 = BackSpace Terminate_Server
+keycode  22 = BackSpace
 keycode  23 = Tab ISO_Left_Tab
 keycode  24 = q Q
 keycode  25 = w W
@@ -54,7 +54,7 @@
 keycode  61 = slash question
 keycode  62 = Shift_R
 keycode  63 = KP_Multiply XF86_ClearGrab
-keycode  64 = Alt_L Meta_L
+keycode  64 = Meta_L
 keycode  65 = space
 keycode  66 = Caps_Lock
 keycode  67 = F1 XF86_Switch_VT_1
@@ -101,7 +101,7 @@
 keycode 108 = KP_Enter
 keycode 109 = Control_R
 keycode 110 = Pause Break
-keycode 111 = Print Sys_Req
+keycode 111 = BackSpace
 keycode 112 = KP_Divide XF86_Ungrab
 keycode 113 = Alt_R Meta_R
 keycode 114 =

Greg's home page Greg's diary Greg's photos Copyright

Valid XHTML 1.0!

$Id: Avant-Stellar.php,v 1.7 2010/09/06 02:11:36 grog Exp $