This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
wiki:advanced:nx-keyboard-shortcuts [2013/03/14 23:15] sunweaver created |
wiki:advanced:nx-keyboard-shortcuts [2019/05/11 16:33] (current) uli42 [File Format] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Customize NX Keyboard Shortcuts ====== | ====== Customize NX Keyboard Shortcuts ====== | ||
| - | ===== General | + | ===== General |
| - | ==== necessary X2go version ==== | ||
| - | The feature described below has only recently (as of 2012-12-06) been added to X2go and is currently **experimental**, | + | ==== About this Wiki Page ==== |
| - | + | ||
| - | ==== about this Wiki page ==== | + | |
| This Wiki page is largely a copy of the '' | This Wiki page is largely a copy of the '' | ||
| - | [[http:// | + | [[http:// |
| - | sync. | + | |
| - | ==== about nxagent ==== | + | ==== About nxagent ==== |
| - | nxagent is the process that an X2go _server_ | + | '' |
| - | is evaluated on an X2go Server and you have to place your configuration file on the _server_. | + | is evaluated on an **X2Go |
| - | ===== Configurable | + | ===== Configurable |
| - | Keybindings | + | Key bindings |
| by the user. This is done via a configuration file. | by the user. This is done via a configuration file. | ||
| - | ===== File location | + | ===== File Location |
| - | nxagent | + | nxagent |
| + | |||
| + | If nxagent is called **without branding**, it searches: | ||
| + | * in the location given by the '' | ||
| + | * in the location given by the '' | ||
| + | * in '' | ||
| + | * in ''/ | ||
| + | |||
| + | If nxagent is called **with X2Go branding** (i.e., as '' | ||
| * in the location given by the '' | * in the location given by the '' | ||
| - | * in the location given by the NXAGENT_KEYSTROKEFILE environment variable | + | * in the location given by the '' |
| - | * in ~/.nx/config/keystroke.cfg | + | * in '' |
| - | * in /etc/nx/keystroke.cfg | + | * in '' |
| - | 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. | ||
| - | ===== File format | + | ===== File Format |
| The configuration file is XML with the following format: | The configuration file is XML with the following format: | ||
| - | <code xml> | + | <file xml keystroke.cfg> |
| < | < | ||
| < | < | ||
| Line 50: | Line 54: | ||
| < | < | ||
| </ | </ | ||
| - | </code> | + | </file> |
| - | Each '' | + | Each ' |
| - | 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 ' |
| 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 | ||
| - | / | + | / |
| - | ''XK_''. Evaluation is case-sensitive, | + | leading ' |
| - | ''Space'' and '' | + | will work while ' |
| + | |||
| + | 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, | ||
| + | usually you will need Mod1 and Control. Boolean in this context means | ||
| + | ' | ||
| + | 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, | ||
| + | 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 |
| - | Mod3, Mod4, Control, Shift, Lock. Sensible combinations strongly depend on your | + | |
| - | keyboard configuration, | + | |
| - | this context means '' | + | |
| - | else is considered true. | + | |
| - | Everything in this file is case-sensitive. Unknown lines are ignored. | + | Some of the actions can open a dialog window. Depending on the user's |
| - | Keybindings are evaluated from top to bottom, so if a keybinding matches, other | + | answer the selected action |
| - | keybindings further down will be ignored. The contents of the file replaces | + | a dialog informing |
| - | default keybindings, | + | will only work if the nxagent/ |
| - | configuration files is done. This 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 '' | ===== List of possible '' | ||
| * **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 ' | + | * This action switches between the auto-resize and viewport mode (static size). The default is auto-resize. In viewport mode one can use the ' |
| * **defer** | * **defer** | ||
| - | * Works like ' | + | * Disables deferred screen updates. |
| * **ignore** | * **ignore** | ||
| - | * Makes it possible to add ' | + | * Makes it possible to add ' |
| * **fullscreen** | * **fullscreen** | ||
| - | * Turns the client window into, or out of, fullscreen mode. | + | * Switches |
| * **viewport_move_left** | * **viewport_move_left** | ||
| - | * moves the desktop | + | * Moves the image viewport |
| * **viewport_move_up** | * **viewport_move_up** | ||
| - | * moves the desktop | + | * Moves the image viewport |
| * **viewport_move_right** | * **viewport_move_right** | ||
| - | * moves the desktop | + | * Moves the image viewport |
| * **viewport_move_down** | * **viewport_move_down** | ||
| - | * moves the desktop | + | * Moves the image viewport |
| 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 | + | * Forces |
| * **debug_tree** | * **debug_tree** | ||
| * **regions_on_screen** | * **regions_on_screen** | ||