Mouse position is not being updated correctly when using a pen tablet on the desktop client

Here’s what using a pen tablet should look like (this video was taken in Studio using the pen tablet):

But here’s what using a pen tablet actually looks like on the desktop client:

The mouse position is lagging behind a frame or two (this isn’t a big problem) - but more significantly, sometimes the mouse position fails to update for long periods of time. This issue is particularly annoying because pen tablets are meant to be used in situations where precision and accurate reproductions of physical motion are needed (e.g. writing letters, drawing clean line art).

I am using the “One by Wacom” pen tablet with drivers installed, though I don’t think that’s the source of the problem since Studio and other applications work fine.

To reproduce:

  • Make sure Windows Ink is disabled (Windows Ink makes pen tablets function incorrectly in Roblox, but that’s an unrelated issue I think).
  • Open studio, create a new place file with the code given below placed in StarterPlayerScripts.
  • Do a play solo test, observe correct behavior.
  • Publish the place file, open it in the desktop client.
  • Play the live game, observe incorrect behavior.

Code:

local g = Instance.new("ScreenGui")
g.ResetOnSpawn = false
g.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")

local f = Instance.new("Frame")
f.Size = UDim2.fromOffset(8, 8)
f.BackgroundColor3 = Color3.new(1, 0, 0)
f.BackgroundTransparency = 0
f.BorderSizePixel = 0
f.AnchorPoint = Vector2.new(0.5, 0.5)
f.Parent = g

game:GetService("RunService").RenderStepped:Connect(function()
	local inset = game:GetService("GuiService"):GetGuiInset()
	local loc = game:GetService("UserInputService"):GetMouseLocation() - inset
	f.Position = UDim2.fromOffset(loc.X, loc.Y)
end)
4 Likes

Thanks for the report! We’ll follow up when we have an update for you.

2 Likes