1
0
mirror of synced 2024-11-21 23:43:49 +00:00
MassiveKnob/Linux
Mark van Renswoude dced5cba03 Refactoring
Trying to find nice coding patterns as I'm learning Rust
2024-08-12 09:20:27 +02:00
..
.vscode Refactoring 2024-08-12 09:20:27 +02:00
locales Refactoring 2024-08-12 09:20:27 +02:00
prototypes/readinputs Started work on Linux application 2024-06-14 18:29:55 +02:00
src Refactoring 2024-08-12 09:20:27 +02:00
.gitignore Started work on Linux application 2024-06-14 18:29:55 +02:00
build.rs Started work on Linux application 2024-06-14 18:29:55 +02:00
Cargo.lock Refactoring 2024-08-12 09:20:27 +02:00
Cargo.toml Refactoring 2024-08-12 09:20:27 +02:00
icons.toml Started work on Linux application 2024-06-14 18:29:55 +02:00
README.md Started work on Linux application 2024-06-14 18:29:55 +02:00
shell.nix Refactoring 2024-08-12 09:20:27 +02:00

MassiveKnob - Linux GUI

This is a WIP port of the MassiveKnob Windows application to Rust. It may also run on Windows and is intended to replace the Windows version eventually so only one needs to be maintained. However, since this is my first proper project in Rust I am focusing on getting it to work on Linux first. I use NixOS btw. ;-)

USB device access

If you're getting an access denied when accessing the USB port you should configure user access. On my system this is handled by udev, for which configuration is usually in /etc/udev/rules.d/. The corresponding NixOS configuration is as follows:

  # Specific device
  services.udev.extraRules = ''
    KERNEL=="ttyACM1", MODE:="666"
  '';

  # Any Arduino Leonardo (check dmesg or lsusb for specs)
  services.udev.extraRules = ''
    ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="8036", MODE="0666"
  '';

Developing

NixOS / Nix

Use the 'Nix Environment Selector' VSCode extension to get the dev dependencies for Rust Analyzer to work. In the terminal, use nix-shell to get the same environment for cargo run.