I'm adding gamepad support to my app and I'd like to make sure I'm not misusing either of those for determining whether a key has been pressed. What is the purpose of either GamepadButtonFlags and GamepadKeyCode? Are there any guidelines for which should be used in certain cases, or are they completely interchangeable?