All of lore.kernel.org
 help / color / mirror / Atom feed
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.

  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]             ` <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
  -- 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.