Blame docs/doc/kbd.FAQ-8.html

Packit Service 50ad14
Packit Service 50ad14
<HTML>
Packit Service 50ad14
<HEAD>
Packit Service 50ad14
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
Packit Service 50ad14
 <TITLE>The Linux keyboard and console HOWTO: Ctrl-Alt-Del and other special key combinations</TITLE>
Packit Service 50ad14
 <LINK HREF="kbd.FAQ-9.html" REL=next>
Packit Service 50ad14
 <LINK HREF="kbd.FAQ-7.html" REL=previous>
Packit Service 50ad14
 <LINK HREF="kbd.FAQ.html#toc8" REL=contents>
Packit Service 50ad14
</HEAD>
Packit Service 50ad14
<BODY>
Packit Service 50ad14
Next
Packit Service 50ad14
Previous
Packit Service 50ad14
Contents
Packit Service 50ad14

Packit Service 50ad14

8. Ctrl-Alt-Del and other special key combinations

Packit Service 50ad14
Packit Service 50ad14

Packit Service 50ad14

Packit Service 50ad14

8.1 Ctrl-Alt-Del (Boot)

Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14

Packit Service 50ad14
Packit Service 50ad14
ctrl-alt-del!action taken by
Packit Service 50ad14
-->
Packit Service 50ad14

If you press Ctrl-Alt-Del (or whatever key was assigned the keysym Boot by

Packit Service 50ad14
loadkeys) then either the machine reboots immediately (without sync), or
Packit Service 50ad14
init is sent a SIGINT. The former behaviour is the default. The default
Packit Service 50ad14
can be changed by root, using the system call reboot(), see ctrlaltdel(8).
Packit Service 50ad14
Some init's change the default. What happens when init gets SIGINT depends
Packit Service 50ad14
on the version of init used - often it will be determined by the pf entry in
Packit Service 50ad14
/etc/inittab (which means that you can run an arbitrary program
Packit Service 50ad14
in this case).
Packit Service 50ad14
In the current kernel Ctrl-AltGr-Del is no longer by default assigned to Boot.
Packit Service 50ad14

Packit Service 50ad14

8.2 Other combinations

Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14

Packit Service 50ad14
Packit Service 50ad14
keyboard!special key combinations
Packit Service 50ad14
-->
Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14
key combinations, special
Packit Service 50ad14
-->
Packit Service 50ad14

Packit Service 50ad14
Packit Service 50ad14
Name            Default binding
Packit Service 50ad14
-------------------------------
Packit Service 50ad14
Show_Memory     Shift-Scrollock
Packit Service 50ad14
Show_Registers  AltGr-ScrollLock
Packit Service 50ad14
Show_State      Ctrl-ScrollLock
Packit Service 50ad14
Console_n       Alt-Fn and Ctrl-Alt-Fn  (1 <= n <= 12)
Packit Service 50ad14
Console_{n+12}  AltGr-Fn                (1 <= n <= 12)
Packit Service 50ad14
Incr_Console    Alt-RightArrow
Packit Service 50ad14
Decr_Console    Alt-LeftArrow
Packit Service 50ad14
Last_Console    Alt[Gr]-PrintScreen
Packit Service 50ad14
Scroll_Backward Shift-PageUp
Packit Service 50ad14
Scroll_Forward  Shift-PageDown
Packit Service 50ad14
Caps_On                                 (CapsLock is a toggle; this key sets)
Packit Service 50ad14
Compose         Ctrl-.
Packit Service 50ad14
Packit Service 50ad14

Packit Service 50ad14

8.3 X Combinations

Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14

Packit Service 50ad14
Packit Service 50ad14
keyboard!key combinations for X
Packit Service 50ad14
-->
Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14
key combinations, X
Packit Service 50ad14
-->
Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14
X!key combinations for
Packit Service 50ad14
-->
Packit Service 50ad14

Packit Service 50ad14
Packit Service 50ad14
Ctrl-Alt-Fn     Switch to VT n
Packit Service 50ad14
Ctrl-Alt-KP+    Next mode
Packit Service 50ad14
Ctrl-Alt-KP-    Previous mode
Packit Service 50ad14
Ctrl-Alt-Backspace      Kill X
Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14
On some motherboards, Ctrl-Alt-KP- and Ctrl-Alt-KP+ will be equivalent to
Packit Service 50ad14
pressing the Turbo button. That is, both will produce the scancodes
Packit Service 50ad14
1d 38 4a ca b8 9d and 1d 38 4e ce b8 9d, and both will switch between
Packit Service 50ad14
Turbo (>= 25MHz) and non-Turbo (8 or 12 MHz).
Packit Service 50ad14
(Often these key combinations only function this way when enabled
Packit Service 50ad14
by jumpers on the motherboard.)
Packit Service 50ad14

Perry F Nguyen (pfnguyen@netcom22.netcom.com) writes:

Packit Service 50ad14
AMI BIOS has a feature that locks up the keyboard and flashes the LED's
Packit Service 50ad14
if the Ctrl-Alt-Backspace combination is pressed while a BIOS password
Packit Service 50ad14
is enabled, until the CMOS/BIOS password is typed in.
Packit Service 50ad14

On some SiS based motherboards the combination Ctrl-Alt-Backspace

Packit Service 50ad14
will cause a power off, or puts the machine in power save mode.
Packit Service 50ad14
(Reported for SiS 630 and for SiS645DX.)
Packit Service 50ad14

Packit Service 50ad14

8.4 Dosemu Combinations

Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14

Packit Service 50ad14
Packit Service 50ad14
key combinations!dosemu
Packit Service 50ad14
-->
Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14
dosemu!key combinations for
Packit Service 50ad14
-->
Packit Service 50ad14

Packit Service 50ad14
Packit Service 50ad14
Ctrl-Alt-Fn     Switch to VT n (from version 0.50; earlier Alt-Fn)
Packit Service 50ad14
Ctrl-Alt-PgDn   Kill dosemu (when in RAW keyboard mode)
Packit Service 50ad14
(and many other combinations - see the dosemu documentation)
Packit Service 50ad14
Packit Service 50ad14

Packit Service 50ad14

8.5 Composing symbols

Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14

Packit Service 50ad14
Packit Service 50ad14
keyboard!composing symbols with
Packit Service 50ad14
-->
Packit Service 50ad14
Packit Service 50ad14
Packit Service 50ad14
symbols!composing with keyboard
Packit Service 50ad14
-->
Packit Service 50ad14

One symbol may be constructed using several keystrokes.

Packit Service 50ad14
    Packit Service 50ad14
  • LeftAlt-press, followed by a decimal number typed on the keypad, followed
  • Packit Service 50ad14
    by LeftAlt-release, yields the symbol with code given by this number.
    Packit Service 50ad14
    (In Unicode mode this same mechanism, but then with 4 hexadecimal digits,
    Packit Service 50ad14
    may be used to define a Unicode symbol.)
    Packit Service 50ad14
  • A dead diacritic followed by a symbol, yields that symbol adorned with
  • Packit Service 50ad14
    that diacritic. If the combination is undefined, both keys are taken
    Packit Service 50ad14
    separately.
    Packit Service 50ad14
    Which keys are dead diacritics is user-settable; none is by default.
    Packit Service 50ad14
    Five (since 2.0.25 six) dead diacritics can be defined (using loadkeys(1)):
    Packit Service 50ad14
    dead_grave, dead_acute, dead_circumflex, dead_tilde, dead_diaeresis
    Packit Service 50ad14
    (and dead_cedilla).
    Packit Service 50ad14
    Precisely what this adorning means is also user-settable:
    Packit Service 50ad14
    dead-diacritic, symbol is equivalent to Compose + diacritic + symbol.
    Packit Service 50ad14
  • Compose followed by two symbols yields a combination symbol. These
  • Packit Service 50ad14
    combinations are user-settable. Today there are 68 combinations
    Packit Service 50ad14
    defined by default; you can see them by saying "dumpkeys | grep compose".
    Packit Service 50ad14
  • Then there are `Sticky' modifier keys (since 1.3.33). For example,
  • Packit Service 50ad14
    one can type Ctrl-C as SControl, C and Ctrl-Alt-BackSpace as SControl,
    Packit Service 50ad14
    SAlt, BackSpace.
    Packit Service 50ad14
    Packit Service 50ad14

    Note that there are at least four such composition mechanisms:

    Packit Service 50ad14
      Packit Service 50ad14
    1. The Linux keyboard driver mechanism, used in conjunction with loadkeys.
    2. Packit Service 50ad14
    3. The X mechanism - see X386keybd(1), later XFree86kbd(1).
    4. Packit Service 50ad14
      Under X11R6: edit /usr/X11R6/lib/X11/locale/iso8859-1/Compose.

      See also Andrew D. Balsa's comments at

      Packit Service 50ad14
      http://wauug.erols.com/~balsa/linux/deadkeys/index.html.
      Packit Service 50ad14
      Packit Service 50ad14
    5. The emacs mechanism obtained by loading "iso-insert.el" or
    6. Packit Service 50ad14
      calling `iso-accents-mode'.
      Packit Service 50ad14
    7. The vim mechanism: insert a composed symbol by pressing Ctrl-K
    8. Packit Service 50ad14
      followed by two symbols. A list of the possible combinations is
      Packit Service 50ad14
      obtained by the command :digraphs.
      Packit Service 50ad14
      Packit Service 50ad14
      Packit Service 50ad14
      For X the order of the two symbols is arbitrary: both Compose-,-c and
      Packit Service 50ad14
      Compose-c-, yield a c-cedilla; for Linux and emacs only the former sequence
      Packit Service 50ad14
      works by default. For X and vim the list of compose combinations is fixed.
      Packit Service 50ad14
      Linux and emacs are flexible.
      Packit Service 50ad14
      The default lists are somewhat similar, but the details are different.
      Packit Service 50ad14

      Packit Service 50ad14

      8.6 The SysRq key

      Packit Service 50ad14
      Packit Service 50ad14
      Packit Service 50ad14

      Packit Service 50ad14
      Packit Service 50ad14
      SysRq key
      Packit Service 50ad14
      -->
      Packit Service 50ad14
      Packit Service 50ad14
      In case your kernel was compiled with CONFIG_MAGIC_SYSRQ enabled
      Packit Service 50ad14
      (a feature that is present since Linux 2.1.43)
      Packit Service 50ad14
      there is a single key (defined in <linux/keyboard.h>)
      Packit Service 50ad14
      to which special system functions are attached, regardless of the
      Packit Service 50ad14
      current keyboard mode. For the PC architecture this special key is,
      Packit Service 50ad14
      naturally, the Alt+SysRq key, and any of the two Alt keys will work.
      Packit Service 50ad14
      (Note that if CONFIG_MAGIC_SYSRQ was not enabled, the default action
      Packit Service 50ad14
      of this key is to return to the previous console.)
      Packit Service 50ad14

      If you press this key, do not release it, and hit another key,

      Packit Service 50ad14
      a corresponding action is performed. The action is performed whether
      Packit Service 50ad14
      anybody is logged in or not, is root or not. For the details, see
      Packit Service 50ad14
      drivers/char/sysrq.c. Since this feature is meant only
      Packit Service 50ad14
      for kernel hackers, that should suffice. Still, let me add a few
      Packit Service 50ad14
      remarks.
      Packit Service 50ad14

      For the key r the keyboard mode is reset to K_XLATE.

      Packit Service 50ad14
      For the key k a SAK and console reset is done.
      Packit Service 50ad14
      For the key b the machine is rebooted immediately.
      Packit Service 50ad14
      (See, not something you want to have enabled on a production machine.)
      Packit Service 50ad14
      For the key o the power is turned off (when the machine is capable of that).
      Packit Service 50ad14
      For the key s an emergency sync is scheduled.
      Packit Service 50ad14
      For the key u an emergency read-only remount is scheduled.
      Packit Service 50ad14
      For the keys p,t,m various information is shown
      Packit Service 50ad14
      (namely the same information also shown for RAlt,RCtrl,RShift+ScrollLock).
      Packit Service 50ad14
      For the keys e,i,l all processes get a SIG_TERM or SIG_KILL, respectively;
      Packit Service 50ad14
      for l even the init process is killed.
      Packit Service 50ad14
      Digits set the log level. Anything else prints a short summary:
      Packit Service 50ad14
      SysRq: unRaw saK Boot Off Sync Unmount showPc showTasks showMem
      Packit Service 50ad14
      loglevel0-8 tErm kIll killalL.
      Packit Service 50ad14

      Note: These are very dangerous actions! And they do not use your

      Packit Service 50ad14
      keymap - indeed, are meant for emergency cases where the state
      Packit Service 50ad14
      of your keymap, or even of the entire kernel, is uncertain.
      Packit Service 50ad14
      If you use a dvorak keyboard - bad luck! Most other people will
      Packit Service 50ad14
      be able to survive: the dangerous letters A,M,Q,W,Y,Z that are
      Packit Service 50ad14
      differently placed on English, French and German keyboards, are
      Packit Service 50ad14
      not used for actions. (But if your finger slips and you hit L
      Packit Service 50ad14
      instead of K - bye bye to your system.)
      Packit Service 50ad14

      In Linux 2.3.13 the possibility to enable/disable SysRq was added.

      Packit Service 50ad14
      Packit Service 50ad14
      Packit Service 50ad14
              echo 0 > /proc/sys/kernel/sysrq
      Packit Service 50ad14
      Packit Service 50ad14
      Packit Service 50ad14
      Packit Service 50ad14
      will disable it (if the kernel was compiled with CONFIG_MAGIC_SYSRQ).
      Packit Service 50ad14

      Packit Service 50ad14

      8.7 Problems

      Packit Service 50ad14
      Packit Service 50ad14
      Packit Service 50ad14

      A good keyboard accurately reports multiple key presses.

      Packit Service 50ad14
      Especially for people using a keyboard as Braille input device,
      Packit Service 50ad14
      where they have to be able to press up to six keys simultaneously,
      Packit Service 50ad14
      this is important. Many modern keyboards fail here due to sloppy
      Packit Service 50ad14
      design and testing - they misreport or fail in other ways when
      Packit Service 50ad14
      four or more keys are pressed simultaneously, sometimes already
      Packit Service 50ad14
      when two non-modifier keys are pressed simultaneously.
      Packit Service 50ad14
      This affects Linux users a bit: the SysRq key is not a modifier key,
      Packit Service 50ad14
      and people report problems using Alt-SysRq-X for various
      Packit Service 50ad14
      letters or digits X.
      Packit Service 50ad14

      Long ago a similar problem (`ghosting') was caused by the design

      Packit Service 50ad14
      of the scan matrix: when three keys were pressed a fourth was
      Packit Service 50ad14
      also seen. That problem was solved by the use of diodes.
      Packit Service 50ad14
      Today it is the interface logic that is deficient.
      Packit Service 50ad14

      Packit Service 50ad14

      Packit Service 50ad14
      Next
      Packit Service 50ad14
      Previous
      Packit Service 50ad14
      Contents
      Packit Service 50ad14
      </BODY>
      Packit Service 50ad14
      </HTML>