Mouse response overlap

I have an experiment where I want participants to click on the screen where a change is located. However, several of my stimuli have overlapping, but not identical, areas where there is a correct response. Therefore, I have several responses that share some of the same area on the screen. If a participant clicks on the screen that is considered correct by two or more responses, how does superlab determine which response was clicked? Is there any way to have superlab ignore the incorrect responses?

Unfortunately, SuperLab was not designed with potentially overlapping response areas in mind. Most (but not necessarily all) of SuperLab’s response types are treated as discrete keys, and this includes on-screen input. Therefore, SuperLab is working under the assumption that one and only one defined response (if any) will match the input. Therefore, SuperLab does its calculations based on the first defined response that it considers a match. Therefore, any method of doing what you’re requesting will have to take this implementation detail into account.

There are two possibilities that come to mind, and one just feels nastily hackish (using automatic stimulus positions), so I’ll recommend the following:

Since your response areas shouldn’t overlap, we’ll take advantage of another feature of SuperLab–multiple correct responses.

Suppose we have the following overlapping response areas:

The purple area is going to be problematic for SuperLab, so instead of simply having two response areas, we break this down into multiple non-overlapping rectangles, as follows:

I took shortcuts in creating the picture, but I think you’ll get the point. :slight_smile: If you combine the red and purple (magenta?) areas, you get the original red rectangle. If you instead combine the blue and purple areas, you get the original blue rectangle. As long as they don’t overlap, you won’t have a problem.

I think I should probably remind you that screen locations are ultimately integers–not real numbers. If you’re covering the range [0,200], and you want to split it in half, then in integer math, [0,100) + [100,200] is the same as [0,99]+[100,200]. If you created the rectangles covering the ranges (on one dimension) [0,100] + [100,200], then you would have one entire column (or row, depending on which one dimension to which we’re referring) of overlap at the location 100.

I hope that helps.