So I have now almost finished the implementation of this feature and thus the list of all commands is complete. I also tried to assign reasonable default shortcuts - thanks a lot to @rapha and @EdizonTN for your suggestions I used for inspiration
Note that the usage of so many single-key shortcuts (e.g. ‘A’) makes it almost impossible to also use key sequences (like ‘A, R’) since their first key would conflict with the single-key shortcuts One option would be to use only very few keys as the first key of all the key sequences, and never use these keys as single-key shortcuts (i.e. keep them reserved). In the extreme case this would be only a single key (e.g. the space key) but of course in fact this would make all key sequences longer.
Here the list of all commands, and the status of each shortcut in the last column (? = not fully clear yet). Any comments welcome! I will keep the list up to date by editing this post until the shortcuts are officially implemented.
Just, I want to remind that in human machine interface, most done actions should have easiest ways to do it.
For example, when moving the mouse, the 4 corners of the screen is the 4 fastest points to reach. So you put main actions there.
For shortcuts, big touches are the best for HMI i.e. space, tab, enter and backspace.
It’s why I suggested above to use ‘space’ as rotate shortcut key as is might be the most done action.
Nevertheless I will be able to set it when keys will be configurable, but it will be better for everyone if it was the ‘official’ key.
I think increase/decrease grid interval should be single key hotkeys, but view grid properties could be a ctl modified key. Increase/decrease will get used many times as often.
Other grid related features I would find really useful that would also need hotkeys are:
crosshairs (on nearest grid line to mouse) with toggle on/off hotkey
nudge selected items one grid space - use arrow keys?
In general I think file management and preference type options don’t need single key hotkeys as they aren’t done so often or repeatedly, but adjusting items in the schematic and board editors do benefit from single key hotkeys.
to conserve keys some items with only a few options could be on a single hotkey that cycles through the options, eg wire mode, there are 4 options, one key that advances through them would do, as it is very quick to press the same key repeatedly.
Personally I don’t find the “Add standard component” features useful at all, I am always placing specific devices from the menu.
Could keys be conserved by making “increase/decrease size of selected item” a function? with one pair of keys that can then be applied to traces, vias, holes, circles etc depending on what is selected.
Generally I agree, but somehow I think ‘r’ for rotate is more intuitive and also consistent with ‘m’ for mirror and ‘f’ for flip. In addition, space might be a good first key if we decide to add key-sequence shortcuts, i.e. any sequence could start with space to avoid conflicts (but of course it makes the sequences longer, I’m not sure if that’s acceptable). Anyway, I’d like to keep space unused for now - we could still add it as a secondary shortcut for rotate some day later.
Technically this is already the case, but unfortunately this is not visible in the shortcut editor. For example the shortcut ‘n’ is used several different things, but each time in a different context: “Add Name” (library editor), “Add Net Label” (schematic editor) and “Draw Plane” (board editor). I’m not fully happy with it, but so far I don’t have a better idea.
Hmm I’m not sure about that…
Good idea, but the crosshairs feature would be a totally new feature, thus I won’t include it in this shortcuts feature yet.
Good point as well, I’ll check that
Hmm yeah sounds reasonable as well!
To be honest, I don’t like the current implementation as well, it is “too hardcoded”. I am thinking more about a more customizable way, or maybe even just a quick access to the recently placed components. Thus maybe it is good anyway to don’t assign keyboard shortcuts to these actions now as they might be removed anyway some day.
I also thought about that, but for example in the “draw trace” tool there are three different sizes configurable at the same time: trace width, via outer size, via drill diameter - thus for now I left these shortcuts separate.
Is there a feature of the grid that you would want to change more often than size? I can sort of understand needing to change between imperial and metric if you have a mix of components, but still not as often as size.
Yes it’s a new feature. Crosshairs should be a really easy feature to add though - as it is purely a visual aid it wouldn’t actually DO anything, so no complex interactions to deal with. So I am hoping it might happen soon. (Of course it would be nice to have the ability to change the colour and line style for the crosshairs, but I wouldn’t want to see that delay a basic implementation.)
I reworked some shortcuts and updated the list in the post above. I think it should be complete now - if there are no objections, I’ll merge the opened PR soon to add all these shortcuts.
I don’t understand how this question is related to whether grid increase/decrease should be a single key shortcut - maybe we are talking about different things. The grid unit has no shortcut at all, there are only shortcuts to increase/decrease the grid interval, and one shortcut to open the grid properties.
Possible single key shortcuts are more limted in number. So only the most used functions should be single key, and the less used functions should be modifier key shortcuts.
I was contending that change grid size would get used a lot so should be single key, wheras, if the change size shortcut exists then the grid properties dialog doen’t need to be opened very often so does not need to be single key. But it is listed as 3 key for change size and single key for the open dialog. So that’s the wrong way round for the way I would use it.
There’s quite a few other single key shortcuts there that I would rarely use and would be quite happy if they used modifier keys.
However I’m sure everyone uses the application differently - so it’s hard to tell what would suit the most people, which is why you are planning to add customisation - so in the long run i guess it doesn’t matter!
@parenthetical I see your point - IMHO the current grid increase/decrease shortcuts are easier to memorize since they are very similar to zoom in/out. I think I’ll leave it this way unless more users think it should be changed.
Anyway, I am now even implementing a keyboard shortcut reference PDF export to allow printing or viewing the configured shortcuts in a neat overview. Here’s the current state:
I’m a bit late (didn’t see this discussion before), but some thoughts:
The “Add Pin” functionality will probably be used more often than “Add Polygon”. So maybe the pin should be “P” and the polygon “Y”?
For adding components, maybe we should use prefixed sequences? For example “Q R” for resistor, “Q I” for inductor, “Q B” for bipolar capacitor, “Q U” for unipolar capacitor, “Q G” for GND and “Q V” for VCC?
I’m not sure how we should proceed with the shortcuts now. Maybe just collecting any further change requests here in this thread and then (if needed) make a PR before creating the next release…
As I wrote in a post above, I want to change the concept of the hardcoded components toolbar anyway and thus didn’t assign shortcuts for now. But if the new concept is not ready for the next release, maybe we should still add (temporary) shortcuts
Yeah, that makes sense. I’ll try to test the development version sometime to see whether the current shortcuts make sense. Other people are welcome to test as well!
Sorry, if possible, please add option to change mouse settings.
For example, when installing components into a sch, the right mouse button cancels the operation = ESC
You could remove the focus on the value input field after entering the value (value+enter). Putting the focus on the value input field could also be an option (when placing, after placing, off).
Hmm yeah that would be possible, but the “problem” is now much smaller anyway because in the latest release the focus is not moved to the input field anymore when adding components - one has to press tabulator to get the focus there, and can also be used to move focus back to the schematic.