From: Dan P. <ba...@al...> - 2006-09-17 19:17:40
|
There's some seriously funky stuff going on with the key mappings on the DC. I'm thinking maybe we need to figure a better way to handle compatibility stuff. The GOAT Games menu has a "Press Start" screen which, when you press a key, goes on to the main part of the menu. It then waits for you to hit KeySelect on a game to start it. This is all fine, except that what happens is Tiki interprets Start as both BtnStart and key '\r' (and sends both events). I'm not 100% sure of the chain of events, but my menu ends up eating the first, then genmenu eats the second and creates a synthetic KeySelect event (since the user "hit enter"). My menu then eats this event and takes it as a selection of a game. I guess at the very least we probably need to have some sort of configurable "legacy" mappings for stuff like this. Like where you can enable/configure that hitting BtnStart generates a second key '\r' event. Another thing we could do is put a 'synthetic' bit in the Event struct that specifies that it was generated from an earlier event. Perhaps assign each event an incrementing integer ID so that you can see that multiple events are really the same event. Yet another possibility would be to put an "alternatives" array in the Event struct so that all these alternative interpretations can be included with the Event, and the consumer can choose which one they want to use. You guys have any ideas? If nothing else I don't think hitting start should end up being interpreted as KeySelect ;) |