#playdate-sdk #control-api #playdate #api #sdk #gamedev #api-bindings

nightly no-std playdate-controls

High-level controls API built on-top of Playdate API

18 releases

new 0.3.8 Feb 14, 2025
0.3.6 Jul 13, 2024
0.3.2 Oct 27, 2023

#1992 in Game dev

Download history 2/week @ 2024-10-29 12/week @ 2024-11-12 8/week @ 2024-11-19 3/week @ 2024-11-26 4/week @ 2024-12-03 14/week @ 2024-12-10 6/week @ 2024-12-17 144/week @ 2025-01-28 49/week @ 2025-02-04 175/week @ 2025-02-11

368 downloads per month
Used in 2 crates

MIT/Apache

17MB
311K SLoC

Controls API for PlayDate

High-level controls API built on-top of playdate-sys.

Covered components: buttons, accelerometer and crank.

Prerequisites

  1. Rust nightly toolchain (rustup is optional)
  2. Playdate SDK
  3. Follow the official documentation
  4. Follow the instructions for playdate-sys

Usage

Buttons:

extern crate playdate_controls as controls;

// Get buttons state
let buttons = controls::peripherals::Buttons::get();

if buttons.current.a() { println("button A currently is DOWN") }
if buttons.pushed.b() { println("button B was pushed") }
if buttons.released.b() { println("button B was released") }

Accelerometer:

extern crate playdate_controls as controls;

// Turn on the accelerometer
controls::peripherals::Accelerometer::enable();

// Get accelerometer data
let (x, y, z) = controls::peripherals::Accelerometer::get();
println!("[{x:.2},{y:.2},{z:.2}]");

See more in examples.


This software is not sponsored or supported by Panic.

Dependencies