Re: [RFC] Input: implement sysrq as an input handler

From: Dmitry Torokhov
Date: Thu Mar 18 2010 - 20:31:12 EST


On Thu, Mar 18, 2010 at 05:13:35PM -0700, Randy Dunlap wrote:
> On 03/16/10 23:19, Dmitry Torokhov wrote:
> > Instead of keeping SysRq support inside of legacy keyboard driver split
> > it out into a separate input handler (filter). This stops most SysRq input
> > events from leaking into evdev clients (some events, such as first SysRq
> > scancode - not keycode - event, are still leaked into both legacy keyboard
> > and evdev).
> >
> > Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>
> > ---
> >
> > drivers/char/keyboard.c | 40 +-------
> > drivers/char/sysrq.c | 222 +++++++++++++++++++++++++++++++++++++++++------
> > include/linux/sysrq.h | 23 +----
> > kernel/sysctl.c | 23 +++++
> > 4 files changed, 224 insertions(+), 84 deletions(-)
>
>
> > +/* Simple translation table for the SysRq keys */
> > +static const unsigned char sysrq_xlate[KEY_MAX + 1] =
> > + "\000\0331234567890-=\177\t" /* 0x00 - 0x0f */
> > + "qwertyuiop[]\r\000as" /* 0x10 - 0x1f */
> > + "dfghjkl;'`\000\\zxcv" /* 0x20 - 0x2f */
> > + "bnm,./\000*\000 \000\201\202\203\204\205" /* 0x30 - 0x3f */
> > + "\206\207\210\211\212\000\000789-456+1" /* 0x40 - 0x4f */
> > + "230\177\000\000\213\214\000\000\000\000\000\000\000\000\000\000" /* 0x50 - 0x5f */
> > + "\r\000/"; /* 0x60 - 0x6f */
>
> We are running out of these precious sysrq keys.
> Do you have any ideas of how to have a larger xlate table?
>

When we run out we could add shift modifiers I guess.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/