== KMilo == KMilo lets you use the special keys on some keyboards and laptops. Usually this includes volume keys and other features. KMilo is a service of kded, the kde daemon. It is new to KDE 3.2. Currently KMilo comes with plugins for powerbooks, vaios and generic keyboards with special keys. == KMilo Thinkpad == KMilo Thinkpad is a port of tpb http://www.nongnu.org/tpb/ to KMilo by Jonathan Riddell. Source download: part of KDE 3.3 in CVS; for KDE 3.2: http://jriddell.org/programs/kmilo-thinkpad.tar.bz2 Screenshot: ![]() To install just use kdeutils (which includes kmilo) for KDE 3.2.x. == Developing for KMilo == To create a plugin for KMilo start with the Demo one in kdeutils/kmilo sources. Edit Makefile.am in kdeutils/kmilo to compile the demo/ directory. Fill in the methods in demo.cpp. It inherits from kmilod/monitor.h. Do your initialisation in init(). poll() is called several times a second and is where you return that an action has happened, either return a Monitor::DisplayType value or just set the message explicitly with _interface->display() and a message will appear on the screen. When returning a change in volume or brightness progress() will then be called which should return the new value of the volume or brightness. Test it by killing kded: killall kded and running kded again from the command line. Contact kde-devel with your new KMilo plugin. == KMilo TODO == A KControl Centre module to tell it which KMilo plugins to run Add generic code for software volume control (currently same code is in Generic and Thinkpad) Add more buttons to Monitor::DisplayType More output skins, maybe Make the default skin more pretty (add icons) Stabalise API and install headers Make it integrate nicely with KHotKeys and Kmix/Kmix applet / would be extremely nice not to depend on any external source but headers: you won't get packagers otherwise / / -- Michael Shigorin <mike@>, who wanted to package it for ALT Linux <altlinux.org> / Good point, at the moment the kmilo headers are deliberatly not installed to allow a changing API but the hope is that it will be stable by KDE 3.3 or even during 3.2. / The integration with KHotKeys is extremely important in my opinion. It would be great if I didn't have to re-build kmilo just because I want to run a program when a certain hotkey is pressed... / / -- Andrea, 2004-05-01 / == KMilo Generic plugin == In the KDE CVS version there is also a generic plugin for all kayboards with volume up/down keys acknowledged by X/KDE by default. Just start the X program xev and press your laptop's vol up/down keys to check. If it prints out some meaningful information, you can use it to setup KDE to take care of these and connect them to RaiseVolume, etc. If it does not work out of the box, your X keybindings have to set up. Usually, you do this in ~/.Xmodmap Example: keycode 129 = XF86AudioMedia keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext keycode 160 = XF86AudioMute keycode 161 = XF86Calculator keycode 162 = XF86AudioPause keycode 164 = XF86AudioStop keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume keycode 223 = XF86Standby This assigns e.g. keycode 160 to XF86AudioMute which triggers mute in the kmilo generic plugin. How to find out? start xev, move your mouse into the window and press the keys. .Xmodmap is read every time you start X. Use "xmodmap .Xmodmap" to test your configuration file. |