From: Richard Hughes <hughsient@gmail.com>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: linux-acpi@vger.kernel.org, desktop_portables@lists.osdl.org,
hal@lists.freedesktop.org, gnome-power-manager-list@gnome.org
Subject: Re: [gpm] Untangling the sleep hotkey mess
Date: Sun, 08 Jan 2006 12:58:44 +0000 [thread overview]
Message-ID: <1136725124.2444.26.camel@localhost> (raw)
In-Reply-To: <20060107172446.GA3092@srcf.ucam.org>
On Sat, 2006-01-07 at 17:24 +0000, Matthew Garrett wrote:
> Currently, there are three ways that a sleep hotkey may generate an
> event:
>
> 1) Exposed in DSDT as an ACPI object, generates an ACPI notification
> event (the "normal" way)
>
> 2) Uses hardware-specific ACPI driver, generates an ACPI notification
> event. Not exposed in the DSDT in any standard way (ibm-acpi,
> toshiba-acpi, panasonic-acpi)
>
> 3) Generates a scancode, which is picked up by the kernel and turned
> into a keycode (HP laptops work like this)
>
> This is all quite horribly confusing, and makes life miserable for
> userspace.
Wholeheartedly agree.
> I would like to suggest the following standardisation:
>
> a) Hal should assume that all hardware has a sleep key, since there's no
> way to actually tell.
>
> b) Events generated in cases (1) and (2) should, for now, be caught by
> acpid (or something similar) and then fed back into the input layer via
> uinput. This should be scancode 142, which will end up as X keycode 223.
Yes, I proposed something similar here
[http://www.nabble.com/ACPI-to-uinput-bridge-t409384.html] -- using HAL
and uinput to send the keys to user-programs.
> c) Most keyboards in case (3) will already send scancode 142. For
> laptops, those that shouldn't should be remapped at boot time by
> checking the system DMI information and consulting a lookup table.
Yes, perhaps using the existing HAL infrastructure with FDI lookup
tables? We already have a HAL addon for watching ACPI events, and doing
things like refreshing the battery values, and emitting conditions for
the common buttons (lid, sleep, power) -- we could just extend this code
in the HAL addon.
The HAL addon is well tested, and plays nice with acpid if required.
> Rationale:
>
> Having one type of event rather than three makes it easier for userspace
> coders. Choosing to do it through the input layer lets people take
> advantage of pre-existing code for binding userspace events to keyboard
> events, and is significantly easier to do than getting keyboard events
> back to the ACPI layer. Keycode 142 is chosen because it's what
> Microsoft uses, and so most manufacturers who have taken this approach
> have copied them.
Can we not go further and define Dock/UnDock,
BrightnessUp/BrightnessDown, Hibernate, etc?
Richard.
next prev parent reply other threads:[~2006-01-08 12:58 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 ` Richard Hughes [this message]
2006-01-08 13:47 ` [gpm] " 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] ` <200601090007.43578.dtor_core-yWtbtysYrB+LZ21kGMrzwg@public.gmane.org>
2006-01-09 5:24 ` Matthew Garrett
2006-01-09 9:43 ` Richard Hughes
[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
-- 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=1136725124.2444.26.camel@localhost \
--to=hughsient@gmail.com \
--cc=desktop_portables@lists.osdl.org \
--cc=gnome-power-manager-list@gnome.org \
--cc=hal@lists.freedesktop.org \
--cc=linux-acpi@vger.kernel.org \
--cc=mjg59@srcf.ucam.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