I changed the way the input is grabbed by the keylist helper part of the program. This should be more efficient and even though this isn't a big part of the program still wanted to update the code.
Also updated the code for button presses and releases to use the new Switch ability in AHK. This only does the variable evaluation once, instead of multiple times. Since there are only a few options anyway it may not save a lot of time, but again as above I feel its always better to update code if possible.
Since I was modifying the code I took the chance to add the ability to map buttons to the mouse wheel. If BotWmouseWheel option is enabled, you can't map Up and Down.
WheelDown
WheelUp
WheelLeft
WheelRight
These work as a single key presses (you can't use them to hold down a key) because the wheel doesn't fire an "UP" keystroke like all the others. I decided to just make it automatically depress the button 100ms after it was pressed, which seems to work well in my tests.
Please let me know if there are any issues that I created, or haven't fixed yet.