All Projects → libcala → stick

libcala / stick

Licence: Apache-2.0 and 2 other licenses found Licenses found Apache-2.0 LICENSE_APACHE_2_0.txt BSL-1.0 LICENSE_BOOST_1_0.txt MIT LICENSE_MIT.txt
Platform-agnostic asynchronous gamepad, joystick and flightstick library for the Rust Programming Language

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to stick

Segacontroller
Arduino library to read Sega Genesis (Mega Drive) and Master System (Mark III) controllers.
Stars: ✭ 55 (+34.15%)
Mutual labels:  controller, joystick, gamepad
Unswitch
🕹 A tiny event handler for Switch controllers!
Stars: ✭ 574 (+1300%)
Mutual labels:  controller, joystick, gamepad
joypad.js
JavaScript library that lets you connect and use various gaming controllers with browsers that support the Gamepad API. Less than 5KB in size with zero dependencies and support for button press, axis movement events and vibration play effect.
Stars: ✭ 97 (+136.59%)
Mutual labels:  joystick, gamepad, joystick-library
Vigem
Virtual Gamepad Emulation Framework
Stars: ✭ 225 (+448.78%)
Mutual labels:  joystick, gamepad
mi-360
Xbox360 controller emulation for Xiaomi Gamepad, with vibration support
Stars: ✭ 118 (+187.8%)
Mutual labels:  joystick, gamepad
Vjoy
Virtual Joystick
Stars: ✭ 284 (+592.68%)
Mutual labels:  joystick, gamepad
XB1ControllerBatteryIndicator
A tray application that shows a battery indicator for an Xbox-ish controller and gives a notification when the battery level drops to (almost) empty.
Stars: ✭ 536 (+1207.32%)
Mutual labels:  controller, gamepad
Node Xbox Controller
🎮 [UNMAINTAINED] Interface for Xbox 360 game controller into Node.js
Stars: ✭ 253 (+517.07%)
Mutual labels:  controller, gamepad
DualSenseWindows UE4
Unreal Engine 4 port of the Windows API for the PS5 DualSense controller created at Ohjurot/DualSense-Windows
Stars: ✭ 25 (-39.02%)
Mutual labels:  controller, gamepad
RockerView
A game controller view
Stars: ✭ 21 (-48.78%)
Mutual labels:  controller, joystick
CodeDroneDIY
The most simple, but working, quadricopter flight controller from scratch, using Arduino Uno/Nano.
Stars: ✭ 68 (+65.85%)
Mutual labels:  controller, flight-controller
OMJoystick
This is the JoyStick UI library for SwiftUI.
Stars: ✭ 15 (-63.41%)
Mutual labels:  joystick, joystick-library
Borealis
Hardware accelerated, controller and TV oriented UI library for PC and Nintendo Switch (libnx).
Stars: ✭ 135 (+229.27%)
Mutual labels:  controller, gamepad
Gilrs
Game Input Library for Rust - Mirror of https://gitlab.com/gilrs-project/gilrs
Stars: ✭ 81 (+97.56%)
Mutual labels:  joystick, gamepad
VGamepad
Server-Side Installer & Instructions
Stars: ✭ 19 (-53.66%)
Mutual labels:  controller, gamepad
Nintendoextensionctrl
Arduino library for communicating with Nintendo extension controllers
Stars: ✭ 67 (+63.41%)
Mutual labels:  controller, joystick
Antimicrox
Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support.
Stars: ✭ 226 (+451.22%)
Mutual labels:  controller, gamepad
Tom and Jerry
A multiuser AR game based on ARKit 2 and MultipeerConnectivity
Stars: ✭ 24 (-41.46%)
Mutual labels:  joystick
CtrlUI
CtrlUI (Controller User Interface) is a Windows application, game and emulator launcher for your game controller, DirectXInput converts your game controller to a Xbox (XInput) controller, Fps Overlayer is a tool that shows the frames per second and the cpu, gpu and memory information.
Stars: ✭ 39 (-4.88%)
Mutual labels:  controller
Pedalino
Smart wireless MIDI foot controller for guitarists and more.
Stars: ✭ 105 (+156.1%)
Mutual labels:  controller

Stick

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 with cargo-xtask.

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.

Available Commands

  • cargo xtask, cargo xtask --help - Print help
  • cargo xtask sdb - Generate the embeddable bytecode databases.

TOML Format

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

Type can be any of the following:

  • xbox - An Xbox Gamepad (W3 Standard Gamepad Compliant)
  • flight - A Flightstick
  • playstation - A PlayStation Gamepad (W3 Standard Gamepad Compliant)
  • nintendo - A Nintendo Gamepad (W3 Standard Gamepad Compliant)
  • gamepad - A generic Gamepad (W3 Standard Gamepad Compliant)

License

Licensed under any of

at your option.

Contribution

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.

Help

If you want help using or contributing to this library, feel free to send me an email at [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].