Hi, and welcome to the forum.
It will depend on the type of controller you have. If it is a relative encoder it is much easier as it will put send 01, 02, 03 etc for right movements and 127, 126 125 etc for left movements and you just have to do a little match to change the mouse in the direction you want.
Some relative encoders send 63, 62 61 etc for left and 65, 66. 67 etc for right. Again just some simple rules to dhange it to mouse wheel diretion.
However, if your controller is absolute (0 for far left and up to 127 for far right) . In this case you need to track the last known position to get the delta position in a global variable for movement. Then you can still use rules to do the math, but every encoder will need a different global variable.
So off the top of my head, type one rule relative rule above
Incoming CC 1 MIDI CH 1 set value to qq
if qq>64 then rr=128-qq
uf qq>64 then rr=rr*-1
if qq<64 then rr=qq
Outgoing: Mouse wheel move rr
Second type relative
Same incoming
rr=qq-64
Same outgoing
For fixed
// Compare with last
rr=qq-ga
// store new value in global variable
ga=qq
Same outgoing
I’m doing all of this math off the top of my head so I think I’m doing it right.
The point is you want positive mouse wheel movements in one direction and negative in the other.
The only issue with fixed values is if you hit the end stops (0 and 128), then you run out of room and have to have a way to recenter the knob. Usually you push and hold a button and set a global variable. (say gb). Then you have a rule like this
if gb!=1 then skip next rule
exit rules, skip outgoing action
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz