{"id":"adammillsy/inputter","name":"inputter","scope":"adammillsy","platform":"roblox","description":"A light-weight cross-platform input manager","version":"0.1.3","latest":"0.1.3","versions":["0.0.1","0.0.2","0.0.3","0.0.4","0.1.0","0.1.1","0.1.2","0.1.3"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":false,"dependencies":{"sleitnick/signal":{"version":"^2.0.3","alias":"Signal"},"sleitnick/table-util":{"version":"^1.2.1","alias":"TableUtil"}},"integrity":"e83053d485874806e62f2fc71553796956eba94eccb530897fc984b7af482f70","likes":0,"downloads":0,"install":"forest install adammillsy/inputter","url":"https://forest.dev/p/roblox/adammillsy/inputter","files":"https://api.forest.dev/ai/package/roblox/adammillsy/inputter/files","readme":"# Inputter\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://choosealicense.com/licenses/mit/) [![Docs](https://github.com/AdamMillsy/Inputter/actions/workflows/docs.yaml/badge.svg)](https://github.com/AdamMillsy/Inputter/actions/workflows/docs.yaml) [![Continuous Integration](https://github.com/AdamMillsy/Inputter/actions/workflows/ci.yaml/badge.svg)](https://github.com/AdamMillsy/Inputter/actions/workflows/ci.yaml)\n\n**Inputter** is a fully-typed, cross-platform ROBLOX input manager for clean and efficient input handling across PC, mobile, and console devices.\n\n---\n\n## Features\n\n- Cross-platform support (PC, Console, Mobile)  \n- Typed input configuration  \n- Easy integration with existing systems  \n- Supports multiple simultaneous inputs  \n\n---\n\n## Installation\n\n### Using Wally\n\nAdd the following line to your `wally.toml` dependencies:\n\n```toml\nInputter = \"adammillsy/inputter@0.1.1\"\n```\n\nThen run:\n\n```sh\nwally install\n```\n\n### Manual Installation\n\nDownload a ZIP file of the module from the [GitHub repository](https://github.com/AdamMillsy/Inputter), and copy the code into your project.\n\n---\n\n## Getting Started\n\nRequire the module in your project:\n\n```lua\nlocal Inputter = require(Path.To.Inputter)\n```\n\nThe following example creates a new inputter that responds to both mouse and gamepad input:\n\n```lua\nlocal exampleInput = Inputter.new(\"ExampleInput\", {\n    Inputter.Trigger.PRESS({\n        Input = Enum.KeyCode.ButtonR2,\n    }),\n    Inputter.Trigger.MULTIPLE_PRESS({\n        Input = Enum.UserInputType.MouseButton1,\n    }, 2, 0.3),\n})\n\nexampleInput.OnActivated:Connect(function()\n    print(\"Activated\")\nend)\n\nexampleInput.OnDeactivated:Connect(function()\n    print(\"Deactivated\")\nend)\n```\n\nInputter automatically handles platform-specific input logic under the hood.\n\n---\n\n## Documentation\n\nTo view the documentation, please go to [this page](https://adammillsy.github.io/Inputter/).\n\n## Why Inputter?\n\n`UserInputService` is excellent, however most games focus on one platform before expanding to others. Inputter makes it easy to add and remove input methods, removing the complexity that the default methods provide.\n\n---\n\n## Contributing\n\nIssues and PRs are welcome!\n\n---\n\n## TypeScript Port\nA Roblox-TS port of Inputter is now available here: https://github.com/Its-a-bit-random/Inputter-TS\n\nI am not a maintainer of this fork, but do endorse it.\n\n---\n\n## License\n\nThis project is licensed under the [MIT License](https://choosealicense.com/licenses/mit/) and maintained by **Adam Mills**.\n\n---\n\n\n","readmeTruncated":false}