Don't remember the axis position before bindings are loaded
// Do nothing if the axis position
// is unchanged; only a change in
// position fires the bindings.
- if (fabs(axis_values[j] - a.last_value) > a.tolerance) {
+ // But only if there are bindings
+ if (fabs(axis_values[j] - a.last_value) > a.tolerance
+ && a.bindings[KEYMOD_NONE].size() > 0 ) {
a.last_value = axis_values[j];
for (unsigned int k = 0; k < a.bindings[KEYMOD_NONE].size(); k++)
a.bindings[KEYMOD_NONE][k]->fire(axis_values[j]);