version=1
id=2945066057
title=BindAid
description=[h1]Supports B41+. Works in Multiplayer[/h1]
description=[h3]A new save is not required[/h3]
description=
description=[img]https://i.imgur.com/p7Fv1Z6.gif[/img]
description=
description=Input Binding Manager for Project Zomboid which provides optimizations for keyboard input events and additional Mouse button support with optional keybaord emulation.
description=
description=[h2]Features[/h2]
description=[list]
description=[*] Keyboard Input Optimization
description=[*] Modkey Support
description=[*] Additional Mouse Button Support
description=[*] Mouse Button Keyboard Emulation
description=[*] Autohide the Mouse Cursor
description=[*] Easy API for Modders!
description=[/list]
description=
description=[h2]Mod Options[/h2]
description=
description=Mod Options is [b]REQUIRED[/b] to configure this mod; however, it is not a requirement for its operation.  When your first install this mod, please take some time to set up its configuration based on your own needs using Mod Options.  Further information on the available options is available below.
description=
description=When Mod Options is [b]NOT[/b] enabled for a save, your configuration will still be read and applied.  [b]THIS MEANS[/b] Server Owners can safely include this mod without also requiring Mod Options, and user configuration will still be used.
description=
description=[h2]Keyboard Input Optimization[/h2]
description=
description=A full breakdown is available here: BindAid's Keyboard Input Optimization - What It Be, and How It Do
description=
description=In summary, there are 4 general events that are triggered for input handling, and each event will call multiple functions for each keypress.
description=[table]
description=[tr]
description=[th]Event[/th]
description=[th]Trigger[/th]
description=[th]# of Functions[/th]
description=[/tr]
description=[tr]
description=[td]OnKeyStartPressed[/td]
description=[td]When a key is pressed[/td]
description=[td]10[/td]
description=[/tr]
description=[tr]
description=[td]OnKeyKeepPressed[/td]
description=[td]When a key is held, every frame[/td]
description=[td]9[/td]
description=[/tr]
description=[tr]
description=[td]OnKeyPressed[/td]
description=[td]When a key is released[/td]
description=[td]26[/td]
description=[/tr]
description=[tr]
description=[td]OnCustomUIKey[/td]
description=[td]When a key is released[/td]
description=[td]1[/td]
description=[/tr]
description=[/table]
description=
description=This occurs for [b]ALL[/b] keypresses, whether they have actions bound or not.  Multiple keypresses multiply the number of functions called per frame.  This is not an issue for most people, but I have organized and optimized how this is handled so only 1 function is called during the event, which then calls the keypress if applicable.
description=
description=This feature can be disabled in the Mod Options configuration.  If changed while in-game, a restart is required.
description=
description=[h3]Compatibility[/h3]
description=
description=I have created this in a way that should have maximum compatibility.  If you have any issues with a vanilla key not being triggered, I would recommend disabling this optimization and letting me know.  I cannot fix all mod compatibility, and some may require changes by the Modders. For Modders, please see: BindAid - Modder's Resource
description=
description=[list]
description=[*] Mods that add their own [b]NEW[/b] keys are not affected.
description=[*] Mods that modify vanilla functions for keypresses will be compatible as long as their changes are made no later than OnGameStart, and any modifications are forwarded.
description=[/list]
description=
description=[h2]Mouse Buttons[/h2]
description=
description=That's right, BindAid provides support for additional Mouse Buttons!  Currently supports up to 10 additional Mouse Buttons, configurable in the Mod Options!
description=
description=You will need to select the number of Mouse Buttons that you would like to have support for in the Mod Options. A restart of the game is required after you have made this change.
description=
description=The Mouse Buttons have 2 different modes: Mouse Button Events (default) and Keyboard Emulation.  An option is available to enable both methods to run as well.
description=
description=[h3]Mouse Button Events[/h3]
description=
description=When Mouse Button Events are in use, the additional Mouse Buttons are handled similarly to keybind events.  Modders can hook into these events to allow additional actions to be done on a Mouse Button Press/Hold/Release.  Please see: BindAid - Modder's Resource
description=
description=[b]THIS MEANS, BY DEFAULT, MOUSE BUTTONS PERFORM NO NEW ACTIONS! MODDERS MUST ADD SUPPORT FOR THIS![/b]
description=
description=[h3]Keyboard Emulation[/h3]
description=
description=New in the "Keybinds" Options Tab will be the Mouse Buttons that are supported under the "BindAid" section, each set to a keybind of "None".  Setting a Key here on a Mouse Button will instead cause an emulated Keypress to be done instead of the Mouse Event!  For example, you can bind "Reload" to the Middle Mouse Button.
description=
description=[b]NOTE!!![/b] The Emulated Keypress is ONLY done in Lua, so it will not trigger functions defined in Java.  This means you cannot assign a key to "Move Forward" or something like that; it won't work.  Actions such as Reloading, Shout/Emote, and many others are available, as well as new keybinds added by other mods (the main target).
tags=Build 41;Interface;Misc
visibility=private
