# Fake Input Fake Input is achieved by external tools, usually by injecting the client. Fake input is what WaspLib uses that allows you to use your mouse and keyboard freely while botting. There's 2 versions of fake input: - RemoteInput for java based clients - wasp-input for the official CPP client If you wish to completely disable fake input you can do so by adding the following compiler directive before you include WaspLib in your script: ```pascal {$DEFINE WL_DISABLE_FAKE_INPUT} ``` You can find remote input source code here: https://github.com/Brandon-T/RemoteInput And wasp-input here: https://github.com/WaspScripts/wasp-input - - - ## TRemoteInput Main record used to interact with the remote input plugin. - - - ## TRemoteInput.Setup ```pascal procedure TRemoteInput.Setup(); ``` Internal method used to setup {ref}`TRemoteInput`. This is automatically called for you on the {ref}`RemoteInput variable`. - - - ## RemoteInput variable Global {ref}`TRemoteInput` variable. - - - ## TWaspInput Main record used to interact with the wasp input plugin. - - - ## TWaspInput.Setup ```pascal procedure TWaspInput.Setup(); ``` Internal method used to setup {ref}`TWaspInput`. This is automatically called for you on the {ref}`WaspInput variable`. - - - ## TRSClient.Clear ```pascal procedure TRSClient.Clear(); ``` Clears the client canvas. Example: ```pascal RSClient.Clear(); ``` - - - ## RSClient.LoseFocus() ```pascal procedure TRSClient.LoseFocus(); procedure TRSClient.LoseFocus(delay: Int32); ``` Loses focus if available. Maybe useful for antiban. You can optionally delay losing focus by passing in a `delay`. - - - ## TRSClient.IsInputEnabled ```pascal function TRSClient.IsInputEnabled(): Boolean; ``` Returns True/False if the user **REAL** input is enabled/disabled, fully or partially, on the client. Example: ```pascal WriteLm RSClient.IsInputEnabled(); ``` - - - ## TRSClient.DisableRealInput ```pascal procedure TRSClient.DisableRealInput(); ``` Disables the user real input on the client for both the mouse and keyboard. Example: ```pascal RSClient.DisableRealInput(); ``` - - - ## TRSClient.EnableRealInput ```pascal procedure TRSClient.EnableRealInput(); ``` Enables the user real input on the client for both the mouse and keyboard. Example: ```pascal RSClient.EnableRealInput(); ``` - - - ## TRSClient.InjectInput ```pascal procedure TRSClient.InjectInput(); ``` Injects the client with one of the fake input tools: - {ref}`RemoteInput` - {ref}`WaspInput` Example: ```pascal RSClient.InjectInput(); ```