Go Back   Cockos Incorporated Forums > Projects > Deprecated REAPER issue tracker > Closed Issue

Extend keyboard shortcuts mechanism Issue Tools
issueid=3081 11-19-2010 07:18 AM
Human being with feelings
Extend keyboard shortcuts mechanism
Proposal for a method to extend keyboard shortcuts to allow greater range and flexibility in key bindings.

If anyone has anything to add, my original (very old) proposal is in this thread.

With the ever expanding array of built-in actions, extension actions and user defined custom actions available to the REAPER user, there just aren't enough keys on the keyboard to assign useful shortcuts to all the actions that you might want to have available.

Let's take quantize as a fairly simple example. There are currently seven different quantize actions (two built-in, five SWS). Assuming for the sake of argument that I want quick access to all of them, it would make sense to group them around the 'Q' key...

Code:
Q,		Item: Quantize item positions to grid...
Ctrl + Q,	Markers: Quantize tempo markers to MIDI resolution
Ctrl+Shift+Q	SWS: Quantize item's edges to grid (change length)
Shift+Q		SWS: Quantize item's end to grid (change length)
Alt+Q		SWS: Quantize item's end to grid (keep length)
Alt+Shift+Q	SWS: Quantize item's start to grid (change length)
Ctrl+Alt+Q	SWS: Quantize item's start to grid (keep length)
Obviously it's possible to assign various combinations of ctrl/alt/shift + 'Q' but remembering which key combination triggers which action will be something of a nightmare even for a limited set of actions such as this. What happens if I want to find a key for 'File: Quit REAPER'? Ctrl+Alt+Shift+Q? How about 'File: Show render queue'? What if I have a bunch of custom quantize scripts?

My suggestion is that the user should be able to construct keyboard shortcuts from more than one set of keys. As well as vastly increasing the number of key combinations available for binding, this would also allow related sets of actions to be 'grouped' more logically under a common initial keystroke. Continuing with the quantize example, you could map the same actions as follows:

Code:
Ctrl + Q, G		Item: Quantize item positions to grid...
Ctrl + Q, M		Markers: Quantize tempo markers to MIDI resolution
Ctrl + Q, B		SWS: Quantize item's edges to grid (change length)
Ctrl + Q, Shift + E	SWS: Quantize item's end to grid (change length)
Ctrl + Q, E		SWS: Quantize item's end to grid (keep length)
Ctrl + Q, Shift + S	SWS: Quantize item's start to grid (change length)
Ctrl + Q, S		SWS: Quantize item's start to grid (keep length)
I believe the above is more logical and easier to memorise. All the related actions are grouped together under the common binding 'Ctrl + Q'. The similar actions for "Quantize item's start/end to grid" use the same basic keystrokes but with shift as a modifier for the actions that will change the item length. The second keystroke of the sequence can be assigned to a more easily memorable letter such as 'B' for 'both edges', 'S' for 'start', 'E' for end etc. Furthermore, I can now assign 'Shift + Q' to 'File: Show render queue' and 'Ctrl + Alt + Q' to 'File: Quit REAPER'

Each individual component should be either a key combination on the computer keyboard, a MIDI note or a MIDI controller to allow maximum flexibility in building your assignments.

Ideally combinations could be many levels deep but if more than two layers were allowed, a mechanism to avoid clashes would need to be found. I can think of two possible methods to do this:

1. Terminator key. Require a specific key/combo to end all combinations.
2. Timed input. Set a timer on each keydown and execute the received keystrokes when the timer elapses.

Please implement something along these lines. It took me bloody ages to type this! :)
Issue Details
Issue Type Closed Issue
Project Deprecated REAPER issue tracker
Category Editing behavior
Status Duplicate
Priority 1 - Highest
Affected Version 3.73
Closed Version (none)
Yes votes 7
No votes 0
Assigned Users (none)
Tags (none)

11-19-2010 07:36 AM
Human being with feelings
 
Reply
11-19-2010 07:51 AM
Human being with feelings
 
Quote:
Originally Posted by EvilDragon
Oops! I was first though (01-20-2009, 03:46 PM) so technically all those other threads are duplicates of mine ;P

Great minds think alike and all that.
Reply
Reply

Issue Tools
Subscribe to this issue

All times are GMT -7. The time now is 10:47 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.