Defanging Ctl-Alt-BackSpace without losing Terminate_Server

Richard M Kreuter kreuter at progn.net
Wed Jan 21 12:49:47 PST 2009


Hello,

(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,
    and

(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
invokes ACTION_TERMINATE.

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
Terminate_Server?

Thanks,
Richard Kreuter

[*] 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 mailing list