Folders in this repository:
stick/
: The Stick crate.sdb/
: The Stick Public Domain database of controllers (not limited to game controllers).gcdb/
: Git Submodule to grab optional SDL mappings from.xtask/
: Scripts run withcargo-xtask
.
Stick uses the xtask repository model to have various scripts written in Rust process controller data, also allowing serde to not be a direct dependency.
cargo xtask
,cargo xtask --help
- Print helpcargo xtask sdb
- Generate the embeddable bytecode databases.
File names are 64-bit hexadecimal values with leading zeros followed by .toml
within a folder referring to the platform.
name = "My Controller Name"
type = "xbox"
[remap]
TriggerR = {} # Ignore events
TriggerL = {}
HatUp = "Up" # Map hat to dpad when you're not using a flightstick
HatDown = "Down"
HatLeft = "Left"
HatRight = "Right"
CamX = { event = "CamX", deadzone = 0.075 } # Adjust deadzones
CamY = { event = "CamY", deadzone = 0.075 }
JoyZ = { event = "TriggerR", max = 1024 } # Set higher-precision axis ranges (usually 255)
CamZ = { event = "TriggerL", max = 1024 }
Type can be any of the following:
xbox
- An Xbox Gamepad (W3 Standard Gamepad Compliant)flight
- A Flightstickplaystation
- A PlayStation Gamepad (W3 Standard Gamepad Compliant)nintendo
- A Nintendo Gamepad (W3 Standard Gamepad Compliant)gamepad
- A generic Gamepad (W3 Standard Gamepad Compliant)
Copyright © 2017-2023 The Stick Contributors.
Licensed under any of
- Apache License, Version 2.0, (LICENSE_APACHE_2_0.txt or https://www.apache.org/licenses/LICENSE-2.0)
- Boost Software License, Version 1.0, (LICENSE_BOOST_1_0.txt or https://www.boost.org/LICENSE_1_0.txt)
- MIT License, (LICENSE_MIT.txt or https://mit-license.org/)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as described above, without any additional terms or conditions.
If you want help using or contributing to this library, feel free to send me an email at [email protected].