# IInputManager > Manages input effects for players running the Lectern client. `gg.lode.lecternapi.api.manager.IInputManager` --- ## Signature ```java public interface IInputManager ``` --- ## Methods ### disableKeybind ```java void disableKeybind(Player player, Keybind keybind) ``` Disables a keybind on the player's client. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `keybind` | `Keybind` | The keybind to disable. | --- ### enableKeybind ```java void enableKeybind(Player player, Keybind keybind) ``` Re-enables a previously disabled keybind on the player's client. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `keybind` | `Keybind` | The keybind to re-enable. | --- ### clearDisabledKeybinds ```java void clearDisabledKeybinds(Player player) ``` Clears all disabled keybinds, restoring normal input. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | --- ### setKeybindsInverted ```java void setKeybindsInverted(Player player, boolean inverted) ``` Inverts all keybinds on the player's client. W/S, A/D, sneak/jump, and attack/use are swapped. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `inverted` | `boolean` | `true` to invert, `false` to restore normal input. | --- ### setDisableHitbox ```java void setDisableHitbox(Player player, boolean disabled) ``` Disables the player's ability to interact with entity hitboxes. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `disabled` | `boolean` | `true` to disable hitbox interaction. | --- ### setHeadLocked ```java void setHeadLocked(Player player, boolean locked) ``` Locks or unlocks the player's head/camera movement. When locked, the player cannot rotate their camera regardless of mouse input. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `locked` | `boolean` | `true` to lock head movement, `false` to unlock. | --- ### setDisableChunkReload ```java void setDisableChunkReload(Player player, boolean disabled) ``` Disables or enables chunk reload on the player's client. When disabled, the client will not reload chunks (F3+A). | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `disabled` | `boolean` | `true` to disable chunk reload, `false` to enable. | --- ### setDisableChunkBoundaries ```java void setDisableChunkBoundaries(Player player, boolean disabled) ``` Disables or enables chunk boundary rendering on the player's client. When disabled, the client will not render chunk boundaries (F3+G). | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `disabled` | `boolean` | `true` to disable chunk boundaries, `false` to enable. | --- ### registerKeybind ```java void registerKeybind(Player player, String id, String translationKey, int defaultKey, String category) ``` Registers a custom keybind on the player's client. The keybind appears in the player's controls settings and fires `KeybindPressedEvent` when pressed. If a keybind with the same ID already exists, it is replaced. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `id` | `String` | A unique identifier for this keybind (e.g. `"myplugin:ability"`). | | `translationKey` | `String` | The display name shown in controls (e.g. `"Use Ability"`). | | `defaultKey` | `int` | The default GLFW key code (e.g. `GLFW.GLFW_KEY_G` = 71). | | `category` | `String` | The category name in controls (e.g. `"My Plugin"`). | --- ### unregisterKeybind ```java void unregisterKeybind(Player player, String id) ``` Unregisters a custom keybind from the player's client. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `id` | `String` | The keybind identifier to remove. | --- ### clearKeybinds ```java void clearKeybinds(Player player) ``` Clears all custom keybinds on the player's client. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | --- ## Keybind Enum `gg.lode.lecternapi.api.data.Keybind` | Value | Key | |---|---| | `ATTACK` | `"attack"` | | `USE` | `"use"` | | `FORWARD` | `"forward"` | | `BACK` | `"back"` | | `LEFT` | `"left"` | | `RIGHT` | `"right"` | | `JUMP` | `"jump"` | | `SNEAK` | `"sneak"` | | `INVENTORY` | `"inventory"` | | `TOGGLE_PERSPECTIVE` | `"togglePerspective"` | --- ## Related Pages - [[ILecternAPI]] — Access via `getInputManager()`