Touché - Special keys recognizer for GNU/Linux for KDE
C++ Shell
Latest commit ada5f20 Sep 15, 2014 Marco Gulino make it compile
Failed to load latest commit information.


Touché is an application aimed at making "just work" every key on your keyboard.
It's still in heavy development stage, and therefore is missing lots of stuff, but it's already usable.
The current "reference" keyboard is mine, a "Microsoft Wireless Keyboard 3000".
The "standard" special keys, like "Media Play", or "Volume Up" do work out of the box on every GNU/Linux distribution, 
but other keys, like "ZoomIn/Out", and the "1-2-3-4-5-*" keys in the upper part don't. Instead they send an event to /dev/usb/hiddev0.
Touché does detect these events, and allows you to transform them to known X key symbols, or to execute arbitrary commands.
Support for new keyboards should be easly added, the application does print the events when they're sent, so they can be added in a ney "keyboard database" entry.

Touché is released under GPLv3 license (included in the COPYING file)


* Install Instructions:
Unpack Touché sources archive:
  tar xzf Touché-xx.tar.gz
Create a build directory:
  mkdir touche-build
Now, configure sources with cmake:
You can also add some options to the previous command:
  * to install in /usr (default installation prefix for most distributions):
  * to specify build type (Debug, Release):

After configuring sources with cmake, just run
  make && sudo make install

* Configuration:
The application bindings are fully configurable in a user interface accessible from tray icon.
Just right click the little "keyboard" icon in your system tray, then click your device name.
You need to choose a profile first. You can specify multiple profiles, to have different bindings on the same key.

You can now also use a "local" keyboard database, which can be installed in /home/marco/.config/GuLinux/keyboard_database.json and overrides the system one, if present.
It comes handy if you wanna try adding support for a new keyboard.

*** Important note: with the installation comes also a udev rule, which by default is installed in /etc/udev/rules.d/ and assigns the /dev/usb/hiddev* devices to the group "users".
--- If this group is present in your distribution, your user must belong to this group to use Touché.
--- If this group is not present in your distribution, just change the udev rule to match an existing group.