Fixed duplicate events bug when binding controller inputs.

Duplicate events can be dispatched if the user is running apps that emulate keyboard events (such as TextExpander), which can cause problems when the user tries to change their controller mappings. This commit fixes that by ignoring equivalent keyboard events.