From: Richard Hughes <hughsient-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Dmitry Torokhov <dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org>
Cc: desktop_portables-qjLDD68F18O7TbgM5vRIOg@public.gmane.org,
hal-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
gnome-power-manager-list-rDKQcyrBJuzYtjvyW6yDsg@public.gmane.org,
linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Matthew Garrett <mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
Subject: Re: [gpm] Untangling the sleep hotkey mess
Date: Mon, 09 Jan 2006 09:43:28 +0000 [thread overview]
Message-ID: <1136799809.19776.11.camel@localhost> (raw)
In-Reply-To: <200601090007.43578.dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org>
On Mon, 2006-01-09 at 00:07 -0500, Dmitry Torokhov wrote:
> On Sunday 08 January 2006 20:14, Richard Hughes wrote:
> > On Sun, 2006-01-08 at 14:13 +0000, Richard Hughes wrote:
> > > On Sun, 2006-01-08 at 13:47 +0000, Matthew Garrett wrote:
> > > > On Sun, Jan 08, 2006 at 12:58:44PM +0000, Richard Hughes wrote:
> > > >
> > > > > Can we not go further and define Dock/UnDock,
> > > > > BrightnessUp/BrightnessDown, Hibernate, etc?
> > > >
> > > > BrightnessUp/BrightnessDown have keycodes defined in
> > > > /usr/src/linux/input.h, so that shouldn't be a problem. I suggested a
> > > > keycode for hibernate (KEY_SUSPEND, with suspend to RAM on KEY_SLEEP).
> > >
> > > Okay, that's good for me.
> > >
> > > > I'm less convinced about Dock/Undock - that's a problem that's so far
> > > > from being solved I've no idea what sort of things userspace wants to
> > > > know :)
> > >
> > > Sure, just an example of "other stuff". Lock is maybe a better example
> > > as gnome-screensaver (or equiv) can respond to this.
> > >
> > > The main problem now is implementation.
> >
> > Further to the conversation on IRC, I've attached two ACPI patches to
> > provoke discussion.
> >
> > The first creates the /org/freedesktop/Hal/devices/acpi_uinput like I
> > did for the toshiba specific HAL addon.
> > The second uses the acpi events for creating uinput events that can be
> > captured using gnome-keybindings, and also creates HAL ButtonPressed
> > events so that DBUS aware applications (like g-v-m and g-p-m) can
> > monitor the events.
> >
>
> I am sorry, but the scheme
>
> acpi->acpid->hal?->uinput->input_core->keyboard->...>userspace
>
HAL does not require acpid to be running as it can listen to the socket
directly. Using HAL allows us to emit a ButtonPressed DBUS event for
session/system applications to listen for (like gnome-volume-manager and
gnome-power-manager) and also could use uinput so that stuff like the
"mute" hotkey can be caught by gnome-keybinding-properties so that the
session action could be taken.
So the call chain would look like this:
acpi->hal->gnome-volume-manager (ButtonPressed)
acpi->hal->uinput->input_core->keyboard->g-k-p (uinput)
Plus, doing all the processing user-side, we can put the policy in HAL
(saying that hkey 0x140 is KEY_BRIGHTNESSDOWN), meaning we don't have to
update the kernel for every new laptop hotkey layout change.
> Why don't we create an input handler that would feed certain events
> from input layer to acpid via bus_acpi_generate_event(). This will
> allow grateful migration of acpi buttons and other stuff to use
> input layer:
>
> acpi->input_core->[new handler]->acpid
What if the application wants a DBUS event rather than listening on /dev/input/X?
> In the mean time hal can start using /dev/input/eventX to get those
> events.
So in the kernel you want to put all the policy so that if
laptopmodel=foo and bios=bar and key=0x140 then output
KEY_BRIGHTNESSDOWN?
I've no problem using any input interface with HAL, as long as it's
unified between all the different acpi modules.
Even in the acpi kernel bits, there appears to be about half a dozen
different ways that buttons *could* get to userspace, without any
cooperation from the desktop guys and the kernel guys to an optimal
solution.
Sorry if this sounds a bit like a rant.
Richard.
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2006-01-09 9:43 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-07 17:24 Untangling the sleep hotkey mess Matthew Garrett
[not found] ` <20060107172446.GA3092-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2006-01-07 19:24 ` Henrik Brix Andersen
[not found] ` <20060107192444.GA21915-GgQh6P/XBPa901fzNV2Eubv56P54cF3WWmv/VHan8Is@public.gmane.org>
2006-01-07 20:52 ` Matthew Garrett
[not found] ` <20060107205232.GA6445-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2006-01-07 21:01 ` Henrik Brix Andersen
[not found] ` <20060107210103.GA5961-GgQh6P/XBPa901fzNV2Eubv56P54cF3WWmv/VHan8Is@public.gmane.org>
2006-01-07 21:14 ` Matthew Garrett
2006-01-08 12:58 ` [gpm] " Richard Hughes
2006-01-08 13:47 ` Matthew Garrett
[not found] ` <20060108134744.GA21538-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2006-01-08 14:13 ` Richard Hughes
2006-01-09 1:10 ` Yu Luming
2006-01-09 1:21 ` Richard Hughes
2006-01-09 1:14 ` Richard Hughes
2006-01-09 5:07 ` Dmitry Torokhov
[not found] ` <20060109052407.GA4213@srcf.ucam.org>
[not found] ` <20060109052407.GA4213-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2006-01-09 6:09 ` Dmitry Torokhov
[not found] ` <200601090109.05791.dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org>
2006-01-09 9:44 ` Richard Hughes
[not found] ` <200601090007.43578.dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org>
2006-01-09 5:24 ` Matthew Garrett
2006-01-09 9:43 ` Richard Hughes [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-01-09 1:37 Yu, Luming
2006-01-09 1:43 ` Matthew Garrett
[not found] ` <20060109014350.GA672-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2006-01-09 2:19 ` Yu Luming
[not found] ` <200601091019.01083.luming.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2006-01-09 2:30 ` Matthew Garrett
[not found] ` <20060109023037.GA1316-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2006-01-09 3:13 ` Yu Luming
[not found] ` <200601091113.16092.luming.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2006-01-09 3:27 ` Matthew Garrett
[not found] ` <20060109032717.GA2238-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2006-01-09 3:55 ` Yu Luming
[not found] ` <200601091155.24380.luming.yu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2006-01-09 4:07 ` Matthew Garrett
2006-01-09 10:04 ` Richard Hughes
2006-01-09 21:14 ` Dmitry Torokhov
[not found] ` <d120d5000601091314g7cef73fk445976b14c549a04@mail.gmail.com>
2006-01-09 21:40 ` Matthew Garrett
[not found] ` <20060109214050.GA19974@srcf.ucam.org>
2006-01-09 21:52 ` Dmitry Torokhov
[not found] ` <d120d5000601091352m19ba5eb0n80c462cba49bd2a6@mail.gmail.com>
[not found] ` <d120d5000601091352m19ba5eb0n80c462cba49bd2a6-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2006-01-09 22:04 ` Matthew Garrett
2006-07-26 23:41 Brown, Len
2006-07-26 23:52 ` Matthew Garrett
2006-07-27 4:12 ` Dmitry Torokhov
2006-08-31 1:49 Brown, Len
2006-08-31 2:53 ` Dmitry Torokhov
2006-08-31 3:03 ` Len Brown
[not found] ` <200608302303.38458.len.brown-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2006-08-31 3:07 ` Dmitry Torokhov
2006-09-18 7:55 ` Richard Hughes
[not found] ` <1158566150.2332.14.camel-Qvr7v16j6+Ap96r9Hs7rR1Kr0EmMEXJSn9A1Ff6Mc9Q@public.gmane.org>
2006-09-18 15:17 ` Dmitry Torokhov
2006-09-18 17:52 ` Richard Hughes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1136799809.19776.11.camel@localhost \
--to=hughsient-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=desktop_portables-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org \
--cc=gnome-power-manager-list-rDKQcyrBJuzYtjvyW6yDsg@public.gmane.org \
--cc=hal-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox