Advanced Mouse Controls

How do I get Advanced Mouse Controls like assigning buttons to certain functions or disabling certain buttons other than the 2 main Right and Left buttons? Like assigning what clicking the scroll wheel does or any extra side buttons a advanced mouse has.
I have a mouse that when you squeeze it it switches pages or jumps to the next program if you have more than one program open and tit's too easy to press it when doing a right click or dragging and dropping something. In Windows 10 I can disable that button with the Logitech Software but all Linux has is basic mouse controls like swapping the buttons or changing the double click time out or pointer acceleration and sensitivity.

Currently no GUI tool but you can change the buttons with xinput -set-button-map. See -

The xev command is now part of package x11-utils.

djb