[systemd-devel] hardware/system keys/buttons

Lennart Poettering lennart at poettering.net
Thu Jan 3 15:20:18 PST 2013


On Wed, 26.12.12 16:21, Tormen (quickhelp at gmail.com) wrote:

> Hi,
> 
> I would like to trigger events on my notebook hardware keys and
> independent of any X environment!
> (very useful to do all sorts of things when something went south in
> your graphical environment)
> 
>     (a) systemd is already reacting to the power button and lid switch (!)
>     (b) part logind is already listening to *all* possible input
> event sources:

Not really "all". Just the the ACPI input devices (i.e. all input
devices tha are marked with the "power-switch" udev tag).

> Dec 04 09:55:07 seven systemd-logind[1126]: Watching system buttons
> on /dev/input/event3 (Sony Vaio Keys)
> Dec 04 09:55:07 seven systemd-logind[1126]: Watching system buttons
> on /dev/input/event4 (Sony Vaio Jogdial)
> Dec 04 09:55:07 seven systemd-logind[1126]: Watching system buttons
> on /dev/input/event2 (Power Button)
> Dec 04 09:55:07 seven systemd-logind[1126]: Watching system buttons
> on /dev/input/event1 (Lid Switch)
> 
> ... so the necessary infrastructure to react to all sorts of
> input/events is in place (*)
> and already used, but seemingly (?) limited to power buttons.

As David pointed out, this is not really the case. 

> ... wouldn't it be nicer to flexibly allow the treatment of all
> sorts of input events to give the user the freedom to decide how to
> use systemd's capability to listen to system/hardware keys/buttons
> and react to them ?

Hmm, we catch the power/suspend events because they are a really
low-level system event and their handling should always work and is par
tof the basic lifecycle of the system. 

I am a bit afraif of feature creep here. I mean, not everything really
has to be handled in systemd itself. For many things an external daemon
is not wrong. For example for handling other ACPI events but
suspend/power we still allow people to install acpid in parallel to
logind, precisely because we believe that not everything should be
handled by systemd/logind, and anything more specialized should be
handled by specialized.

So, yeah, I am a bit conservative on this one. Both because I am not
sure it would belong in logind, and because of the keysym issue David
pointed out.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list