Lmms: New default shortcuts (table)

Created on 23 Dec 2014  路  75Comments  路  Source: LMMS/lmms

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 https://github.com/LMMS/lmms/issues/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 https://github.com/LMMS/lmms/pull/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 https://github.com/LMMS/lmms/issues/746 | | Shift + R (reserved) |
| | Select glue tool / Merge selected notes. Also in PR https://github.com/LMMS/lmms/issues/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 https://github.com/LMMS/lmms/issues/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 | https://github.com/LMMS/lmms/pull/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 | https://github.com/LMMS/lmms/issues/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. https://github.com/LMMS/lmms/issues/746 | | Shift + R (reserved) |
| | Select glue tool / Merge selected patterns. https://github.com/LMMS/lmms/issues/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 https://github.com/LMMS/lmms/pull/1980) |
| Fx mixer | | Add X number of new channels | Useful | Insert + number (reserved) |
| Main Window | Arrow keys | Scroll | | Same |
| | Give focus to search bar | https://github.com/LMMS/lmms/issues/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:
https://github.com/LMMS/lmms/issues/1338 https://github.com/LMMS/lmms/issues/1144 https://github.com/LMMS/lmms/issues/1122 https://github.com/LMMS/lmms/issues/535 https://github.com/LMMS/lmms/issues/1429 https://github.com/LMMS/lmms/issues/1421 https://github.com/LMMS/lmms/pull/728 https://github.com/LMMS/lmms/issues/822 https://github.com/LMMS/lmms/issues/746 https://github.com/LMMS/lmms/issues/615 https://github.com/LMMS/lmms/pull/1553 https://github.com/LMMS/lmms/issues/1643 https://github.com/LMMS/lmms/issues/625 https://github.com/LMMS/lmms/issues/621

Could be debatable if one should change the default ones before https://github.com/LMMS/lmms/issues/1475

enhancement gui meta

Most helpful comment

@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?

All 75 comments

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.

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.

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?

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).

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.

first :+1: 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 :)

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.

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).

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

like I already did in https://github.com/LMMS/lmms/issues/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.

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.

Uups, wrong issue.

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.

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.

@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?

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

-Tres

a online spreadsheet where peeps could make a _sugest collumn_, could be an idea?

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.

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.

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?

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.

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.

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?

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.

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.

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?

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?

Let's please avoid directed arguments here.

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.

I agree to some extent. I think trackpads in general are unusuable for creative content and precice navigation on Windows and Linux. I have many Mac colleagues that swear by the Magic Trackpad, and I watch them used all the time. I've composed on Logic Pro with an Apple Magic Trackpad and it was a terrific experience.

So to Vesa's point... perhaps we shelve the TrackPad usability arguments and keep modifier keys until the PC market catches up. Even the best trackpad money can buy I find to be a terrible experience on PC. I can't blame LMMS for that nor expect LMMS to compensate for such problems.

For example... a TrackPad can have 1, 2, 3, 4 touch points and can be dragged and gestured, yet Windows and Linux fail to set any defaults up... Furthermore, the right-click-delete functionality on a trackpad with no physical buttons may actually be harder to accomplish then simply holding down the shift key... :sweat_smile:

On 12/30/2014 08:32 PM, Tres Finocchiaro wrote:

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.

I agree to some extent. I think trackpads in general are unusuable for
creative content and precice navigation on Windows and Linux. I have
many Mac colleges that swear by the Magic Trackpad, and I watch them
used all the time. I've composed on Logic Pro with a trackpad and it
was a terrific experience.

Oh, there are some OK trackpads I guess. I've used some decent-ish
clickpads, and some Wacom tablets that come with touch capabilities are
pretty neat for gestures and touch control.

That doesn't change the fact that the vast, vast majority of
track/touchpads are pure and utter crap, nor that you can get a $5 USB
mouse for your laptop that works better in every way. And even the good
touchpads are inferior in ergonomics to the average mouse.

So to Vesa's point... perhaps we shelve the TrackPad usability
arguments and keep modifier keys until the PC market catches up. Even
the best trackpad money can buy I find to be a terrible experience on
PC. I can't blame LMMS for that nor expect LMMS to compensate for such
problems.

Yep. We can keep the alternate-shortcuts for the benefit of the
middle-button-impaired, but I don't think we should design our GUI
around touchpads, touch screens, braille keyboards, voice control nor
virtual reality gloves... mouse + keyboard is still the #1 choice for
production use.

Well the fact that trackpads are inferior doesn't change the fact that I can't realistically have a 3-button mouse with me at all times. For example, there's no way I'll be pulling out a mouse if I'm on an airplane. So while it's certainly better to use a mouse for a lot of reasons, I still think it's reasonable to make LMMS usable on a trackpad as well.

I still think it's reasonable to make LMMS usable on a trackpad as well.

I think we're all in agreement on that... I think the question is... do we make our usability trackpad-centric or mouse centric? i.e. Is holding shift or ctrl to delete notes an acceptable compromise? If so, we can move forward with middle click to delete and modifer key + click action when the mouse wheel click is not available.

The arguments made above are that this would make the context menus in piano roll possible via right click and also bring the Piano Roll and Song Editor UIs better paired in terms of usability.

-Tres

Well, I don't particularly care about the specifics as long as it's not a lot more time consuming to use a trackpad - like right how, how you have to right click -> mute to mute tracks if you don't have a middle mouse button. I can live with that though. I'm sure you guys will do a good job. :)

:+1:

i.e. Is holding shift or ctrl to delete notes an acceptable compromise?

That sounds good to me, as long as there is an alternative for people that do not have a middle mouse button :)

How about an "emulate middle mouse button" option, Blender style? I've
actually used Blender with a laptop w/o mouse and it was pretty decent.

middle-click (mouse-wheel-down) is generally sucking. Its propl. the wost 'button' on most ..mice :)
-And it almost _always_ leads to unwanted scrolling, of 'something' that is irrelevant to the action it self.
I detest middle-mouse actions, and imo allocation for MM, should be either avoided, or kept very sparse

middle-click (mouse-wheel-down) is generally sucking. Its propl. the wost 'button' on most ..mice :)

I use it hundreds or thousands of times a day, mostly with a hard-wired Dell mouse, wireless Dell mouse, wireless Logitech mouse. (likely all Logitech hardware). I use Middle-click to open links in new tabs, to open new instances of applications such as Terminal, Chrome, Gimp, Cmd, VirtualBox and I do this on Apple, Linux and Windows. I don't have the scrolling issues you mention, not even in LMMS. Perhaps you need a new mouse. I'd be happy to send you one. :+1:

Ok, so this is what I propose @tresf @softrabbit @diizy @musikBear @Umcaruje @SecondFlight @Spekular

Now you should look in the New Shortcut Key column. Where it stands (reserved) the function is not yet coded. Where it doesn't stand Same or (reserved) it is a new shortcut.

Here is a document overview over which keys the inconsistent ones have turned into, also explains a little. https://docs.google.com/document/d/1rcSMpBdKFOSTHV5xi8y2gXUxz7PBzpi4gC5TQs_9eWQ/edit?usp=sharing

Looks good to me. Might be easier if the old keys were listed for
comparison and the explanation were moved to a separate column.

@Spekular I understand you have been looking at the google document, the old list is in the top table ^ and the new shortcuts too, but not the reason for the new keys.

Oh! I was looking at this from my mail, so the first post wasn't updated.
Oops.

I definitely like alt for precision, and I'd love if you could press alt
before dragging to precision move/scale patterns (pressing afterwards feels
odd). Also perhaps just space or shift space for play? Ctrl seems to be
mostly for selection whereas shift seems to be the main modifier key.

shift space for play

and pause. Good call, it will work either way, but you are right in that Shift might be more logical, updating the table now.

I'd love if you could press [modifier] before dragging to precision move/scale patterns (pressing afterwards feels odd).

:+1: :+1:

I'd love if you could press [modifier] before dragging to precision move/scale patterns (pressing afterwards feels odd).

The proposal will allow this indeed, but it needs to be coded first :)

@sti2nd You've probably already seen these in 1562, but issues 1643, 1500, 1488, 615, 625, 621, 1475, 1421,and 741 are all related to shortcuts. (Attempting to not link everything together like I did over there by leaving out the # , sorry for the inconvenience)

Just found that a new shortcut was not documented, see #605. Using <Alt-left/right> when selecting a mixer channel moves it.

@tresf @Sti2nd Can we find a nice place on https://lmms.io/documentation/Manual to put this information and everything that @Sti2nd has found?

EDIT: Just found it: https://lmms.io/documentation/Key_Mappings. See @Sti2nd we can use your new table to complement this one.

@Sti2nd or Umcaruje are prob the best candidates to add content although IIRC we allow registrations again so others can help.

@badosu Already updated this table, and yes, when the table is officially going to be implemented I am going write a new table on the wiki below the old one and when a new LMMS with the keys is officially out we can perhaps remove the old table. That is the plan. When I asked about devs and documentation, however, I were wondering how devs would like to document their work. Do you want to write directly to the wiki? Do you want to share a Google doc, gist or whatever? Or the worst option and as it seems like it is working now, are you going to write comments in the code and let other people try to understand and document...

IIRC we allow registrations again

Not that I can see, and that is a very big problem. Uros has offered to make an account for everyone who want's, but I can understand people being more hesitant to ask a person rather than a system. We have had 0 new users on the wiki after Christmas and we even asked on Facebook for help.

Uros has offered to make an account for everyone who want's

That's better than nothing. :)

I can enable the account creation, but that can produce a lot of spam. IIRC spam is the reason this was disabled in the first place. I think this is better off being discussed on https://github.com/LMMS/lmms.io/issues/99 though, for consistency :)

I can enable the account creation, but that can produce a lot of spam. IIRC spam is the reason this was disabled in the first place. I think this is better off being discussed on LMMS/lmms.io#99 though, for consistency :)

Agreed. We don't have dozens of people knocking on the wiki door. We'll enable this if demand warrants it. In my experience only a select few actually enjoy the documentation process, so our existing model works well for now. :+1:

I need to document something here: https://github.com/LMMS/lmms/pull/1716, how can I help?

This thread is probably better than the wiki for now. It is hard to maintain a current and future table for these things, so I will ask @Sti2nd to provide a recommendation.

I need to document something here

Already documented that, but do you have access to the table? In that case you could in the future add it in the "existing shortcut key" column, and then explain the action in the "action" column. I should probably be notified cause if it is conflicts with the future table I have to fix it :)

@Lukas-W @tresf Would this behavior be possible to code: Holding Shift + S down in an Editor and then dragging selects patterns/notes. If you then release the keys the selection is kept and you go back to the last mode (draw mode). If you didn't drag, only hit Shift + S, you enter select mode.

Reason is because LMMS currently uses Ctrl for fast select in Piano Roll, and you can't use Ctrl to clone/duplicate notes when fast select is mapped to it. As Tres pointed out duplication with Ctrl is standard in most file browser, so I have to change the fast select key combo. Also I think it is unfortunate to occupy Ctrl for fast select, there are only three different modifier keys available: Alt, Ctrl, Shift, so occupying one isn't especially smart.

The other solution I had in mind was to use Shift for fast select, it might be doable, but I still thinks it is stupid to occupy 1/3 of the available modifiers for that. Also with Shift as fast select you wouldn't be able to use it when hovering over notes.

you can't use Ctrl to clone/duplicate notes when fast select is mapped to it.

Unless we make one behavior when a note/notes is clicked and the other when an empty area is clicked.

but do you have access to the table

No one except for you and LMMS/lmms admins can edit your posts.

Unless we make one behavior when a note/notes is clicked and the other when an empty area is clicked.

Thought it would be a little annoying, don't know... Do you think holding down Shift + T is fairly easy, or do you think that is going to be hard to do fast?

No one except for you and LMMS/lmms admins can edit your posts.

Oh, ok. I kinda thought he was some kind of admin.

Oh, ok. I kinda thought he was some kind of admin.

Not yet. :)

Thought it would be a little annoying, don't know...

Again, compare this to existing GUIs. If you hold a Ctrl modifier key when selecting files from an empty region, you don't expect it to have the same effect as when you hold Ctrl when dragging files, do you?

No, I don't expect that. It could work in the Piano Roll where the notes aren't covering all the empty areas, but in the Song Editor though. How can I select the highlighted patterns?
image

Hmm.. You have a good point.... Perhaps varies based on the selection size?

Ehhh, could you elaborate? Selection size?

So I can't work out how we can combine Ctrl for duplication and fast select in Song Editor. I looked at GIMP with its tools and it uses 'r' (for rectangle select), but it isn't fast select.The 'r' key in GIMP chooses the tool. So I propose to make use of the different tools/modes in a similar manner, Shift + S will let you go into selection mode where you can select, add and substract from selection. (Just 's' cannot be used because of playing notes with the computer keyboard in the Piano Roll)

Later/at the same time one can perhaps implement some kind of fast select by detecting Ctrl + S + Drag and then instead of choosing selection tool go back to the previous tool.

More reasons for using Shift + S:

  • Frees up an important modifier key!

    • Which in turn is more sustainable when thinking about the future

  • Is logical and enforces the idea of tools and their shortcuts (Shift + Name on tool)
    Downsides
  • Two shortcuts is of course harder to press than one
  • This will most likely make it harder or impossible to do fast add/subtract from selection.

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

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!

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

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

Let's get rid of Ctrl + Shift + A and only use Esc for deselecting, everywhere.
Much easier, faster and memorizable. 馃槈
This will solve https://github.com/LMMS/lmms/issues/2898#issuecomment-230683540.

@Sawuare can we have both?

@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 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?

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.

@jayknowstheway Yes 1475. not sceduled

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.

Okay... I missed the one upon me

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

Was this page helpful?
0 / 5 - 0 ratings