On 7/17/06, Frank Barknecht fbar@footils.org wrote:
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
This is a known bug on all platforms, it has to do with the implementation of the [key] object. It would be nice to have it fixed to provide a proper key-down and key-up message instead of that pulsing.
I don't see that it's a bug in the [key] object. The operating systems I know all provide autorepeating keys: If you press and hold a key, it will start to generate keyup/keydown messages after a while with a certain frequency. On X11 this can be changed with the "xset" command.
Now what Garageband probably does is disable this key-repeat if Garageband has the focus, and enables it again, if the focus is lost or if an entry field gets the focus.
However this won't work in Pd: We cannot disable autorepeat everytime Pd has the focus, because that would make editing uncomfortable to say the least and for some applications autorepeat is useful outside of edit mode as well. So it's not something, [key] could fix. The solution is to leave it up to the user to take care of his/her autorepeat settings for example with "xset" (and [shell]).
An external to change autorepeat settings from inside Pd would be nice, tough.
I think that or manually changing settings would be the only way. I just did a little timer test, and the default settings on OSX are set up so that the first keyup when autorepeating comes about 525 ms after the keydown. So to filter that would require ignoring events from the same key within about 550 ms of each other. At 120 bpm, a quarter note would stay on indefinitely. What good is keyboard note control if you can't play Stars & Stripes Forever? It would literally be forever.
-Chuckk