It looks like you're new here. If you want to get involved, click one of these buttons!
Hello,
I'm using several handles for PCells and it's getting a bit bothersome to keep doing a second click to apply transformations.
I understand the philosophy behind why to do it this way (I read it somewhere in the docs a while ago), like being useful to move things around and allow for comfortable pan/zoom.
I saw others asking for the same, so I'd like to propose 2 different solutions which I think either would make everyone happy:
click: down → up, behave like currentlyclick: down → drag → up, apply the transformation right awayI think 2nd option would be best for seamless workflow and user practicality. I doubt any user is doing click: down → drag → up → down → up without the intention of applying the transformation on the first up.
A drag threshold or click timer may be added to not consider drag a very small movement of mice and/or "user intention" when clicking fast.
Thanks!
Gerard
Comments
No no no ...
It's too easy to introduce a tiny move when you just click. It may be a single pixel. It's essentially impossible to decide if you wanted to click or move. So a single click can be mistaken as a small move and unless you're not super careful you may have shifted a chunk of your chip by a few nanometers. Good luck fixing that if you find out later. I've seen that all.
If you introduce a minimum travel distance or minimum click time as a countermeasure ... well there is always the slow user with some beloved, old and jittery mouse, a badly scratched pad or shaking hands and there is the other user with the ultra resolution monitor, the atomic precision mouse and the hand-eye coordination of a fighter jet pilot ... distances and delays are personal parameters like the preference for a certain wine. You can't get it right.
Plus, as you noticed, pan and zoom will be very difficult to use while you keep your finger on the left mouse button.
Not a good idea. I speak from experience.
Instead there is "Move Interactive". This is a function that cannot be put into the menu, hence it's only available as a key binding target. You find them at the end of the key binding options:
You may like "Move Interactive", but you should also check "Duplicate Interactive" or "Paste Interactive". These functions enable "Cadence style" features. I bound "Move Interactive" to "M". That means, pressing "M" will start the move. KLayout will either use the selected objects or the highlighted one, if there is no selection. You place the object by left-clicking. So it's more or less what you ask for, but the "press" event is replaced by pressing the "M" key. This feels very intuitive and if you're a Cadence user, this pattern got etched into your brain anyway.
"Duplicate Interactive" copies the highlighted object and starts moving immediately. I bound it to "C" for Cadence feeling. "Paste Interactive" finally pastes the copied objects like "Ctrl+V", but immediately starts moving, so you can drop the object(s) on the right place.
Matthias
Hi Matthias,
Thank you for the thorough explanation. I was guessing something like this would be the case, being the software as wonderfully curated as it is.
"Move Interactive" does ease the workflow, although it's not perfect. You can use "Move" on objects without waiting for the object under the cursor to be highlighted. Not the case with "Move Interactive", but it already feels more seamless and "right" than before.
I'm tempted to ask for "M" to behave like "Move" over objects, or allow to tweak the highlighting delay to less or even instant (making a more marked highlight by default to compensate, or leave it to the user to set up), but I'm sure I'd land in another pitfall haha.
Bests,
Gerard
Another thing (besides my general
loathing of "strokes" on touchpad
machines) - contracted to a client
whose IT enforces short "go to sleep"
cycles, I use one of those "mouse
jigglers" to keep the session from
resetting while I think. Those constant
1-pixel bumps are a minor nuisance
if zoomed in but can bother fine moves
(or require an additional "finishing rinse").
What I don't need, is some third party
deciding accident or misinterpretation
equals absolutely, intention. So STFU
and go to your room (as it were).
If you do support "strokes" or "gestures"
beyond "X marks the spot" here and now,
please make sure you can turn it entirely
off. Mouse is one thing and one thing
only. Cursor position.
Hi @dick_freebird,
Thank you for speaking your mind and I understand your reasoning, although we can agree that the "PC don't go to sleep please" example is far from the best I could think of. Changing key behaviours is a very big deal in any software, so I agree now on leaving default "Move" as is.
For reference, Tanner's L-Edit allows instant displacements using
Alt + left_click → drag → release(unused in KLayout) ormiddle_click → drag → release(used for panning in KLayout).Allowing the user to
change highlighting delayof objects would also help with the "Move Interactive" solution provided before.KLayout is fine without this behaviour, but it does exist elsewhere, hence not inconceivable.
If after all this is still a no-no, I will insist no more haha.
Best regards,
Gerard