4.1 Sun Workstations Running X

Some earlier Sun keyboards do not have arrow keys separate from the keypad keys. It is difficult to emulate the full EDT keypad and still retain use of the arrow keys on such keyboards.

The Sun Type 5 and other more recent Sun keyboards, however, do have separate arrow keys. This makes them candidates for setting up a reasonable EDT keypad emulation.

Depending upon the configuration of the version of X installed on your system, you may find the default X keynames for the keypad keys don’t permit Emacs to interpret some or all the keypad keys as something other than arrow keys, numeric keys, Home, PageUp, etc. Both Sun and HP have been particularly guilty of making bizarre keysym assignments to the keypad keys.

In most cases, the X Windows command, xmodmap, can be used to correct the problem. Here’s a sample .xmodmaprc file which corrects this problem on one Sun workstation configuration using an older SunOS release configured with a Sun Type 5 keyboard:

! File:  .xmodmaprc
!
! Set up Sun Type 5 keypad for use with the Emacs EDT Emulation
!
keycode  53 = KP_Divide
keycode  54 = KP_Multiply
keycode  57 = KP_Decimal
keycode  75 = KP_7
keycode  76 = KP_8
keycode  77 = KP_9
keycode  78 = KP_Subtract
keycode  97 = KP_Enter
keycode  98 = KP_4
keycode  99 = KP_5
keycode 100 = KP_6
keycode 101 = KP_0
keycode 105 = F24
keycode 119 = KP_1
keycode 120 = KP_2
keycode 121 = KP_3
keycode 132 = KP_Add

If edt-mapper.el does not recognize your keypad keys as unique keys, use the command ‘xmodmap -pke’ to get a listing of the actual key codes and the keysyms mapped to them and then generate you own custom .xmodmaprc similar to the one above.

Next, feed .xmodmaprc to the xmodmap command and all the Sun Type 5 keypad keys will now be configurable for the emulation of an LK-201 keypad (less the , key). In this example, the line

keycode 105 = F24

changes the X Windows name of the keypad NumLock key to be known internally as the F24 key. Doing so permits it to be configured to behave as the PF1 (GOLD) key.

The side effect of this change is that you will no longer have a NumLock key. If you are using other software under X which requires a NumLock key, then examine your keyboard and look for one you don’t use and redefine it to be the NumLock key. Basically, you need to clear the NumLock key from being assigned as a modifier, assign it to the key of your choice, and then add it back as a modifier. (General Notes on Using NumLock for the PF1 Key on Unix Systems for further help on how to do this.)