Combinig translate/rotate/scale tools?

I think the translate, smooth translate, rotate and scale tools all can be combined into one tool for easier and faster workflow.

Combining the tools should lower the amounts of clicks or keypressings in using Synfig thus making it faster and more fluid to work with.
The NormalTool is by far the most common tool you use in Synfig.
As it is now it takes two klicks to rotate or scale in the most common scenario, from Normal and back; click to switch to rotate tool, rotate and then click to switch back to Normal Tool. Having rotate on ctrl would lower the necessary clicks to one. Press ctrl, rotate and release key.

Have Normal Tool state as it works now, press ctrl for rotate tool, alt (and AltGr) for scale tool and ctrl+alt for smooth translate. Shift is left for constraining movement as now.

On a side note the rotate tool already also scales.

It is a good idea. Please check whether it is in the wish list or in the feature request tracker and modify them accordingly.
It would be good too, that a two entries chart where provide to verify that any situation is covered by keyboard combinations.

ALT CTRL SHIFT Translate......................+/-......+/-.......+/- Restricted X or Y............+/-......+/-.......+/- Rotate.........................+/-......+/-.......+/- By fixed angle steps.........+/-......+/-.......+/- Scale..........................+/-......+/-.......+/- Keep aspect ratio............+/-......+/-.......+/- Smooth Move....................+/-......+/-.......+/-

I don’t like the ALTGraph keyboard if it is not strictly needed. It is quite far away from the other ALT. I think that with three keys it is covered eight situations (222=8)

I will make a feature request later.

The reason I’d like AltGr work the same way as Alt is for all us left handed people where using the alt key otherwise would mean a very awkward work position, using our right hands for the keyboard.

OK, I understand. :slight_smile:

I like the idea, it should improve the workflow. But that’s not intuitive for new users - probably need some tips in status panel (like in GIMP).

I think a good way would be to have control handles (I think that’s what they’re called) Like in inkscape. That’s pretty intuitive
Maybe a bit ambitious… Is it possible to copy their code perhaps?

Yes, change the control handles when the user press a certain keyboard modifiers would be a good option. But that’s a mayor change… :mrgreen:

Yeh, something like that, though what I’m getting at is avoiding keyboard modifiers - remembering various ctrl/alt/shift combinations can get tedious if you’re new to a program, or switching between them a lot
anyways, it’s something to wish for :slight_smile:

It’s impossible to use smooth move with control handles…

Control handles is a great idea and I don’t see any conflict between handles and modifier keys. We could have both in the same tool which would make it even more versatile.

I’m working on implementing this feature right now.

What does everyone else think in terms of proper keyboard shortcuts?

Since rotate tool can also scale, I would propose the following instead:
[plain]: Translate
Ctrl: Rotate without scale
Alt: Scale, preserving proportions
Ctrl+Alt: Rotate and scale
Alt+Shift: Scale, don’t constrain
Shift: Smooth move

It seems slightly more logical to me. But then again, this means that an extra key is needed to unconstrain the movement (which is opposite of typical user interfaces)

And also, should the mirror tool be included here as well? (Personally, I don’t see how it would fit to make sensible key combinations)

The shift key is already bound to limiting the movement of ducks to horizontal/vertical only. As a result, it can’t be used here. Any ideas as to what should be done?

My only disagreement with rylleman’s original proposal is that it keeps checkbox-options in the menu, which would ideally be keyboard-controlled as well.

P.S. Besides the Shift key problem my hacked all-in-one tool is working properly

My proposal is:
Plain: Translate
Plain+SHIFT: Translate restricting to vertical or horizontal
CTRL: Rotate
CTRL + SHIFT: Rotate predefined angles
ALT: Scale
ALT+SHIFT: Scale keeping aspect ratio
CTRL+ALT: Rotate and Scale
CTRL+ALT+SHIFT: Rotate + Scale keeping proportions


and Smooth move apart, as well as mirror.


I’ll try implement this proposal, as best I can, in the near future. First, however, I need some feedback from the users. Everyone who reads this, please reply so that I can make the UI a better experience.

a) What should the keybindings be? (I’m currently using genete’s proposal)

b) Should the smooth move tool be incorporated into the all-in-one Transform tool

c) Does the tool need to have checkboxes in the options dialog, or are simple key assignments fine?
I ask this because the normal tool, the one that is active by default when Synfig Studio opens a new document, is not allowed to have tool options. Thus, if options are necessary, the drag-only normal tool will have to remain in Synfig in addition to a Transform tool until a number of hardwiring issues are resolved.

d) Would it be helpful to have the transform drags/ keyboard shortcuts enabled in the shape creation tools (polygon, bline, etc)?

e) Should I modify the mirror tool so that that the vertical/horizontal checkboxes be replaced by a snapping mechanism? Alternatively, should I assign a key (ctrl/shift/alt) to switching horizontal/vertical mirroring?

I would greatly appreciate any responses, however short.

b) yes if possible, but, which could be its key binding?
c) I prefer to replace normal tool and do not have key binding check boxes.
d) no
e) Yes and the key modifiers too. Remove mirror tool options also.


Oh… I forgot to mention: since normal tool cannot have options, incorporating transform into normal means that smoothmove has to be left out.

I’m quite happy that you are working on this! It will hopefully ease usage of Synfig.

For Shortcuts I’m voting for the ones proposed by Genete.

If not possible to incorporate smooth move tool that’s alright. With this system basic manipulation is handled by one tool. Smooth move is a little bit different and not as straightforward in function as the basics so it’s alright to have a separate tool for that.

For being able to use the different modes only by keyboard modifiers I think this is not so good.
People will be confused and not find how to manipulate their objects. I think there should be tickboxes where you can set the tool in different modes. It will probably be just for newcomers but for those I think it will be a help.

Yes, good idea, glad to see you’re working on this. I think Genete’s proposed bindings seem sensible.
Having keyboard constraints in the shape creation tools sounds like an interesting idea (though I’m not sure that I’d ever use them!)
My only concern is that the gui needs to remain intuitive - I agree with Rylleman… I’m thinking of new users who’ve just fired up the program, as well as people who switch between programs a lot and can never remember the keyboard shortcuts. So my question… Are the the rotate and scale (and smooth move) tools going to remain in the toolbox alongside the new all-in-one transform tool? Or is there some way to make the keybindings evident without having to look them up in the manual?

Another thought, I can see this as a first step towards having control handles (which was talked about a few posts up)

Current master branch has incorporated the new Transform Tool code by nikitakit.
Although it is a development version I encourage people that knows how to build Synfig Studio to try to use that version in production. Ubuntu 9.10 users can follow the tutorial I wrote to build and locally install Synfig using the master branch in git repository Read it here.
We need some feedback to find any possible bug or improvement. Thanks!


Hi all!

What a great improvement on the “Normal tool”, I love it, it makes it more intiutive to work with :smiley: However the short cut for “scale” does not work on my mac build (alt-button), is it a bug or do I have to use some other key instead of alt since I’m on a mac?

regards / Ulrik