On 5/4/19 1:48 AM, Peter P. wrote:
IOhannes, do you think this is Linux specific then?
TL;DR https://github.com/pure-data/pure-data/pull/619
longer version:
yes and no.
the problem being that tcl/tk reports the keys with the names as reported by the underlying windowing system, and these vary widely between the OSs.
to complicate things, on X-windows (in your case: "linux"), the key-release events lack unicode representations (that is: the plus-key is reported as "plus" instead of "+"), which accounts for all the problems.
in the case of space-bar the keydown is reported with a short-name " " (and a full name "space"), which is translated to ASCII 32 (ingoring the full name) which in turn is translated to "Space" (by Pd). otoh, the keyup is reported only with the full name "space" (by the windowing system), which is not translated to ASCII (because the full name is a word rather than a chraracter) and reported literally by Pd (as "space").
the PR imentioned above hopefully fixes most of these problems (by
introducing a caching mechanism in pd-gui).
to apply the PR (without checking it out), it's sufficient to replace
the tcl/pd_bindings.tcl
from your local installation of Pd with the
one from the PR.
fgmards IOhannes