----- Original Message -----
From: Marvin Humphrey marvin@rectangular.com To: Simon Wise simonzwise@gmail.com Cc: pd-list@iem.at Sent: Thursday, September 29, 2011 11:09 AM Subject: Re: [PD] Keyboard shortcuts for "nudge", "done editing"
On Wed, Sep 28, 2011 at 06:17:08PM +0800, Simon Wise wrote:
typing into a spreadsheet cell is somewhat analogous, and probably a fairly common activity ...
Nice connection!
generally <enter> saves and exits the cell, while to put a newline
into a
cell without leaving it is <ctrl><enter> ... not sure what the
OSX
equivalent is, maybe <cmd><enter>.
I just checked out the Google Docs spreadsheet behavior. I assume that it mimics the interfaces of other popular spreadsheet programs, though I don't know that for sure.
* <enter> and <shift><enter> both save and exit the cell. * <control><enter> and <cmd><enter> both insert a newline. * <esc> cancels the change and exists the cell.
Something I was thinking about for the future is a way to model keyboard input after the efficiency of 'vi' input. When in "Edit mode" without yet editing the text of an object, one could use "h", "j", "k", and "l" to move the bounding box selection around in the patch. Then bind "/" to duplicate ctrl-f, and you have a quick way to get around the entire patch without leaving home position. (Maybe also bind "i" to enter text-editing mode, and "a" to enter text editing mode at the end of the object's text.) Then when in text editing mode or "Run mode", turn off these bindings.
The tricky part is figuring out the most efficient way to make/edit connections. There is already "auto-connect" behavior for leftmost xlets-- there needs to be a way to make a new connection, remove a connection, move a connection, and possibly make many-to-many connections like [select 0 1 2 3 4] with each outlet going to a new message box.
DesireData has a way to edit connections with the keyboard but I found it takes too many keystrokes.
-Jonathan
I haven't seen anyone object to Matthieu's suggested behaviors for <enter> and <esc>, which are consistent with both behavior and general OS gui conventions, so I think we may have achieved consensus there.
What's left is the basically irrelevant issue of how to insert a newline that's going to be turned into a space later anyway. My inclination is to supply a patch which simply does not support the insertion of newlines. If that results in user confusion and support inquiries, a binding for <modifier><return> can be added later.
That will result in user confusion, because when a message box with semicolons gets instantiated it doesn't automatically get newlines added until you save the patch and reopen it, while object boxes add the newlines after instantiation. Currently the discrepancy can be hidden by always adding the newlines yourself with enter.
Marvin Humphrey
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list