# 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`. - - - ## TClient.Clear ```pascal procedure TClient.Clear(); ``` Clears the client canvas. Example: ```pascal Client.Clear(); ``` - - - ## Client.LoseFocus() ```pascal procedure TClient.LoseFocus(); procedure TClient.LoseFocus(delay: Int32); ``` Loses focus if available. Maybe useful for antiban. You can optionally delay losing focus by passing in a `delay`. - - - ## TClient.IsInputEnabled ```pascal function TClient.IsInputEnabled(): Boolean; ``` Returns True/False if the user **REAL** input is enabled/disabled, fully or partially, on the client. Example: ```pascal WriteLn Client.IsInputEnabled(); ``` - - - ## TClient.DisableRealInput ```pascal procedure TClient.DisableRealInput(); ``` Disables the user real input on the client for both the mouse and keyboard. Example: ```pascal Client.DisableRealInput(); ``` - - - ## TClient.EnableRealInput ```pascal procedure TClient.EnableRealInput(); ``` Enables the user real input on the client for both the mouse and keyboard. Example: ```pascal Client.EnableRealInput(); ``` - - - ## TClient.InjectInput ```pascal procedure TClient.InjectInput(); ``` Injects the client with one of the fake input tools: - {ref}`RemoteInput` - {ref}`WaspInput` Example: ```pascal Client.InjectInput(); ```