Do not “kind of want something”. Want it very, very badly and follow through to the end.
I recently got Android 4.1 on my phone, and the very best thing about it so far is this: it finally has a Colemak on-screen keyboard, which is slightly less idiotic than QUERTY. Yay.
Use C++ for compatibility reasons only.
Why is it that so many people are so negative towards things they don't know or don't understand? Open-mindedness seems to be something that must be learned by most, over a very long time. And it seems that it can easily be unlearned if one is not careful.
I got a TypeMatrix Keyboard recently. It has a few buttons for starting up some applications directly, which did not work out of the box in my xmonad setting.
A little playing with xev lets us add a few keys to ~/.xmonad/xmonad.hs:
import XMonad import XMonad.Config.Xfce import XMonad.Util.EZConfig (additionalKeys) main = xmonad $ xfceConfig { modMask = mod4Mask, terminal = "xfce4-terminal"} `additionalKeys` [ ((mod4Mask, xK_F5), spawn "virtualbox --startvm Vista"), ((mod4Mask, xK_F2), spawn "emacs"), ((mod4Mask, xK_F3), spawn "firefox"), ((mod4Mask, xK_F4), spawn "thunar"), -- Typematrix special keys -- fn-sleep: ((0, 0x1008ff2f), spawn "dbus-send --system --print-reply --dest=org.freedesk\ top.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"), -- Web browser ((0, 0x1008ff18), spawn "firefox"), -- EMail ((0, 0x1008ff19), spawn "evolution"), -- Calculator ((0, 0x1008ff1d), spawn "xfce4-terminal -e \"ghci\"") ]
This works very well for me, let me know if you make use of this and whether you needed to change anything!