Re: [PATCH v2] Documentation: Add evdev type and code definitions
From: Chase Douglas
Date: Fri Jan 07 2011 - 17:04:01 EST
On 01/07/2011 04:53 PM, Dmitry Torokhov wrote:
> Hi Chase,
> On Fri, Jan 07, 2011 at 04:28:15PM -0500, Chase Douglas wrote:
>> +* KEY_SUSPEND, KEY_POWER:
>> + - These codes are reserved for the EV_PWR type.
> This is not correct, KEY_SUSPEND and KEY_POWER are valid events for
> EV_KEY type. We need to figure out what to do with drivers who like to do
> EV_PWR/KEY_PWR though.
> The whole EV_PWR business is iffy. IIRC/IIUC it was envisioned to semd
> powwer events _to_ the devices to implement device-level PM. We'll have
> to revisit it at some point.
Ahh. Ok, I'll remove this tidbit.
>> +EV_REL events describe relative changes in a property. For example, a mouse may
>> +move to the left by a certain number of units, but its absolute position in
>> +space is unknown. If the absolute position is known, EV_ABS codes should be used
>> +instead of EV_REL codes.
>> +A few EV_REL codes have special meanings:
>> +* REL_WHEEL, REL_HWHEEL:
>> + - These codes are used for vertical and horizontal scroll wheels,
>> + respectively.
>> +EV_ABS events describe absolute changes in a property. For example, a touchpad
>> +may emit coordinates for a touch location.
>> +A few EV_ABS codes have special meanings:
>> +* ABS_DISTANCE:
>> + - Used to describe the distance of a tool from an interaction surface. This
>> + should only be used while the tool is hovering, meaning in close proximity
>> + of the device. If the input device may be used freely in three dimensions,
>> + consider ABS_Z instead.
>> +* ABS_MT_<name>:
>> + - Used to describe multitouch input events. Please see
>> + multi-touch-protocol.txt for details.
>> +EV_SW events describe stateful binary switches. For example, the SW_LID code is
>> +used to denote when a laptop lid is closed.
> Please add that drivers should refresh switch state upon binding to a
> device and also upon resume.
I've not written any switch evdev drivers, can you clarify what you
mean, maybe give me something to paste in?
Are you meaning that the switch state may have physically changed, and
that the driver should query the physical state to be sure, or do you
mean that the driver must send a new event even if the state has not
>> +EV_MSC events are used for input and output events that do not fall under other
>> +EV_LED events are used for input and output to set and query the state of
>> +various LEDs on devices.
>> +EV_REP events are used for specifying autorepeating events.
>> +EV_SND events are used for sending sound commands to simple sound output
>> +EV_FF events are used to initialize a force feedback capable device and to cause
>> +such device to feedback.
>> +EV_PWR events are a special type of key event used specifically for monitoring
>> +power buttons and switches. The two codes in use are:
>> +* KEY_POWER:
>> + - Used to denote a power button event.
>> +* KEY_SUSPEND:
>> + - Used to denote a suspend button event.
> Just replace this with TBA for now.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/