InputChanged doesn't seem to fire if the input is from the Keyboard/MouseButton presses

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.

Pretty sure those only fire InputBegan and InputEnded.
InputChanged is only for movement of the mouse(wheel) and probably some controller stuff.

Isn’t that description on the wiki the same for all InputSTUFFs?

3 Likes

Changed isn’t a catch-all for any input, it specifically refers to an input with parameters that change over time like a thumbstick or mouse movement.

1 Like