VirtualBindings man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

VirtualBindings(3X)					   VirtualBindings(3X)

NAME
       VirtualBindings - Bindings for virtual mouse and key events

DESCRIPTION
       The  1/Motif  manual  pages  describe  translations in terms of virtual
       bindings, based on those described in the OSF/Motif Style Guide.	 Mouse
       events  are  described  in terms of virtual buttons, and key events are
       described in terms of virtual keys. The term virtual implies  that  the
       events  as  described do not necessarily correspond to a fixed set of X
       Window System events. Instead, virtual buttons and keys are  linked  to
       actual events by means of virtual bindings.

   Virtual Modifiers
       Both  virtual  buttons  and virtual keys may contain virtual modifiers.
       Each virtual modifier corresponds to one or more actual modifiers.  The
       following table lists the bindings of virtual modifiers to actual modi‐
       fiers in 1/Motif:

       ────────────────────────────────────
       Virtual Modifier Bindings
       Virtual Modifier	  Actual Modifiers
       ────────────────────────────────────
       MAlt		  Mod1
       MCopy		  Ctrl
       MCtrl		  Ctrl
       MLink		  Ctrl Shift
       MMove		  Shift
       MShift		  Shift
       ────────────────────────────────────

       Mod1 refers to the first modifier key. 1/Motif requires that it	corre‐
       spond to either Alt or Meta.

       The  virtual  modifier MAny indicates that any modifier can be used. If
       MAny is not specified and the user presses an actual modifier  that  is
       not explicitly included in a translation, that modifier may prevent the
       translation from being matched.

   Virtual Buttons
       Each virtual button corresponds to one  or  more	 actual	 button	 event
       descriptions.  Each button event description contains a button name and
       possibly modifiers.  These  button  event  descriptions,	 appropriately
       ordered	and possibly further modified, are used in translation tables.
       The following table lists the bindings of  virtual  buttons  to	actual
       button event descriptions in 1/Motif:

       ──────────────────────────────────────
       Virtual Button Bindings
       Virtual Button	Actual Button Events
       ──────────────────────────────────────
       BCustom		<Btn3>
       BDrag		<Btn2>
       BExtend		Shift<Btn1>
       BMenu		<Btn3>
       BSelect		<Btn1>
       BToggle		Ctrl<Btn1>
       ──────────────────────────────────────

   Virtual Keys
       Each  virtual  key corresponds to one or more actual key event descrip‐
       tions.  Each key event description contains a keysym name and  possibly
       modifiers.   These  key	event  descriptions, appropriately ordered and
       possibly further modified, are used in translation tables. The  follow‐
       ing  table  lists  the  bindings	 of  virtual  keys to actual key event
       descriptions in 1/Motif:

       ─────────────────────────────────────────────────────
       Virtual Key Bindings
       Virtual Key     Actual Key Events
       ─────────────────────────────────────────────────────
       KActivate
		       <Key>Return
		       Ctrl<Key>Return
		       <Key>osfActivate

       KAddMode	       <Key>osfAddMode
       KBackSpace      <Key>osfBackSpace
       KBackTab	       Shift<Key>Tab
       KBeginData      Ctrl<Key>osfBeginLine
       KBeginLine      <Key>osfBeginLine
       KCancel	       <Key>osfCancel
       KClear	       <Key>osfClear
       KCopy
		       <Key>osfCopy
		       Ctrl<Key>osfInsert

       KCut
		       <Key>osfCut
		       Shift<Key>osfDelete

       KDelete	       <Key>osfDelete
       KDeselectAll    Ctrl<Key>backslash
       KDown	       <Key>osfDown
       KEndData	       Ctrl<Key>osfEndLine
       KEndLine	       <Key>osfEndLine
       KEnter	       <Key>Return
       KEscape	       <Key>Escape
       KExtend
		       Ctrl Shift<Key>space
		       Shift<Key>osfSelect

       KHelp	       <Key>osfHelp
       KInsert	       <Key>osfInsert
       KLeft	       <Key>osfLeft
       KMenu	       <Key>osfMenu
       KMenuBar	       <Key>osfMenuBar
       KNextField
		       <Key>Tab
		       Ctrl<Key>Tab

       KNextMenu
		       Ctrl<Key>osfDown
		       Ctrl<Key>osfRight

       KPageDown       <Key>osfPageDown
       KPageLeft
		       Ctrl<Key>osfPageUp
		       <Key>osfPageLeft

       KPageRight
		       Ctrl<Key>osfPageDown
		       <Key>osfPageRight

       KPageUp	       <Key>osfPageUp
       KPaste
		       <Key>osfPaste
		       Shift<Key>osfInsert

       KPrevField
		       Shift<Key>Tab
		       Ctrl Shift<Key>Tab

       KPrevMenu
		       Ctrl<Key>osfUp
		       Ctrl<Key>osfLeft

       KPrimaryCopy
		       Ctrl<Key>osfPrimaryPaste
		       Mod1<Key>osfCopy
		       Mod1 Ctrl<Key>osfInsert

       KPrimaryCut
		       Mod1<Key>osfPrimaryPaste
		       Mod1<Key>osfCut
		       Mod1 Shift<Key>osfDelete

       KPrimaryPaste   <Key>osfPrimaryPaste
       KQuickCopy      Ctrl<Key>osfQuickPaste
       KQuickCut       Mod1<Key>osfQuickPaste
       KQuickExtend    Shift<Key>osfQuickPaste
       KQuickPaste     <Key>osfQuickPaste
       KReselect       Ctrl Shift<Key>osfSelect
       KRestore	       Ctrl Shift<Key>osfInsert
       KRight	       <Key>osfRight

       KSelect
		       <Key>space
		       Ctrl<Key>space
		       <Key>osfSelect

       KSelectAll      Ctrl<Key>slash
       KSpace	       <Key>space
       KTab	       <Key>Tab
       KUndo
		       <Key>osfUndo
		       Mod1<Key>osfBackSpace

       KUp	       <Key>osfUp
       KAny	       <Key>
       ─────────────────────────────────────────────────────

   Bindings for osf Keysyms
       Keysym strings that begin with “osf” are not part  of  the  X  server's
       keyboard	 mapping.  Instead,  these  keysyms are produced on the client
       side at run time. They are interpreted by the  routine  XmTranslateKey,
       and  are	 used  by  the translation manager when the server delivers an
       actual key event. For each application, a mapping is maintained between
       “osf”  keysyms and keysyms that correspond to actual keys. This mapping
       is based on information obtained at application startup from one of the
       following sources, listed in order of precedence: A defaultVirtualBind‐
       ings application resource in the resource database.  A property on  the
       root  window,  which  can  be  set  by mwm on startup, or by the xmbind
       client, or on prior startup of a Motif application.  The	 file  in  the
       user's  home  directory.	  A set of bindings based on the vendor string
       and optionally the vendor release of the X server. Motif	 searches  for
       these  bindings in the following steps: If the file xmbind.alias exists
       in the user's home directory, Motif searches this file for  a  pathname
       associated  with the vendor string or with the vendor string and vendor
       release. If it finds such a pathname and if  that  file	exists,	 Motif
       loads  the  bindings  contained in that file.  If it has found no bind‐
       ings, Motif next looks for the file xmbind.alias in the directory spec‐
       ified by the environment variable XMBINDDIR, if XMBINDDIR is set, or in
       the directory /usr/lib/Xm/bindings if XMBINDDIR is  not	set.  If  this
       file exists Motif searches it for a pathname associated with the vendor
       string or with the vendor string and vendor release.  If it finds  such
       a  pathname and if that file exists, Motif loads the bindings contained
       in that file.  If it still has found no bindings, Motif loads a set  of
       hard-coded fallback bindings.

       The xmbind.alias file contains zero or more lines of the form:

       "vendor_string[vendor_release]" bindings_file

       where  vendor_string  is	 the X server vendor name as returned by the X
       client xdpyinfo or the Xlib function XServerVendor, and must appear  in
       double quotes. If vendor_release is included, it is the X server vendor
       release number as returned by the X client xdpyinfo or the  Xlib	 func‐
       tion  XVendorRelease,  and  must	 also  be  contained within the double
       quotes separated by one space from  vendor_string.   vendor_release  is
       provided	 to  allow support of changes in keyboard hardware from a ven‐
       dor, assuming that the vendor increments the  release  number  to  flag
       such  changes. Alternatively, the vendor may simply use a unique vendor
       string for each different keyboard.

       bindings_file is the pathname of the file containing the bindings them‐
       selves. It can be a relative or absolute pathname.  If it is a relative
       pathname, it is relative to the location of the xmbind.alias file.

       Comment lines in the xmbind.alias file begin with !.

       The bindings found in either the file or the vendor mapping are	placed
       in  a  property	on the root window. This property is used to determine
       the bindings for subsequent Motif applications.

       On startup mwm attempts to load the file in the user's home  directory.
       If  this	 is  unsuccessful,  it	loads the vendor bindings as described
       above. It places the bindings it loads in a property on the root window
       for use by subsequent Motif applications.

       xmbind loads bindings from a file if that file is specified on the com‐
       mand line. If no file is specified on the command line, it attempts  to
       load the file in the user's home directory. If this fails, it loads the
       vendor bindings as described above.  It places the bindings it loads in
       a property on the root window for use by subsequent Motif applications.

       The  format  of	the  specification for mapping “osf” keysyms to actual
       keysyms is similar to that of a specification for an event translation.
       The  syntax is specified here in EBNF notation using the following con‐
       ventions: Means either nothing or a Means zero or more occurrences of a

       Terminals are enclosed in double quotation marks.

       The syntax of an “osf” keysym binding specification is as follows:

       binding_spec   = {line "\n"} [line] line		  = virtual_keysym ":"
       key_event  key_event	  = {modifier_name} "<Key>" actual_keysym vir‐
       tual_keysym = keysym actual_keysym  = keysym keysym	   =  A	 valid
       X11 keysym name that is
			mapped by XStringToKeysym

       As  with event translations, more specific event descriptions must pre‐
       cede less specific descriptions. For example, an event description  for
       a key with a modifier must precede a description for the same key with‐
       out the same modifier.

       Following is an example of a specification for the  defaultVirtualBind‐
       ings resource in a resource file:

       *defaultVirtualBindings: \
	    osfBackSpace   :	<Key>BackSpace\n\
	    osfInsert	   :	<Key>InsertChar\n\ ...
	    osfDelete	   :	<Key>DeleteChar

       The  format  of	a  file or of a file containing vendor bindings is the
       same, except that the binding specification for each keysym  is	placed
       on  a separate line. The example specification above appears as follows
       in a or vendor bindings file:

       osfBackSpace   :	   <Key>BackSpace osfInsert	 :     <Key>InsertChar
       ...  osfDelete	   :	<Key>DeleteChar

       The following table lists the fixed fallback default bindings for “osf”
       keysyms:

       ────────────────────────────────────────────
       Fallback Default Bindings for “osf” Keysyms
       “osf” Keysym	 Fallback Default Binding
       ────────────────────────────────────────────
       osfActivate	 <unbound>
       osfAddMode	 Shift F8
       osfBackSpace	 Backspace
       osfBeginLine	 Home
       osfClear		 Clear
       osfCopy		 <unbound>
       osfCut		 <unbound>
       osfDelete	 Delete
       osfDown		 Down
       osfEndLine	 End
       osfCancel	 Escape
       osfHelp		 F1
       osfInsert	 Insert
       osfLeft		 Left
       osfMenu		 F4
       osfMenuBar	 F10
       osfPageDown	 Next
       osfPageLeft	 <unbound>
       osfPageRight	 <unbound>
       osfPageUp	 Prior
       osfPaste		 <unbound>
       osfPrimaryPaste	 <unbound>
       osfQuickPaste	 <unbound>
       osfRight		 Right
       osfSelect	 Select
       osfUndo		 Undo
       osfUp		 Up
       ────────────────────────────────────────────

SEE ALSO
       xmbind(1X)

							   VirtualBindings(3X)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net