Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
server:terminal [2019/06/08 15:17] – Document the terminal server key bindings digital manserver:terminal [2019/06/09 00:18] – Details about changing key-bindings programmatically, installing hot key events, etc. digital man
Line 18: Line 18:
 ==== Global Ctrl-Keys ==== ==== Global Ctrl-Keys ====
  
-These control-key combinations has special purpose at almost any-time while using the Terminal Server:+These control-key combinations have special purpose at almost any-time while using the Terminal Server:
  
 ^ Ctrl-Key ^ Description ^ ^ Ctrl-Key ^ Description ^
Line 29: Line 29:
 | Ctrl-T   | Display current time information | | Ctrl-T   | Display current time information |
  
 +Global control-keys are handled in sbbs_t::handle_ctrlkey(), called from sbbs_t::inkey() in ''inkey.cpp'' and exposed in JavaScript via console.inkey().
 +
 +Global control key handling may be disabled/re-enabled (per key) programmatically via the JavaScript console.ctrlkey_passthru property:
 + js.on_exit("console.ctrlkey_passthru = " + console.ctrlkey_passthru);
 + console.ctrlkey_passthru|=(1<<16);      // Disable Ctrl-P handling in sbbs
 +
 +Custom global control-key handlers may be installed via [[util:SCFG]]->External Programs->Global Hot Key Events:
 +
 +<file>
 +╔═══════════════════════════════════════════╗
 +║           Global Hot Key Events           ║
 +╠═══════════════════════════════════════════╣
 +║ │Ctrl-P    ?privatemsg.js                 ║
 +║ │Ctrl-U    ?nodelist.js -active           ║
 +║ │                                         ║
 +╚═══════════════════════════════════════════╝
 +</file>
 ==== Line Input ==== ==== Line Input ====
  
Line 43: Line 60:
 | Ctrl-Z   | Undo (revert edited line) | | Ctrl-Z   | Undo (revert edited line) |
 | Ctrl-R   | Redraw current line | | Ctrl-R   | Redraw current line |
-| Ctrl-A   | Insert an attribute code (when allowed) |+| Ctrl-A   | Insert an [[custom:ctrl-a_codes|attribute code]] (when allowed) |
 | Ctrl-G   | Insert a beep character (when allowed) | | Ctrl-G   | Insert a beep character (when allowed) |
 +
 +The line/string input control-keys are handled via sbbs_t::getstr() in ''getstr.cpp'' and exposed in JavaScript via console.getstr().
  
 ==== Extended Keys ==== ==== Extended Keys ====
  
-The Synchronet Terminal Server endeavors to support most extended-keys (e.g. home, end, arrow-keys, etc.) on most terminals while simultaneously supporting Ctrl-Key equivalents for all terminals.+The Synchronet Terminal Server endeavors to support most extended-keys (e.g. home, end, arrow-keys, etc.) on most terminals while simultaneously supporting control-key equivalents for all terminals.
  
 ^ Extended Key ^ Ctrl-Key ^ ANSI((ANSI X3.64/ECMA-048 escape sequence)) ^ Other((e.g. VT-220 or XTerm escape sequence)) ^ Description (typical use) ^  ^ Extended Key ^ Ctrl-Key ^ ANSI((ANSI X3.64/ECMA-048 escape sequence)) ^ Other((e.g. VT-220 or XTerm escape sequence)) ^ Description (typical use) ^