[i2c] [PATCH 1/1] Input/Joystick Driver: add support AD7142 joystickdriver (v2)

Robin Getz rgetz at blackfin.uclinux.org
Sun Apr 27 03:09:09 CEST 2008

On Fri 25 Apr 2008 11:39, Dmitry Torokhov pondered:
> On Fri, Apr 25, 2008 at 06:09:52PM +0800, Bryan Wu wrote:
> > On Sat, Apr 19, 2008 at 1:15 AM, Dmitry Torokhov
> > <dmitry.torokhov at gmail.com> wrote:
> > > Hi Bryan,
> > >
> > >  Why don't you use REL_X/REL_Y to report directional movement? Using
> > >  buttons for that is pretty unusual.
> > >
> > 
> > In our development board, it includes UP/DOWN/LEFT/RIGHT 4 buttons. So
> > this driver matches this.
> > Please found some information about the hardware as below:
> >
> http://docs.blackfin.uclinux.org/doku.php?id=capacitance_touch_sensors&s
> []=ad7142
> What is the expected behaviur when a person touches one of these
> buttons?

It depends on the design of the button on the target hardware. They can be 
pretty much any number of different shapes and sizes. Buttons, wheels, 
scroll-bar, joypad, and touchpad shapes can be laid out as traces on the 
sensor PCB. While we tested/wrote something for what we had hardware to 
verify, it is not restricted to this.

As Bryan indicated - have a look at:

for a variety of options.

> Is it generatig a left/rigth mouse button clocks or moving a 
> pointer in some direction? Judging by the category of the devices you
> are placing it in (joystick) it seems that latter is what you want,
> therefore it should generate REL_X and REL_Y events. Otherwise it
> should probably be called a button driver and live either in
> drivers/input/keyboard or driver/input/misc. Do you agree?

If someone makes a joypad, it is a joypad. If someone makes a button, it is a 
button. The specific ad7142_work function will need to be modified to match 
the hardware design.

So, I am not sure where it should live - maybe driver/input/misc since it can 
be so many different things. The issue (in my mind) is how it gets exposed to 
userspace. If someone makes a joypad - they want it to show up as a joystick, 
so they don't have to modify any standard userspace applications to use it.


More information about the i2c mailing list