====== Control-key Commands ======

The **control-key commands** below work //from most anywhere// on a Synchronet BBS — at any prompt, in the middle of a long display, while reading messages, while at the Main or File Transfer prompt. They're handled by Synchronet itself rather than by the [[user:shell:|command shell]] or any of its menus, so they behave the same way in every shell.

To use a control-key command, hold down the **Ctrl** key and press the indicated letter (e.g. //Ctrl-S// = hold Ctrl, press S).

===== The Ctrl-K menu =====

Pressing **''Ctrl-K''** at any prompt displays the menu of control-key commands:

  Ctrl-Key Commands (from most anywhere)

  ^K  This Menu
  ^C  Abort Current Process
  ^O  Toggle Pause Prompt Temporarily (currently On)
  ^Z  Toggle Raw Input/Output Mode (e.g. for ASCII-uploading msg text)
  ^U  List Users Online
  ^P  Send Instant-Messages and Telegrams
  ^T  Time Information

(''^K'' is shorthand for //Ctrl-K//, ''^C'' for //Ctrl-C//, etc.)

===== Reference =====

==== Ctrl-K — Display Ctrl-key menu ====
Shows the menu above.

==== Ctrl-C — Abort current process ====
The **global abort** key. Stops a long file listing, message dump, file search, or any in-progress BBS command and returns you to the prompt. At a //"Hit a key"// prompt, ''Ctrl-C'' (or ''Q'') stops further pagination.

==== Ctrl-O — Toggle pause prompt temporarily ====
Turns the //"Hit a key" pause// off (or back on) for the current command. Useful when you want to dump a long file or message thread into a scrollback buffer without being interrupted by pause prompts. Reverts to your default ([[user:settings|User Settings]] -> ''P'') when the command finishes.

==== Ctrl-Z — Toggle raw input/output mode ====
Switches between cooked and raw I/O. Most users never need this; it's intended for **ASCII-uploading** message text (i.e. sending pre-composed message text directly into the built-in line editor without the BBS interpreting individual characters as commands).

==== Ctrl-U — List users online ====
Shows the list of users currently logged on to the BBS, with their node numbers and what each is doing.

==== Ctrl-P — Send instant message / telegram ====
Send a private one-line **instant message** to another user currently online (it appears on their screen immediately), or a **telegram** to a user not online (queued for them to read at next logon). Synchronet picks the right delivery method based on whether the recipient is online.

==== Ctrl-T — Time information ====
Shows your time used, time remaining, your current node, and the time of day.

===== Other Ctrl keys you may know =====

A handful of additional control characters are interpreted by the terminal layer (TCP/IP, telnet, the BBS's I/O code) but aren't on the Ctrl-K menu because they're not "BBS commands" per se:

  * **Ctrl-S / Ctrl-Q** — pause / resume scrolling (if your terminal honors XON/XOFF flow control). The Ctrl-K //pause// (Ctrl-O) is the BBS-level equivalent and works regardless of terminal flow-control support.
  * **Ctrl-J** (or //Down Arrow//) — at auto-pause prompts, scroll **one line** at a time (instead of one full page).

===== String/line input editing keys =====

When the BBS is prompting you for text input (a username, a subject line, a search string, etc.) a richer set of editing keys becomes active. These work on the current input line only — they are **not** the global Ctrl-K commands. Arrow keys and extended keys work on terminals that support them; the Ctrl-key equivalents work on any terminal.

^Ctrl-key^Extended key^Action^
|''Ctrl-B''|Home|Move cursor to beginning of line|
|''Ctrl-E''|End|Move cursor to end of line|
|''Ctrl-F''|Right arrow|Move cursor right one character|
|''Ctrl-]''|Left arrow|Move cursor left one character|
|''Ctrl-N''|Page-down|Move to next word / next history item|
|''Ctrl-\''|—|Move to previous word|
|''Ctrl-D''|—|Delete word to the right of cursor|
|''Ctrl-W''|—|Delete word to the left of cursor|
|''Ctrl-Y''|—|Delete from cursor to end of line|
|''Ctrl-X''|—|Delete the entire line|
|''Ctrl-R''|—|Redraw current line|
|''Ctrl-Z''|—|Undo (revert line to its original state)|
|''Ctrl-L''|—|Center the line and complete input|
|''Ctrl-V''|Insert|Toggle insert / overwrite mode|
|''Ctrl-A''|—|Insert a [[custom:ctrl-a_codes|Ctrl-A attribute code]] (when permitted)|
|''Ctrl-G''|—|Insert a beep character (when permitted)|

For a complete technical reference, see [[server:terminal|Terminal Server]] → //Extended Keys//.

===== See Also =====

  * [[user:|User Documentation]]
  * [[user:list|User Listings]] (Ctrl-U is one entry point; the listing menus let you query more deeply)
  * [[user:settings|User Settings]] (Ctrl-O state defaults configured here as the //Screen Pause// option)
  * [[server:terminal|Terminal Server]] — extended-key escape sequences and technical details

{{tag>user ctrl-keys universal}}
