(Written in Qt)
(Depends: xinit xdotool)
Map shell commands to keyboard presses or releases.
Primarily developed as an enhancement upon alternative keyboard layouts such as colemak which enhance your efficiency.
As such, what is currently hardcoded (easily modifiable) into the code is the ability for modifier keys which ordinarily do not perform any action beyond shifting the modifier level, to be able to perform an action upon key release if the key was not used for modifying purposes. For example:
- Shift[Press] + "abc" + Shift[Release] = "ABC"
- Shift[Press] + Shift[Release] = BackSpace ("xdotool key BackSpace")
Key Presses can also be programmed in, as well as modifier levels. Mod levels have to be handled and set manually.
No configuration file exists as of yet, as such you will have to customise for now by editting main.cpp. It is fairly straight forward:
First,
Create a command you would like to be executed:
const QString backspace( "xdotool key 0xFF08"); // same as "xdotool key BackSpace"
Second,
Define which keys, if any, you want to act as a modifier key, and what level you would like them to operate upon.
modmap.
Third,
Map Commands (defined in the first step) onto keypresses and key releases
setRelease(k.CAPS, 1, backspace); // When CAPS is released, without any combination of keys (ie level 1), perform a backspace.
View full history Series and milestones
trunk series is the current focus of development.