In case of QMatrix, the rotor or slider needs the position hysteresis (angle hysteresis in case of rotor and linear hysteresis in case of slider) to be set. It is the number of positions the user has to move back, before touch position is reported when the direction of scrolling is changed and during the first scrolling after the touch down.
Hysteresis can range from 0 (1 position) to 7 ( 8 positions). The hysteresis is carried out at 8 bits resolution internally and scaled to desired resolution; therefore at resolutions lower than 8 bits there might be a difference of 1 reported position from the hysteresis setting, depending on where the touch is detected.
At lower resolutions, where skipping of the reported positions is observed, hysteresis can be set to 0 (1 position). At Higher resolutions (6 ..8bits) , it would be recommended to have a hysteresis of at least 2 positions or more.
Setting |
Variable name |
Data Type |
Unit |
Min |
Max |
Typical |
---|---|---|---|---|---|---|
Position Hysteresis |
position_hysteresis |
uint8_t (3 bits) |
- |
0 |
7 |
3 |
It is not valid to have a hysteresis value more than the available bit positions in the resolution.
Ex: do not have a hysteresis value of 5 positions with a resolution of 2 bits (4 positions).
Position hysteresis is not valid (unused) in case of QTouch acquisition method libraries.