mortendynamite / g19daemon Goto Github PK
View Code? Open in Web Editor NEWLinux daemon for Logitech G19 Keyboard
License: GNU General Public License v3.0
Linux daemon for Logitech G19 Keyboard
License: GNU General Public License v3.0
After I setup my RGB using the LCD Keys (R=60,G=255,B=200), I press OK key and the configuration is saved to the Dynamite folder:
/home/username/.config/Dynamite/G19Daemon.conf
As soon as I use the Volume adjustment roller to change the sound volume, I notice that the keyboard lighting reacts to the change, going on a scale and when the sound is muted all the keyboard glows red. This is a very cool effect smile !!!
Now here lies the problem, after using the roller (or the Mute key), the keyboard lighting reacts accordingly, however it returns to a default state, which is not what I configured (the default seems to be a purpleish color).
It seems to me that the configuration file saved under Dynamite is only being loaded when the user saves changes with the LCD keys.
When user first opens plugin:
Max Brightness value is 255 and the graph bar is visibly above the text "Current step: 10, Value: 255"
graph bar max value 255
Current step: 10, Value: 255
graph bar
graph bar
graph bar
graph bar
graph bar min value 0
Once the user edits the value, either to max or below the 127 value, both the graph and the max value allowed are default to max value 127
Current step: 10, Value: 127
graph bar max value 127
graph bar
graph bar
graph bar
graph bar
graph bar min value 0
Application cannot libusb detach kernel driver
libusb: error [op_detach_kernel_driver] detach failed, errno=113
Cannot load library /usr/lib/g19daemon/0.1/plugins/libpavolume.so: (/usr/lib/g19daemon/0.1/plugins/libpavolume.so: undefined symbol: pa_operation_unref).
When I start the G19daemon on Kubuntu 20.04 I'm getting the above error. I cannot find the issue because the method is in the Pulseaudio API. Do you know why this occurs?
Did not have a problem until the second run. Looks like segfault is caused by uninitialized variables around g19daemon:107.
==10369== Conditional jump or move depends on uninitialised value(s)
==10369== at 0x114E99: g19daemon::~g19daemon() (g19daemon.cpp:107)
==10369== by 0x113E4D: main (main.cpp:33)
==10369==
==10369== Use of uninitialised value of size 8
==10369== at 0x5E55532: QSettings::setValue(QString const&, QVariant const&) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==10369== by 0x114EDE: g19daemon::~g19daemon() (g19daemon.cpp:108)
==10369== by 0x113E4D: main (main.cpp:33)
==10369==
==10369== Invalid read of size 8
==10369== at 0x5E55532: QSettings::setValue(QString const&, QVariant const&) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==10369== by 0x114EDE: g19daemon::~g19daemon() (g19daemon.cpp:108)
==10369== by 0x113E4D: main (main.cpp:33)
==10369== Address 0x8 is not stack'd, malloc'd or (recently) free'd
==10369==
==10369==
==10369== Process terminating with default action of signal 11 (SIGSEGV)
==10369== Access not within mapped region at address 0x8
==10369== at 0x5E55532: QSettings::setValue(QString const&, QVariant const&) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==10369== by 0x114EDE: g19daemon::~g19daemon() (g19daemon.cpp:108)
==10369== by 0x113E4D: main (main.cpp:33)
Hello,
first and foremost, many thank you for this wonderful contribution.
I noticed a problem, whenever I press the G-Keys, I see the following events in the terminal going on a loop:
Run command: ""
Run command: ""
Run command: ""
(...)
Notes:
I am running Manjaro 20 KDE with kernel 5.6.19-2;
None of the G-Keys are configured to execute a command;
I tested all keys in the keyboard, this only occurs when I press a G-Key.
Also tested this scenario:
I configured the G4 Key to open firefox using the following command:
/usr/lib/firefox/firefox %u
When I press the G4 key, firefox is opened multiple times (I stopped counting at the 200 window)
Is this a known issue?
Is it possible I have something misconfigured, if so can you provide a clue?
Thank you for your assistance
Hello, I have installed it on Linux Mint, after installing with package manager, I try to open the app g19daemon but nothing is happening, nothing is the system tray or on the keyboard, any suggestions?
Thank you & great work, I really hope I can get it to work on my PC!
Daemon not loading colors on start.
Every other setting is successfully loaded by the daemon. G-Key commands as well as the default Plugin get loaded but the key color is set to white, pressing the associated M-key however then loads the color.
Hello,
at the moment, the MR key does not have any functionality, the G keys are limited to opening applications and M keys profiles only store the G keys settings.
a) Would it be possible to allow the MR key to be programmable, just like the G keys, in the GUI?
b) Is it possible to assign keystrokes to the G keys, for example:
c) While using the M1,M2,M3 keys the user has effectively 36 G keys at his disposal.
c.1) to increase this number, a user could use a modifier key:
c.2) to have direct access to functionalities saved on a different profile, without actually switch the entire profile:
M1 profile has the following settings;
M2 profile has the following settings;
If the user presses a modifier key, e.g. CTRL:
c.3) to bind key lightning settings to each profile:
M1 profile has the following settings;
Thanks
If for whatever reason g19daemon crashes, it leaves behind a PID file in the run directory.
This means it's not possible to relaunch the application without first removing the PID file.
I would propose a change to the startup logic in main.cpp
to compensate for this, (i.e. if the file exists and is actively running then exit early, otherwise just remove the PID file and continue startup)
Let me know if you'd prefer this in a pull request
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.