Going on with experiments with SX150, I tried to use
wheel_right() / wheel_left() functions in Lua script. But it failed. So I started digging
Firstly, I found
this post and useful attached script. I ran it and found that jog dial simulates only in
2ui mode. That is equal to using in CHDK
PostLogicalEventToUI() from
levent.h. So I opened
platform/sx150is/lib.c and changed old
_PostLogicalEventForNotPowerType() with the new one. After compiling and testing, nothing happened on the device.
Next, I ran
this script with some minor changes (see result in attached txt file). And found that event
RotateJogDialRight has ID=
0x872, and not 0x874, as it was in the code. The same thing was happened with
RotateJogDialLeft. After all the fixes everything worked.
The second parameter of
PostLogicalEventToUI() was also changed from 2 to 1. After tests it turned out that this is the number of simulated clicks.
Patch in attachment.
P.S. I posted this fix here because it is a potentially universal solution for all models. But this requires appropriate testing and changes.