This behavior just started recently (within the last day or two). It seems unintentional and is quite frustrating as it conflicts with the common keybind of LShift to sprint.
Repro 1:
Hold right mouse button (pan camera)
Hold left shift
Release right mouse button
Release left shift
Cursor is locked in place & panning
Repro 2:
Hold shift
Try to pan camera (hold right mouse button)
Cannot pan camera
Note: this is happening with ShiftLock behavior DISABLED
My test case doesn’t involve any of the default player scripts and it only happens in Studio.
EDIT:
I can repro the shift-blocking behavior in an empty starter place with this:
--[[
script = Instance.new("LocalScript")
script.Name = "CameraScript"
script.Parent = game.StarterPlayer.StarterPlayerScripts
]]
local userInput = game:GetService("UserInputService")
userInput.InputBegan:Connect(function(input, sunk)
if sunk then
return
end
if input.UserInputType == Enum.UserInputType.MouseButton2 then
userInput.MouseBehavior = Enum.MouseBehavior.LockCurrentPosition
end
end)
userInput.InputEnded:Connect(function(input, sunk)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
userInput.MouseBehavior = Enum.MouseBehavior.Default
end
end)
right clicks with no shift presses properly fire InputBegan and InputEnded
pressing shift (left or right) totally blocks InputBegan and InputEnded from firing