diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c index 0f5ef350945c75816fe598d3ec152667664d8077..01e87850cebe6edc2a7a2606ced20db6b6723444 100644 --- a/pd/src/g_editor.c +++ b/pd/src/g_editor.c @@ -3532,7 +3532,7 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which, //post("canvas_doclick %d", doit); t_gobj *y; - int shiftmod, runmode, altmod, doublemod = 0, rightclick, + int shiftmod, runmode, ctrlmod, altmod, doublemod = 0, rightclick, in_text_resizing_hotspot, default_type; int x1=0, y1=0, x2=0, y2=0, clickreturned = 0; t_gobj *yclick = NULL; @@ -3551,8 +3551,9 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which, // read key and mouse button states shiftmod = (mod & SHIFTMOD); - runmode = ((mod & CTRLMOD) || (!x->gl_edit)); + ctrlmod = (mod & CTRLMOD); altmod = (mod & ALTMOD); + runmode = (altmod || (!x->gl_edit)); rightclick = (mod & RIGHTCLICK); // set global left mouse click variable @@ -3644,7 +3645,7 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which, if (yclick) { clickreturned = gobj_click(yclick, x, xpos, ypos, - shiftmod, ((mod & CTRLMOD) && (!x->gl_edit)) || altmod, + shiftmod, (altmod && (!x->gl_edit)) || ctrlmod, 0, doit); //fprintf(stderr, " MAIN clicking\n"); } @@ -4063,7 +4064,7 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which, return; } /* having failed to find a box, we try lines now. */ - if (!runmode && !altmod && !shiftmod) + if (!runmode && !ctrlmod && !shiftmod) { t_linetraverser t; t_outconnect *oc; @@ -5578,20 +5579,20 @@ void canvas_key(t_canvas *x, t_symbol *s, int ac, t_atom *av) } if (x && keynum == 0 && x->gl_edit && - !strncmp(gotkeysym->s_name, "Alt", 3)) + !strncmp(gotkeysym->s_name, "Control", 7)) { - glob_alt = down; + glob_ctrl = down; } - /* if control key goes up or down, and if we're in edit mode, change + /* if alt key goes up or down, and if we're in edit mode, change cursor to indicate how the click action changes NEW: do so only if not doing anything else in edit mode */ if (x && keynum == 0 && - !strncmp(gotkeysym->s_name, "Control", 7)) + !strncmp(gotkeysym->s_name, "Alt", 3)) { //fprintf(stderr,"ctrl\n"); - glob_ctrl = down; - //post("glob_ctrl=%d", down); + glob_alt = down; + //post("glob_alt=%d", down); /* ico@vt.edu: commenting MA_NONE part as that prevents the patch from assuming editmode after it has had an object added via a ctrl+(1-5) shortcut while not in edit mode