archimatetool / archi

Archi: ArchiMate Modelling Tool
https://www.archimatetool.com
MIT License
946 stars 269 forks source link

feature request: move components with keyboard #737

Closed lvmm closed 3 years ago

lvmm commented 3 years ago

Please provide an option to move components using keyboard. Currently keyboard moves focus but given a typical somewhat irregular location of components, practical merits of this feature are limited and it is impossible to get out of nesting with keyboard at all, so I never use it. On the other hand, I find precise component positioning using a mouse or, worse still, touchpad or trackpoint, somewhat tricky even with visual aids and snap enabled, and feel the need for precise keyboard positioning many times a day.

Phillipus commented 3 years ago

The GEF (Graphical Eclipse Framework) provides the ability to use a keyboard to move and resize components using a keyboard. See the User Guide, page 19:

Using the Keyboard Instead of the Mouse in a View

It is possible to move and resize selected objects in a View by using the computer keyboard instead of a mouse. To move an object, press the period key (".") once to reveal the MOVE cursor. Then use the Arrow keys, followed by the ENTER key to commit the move. To resize the object, press the period key (".") until the RESIZE cursor appears at the desired resize handle. Press the ENTER key to commit the resize.

[1] https://www.archimatetool.com/downloads/Archi%20User%20Guide.pdf

lvmm commented 3 years ago

Missed that - sorry. But when snap is on it requires multiple and unpredictable number of keystrokes e.g. with grid size set to 6 I select a component, press "." and start pressing up arrow: component first moves after 4 keystrokes, then after 5, then after 7 and continues to follow 5-7-5-7 pattern. Weird and difficult to judge. I'd prefer one keystroke to move one grid step when snap mode is on and one pixel when it is off. Or is it an Eclipse feature?

Phillipus commented 3 years ago

This is part of the Eclipse GEF, so not something I can change. If you use the Modelio tool [1], it has the same behaviour. To implement a different approach would not be easy and would require a deep understanding of GEF and ways to hack it. Perhaps we can tag this as "helpwanted" in case someone cares to look at it.

[1] https://www.modelio.org/downloads/download-modelio.html

Phillipus commented 3 years ago

I'll close this as it's not something I can change. If anyone cares to look deeper into GEF please feel free to do so.