• David Herrmann's avatar
    HID: wiimote: add pro-controller analog stick calibration · 08072dde
    David Herrmann authored
    The analog sticks of the pro-controller might report slightly off values.
    To guarantee a uniform setup, we now calibrate analog-stick values during
    pro-controller setup.
    
    Unfortunately, the pro-controller fails during normal EEPROM reads and I
    couldn't figure out whether there are any calibration values stored on the
    device. Therefore, we now use the first values reported by the device (iff
    they are not _way_ off, which would indicate movement) to initialize the
    calibration values. To allow users to change this calibration data, we
    provide a pro_calib sysfs attribute.
    
    We also change the "flat" values so user-space correctly smoothes our
    data. It makes slightly off zero-positions less visible while still
    guaranteeing highly precise movement reports. Note that the pro controller
    reports zero-positions in a quite huge range (at least: -100 to +100).
    Reported-by: default avatarRafael Brune <mail@rbrune.de>
    Tested-by: default avatarRafael Brune <mail@rbrune.de>
    Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    08072dde
hid-wiimote.h 9.29 KB