[PD] Keyboard shortcuts for "nudge", "done editing"

Jonathan Wilkes jancsika at yahoo.com
Thu Sep 29 19:37:45 CEST 2011

----- Original Message -----
> From: Marvin Humphrey <marvin at rectangular.com>
> To: Simon Wise <simonzwise at gmail.com>
> Cc: pd-list at 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 
>>  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 

DesireData has a way to edit connections with the keyboard but I found it takes too many 


> 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 at iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list

More information about the Pd-list mailing list