> I think the best solution in this case is to introduce a special event type > called "Invoke Event", usable only in modal keymaps. Invoke Event would be > the event type that resulted in the operator's invocation (it would be stored > in the Operator instance. > > With this, modal keymaps would directly adjust themselves when operators are > remapped or if they are mapped to different events at the same time.
That sounds great! I spent friday night getting the key maps working the way I want (basically mimicking 2.49 for the most part, but with emulate 3 buttons on). I had to hack apart the keymaps and add all kinds of confirm events to key and click releases to get it working. I also had to remove the "switch to rotate / switch to zoom" events (which I believe are a major part of the problems I was experiencing). Sculpt is still broken, but intermittently so; I need more time to sort that out. I think the reason this hits me most is because I use emulate 3 button. This Invoke event-- could you talk about it a bit more? I envisioned having three key mappings at the top of the list that could be mapped to a combination of mouse and keyboard buttons. Then, when building keymaps you can choose this special class instead of mouse / keyboard for input. This way, turning on Emulate 3 Button won't require immediate change on the rest of the keymaps-- they'd share the same trigger. Also, changing the combination for Pan would change that combination in 2D image viewports as well. The other idea I had was that the viewport manipulation operators triggerings could be checked as "toggle"-- on press it fires and on release it stops, similar to how the grease pencil only works if you hold down the D key to draw. ~ C _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers