Utility program for binding actions to keys on the Logitech G600 gaming mouse. Supports 16 keys and the G-shift button for a total of 32 fast shortcuts.
I had some trouble with getting this code to work for my g600. Turns out, I had to set my G-Shifted keys to unique keyboard keys as well, not the factory defaults.
Was hoping that you could clarify this more in the docs for future users. (especially for dumb ones like me :P)
I see this says Logitech g600, is that only the g600? I have a g602, so I was hoping that perhaps it might work for it. This middle mouse click in VScode is killing me. I tried everything I could find to disable it, both in VSCode and in OS, so far nothing has worked.
I followed the instructions given under "Usage", but when I start ./g600 it simply exits immediately with code 1. Is there a way to enable a verbose mode to see what's wrong?
Thanks so much for the software! Works great. Is there a place to look up additional scancodes for keys? I'm specifically looking to rebing my G-Shift key to Insert. Anyway to do that?
I really would love to use my spare g600 on the Steamdeck when I plug it into my Anker dock thru the usbc port since that would make a crap ton of games work great on the Steam Deck when I am on trips. atm I just use a bluetooth mouse with just the standard 2 buttons on the side and I would kill for more bindable keys like I am used too on my main rig for my g600.
g600.c: In function ‘ends_with’:
g600.c:66:25: warning: initialization of ‘size_t’ {aka ‘long unsigned int’} from ‘const char *’ makes integer from pointer without a cast [-Wint-conversion]
size_t haystack_end = haystack + haystack_length - suffix_length;
^~~~~~~~
g600.c:67:26: warning: passing argument 2 of ‘strncmp’ makes pointer from integer without a cast [-Wint-conversion]
return strncmp(suffix, haystack_end, suffix_length) == 0;
^~~~~~~~~~~~
In file included from g600.c:4:
/usr/include/string.h:139:51: note: expected ‘const char *’ but argument is of type ‘size_t’ {aka ‘long unsigned int’}
extern int strncmp (const char *__s1, const char *__s2, size_t __n)
~~~~~~~~~~~~^~~~
g600.c: In function ‘main’:
g600.c:102:30: warning: passing argument 1 of ‘find_g600’ from incompatible pointer type [-Wincompatible-pointer-types]
int find_error = find_g600(&path);
^~~~~
g600.c:71:21: note: expected ‘char ’ but argument is of type ‘char ()[1024]’
int find_g600(char *path) {
~~~~~~^~~~
and then when I try to run the program it acts like it is running fine, but the keys are not changed from the defaults. This could easily be me not doing something correctly, but I appreciate any insight.