[crossfire] [PATCH 1/2] Keybindings: multiple changes

Arvid Brodin arvidb at kth.se
Thu Nov 14 18:03:44 CST 2013


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


More information about the crossfire mailing list