Git Product home page Git Product logo

eruption-project / eruption Goto Github PK

View Code? Open in Web Editor NEW
243.0 12.0 32.0 95.2 MB

Realtime RGB LED Driver for Linux

Home Page: https://eruption-project.org/

License: GNU General Public License v3.0

Rust 86.65% Lua 9.33% Shell 0.99% Roff 0.31% Makefile 0.45% C 0.30% CSS 0.03% RenderScript 0.09% Fluent 1.23% Python 0.58% CMake 0.02% C++ 0.02%
roccat vulcan driver aimo led linux rgb lighting effects eruption

eruption's People

Contributors

cpw avatar dependabot[bot] avatar dr460nf1r3 avatar egiesbrecht avatar erockce avatar mpldr avatar mychaos87 avatar phen-ro avatar r1yuu avatar shu-red avatar x3n0m0rph59 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eruption's Issues

Corrupt profile crashes driver

If the profile slots is ever set invalidly, it causes an irrecoverable crash in the driver. This should ideally reset to a default configuration. As stands it typically requires a purge and reinstall of the driver to get to the default profile slot settings.

eruption cannot connect to pulseaudio

Keyboard: Roccat Vulcan 121 AIMO
Distro: Fedora 32
Issue: Volume controls not working
Read and followed all instructions in the entire README
Followed "Support for Audio Playback and Capture" instructions without any resolution.
journalctl outputs these errors from eruption:
ERROR eruption::plugins::audio > Could not initialize the audio backend: Pulse Audio error: Could not open Pulse Audio: Connection refused
ERROR eruption::plugins::audio > Could not start the audio grabber: Pulse Audio error: Could not open Pulse Audio: Connection refused

Any ideas? ;-)
Thanks

Issue: Missing Key Events, Vulcan 121

xev does not register any events for Fn-F5 or Fn-F7. I will map all the keys/combinations next time I boot into Windows and then compare to the same from Linux. I will update this thread with a complete list of missing/miss-assigned keys that I find.

Macros not working on Vulcan TKL

The very well featured and flexible macro system is not working for the Vulcan TKL. I suspect there is a clash between certain shortcuts for setting up the macro layers, as this uses the home keys in the Vulcan and on the Vulcan TKL several of these keys are used to enable different functionality in the keyboard.

Other possibility is that the onboard functionality is being enabled when game mode is turned on. In fact that appears to be likely as I cannot enable the super key while game mode is on.

Support QWERTZ layout

Hello,
my Keyboard is in the german QWERTZ layout and as soon as I start eruption it is set to QWERTY, making working with it a lot harder.

Kone AIMO displays default colors

My Kone is still not working with the profiles. I rebooted and pulled the journalctl log for eruption.

Nov 12 12:40:06 Ruhig systemd[1]: Starting Driver for ROCCAT Vulcan 100/12x series keyboards...
Nov 12 12:40:06 Ruhig systemd[1]: Started Driver for ROCCAT Vulcan 100/12x series keyboards.
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption > Starting user-mode driver for ROCCAT Vulcan 100/12x series keyboards: Version 0.1.17
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption > Loading saved state...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption > Registering plugins...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugin_manager > Registering plugin: Keyboard - Process keyboard events
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugin_manager > Registering plugin: Mouse - Process mouse events
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugin_manager > Registering plugin: Macros - Inject programmable keyboard and mouse events
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugin_manager > Registering plugin: Introspection - Provide runtime status of the Eruption daemon
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugin_manager > Registering plugin: Persistence - A storage and persistence layer for Lua Scripts
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugin_manager > Registering plugin: Profiles - Switch profiles based on system state
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugin_manager > Registering plugin: System - Basic system information and status
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugin_manager > Registering plugin: Sensors - Query system sensor values
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugin_manager > Registering plugin: Audio - Audio related functions
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::persistence > Loading persistent state data from disk...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                       > Plugins loaded and initialized successfully
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                       > Enumerating connected devices...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::hwdevices            > Found Control interface: "0001:0004:01": ROCCAT Vulcan AIMO
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::hwdevices            > Found LED interface: "0001:0004:03": ROCCAT Vulcan AIMO
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::hwdevices::roccat_vulcan > Bound driver: ROCCAT Vulcan
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::hwdevices::generic_mouse > Bound driver: Generic Mouse Device
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Device enumeration completed
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Spawning keyboard input thread...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Spawning mouse input thread...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Initializing devices...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Waiting for tasks to complete...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Opening keyboard device...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::keyboard        > Now listening on: /dev/input/event21
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::keyboard        > Input device name: "ROCCAT ROCCAT Vulcan AIMO"
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::keyboard        > Input device ID: bus 0x3 vendor 0x1e7d product 0x3098
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::keyboard        > Physical location: usb-0000:03:00.0-13/input0
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::keyboard        > Grabbing the keyboard device exclusively
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::mouse           > Now listening on: /dev/input/event16
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::mouse           > Input device name: "ROCCAT ROCCAT Kone Aimo Mouse"
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::mouse           > Input device ID: bus 0x3 vendor 0x1e7d product 0x2e27
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::mouse           > Physical location: usb-0000:03:00.0-12/input0
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption::plugins::mouse           > Grabbing the mouse device exclusively
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Initializing keyboard device...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Configuring keyboard LEDs...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Opening mouse device...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Initializing mouse device...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Configuring mouse LEDs...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Keyboard firmware revision: 136
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Mouse firmware revision: <not supported>
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Performing late initializations...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Initializing D-Bus API...
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Late initializations completed
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Startup completed
Nov 12 12:40:07 Ruhig eruption[1406]:  INFO  eruption                           > Switching to profile: /var/lib/eruption/profiles/swirl-turbulence.profile

I have tried all included profiles, but none will change the lights on my mouse. (I must say that how moving the mouse moves the swirls is rather impressive).
Running Arch with 5.9.6-arch1-1

Unplugging Mouse Causes Eruption to Panic "Could not get mouse events"

In preparing to update the firmware for my Kova, I unplugged the mouse to re-route the mouse cable. Then what I thought was unusual was the computer fans increasing in speed! That's when I noticed in conky (and top) that journald had jumped to the highest CPU usage so I checked the messages. Eruption was spamming journald/syslog.

Brief output from journalctl -xe -u eruption:

Oct 22 20:33:18 <hostname redacted> eruption[805]:  ERROR eruption::plugins::mouse           > Could not get mouse events

This line is continuously emitted to journald.

A similar message also appears in the syslog:

Oct 22 20:33:28 <hostname redacted> eruption[805]: message repeated 875956 times: [  ERROR eruption::plugins::mouse           > Could not get mouse events]

The work-around/resolution was to shutdown eruption service, update and set enable_mouse = false, and restart eruption. Now when a mouse is unplugged, there isn't any spamming or message about getting mouse events.

I thought at first it was related to my new Kova mouse. But I tested with my previous Logitech mouse and the same issue occurred. With the Logitech there "seemed" like related additional information was being put in the syslog, but that maybe just unrelated noise from other services like systemd.

Details from the syslog:

Oct 22 20:39:24 <hostname redacted> eruption[8621]: message repeated 18654 times: [  ERROR eruption::plugins::mouse           > Could not get mouse events]
Oct 22 20:39:24 <hostname redacted> eruption[8621]:  INFO  eruption::plugins::persistence     > Storing persistent state data to disk...
Oct 22 20:39:24 <hostname redacted> eruption[8621]:  INFO  eruption                           > Closing devices...
Oct 22 20:39:24 <hostname redacted> kernel: [ 1807.620924] input: ROCCAT ROCCAT Vulcan AIMO Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3/2-3.4.3:1.1/0003:1E7D:3098.000E/input/input42
Oct 22 20:39:24 <hostname redacted> kernel: [ 1807.621620] input: ROCCAT ROCCAT Vulcan AIMO Consumer Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3/2-3.4.3:1.1/0003:1E7D:3098.000E/input/input43
Oct 22 20:39:24 <hostname redacted> systemd[1]: Requested transaction contradicts existing jobs: Resource deadlock avoided
Oct 22 20:39:24 <hostname redacted> kernel: [ 1807.683262] input: ROCCAT ROCCAT Vulcan AIMO System Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3/2-3.4.3:1.1/0003:1E7D:3098.000E/input/input44
Oct 22 20:39:24 <hostname redacted> kernel: [ 1807.683632] hid-generic 0003:1E7D:3098.000E: input,hiddev0,hidraw2: USB HID v1.11 Mouse [ROCCAT ROCCAT Vulcan AIMO] on usb-0000:00:14.0-3.4.3/input1
Oct 22 20:39:24 <hostname redacted> kernel: [ 1807.687696] input: ROCCAT ROCCAT Vulcan AIMO as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3/2-3.4.3:1.3/0003:1E7D:3098.000F/input/input46
Oct 22 20:39:24 <hostname redacted> kernel: [ 1807.747782] hid-generic 0003:1E7D:3098.000F: input,hidraw4: USB HID v1.11 Device [ROCCAT ROCCAT Vulcan AIMO] on usb-0000:00:14.0-3.4.3/input3
Oct 22 20:39:24 <hostname redacted> systemd[1]: message repeated 9 times: [ Requested transaction contradicts existing jobs: Resource deadlock avoided]
Oct 22 20:39:24 <hostname redacted> eruption[8621]:  INFO  eruption                           > Exiting now
Oct 22 20:39:24 <hostname redacted> systemd[1]: Requested transaction contradicts existing jobs: Resource deadlock avoided
Oct 22 20:39:24 <hostname redacted> systemd[1]: message repeated 4 times: [ Requested transaction contradicts existing jobs: Resource deadlock avoided]
Oct 22 20:39:24 <hostname redacted> systemd[1]: Requested transaction contradicts existing jobs: Resource deadlock avoided
Oct 22 20:39:24 <hostname redacted> systemd[1]: message repeated 6 times: [ Requested transaction contradicts existing jobs: Resource deadlock avoided]
Oct 22 20:39:24 <hostname redacted> systemd[1]: Requested transaction contradicts existing jobs: Resource deadlock avoided
Oct 22 20:39:24 <hostname redacted> systemd[1]: Requested transaction contradicts existing jobs: Resource deadlock avoided
Oct 22 20:39:24 <hostname redacted> upowerd[1662]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3/2-3.4.3:1.3/0003:1E7D:3098.000F
Oct 22 20:39:24 <hostname redacted> upowerd[1662]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3/2-3.4.3:1.3
Oct 22 20:39:24 <hostname redacted> upowerd[1662]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3/2-3.4.3:1.1/0003:1E7D:3098.000E
Oct 22 20:39:24 <hostname redacted> upowerd[1662]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.3/2-3.4.3:1.1
Oct 22 20:39:24 <hostname redacted> systemd[1]: Requested transaction contradicts existing jobs: Resource deadlock avoided
Oct 22 20:39:24 <hostname redacted> acpid: input device has been disconnected, fd 16
Oct 22 20:39:24 <hostname redacted> systemd[1]: Stopped Driver for ROCCAT Vulcan 100/12x series keyboards.

Eruption version and computer information is the same as what I provided in #22.

Add per-user config directory

I think it would be beneficial if eruption had support for a local user config directory, ${HOME}/.config/eruption, or similar that would allow overriding the central scripts and config files as well as adding new scripts without having to modify the central files.

Volume controls not working after Update

Keyboard: Roccat Vulcan 120 AIMO
Distro: Linux Mint 20
Updated to eruption-roccat-vulcan version 0.1.11-ubuntu7
Issue: Volume controls not working after Update
Read and followed all instructions in the entire README
Followed "Support for Audio Playback and Capture" instructions
Without any resolution.
Any help would be appreciated.
Thanks

All leds are dark following update to 0.1.11

Following an update from eruption-roccat-vulcan-git.x86_64 0.1.10-1.fc32 to eruption-roccat-vulcan-git.x86_64 0.1.11-2.fc32, when the eruption service starts, all leds on my Vulcan 121 AIMO go dark. All was functioning beautifully before the update.

Curiously, there are no error messages or complaints from eruption and the eruption profile switcher seems to be able to change from one profile to another - but all leds remain dark.

SoundFX works.

Eruption crash on startup

Maybe this is related to #17
Eruption crashed on startup with the following message:

-- Logs begin at Sat 2019-07-20 18:20:28 CEST, end at Fri 2020-09-11 15:09:45 CEST. --
Sep 11 13:09:46 Solgaleo systemd[1]: Starting Driver for ROCCAT Vulcan 100/12x series keyboards...
Sep 11 13:09:46 Solgaleo systemd[1]: Started Driver for ROCCAT Vulcan 100/12x series keyboards.
Sep 11 13:09:46 Solgaleo eruption[599]:  INFO  eruption > Starting user-mode driver for ROCCAT Vulcan 100/12x series keyboards: Version 0.1.15
Sep 11 13:09:46 Solgaleo eruption[599]:  INFO  eruption > Loading saved state...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption > Registering plugins...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugin_manager > Registering plugin: Keyboard - Process keyboard events
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugin_manager > Registering plugin: Mouse - Process mouse events
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugin_manager > Registering plugin: Macros - Inject programmable keyboard and mouse events
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugin_manager > Registering plugin: Introspection - Provide runtime status of the Eruption daemon
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugin_manager > Registering plugin: Persistence - A storage and persistence layer for Lua Scripts
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugin_manager > Registering plugin: Profiles - Switch profiles based on system state
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugin_manager > Registering plugin: System - Basic system information and status
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugin_manager > Registering plugin: Sensors - Query system sensor values
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugin_manager > Registering plugin: Audio - Audio related functions
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugins::persistence > Loading persistent state data from disk...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                       > Plugins loaded and initialized successfully
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                       > Enumerating connected devices...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::hwdevices            > Found Control interface: "0007:0003:01": ROCCAT Vulcan AIMO
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::hwdevices            > Found LED interface: "0007:0003:03": ROCCAT Vulcan AIMO
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::hwdevices::roccat_vulcan > Bound driver: ROCCAT Vulcan
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Device enumeration completed
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Spawning keyboard input thread...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Mouse support is DISABLED by configuration
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Waiting for tasks to complete...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Opening keyboard device...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugins::keyboard        > Now listening on: /dev/input/event25
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugins::keyboard        > Input device name: "ROCCAT ROCCAT Vulcan AIMO System Control"
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugins::keyboard        > Input device ID: bus 0x3 vendor 0x1e7d product 0x3098
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugins::keyboard        > Physical location: usb-0000:0b:00.3-2/input1
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugins::keyboard        > Grabbing the keyboard device exclusively
Sep 11 13:09:47 Solgaleo eruption[599]:  ERROR eruption::plugins::keyboard        > Fatal: Keyboard device went away: No such device (os error 19)
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Initializing keyboard device...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Configuring keyboard LEDs...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Opening mouse device...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > This mouse is currently not supported, falling back to the generic driver
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Performing late initializations...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Initializing D-Bus API...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Late initializations completed
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Startup completed
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Switching to profile: profile1.profile
Sep 11 13:09:47 Solgaleo eruption[599]:  ERROR eruption                           > Channel error: channel is empty and sending half is closed
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption::plugins::persistence     > Storing persistent state data to disk...
Sep 11 13:09:47 Solgaleo eruption[599]:  INFO  eruption                           > Closing devices...
Sep 11 13:09:48 Solgaleo eruption[599]:  INFO  eruption                           > Exiting now
Sep 11 13:09:48 Solgaleo systemd[1]: eruption.service: Succeeded.

I could not reproduce the bug, so I guess this was some sort of race condition that rarely happens. I just wanted to list it here for future reference.

I'll let you close the issue.

Roccat Kova AIMO Mouse...Supported?

I just purchased this RGB mouse to match my Vulcan keyboard.

The lighting on the wheel and feet shift through colors between red, yellow, and orange, and on click of the left side back extra button changes the color briefly to blue, but otherwise doesn't appear to match anything with the keyboard despite the profile selected. Some of the newest profiles containing mouse like swirl-voronoi.profile move colors around on the keyboard when the mouse changes position - neat! Other than the movement with swirl-voroni, the only color coordination from the mouse is when either primary and secondary mouse button is clicked or wheel rotated, the keyboard lights briefly "blinks".

Is there a profile to shift the RGB lights on the mouse like the keyboard? Or do you plan to support this AIMO mouse in the future?

Here's my information

$ dpkg -s eruption-roccat-vulcan-git | grep -E '^Package|^Version'
Package: eruption-roccat-vulcan-git
Version: 0.1.16-ubuntu2

/etc/eruption.conf (for mouse)

$ grep mouse /etc/eruption/eruption.conf 
enable_mouse = true
grab_mouse = false
  • Assumed to be configured properly. From interpreting the information in the eruption.conf man page are these options mutually exclusive?

Eruption journalctl log on (re)start

Oct 19 22:33:51 <hostname redacted> eruption[30367]:  INFO  eruption > Starting user-mode driver for ROCCAT Vulcan 100/12x series keyboards: Version 0.1.16
Oct 19 22:33:51 <hostname redacted> eruption[30367]:  INFO  eruption > Loading saved state...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption > Registering plugins...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugin_manager > Registering plugin: Keyboard - Process keyboard events
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugin_manager > Registering plugin: Mouse - Process mouse events
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugin_manager > Registering plugin: Macros - Inject programmable keyboard and mouse events
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugin_manager > Registering plugin: Introspection - Provide runtime status of the Eruption daemon
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugin_manager > Registering plugin: Persistence - A storage and persistence layer for Lua Scripts
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugin_manager > Registering plugin: Profiles - Switch profiles based on system state
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugin_manager > Registering plugin: System - Basic system information and status
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugin_manager > Registering plugin: Sensors - Query system sensor values
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugin_manager > Registering plugin: Audio - Audio related functions
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::persistence > Loading persistent state data from disk...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                       > Plugins loaded and initialized successfully
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                       > Enumerating connected devices...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::hwdevices            > Found Control interface: "0002:000d:01": ROCCAT Vulcan AIMO
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::hwdevices            > Found LED interface: "0002:000d:03": ROCCAT Vulcan AIMO
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::hwdevices::roccat_vulcan > Bound driver: ROCCAT Vulcan
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Device enumeration completed
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Spawning keyboard input thread...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Spawning mouse input thread...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Waiting for tasks to complete...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Opening keyboard device...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::keyboard        > Now listening on: /dev/input/event3
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::keyboard        > Input device name: "ROCCAT ROCCAT Vulcan AIMO"
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::keyboard        > Input device ID: bus 0x3 vendor 0x1e7d product 0x3098
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::keyboard        > Physical location: usb-0000:00:14.0-3.4.3/input0
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::keyboard        > Grabbing the keyboard device exclusively
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::mouse           > Now listening on: /dev/input/event9
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::mouse           > Input device name: "ROCCAT ROCCAT Kova Aimo Mouse"
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::mouse           > Input device ID: bus 0x3 vendor 0x1e7d product 0x2cf1
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption::plugins::mouse           > Physical location: usb-0000:00:14.0-3.4.4/input0
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Initializing keyboard device...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Configuring keyboard LEDs...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Opening mouse device...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > This mouse is currently not supported, falling back to the generic driver
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Keyboard device firmware revision: "136"
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Performing late initializations...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Initializing D-Bus API...
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Late initializations completed
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Startup completed
Oct 19 22:33:52 <hostname redacted> eruption[30367]:  INFO  eruption                           > Switching to profile: my-custom-colors.profile
Oct 19 22:44:13 <hostname redacted> eruption[30367]:  INFO  eruption                           > Switching to profile: my-profile3.profile

Unsure if the message..."This mouse is currently not supported, falling back to the generic driver" is an indicator of limited functionality. This new mouse is the only one plugged in now.

Relevant output from usb-devices:

T:  Bus=02 Lev=03 Prnt=12 Port=02 Cnt=01 Dev#= 13 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1e7d ProdID=3098 Rev=01.00
S:  Manufacturer=ROCCAT
S:  Product=ROCCAT Vulcan AIMO
C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbfs
I:  If#= 2 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
I:  If#= 3 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbfs

T:  Bus=02 Lev=03 Prnt=12 Port=03 Cnt=02 Dev#= 14 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1e7d ProdID=2cf1 Rev=01.00
S:  Manufacturer=ROCCAT
S:  Product=ROCCAT Kova Aimo
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=01 Driver=usbhid

I am still using Ubuntu 18.04.5 at the moment.

Sorry for the upfront data dump but I figured the more you have initially the better.

Is there something else I need configured?

I admit that I have yet to use Swarm to update mouse firmware. I am currently having an issue in the Windows VM when I give Windows control of the Roccat mouse with Swarm running, the cursor pointer disappears. I cannot use keyboard hot keys to navigate to the mouse icon to update.

unable to automatically compile under Arch

Due to the sysinfo dependency requiring a development-version of rust the PKGBUILD is currently not able to build the package automatically. Now for the question: Should I modify the PKGBUILD and open a pull request (not very elegant as this would probably modify the users rust environment) or is there anything you can do?

Only AIMO default lighting effects are applied

Hello,
I installed eruption using the AUR and none of the effects is applied. No matter whether I'm running it with sudo eruption impact.lua or sudo eruption -c /etc/eruption/eruption.conf with the following eruption.conf:

[global]
profile_dir = "/var/lib/eruption/profiles/"
profile = "fireworks"

script_dir = "/usr/share/eruption/scripts/"
script_files = ["organic.lua"]

# select your keyboard variant
keyboard_variant = "ISO"

[frontend]
enabled = true
theme = "eruption"

Same when starting with systemd (basically same as the second command.

Profile Using stripes.lua + audioviz3.lua Cause Lights to Occasionally Freeze

Changes between the current and previous Eruption release (or I never noticed) affects the processing of audio and will occasionally freeze the lights on the keyboard with stripes.lua and audioviz3.lua scripts in the same profile. After a few seconds the audio signal is processed again, but then the lights freeze again after a few seconds. Sometimes the freeze is for a significant length of time until I switch profiles and then back.

Perhaps Eruption does not like my taste in music :-) For what it is worth...the issue also happens for speech audio such as while watching Twitch streams.

The LUA scripts stripes.lua and audioviz3.lua are together by default in profile3.profile profile.

Here is my "profile3" profile (which is a copy of profile3.profile):

$ cat /var/lib/eruption/profiles/my-profile3.profile 
id = '5dc62fa6-e965-45cb-a0da-e87d29713097'
name = "My Profile 3 (Spectrum Analyzer)"
description = "My Profile #3"
active_scripts = [
  'stripes.lua',
  'audioviz3.lua',
  'afterglow.lua',
  'macros.lua',
]

[[config."Audio Visualizer #3 (Spectrum Analyzer)"]]
type = 'float'
name = 'opacity'
value = 0.75

I've confirmed that when stripes.lua is commented out, there is no freezing. But you loose the effect of a default color background until audio is registered. I believe an earlier of Eruption did NOT have stripes.lua in profile3.profile. Before installing new releases, I try to keep a backup of the /var/lib/eruption/profile directory so I can compare and update my custom profiles in case there are new features. The prior release had stripes.lua included. I can't remember if there was freezing with the prior release.

I have another profile (a copy of the included, spectrum-analyzer.profile) using audiovis2.lua which does not have any freezing issues.

I have not done systematic testing using combinations of other lua scripts with audioviz3.lua to see if the same problem happens.

The LUA scripts are unmodified from what is provided.

Eruption package version installed

$ dpkg -l eruption-roccat-vulcan-git  | grep "^ii"
ii  eruption-roccat-vulcan-git 0.1.13-ubuntu0 amd64        Linux user-mode driver for the ROCCAT Vulcan 100/12x series keyboards

System Information

$ sudo inxi -C -m
CPU:       Dual core Intel Core i7-5557U (-MT-MCP-) cache: 4096 KB
           clock speeds: max: 3400 MHz 1: 2270 MHz 2: 2083 MHz 3: 2144 MHz 4: 1819 MHz
Memory:    Used/Total: 1739.5/15836.8MB
           Array-1 capacity: 16 GB devices: 2 EC: None
           Device-1: CHANNEL A DIMM0 size: 8 GB speed: 1867 MT/s type: DDR3
           Device-2: CHANNEL B DIMM0 size: 8 GB speed: 1867 MT/s type: DDR3

Ubuntu Release (Xubuntu)

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"

There are no messages in the eruption system log when the freezing happens.

What other information can I provide for you?

Vulcan TKL Pro missing key in GUI

Screenshot from 2021-02-16 08-30-45

The mute (red highlight in picture) key is missing from the keyboard layout of the Vulcan TKL Pro in the GUI with pre-release eruption-git_0.1.19-18_amd64.deb.

Building from source fails: no associated item named `EPSILON` found for type `f64` in the current scope

While building with cargo build --all -release the following error appears:

error[E0599]: no associated item named `EPSILON` found for type `f64` in the current scope
   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mlua-0.4.2/src/ffi/compat53.rs:292:54
    |
292 |         if (n - i as lua_Number).abs() < lua_Number::EPSILON {
    |                                                      ^^^^^^^ associated item not found in `f64`

error[E0599]: no associated item named `EPSILON` found for type `f64` in the current scope
   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mlua-0.4.2/src/ffi/compat53.rs:318:65
    |
318 |     if ok != 0 && (n - n_int as lua_Number).abs() < lua_Number::EPSILON {
    |                                                                 ^^^^^^^ associated item not found in `f64`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0599`.
error: could not compile `mlua`.

How can i solve this?

Volume control does not work

The volume control knob does not work. When I turn it, the LED lightning goes white for a few seconds before going back to the selected profile. The volume does not change. The mute button and the FX button don't do anything. When pressing the FX button, it is turned on and the volume button is turned off, but the behaviour of the volume knob does not change.

I have followed the README instructions regarding PulseAudio. However, I'm not sure this was necessary. The README says it needs to be done If you want Eruption to be able to play back sound effects, or use one of the audio visualizer Lua scripts, which I actually don't want. But I figured that if my keyboard must adjust the volume it might better have access to the audio.

Screensaver Won't Activate when Eruption Is Running

Hi @X3n0m0rph59

Since the new version was installed today, my screen saver is now not activating if the eruption service is running.

If I stop the service, the screen saver (simple blanking) works again. I did not have this issue with prior 0.1.11 version.

When I try xset s activate the screen blanks for 3 seconds, but then comes back.

If the eruption service is not running, the screen saver will activate at the specified timeout. I have also reset all the profile slots to default.profile and restarted the eruption service multiple times but the problem still occurs.

Please let me know if you need any more information.

Eruption Version

$ dpkg -s eruption-roccat-vulcan-git | grep "^Version"
Version: 0.1.12-ubuntu1

Distribution:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"

Service configuration

$ cat /etc/eruption/eruption.conf
# Eruption - Linux user-mode driver for the ROCCAT Vulcan 100/12x series keyboards
# Main configuration file

[global]
profile_dir = "/var/lib/eruption/profiles/"
script_dir = "/usr/share/eruption/scripts/"

# select your keyboard variant
# keyboard_variant = "ANSI"
keyboard_variant = "ISO"

# Mouse handling
enable_mouse = false
grab_mouse = false

# "Away from keyboard" handling
afk_profile = "matrix.profile"
afk_timeout_secs = 300

Eruption state file:

$ cat /var/lib/eruption/eruption.state 
active_slot = 3
profiles = [
    'default.profile',
    'default.profile',
    'default.profile',
    'default.profile',
]
enable_sfx = false
brightness = 20

Here is my xset parameters

$ xset q
Keyboard Control:
  auto repeat:  on    key click percent:  0    LED mask:  00000002
  XKB indicators:
    00: Caps Lock:   off    01: Num Lock:    on     02: Scroll Lock: off
    03: Compose:     off    04: Kana:        off    05: Sleep:       off
    06: Suspend:     off    07: Mute:        off    08: Misc:        off
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off
    12: Group 2:     off    13: Mouse Keys:  off
  auto repeat delay:  500    repeat rate:  20
  auto repeating keys:  00ffffffdffffbbf
                        fadfffefffedffff
                        9fffffffffffffff
                        fff7ffffffffffff
  bell percent:  50    bell pitch:  400    bell duration:  100
Pointer Control:
  acceleration:  0/1    threshold:  1
Screen Saver:
  prefer blanking:  yes    allow exposures:  yes
  timeout:  10    cycle:  60
Colors:
  default colormap:  0x22    BlackPixel:  0x0    WhitePixel:  0xffffff
Font Path:
  /usr/share/fonts/X11/misc,/usr/share/fonts/X11/Type1,built-ins
DPMS (Energy Star):
  Standby: 1800    Suspend: 0    Off: 3600
  DPMS is Enabled
  Monitor is On

Relevant journalctl -xe -u eruption:

-- The start-up result is RESULT.
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption > Starting user-mode driver for ROCCAT Vulcan 100/12x series keyboards: Version 0.1.12
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption > Loading saved state...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  WARN  eruption::state > Brightness configuration value is set very low, the LEDs will probably stay dark!
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption        > Registering plugins...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugin_manager > Registering plugin: Keyboard - Process keyboard events
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugin_manager > Registering plugin: Mouse - Process mouse events
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugin_manager > Registering plugin: Macros - Inject programmable keyboard and mouse events
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugin_manager > Registering plugin: Introspection - Provide runtime status of the Eruption daemon
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugin_manager > Registering plugin: Persistence - A storage and persistence layer for Lua Scripts
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugin_manager > Registering plugin: Profiles - Switch profiles based on system state
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugin_manager > Registering plugin: System - Basic system information and status
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugin_manager > Registering plugin: Sensors - Query system sensor values
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugin_manager > Registering plugin: Audio - Audio related functions
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugins::persistence > Loading persistent state data from disk...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Plugins loaded and initialized successfully
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Enumerating connected devices...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::hwdevices            > Found Control interface: "0002:0003:01": ROCCAT Vulcan AIMO
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::hwdevices            > Found LED interface: "0002:0003:03": ROCCAT Vulcan AIMO
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Device enumeration completed
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Spawning keyboard input thread...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Mouse support is DISABLED by configuration
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Waiting for tasks to complete...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Opening keyboard device...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugins::keyboard    > Now listening on: /dev/input/event3
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugins::keyboard    > Input device name: "ROCCAT ROCCAT Vulcan AIMO"
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugins::keyboard    > Input device ID: bus 0x3 vendor 0x1e7d product 0x3098
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugins::keyboard    > Physical location: usb-0000:00:14.0-2/input0
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption::plugins::keyboard    > Grabbing the keyboard device exclusively
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Initializing keyboard device...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Configuring keyboard LEDs...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Opening mouse device...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > This mouse is currently not supported, falling back to the generic driver
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Performing late initializations...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Initializing D-Bus API...
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Late initializations completed
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Startup completed
Aug 08 22:25:27 <hostname redacted> eruption[29602]:  INFO  eruption                       > Switching to profile: default.profile

Service doesn't start after reboot.

Hi,
I have managed to compile the project without error.
But nothing happen after reboot.
When i type systemctl start eruption.service i get Failed to start eruption.service: Unit eruption.service not found.
I use debian unstable.
Do you know what is the problem ?
Thx

Not working with Roccat Vulcan Pro on Ubuntu 20.10

I know the software supports this keyboard in an experimental way.
But after an successful installation, there absolutely no change.
I installed also eruption-profile-switcher - extension.
Seems there is no connection to the keyboard?

Please let me know if I need to provide any logfile, setting, etc.

Thank you for your support.

Keyboard stops responding, panics after I press a button on a second keyboard (Ryos).

Eruption is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Eruption is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Eruption. If not, see http://www.gnu.org/licenses/.

INFO eruption > Starting user-mode driver for ROCCAT Vulcan 100/12x series keyboards: Version 0.1.16
INFO eruption > Loading saved state...
WARN eruption > Could not parse state file: Could not load global runtime state: configuration file "/var/lib/eruption/eruption.state" not found
INFO eruption > Registering plugins...
INFO eruption::plugin_manager > Registering plugin: Keyboard - Process keyboard events
INFO eruption::plugin_manager > Registering plugin: Mouse - Process mouse events
INFO eruption::plugin_manager > Registering plugin: Macros - Inject programmable keyboard and mouse events
INFO eruption::plugin_manager > Registering plugin: Introspection - Provide runtime status of the Eruption daemon
INFO eruption::plugin_manager > Registering plugin: Persistence - A storage and persistence layer for Lua Scripts
INFO eruption::plugin_manager > Registering plugin: Profiles - Switch profiles based on system state
INFO eruption::plugin_manager > Registering plugin: System - Basic system information and status
INFO eruption::plugin_manager > Registering plugin: Sensors - Query system sensor values
INFO eruption::plugin_manager > Registering plugin: Audio - Audio related functions
INFO eruption::plugins::persistence > Loading persistent state data from disk...
WARN eruption > Could not load persisted state: No such file or directory (os error 2)
INFO eruption > Plugins loaded and initialized successfully
INFO eruption > Enumerating connected devices...
DEBUG eruption::hwdevices > Device: ROCCAT ROCCAT Vulcan 100 AIMO, interface: 0
DEBUG eruption::hwdevices > Device: ROCCAT ROCCAT Vulcan 100 AIMO, interface: 1
INFO eruption::hwdevices > Found Control interface: "0005:0003:01": ROCCAT Vulcan 100 AIMO
DEBUG eruption::hwdevices > Device: ROCCAT ROCCAT Vulcan 100 AIMO, interface: 2
DEBUG eruption::hwdevices > Device: ROCCAT ROCCAT Vulcan 100 AIMO, interface: 3
INFO eruption::hwdevices > Found LED interface: "0005:0003:03": ROCCAT Vulcan 100 AIMO
DEBUG eruption::hwdevices > Device: Cooler Master Technology Inc. MM710 Gaming Mouse, interface: 0
DEBUG eruption::hwdevices > Device: Cooler Master Technology Inc. MM710 Gaming Mouse, interface: 1
DEBUG eruption::hwdevices > Device: Cooler Master Technology Inc. MM710 Gaming Mouse, interface: 2
DEBUG eruption::hwdevices > Device: C-Media Electronics Inc. USB Audio Device, interface: 3
DEBUG eruption::hwdevices > Device: ROCCAT ROCCAT Ryos MK FX, interface: 0
DEBUG eruption::hwdevices > Device: ROCCAT ROCCAT Ryos MK FX, interface: 1
DEBUG eruption::hwdevices > Device: ROCCAT ROCCAT Ryos MK FX, interface: 2
INFO eruption::hwdevices::roccat_vulcan > Bound driver: ROCCAT Vulcan
INFO eruption > Device enumeration completed
INFO eruption > Spawning keyboard input thread...
INFO eruption > Spawning mouse input thread...
INFO eruption > Waiting for tasks to complete...
INFO eruption > Opening keyboard device...
INFO eruption > Initializing keyboard device...
INFO eruption::plugins::keyboard > Now listening on: /dev/input/event19
INFO eruption::plugins::keyboard > Input device name: "ROCCAT ROCCAT Vulcan 100 AIMO"
INFO eruption::plugins::keyboard > Input device ID: bus 0x3 vendor 0x1e7d product 0x307a
INFO eruption::plugins::keyboard > Physical location: usb-0000:0f:00.3-4/input0
INFO eruption::plugins::keyboard > Grabbing the keyboard device exclusively
INFO eruption::plugins::mouse > Now listening on: /dev/input/event20
INFO eruption::plugins::mouse > Input device name: "ROCCAT ROCCAT Ryos MK FX"
INFO eruption::plugins::mouse > Input device ID: bus 0x3 vendor 0x1e7d product 0x2fda
INFO eruption::plugins::mouse > Physical location: usb-0000:02:00.0-3/input0
INFO eruption::plugins::mouse > Grabbing the mouse device exclusively
thread 'events/mouse' panicked at 'called Result::unwrap() on an Err value: Could not map an evdev event code to a key or button

Location:
/rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libcore/convert/mod.rs:560:9', eruption/src/plugins/mouse.rs:208:80
stack backtrace:
0: 0x559b98d37438 - backtrace::backtrace::libunwind::trace::h14d338b30b3ea0a7
at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
1: 0x559b98d37438 - backtrace::backtrace::trace_unsynchronized::h73ea91d74a3fd67f
at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
2: 0x559b98d37438 - std::sys_common::backtrace::_print_fmt::hd42948c952866e12
at src/libstd/sys_common/backtrace.rs:78
3: 0x559b98d37438 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha8f928866ff7571e
at src/libstd/sys_common/backtrace.rs:59
4: 0x559b98bbcf9c - core::fmt::write::he0c1e5f7426d2718
at src/libcore/fmt/mod.rs:1076
5: 0x559b98d36b06 - std::io::Write::write_fmt::hf3afc6cfd57d0033
at src/libstd/io/mod.rs:1537
6: 0x559b98d3650a - std::sys_common::backtrace::_print::hfc0110703f3696fd
at src/libstd/sys_common/backtrace.rs:62
7: 0x559b98d3650a - std::sys_common::backtrace::print::h3f77c6990ddfaa22
at src/libstd/sys_common/backtrace.rs:49
8: 0x559b98d3650a - std::panicking::default_hook::{{closure}}::heae49580a8d62d75
at src/libstd/panicking.rs:198
9: 0x559b98d35d91 - std::panicking::default_hook::hecc34e3f729e213c
at src/libstd/panicking.rs:217
10: 0x559b98d35d91 - std::panicking::rust_panic_with_hook::he82f5d0644692441
at src/libstd/panicking.rs:526
11: 0x559b98d35a1a - rust_begin_unwind
at src/libstd/panicking.rs:437
12: 0x559b98bba860 - core::panicking::panic_fmt::h09c929f06bb87c98
at src/libcore/panicking.rs:85
13: 0x559b98bbdf92 - core::option::expect_none_failed::h188f17af6c9f404b
at src/libcore/option.rs:1269
14: 0x559b98ad4c6a - eruption::spawn_mouse_input_thread::{{closure}}::h955630c5936e7322
15: 0x559b98a32871 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h39d628bf9fbdc4a8
16: 0x559b98d497f5 - <alloc::boxed::Box as core::ops::function::FnOnce>::call_once::hd2b3bc04af94a84f
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/liballoc/boxed.rs:1081
17: 0x559b98d497f5 - <alloc::boxed::Box as core::ops::function::FnOnce>::call_once::h1044417e186e567a
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/liballoc/boxed.rs:1081
18: 0x559b98d497f5 - std::sys::unix::thread::Thread::new::thread_start::h276e6ca033938925
at src/libstd/sys/unix/thread.rs:87
19: 0x7fa914325ef7 - start_thread
at /home/steo/Downloads/glibc-2.31/nptl/pthread_create.c:477
20: 0x7fa91423b23f - __GI___clone
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
21: 0x0 -
Aborted

Feature request: Game Mode Configuration

On I3 the super key is often configured as the modifier key that drives much of the OS. It used to be possible to stop the gaming mode trigger from disabling particular keys, can we please get that functionality back?

Feature Request: Make the brightness dial work

The Brightness Dial (Volume knob with the "FX" button selected) registers as a whole keyboard event, but brightness is not changed. It would be nice to be able to change brightness with this dial again (especially useful if it also changes mouse brightness).

audioviz3.lua bug ?

aur/eruption-roccat-vulcan-git 0.1.17-4
eruptionctl switch profile profile3.profile

switches to audioviz3.lua but this visualizer only shows one bar for analyzing the sound on the most left keys (ESC downwards) ... the green line on the buttom is present too. I would love to have a fancy spectrum bars all over my keyboard <3

Error in keys neighbor mapping

I'm using the profile1.profile configuration and part of the propagation effect bothers me: when I press Alt or Alt-gr, the lightning propagates to the b and h keys.

If you look at the keyboard layout (mine is an AZERTY vulcan 120 AIMO) the b and h keys are indeed the closest keys to the space bar switch (which is lightened up). However, when pressing the Alt key, it would seem more logical to light up the c and f keys than the b and h. For the alt-gr key, I would light the , and L keys on a QWERTY layout (or ; and L on an AZERTY keyboard) in place of the b and h.

This is really a detail but you said not to hesitate to post bug reports ;-)

Roccat Kone Aimo adressing individual LEDs

Hi,

first of all. I wanna thank you for this project. Since I got my mouse I looked for a driver enabling RGB for it.

When I installed it, I noticed that all the effects change all the LEDs on the mouse at the same time. I was wondering, if the ability to address the individual LEDs has been implemented already and if so, how do I address them? If not, I'd would be great to implement this feature. I'd like to help, but I'm not super experienced in coding and never used RUST before.

Thanks again!

Windows edition maybe?

Hey I like the idea and it works fine on linux for me. I wish I could use it on windows too tho since there is currently no audio visualizer for windows for said Keyboard. Can you maybe port it over?

After Standby Eruption must restart to work.

After standby the vulcan flickering between Firmware and Eruption effects. After pressing FN + F4 its go back to Eruption. But the Macros and Pulseaudio features work only after restart Eruption.

Custom profiles not preserved on version upgrade

@X3n0m0rph59...

I had non-conflicting profile files with names beginning with "my- as copies of your defaults inside /var/lib/eruption/profiles.

When I upgraded to 0.11 with the Ubuntu PPA for Bionic, my custom profiles were removed!

If possible please do not delete the entire /var/lib/eruption/profiles directory and instead adopt how RPMs can work by installing over existing files for updates then removing files that are no longer applicable which have not been modified.

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"

Deamon not found

So I am the dude from your Reddit post, and I tried the steps you told me to do, but I am sorry to say, the problem is still there.

I don't know why the "bug" occurred. I installed the most recent version of 20.04 Ubuntu about a week ago.
I am pretty sure I made no mistakes in the installation process.

Like mentioned I get this error message:
Screenshot from 2021-04-10 21-53-29

Then I tried your lines in the Terminal and the result were:
sudo systemctl status eruption.service:
Screenshot from 2021-04-10 21-47-57
and sudo journalctl -u eruption.service -b:
Screenshot from 2021-04-10 21-48-51
Screenshot from 2021-04-10 21-48-57

At the first line the console wouldn't do anything unless I pressed Ctrl+C again.
The second line was in a weird state were, if I pressed enter a new line would write, which would after a while recreate the text that's already written above.

You asked if my deviced would show LED activity, and they didn't. I mean, yes they did, but only the same way they did before I installed Eruption. (if it does help, I use a Roccat Kone Aimo (the standard Version) and I have no idea if other USB deviced can lead to trubble shooting, but my other two devices are the Hyperx Alloy Elite RGB and the Razer Electra V2 USB, which have both also LEDs in it.)

  • Eruption version: [0.1.19]
  • Your device(s) :Sudo version 1.8.31
    Sudoers policy plugin version 1.8.31
    Sudoers file grammar version 46
    Sudoers I/O plugin version 1.8.31

Add support for loading configs from user-specific directories

I absolutely love this driver, it works amazingly well and opens up so many opportunities for doing cool stuff with the keyboard - you've done some amazing work :)

A suggestion I have is that the eruptionctl switch profile command should also look for profiles stored in a directory such as ~/.config/eruption/profiles, and the active_scripts array should also look for scripts stored in ~/.config/eruption/scripts. That'll allow each user to make their own configs and stuff unique to that individual user, and it won't require root privileges to modify

Eruption crashes on startup

I installed eruption yesterday and it worked very well.
This morning however, it crashed at startup.

The error message from systemctl status eruption command line is the following:

Could not initialize the keyboard plugin: Could not get the name of the evdev device from udev

Manually restarting the service via sudo systemctl restart eruption.service works, though.

I'm using eruption-roccat-vulcan-git version 0.1.14-0 from AUR on Arch Linux, with a Roccat vulcan 120 AIMO

eruption and pipewire

Describe the bug
Not a bug / feature request

To Reproduce
none

Expected behavior
I would love to use audio viz on distributions with pipewire

Logs
none

As far as i see currently pulseaudio and the root "workaround" is requiered to get the audio setup done. Could you check if it could also work with a local pulse server (localhost:port) which can be provided with pipewire too. Additional config option maybe ? Needs maybe to check periodically if the server is started or something like this since there pipewire daemon in the user context.

runtime error in modifiers.lua: attempt to index global 'key_to_index' (a nil value) on Pop 20.04

On first launch of the service, it fails with:

Feb 19 18:31:53 hostname systemd[1]: Starting Linux user-mode input and LED driver for keyboards, mice and other devices...
Feb 19 18:31:53 hostname systemd[1]: Started Linux user-mode input and LED driver for keyboards, mice and other devices.
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption > Starting Eruption - Linux user-mode input and LED driver for keyboards, mice and other devices: Version 0.1.19
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption > Loading saved state...
Feb 19 18:31:53 hostname eruption[384410]:  WARN  eruption > Could not parse state file: Could not load global runtime state: configuration file "/var/lib/eruption/eruption.state" not found
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption > Registering plugins...
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugin_manager > Registering plugin: Keyboard - Keyboard related functions
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugin_manager > Registering plugin: Mouse - Mouse related functions
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugin_manager > Registering plugin: Macros - Inject programmable keyboard and mouse events
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugin_manager > Registering plugin: Introspection - Provide runtime status of the Eruption daemon
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugin_manager > Registering plugin: Persistence - A storage and persistence layer for Lua Scripts
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugin_manager > Registering plugin: Profiles - Switch profiles based on system state
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugin_manager > Registering plugin: System - Basic system information and status
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugin_manager > Registering plugin: Sensors - Query system sensor values
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugin_manager > Registering plugin: Audio - Audio related functions
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption::plugins::persistence > Loading persistent state data from disk...
Feb 19 18:31:53 hostname eruption[384410]:  WARN  eruption                       > Could not load persisted state: No such file or directory (os error 2)
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption                       > Plugins loaded and initialized successfully
Feb 19 18:31:53 hostname eruption[384410]:  INFO  eruption                       > Enumerating connected devices...
Feb 19 18:31:54 hostname eruption[384410]:  INFO  eruption                       > Device enumeration completed
Feb 19 18:31:54 hostname eruption[384410]:  INFO  eruption                       > Performing late initializations...
Feb 19 18:31:54 hostname eruption[384410]:  INFO  eruption                       > Initializing D-Bus API...
Feb 19 18:31:54 hostname eruption[384410]:  INFO  eruption                       > Late initializations completed
Feb 19 18:31:54 hostname eruption[384410]:  INFO  eruption                       > Startup completed
Feb 19 18:31:54 hostname eruption[384410]:  INFO  eruption                       > Switching to profile: profile1.profile
Feb 19 18:31:54 hostname eruption[384410]:  ERROR eruption::scripting::script    > Lua error in file /usr/share/eruption/scripts/macros.lua: runtime error: /usr/share/eruption/scripts/lib/macros/modifiers.lua:25: attempt to index global 'key_to_index' (a nil value)
Feb 19 18:31:54 hostname eruption[384410]: stack traceback:
Feb 19 18:31:54 hostname eruption[384410]:         ok: in function '__index'
Feb 19 18:31:54 hostname eruption[384410]:         ok:25: in main chunk
Feb 19 18:31:54 hostname eruption[384410]:         ok: in function 'require'
Feb 19 18:31:54 hostname eruption[384410]:         ok:32: in main chunk
Feb 19 18:31:54 hostname eruption[384410]:         UnknownError
Feb 19 18:31:54 hostname eruption[384410]:  ERROR eruption                       > Script execution failed
Feb 19 18:31:54 hostname systemd[1]: eruption.service: Main process exited, code=killed, status=6/ABRT
Feb 19 18:31:54 hostname systemd[1]: eruption.service: Failed with result 'signal'.

Build is failing

Describe the bug
Both using paru to build and cloning the repo directly and following the instructions results in the build failing.

To Reproduce
Steps to reproduce the behavior:

  1. Clone the git repository
  2. cd into the directory
  3. Run cargo build --all --release

Expected behavior
The build completes and an executable is the result.

Logs

   Compiling dbus-tokio v0.7.3
error[E0277]: the trait bound `i32: std::os::unix::io::AsRawFd` is not satisfied
   --> /home/caden/.cargo/registry/src/github.com-1ecc6299db9ec823/dbus-tokio-0.7.3/src/connection.rs:59:16
    |
59  |     Registered(AsyncFd<RawFd>),
    |                ^^^^^^^^^^^^^^ the trait `std::os::unix::io::AsRawFd` is not implemented for `i32`
    |
   ::: /home/caden/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/io/async_fd.rs:137:23
    |
137 | pub struct AsyncFd<T: AsRawFd> {
    |                       ------- required by this bound in `tokio::io::unix::AsyncFd`

error[E0277]: the trait bound `i32: std::os::unix::io::AsRawFd` is not satisfied
   --> /home/caden/.cargo/registry/src/github.com-1ecc6299db9ec823/dbus-tokio-0.7.3/src/connection.rs:189:34
    |
189 |     poll_ready: impl FnOnce() -> task::Poll<std::io::Result<AsyncFdReadyGuard<'a, RawFd>>>,
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::os::unix::io::AsRawFd` is not implemented for `i32`
    |
   ::: /home/caden/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.2.0/src/io/async_fd.rs:148:37
    |
148 | pub struct AsyncFdReadyGuard<'a, T: AsRawFd> {
    |                                     ------- required by this bound in `tokio::io::unix::AsyncFdReadyGuard`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
error: could not compile `dbus-tokio`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed

Please complete the following information:

  • Eruption version 0.1.19-25
  • Roccat KONE Pure ultra

Additional context
This is a problem with installing the product. I cannot get an executable, so this is not about the actual program itself. This is about the install process.

Seems to hang on start

Hi, I've just received a Roccat Vulcan 120 AIMO; the keyboard works fine, but eruption seems to hang on start. I see this:


 Eruption is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 Eruption is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with Eruption.  If not, see <http://www.gnu.org/licenses/>.

 INFO  eruption > Starting user-mode driver for ROCCAT Vulcan 100/12x series devices
 INFO  eruption > Loaded profile: Default
 INFO  eruption::rvdevice > Found Control interface: "0001:0017:01": ROCCAT Vulcan 120 AIMO
 INFO  eruption::rvdevice > Found LED interface: "0001:0017:03": ROCCAT Vulcan 120 AIMO
 INFO  eruption           > Opening devices...
 INFO  eruption           > Initializing devices...

Then nothing happens. If I unplug the keyboard, I can see it trying and failing to do more stuff.
I also cannot Ctrl-C the process at this point!

lsusb shows: Bus 001 Device 023: ID 1e7d:3098 ROCCAT
uname -a shows: Linux cinnabar 5.6.5-arch3-1 #1 SMP PREEMPT Sun, 19 Apr 2020 13:14:25 +0000 x86_64 GNU/Linux
I'm using the package from Arch AUR version: eruption-roccat-vulcan-git 0.1.1-0

Problems Running from Source on Ubuntu 18.04

Hello.

I've not had success using the program with the sample configurations after compiling from source.

I compiled from source because the PPA doesn't work with Bionic (I wasn't ready to upgrade yet to the next distro version).

After a quick crash course with cargo and Rust, I got all the dependencies and the eruption program compiled. But executing fails and kills the lighting effects. Only resolution is to "power cycle" the keyboard by un/re-plugging in.

Here is information on my set up.

These are my Roccat software and firmware versions (used through a Windows 10 guest via VirtualBox 6.1

Roccat Swarm Version: v1.9368
Roccat Driver Version: v1.36
Roccat Vulcan AIMO 120, Firmware Version: v1.0029

Additional information:

[ 1159.165357] input: ROCCAT ROCCAT Vulcan AIMO as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:1E7D:3098.0007/input/input20
[ 1159.224438] hid-generic 0003:1E7D:3098.0007: input,hidraw0: USB HID v1.11 Keyboard [ROCCAT ROCCAT Vulcan AIMO] on usb-0000:00:14.0-1/input0
[ 1159.225781] input: ROCCAT ROCCAT Vulcan AIMO Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/0003:1E7D:3098.0008/input/input21
[ 1159.284181] input: ROCCAT ROCCAT Vulcan AIMO Consumer Control as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/0003:1E7D:3098.0008/input/input22
[ 1159.284257] input: ROCCAT ROCCAT Vulcan AIMO System Control as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/0003:1E7D:3098.0008/input/input23
[ 1159.284425] hid-generic 0003:1E7D:3098.0008: input,hiddev0,hidraw1: USB HID v1.11 Mouse [ROCCAT ROCCAT Vulcan AIMO] on usb-0000:00:14.0-1/input1
[ 1159.287780] input: ROCCAT ROCCAT Vulcan AIMO as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2/0003:1E7D:3098.0009/input/input25
[ 1159.344151] hid-generic 0003:1E7D:3098.0009: input,hidraw2: USB HID v1.11 Keypad [ROCCAT ROCCAT Vulcan AIMO] on usb-0000:00:14.0-1/input2
[ 1159.344604] input: ROCCAT ROCCAT Vulcan AIMO as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.3/0003:1E7D:3098.000A/input/input26
[ 1159.404426] hid-generic 0003:1E7D:3098.000A: input,hidraw3: USB HID v1.11 Device [ROCCAT ROCCAT Vulcan AIMO] on usb-0000:00:14.0-1/input3

Distro Information:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"

Tried executing both as user and using sudo. My user account is a member of the relative groups usb and plugdev.

Build Information:

$ cargo -V
cargo 1.41.0
rustc 1.41.0

Executed with command (with ideas from issue #5):

$ sudo RUST_LOG=full RUST_BACKTRACE=full /home/erockce/.cargo/bin/eruption -c support/config/eruption-dev.conf 2>&1 | tee > fail-to-work-$(date +%G%m%d-%H%M%S).log

Error outputs attached. First as user, second with sudo.

FWIW, I had the same loss of lights with another project and reported here: simonhuwiler/roccatvulcan/issues/6.

Attachments:
fail-to-work-20200615-233510.log
fail-to-work-20200615-233808.log

Feature Request: Add support for Kona AIMO

Please add support for Kona AIMO. I captured data in a *.pcap similar to what you asked for in the Kove thread (but on a bare-metal Windows install.) Note that my Vulkan121 was on the same root. The Kona was on Port20, and the Vulkan was on Port21. Also similar to the Kove, the keyboard does respond to mouse events as is. I wiggled the mouse around a bit before and after starting swarm, and I also cycled through all the buttons and wheel manipulations (but I can't remember the order...I can do it again if that's important).

KonaAIMO.zip

Changing mouse options

Moving this to a different thread because I didn't want to clog up the other one. See issue #47 for other information.

Given the instructions,

On a ROCCAT Kone Pure Ultra mouse, this is how to enable zero-debounce:

Find mouse device index like this:
 $ sudo eruption-debug-tool list

 Please stop the Eruption daemon prior to running this tool:
 $ sudo systemctl mask eruption.service && sudo systemctl stop eruption.service

 You can re-enable Eruption with this command afterwards:
 $ sudo systemctl unmask eruption.service && sudo systemctl start eruption.service
 

Please find the device you want to debug below and use its respective
index number (column 1) as the device index for the other sub-commands of this tool

Index: 00: ID: 46d:c051 Logitech/USB-PS/2 Optical Mouse Subdev: 0
Index: 01: ID: 1e7d:2dd2 ROCCAT/ROCCAT Kone Pure Ultra Subdev: 0
Index: 02: ID: 1e7d:2dd2 ROCCAT/ROCCAT Kone Pure Ultra Subdev: 1
Index: 03: ID: 1e7d:2dd2 ROCCAT/ROCCAT Kone Pure Ultra Subdev: 2
Index: 04: ID: 1e7d:2dd2 ROCCAT/ROCCAT Kone Pure Ultra Subdev: 3
Index: 05: ID: 1e7d:311a ROCCAT/ROCCAT Vulcan Pro TKL Subdev: 0
Index: 06: ID: 1e7d:311a ROCCAT/ROCCAT Vulcan Pro TKL Subdev: 1
Index: 07: ID: 1e7d:311a ROCCAT/ROCCAT Vulcan Pro TKL Subdev: 2
Index: 08: ID: 1e7d:311a ROCCAT/ROCCAT Vulcan Pro TKL Subdev: 3

Enumeration completed
So the device index on my system would be 1.

We need to write to the device with index 1, as determined previously
Byte 3 of the data structure represents the zero-debounce configuration option (on a ROCCAT Kone Pure Ultra)
So, to turn on zero-debounce, I would need to run this command:

 $ sudo eruption-debug-tool write 1 '[0x11, 0x0e, 0x01, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x4c, 0x00, 0x05, 0x05, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x09, 0x06, 0xff, 0x0f, 0x00, 0x00, 0x14, 0xff, 0xff, 0x00, 0x00, 0x14, 0xff, 0x00, 0x48, 0xff, 0x14, 0xff, 0x00, 0x48, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00]'
And to turn off the zero-debounce option, I run this command:

 $ sudo eruption-debug-tool write 1 '[0x11, 0x0e, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x4c, 0x00, 0x05, 0x05, 0x00, 0x08, 0x00, 0x10, 0x00, 0x18, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x03, 0x09, 0x06, 0xff, 0x0f, 0x00, 0x00, 0x14, 0xff, 0xff, 0x00, 0x00, 0x14, 0xff, 0x00, 0x48, 0xff, 0x14, 0xff, 0x00, 0x48, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00]'
To read out the state from the device:

 $ sudo eruption-debug-tool read 1 0x11 78
In case your mouse device needs a different byte sequence
Save a state snapshot of your mouse using:
 $ sudo eruption-debug-tool state-diff 1
Fire up ROCCAT Swarm (e.g. in a VM), change a single setting (zero-debounce)
Again, save a state snapshot of your mouse using:
 $ sudo eruption-debug-tool state-diff 1
On the second invocation of state-diff you will get a diff view of the changed bytes.

 $ sudo eruption-debug-tool state-diff 1

 Please stop the Eruption daemon prior to running this tool:
 $ sudo systemctl mask eruption.service && sudo systemctl stop eruption.service

 You can re-enable Eruption with this command afterwards:
 $ sudo systemctl unmask eruption.service && sudo systemctl start eruption.service
 
Index: 01: ID: 1e7d:2dd2 ROCCAT/ROCCAT Kone Pure Ultra Subdev: 0
Reading data from device...
The following USB HID report IDs have changed bytes:

Changed bytes: [116]
0x05: [0x05, 0x80, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xef, 0xe7, 0x01, 0x00, 0x00, 0x00, 0x90, 0x93, 0x00, 0x00, 0x94, 0x93, 0x00, 0x00, 0xa4, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x22, 0x40, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00=>0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, ]

Changed bytes: [116]
0x04: [0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xef, 0xe7, 0x01, 0x00, 0x00, 0x00, 0x90, 0x93, 0x00, 0x00, 0x94, 0x93, 0x00, 0x00, 0xa4, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x22, 0x40, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00=>0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, ]

Changed bytes: [2, 12]
0x11: [0x11, 0x0e, 0x00=>0x01, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x4c=>0x4d, 0x00, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ]

Saving state data...
Done

I have to do the second way since the first option did not enable zero debounce for me (still unable to drag click). I've installed a windows VM, but the ROCCAT Swarm software does not recognize my mouse device, and whenever I try to apply the updates it prompts me for on boot the program crashes. I would ask for help elsewhere since I know this is a bit besides the purpose of this software, but I can't really find any other place to ask.

Is there anything you would recommend that would allow my mouse to be recognized in the windows VM? If not, is there any other way to see if I can enable the zero debounce option?

Also I tried drag clicking with another mouse, and it still didn't work, although I wasn't able to turn down the debounce time on that one so it might just be that reason that it didn't work.

Eruption fails to start

The program fails to start with the following

Logs
https://pastebin.com/DwzgTM1d

sudo systemctl -u eruption.service -b does not seem to work and returns " systemctl: invalid option -- 'u' "

Screenshots (optional)
slurped-2021-03-18-09:40:31

Please complete the following information:

  • Eruption version [e.g. 0.1.19]
  • ROCCAT ROCCAT Kone Aimo 16K

How do I disable the "Eruption Virtual Mouse" feature?

After installing 0.1.11, Eruption is trying to grab my mouse instead of letting me use a kernel Logitech driver (for my M325).

I use XFCE4 and with Eruption version 0.1.10, I could simply select and uncheck "Enable this device" for "Eruption Virtual Mouse" in the "Mouse and Touchpad" (I believe provided by the xfsettingsd process).

With 0.1.11 if I want mouse functionality, I'm forced to use the "Eruption Virtual Mouse" and disable "Logitech M325"..

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"

At one point just after I updated eruption, I was able to disable the "Eruption Virtual Mouse" and "Logitech M325" was enabled. This promptly sent systemd-journal to use very high CPU usage and repeat the following message (seen when using journalctl -xe):

Jul 27 21:25:19 nuc eruption[875]:  ERROR eruption::plugins::mouse               > Could not get mouse events
Jul 27 21:25:49 nuc systemd-journald[361]: Suppressed 3567672 messages from eruption.service

I rebooted and I still am not able to use the Logitech driver. Would this have anything to do with the Experimental mouse features added in 0.1.11?

Support for Roccat Khan Aimo

Hi there, I have always wanted to be able to use my Khan Aimo headset on Ubuntu, but there has never been support for it. I would love to be able to get it working. It would be really useful for me, and would save me a few. If I can help in any way, please let me know.

  • Thanks.

Volume control stops working

Hi X3n0m0rph59,

First of all thank you for your awesome project! Finally I can use my Roccat Vulcan 120 with RGB support on Linux.
I as well as a friend of mine (with same keyboard) have the issue that our volume control wheel (top right corner) stopped working as soon as we loaded a profile.

Is there a fix for this?

Best regards
Maurits

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.