As mentioned, user inputs can only be detected from the client. However, with that being said, tools are built in such a way as to have a local script and a server script. The local script detects the input from the user and then does a FireServer function against a remote event to trigger the action in the server script.