Hi,

On Thu, 2009-05-07 at 21:03 +0300, Ville Syrjälä wrote:

> > +{
> > +     LinuxInputData *data = (LinuxInputData*) driver_data;
> > +
> > +     if (data->touchpad) {
> > +          /*  for the touchpad, events are normalized to 0..511  */
> > +          switch (axis) {
> > +               case DIAI_X:
> > +               case DIAI_Y:
> > +                    ret_info->flags  |= DIAIF_ABS_MIN | DIAIF_ABS_MAX;
> > +                    ret_info->abs_min = 0;
> > +                    ret_info->abs_max = (1 << 9) - 1;
> > +                    break;
> > +               default:
> > +                    break;
> > +          }
> 
> We don't report absolute events for touchpads so this bit is not really
> needed.

OK, I'll take care of removing these lines then.

> > +          if (axis <= ABS_PRESSURE && axis < DIAI_LAST) {
> > +               unsigned long absbit[NBITS(ABS_CNT)];
> > +
> > +               /* check if we have an absolute axes */
> > +               ioctl( data->fd, EVIOCGBIT(EV_ABS, sizeof(absbit)), absbit 
> > );
> > +
> > +               if (test_bit (axis, absbit)) {
> > +                    struct input_absinfo absinfo;
> > +
> > +                    ioctl( data->fd, EVIOCGABS(axis), &absinfo );
> > +
> > +                    ret_info->flags  |= DIAIF_ABS_MIN | DIAIF_ABS_MAX;
> > +                    ret_info->abs_min = absinfo.minimum;
> > +                    ret_info->abs_max = absinfo.maximum;
> > +               }
> > +          }
> > +     }

I also wonder if the code should perhaps check that absinfo.minimum or
absinfo.maximum as filled in by the linux-input layer are actually != 0.


Sven


_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to