• Matteo Delfino's avatar
    Input: elantech - fix for newer hardware versions (v7) · 9eebed7d
    Matteo Delfino authored
    * Fix version recognition in elantech_set_properties
    
      The new hardware reports itself as v7 but the packets'
      structure is unaltered.
    
    * Fix packet type recognition in elantech_packet_check_v4
    
      The bitmask used for v6 is too wide, only the last three bits of
      the third byte in a packet (packet[3] & 0x03) are actually used to
      distinguish between packet types.
      Starting from v7, additional information (to be interpreted) is
      stored in the remaining bits (packets[3] & 0x1c).
      In addition, the value stored in (packet[0] & 0x0c) is no longer
      a constant but contains additional information yet to be deciphered.
      This change should be backwards compatible with v6 hardware.
    
    Additional-author: Giovanni Frigione <gio.frigione@gmail.com>
    Signed-off-by: default avatarMatteo Delfino <kendatsuba@gmail.com>
    Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    9eebed7d
elantech.c 36.8 KB