One can easily attach certain tasks to certain keys, such as the the function keys. Any (decent) OS would allow such configuration. But was it now F3 that started up Firefox or was it F5? And how about assigning a function key to write out the date in a word processor? Not possible. Perhaps from inside Word you could, but than it wouldn’t work in gedit or notepad. Wouldn’t it be great to have a tool where YOU decide the functional key AND the task it performs. That is applicable system wide. And even better, how about you are not restricted to function keys F1-12, but could start up Firefox by pressing ‘ff’ or write out the current date ANYWHERE (Excel, Word, notepad, terminal) by pressing ‘d’. Less pressure on your sparse memory cells with meaningful associations!
This desire has spurred the superspace project.
(As explained, Autokey, which does similar things, no longer appear maintained)
The basic idea with superspace is that once the program is started, it starts to listen to key strokes and perform a task depending on those stokes. The whole point being two fold; to avoid taking your hands of the board and be free to assign any keystroke combination into a task without having to worry about accidental activation.
It is a small and simple program that works like this:
1) An activating key stroke sequence, space bar press while super key is pressed, activates a key stroke listener program.
2) The listener records every key until another space bar press.
3) The recorded keys are decoded and translated into a task which is performed.
I use it a lot every day. Here are some examples:
When I type [super+spacel]gbrowser[space] regardless of where, superspace will open the UCSC genome browser in a Firefox window.
If I type [super+spacel]d[space] it will return me the current date and time in the format 20150403. If I instead type [super+spacel]dd[space] I will get 2015_04_03_10:57.
Superspace has spared me from many thousands of keystrokes and mouse gestures.