Input processing currently just happens wherever. A system of registering a set of callbacks based on a given condition or key would improve this and easily allow for rebinding.
One approach would be the definition of meta keys (i.e. "up", "left", etc) which can be subscribed to by both UI and in game, such that the same binding applies in multiple places under an intuitive grouping. "Up" would correspond to navigating upward in UI as well as in game, for example.
Input processing currently just happens wherever. A system of registering a set of callbacks based on a given condition or key would improve this and easily allow for rebinding.
One approach would be the definition of meta keys (i.e. "up", "left", etc) which can be subscribed to by both UI and in game, such that the same binding applies in multiple places under an intuitive grouping. "Up" would correspond to navigating upward in UI as well as in game, for example.