diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2013-03-14 11:07:57 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2013-05-07 09:40:42 +1000 |
commit | 23d1bc69f305edd5a6e2cfec3dfc84befda0881c (patch) | |
tree | 557669efe99f751a37fac4ab8ed45af08f1622f9 | |
parent | 27b11f5c19d67e2f6784d86cb7df86bbab3b58bb (diff) |
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>
-rw-r--r-- | dix/eventconvert.c | 4 | ||||
-rw-r--r-- | dix/getevents.c | 1 | ||||
-rw-r--r-- | include/eventstr.h | 1 |
3 files changed, 3 insertions, 3 deletions
diff --git a/dix/eventconvert.c b/dix/eventconvert.c index ebc52c36c..f7ecdba77 100644 --- a/dix/eventconvert.c +++ b/dix/eventconvert.c @@ -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; diff --git a/dix/getevents.c b/dix/getevents.c index a4f192cf0..241c7ec0d 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -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) { diff --git a/include/eventstr.h b/include/eventstr.h index 38fab4f3c..5c1adc459 100644 --- a/include/eventstr.h +++ b/include/eventstr.h @@ -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 */ |