lineak: Using multimedia keyboards with Linux

Tux
I recently got a new “multimedia” keyboard which comes along with a set of extra keys. While my keyboard needed some initial manual configuration it works now almost without problems using Lineak.

Lineak is a tool which aims at easy set up and configuration of multimedia keys on modern keyboards: these keyboards have additional keys which are usually not supported by Gnome or KDE since they are outside the usual keymaps. But lineak can handle such keys and can bind them to specific functions and actions.

In my case I got a Benq X-Touch 122 which I used with my Fedora machine. Since Lineak is part of the standard Fedora repository the installation was pretty easy: yum install lineak*. The asterisk makes sure you get additional plugins, more about that later. After the installation the command lineakd -l shows you a list of supported keyboards. If your keyboard is among them you’re lucky, if not you have to do some manual tuning. Basically you start xev, catch all the keyboard mappings and afterwards add a new section in /etc/lineakkb.def/. Have a look at the other entries of your hardware vendor and you should get the idea.
My keyboard wasn’t supported so I added the following table:

[BENQ-X122]
brandname= "BenQ"
modelname ="X-Touch 122"
[KEYS]
Standby = 223
Back = 234
Forward = 233
Home = 130
Mail = 236
Favourite = 230
[END KEYS]
[END BENQ-X122]

Everything works now, except for the so called function “Function” key which gives access to alternative functions on the F keys. Nice.
The nast step is to make sure that lineak starts everytime you boot up your system – this is done for example by placing something in $HOME/.kde/Autostart/, for example a file like this:

[Desktop Entry]
Type=Application
Exec=/usr/bin/lineakd &
Icon=
Comment=LinEAK - Daemon
Comment[de]=LinEAK - Daemon
Terminal=0
Name=lineakd
Name[de]=lineakd

Now the keyboard special keys can be configured in $HOME/.lineak/lineakd.conf:

Back = AMAROK_BACK
Favourite = KMIX_MUTE
Forward = AMAROK_FORWARD
Home = kfmclient openProfile webbrowsing
Mail = KMAIL_COMPOSE
Standby =

Most stuff should be self-explanatory, for the plugins you can read the docs at /usr/share/doc/lineak-*plugin*/README. There are also some GUI configuration tools out there, but at least the KDE tool had a segfault here :/

However, despite how nice lineak really is, there are problems regarding the future of the tool: I thought that the best would be to add my keyboard table to the lineak information and therefore sent them in. However the answer was a bit sad:

I got it, but I no longer have time to work on lineak. Since another maintainer has not stepped up to the plate, unfortunately these submissions will not get included in the distribution.

This means that lineak is not developed anymore and that it is unlikely to see any larger improvements there in the future. It also means that the keyboard table wont be updated and that everyone with an unsupported keyboard needs to keep these information somewhere in case of updates or re-installs.

Maybe it is time to integrate such a function into X itself to make sure that its development continues. But on the other hand I would also like to see them well integrated with KDE and Gnome and maybe even able to download new keyboard sets via gethotnewstuff. But at the moment the future of multimedia keyboards is rather murky.

Thanks to for a post about lineak which got me started and where I took the autostart entry from.

5 thoughts on “lineak: Using multimedia keyboards with Linux”

  1. Have you tried to use KDE’s global shortcuts? For me that is sufficient, i don’t need an additional application.

  2. infopipe, my problem is that the keys are not detected when I press them during configuring the global shortcuts.

    And Hello, thanks for that link, but it looks like this is only dealing with Laptop keyboards, not with additionally attached ones. I just wish hughsient would allow OpenID comments in his blog 😦

    SlonoInquisitor, thanks for that link, I didn’t knew that program. I will have a look at it.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.