<div dir="ltr"><div class="gmail_quote"><div dir="ltr">This fixes the keybinding window setting behavior to prevent the capture of a completely invalid setting, Bug 5888<div><br></div><div>E.g.  Alt(down) M(down) Alt(up) M(up) == Alt+Alt_L (Which is completely impossible to trigger).</div>


<div><br></div><div>The new behavior is simpler explain:</div><div>1)  On any keyup event, if a non-modifier key was down pressed since the last-key up event, use that key and all currently pressed modifier keys as the captured binding.</div>


<div><br></div><div>To be honest this is still slightly less than ideal (and also different from other keybinding captures I've seen) in that it does not handle keyboard auto-repeat gracefully. However this seems a matter of design of the Keybindings window and would require GUI change. Every other keycapture I've seen uses some explicit event to trigger capture (e.g. mouse click or double click), while Ardour just uses keypress. The keypress however is emulated by the window manager during autorepeat. The result is that performing the following Alt(down) M(down) Alt(up) [Wait 1 second] M(up) will result in the binding first being set to Alt-M, but during the wait the autorepeat will Trigger M again changing the setting to M. I think this code change (or similar) should be accepted now with the possible debate opened for a more complex change to ignore keyboard autorepeat if warranted.</div>


<div><br></div><div>Patch 0002 is to enable the clear button when a new keybinding is set (different unreported bug).</div><div><br></div><div><br></div></div>
</div><br></div>