This is an old revision of the document!
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.
This Wiki page is largely a copy of the
http://code.x2go.org/gitweb?p=nx-libs.git;a=summary. Please keep them in
nxagent is the process that an X2go _server_ executes. Therefore the configuration described below is evaluated on an X2go Server and you have to place your configuration file on the _server_.
Keybindings in the redistributed x2go version of nxagent can now be configured by the user. This is done via a configuration file.
nxagent searches for the configuration file in the following order:
-keystrokefilecommand line parameter
If none of those files is accessible, the default configuration is used which is the same as the old, traditional nxagent keybindings.
The configuration file is XML with the following format:
<!DOCTYPE NXKeystroke> <keystrokes> <keystroke action="fullscreen" AltMeta="1" Control="1" key="b" /> <keystroke action="minimize" AltMeta="1" Control="1" key="space" /> <keystroke action="minimize" key="Escape" Shift="1" /> <keystroke action="close_session" key="F7" /> <keystroke action="fullscreen" key="F7" Mod1="1" /> <keystroke action="fullscreen" key="F6" Mod1="1" /> <keystroke action="force_synchronization" key="f" /> <keystroke action="fullscreen" key="space" Mod1="0" Mod2="0" Control="0" Shift="0" AltMeta="0" /> </keystrokes>
action defines an action to be executed when receiving that keystroke. A
list of possible actions is given below. Some of those actions are only
available with debug builds of nxagent.
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
XStringToKeysym function. A list of possible keys can be found in
/usr/include/X11/keysymdef.h, the names are specified without the leading
XK_. Evaluation is case-sensitive, so,
Escape will work while
Modifiers are given as boolean attributes, possible modifiers are Mod1, Mod2,
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
false and an unspecified attribute are false, anything
else is considered true.
Everything in this file is case-sensitive. Unknown lines are ignored. 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.
Only in builds with certain debugging options enabled, ignored otherwise: