[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0debc76f26fe85e28adf642396233928.squirrel@intranet.cs.nmsu.edu>
Date: Tue, 15 Sep 2009 13:05:57 -0600
From: "Rick L. Vinyard, Jr." <rvinyard@...nmsu.edu>
To: "Dmitry Torokhov" <dmitry.torokhov@...il.com>
Cc: "Trilok Soni" <soni.trilok@...il.com>,
"Linux USB" <linux-usb@...r.kernel.org>,
"LKML" <linux-kernel@...r.kernel.org>, linux-input@...r.kernel.org
Subject: Re: Using EV_MSC or extending KEY_*
Dmitry Torokhov wrote:
> On Tue, Sep 15, 2009 at 10:41:30PM +0530, Trilok Soni wrote:
>> Adding linux-input.
>>
>> On Tue, Sep 15, 2009 at 9:49 PM, Rick L. Vinyard, Jr.
>> <rvinyard@...nmsu.edu> wrote:
>> > On the Logitech G13 there are a set of 10 special keys at the top of
>> the
>> > device.
>> >
>> > I've written the driver so that it maintains a map from the general
>> keys
>> > (G1-G22) to Linux' input subsystem keys.
>> >
>> > The map can be changed on the fly, allowing multiple keymaps to be
>> loaded.
>> >
>> > As a side note I haven't provided for this functionality (multiple
>> > keymaps) in the driver since this can be maintained from userspace,
>> but it
>> > does need to know about the currently loaded keymap so that when the
>> raw
>> > HID events are parsed the appropriate EV_KEY events can be input.
>> >
>> > I could set it up so that the special keys also map to a KEY_* code.
>> > However, I'd prefer to set things up so that any G1-G22 key can be
>> mapped
>> > to any input subsystem KEY_* code and not reserve a set of 10 from the
>> > current KEY_* codes for the 10 special keys.
>> >
>> > One way I was thinking of approaching this was to generate EV_MSC type
>> > events (with a MSC_RAW code) using the value to indicate the state
>> > (pressed/released) and special key.
>
> Doesn't HID already generate EV_MSC/MSC_SCAN for exactly this purpose
> so userspace knows what keys can be remapped? You may initially map all
> keys you don't know the usage to KEY_UNKNOWN.
As I understand it the EV_MSC/MSC_SCAN is used to trigger a prompting of
the user to map a key, which would be useful for the G1-G22 keys and
perhaps 5 of the 10 special keys. But, that's not the behavior I want for
the M1, M2, M3, MR and backlight keys.
Somehow they need to be distinct from any existing KEY_* codes or not have
a code at all... i.e. only emitting the raw misc events.
Perhaps the BTN_MISC codes are better suited for these keys?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists