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

New default shortcuts (table) #1488

Closed
6 tasks
Sti2nd opened this issue Dec 23, 2014 · 75 comments
Closed
6 tasks

New default shortcuts (table) #1488

Sti2nd opened this issue Dec 23, 2014 · 75 comments

Comments

@Sti2nd
Copy link
Contributor

Sti2nd commented Dec 23, 2014

Phase 4; Revision 1 in progress

Goals:

  1. Same key for same action across different Editors, and parts of the program.
  2. Easy to remember and fast/easy to press.
  3. Future compatible! Should allow new futures added into LMMS. For example Navigating and inserting notes in piano roll using keyboard only #1421 This can be hard to predict, therefore low importance.

Tables based on the existing http://lmms.io/wiki/index.php?title=1.0:Key_Mappings
SE = Song Editor, PR = Piano Roll, AE = Automation Editor

Piano Roll

Existing shortcut key Action Attention because New shortcut key
Ctrl + C Copy selected notes Same
Ctrl + V Paste copied notes Same
Ctrl + X Cut selected notes Same
Ctrl + A Select all notes Same
Ctrl + Shift + A Deselect all notes Implemented
Esc Deselect all notes Implemented
Copy selected notes and paste them at the end of the last note in the Piano Roll Awesome Ctrl + D
Deselect everything Useful Ctrl + Shift + A
Sustain pedal #1632 Shift
Shift-D Select draw tool Same
Shift-E Select erase tool Same
Shift-S Select selector tool Same
Shift-T Select detuning tool Same
Select razor tool / Split selected notes. Also in PR #746 Shift + R (reserved)
Select glue tool / Merge selected notes. Also in PR #746 Shift + G (reserved)
Ctrl Temporarily use the select tool. Temporarily select mode. Inconsistent with SE Same
Shift + click when in select mode Add to selection and deselect selected Inconsistent with SE Same
Ctrl + Shift + click Temporarily add to selection Inconsistent with SE Same
Delete Delete selected notes Same
Right click Delete note Inconsistent with SE's delete segment Middle mouse & Shift + Right click
Show context menu for note Right click (reserved)
Left click Place note Same
Left click on empty area + Shift Fast resize Same
Left click on empty area + Shift + Alt Fast resize without quantization Same
Alt Temporarily disable quantization Inconsistent with SE's fine adjust and fine move Same
Duplicate and move selection with arrow keys #625 Useful Ctrl (+ something) + Arrow keys
Shift + Drag (selection) Duplicate selection and move those notes Inconsistent with SE's clone selection Same
Shift + Drag on right edge of note in selection Reduce size and move selected notes correspondingly Same
Shift + Ctrl + Drag on right edge of note in selection Reduce size and move selected notes and all notes to the right of selection. Same
Arrow Keys Scroll Inconsistent with SE Same
Ctrl + Up Move selected notes up one octave Same
Ctrl + Down Move selected notes down one octave Same
Ctrl + Left Move selected notes one bar left Same
Ctrl + Right Move selected notes one bar right Same
Shift + Left Move selected notes one quantization value left Same
Shift + Right Move selected notes one quantization value right Same
Shift + Up Move selected notes one semitone up Same
Shift + Down Move selected notes one semitone down Same
Num Pad Change note length Same
Insert bar immediately after play head position Consistency, see SE Shift + Insert (reserved)
Delete bar immediately after play head position Consistency, see SE Shift + Delete (reserved)
Ctrl + Mouse scroll wheel OR touch pad gesture Zoom Same
Opens next pattern (in Song Editor) in Piano Roll Alt + Right Arrow Key
Opens previous pattern (in Song Editor) in Piano Roll Alt + Left Arrow Key
Don't adjust overlapping notes' volume #1804 Alt + Super?

Song Editor

Existing shortcut key Action Attention because New shortcut key
Cut selected values Ctrl + X (reserved)
Copy selected values Ctrl + C (reserved)
Paste previously selected values Ctrl + V (reserved)
Select all values Ctrl + A (reserved)
Deselect all values Ctrl + Shift + A
Left click on track Place segment/TCO Same
Right click on segment Show context menu for segment editing Same
Middle click on segment OR Shift + Right click Delete segment Inconsistent with PR's delete Same
Delete selection Consistency, useful Delete (reserved)
Ctrl + middle click on segment OR Ctrl + right click Mute segment Same
Ctrl pressed before drag on segment Copy segment Inconsistent with PR's clone/duplicate Shift
Ctrl + drag on 'grip' section of track Clone track. Inconsistent with PR's clone Shift
Clone track without the effects chain. Useful
Left mouse button drag on segment Move segment Same
Ctrl pressed after drag on segment Fine move / high precision move Inconsistent with PR's disable quantization Alt
Left mouse button drag on end of B&B segment Resize Same
Resize pattern with notes #1648 Left mouse button drag on end of instrument pattern
Ctrl pressed when resize segment Fine resize Alt
Shift + drag vertically on empty part of track Resize track height Same
Shift + Insert Insert bar immediately after play head position Same
Shift + Delete Delete bar immediately after play head position Same
Insert X bars immediately after play head position
Delete X bars immediately after play head position
Left and Right arrows BROKEN? Move play point one bar back or forward Inconsistent with Piano Roll scroll Remove existing code to achieve scrolling functionality!?!
Up and Down arrow keys Scroll Same
Select draw tool Useful, consistency Shift + D (reserved)
Select erase tool Non existing? Shift + E (reserved)
Select selector tool Useful, consistency Shift + S (reserved)
Temporarily use the select tool Useful, consistency, see PR Ctrl (reserved)
Select razor tool / Split selected patterns = fast razor. #746 Shift + R (reserved)
Select glue tool / Merge selected patterns. #746 Shift + G (reserved)
Ctrl + Mouse scroll wheel OR touch pad gesture Zoom Same
Move focus to next pattern Alt + Right Arrow Key
Move focus to previous pattern Alt + Left Arrow Key

Automation Editor

Existing shortcut key Action Attention because New shortcut key
Shift + Left Click Draw a straight line between this point and the previously clicked point Redundant ?
Left and right arrows Move the play head position left and right Inconsistent with PR Remove existing code to achieve scrolling functionality!?!
Cut selected values Ctrl + X (reserved)
Copy selected values Ctrl + C (reserved)
Paste previously selected values Ctrl + V (reserved)
Select all values Ctrl + A (reserved)
Select draw tool Shift + D (reserved)
Select erase tool Shift + E (reserved)
Select selector tool Shift + S (reserved)
Delete selected values Delete
Temporarily disable quantization Alt
Ctrl + Mouse scroll wheel OR touch pad gesture Zoom Same

(Editors with) Time line and playback controls

Existing shortcut key Action Attention because New shortcut key
Left-click on timeline Move playback position to that time Same
Shift + right click OR Middle click on timeline Move loop start point to that time Illogical / hard to remember Shift + Left click
Shift + Ctrl + right click OR Ctrl middle click on timeline Move loop start point to that time exactly Illogical / hard to remember Shift + Alt + Left click
Right click on timeline Move loop end point to that time Shift + Right click
Ctrl + right click on timeline Move loop end point to that time exactly Shift + Alt + Right click
Move both loop markers Shift + left click + right click (is this easy enough on laptop?)
Space bar Start or stop playback Same
Play and pause playback Useful Shift + Spacebar
Home Move play head to beginning Same
Move playhead to end of song Useful End (reserved)
Move playhead X bars forward
Move playhead X bars backward

Other

Component Existing shortcut key Action Attention because New shortcut key
Pop up windows Esc Cancel Same
Window menu Ctrl + F4 Close window Same
File browser Alt + F5 Refresh file list Same
FX mixer Left Arrow and Right Arrow Change selected FX channel left and right Same
FX mixer Alt + left/right arrow key Move selected channel left/right Same
FX mixer Add new channel Useful Shift + Insert (implemented #1980)
Fx mixer Add X number of new channels Useful Insert + number (reserved)
Main Window Arrow keys Scroll Same
Give focus to search bar #2013 Ctrl + F

Instrument Plugins

Existing shortcut key Action New shortcut key
Shift + drag on control Copies the value of the clicked control and paste the value on the released knob. Same
Ctrl + drag on control Connect control. Same
Middle mouse scroll on knob OR Shift + drag Fine adjust knob values l Alt + drag (middle mouse scroll stays)

Project Notes

Existing shortcut key Action New shortcut key
Ctrl-X Cut selected text Same
Ctrl-C Copy selected text Same
Ctrl-V Paste selected text Same
Ctrl-B Toggle bold text on/off Same
Ctrl-I Toggle italic text on/off Same
Ctrl-L Left justify text Same
Ctrl-E Centre text Same
Ctrl-R Right justify text Same
Ctrl-J Justify text to both margins Same

Main Window (i.e. works anywhere)

Existing shortcut key Action New shortcut key
F6 Show Beat + Bassline Editor Same
F7 Show Piano Roll Editor Same
F8 Show Song Editor Same
F9 Show Automation Editor Same
F10 Show Project Notes Same
Ctrl-N Create a new project Same
Ctrl-O Open an existing project Same
Ctrl-S Save current project Same
Ctrl + Alt + S Save as new version Same
Ctrl-Shift-S Save current project under a new name Same
Ctrl-E Export current project to WAV or OGG Same
Ctrl-Q Quit LMMS Same
Ctrl-Z Undo Partially Same
Ctrl-Y Redo Partially Same
Page up Scrolls "one page" up Same
Page down Scrolls "one page" down Same
Mouse wheel up or down OR touch pad scroll Scroll up or down = vertical Same
Shift + mouse wheel OR horizontal mouse wheel OR touch pad scroll Scroll left or right = horizontal Same
Ctrl + Tab Toggles between the different open windows in LMMS. Same

Needs to be coded Very unfinished WIP

Related to:
#1338 #1144 #1122 #535 #1429 #1421 #728 #822 #746 #615 #1553 #1643 #625 #621

Could be debatable if one should change the default ones before #1475

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Dec 23, 2014

I want feedback on the tables, should we have more columns?

Then, for now we should gather all key strokes we have and want to have to get an overview of what we need to organize. Comment so I can update or update yourself, but a comment would be nice still, maybe another person have valuable feedback.

I can start. I think a short cut for adding a new channel in the FX mixer would be nice. Even better, if that shortcut is fairly easy to click, it could be combined with a number which would tell how many channels you add. E.g. Ctrl + Insert + 8 would add eight new channels.

@tresf
Copy link
Member

tresf commented Dec 23, 2014

This is really about improving our shortcuts, not counting them. I recommend taking out those that are not under scrutiny, i.e. Project Notes. Also, CTRL+C, CTRL+V, CTRL+X isn't really under scrutiny either unless there is some inconsistencies...

I commend your effort, but I think your list is so long you'll get a lot of TLDR's on it... If you can condense the problem shortcuts into a table at the very top that we can all examine and talk about, I think you'll get some good feedback from it.

@softrabbit
Copy link
Member

An idea to consider: If the Shift-letter shortcuts in the Piano Roll were changed into something else, the keyboard piano feature could have double the current range. Press shift to shift notes one octave up or something like that.

And where could those be moved? I've used Rosegarden a fair bit lately, it has tool selection on F2-F6, it felt much more logical to me when the keys were ordered like the GUI buttons and not some Shift-[EDST] arrangement. Maybe something like that?

@diizy
Copy link
Contributor

diizy commented Dec 23, 2014

On 12/23/2014 09:46 AM, Raine M. Ekman wrote:

An idea to consider: If the Shift-letter shortcuts in the Piano Roll
were changed into something else, the keyboard piano feature could
have double the current range. Press shift to shift notes one octave
up or something like that.

Or we could do it like it's done in trackers: keep track of an octave
value for the keyboard, which you can change up/down with the * / keys
(or some other keys we come up with).

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Dec 23, 2014

This is really about improving our shortcuts, not counting them.

Yes, and how can we look away from other shortcuts when changing some, they might conflict? I agree on keeping those the same.

I think I will do most of the work, as I original thought, I was a little bit confused when you @tresf suggested making this thread cause then I thought you wanted it to be strictly democratic, but I can see that won't happen because there is a huge workload lying here, you can't just chime in and say "I want Shift to be shortcut for XXX". Someone (I) would have to make sure that would fit with the rest of the chart anyway. I will make more changes to the tables and bring the important ones to the top so you can see, maybe make a new table on top which better reflects the new logic. Then I will add different suggestions (if I find several) and we can decide which suggestion is the best.

@musikBear
Copy link

first 👍 Stian for setting this up
Secondly
I would sugest a 'I dont like this -BECAUSE' list
That would rather fast pick out the 'black-sheeps', and we could then after a week or so ( == quartal in lmms time:) scratch all those that we do not need to change
I must stress the 'because'
If we ever are to get consensus on this, it is no good to have anything but pure logic as causal for functionality.
Eg any 'i like' should be off the table!
It makes sense, that all with shift moves 'things' in all editors
imo, that is how we need to think.
That, and most important
Doing noting is better than doing to much -else Absurd confusion can be the end result..
(imo :)

@tresf
Copy link
Member

tresf commented Dec 23, 2014

I would sugest a 'I dont like this -BECAUSE' list

Yeah, I'd propose any objections with our current shortcuts should be summarized in the original post.

@tresf
Copy link
Member

tresf commented Dec 23, 2014

I thought you wanted it to be strictly democratic, but I can see that won't happen because there is a huge workload lying here

Yeah, nothing is really democratic in the pure sense because the software can't operate that way and still get better. Furthermore, most of our shortcuts are just fine. What we need to discover is where they are bad, inconsistent or missing, and a good comparison can help bring this to light (or someone with an extra hour of time stares at the charts we already have and starts asking questions).

@tresf tresf added this to the 1.3.0 milestone Dec 23, 2014
@Sti2nd
Copy link
Contributor Author

Sti2nd commented Dec 23, 2014

or someone with an extra hour of time stares at the charts we already have and starts asking questions

like I already did in #1338
Now I am staring at all the tables, as I realized it is not easy/possible to just swap the keys of the desired wrongly keys.

I'll add more columns to the tables we need to change.

@tresf
Copy link
Member

tresf commented Dec 23, 2014

Now I am staring at all the tables, as I realized it is not easy/possible to just swap the keys of the desired wrongly keys.

:)

That other thread should probably be marked as duplicate of this one and closed out.

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Dec 23, 2014

Uups, wrong issue.

@Sti2nd Sti2nd closed this as completed Dec 23, 2014
@Sti2nd Sti2nd reopened this Dec 23, 2014
@Sti2nd
Copy link
Contributor Author

Sti2nd commented Dec 25, 2014

Would you care for being able to use LMMS without a mouse, like on a webpage where tab bring up a cursor you can use to jump to all clickable elements on the page, or would you never see that being useful in LMMS?

Updated: FYI, the + and - sign isn't used for anything, and although it could be used to zoom, it could also be used to move the cursor deeper into the program. By using + and arrow keys you could for example go Main Window --> Song Editor --> Triple Oscillator --> Volume knob. Most laptops supports zooming with the touchpad if they don't want to use the dropdown menu.

And it would perhaps be hell of a work if Qt don't have some options for selecting windows other than with mouse. Well, I'll see if I can leave the plus and minus sign alone just in case.

@tresf
Copy link
Member

tresf commented Dec 26, 2014

Would you care for being able to use LMMS without a mouse, like on a webpage where tab bring up a cursor you can use to jump to all clickable elements on the page, or would you never see that being useful in LMMS?

Perhaps. Once focusable, this should work tho. Just add tab/shift tab for setting focus to adjacent elements. We should be able to standardize that where appropriate (i. e. Not project notes!). That is a reasonable request/expectation/standard.

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Dec 29, 2014

@tresf @softrabbit @musikBear tagging you because you have been active in this topic.

I am now finished gathering all shortcuts. The conflicting shortcuts you can find by looking for the word inconsistent in the "attention because" column. So if you want you can work out new shortcuts for yourself now (I didn't influence you), or you can wait a little bit longer for my proposal. Do you feel I should make my own column for my proposals, or will you take it for granted that the new shortcuts are my proposal?

A question for @diizy , would LMMS ever have a context menu for notes in the Piano Roll?

@tresf
Copy link
Member

tresf commented Dec 29, 2014

Thanks. Can we consolidate them into a table or bulleted list so we can begin crossing them off? :)

-Tres

@musikBear
Copy link

a online spreadsheet where peeps could make a sugest collumn, could be an idea?

@tresf
Copy link
Member

tresf commented Dec 29, 2014

a online spreadsheet where peeps could make a sugest collumn, could be an idea?

Perhaps if we have an overwhelming amount of suggestions.... but so far we don't, please use this bug report to make recommendations.

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Dec 29, 2014

I can put the inconsistent ones in a check box list, on top. If you really are to suggest your whole own list, I could try to put them in a G doc.

@softrabbit
Copy link
Member

Should right click should be reserved for a context menu in the PR, after all it's pretty much a de facto standard?

Delete could be the top choice in that menu to keep it compatible-ish for those that have the habit of deleting that way, other possible menu items off the top of my head:

  • quick tool switch (maybe a bit redundant as there are both buttons and keys for that)
  • "select this pitch" (selects all notes of that pitch, no matter if clicked on note or grid)
  • detuning (which is kinda fine-tuning the properties of the note, perfect for a context menu)
  • glue selected, it's different from other tools in being an operation you perform on at least 2 notes. It's not like the eraser, that you can just select and click away.

The proposed razor OTOH is totally suited for a tool; you don't only click a note, you click in the spot where it's supposed to be split, right?

@diizy
Copy link
Contributor

diizy commented Dec 30, 2014

On 12/30/2014 04:32 PM, Raine M. Ekman wrote:

Should right click should be reserved for a context menu in the PR,
after all it's pretty much a de facto standard?

Delete could be the top choice in that menu to keep it compatible-ish
for those that have the habit of deleting that way, other possible
menu items off the top of my head:

  • quick tool switch (maybe a bit redundant as there are both buttons
    and keys for that)
  • "select this pitch" (selects all notes of that pitch, no matter if
    clicked on note or grid)
  • detuning (which is kinda fine-tuning the properties of the note,
    perfect for a context menu)
  • glue selected, it's different from other tools in being an
    operation you perform on at least 2 notes. It's not like the
    eraser, that you can just select and click away.

The proposed razor OTOH is totally suited for a tool; you don't only
click a note, you click in the spot where it's supposed to be split,
right?

We should still have a quick shortcut for deleting notes, maybe
shift-click or shift-right-click.

@tresf
Copy link
Member

tresf commented Dec 30, 2014

Should right click should be reserved for a context menu in the PR, after all it's pretty much a de facto standard?

We should still have a quick shortcut for deleting notes, maybe shift-click or shift-right-click.

I tend to favor the right-click-delete functionality, however Middle-click would be consistent with the Song Editor, which currently doesn't function with a modifier key yet.

@tresf
Copy link
Member

tresf commented Dec 30, 2014

The proposed razor OTOH is totally suited for a tool; you don't only click a note, you click in the spot where it's supposed to be split, right?

This is my understanding, yes.

glue selected, it's different from other tools in being an operation you perform on at least 2 notes. It's not like the eraser, that you can just select and click away.

I assume this would work in conjunction with the selection tool and be grayed-out if only a single note is selected?

@Umcaruje
Copy link
Member

however Middle-click would be consistent with the Song Editor, which currently doesn't function with a modifier key yet.

The problem with middle-click is that a lot of touchpads can't perform that action, and there are a lot of laptop users out there. That's my point of view.

@diizy
Copy link
Contributor

diizy commented Dec 30, 2014

On 12/30/2014 05:37 PM, Umcaruje wrote:

however Middle-click would be consistent with the Song Editor,
which currently doesn't function with a modifier key yet.

The problem with middle-click is that a lot of touchpads can't perform
that action, and there are a lot of laptop users out there. That's my
point of view.

I tried using LMMS with a touchpad the other day, and even disregarding
problems with middle-click, it was completely horrible. Every small task
was a finger-straining ordeal...

So, since using LMMS without a proper mouse is just a pain in the ass
anyway, there's a limit how much we can accommodate those kind of use
cases... we can add some alternate-shortcuts or mouse clicks (like we've
already done) but laptop users shouldn't be our primary concern when
thinking of usability.

@Umcaruje
Copy link
Member

I tried using LMMS with a touchpad the other day, and even disregarding
problems with middle-click, it was completely horrible. Every small task
was a finger-straining ordeal...

So, since using LMMS without a proper mouse is just a pain in the ass
anyway, there's a limit how much we can accommodate those kind of use
cases... we can add some alternate-shortcuts or mouse clicks (like we've
already done) but laptop users shouldn't be our primary concern when
thinking of usability.

So, because you don't use a touchpad, and can't get around using one daily, many users with touchpads and laptops should suffer of not deleting notes in the piano roll?

tresf added a commit that referenced this issue Apr 16, 2015
Add ctrl+shift+a to deselect all notes in piano roll (#1488)
@tresf
Copy link
Member

tresf commented Apr 16, 2015

@Sti2nd please update CTRL + SHIFT + A per #1963.

@Sti2nd
Copy link
Contributor Author

Sti2nd commented Apr 22, 2015

Yup, Tres, added. Reason I haven't made progress on this is partly BoL v2, partly life, and partly that I didn't manage to build LMMS on my Ubuntu when I tried this Easter. Not sure I'll have so much more time now since exams are coming up, but I will definetely try again to build somewhere after 22nd of May.
If you want to help.
I think the problem I had was with Qt. That was what the terminal was complaining about at least, after I actually managed to install all dependencies. Also I tried to build on 64 bit Ubuntu so had to install alternative library for some lib, since it weren't compatible... Back to Qt. Qt5 can be downloaded as an executable and so I first tried with that one by setting the flag -DWANT_QT5=ON. That didn't work, I think because LMMS didn't find the correct path, but setting the additional flag didn't help https://github.com/LMMS/lmms/blob/master/INSTALL.Qt5
So I tried to install Qt4, but couldn't find an executable and didn't mange to build that correctly either...
I will be back, BoL v2 is soon finished. Keep up the good work folks!

@tresf
Copy link
Member

tresf commented Apr 22, 2015

@Sti2nd, perhaps we track the QT5 stuff in a separate conversation?

@Reaper10
Copy link

The delete key could be used for the general keyboard shortcut delete function.

@Sawuare
Copy link
Member

Sawuare commented Sep 12, 2017

Let's get rid of Ctrl + Shift + A and only use Esc for deselecting, everywhere.
Much easier, faster and memorizable. 😉
This will solve #2898 (comment).

@tresf
Copy link
Member

tresf commented Sep 12, 2017

@Sawuare can we have both?

@Sawuare
Copy link
Member

Sawuare commented Sep 12, 2017

@tresf We can, but why? I think it would be superfluous having both, and Ctrl + Shift + A has that problem you mentioned in #2898.

@tresf
Copy link
Member

tresf commented Sep 12, 2017

@tresf We can, but why?

Because UX doesn't have to be a one-way street. Did you know that Firefox allows /, F3 and Ctrl + F all to be used to search a page because they are so commonly used in other programs?

@jayknowstheway
Copy link

Is there any work done to make custom shortcuts an option? Default shortcuts are totally arbitrary and should be possible to change. Not being able to use LMMS without a mouse is actually my biggest reason for not using it, but even if I were able to and had shortcuts I couldn't change.. that would be tough.

@musikBear
Copy link

@jayknowstheway Yes 1475. not sceduled

@JackyYuenDacai
Copy link

I think the drag on control really have a strict demand on having a mouse connected to the machine. Seems like currently it is almost impossible to use it only with keyboard.

@JackyYuenDacai
Copy link

Okay... I missed the one upon me

@tresf
Copy link
Member

tresf commented Mar 11, 2019

As part of a pruning effort, this enhancement request is archived into a dedicated "Better Workflow" checklist here #4877.

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