Вы в основном умножаете пользовательские координаты x / y на соотношение ширина / высота:
x *= 1024/800;
y *= 768/600;
Я предлагаю вам также применить Math.round () к обеим координатам после применения отношения.
Редактировать: Это, конечно, предполагает, что все в большем разрешении изменено для такого же соотношения для пользователя, иначе будут проблемы.
Например, если вы пытаетесь наложить движение мыши на веб-страницу, и эта веб-страница имеет боковую панель фиксированной ширины 200 пикселей независимо от разрешения пользователя, то, конечно, когда вы умножаете координаты х / у на отношение, Вы можете обнаружить, что указатель находится даже не над боковой панелью, как это было для пользователя.
Edit2: В случае веб-страницы самым безопасным способом будет запись ширины / высоты области просмотра пользователя, а затем встраивание той же веб-страницы в контейнер (например, в iframe) с таким точным размером для того, чтобы повторить действия. Таким образом вы избежите некоторых проблем.