On 2013-11-07 01:11, Kevin Zheng wrote: > On 11/03/2013 11:15, Arvid Brodin wrote: >> Anyway, this needs to be expressed with two keybindings in my code: one with >> no >> modifiers (called "None" in the keybindings dialog), and one with the "Run" >> modifier. My code ignores the 'N' here since it means "no flags" and only >> looks >> at the 'R' - which of course breaks things. I will figure out a solution. > > I'll try to break them down into two bindings for each command. But this > seems cumbersome and bloated, and deserves to be fixed.
I've been thinking about this a bit. Hitherto, we've presented all keys equally to the user (direction keys look no different than other keys in the interface). But we've treated them differently internally, using the run and fire "hacks" - so even though they appear no different than other keys to the user, they actually work differently in combination with the modifier keys. This has also caused the "Run" and "Fire" modifiers to be mixed in with the Ctrl and Shift modifiers for other keys. Confusing is the word, I think. My patches aim to treat all keys in the same way internally - no "hacks". This also means the user does not get the benefits of the "special internal tratment" that was given before. Cumbersome seems like a fitting description. Perhaps what we should do is the exact opposite of what's been done before: give the direction keys special treatment in the _interface_, but not in the code. That could mean adding a new part to the Keybindings dialog, where you bind the keys for "North", "South", etc, and also select the modifier keys to use for Run and Fire. Internally, the three needed bindings per key could then be created automatically. Of course, we would have to agree about the default set of direction keys... ;) -- Arvid _______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

