xHK – An Xlib halfkeyboard implementation
Earlier this year, I had an operation on my right elbow to remove some bone fragments. These were remaining from an accident in my teenage years – but had started to cause me some pain and grief.
The operation went well – but has a 6 month full recovery time, and for the first 6 weeks my right arm was pretty much immobile. A serious blocker to my coding.
There are it would seem some solutions to this. A few companies sell physical keyboards which provide one-handed typing functionality – but these are expensive. Regardless of the price, I have a keyboard already attached to my Laptop – and plugging in an external keyboard isn’t really feasible when sat on the sofa; So I need a better solution – one which uses my existing keyboard.
Now – again – there are a few software implementations of half-keyboard / mirrors using different methods, but not one for linux:
Alternative Software Solutions
- http://www.onehandkeyboard.org/ has both a Mac and Windows solution
- http://www.onehandkeyboard.org/linux-one-handed-keyboards/ does link to some other linux solutions – but they are either expired or not appropriate.
- http://warped.org/ has a version utilising AutoHotkeys for Windows
- http://blog.xkcd.com/ provides an XKB mapping – but can only use the caps key as a modifier – and doesn’t meet my needs!
I write C code. I use linux, it seemed only reasonable that as a version didn’t exist in this space I would create it and open-source it for all to use (and improve)
Once the application is running – it is processing all your keypresses and decides if it should mirror them.
‘Backspace’ is mirrored with the ‘Tab’ key, whilst ‘Enter’ is mirrored with ‘Caps-Lock’
If you use this – do drop me a mail to let me know how you get on, and if you find any problems I’ll look into them to fix them.
Perhaps in the future I’ll pull together a GTK frontend for it, but it depends on how much use it gets.