linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dtor@insightbb.com>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br>,
	Richard Hughes <hughsient@gmail.com>,
	linux-acpi@vger.kernel.org, linux-input@atrey.karlin.mff.cuni.cz,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Input: document the proper usage of EV_KEY and KEY_UNKNOWN
Date: Fri, 1 Jun 2007 00:37:58 -0400	[thread overview]
Message-ID: <200706010037.59496.dtor@insightbb.com> (raw)
In-Reply-To: <20070601040824.GA5042@srcf.ucam.org>

On Friday 01 June 2007 00:08, Matthew Garrett wrote:
> On Thu, May 31, 2007 at 11:33:10PM -0400, Dmitry Torokhov wrote:
> > On Thursday 31 May 2007 21:44, Matthew Garrett wrote:
> > > It's not trivial at all. You need to introduce a mechanism for noting a 
> > > KEY_UNKNOWN keypress. It then needs to signal the user (dbus is probably 
> > > the best layer for this), but you need to ensure that you only signal 
> > > the user who is currently at the keyboard. This needs to be presented to 
> > > the user via some sort of UI, which will then need to signal some sort 
> > > of privileged process to actually change the keymap.
> > 
> > Not necessarily priveleged - you most likely already change ownership
> > of event devices to user who is logged at console (so your force feedback
> > joysticks work).
> 
> If you let users alter the kernel keymap, then you need to implement 
> support for resetting the kernel keymap on exit. Otherwise it's a 
> trivial DoS.
> 

You already do - do you let your users play games with force-feedback
joysticks? To load force feedback effect you need write permissions for
corresponding event device.

And we are talking about console owner here - with current desktop-oriented
distributions they already get access to host of otherwise restricted
devices.

> > > When the user logs  
> > > out, you'll then need to unmap the key again and repeat as necessary for 
> > > any new user who logs in.
> > 
> > I think we should aim at the most common case - when there are no multiple
> > users on the box. Then the utility that detects KEY_UNKNOWN just saves the
> > mapping user chose and automatically reload keymap upon next reboot.
> 
> The standard setup for home machines tends to be an account per family 
> member.

That could be... Although it is desktops that are usually shared.
Hmm, I am trying to remember setup of the people I know... I think
the most common setup is a desktop in an easily accessible place
(kitchen) with a single account. Older kids/parents may have their
own desktop/laptops that are not shared.

> The standard setup in an office environment is likely to be  
> multiuser.

Huh? In my limited experience everyone in the office gets its own box.
And I am not talking about software shop.

> 
> > Note that KEY_UNKNOWN solution does not preculde futher customization on
> > per-user base once default action is established.
> 
> No, but it makes it significantly more confusing. User 1 chooses a 
> setup. This gets saved. User 2 remaps keys based on User 1's settings 
> (which have been restored at bootup). User 1 alters key mapping. User 2 
> suddenly becomes hugely confused.

One user is an administrator. He can alter the global keymap. If there
are multiple users he may need to be cautious.
 
> > > 
> > > Alternatively, we could generate a keycode and then let the user map 
> > > that to an X keysym. We've even already got code to do this.
> > >
> > 
> > There is world outside of X.
> 
> On machines like we're discussing (laptops, basically) it's a tiny 
> world. Optimise for the common case, not the rare one.
> 
> > > That's a ridiculously niche case, and can be handled in userspace. Just 
> > > have udev do remapping when it detects multiple keyboards that both have 
> > > KEY_PROG* layers, or let X have different keymaps for different input 
> > > devices. We shouldn't make the (by far) common case significantly more 
> > > difficult to deal with this one.
> > > 
> > 
> > No, it is not a niche case. I think it is much more common than the case where
> > you have multiple users for the same box using different keymaps. Even if box
> > is shared there most likely will be one person setting it up in the beginning
> > and the rest will follow his/her setup.
> 
> How many users plug external keyboards with unlabelled keys into a 
> laptop? No, I really don't think that's a common case at all.

I think quite a few people use external keyboards. I know that in my office
everyone with a laptop has a docking station and uses full keyboard with
it. I use external AT keyboard at home...

As far as unlabeled goes - they may be labeled but we may not know their
labels.

> The solution that satisfies the largest number of users with the 
> smallest amount of work is the one where pressing a key on the keyboard 
> results in X events being generated. Right now, that requires that the 
> key generate a real keycode.
> 

Again, it is not only about X. What if X is not running (or running but
nobody is logged in)? There are number of events (SUSPEND, WLAN switch,
undock request, etc) that should be handled by daemons not depending
on X.

-- 
Dmitry

  reply	other threads:[~2007-06-01  4:37 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-26 17:28 [RFC] thinkpad-acpi input hotkey events Henrique de Moraes Holschuh
     [not found] ` <11802004861625-git-send-email-hmh-N3TV7GIv+o9fyO9Q7EP/yw@public.gmane.org>
2007-05-26 17:31   ` [PATCH] ACPI: thinkpad-acpi: register input device Henrique de Moraes Holschuh
     [not found]     ` <11802006651698-git-send-email-hmh-N3TV7GIv+o9fyO9Q7EP/yw@public.gmane.org>
2007-05-26 17:31       ` [PATCH] ACPI: thinkpad-acpi: add input device support to hotkey subdriver Henrique de Moraes Holschuh
2007-05-26 17:31         ` [PATCH] ACPI: thinkpad-acpi: allow hotkey to input event map to be modified Henrique de Moraes Holschuh
2007-05-26 17:31           ` [PATCH] ACPI: thinkpad-acpi: add thinkpad keys to input.h Henrique de Moraes Holschuh
2007-05-27  3:40             ` Dmitry Torokhov
2007-05-27 12:15               ` Henrique de Moraes Holschuh
2007-05-27 18:10                 ` Henrique de Moraes Holschuh
     [not found]                 ` <20070527121513.GC19562-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-05-29  3:16                   ` Dmitry Torokhov
     [not found]                     ` <200705282316.32173.dtor-xOqKmqBdiMhF6kxbq+BtvQ@public.gmane.org>
2007-05-29 13:05                       ` Henrique de Moraes Holschuh
2007-05-30 13:57                         ` Dmitry Torokhov
2007-05-30 14:04                           ` Matthew Garrett
2007-05-30 14:18                             ` Dmitry Torokhov
2007-05-30 14:25                               ` Matthew Garrett
2007-05-30 14:31                                 ` Dmitry Torokhov
2007-05-30 14:42                                   ` Matthew Garrett
2007-05-30 15:07                               ` Henrique de Moraes Holschuh
2007-05-30 15:24                           ` Henrique de Moraes Holschuh
2007-05-30 16:04                             ` Dmitry Torokhov
2007-05-30 17:24                               ` Henrique de Moraes Holschuh
2007-05-30 20:25                                 ` Dmitry Torokhov
2007-05-30 23:01                                   ` [ibm-acpi-devel] " Matthew Garrett
2007-05-31  0:53                                   ` Making KEY_UNKNOWN really useful to userland Henrique de Moraes Holschuh
2007-05-31  4:33                                     ` Dmitry Torokhov
2007-05-31 22:28                                       ` [PATCH] Input: document the proper usage of EV_KEY and KEY_UNKNOWN Henrique de Moraes Holschuh
2007-05-31 23:33                                         ` Matthew Garrett
2007-06-01  0:13                                           ` Henrique de Moraes Holschuh
2007-06-01  0:24                                             ` Matthew Garrett
2007-06-01  1:29                                               ` Henrique de Moraes Holschuh
2007-06-01  1:44                                                 ` Matthew Garrett
2007-06-01  2:11                                                   ` Henrique de Moraes Holschuh
2007-06-01  3:33                                                   ` Dmitry Torokhov
2007-06-01  4:08                                                     ` Matthew Garrett
2007-06-01  4:37                                                       ` Dmitry Torokhov [this message]
2007-06-01 13:13                                                         ` Matthew Garrett
2007-06-01 14:04                                                           ` Dmitry Torokhov
2007-06-01 14:19                                                             ` Matthew Garrett
2007-06-01 15:06                                                             ` Henrique de Moraes Holschuh
2007-06-01 15:21                                                               ` Dmitry Torokhov
2007-06-01 14:51                                                           ` Henrique de Moraes Holschuh
2007-06-01 14:19                                                       ` Henrique de Moraes Holschuh
2007-06-20 10:21                                                         ` Helge Hafting
2007-06-06 16:55                                         ` [PATCH] Input: document the proper usage of EV_KEY and KEY_UNKNOWN (v2) Henrique de Moraes Holschuh
2007-06-29  5:04                                           ` Dmitry Torokhov
2007-06-30 18:20                                             ` Henrique de Moraes Holschuh
     [not found]                                     ` <20070531005305.GC6883-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-05-31 10:37                                       ` Making KEY_UNKNOWN really useful to userland Richard Hughes
2007-05-31 12:48                                         ` Henrique de Moraes Holschuh
2007-05-31 14:37                                           ` Dmitry Torokhov
2007-05-27  3:38           ` [PATCH] ACPI: thinkpad-acpi: allow hotkey to input event map to be modified Dmitry Torokhov
2007-05-27 12:03             ` Henrique de Moraes Holschuh
2007-05-29  3:08               ` Dmitry Torokhov
2007-05-29 12:46                 ` Henrique de Moraes Holschuh
     [not found]                   ` <20070529124639.GA12935-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-05-29 12:55                     ` Dmitry Torokhov
2007-05-29 13:06                       ` [ibm-acpi-devel] " Henrique de Moraes Holschuh
2007-05-27 18:07             ` Henrique de Moraes Holschuh
2007-05-27  3:35     ` [PATCH] ACPI: thinkpad-acpi: register input device Dmitry Torokhov
2007-05-27 11:53       ` Henrique de Moraes Holschuh
2007-05-26 17:36   ` [RFC] thinkpad-acpi input hotkey events Henrique de Moraes Holschuh

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=200706010037.59496.dtor@insightbb.com \
    --to=dtor@insightbb.com \
    --cc=hmh@hmh.eng.br \
    --cc=hughsient@gmail.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-input@atrey.karlin.mff.cuni.cz \
    --cc=linux-kernel@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;
as well as URLs for NNTP newsgroup(s).