Logitech Applet

System Software

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

0
Score 50.0%
Description:

This is a program to control the LED keyboard backlights and LCD screen brightness and contrast of the Logitech G11/G15 keyboard.

The program consists of a daemon and a client applet that communicate via DBUS.

I wrote this because g15daemon doesn't work properly ATM (it has an annoying bug that leaves my keyboard lit up like a christmas tree when I shutdown my PC) and it also uses UNIX sockets for it's communication - unacceptable for a program that communicates with desktop apps IMO. So now we have a nice DBUS interface that will be expanded (easily) in the future and with which you can communicate with from other programs very nicely, opening up the way for clients and applications to interface with the LCD screen very nicely.

The daemon needs to be compiled with the CMake option -DCOMPILE_CPP_VERSION=1

Future versions will include options to control Logitech mice as well as more keyboards, handy for utilizing those multimedia keys, and extra buttons and features for example on the Logitech Revolution MX mouse.

Note : The Logitech logo's were obtained from the internet. They look like the official Logitech logo's, but as there was no reference I can't tell. I'm not sure if it's entirely appropriate to redistribute them along with the client app, but since the EU courts have determined that pictures on the internet may be used and redistributed freely I'm going to go ahead and do it. Especially since a) I am not making any money off the project and b) I am essentially doing Logitech's work for them :)
Last changelog:

11 years ago

0.3 Skipped the 0.2 release on here because not much had changed, just general code cleanup. Version 0.3 introduces working G, M and L keys, although the M keys just light up and emit keycodes when pressed, and the L keys just emit keycodes. The keycodes are compatible with g15daemon. The LCD screen isn't controlled by the L keys yet, and there is no API for displaying stuff on the LCD screen yet. That is coming soon though, hopefully by the next release.

0.1

This took a weekend to write. It's the first time I used DBUS, so there are bound to be bugs :) It's also the first time I used Qt4 to write a daemon, so I probably violated every rule and it's mom doing so ;) It works though, in as much as it compiles and the lights respond to what you click in the applet. ATM the contrast option doesn't seem to do anything, but that is the fault (if a fault it indeed is) of the libg15 library.

Included are files to autolaunch the DBUS process if it isn't already running and the .desktop file for desktop environments.

You need CMake >= 2.4.0 to compile the source, as well as Qt4 >= 4.2, libg15 from the g15tools project on sourceforge.net and stuff that should already be installed with a standard Linux install such as libdaemon. CMake will bitch if it can't find what it needs, so just check the output if the build fails.

To those wondering after checking the source why I didn't write the daemon in C using the glib bindings I would just like to say that my first action upon assuming power will be to line all GTK developers against the wall and shoot them ;) Jokes aside, about 50% of the development time of this code was trying to get the clusterfuck that is ObjectiveC/glib trying to work. Eventually I just gave up. The glib documentation is dismal, and horrendously hard to figure out from source how to do stuff. It is _nearly_ working, but the GThreads documentation is so terrible I don't think I will ever get around to finishing the code. It will probably be removed at a future date, which is a pity since I would really have liked to get the code to run without depending on Qt as the daemon could then be installed without requiring X. Also, since it wouldn't depend on Qt then GNOME/XFCE fans wouldn't have to "bloat" their installs with Qt4.
I was planning on writing a GTK client for this as well, but after my brief foray into GTK I think I'll give that a miss ;) If anyone wants to write one, give me a shout and I can incorporate the code into the existing applet code.

at-2500

8 years ago

do you plan something like g7 mouse batterie information/warning?

Report

C

ChaosWars

11 years ago

If anyone is following this via this site, I'd suggest checking out the SVN as a lot of changes are being made. The mosue can now be controlled via the applet/daemon. I plan to release another version of the software in the coming weeks, but if you were really wanting to control your mouse via the applet you can do so already.

Report

C

ChaosWars

11 years ago

After getting up this morning I decided that I would take one last shot at writing a C daemon with GLib. I'm the obsessive/compulsive type :p Anyway, after staring at the GLib GObject tutorial for five hours and hammering out code, we now finally have a working multi-threaded daemon written entirely in (Objective)C using only GLib. \o/

Guess this means the C++ daemon will be the one getting dropped after this :p I will release a new numbered version sometime soon - I want to clean up the code, make it ANSI compliant and restructure some of the code out of main.c because it's a hodgepodge right now. So after I refactor it I'll upload it - right now if you can't wait to get it you can grab it off the Googlecode SVN repo : svn checkout http://logitechdaemon.googlecode.com/svn/trunk/ logitechdaemon

Report

11 years ago

0.3 Skipped the 0.2 release on here because not much had changed, just general code cleanup. Version 0.3 introduces working G, M and L keys, although the M keys just light up and emit keycodes when pressed, and the L keys just emit keycodes. The keycodes are compatible with g15daemon. The LCD screen isn't controlled by the L keys yet, and there is no API for displaying stuff on the LCD screen yet. That is coming soon though, hopefully by the next release.

0.1

This took a weekend to write. It's the first time I used DBUS, so there are bound to be bugs :) It's also the first time I used Qt4 to write a daemon, so I probably violated every rule and it's mom doing so ;) It works though, in as much as it compiles and the lights respond to what you click in the applet. ATM the contrast option doesn't seem to do anything, but that is the fault (if a fault it indeed is) of the libg15 library.

Included are files to autolaunch the DBUS process if it isn't already running and the .desktop file for desktop environments.

You need CMake >= 2.4.0 to compile the source, as well as Qt4 >= 4.2, libg15 from the g15tools project on sourceforge.net and stuff that should already be installed with a standard Linux install such as libdaemon. CMake will bitch if it can't find what it needs, so just check the output if the build fails.

To those wondering after checking the source why I didn't write the daemon in C using the glib bindings I would just like to say that my first action upon assuming power will be to line all GTK developers against the wall and shoot them ;) Jokes aside, about 50% of the development time of this code was trying to get the clusterfuck that is ObjectiveC/glib trying to work. Eventually I just gave up. The glib documentation is dismal, and horrendously hard to figure out from source how to do stuff. It is _nearly_ working, but the GThreads documentation is so terrible I don't think I will ever get around to finishing the code. It will probably be removed at a future date, which is a pity since I would really have liked to get the code to run without depending on Qt as the daemon could then be installed without requiring X. Also, since it wouldn't depend on Qt then GNOME/XFCE fans wouldn't have to "bloat" their installs with Qt4.
I was planning on writing a GTK client for this as well, but after my brief foray into GTK I think I'll give that a miss ;) If anyone wants to write one, give me a shout and I can incorporate the code into the existing applet code.

12345678910
product-maker Count: 4 Rating: 5.0
File (click to download) Version Description PackagetypeArchitectureRelease Channel Downloads Date Filesize DL OCS-Install
Pling
*Needs ocs-url or ocs-store to install things
Details
license
version
0.3
updated Nov 29 2007
added Nov 05 2007
downloads 24h
0
page views 24h 1
System Tags app software