Giter Site home page Giter Site logo

Comments (8)

anthonydugois avatar anthonydugois commented on June 20, 2024

Hum yeah, unfortunately I can't test shortcuts on mac. I noticed problems on windows too with the preventing system. I think I will avoid completely the use of Ctrl or CMD keys, but I don't know what shortcuts would be relevant.

Do you have any suggestion?

from polynom.

oslego avatar oslego commented on June 20, 2024

Use for Ctrl for shortcuts on Mac is relatively safe. It doesn't clash with system-wide shortcuts like Cmd does.

For example:
Cmd + Q = quit browser
Cmd + P = print page
Cmd + R = reload page
Cmd + T = new tab

I have seen other web apps do OS detection and alternate between Ctrl and Cmd for Mac/Linux and Windows, respectively. Of course, this needs to be tested.

from polynom.

oslego avatar oslego commented on June 20, 2024

The option (alt) key may be a viable middle-ground to suit all systems.

from polynom.

iclanzan avatar iclanzan commented on June 20, 2024

Why not use letters without any modifier keys? That is the simplest solution to implement and doesnโ€™t require different configuration for Windows/Mac. Also, apps like Gmail and Github use just letters for most shortcuts.

from polynom.

anthonydugois avatar anthonydugois commented on June 20, 2024

Well, I think the letters without modifier keys is the most appropriate solution and would fit to any platform. How about this :

  • A + Click = add a point
  • D = delete active point
  • P = add a path
  • R = remove active path
  • N = select next point on active path

Feel free to propose other shortcuts if you have any idea.

from polynom.

oslego avatar oslego commented on June 20, 2024

Maybe have a look at popular vector editing tools to see how they handle this. Keep in mind the user's flow.

Without deep experience in design tools, here's what feels in flow to me:

Points
Select point: click it
Add point: click anywhere on canvas, but not on existing points
Remove selected point: backspace / delete key
Move point (fine-grained adjustments): arrow keys
Select prev / next point: Shift + arrow keys (left / right)

Paths
Select path: click on edges of path, not points
Remove selected path: backspace / delete key
Add new path: use sidebar UI (is there a need for a keyboard shortcut?)
Add intermediary point on an edge: Alt / Shift + click

Again, these are just suggestions. But I recommend trying to follow conventions of existing tools to make it easier for people to adapt.

from polynom.

anthonydugois avatar anthonydugois commented on June 20, 2024

It's impossible to select a path without select its points, so I can't use the same shortcut to delete a path and a point. But your suggestions are great, I will take a look on the behavior of tools in Adobe Illustrator or Inkscape. Thank you for your help.

from polynom.

oslego avatar oslego commented on June 20, 2024

Why would that be impossible? It looks like right now, clicking on a path does select it and, in addition, it also selects the nearest point on that path.

Perhaps this heuristic works: if the click wasn't directly on a point, just the path is selected. There's a valuable use case for this too: the ability to move/drag the whole path to reposition it.

I'm only trying to provide feedback on usability. You are, of course, free to accept or reject these suggestions.

from polynom.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.