Defanging Ctl-Alt-BackSpace without losing Terminate_Server
Richard M Kreuter
kreuter at progn.net
Wed Jan 21 12:49:47 PST 2009
(I'm using Debian etch's X.org 1.1.1 xserver, and while I can't test it
right now, I think the following analysis applies to more recent X.orgs,
too. If it doesn't, I apologize for the noise.)
I'd like to change the keybinding for shutting down the X server. ISTM
that there are two pieces to this:
(1) getting some key other than Ctl-Alt-BackSpace to kill the server,
(2) getting Ctl-Alt-BackSpace not to kill the server.
The first is pretty easy, but I think I've convinced myself that you
can't have both at the same time: it looks as if code in the server's
hw/xfree86/common/xf86Events.c (around line 735 in 1.1.1, or line 400 in
1.5.1) hard-codes the connection between the Control, Alt and BackSpace
scancodes and the ACTION_TERMINATE invocation below any customizable
level [*]. So even if one rigs xkb to remove the xkb-level
Terminate_Server binding from BackSpace [**], Ctl-Alt-BackSpace still
If this is a correct assessment of the code, is it meant to be this way?
Couldn't there be some way to defang Ctl-Alt-BackSpace without losing
[*] AFAICT, DontZap is a red herring in this story: it just makes
ACTION_TERMINATE a no-op. So the DontZap documentation in the xorg.conf
man page is an incorrect description of what's actually implemented,
since enabling DontZap doesn't really have to do with the interpretation
of any key sequences, but with whether the invokable server shutdown
function does anything.
[**] ... or, I think, if one changes the mapping from the BackSpace
scancode to different key symbols.
More information about the xorg