|
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 |
|
|
Packit Service |
50ad14 |
|
|
Packit Service |
50ad14 |
|
|
Packit Service |
50ad14 |
|
|
Packit Service |
50ad14 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
The Linux keyboard driver mechanism, used in conjunction with loadkeys.
|
|
Packit Service |
50ad14 |
The X mechanism - see X386keybd(1), later XFree86kbd(1).
|
|
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 |
The emacs mechanism obtained by loading "iso-insert.el" or
|
|
Packit Service |
50ad14 |
calling `iso-accents-mode'.
|
|
Packit Service |
50ad14 |
The vim mechanism: insert a composed symbol by pressing Ctrl-K
|
|
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 |
|
|
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 |
|
|
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>
|