
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
elgato-streamdeck
Advanced tools
Rust library for interacting with Elgato Stream Deck hardware. Heavily based on python-elgato-streamdeck and partially on rust-streamdeck.
This library was made by @TheJebForge as a better-designed alternative to rust-streamdeck, taking code from both of the libraries and making it more pleasant to use.
If you're using systemd on your system, you might have to install udev rules to allow connecting to devices from userspace.
You can do that by using the following command to copy this repo's included 40-streamdeck.rules file into udev/rules.d/:
cp 40-streamdeck.rules /etc/udev/rules.d/
And then reloading udev rules:
sudo udevadm control --reload-rules
Unplugging and plugging back in the device should also help.
You should also create a group called "plugdev" if it doesn't exist and add yourself to it, so you get access to the devices. You also need to restart the user session to let user group changes to kick in.
use elgato_streamdeck::{new_hidapi, StreamDeck};
// Create instance of HidApi
let hid = new_hidapi();
// List devices and unsafely take first one
let (kind, serial) = StreamDeck::list_devices(&hid).remove(0);
// Connect to the device
let mut device = StreamDeck::connect(&hid, kind, &serial)
.expect("Failed to connect");
// Print out some info from the device
println!(
"Connected to '{}' with version '{}'",
device.serial_number().unwrap(),
device.firmware_version().unwrap()
);
// Set device brightness
device.set_brightness(35).unwrap();
// Use image-rs to load an image
let image = image::open("no-place-like-localhost.jpg").unwrap();
// Write it to the device
device.set_button_image(7, image).unwrap();
// Flush
if device.updated {
device.flush().unwrap();
}
As it stands, this library should support the following devices.
Support for non-Elgato (Mirabox/Ajazz) devices has been removed in v0.11. If you wish to use these devices, please use the mirajazz crate, or use v0.10.2 of this crate.
FAQs
Unknown package
We found that elgato-streamdeck demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.