[MERGED] Some shortcuts should be verified

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
LarryWoestman
Posts: 98
Joined: Fri Oct 09, 2020 4:56 pm
Location: Oregon, USA

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by LarryWoestman »

Just because no one has mentioned it yet, there are "|" and "_" symbols on at least the English/American keyboard layout that might be able to be used for one of the vertical and horizontal constraint sets.
chrisb
Veteran
Posts: 53922
Joined: Tue Mar 17, 2015 9:14 am

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by chrisb »

LarryWoestman wrote: Thu Oct 14, 2021 11:53 pm Just because no one has mentioned it yet, there are "|" and "_" symbols on at least the English/American keyboard layout that might be able to be used for one of the vertical and horizontal constraint sets.
Good idea, but inconvenient on german keyboards, because it needs both hands to reach the modifier and the key.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
LarryWoestman
Posts: 98
Joined: Fri Oct 09, 2020 4:56 pm
Location: Oregon, USA

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by LarryWoestman »

Those are shifted symbols on the English/American keyboard layout, so also need two fingers/hands to use there as well.
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by abdullah »

chrisb wrote: Thu Oct 14, 2021 8:14 pm At the cost of presumed maximum convenience, I would go for a clear concept (which is convenient itself, because things can be easier remembered). Thus I would not use the R key as a single stroke key if all other dimensions use a prefix. It can well have the R as an additional key though.
M4x wrote: Thu Oct 14, 2021 8:55 pm For vertical, I could imagine "I" (from the look of it). Horizontal could go with "L".
chrisb wrote: Thu Oct 14, 2021 9:58 pm I understand that you want maximum speed/convenience, that's what shortcuts are made for. Thus I would go for a clear concept as the default, and modify to meet personal preferences by configuring individual shortcuts for the most frequently used.
I agree that single strokes without mnemonic are not practical because they are not remembered and there is no maximum speed/convenience anymore as they are not used.

One powerful way of enforcing a mnemonic is by grouping. If we remember that all constraints start with "k", then one does not need to think about the first stroke within a two stroke combination.

However, we have broken this, as we want to allow single stroke constraints based on usability frequency.

We could think our grouping is "geometric" (no first stroke) and "datum", but Block constraint is technically geometric and not a "single stroke" as it is seldom used.

From one point of view, we should not allow more exceptions to keep our "one exception" grouping mnemonic. Why turn it into a 3 or 4 exceptions one?

From another point of view, we could pretend that our main mnemonic for constraints does not have a special subgrouping. But is merely based on usage frequency. This could work if the keys assigned as single stroke are good mnemonics. Once you are explained "I" and "L", they are not first class mnemonics, but they are not bad ones either. Because the high frequency of usage (I have no doubts about this, for the average user are the most used datums, or the user is abusing the non-directional distance), they should go inside one's head really fast.

Here, I think, we need to make a decision to continue.

Another possible discussion, different because we accepted an exception for constraints that we haven't for geometry or tools,

We have as fillet "G, F, F" and "G, F, P". However, "F, F" and "F, P" are not taken. On one side, grouping the whole toolbar with "G" is a extremely good mnemonic. On the other, two stroke is more convenient than three. Yet, the Fillet is not the most used tool. Here, I would tend to keep the "G", as a tradeoff mnemonic/convenience/usage frequency.

We have to work out where our sweet point for this kind of tradeoff is.

Unrelated, I am adding "Z, Z" for "switch virtual space". In "normal mode" (All constraints visible), this "two stroke" hides/shows all constraints. In any other mode (some constraints hidden), it alternates between the two mutually exclusive groups of constraints (the originally hidden and the originally shown ones). I believe this to be rather useful. I failed to see it in the first round.
leoheck wrote: Thu Oct 14, 2021 10:19 pm abdullah, I am seeing great work here, thank you for being the brave man.
I feel sad I missed previous efforts. There was a lot of time invested that just needed some push. This time it will work :)
leoheck wrote: Thu Oct 14, 2021 10:19 pm I think it would be easy to export a log file, that saves all the constraints used when using Freecad. So, at the end of the day would be possible to check the frequency of the constraints being used.
This is possible. But I think it is unnecessary, because we (and the power users even more) know what the average user uses most. In my view, the discussion is not so much about the frequency of usage (they agree), but on where exactly that sweet spot in the tradeoff mnemonic/convenience/usage frequency lies, so that the shortcut is not only convenient, but effective.
LarryWoestman wrote: Thu Oct 14, 2021 11:53 pm Just because no one has mentioned it yet, there are "|" and "_" symbols on at least the English/American keyboard layout that might be able to be used for one of the vertical and horizontal constraint sets.
IMO, this is a great example of perfect mnemonics, high frequency usage, inconvenient combination. In some keyboards it is a SHIFT combinations, in others an ALT GR combination,...
User avatar
Shalmeneser
Veteran
Posts: 9474
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by Shalmeneser »

IMHO, we also need a NULL key ('space bar' ?) when you mistype the first key or you want to abort the key typing.
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by openBrain »

Shalmeneser wrote: Fri Oct 15, 2021 10:27 am IMHO, we also need a NULL key ('space bar' ?) when you mistype the first key or you want to abort the key typing.
AFAIK there is no such mechanism available in Qt.
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by abdullah »

Shalmeneser wrote: Fri Oct 15, 2021 10:27 am IMHO, we also need a NULL key ('space bar' ?) when you mistype the first key or you want to abort the key typing.
Implemented without need to code it. ;)

When you make a mistake, press 'space bar' or any other non shortcut key. No match will be found. Then you can start the shortcut over again.
User avatar
Shalmeneser
Veteran
Posts: 9474
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by Shalmeneser »

OK, using "space bar" stop keying.
chrisb
Veteran
Posts: 53922
Joined: Tue Mar 17, 2015 9:14 am

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by chrisb »

The natural escape key is, well, the escape key :) and it works well. But beware of pressing it too often.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: [IN DEVELOPMENT] Some shortcuts should be verified

Post by abdullah »

chrisb wrote: Fri Oct 15, 2021 1:16 pm The natural escape key is, well, the escape key :) and it works well. But beware of pressing it too often.
Indeed. That is why I do not use it :lol:
Post Reply