1
0
mirror of synced 2024-11-05 09:49:16 +00:00
MassiveKnob/Linux
Mark van Renswoude beb24e985e Refactored UI to not use view macro
Placeholders for serializing configuration
2024-06-15 11:52:30 +02:00
..
.vscode Started work on Linux application 2024-06-14 18:29:55 +02:00
locales Refactored UI to not use view macro 2024-06-15 11:52:30 +02:00
prototypes/readinputs Started work on Linux application 2024-06-14 18:29:55 +02:00
src Refactored UI to not use view macro 2024-06-15 11:52:30 +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 Refactored UI to not use view macro 2024-06-15 11:52:30 +02:00
Cargo.toml Refactored UI to not use view macro 2024-06-15 11:52:30 +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 Started work on Linux application 2024-06-14 18:29:55 +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.