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: Thu, 31 May 2007 23:33:10 -0400 [thread overview]
Message-ID: <200705312333.11477.dtor@insightbb.com> (raw)
In-Reply-To: <20070601014453.GA3711@srcf.ucam.org>
On Thursday 31 May 2007 21:44, Matthew Garrett wrote:
> On Thu, May 31, 2007 at 10:29:28PM -0300, Henrique de Moraes Holschuh wrote:
> > On Fri, 01 Jun 2007, Matthew Garrett wrote:
> > > Given existing userspace, it's never useful to generate KEY_UNKNOWN.
> > > Adding extra information to the event doesn't alter that.
> >
> > It will not break anything, and it is trivial to write an application to
> > intelligently handle KEY_UNKNOWN+scancode events. This really is not a
> > reason to not do it, at all.
>
> 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).
> 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.
Note that KEY_UNKNOWN solution does not preculde futher customization on
per-user base once default action is established.
>
> 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.
> > > I think using positional keycodes would also be a mistake. We just need
> > > a slightly larger set of keycodes representing user-definable keys.
> > > There's 4 of them already - I really can't imagine there being many
> > > keyboards with a significantly larger set of unlabelled keys.
> >
> > I had this exact PoV, too, until Dmitry reminded me that keycodes are
> > *global* to the system in practice, and that different keys (as in keys that
> > have no correlation between their position, labels or lack thereof, and
> > function) in different input devices would end up mapped to KEY_PROGx by
> > default.
>
> 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.
--
Dmitry
next prev parent reply other threads:[~2007-06-01 3:33 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <11802004861625-git-send-email-hmh@hmh.eng.br>
[not found] ` <11802006651698-git-send-email-hmh@hmh.eng.br>
[not found] ` <11802006652128-git-send-email-hmh@hmh.eng.br>
[not found] ` <11802006652058-git-send-email-hmh@hmh.eng.br>
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 [this message]
2007-06-01 4:08 ` Matthew Garrett
2007-06-01 4:37 ` Dmitry Torokhov
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
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=200705312333.11477.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).