[PATCH] Normalize cursor key behavior at the Tcl level.
Marvin Humphrey
marvin at rectangular.com
Wed Sep 28 04:57:13 CEST 2011
Take advantage of Tk's portability layer for normalizing cursor key values
instead of reproducing it ourselves at the C level.
---
src/g_editor.c | 10 ----------
tcl/pd_bindings.tcl | 4 ++++
2 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/src/g_editor.c b/src/g_editor.c
index f494732..983f463 100644
--- a/src/g_editor.c
+++ b/src/g_editor.c
@@ -1699,16 +1699,6 @@ void canvas_key(t_canvas *x, t_symbol *s, int ac, t_atom *av)
keyupsym = gensym("#keyup");
keynamesym = gensym("#keyname");
}
-#ifdef __APPLE__
- if (keynum == 30)
- keynum = 0, gotkeysym = gensym("Up");
- else if (keynum == 31)
- keynum = 0, gotkeysym = gensym("Down");
- else if (keynum == 28)
- keynum = 0, gotkeysym = gensym("Left");
- else if (keynum == 29)
- keynum = 0, gotkeysym = gensym("Right");
-#endif
if (keynumsym->s_thing && down)
pd_float(keynumsym->s_thing, (t_float)keynum);
if (keyupsym->s_thing && !down)
diff --git a/tcl/pd_bindings.tcl b/tcl/pd_bindings.tcl
index 82ac350..cff0bbc 100644
--- a/tcl/pd_bindings.tcl
+++ b/tcl/pd_bindings.tcl
@@ -249,6 +249,10 @@ proc ::pd_bindings::sendkey {window state key iso shift} {
"Tab" { set iso ""; set key 9 }
"Return" { set iso ""; set key 10 }
"Escape" { set iso ""; set key 27 }
+ "Left" { set iso ""; set key 28 }
+ "Right" { set iso ""; set key 29 }
+ "Up" { set iso ""; set key 30 }
+ "Down" { set iso ""; set key 31 }
"Space" { set iso ""; set key 32 }
"Delete" { set iso ""; set key 127 }
"KP_Delete" { set iso ""; set key 127 }
--
1.7.3.2
More information about the Pd-list
mailing list