summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/hwstate.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/hwstate.c b/src/hwstate.c
index 4af636c..1a68d28 100644
--- a/src/hwstate.c
+++ b/src/hwstate.c
@@ -83,25 +83,25 @@ void modify_hwstate(struct HWState *s,
83{ 83{
84 int A[DIM2_FINGER], *row; 84 int A[DIM2_FINGER], *row;
85 int sid[DIM_FINGER], hw2s[DIM_FINGER]; 85 int sid[DIM_FINGER], hw2s[DIM_FINGER];
86 int id, sk, hwk; 86 int id, i, j;
87 87
88 /* setup distance matrix for finger id matching */ 88 /* setup distance matrix for finger id matching */
89 for (sk = 0; sk < s->nfinger; sk++) { 89 for (j = 0; j < s->nfinger; j++) {
90 sid[sk] = s->finger[sk].id; 90 sid[j] = s->finger[j].id;
91 row = A + hw->nfinger * sk; 91 row = A + hw->nfinger * j;
92 for (hwk = 0; hwk < hw->nfinger; hwk++) 92 for (i = 0; i < hw->nfinger; i++)
93 row[hwk] = dist2(&hw->finger[hwk], &s->finger[sk].hw); 93 row[i] = dist2(&hw->finger[i], &s->finger[j].hw);
94 } 94 }
95 95
96 match_fingers(hw2s, A, hw->nfinger, s->nfinger); 96 match_fingers(hw2s, A, hw->nfinger, s->nfinger);
97 97
98 /* update matched fingers and create new ones */ 98 /* update matched fingers and create new ones */
99 for (hwk = 0; hwk < hw->nfinger; hwk++) { 99 for (i = 0; i < hw->nfinger; i++) {
100 sk = hw2s[hwk]; 100 j = hw2s[i];
101 id = sk >= 0 ? sid[sk] : 0; 101 id = j >= 0 ? sid[j] : 0;
102 while (!id) 102 while (!id)
103 id = ++s->lastid; 103 id = ++s->lastid;
104 set_finger(&s->finger[hwk], &hw->finger[hwk], id, caps); 104 set_finger(&s->finger[i], &hw->finger[i], id, caps);
105 } 105 }
106 106
107 s->button = hw->button; 107 s->button = hw->button;