Re: [RFC] tty/sysrq: Add alternative SysRq key

From: Andrzej Pietrasiewicz
Date: Fri Nov 05 2021 - 09:01:35 EST


Hi,

W dniu 04.11.2021 o 15:17, Andrzej Pietrasiewicz pisze:
Hi Maciej,

W dniu 04.11.2021 o 14:13, Maciej W. Rozycki pisze:
On Thu, 4 Nov 2021, Maciej W. Rozycki wrote:

  The reason for this is with their more recent laptops Lenovo in their
infinite wisdom have placed the <PrintScreen> key (which in a traditional
PS/2-keyboard manner produces <SysRq> when combined with <Alt>) in their
keyboards between the right <Alt> and <Ctrl> keys.  With thumbs not being
as accurate as other fingers (and the overall misdesign of the keyboard
and touchpad interface) you can imagine how often I have inadvertently hit
<SysRq> combined with a letter key, wreaking havoc to my system (and of
course I want to keep the key enabled for times when I do need it).

  On second thoughts this can be disabled with `setkeycodes 54 0' once we
do have an alternative combination available.


Doesn't `setkeycodes` affect only one keyboard? What if there are more
keyboards connected to a machine?

From drivers/tty/vt/keyboard.c:

/*
 * Translation of scancodes to keycodes. We set them on only the first
 * keyboard in the list that accepts the scancode and keycode.
 * Explanation for not choosing the first attached keyboard anymore:
 *  USB keyboards for example have two event devices: one for all "normal"
 *  keys and one for extra function keys (like "volume up", "make coffee",
 *  etc.). So this means that scancodes for the extra function keys won't
 *  be valid for the first event device, but will be for the second.
 */


My second thoughts: if we run `setkeycodes` to map, say, F10 as SysRq,
don't we lose F10?

Andrzej