diff options
Diffstat (limited to 'doc/nxagent/README.keystrokes')
-rw-r--r-- | doc/nxagent/README.keystrokes | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/doc/nxagent/README.keystrokes b/doc/nxagent/README.keystrokes new file mode 100644 index 000000000..3d55f5096 --- /dev/null +++ b/doc/nxagent/README.keystrokes @@ -0,0 +1,113 @@ +Configurable keybindings in nxagent + +Keybindings in the redistributed x2go version of nxagent can be configured +by the user. This is done via a configuration file. + +File location +------------- + +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/nxagent/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 X2GO_KEYSTROKEFILE environment variable +- in ~/.x2go/config/keystrokes.cfg +- in /etc/x2go/keystrokes.cfg + +If none of these files are accessible, the default configuration is used which +is the same as the old, traditional nxagent keybindings. + +File format +----------- + +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> + +Each '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, 'space' and 'Escape' +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. +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. + +If an attribute occurs more than once in a line the last one wins. + +List of possible 'action' attributes: +------------------------------------- + +close_session + This terminates the session. + +fullscreen + Switches the client window into or out of fullscreen mode, using + only the current head. + +switch_all_screens + Switches the client window into or out of fullscreen mode, using all + available heads. + +minimize + This will minimize the client window (even for fullscreen sessions). + +resize + This action switches between the auto-resize (default) and viewport + mode. In viewport mode the xserver screen size stays static even + if the nxagent window is resized. You will possibly only see a part of + the screen and can scroll around using the following actions: +viewport_move_left/up/right/down + Moves the viewport left/up/right/down by the width resp. height of + the visible area. +viewport_scroll_left/up/right/down + Scrolls the viewport left/up/right/down with increasing speed + (maximum step size is 200px). + +defer + Activates/deactivates deferred screen updates. + +ignore + Ignores the following keystroke, nothing will happen when this + keystroke is pressed. + +reread_keystrokes + Forces nxagent to re-read the keystroke configuration. Useful to + add/change keystrokes to a running session. + +force_synchronization + Forces immediate drawing of elements to be synchronized which can + fix some visual bugs. |