As the title says, InputChanged
doesn’t seem to fire at all if the input comes form the keyboard OR if it comes from mouse button presses (e.g. left-click, right-click, etc).
Simple repro, in a LocalScript
that spawns with the player (for example, in StarterGui
):
game:GetService("UserInputService").InputChanged:connect(function()
print(tick())
end)
This will not print the time if you press a button on the keyboard or mouse. It will if you wave around the mouse. Not sure if InputChanged was meant to ignore keyboard and mouse presses, but the wiki says that it shouldn’t:
Fired when a user changes how they’re interacting via a Human-Computer Interface device (Mouse button down, touch begin, keyboard button down, etc). ‘inputObject’ is an instance, which contains useful data for querying user input. This event will always fire regardless of game state.
I haven’t tested this on a controller.