dix: send the current axis value in DeviceChangedEvents (#62321)

X.Org Bug 62321 <http://bugs.freedesktop.org/show_bug.cgi?id=62321>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Peter Hutterer 2013-03-14 11:07:57 +10:00
parent 27b11f5c19
commit 23d1bc69f3
3 changed files with 3 additions and 3 deletions

View File

@ -501,9 +501,7 @@ appendValuatorInfo(DeviceChangedEvent *dce, xXIValuatorInfo * info,
info->min.frac = 0;
info->max.integral = dce->valuators[axisnumber].max;
info->max.frac = 0;
/* FIXME: value */
info->value.integral = 0;
info->value.frac = 0;
info->value = double_to_fp3232(dce->valuators[axisnumber].value);
info->resolution = dce->valuators[axisnumber].resolution;
info->number = axisnumber;
info->mode = dce->valuators[axisnumber].mode;

View File

@ -277,6 +277,7 @@ CreateClassesChangedEvent(InternalEvent *event,
dce->valuators[i].mode = slave->valuator->axes[i].mode;
dce->valuators[i].name = slave->valuator->axes[i].label;
dce->valuators[i].scroll = slave->valuator->axes[i].scroll;
dce->valuators[i].value = slave->valuator->axisVal[i];
}
}
if (slave->key) {

View File

@ -175,6 +175,7 @@ struct _DeviceChangedEvent {
struct {
uint32_t min; /**< Minimum value */
uint32_t max; /**< Maximum value */
double value; /**< Current value */;
/* FIXME: frac parts of min/max */
uint32_t resolution; /**< Resolution counts/m */
uint8_t mode; /**< Relative or Absolute */