for (unsigned int i = 0; i < bindings.size(); i++)
bindings[i]->fire();
b.last_state = 0;
+ } else {
+ if (k >= 1 && k <= 26) {
+ if (_key_bindings[k + '@'].last_state)
+ doKey(k + '@', KEYMOD_RELEASED, x, y);
+ if (_key_bindings[k + '`'].last_state)
+ doKey(k + '`', KEYMOD_RELEASED, x, y);
+ } else if (k >= 'A' && k <= 'Z') {
+ if (_key_bindings[k - '@'].last_state)
+ doKey(k - '@', KEYMOD_RELEASED, x, y);
+ if (_key_bindings[tolower(k)].last_state)
+ doKey(tolower(k), KEYMOD_RELEASED, x, y);
+ } else if (k >= 'a' && k <= 'z') {
+ if (_key_bindings[k - '`'].last_state)
+ doKey(k - '`', KEYMOD_RELEASED, x, y);
+ if (_key_bindings[toupper(k)].last_state)
+ doKey(toupper(k), KEYMOD_RELEASED, x, y);
+ }
}
}
}
FGInput::button::button ()
: is_repeatable(false),
- last_state(-1)
+ last_state(0)
{
}