summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@bitmath.org>2010-08-18 11:01:28 +0200
committerHenrik Rydberg <rydberg@bitmath.org>2010-08-18 11:01:28 +0200
commit810cef87de0d65e505e68ad39c469c2e9ce6d0a1 (patch)
treee519d00af38becc6d14a13a303298cba6cca8d59
parente91311dc01f970b687da4f00810cf40d3d37a5e4 (diff)
downloadmtdev-git-810cef87de0d65e505e68ad39c469c2e9ce6d0a1.tar.gz
Correct logic for kernel MT slots devices
This patch fixes the broken logic to detect the kernel MT slots protocol, such that MT slots devices may pass through mtdev properly. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
-rw-r--r--src/core.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core.c b/src/core.c
index c1f78b5..a6798b0 100644
--- a/src/core.c
+++ b/src/core.c
@@ -369,10 +369,10 @@ void mtdev_put_event(struct mtdev *dev, const struct input_event *ev)
struct mtdev_state *state = dev->state;
if (ev->type == EV_SYN && ev->code == SYN_REPORT) {
bitmask_t head = state->outbuf.head;
- if (dev->state)
- convert_A_to_B(state, &dev->caps, ev);
- else
+ if (dev->caps.has_slot)
process_typeB(state);
+ else
+ convert_A_to_B(state, &dev->caps, ev);
if (state->outbuf.head != head)
evbuf_put(&state->outbuf, ev);
} else {