Keybee
Keybee is a semantic input binding library. It's currently an early proof of concept that has been extracted from a larger game project, modified, and not well tested.
Keybee is built around straightforward core primitives:
Sessionholds all state for an applicationActiondefines anything a player can do, like jump or moveActionSetgroups together related actionsBindingsassigns inputs to actions
Features
winit: Enable support for winit eventsgilrs: Enable support for gil-rs events
Getting Started
use ;
let session = new;
let gameplay = session.create_action_set;
let jump = gameplay.;
let movement = gameplay.;
// Keybee will have support for deserializing bindings from files, but for now,
// this isn't quite done.
session.use_bindings;
loop
Future Improvements
- Support for multiple players
- Other backends: SDL, others
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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 dual licensed as above, without any additional terms or conditions.