Consistent handling of USB device buttons

Peter Hutterer peter.hutterer at
Mon Aug 20 20:16:19 PDT 2012

On Mon, Aug 20, 2012 at 05:12:59AM +0000, Alex Dubov wrote:
> Sorry for my previous mis-posting, there appears to be some problem with gmane
> interface.
> There exist considerable number of hot-pluggable USB devices with helper buttons
> (cameras and headsets being the more prominent examples). The buttons in
> question are recognized by evdev as USB HID interfaces, so in theory they are
> considered as "supported".
> In practice, however, there are 2 common problems:
> 1. Buttons have session global effect and there's no easy, nor stable way to
> limit their effect to a particular device.

I don't understand this bit. can you paraphrase?
> 2. Sometimes device buttons are recognized as "mice", rather than "keyboards"
> and there's no much one can do with "mouse" buttons out of Xorg box (assorted
> third party programs of varying breed and maintenance status notwithstanding).

evdev will set up BTN_0...BTN_TASK as buttons on a device. anything else
should be a keyboard. especially KEY_CAMERA should be a key. what specific
device has the camera button set up as mouse button?

> I tried to make some sense of the issue for myself, but it appears to be
> impossible to get through untold scores of various user complains on the
> inter-webs. :-)
> Can somebody point me at an information or discussions regarding the issues
> above? After all, those devices are abundant and appear to work just fine even
> on older windows xp, without any extraneous effort.
> It seems logical to me that USB buttons must represent a whole input device
> class on their own, with appropriate events defined. I suppose, it won't be a
> big deal to incorporate support for them into existing applications, because the
> need for such arrangement is long and widely recognized by anybody who tried to
> rely on such buttons on Linux.

More information about the xorg mailing list