I'm almost ashamed of how excited I was while reading this. Default layouts of keyboards are incredibly ineffective for programming, and I find customization of layouts to be very important.
The best thing I ever did was adopting something I found on some dvorak layouts; using AltGr to make any special symbols. Now, AltGr+qwerasdfzxcv makes ()[]^${};/&! for me, which covers 90% of the special characters I write. Not leaving the alphabetical keys for any of these does wonders; It's the little things, really.
I'll also try to implement the shift-key training through xmodmap. I'll post the results if I manage!
The best thing I ever did was adopting something I found on some dvorak layouts; using AltGr to make any special symbols. Now, AltGr+qwerasdfzxcv makes ()[]^${};/&! for me, which covers 90% of the special characters I write. Not leaving the alphabetical keys for any of these does wonders; It's the little things, really.
I'll also try to implement the shift-key training through xmodmap. I'll post the results if I manage!