Solaris Common Desktop Environment: Advanced User's and System Administrator's Guide

Defining UNIX Bindings

By default UNIX bindings are not enabled.

To Specify-EMACS Style Translations

The following procedure specifies:

  1. Add the following line to the HomeDirectory/.Xdefaults file:

    #include "/usr/dt/app-defaults/language/UNIXbindings"

    where language is the value of the LANG environment variable.

  2. Restart your session.

To Modify the EMACS-Style Translations

  1. Insert the contents of the file /usr/dt/app-defaults/language/UNIXbindings into HomeDirectory/.Xdefaults.

  2. Edit the bindings in the .Xdefaults file.

  3. Restart your session when you have finished.

UNIX Bindings Provided by the UNIXbindings File

The /usr/dt/app-defaults/language/UNIXbindings file provides the bindings described in the tables below.


Note –

The Delete key deletes the previous character when the UNIX bindings are enabled, and Shift-Delete deletes the next character.


Table 17–1 lists the dtpad overrides for menu accelerators and accelerator text that conflict with the UNIX bindings.

Table 17–1 dtpad Overrides

Menu Accelerators and Accelerator Text 

Override 

Dtpad*fileMenu.print.acceleratorText:

 

Dtpad*fileMenu.print.accelerator:

 

Dtpad*editMenu.undo.acceleratorText:

Ctrl+_  

Dtpad*editMenu.undo.accelerator:

Ctrl<Key>_  

Dtpad*editMenu.paste.acceleratorText:

Shift+Insert 

Dtpad*editMenu.paste.accelerator:

Shift<Key>osfInsert 

Dtpad*editMenu.findChange.acceleratorText:

Ctrl+S 

Dtpad*editMenu.findChange.accelerator:

Ctrl<Key>s 

Table 17–2 lists the dtmail Compose window overrides for menu accelerators and accelerator text that conflict with the UNIX bindings.

Table 17–2 dtmail Compose Window Overrides

Menu Accelerators and Accelerator Text 

Override 

Dtmail*ComposeDialog*menubar*Edit.Undo.acceleratorText:

Ctrl+_ 

Dtmail*ComposeDialog*menubar*Edit.Undo.accelerator:

Ctrl<Key>_  

Dtmail*ComposeDialog*menubar*Edit.Paste.acceleratorText:

Shift+Insert 

Dtmail*ComposeDialog*menubar*Edit.Paste.accelerator:

Shift<Key>osfInsert 

Dtmail*ComposeDialog*menubar*Edit.Find/Change.acceleratorText:

Ctrl+S 

Dtmail*ComposeDialog*menubar*Edit.Find/Change.accelerator:

Ctrl<Key>s 

The following translations provide (GNU style) EMACS control and Meta key bindings plus some additional bindings. When appropriate, they also allow the Shift key to be used in combination with the normal binding to reverse the direction of the operation. For example, Ctrl+Shift+F will move the cursor backward a character since Ctrl+F normally moves it forward a character.

The additional bindings are:

Ctrl+comma—backward-word

Ctrl+Shift+comma—forward-word

Ctrl+period—forward-word

Ctrl+Shift+period—backward-word

Ctrl+Return—end-of-file

Ctrl+Shift+Return—beginning-of-file

GNU EMACS binds delete-previous-character() rather than delete-next-character() to the Delete key. Meta+F is normally the mnemonic for the File menu, so the binding to forward-word() will be ignored. Use one of the other bindings for forward-word (for example, Ctrl+period).

Table 17–3 lists the DtEditor.text Translations

Table 17–3 DtEditor.text Translations

Modifier Key  

Key  

Action Routine  

c ~s 

<Key>a: 

beginning-of-line()\n\ 

c s 

<Key>a: 

end-of-line()\n\ 

c ~s 

<Key>b: 

backward-character()\n\ 

c s 

<Key>b: 

forward-character()\n\ 

c ~s 

<Key>b: 

backward-character()\n\ 

c s 

<Key>b: 

backward-word()\n\ 

m ~s 

<Key>b: 

backward-word()\n\ 

m s 

<Key>b: 

forward-word()\n\ 

c ~s 

<Key>d: 

delete-next-character()\n\ 

c s 

<Key>d: 

delete-previous-character()\n\ 

m ~s 

<Key>d: 

kill-next-word()\n\ 

m s 

<Key>d: 

kill-previous-word()\n\ 

c ~s 

<Key>e: 

end-of-line()\n\ 

c s 

<Key>e: 

beginning-of-line()\n\ 

c ~s 

<Key>f: 

forward-character()\n\ 

c s 

<Key>f: 

backward-character()\n\ 

m ~s 

<Key>f: 

forward-word()\n\ 

m s 

<Key>f: 

backward-word()\n\ 

<Key>j: 

newline-and-indent()\n\ 

c ~s 

<Key>k: 

kill-to-end-of-line()\n\ 

c s 

<Key>k: 

kill-to-start-of-line()\n\ 

<Key>l: 

redraw-display()\n\ 

<Key>m: 

newline()\n\ 

c s 

<Key>n: 

process-up()\n\ 

c ~s 

<Key>n: 

process-down()\n\ 

<Key>o: 

newline-and-backup()\n\ 

c ~s 

<Key>p: 

process-up()\n\ 

c s 

<Key>p: 

process-down()\n\ 

c ~s 

<Key>u: 

kill-to-start-of-line()\n\ 

c s 

<Key>u: 

kill-to-end-of-line()\n\ 

c ~s 

<Key>v: 

next-page()\n\ 

c s 

<Key>v: 

previous-page()\n\ 

m ~s 

<Key>v: 

previous-page()\n\ 

m s 

<Key>v: 

next-page()\n\ 

<Key>w: 

kill-selection()\n\ 

c ~s 

<Key>y: 

unkill()\n\ 

<Key>]: 

forward-paragraph()\n\ 

<Key>[: 

backward-paragraph()\n\ 

c ~s 

<Key>comma: 

backward-word()\n\ 

c s 

<Key>comma: 

forward-word()\n\ 

<Key>\\<: 

beginning-of-file()\n\ 

c ~s 

<Key>period: 

forward-word()\n\ 

c s 

<Key>period: 

backward-word()\n\ 

<Key>\\>: 

end-of-file()\n\ 

c ~s 

<Key>Return: 

end-of-file()\n\ 

c s 

<Key>Return: 

beginning-of-file()\n\ 

~c ~s ~m ~a 

<Key>osfDelete: 

delete-previous-character()\n\ 

~c s ~m ~a 

<Key>osfDelete: 

delete-next-character()