summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2010-09-29 21:37:03 +0200
committerHenrik Rydberg <rydberg@euromail.se>2010-09-29 21:37:03 +0200
commit8871a76c8669087236435465abe88fc6c4e4b05c (patch)
treece5019d036970762df5d4dfdb71b3fbe36ae7593
parente4736fa40fd116937390a0b220b554724317e0cf (diff)
Allow double report speed for simplicity
On the joojoo, every contact change is its own packet, and collecting the concurrent set into a frame is currently made using the reported variable. However, being somewhat error prone, simply let the state be reported for every contact change instead, since the input core will removed duplicates anyways. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
-rw-r--r--usr/src/dkms_source_tree/hid-egalax.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/usr/src/dkms_source_tree/hid-egalax.c b/usr/src/dkms_source_tree/hid-egalax.c
index 17b00df..c060dfa 100644
--- a/usr/src/dkms_source_tree/hid-egalax.c
+++ b/usr/src/dkms_source_tree/hid-egalax.c
@@ -44,10 +44,9 @@ struct egalax_data {
44 struct egalax_contact contact[MAX_SLOTS]; 44 struct egalax_contact contact[MAX_SLOTS];
45 int down, valid; 45 int down, valid;
46 int x, y, z; 46 int x, y, z;
47 int slot, prev_slot; 47 int slot;
48 int mask; 48 int mask;
49 int trkid; 49 int trkid;
50 int reported;
51}; 50};
52 51
53static int egalax_input_mapping(struct hid_device *hdev, struct hid_input *hi, 52static int egalax_input_mapping(struct hid_device *hdev, struct hid_input *hi,
@@ -149,15 +148,6 @@ static void report_contact(struct egalax_data *td, struct input_dev *input)
149 f->y = td->y; 148 f->y = td->y;
150 f->z = td->z; 149 f->z = td->z;
151 150
152 if (td->prev_slot != td->slot) {
153 td->prev_slot = td->slot;
154 if (td->reported) {
155 td->reported = 0;
156 return;
157 }
158 }
159 td->reported = 1;
160
161 for (i = 0; i < MAX_SLOTS; i++) { 151 for (i = 0; i < MAX_SLOTS; i++) {
162 f = &td->contact[i]; 152 f = &td->contact[i];
163 input_mt_slot(input, i); 153 input_mt_slot(input, i);