On SGI machines, using the numeric keypad to enter either a 3 or a 9 actually results in a PageUp or a PageDown being generated. Why is this happening and what can I do about it?
The following is a possible solution to the problem of SGI default key mapping of the keypad 3 and 9 keys. To recap, the problem arises from the fact the SGI (by default) maps the keypad 3 and keypad PageDown keys to the same virtual key symbol that Motif uses, namely osfPageDown. The same holds true for the 9 and PageUp key on the keypad.
This means that a Motif widget that correctly assumes that osfPageUp actually means PageUP, will incorrectly identify the 9 key on the key pad as a PageUp command.
The majority of SGI users that also use Motif widgets have changed this default behaviour and have no further problems. The most common way to do this is to use the program "xmodmap" the change the virtual key symbols associated with the 3/PageDown and 9/PageUp keys.
However, if you wish there is another solution. It is possible to override the translations on the table widget so the it can distinguish between the 3 and PageDown keys. This solution is specific to SGI machines, is not portable and is not guaranteed to work with systems where the users have modified the default keyboard mapping.
The attached example program demonstrates this.