Download
Superkb still uses diapers, so there are no binary packages yet. Still, there are three ways to get the source code. You can either:
- Download the most recent package, either in source code or as a precompiled binary.
- Get the current code from Git.
- Browse the Git repository online. (Instructions)
Most recent packages
The current version is: v0.23, released on 2013-08-31.
- Current tarball in gz: superkb-0.23.tar.gz
- Current tarball in bz2: superkb-0.23.tar.bz2
Changelog (since -proto3):
- 0.23: Changed some key names for symbols and arrows.
- 0.23: Added "less" to the glyph conversion table.
- 0.23: Fixed wrong display of multibyte characters.
- 0.23: Fixed many compilation warnings.
- 0.23: Fixed use of some deprecated functions.
- 0.23: Code is now hosted on Github.
- 0.23: Now "MODTYPE=y make" can be used to set detected modules to =y.
- 0.23: Fixed broken compilation due to buggy pango-cairo 1.32.3 - 1.32.5.
- 0.23: Fixed broken compilation due to improper linker flags placement.
- 0.23: Many changes to help the work of distribution package maintainers.
- 0.22: Keyboard drawing enhanced by gradients. Controllable by USE_GRADIENTS with a default value of 1.
- 0.22: Fixed bug #432887: Sometimes a program gets launched multiple times. (Eduardo Bustamante)
- 0.22: Multiple Superkb processes are no more. Superkb will use only one process. (Eduardo Bustamante)
- 0.22: Fixed linking in newer versions of GCC due to lack of explicit libdl inclusion. (Eduardo Bustamante)
- 0.22: Superkb will try to detect details about the source code status and provide more version information for troubleshooting purposes. For example: 0.21+git-0123456+localchanges(b:master).
- 0.22: Fix icon placement calculation.
- 0.22: Many crashes are fixed.
- 0.21: Detection of already-grabbed Super keys and hints about it on the terminal.
- 0.21: We don't depend on SIGCHLD being ignored anymore. (Fixes chromium-browser and Gwibber).
- 0.21: A friendly message is shown on the screen on Superkb successful launch (via the WELCOME_CMD option).
- 0.21: Feedback strings don't need to be requoted anymore. (via the new FEEDBACK_STRINGS_AUTOQUOTE option).
- 0.21: States (like Shift) can now be used.
- 0.21: Lots of work on code portability.
- 0.21: Lots of comments throughout the code.
- 0.21: Lots of usability and stabilitiy fixes.
- 0.20: Changed default shape painting style to FLAT_KEY.
- 0.20: Changed default drawing method to Cairo and default font to "Sans Bold".
- 0.20: Added Cairo drawing support.
- 0.20: Fixed crashes on some unlabeled keys.
- 0.20: Fixed BadAccess on XChangeKeyboardControl when a SUPERKEY_CODE is 0.
- 0.20: Modularization of drawkb libs.
- 0.20: Added some friendlier error messages to guide through installation.
- 0.20: Fixed some failures to detect keyboard geometry.
- 0.20: Added a simple man page.
- 0.20: Added support for a system-wide configuration file at /etc/superkbrc.
- 0.20: Fixed x86_64 compilation (-fPIC was missing).
- 0.17: Switched SCM to Git.
- 0.17: Set windows TRANSIENT hint each time they are mapped.
- 0.17: Implemented EINTR check for select() in superkb.c
- 0.17: Added Xinerama support.
- 0.17: Friendlier errors on compilation, installation and config loading.
- 0.16: Some code fixes, reported by gcc -Wextra.
- 0.16: Rewritten text drawing code by using Xft.
- 0.16: Fixed a very ugly race condition regarding X event processing.
- 0.15: Added -0 command line option to force Superkb to quit when ready, for timing purposes.
- 0.15: Major rewrite of the label drawing code. It should be correctly possitioned and sized now, for each of the key drawing types.
- 0.15: More label lookup code rewrite. Added label for ntilde, plus and others.
- 0.15: Rewritten code to get actual key labels from KeyStrings. No enhancements made.
- 0.15: Experimental commit to fix some absurd code. It may bring up some bugs.
- 0.15: Added some debugging messages in superkb.c
- 0.15: Added debugging output support to stdout with option "-d level".
- 0.15: Changed default foreground and background values.
- 0.15: Changed default for SUPERKEY_RELEASE_CANCELS to 0.
- 0.15: Changed default for SUPERKEY_REPLAY to 1.
- 0.15: Added two more painting modes, selectable with the DRAWKB_PAINTING_MODE directive (FULL_SHAPE by default), but can take BASE_OUTLINE_ONLY and FLAT_KEY.
- 0.14: $(DESTDIR) was not applied to mkdir on the Makefile, which made the Ubuntu package to install badly.
- 0.13: Push version to 0.13
- 0.13: Allow the Makefile to handle $(DESTDIR) variable.
- 0.13: Support for SUPERKEY_RELEASE_CANCELS, which enables Superkb to execute actions for keys that are still pressed when the Super key is released.
- 0.13: If the three color components in BACKGROUND or FOREGROUND are <= 255, consider them to be in the range 0..255.
- 0.13: Push version to 0.12+svn
- 0.12: Basic support for FEEDBACK_HANDLER, to allow the user to be notified with something of his choice when a program is being run.
- 0.12: New option "SUPERKEY_REPLAY": Configures whether the Super key should be sent to the original focus window if hit, and not held or combined.
- 0.12: Suppress the output of commands when making configuration.
- 0.12: Prepended ./ when checking for the results of configuration upon creation.
- 0.11: Pull version number out to a separate file for easier scripting.
- 0.11: Set version in main.c to 0.11.
- 0.11: Support for KEY DOCUMENT and DOCUMENT_HANDLER.
- 0.11: Fix bug where an unknown key name would make that entry to spread acrossthe keybaord.
- 0.11: Set version to 0.11-devel.
- 0.11: Ignore SIGCHLD to avoid zombie processes.
- 0.11: Initial import, from 0.10.
- 0.10: Font is now configurable. You must use scalable fonts, though.
- 0.10: Common errors have friendlier messages.
- 0.10: Foreground and background color are now configurable an they are correctly used now. (Colors are specified by their three components, red green blue, from 0 to 65535.)
- 0.10: Super keys are configurable. See superkbrc.c for more info. This is good for users of certain Winkey-less keyboards, like Thinkpad's, like me.
- 0.10: Imlib2 can now be used as an icon-loading library. Gdk-pixbuf is still available.
- 0.10: The keyboard is rendered on start instead of every time, which makes the program feel smoother.
- 0.10: Fixed a bug where the screen was drawn twice sometimes.
- 0.10: Several stabilization, initialization, memory leaks fixes, etc.
- 0.10: Makefile will try to autodetect the appropriate icon rendering library on compilation.
- 0.10: Icon library can be compiled in or as a shared object.
- 0.3: 0.2 font fallback didn't work. Now it falls back to an X11-specified font.
- 0.2: Added some basic error checking.
- 0.2: Fallbacks to Helvetica if Bitstream Vera Sans is not found.
- 0.1: Added "make install" and "make uninstall" in Makefile.
- 0.1: Added a delay to draw the keyboard. Added DELAY directive.
- 0.1: Better placement of icons in rotated sections.
- 0.1: Bugfix: Commands specified for a key were not executed.
- 0.1: Key label were partially drawn when there was an icon in that key.
Some notes:
- There is a sample configuration file at ./sample-config.
- Superkb needs Xkb and either gdk-pixbuf w/pkg-config or imlib2.
- You need a scalable font. You can try
xfontsel -pattern "*-0-0-0-0-*-0-*"
- To compile you must issue "make" from the "src" directory. Superkb should detect wether you have gdk-pixbuf or imlib2.
Downloading the latest code
Development version is currently held in Git, which you can download by issuing:
git clone https://github.com/alvarezp/superkb.git superkb-git
Brosing the Git repository
As an alternative to downloading the whole code, you can point your browser to and view individiual files by using Github history browser.