--- a/src/evdev.c +++ b/src/evdev.c @@ -434,8 +434,11 @@ for (i = 0; i < REL_CNT; i++) { int map = pEvdev->axis_map[i]; - if (pEvdev->delta[i] && map != -1) + if (pEvdev->delta[i] && map != -1) { valuator_mask_set(pEvdev->vals, map, pEvdev->delta[i]); + } else { + valuator_mask_unset(map, i); + } } } /*