code: def emulate_wheel(self, data, direction, timeval):
          
          if direction == 'x':
              code = 0x06
          elif direction == 'z':
              # Not enitely sure if this exists
              code = 0x07
          else:
              code = 0x08
  
          if WIN:
              data = data // 120
  
          return self.create_event_object(
              "Relative",
              code,
              data,
              timeval)
docs: Emulate rel values for the mouse wheel.
  
          In evdev, a single click forwards of the mouse wheel is 1 and
          a click back is -1. Windows uses 120 and -120. We floor divide
          the Windows number by 120. This is fine for the digital scroll
          wheels found on the vast majority of mice. It also works on
          the analogue ball on the top of the Apple mouse.
  
          What do the analogue scroll wheels found on 200 quid high end
          gaming mice do? If the lowest unit is 120 then we are okay. If
          they report changes of less than 120 units Windows, then this
          might be an unacceptable loss of precision. Needless to say, I
          don't have such a mouse to test one way or the other.