My idea doesn't fit Ross's request (although I think my set up is worth considering, Ross, as I've been using this set up for over ten years, and I've tuned it well for memorization purposes that you mention in your video). I originally posted this in the discord channel, and I don't want to go through and edit anything, so here's the copied and pasted version:
Ross, I have a logitech g600 mouse that I've been using for ?ten? years now, and I use it in many ways you're saying you like in your video. It's basically a naga alt mouse, and I have an effective 43 button mouse with a spare 86 buttons (when accounting for alt profiles I can cycle through).
The g button on the far right is what's used to quickly toggle the "g keys" which is simply the alt functions for everything on the mouse.
You can program dang near any marco to the buttons that you want; bypassing that memorization list you complained about in your mouse video.
I can use my mouse for a LONG time, depending on what I'm doing without needing to touch the keyboard.
It also uses all fingers except for your pinky, but honestly, if you want two fingers on the side buttons you can move your hand over and use all of your fingers!!
the cons: the software gets clunky as heck, as per usual in my experience with logitech. one big hurdle i've gotten over is to reflash the firmware to the mouse (i got a program sent to me by logitech that I can send you if you like this route).
finally, this mouse is CHEAP! i have seen it online for 10 to 20$ or less, and i bought 4 of them. there's also a fantastic keyboard called the logitech g510 (which I also bought 4 of) that gives you 18 programmable macro keys on the side with several profiles. this is my dream mouse and keyboard combo, and I think it will serve a good chunk of your interests.
I can explain the key layout and why it works for anyone else interested.
First: my methodology. I wanted the mouse to have commonly used keystrokes, and I wanted the secondary commands to line up as closely with the first layer of commands so that if I forget what I programmed these buttons as I could think about what the first layer (which is used most commonly) was and remember what it was. Also, you'll notice i'm using some seemingly circuitous button combinations for common functions, and that's because other OSes have the same commands as what I have here, so if I plug my mouse into another computer I have a chance that MOST things are still working.
Second: the first layer of buttons. This is more intimidating than it looks. These are all one or two button presses on the keyboard.
- Enter, delete and backspace are button i use the most commonly so I put them in the most convenient thumb pressing locations. these buttons are grouped here as well because they are related in that I can make a newline or get rid of a line, and I can do it in front of the new line character or behind it. enter also is handy for all instances where you want to press enter other than a newline, which is a lot.
- Cut copy and paste are in such and order that I can run my finger up the keys until I recite in my mind "cut copy paste" and I remember which is which. and if i start using them in rapid succession i know exactly which key to press, and this saves me from having to lean forward in my chair quite a bit. this is what you want
- undo and redo seem natural in these two locations, i can't explain it. and I grouped them next to each other for memorization purposes. windows+d is here because it's kind of a loaner function that needed a single slot and there isn't a third function that goes with undo and redo. it works very well here.
- the back column here I use quite a bit. it lets me jump to the top or bottom of a page, and I put them at the top and bottom of the column for intuitive purposes, i.e. "go to top" "go to bottom". and space is here because i often need to add a space between something or several spaces if I'm writing code. it can also be used to navigate down web pages, and play and pause videos, which I do A LOT
- i left the left and right scroll clicks as back and forward because that's very handy, and it matches all other mice functions in case i switch mice (it sucks going from god-tier mouse to plebeian mouse). DPI cycling is what you think it is. mode shift is to switch profiles on the mouse, which I have.
Third: the second layer of buttons: the second layer of these buttons is meant to match the first layer's function as closely as possible
- the first column has: backspace an entire word or delete an entire word. I have played around with having enter be "shift enter" instead of ESC, however this resulted in many messages being sent prematurely and so I made it ESC instead, and I can remember this because if I rotate the mouse counterclockwise towards me the button is in the upper left of the mouse, just like the ESC key on the keyboard (i sometimes move ESC around and this is where human memory can start to fail)
- column 2 i use ALL THE TIME, especially ctrl+r (refresh). the middle button will allow me take highlighted text, copy it, open a new tab, paste it and press enter to search (again, i use this several times per day). the top key is if I already have something on the clipboard and I have my browser active i can, with my mouse anywhere on the screen press that button and it opens a tab, pastes and presses enter.
- column 3: reopen tab gets used all the time. alt is to show waterfox's menu bar, and alt tab is to go back to the last window i was using (i want this to actually do a alt+tab then hold tab so i can press tab to choose a program or click one from the pop up, but i haven't figured out how to easily do that yet).
- column 4 let's me page up, page down and shrink what's on the screen.
- the secondary function for the middle click is going to be Ross's favorite. I CAN CLOSE A TAB WITH MY MOUSE ANYWHERE ON THE SCREEN INSTANTLY!! then the right and left scroll clicks are for navigating tabs in the web browser and then there's the calculator in case i want to open that, which i do all the time.
This post is getting long, and I'm running out of time. I'll add more if anyone cares.