Как разрешить курсору мыши пересекать верхний край экрана на windows 10? - PullRequest
1 голос
/ 11 февраля 2020

Мне нужно, чтобы курсор мыши пересек верхний край экрана. И в идеале, чтобы активировать / деактивировать эту опцию с кодом python. Я не мог найти подсказку о том, как это сделать. Есть идеи?

Причина, по которой:

Я пишу психологический эксперимент в python (психопия). Я должен постоянно отклонять курсор мыши вниз, когда он перемещается в определенной области экрана. Я делал это, меняя положение курсора в соответствии с желаемым отклонением с помощью некоторых функций pymouse / psychopy.

Однако, когда я проводил этот эксперимент на новом компьютере (я должен), он систематически зависал. Поэтому я попробовал новый метод: отображение фигуры (круга) в психопии, которая движется в соответствии с реальным курсором + отклонением, сохраняя реальный курсор без изменений (просто скрывая его). Однако, поскольку реальный курсор не может пересекать верхний край экрана, он блокируется на определенной высоте, что препятствует перемещению созданного мной вспомогательного курсора. Другими словами, этот вторичный курсор не может перемещаться так высоко, как следовало бы, потому что реальный курсор не может go выше верхнего края экрана.

Если у вас есть какие-либо советы по более полной проблеме, пожалуйста, дайте мне знать!

спасибо!

1 Ответ

0 голосов
/ 12 февраля 2020

Как вы обнаружили, подход рисования вашего собственного стимула, управляемого положением мыши, а не манипулирования указателем мыши операционной системы, вероятно, является более надежным и гибким. Так что определенно продолжайте этот подход.

Однако PsychoPy полагается на операционную систему, чтобы сообщать координаты мыши, и они по своей природе ограничены пределами экрана. Таким образом, вам нужно было бы придумать свои собственные обходные пути, чтобы разрешить движение указателя за пределами экрана.

  • Вы можете попробовать посмотреть, что происходит, используя несколько мониторов, то есть с настройкой второго монитора (не обязательно видимый для участника, и не обязательно даже в той же комнате), так что он фактически настроен так, чтобы находиться над основным монитором, при этом мышь может перейти к нему. Но я понятия не имею, как PsychoPy будет работать с координатами мыши, если указатель перейдет на второй экран.
  • В качестве альтернативы, когда координата мыши y достигает нуля, вы можете вычислить прогнозируемая траектория для указателя мыши на основе его предыдущего движения. PsychoPy с радостью позволит вам установить позицию для стимула, который частично (или полностью) выходит за границы окна, так что это позволит вашему вторичному изображению курсора плавно переходить за пределы экрана.

    Как сделать такой прогноз? Вы можете выполнить какую-то грубую линейную интерполяцию, основанную на сохранении запаздывающей записи положения мыши с минимальным количеством сэмплов во времени и продолжением следования по прямой линии между этим и последним положением в пределах окна. Для чего-то, что могло бы захватить кривые траектории и скорость, я не уверен, что это уместно, но попробуйте поискать в Google для прогнозирующего отслеживания мыши с помощью фильтра 1011 ** Кальмана python

...