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
next prev parent 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 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.