diff --git a/pd/src/pd.tk b/pd/src/pd.tk
index da6607009e9ecccec1c35c5e370a46c1da6ef3b7..8da278c5980be0798f68a826564e048602111ec6 100644
--- a/pd/src/pd.tk
+++ b/pd/src/pd.tk
@@ -3361,6 +3361,11 @@ proc pdtk_canvas_checkgeometry {topname} {
     }
 }
 
+# from newer pd branch
+proc pdtk_canvas_mouse {name x y b f} {
+    pd [canvastosym $name] mouse [$name canvasx $x] [$name canvasy $y] $b $f \;
+}
+
 proc pdtk_canvas_sendclick {name x y b f} {
     pd [canvastosym $name] mouse [$name canvasx $x] [$name canvasy $y] $b $f \;
 }
diff --git a/pd/src/t_tkcmd.c b/pd/src/t_tkcmd.c
index c6b5ff7471e10755075a0a1e7b02c9e3d55a5402..c55ca7f90b895c908c728cc0be22323ec612dd02 100644
--- a/pd/src/t_tkcmd.c
+++ b/pd/src/t_tkcmd.c
@@ -603,6 +603,8 @@ void pdgui_startup(Tcl_Interp *interp)
 
         /* add our own TK commands */
     Tcl_CreateCommand(interp, "pd",  (Tcl_CmdProc*)pdCmd, (ClientData)NULL, 
+        (Tcl_CmdDeleteProc *)NULL);
+    Tcl_CreateCommand(interp, "pdsend",  (Tcl_CmdProc*)pdCmd, (ClientData)NULL, 
         (Tcl_CmdDeleteProc *)NULL); 
 #ifdef MSW
     Tcl_CreateCommand(interp, "pd_pollsocket",(Tcl_CmdProc*)  pd_pollsocketCmd,