I've wanting to move keyboard keys onto the mouse for decades. The closest I've got is with a Razer Naga Epic - the gaming mouse with the 12 thumb buttons:
F5 Up F2
Left Down Right
Tab Del Backspace
Enter Space ESC
This speeds me up greatly. Especially in mixed GUI/keyboard input situations.
I might just get one to try out something similar. I'm thinking it might also be useful to have a different mode on the mouse that have the buttons map to keys on the numpad for calculations.
As a slight aside, how did you choose i3 over the other tiling window managers?
I chose xmonad at one time, but it was more or less by chance --- someone else used it that I knew, and so I tried it. But I haven't actually compared any.
I was a one-time Xmonad user, but switched to i3 recently. The enormous complexity of configuring Xmonad is what got me to switch, honestly. Perhaps if I A) needed enormous configurability or B) knew Haskell well I would have stuck around, but i3's config is much simpler to manage. i3 is also slightly prettier, but that's orthagonal :)
I've read the name a few times and people seemed to be happy with it, so I gave it a try. I liked it immediately, not least because of the simple but powerful customization. To be honest, I haven't tried any other TWMs yet, but I will soon.
It's a tiling window manager, as minimal as ratpoison in interface but fully configurable and hackable on runtime, to the point of rebuilding parts of the system as it's running. It's the best WM experience I had since the old Enlightenment and I'm now using it full time. I even wrote some posts about it: https://klibert.pl/#stumpwm-better-modelinehttps://klibert.pl/#stumpwm
Ah, forgot to mention: it's in Common Lisp, so YMMV by a lot :)
I used to use ratpoison - I very much like its mode of having a tree of key bindings hung off a single root, so that there's nothing I can't send to my applications. The fact that it largely works like screen/tmux is also quite nice.
More recently I had occasion to get xmonad working sufficiently like ratpoison to be usable. I expect my setup will grow in interesting ways in the long term, but it's still fairly minimal.
It can be used with the mouse though, through `:set mouse=a`. I sometimes use it for quick jumping, because yeah, `45G6w` will also get me where I want to be but if the cursor happens to be near where I want to end up, clicking is just easier.