Solaris Advanced User's Guide
  Search only this book
Download this book in PDF

Modifying the Keyboard

B

This appendix provides instructions for remapping your keyboard. It includes remapping options for special keyboard keys,. It also provides information on how to disable and enable the Compose key on your keyboard.
For information on remapping your mouse buttons (for, for example, more convenient left-handed use of the mouse), see the Solaris User's Guide.

Disabling/Enabling the Compose Key


x86 - The Compose key is defined to be Ctrl-Shift-F1 on x86 systems.

If you do not use the Compose key, you can disable it so that you do not have to worry about pressing it inadvertently. First, find out the keycode for Multi_key:

  $ xmodmap -pk | grep Multi_key  

Your system displays a line similar to:
nn 0xff20 (Multi_key)
The important piece of information is the two-digit keycode number at the beginning of the line, represented by nn. Use this keycode number to construct the following line in your .xinitrc file:

  xmodmap -e 'keycode nn = NoSymbol'  

To re-enable the Compose key, comment out the previous line in your .xinitrc file and restart the OpenWindows software.

SPARC Left-Handed Key Remapping

The key remapping script in this section (provided for the Type-4 and Type-5 keyboards) remaps most of the special keys on the left and right panels of the keyboard (that is, the keypads to the left and right of the main keyboard area).

SPARC - Note the following sections concerning "Left-Handed Key Remapping" apply only to SPARC-based machines.

SPARC Using the Remapping Script
Follow these steps to create and use your remapping script:
  1. Create a file called lefty.data using any text editor. This can be in any directory. Step 4 must occur in the same directory in which you create this file.

  2. Type in the script as shown in Table B-1 "The lefty.data Script.". Any line with an exclamation point in front of it is a comment line, and does not execute any operation.

  3. Save the changes and quit the editor.

  4. At the prompt, type: xmodmap lefty.data You must be in the same directory as the script file.

  5. Click a mouse button in the Workspace to make the script take effect.

    Once you have completed these steps you can use the keyboard so the keys are mapped for a left-handed person.

Type the following script into the file lefty.data, as described in step 1.
Table B-1 The lefty.data Script

 !  
 ! lefty.data  
 !  
 ! Data for xmodmap to set up the left and right function keys for left-handed use on  
 ! Sun type-4 keyboard.  To use this data type the following where <filename> is the  
 ! name of the file (i.e. lefty-data).  
 !  
 ! xmodmap <filename>  
 !  
 ! The comments below correspond to the keycode assignments following  
 !  immediately thereafter.  
 !  
 ! swap L2 (Again) with R1 (Pause)  
 ! swap L3 (Props) with R6 (KP_Multiply)  
 ! swap L4 (Undo) with R4 (KP_Equal)  
 ! swap L5 (Front) with R9 (KP_9)  
 ! swap L6 (Copy) with R7 (KP_7)  
 ! swap L7 (Open) with R12 (KP_6)  
 ! swap L8 (Paste) with R10 (Left)  
 ! swap L9 (Find) with R15 (KP_3)  
 ! swap L10 (Cut) with R13 (KP_1)  
 !  
 ! chng R3 (Break) to L1 (Stop)  
 ! chng R2 (Print) to R10 (Left)  
 ! chng R5 (KP_Divide) to R12 (Right)  
 !  
 ! chng Linefeed to Control-R  
 !  

Table B-1 The lefty.data Script

 keycode 10 = R1            R1        Pause  
 keycode 28 = L2             L2        SunXK_Again  
 keycode 32 = R6             R6        KP_Multiply  
 keycode 54 = L3             L3         SunXK_Props  
 keycode 33 = R4            R4         KP_Equal  
 keycode 52 = L4            L4         SunXK_Undo  
 keycode 56 = R9           R9         KP_9        Prior  
 keycode 77 = L5            L5         SunXK_Front  
 keycode 58 = R7            R7        KP_7        Home  
 keycode 75 = L6            L6         SunXK_Copy  
 keycode 79 = Right      R12       KP_6  
 keycode 100 = L7          L7         SunXK_Open  
 keycode 80 = Left         R10       KP_4  
 keycode 98 = L8            L8      SunXK_Paste  
 keycode 102 = R15        R15    KP_3           Next  
 keycode 121 = L9          L9       SunXK_Find  
 keycode 104 = R13        R13    KP_1           End  
 keycode 119 = L10         L10    SunXK_Cut  
 keycode 30 = L1            L1       SunXK_Stop  
 keycode 29 = Left         R10     KP_4  
 keycode 53 = Right      R12     KP_6  
 keycode 118 = Control_R  
 add control = Control_R  

SPARC Undoing the Keyboard Remapping
There are two ways to switch the keys back to their original settings. The first is to exit the OpenWindows software and start it up again. The second method, which is much preferable if you may want to switch the keys back periodically, is to create a second script and initiate it any time you want to
switch back.
Follow these instructions to create the second script:
  1. Use any editor to create a file called nolefty.data. This must be in the same directory that contains the lefty.data script.

  2. Type in the script as shown in Table B-2 "The nolefty.data Script.". Any line with an exclamation point in front of it is a comment line, and does not execute any operation.

  3. Save the changes and quit the editor.

  4. At the prompt, type:


  $ xmodmap nolefty.data  

For the nolefty.data file to take affect, you must enter the previous command in the same directory as the script file.
nolefty.data
!
! nolefty.data
!
! Data for xmodmap to reset the left and right function keys after being set for
! left-handed use on the Sun t ype-4 keyboard. To use this data type the following
! where <filename> is the name of this file.
!
! xmodmap <filename>
!
!Reassign standard values to left function keys
!
keycode 10 = L2 L2 SunXK_Again
keycode 32 = L3 L3 SunXK_Props
keycode 33 = L4 L4 SunXK_Undo
keycode 56 = L5 L5 SunXK_Front
Table B-2 The nolefty.data Script

 keycode 58 = L6       L6       SunXK_Copy  
 keycode 79 = L7       L7       SunXK_Open  
 keycode 80 = L8       L8       SunXK_Paste  
 keycode 102 = L9     L9       SunXK_Find  
 keycode 104 = L10    L10     Sun XK_Cut  
 !  
 ! Reassign standard values to right function keys.  
 !  
 keycode 28 = R1      R1       Pause  
 keycode 29 = R2      R2       Print  
 keycode 30 = R3      R3       Scroll_Lock    Break  
 keycode 52 = R4      R4       KP_Equal  
 keycode 53 = R5      R5       KP_Divide  
 keycode 54 = R6        R6       KP_Multiply  
 keycode 75 = R7        R7       KP_7           Home  
 keycode 77 = R9        R9       KP_9           Prior  
 keycode 98 = Left      R10     KP_4  
 keycode 100 = Right R12      KP_6  
 keycode 119 = R13    R13      KP_1          End  
 keycode 121 = R15    R15      KP_3          Next  
 !  
 ! Reassign the Linefeed key as such and remove from control map.  
 !  
 remove control = Control_R  
 5keycode 118 = Linefeed