Instead of using a keyboard component to advance to the next routine, sometimes I use a button component. However, on my setup, the component does not register individual clicks but rather a constant stream of “mouse down”-events (or so I think). This is a problem, because it means that (when the button terminates the current routine) on the very first frame of the next routine it is determined that the mouse button is still “down” and if the buttons of those routines are placed at the same location the “new” button is triggered instantly and this new routine is terminated as well.
A very simple work around is to just set the starting time of every button component to something like 0.5 so that individuals have the time to release the mouse button.
A more elaborate way is to define a boolean and only set it to true when the mouse is released.
However, my question is: Is there something I am missing, and I don’t have to use those work arounds?
It bugs me as I am only creating “template” experiments which are supposed to be modified and adapted by other people (that don’t have any background in programming and have only revived a very brief intro to psychopy). Those work arounds are not intuitive and are rather confusing to the guys adapting my experiments to their use cases. Thats why I am trying to minimize the use of any code components.
I’m only wondering because it seems that on a mac OS the button actually does register individual clicks right out of the box (which makes so much more sense to me). So, it might be windows specific thing?