User Tools

Site Tools


wiki:advanced:nx-keyboard-shortcuts

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:advanced:nx-keyboard-shortcuts [2013/03/14 23:18]
sunweaver [File format]
wiki:advanced:nx-keyboard-shortcuts [2019/05/11 16:33] (current)
uli42 [File Format]
Line 3: Line 3:
 ===== General Remarks ===== ===== General Remarks =====
  
-==== Necessary X2Go Version ==== 
- 
-The feature described below has only recently (as of 2012-12-06) been added to X2go and is currently **experimental**, further testing is necessary. You will need a new nightly build to try it out. 
  
 ==== About this Wiki Page ==== ==== About this Wiki Page ====
  
 This Wiki page is largely a copy of the ''README.keystrokes'' in This Wiki page is largely a copy of the ''README.keystrokes'' in
-[[http://code.x2go.org/gitweb?p=nx-libs.git;a=summary]]. Please keep them in +[[http://code.x2go.org/gitweb?p=nx-libs.git;a=summary]] which in turn is a copy of the same file in NX ([[https://github.com/ArcticaProject/nx-libs/tree/3.6.x/doc/nxagent]]). Please keep them in sync.
-sync.+
  
 ==== About nxagent ==== ==== About nxagent ====
  
-''nxagent'' is the process that an X2Go Server executes. Therefore the configuration described below +''nxagent'' is the process that an X2Go Server executes (under the name ''x2goagenbt''). Therefore the configuration described below 
-is evaluated on an X2Go Server and you have to place your configuration file on the server. +is evaluated on an **X2Go Server** and you have to place your configuration file on the **server**
  
 ===== Configurable Key Bindings in nxagent ===== ===== Configurable Key Bindings in nxagent =====
Line 25: Line 21:
 ===== File Location ===== ===== File Location =====
  
-nxagent searches for the configuration file in the following order:+nxagent parses the first available configuration file and ignores all others. 
 + 
 +If nxagent is called **without branding**, it searches: 
 +  * in the location given by the ''-keystrokefile'' command line parameter 
 +  * in the location given by the ''NXAGENT_KEYSTROKEFILE'' environment variable 
 +  * in ''~/.nx/config/keystrokes.cfg'' 
 +  * in ''/etc/nx/keystrokes.cfg'' 
 + 
 +If nxagent is called **with X2Go branding** (i.e., as ''x2goagent''), it searches:
   * in the location given by the ''-keystrokefile'' command line parameter   * in the location given by the ''-keystrokefile'' command line parameter
-  * in the location given by the NXAGENT_KEYSTROKEFILE environment variable +  * in the location given by the ''NXAGENT_KEYSTROKEFILE'' environment variable 
-  * in ~/.nx/config/keystroke.cfg +  * in ''~/.x2go/config/keystrokes.cfg'' 
-  * in /etc/nx/keystroke.cfg+  * in ''/etc/x2go/keystrokes.cfg''
  
-If none of those files is accessible, the default configuration is used which+If none of these files are accessible, the default configuration is used which
 is the same as the old, traditional nxagent keybindings. is the same as the old, traditional nxagent keybindings.
  
Line 38: Line 42:
 The configuration file is XML with the following format: The configuration file is XML with the following format:
  
-<code xml>+<file xml keystroke.cfg>
 <!DOCTYPE NXKeystroke> <!DOCTYPE NXKeystroke>
 <keystrokes> <keystrokes>
Line 50: Line 54:
 <keystroke action="fullscreen" key="space" Mod1="0" Mod2="0" Control="0" Shift="0" AltMeta="0" /> <keystroke action="fullscreen" key="space" Mod1="0" Mod2="0" Control="0" Shift="0" AltMeta="0" />
 </keystrokes> </keystrokes>
-</code>+</file>
  
-Each ''action'' defines an action to be executed when receiving that keystroke. A +Each 'action' defines an action to be executed when receiving that 
-list of possible actions is given below. Some of those actions are only +keystroke. A list of possible actions is given below. Some of those 
-available with debug builds of nxagent.+actions are only available with debug builds of nxagent.
  
-Keys are given as a combination of ''key'' and (optionally) a number of+Keys are given as a combination of 'key' and (optionally) a number of
 modifiers. The key attribute is evaluated into a X11 key via the usual modifiers. The key attribute is evaluated into a X11 key via the usual
 XStringToKeysym function. A list of possible keys can be found in XStringToKeysym function. A list of possible keys can be found in
-/usr/include/X11/keysymdef.h, the names are specified without the leading +/usr/include/X11/keysymdef.h, the names are specified without the 
-''XK_''. Evaluation is case-sensitive, so, ''space'' and ''Escape'will work while +leading 'XK_'. Evaluation is case-sensitive, so, 'space' and 'Escape' 
-''Space'' and ''escape'' won't.+will work while 'Space' and 'escape' won't
 + 
 +Modifiers are given as boolean attributes, possible modifiers are 
 +Mod1, Mod2, Mod3, Mod4, Mod5, Control, Shift, Lock. Sensible 
 +combinations strongly depend on your keyboard configuration, but 
 +usually you will need Mod1 and Control. Boolean in this context means 
 +'0', 'false' and an unspecified attribute are false, anything else is 
 +considered true. 
 + 
 +Everything in this file is case-sensitive. Unknown lines are ignored 
 +(accompanied by a warning in the session log).  Keybindings are 
 +evaluated from top to bottom, so if a keybinding matches, other 
 +keybindings further down will be ignored. The contents of the file 
 +replaces the default keybindings, and only one file is read, no 
 +merging between different configuration files is done. This also means 
 +that an empty or invalid configuration file deactivates all 
 +keybindings.
  
-Modifiers are given as boolean attributes, possible modifiers are Mod1, Mod2, +If an attribute occurs more than once in a line the last one wins.
-Mod3, Mod4, Control, Shift, Lock. Sensible combinations strongly depend on your +
-keyboard configuration, but usually you will need Mod1 and Control. Boolean in +
-this context means ''0'', ''false'' and an unspecified attribute are false, anything +
-else is considered true.+
  
-Everything in this file is case-sensitive. Unknown lines are ignored+Some of the actions can open a dialog windowDepending on the user's 
-Keybindings are evaluated from top to bottom, so if a keybinding matches, other +answer the selected action will be takenSome actions will only show 
-keybindings further down will be ignoredThe contents of the file replaces the +a dialog informing the user about the taken action. All these dialogs 
-default keybindings, and only one file is read, no merging between different +will only work if the nxagent/x2goagent process has a properly 
-configuration files is doneThis also means that an empty or invalid configuration +configured NX_CLIENT environment variable pointing to an executable 
-file deactivates all keybindings.+(like nxdialog) that is responsible for showing the dialogs and taking 
 +the action(s)If that executable cannot be run no dialog will show up 
 +and no action will be taken.
  
 ===== List of possible ''action'' attributes ===== ===== List of possible ''action'' attributes =====
  
   * **close_session**   * **close_session**
-    * This terminates the session+    * This terminates the session.
   * **switch_all_screens**   * **switch_all_screens**
   * **minimize**   * **minimize**
-    * This will minimize the client window (even for fullscreen sessions)+    * This will minimize the client window (even for fullscreen sessions.)
   * **left**   * **left**
   * **up**   * **up**
Line 88: Line 106:
   * **down**   * **down**
   * **resize**   * **resize**
-    * This action switches between the auto-resize and viewport mode (static size). The default is auto-resize. In viewport mode one can use the 'viewport_move_up','viewport_move_down','viewport_move_left' and 'viewport_move_right' actions to move the desktop around.+    * This action switches between the auto-resize and viewport mode (static size). The default is auto-resize. In viewport mode one can use the 'viewport_move_up', 'viewport_move_down', 'viewport_move_left' and 'viewport_move_right' actions to move within the image.
   * **defer**   * **defer**
-    * Works like 'ignore' to make some keys be ignored / defunc inside the session+    * Disables deferred screen updates.
   * **ignore**   * **ignore**
-    * Makes it possible to add 'ignore', as in nothing happens when certain keys are pressed+    * Makes it possible to add 'ignore', as in nothing happens when certain keys are pressed.
   * **fullscreen**   * **fullscreen**
-    * Turns the client window intoor out offullscreen mode.+    * Switches the client window into or out of fullscreen mode.
   * **viewport_move_left**   * **viewport_move_left**
-    * moves the desktop to the left+    * Moves the image viewport to the left.
   * **viewport_move_up**   * **viewport_move_up**
-    * moves the desktop up+    * Moves the image viewport up.
   * **viewport_move_right**   * **viewport_move_right**
-    * moves the desktop to the right+    * Moves the image viewport to the right.
   * **viewport_move_down**   * **viewport_move_down**
-    * moves the desktop down+    * Moves the image viewport down.
  
 Only in builds with certain debugging options enabled, ignored otherwise: Only in builds with certain debugging options enabled, ignored otherwise:
   * **force_synchronization**   * **force_synchronization**
-    * forces the drawing of elements to be synchronized which can fix some visual bugs.+    * Forces the drawing of elements to be synchronized which can fix some visual bugs.
   * **debug_tree**   * **debug_tree**
   * **regions_on_screen**   * **regions_on_screen**
wiki/advanced/nx-keyboard-shortcuts.1363303087.txt.gz · Last modified: 2013/03/14 23:18 by sunweaver