[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#822874: [xkb] Terminate_Server does not work when bound to Ctrl-Alt-XF86*



Package: xorg
Version: 1:7.7+7
Severity: minor

Dear maintainer, I would like to bind killing X server to something less easy to hit accidentally than Ctrl-Alt-Bksp. I could bind it, for instance, to Ctrl-Alt-Del and it worked, but the very same approach fails with Ctrl-Alt-XF86ScreenSaver which I actually would like to use.

Minimal non-working example:

~/.xkb (that is loaded with xkbcomp):

xkb_keymap {
  xkb_keycodes {
    include "evdev+aliases(qwerty)"
  };

  xkb_types {
    include "complete"
  };

  xkb_compatibility {
    include "complete"
  };

  xkb_symbols {
    include "pc+us+inet(evdev)"

    key <I160> {
        type = "CTRL+ALT",
        symbols =
          [ NoSymbol, NoSymbol, NoSymbol, NoSymbol, Terminate_Server ]
    };
  };
};

So the relevant part of applied config looks like (excerpt from output of $ xkbcomp $DISPLAY -):

key <I160> {
    type= "CTRL+ALT",
symbols[Group1]= [ XF86ScreenSaver, NoSymbol, NoSymbol, NoSymbol, Terminate_Server ]
};

When I press C-A-XF86ScreenSaver xev sees the correct keysym (Terminate_Server), however it does not have any real effect:

KeyPress event, serial 39, synthetic NO, window 0x4200001,
    root 0x2db, subw 0x0, time 12213787, (-1039,487), root:(281,508),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 39, synthetic NO, window 0x4200001,
    root 0x2db, subw 0x0, time 12214086, (-1039,487), root:(281,508),
    state 0x4, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

MappingNotify event, serial 39, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyRelease event, serial 39, synthetic NO, window 0x4200001,
    root 0x2db, subw 0x0, time 12214678, (-1039,487), root:(281,508),
state 0xc, keycode 160 (keysym 0xfed5, Terminate_Server), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

MappingNotify event, serial 40, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyRelease event, serial 40, synthetic NO, window 0x4200001,
    root 0x2db, subw 0x0, time 12215662, (-1039,487), root:(281,508),
    state 0xc, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x4200001,
    root 0x2db, subw 0x0, time 12215667, (-1039,487), root:(281,508),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False


I have not try all XF86* keys, but done several — the same story.

--- System information. ---
Architecture: amd64
Kernel:       Linux 3.16.0-4-amd64

Debian Release: 8.4


Reply to: