Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to move entities with keyboard #260

Open
Helios747 opened this issue May 24, 2017 · 12 comments
Open

Ability to move entities with keyboard #260

Helios747 opened this issue May 24, 2017 · 12 comments

Comments

@Helios747
Copy link

Helios747 commented May 24, 2017

So a lot of my workflows across my system for various reasons are very keyboard centric. What I would find nice to have is the ability to move selected entities via the keyboard arrows or through some shortcuts. If it's a single object, move that, if it's a group selection, move them all.

When I had the grid enabled in 2d, my intuition told me that I could use arrow keys and some sort of key modifier to move what I had selected and it would move by points on the grid. I understand that this is kind of hard (impossible?) to implement in 3d though.

@whitequark
Copy link
Contributor

@jwesthues So this is an accessibility issue. SolveSpace is already much more accessible than direct CADs (or so I'm told), so I'd quite like to make it even better. Any opinion on the modifier? Ctrl+arrows, then jump using the current grid step?

@jwesthues
Copy link
Member

Nudge with the arrow keys is pretty common, makes sense.

Do you need a modifier? The arrow keys alone don't do anything yet, and that's how Office etc. work.

And maybe nudge by a grid step if the grid is shown, otherwise by a constant distance in screen pixels? That would avoid surprising users who haven't set up a grid (which is probably a lot of them, since the workflow isn't generally too grid-centric).

@Evil-Spirit
Copy link
Collaborator

@jwesthues
I think by default arrows must control camera/view. This is needed when you are controlling without mouse (I don't like touch pad so much)

@jwesthues
Copy link
Member

Are there other applications where arrow keys alone pan/rotate the view, and modifier+arrow moves entities? The reverse would have seemed more intuitive to me, but I can't immediately think of examples of either.

@whitequark
Copy link
Contributor

Are there other applications where arrow keys alone pan/rotate the view, and modifier+arrow moves entities?

Photoshop moves selection with plain arrows, Inkscape moves the canvas. I don't see either choice as more intuitive, personally, and in either case it seems trivial to adjust to it. We already have a highly nonstandard mouse controls for camera and it's not like many people complain.

@Helios747 any opinion here?

@whitequark whitequark added this to the 3.0 milestone May 24, 2017
@Helios747
Copy link
Author

I think with no modifier, moving the camera is fine.

@ghost
Copy link

ghost commented Jul 12, 2017

Are there other applications where arrow keys alone pan/rotate the view, and modifier+arrow moves entities? The reverse would have seemed more intuitive to me, but I can't immediately think of examples of either.

Blender?!
Infographic poster for Blender

Maybe, better way is add "Keyboard settings" for SolveSpace, where user will map keys as want?
Blender - Input keymap

@whitequark whitequark changed the title [Feature request] Ability to move entities with keyboard Ability to move entities with keyboard Jul 12, 2017
@whitequark whitequark added UI and removed UI labels Jul 12, 2018
@marthinwurer
Copy link

Ability to edit shortcuts would be really nice. It would be nice to have a menu like JetBrain's IDEs, with the ability to select default key maps for other software as well. Those can probably be imported and exported and croudsourced, with the most-used defaults included in master.

@whitequark
Copy link
Contributor

@marthinwurer A very substantial amount of work is required before that's feasible.

@marthinwurer
Copy link

@whitequark Yeah, I realize that. I've been working my way through the codebase. It doesn't hurt to dream big, though :)

@baryluk
Copy link

baryluk commented Jan 16, 2020

I do have an issue of moving some entities, especially line segment and linear dimension that are overlapping. I am able to select the dimension, but then if I try to drag it nothing happens. Having ability to 1) disambiguate selection, 2) move selected entity (point, circle, line segment, true type text, multiple selected entities as a group) by keyboard, would be somehow nice in screen space x-y coordinates.

@Evil-Spirit
Copy link
Collaborator

I do have an issue of moving some entities, especially line segment and linear dimension that are overlapping.

SolveSpace should use the two approaches (my therminology):

  1. Selection based on Voroni - just pick the entitiy with the minimum distance from mouse pointer.
  2. Select-by-order - if nearest entity already selected, pick the next nearest one.

Probably, selection by order you can find inside my branches. And all this you can test at http://notecad.xyz

@whitequark whitequark removed this from the 3.0 milestone Jun 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants