Prism 6.0 User's Guide

Changing Keyboard Translations

You can change the keys and key combinations that Prism translates into various actions. In general, doing this requires an understanding of X and Motif programming. You may be able to make some changes, however, by reading this section and studying the defaults in Prism's file in your system's app-defaults directory.

Changing Keyboard Translations in Text Widgets

Use the Prism.textOneFieldTranslations resource to change the default keyboard translations for dialog boxes that contain only one text field. Its default definition is:

Prism.textOneFieldTranslations: 
<Key>osfDelete: delete-previous-character() 
   <Key>osfBackSpace: delete-previous-character()
      Ctrl<Key>u: erase_to_beginning() 
      Ctrl<Key>k: erase_to_end() 
      Ctrl<Key>d: delete_char_at_cursor_position() 
      ctrl<Key>f: move_cursor_to_next_char() 
      Ctrl<Key>h: move_cursor_to_prev_char() 
      Ctrl<Key>b: move_cursor_to_prev_char() 
      Ctrl<Key>a: move_cursor_to_beginning_of_text()
      Ctrl<Key>e: move_cursor_to_end_of_text()

(The definitions with osf in them are special Motif keyboard symbols.)

Use the Prism.textManyFieldTranslations resource to change the default keyboard translations for dialog boxes that contain several text fields. Its default definition is:

Prism.textManyFieldTranslations:
   <Key>osfDelete: delete-previous-character() 
   <Key>osfBackSpace: delete-previous-character() 
   <Key>Return: next-tab-group() 
   <Key>KP_Enter: next-tab-group() 
     Ctrl<Key>u: erase_to_beginning() 
     Ctrl<Key>k: erase_to_end() 
     Ctrl<Key>d: delete_char_at_cursor_position() 
     Ctrl<Key>f: move_cursor_to_next_char() 
     Ctrl<Key>h: move_cursor_to_prev_char() 
     Ctrl<Key>b: move_cursor_to_prev_char() 
     Ctrl<Key>a: move_cursor_to_beginning_of_text() 
     Ctrl<Key>e: move_cursor_to_end_of_text()

If you make a change to any field in one of these resources, you must copy all the definitions.

Changing General Motif Keyboard Translations

Prism uses the standard Motif translations that define the general mappings of functions to keys. They are shown below.

*defaultVirtualBindings:
    osfActivate :    <Key>Return
    osfAddMode :     Shift <Key>F8 
    osfBackSpace :   <Key>BackSpace 
    osfBeginLine :   <Key>Home 
    osfClear :       <Key>Clear 
    osfDelete :      <Key>Delete 
    osfDown :        <Key>Down 
    osfEndLine :     <Key>End 
    osfCancel :      <Key>Escape 
    osfHelp :        <Key>F1 
    osfInsert :      <Key>Insert 
    osfLeft :        <Key>Left 
    osfMenu :        <Key>F4 
    osfMenuBar :     <Key>F10 
    osfPageDown :    <Key>Next 
    osfPageUp :      <Key>Prior 
    osfRight :       <Key>Right 
    osfSelect :      <Key>Select 
    osfUndo:         <Key>Undo 
    osfUp :           <Key>Up

To change any of these, you must edit its entry in this resource. For example, if your keyboard doesn't have an F10 key, you could edit the osfMenuBar line and substitute another function key.

Note these points in changing this resource: