[Previous] [Contents] [Index] [Next]

Appendix: QNX Console & Keyboard Conventions

This appendix covers the following topics:

This appendix describes QNX's standard console and keyboard conventions in text mode. For information on the Photon graphical environment, see the Photon User's Guide.

Note that some keys may behave differently from how they're described here, depending on how your system has been configured.

For details on the utilities that control QNX consoles, see the following in your Utilities Reference:

Entering line-oriented input

Line-editing keys

Many applications run in edited mode. If an application runs in this mode, you can use the following keys for entering line-oriented input:

If you want to: Press this key:
Move the cursor left one position <-- (left arrow key)
Move the cursor right one position --> (right arrow key)
Move the cursor to the beginning of the line Home
Move the cursor to the end of the line End
Delete the character to the left of the current cursor position Backspace or Rubout or <-- (keypad arrow). Note that pressing this key generates a 7F hex (ASCII Rubout), not a 08 hex.
Delete the character at the current cursor position Del
Delete all characters on the current line Ctrl-U
Toggle between insert mode and typeover mode (default is insert) Ins
Note that if you're in typeover mode and you submit a line, you'll be returned to insert mode.
Submit a line of input Enter

Note: The QNX shell has additional input editing commands. For more information, see sh in the QNX Utilities Reference.

Note also that your keyboard may not behave as indicated if:

  • you're working with an application that has complex requirements for user interaction -- the application may take control over how the keyboard works
  • you're working at an attached terminal -- the terminal may have keyboard limitations.

Max length of an input line

The maximum length of an input line is 256 characters. Application programs can impose lower limits.

Entering long input lines

If you enter a single line of input that's too long for your screen to display as a single line, the line may be displayed as several screen lines. But the line still behaves as a single input line when you use the standard line-editing keys.

For more information on edited mode, see System Architecture, Chapter 6, The Device Manager.

Recalling commands

The shell lets you recall commands that you've previously entered, then re-execute them. These commands are maintained by the shell in a buffer.

If you want to move: Press this key:
Backward through the buffer /\ (up arrow key)
Forward through the buffer \/ (down arrow key)

Switching virtual consoles

The display adapter, the screen, and the system keyboard are collectively referred to as the console. To let you interact with several applications all at once, QNX permits multiple sessions to be run concurrently on consoles by means of virtual consoles. These virtual consoles are usually named /dev/con1, /dev/con2, etc.

Each virtual console can be running a different foreground application that uses the entire screen. The keyboard is attached to the virtual console that's currently visible. You can switch from one virtual console to another -- and thus from one application to another -- by entering the following keychords.

If you want to see the: Press:
Next active console Ctrl-Alt-Enter or Ctrl-Alt-+ (keypad plus key)
Previous active console Ctrl-Alt-- (keypad minus key)

You can also "jump" to a specific console using the Ctrl-Alt-n keychord, where n is the numeric digit that represents the console number of a virtual console.

If you want to see: Press:
/dev/con1 Ctrl-Alt-1
/dev/con2 (if available) Ctrl-Alt-2
... ...
/dev/con10 (if available) Ctrl-Alt-0

You can disable keyboard console switching with the stty +noswitch command.

For more information on the QNX console, see System Architecture, Chapter 6, The Device Manager.

Using multiple consoles

The system administrator can specify how many virtual consoles are supported on your machine by specifying an argument to the console driver process (Dev.con) when it's started.

The administrator can also specify the program -- if any -- that's initially launched on each console. By default, the terminal initialization utility (tinit) launches a login on the first console only, but will be "armed" to launch a login on any other console on which you press a key. This means that while console 1 is always available, any other given console won't be used unless you specifically switch to that console and press a key.

To start a login on an unused console:

  1. Switch to the unused console via Ctrl-Alt-n
  2. Press any key. A login will be launched.

You can now access the console via any of the cyclical console-switching keychords (e.g. Ctrl-Alt-+) described in the previous section.

When you terminate the session by typing logout or exit, or by pressing Ctrl-D, the console will once again be idle. It won't appear when you use any of the cyclical console-switching keychords. The exception is console 1, on which the system usually restarts a login.

Changing the console fonts

Depending on your video hardware, the console driver (Dev.con) may support a variety of screen fonts. The available fonts are numbered from 0 to n. When QNX boots, it defines font 0 as a 25*80 text font. If you're using an EGA or VGA video adapter, QNX also defines font 1 as a 43*80 text font (EGA) or a 50*80 text font (VGA).

To inform Dev.con about new fonts or to redefine existing fonts, you use the cfont utility. You can use this utility to provide fonts of different sizes or fonts that contain alternate character sets.

To change the font associated with the current console, use the following keychords:

If you want to choose the: Press:
Next font (up to n) Ctrl-Alt->
Previous font (down to 0) Ctrl-Alt-<

QNX keeps track of the font being used by each console. All consoles initially display font 0. You can disable keyboard font changing with the stty +noresize command.

Suspending and resuming output

If you want to: Press:
Suspend the display of output Ctrl-S
Resume the display of output Ctrl-Q

Killing a process

If you need to kill the process currently running on the console, press Ctrl-C or Ctrl-Break. The system will attempt to kill the process.

Invoking the system debugger

QNX comes with a low-level system debugger that lets you set breakpoints in programs, display and edit memory, disassemble code, and examine I/O ports. If it has been built into your OS image, you can invoke this debugger with the following keychord:


You can disable this keychord with the stty +nodebug command.

Caution: Don't use this debugger in a multiuser environment, because it disables interrupts and freezes the entire system -- it's intended only for low-level debugging. For more information on this debugger, see Debugger in the QNX Utilities Reference. For information on general debugging, see the Watcom Debugger User's Guide.


To reboot your computer, use this keychord:


You can disable this keychord with the stty +noboot command.

Caution: Before entering this command, make sure that no applications or utilities are running on your computer. If there are, files may be left open. Moreover, if you reboot when a critical update is in progress, it's possible that the filesystem would require maintenance (see the section on "Filesystem robustness" in System Architecture; see also the chapter on Disk & File Recovery in this guide).

International keyboards

Some keyboard layouts -- the French and German layouts, for example -- use accent keys which, by themselves, don't generate a character. QNX treats these keys as "dead" keys. Pressing a dead key, followed by a second key, modifies the second key, creating an accented character. For example, to create the Ü character, you press " followed by Shift-U.

This dead key processing provides typists with a familiar method of composing characters.

Note that you can also generate composed characters by:

  1. pressing and releasing Alt
  2. typing two characters.

The keyboard at a glance

If you want to: Press:
Move the cursor to the left <--
Move the cursor to the right -->
Move the cursor to the start of a line Home
Move the cursor to the end of a line End
Delete the character left of the cursor Backspace or <-- (keypad arrow key)
Delete the character at the cursor Del
Delete all characters on a line Ctrl-U
Toggle between insert/typeover modes Ins
Submit a line Enter
Recall a command /\ or \/
Switch to the next virtual console Ctrl-Alt-Enter or Ctrl-Alt-+
Switch to the previous virtual console Ctrl-Alt--
Switch to a specific console Ctrl-Alt-n
Choose the next font Ctrl-Alt->
Choose the previous font Ctrl-Alt-<
Suspend display of output Ctrl-S
Resume display of output Ctrl-Q
Attempt to kill a process Ctrl-C or Ctrl-Break
Indicate end of input (EOF) Ctrl-D
Invoke the system debugger Ctrl-Alt-Esc
Reboot your computer Ctrl-Alt-Shift-Del

[Previous] [Contents] [Index] [Next]