Merge lp:~peter-hutterer/evemu/misc-fixes into lp:evemu

Proposed by Peter Hutterer
Status: Merged
Merged at revision: 53
Proposed branch: lp:~peter-hutterer/evemu/misc-fixes
Merge into: lp:evemu
Diff against target: 70 lines (+25/-2)
3 files modified
include/evemu.h (+10/-0)
src/evemu.c (+14/-2)
src/libutouch-evemu.ver (+1/-0)
To merge this branch: bzr merge lp:~peter-hutterer/evemu/misc-fixes
Reviewer Review Type Date Requested Status
Chase Douglas (community) Approve
Review via email: mp+108663@code.launchpad.net

Description of the change

Fix for running on kernels before the propbit introduction.
The second one is important for e.g. mtview to see the first touch (until the slot id change) but will require a version bump for applications to make use of it

To post a comment you must log in.
lp:~peter-hutterer/evemu/misc-fixes updated
54. By Peter Hutterer

Add evemu_get_abs_current() to retrieve the current value

Applications that use evemu need this for ABS_MT_SLOT so they can start working
on the first touchpoint, rather than waiting for the slot to change.

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Both changes look good to me.

review: Approve
Revision history for this message
Chase Douglas (chasedouglas) wrote :

I noticed that the new function was placed in the UTOUCH_EVEMU_1.0 libtool version script block. I've created a new UTOUCH_EVEMU_1.1 block and moved the function into it instead. Any new functions before the next release will be added here.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'include/evemu.h'
--- include/evemu.h 2012-03-23 15:38:02 +0000
+++ include/evemu.h 2012-06-05 01:40:26 +0000
@@ -192,6 +192,16 @@
192int evemu_get_abs_maximum(const struct evemu_device *dev, int code);192int evemu_get_abs_maximum(const struct evemu_device *dev, int code);
193193
194/**194/**
195 * evemu_get_abs_current() - get kernel current value of event type
196 * @dev: the device in use
197 * @code: the event type code to query
198 *
199 * Returns the current value of the specified event type.
200 */
201int evemu_get_abs_current_value(const struct evemu_device *dev, int code);
202
203
204/**
195 * evemu_set_abs_maximum() - set kernel maximum value of event type205 * evemu_set_abs_maximum() - set kernel maximum value of event type
196 *206 *
197 * @dev: the device in use207 * @dev: the device in use
198208
=== modified file 'src/evemu.c'
--- src/evemu.c 2012-03-23 15:38:02 +0000
+++ src/evemu.c 2012-06-05 01:40:26 +0000
@@ -163,6 +163,11 @@
163 return dev->abs[code].maximum;163 return dev->abs[code].maximum;
164}164}
165165
166int evemu_get_abs_current_value(const struct evemu_device *dev, int code)
167{
168 return dev->abs[code].value;
169}
170
166void evemu_set_abs_maximum(struct evemu_device *dev, int code, int max)171void evemu_set_abs_maximum(struct evemu_device *dev, int code, int max)
167{172{
168 dev->abs[code].maximum = max;173 dev->abs[code].maximum = max;
@@ -490,12 +495,19 @@
490{495{
491 int bits = 8 * dev->pbytes;496 int bits = 8 * dev->pbytes;
492 int ret, i;497 int ret, i;
498 int success = 0;
493 for (i = 0; i < bits; i++) {499 for (i = 0; i < bits; i++) {
494 if (!evemu_has_prop(dev, i))500 if (!evemu_has_prop(dev, i))
495 continue;501 continue;
496 ret = set_prop_bit(fd, i);502 ret = set_prop_bit(fd, i);
497 if (ret < 0)503 /* Older kernels aways return errors on UI_SET_PROPBIT.
498 return ret;504 Assume that if we only get failures, it may be an older
505 kernel and report success anyway. */
506 if (ret < 0) {
507 if (success)
508 return ret;
509 } else if (!success)
510 success = 1;
499 }511 }
500 return 0;512 return 0;
501}513}
502514
=== modified file 'src/libutouch-evemu.ver'
--- src/libutouch-evemu.ver 2011-06-17 01:54:02 +0000
+++ src/libutouch-evemu.ver 2012-06-05 01:40:26 +0000
@@ -8,6 +8,7 @@
8 evemu_get_abs_fuzz;8 evemu_get_abs_fuzz;
9 evemu_get_abs_maximum;9 evemu_get_abs_maximum;
10 evemu_get_abs_minimum;10 evemu_get_abs_minimum;
11 evemu_get_abs_current_value;
11 evemu_get_abs_resolution;12 evemu_get_abs_resolution;
12 evemu_get_id_bustype;13 evemu_get_id_bustype;
13 evemu_get_id_product;14 evemu_get_id_product;

Subscribers

People subscribed via source and target branches