Hi Richard, > Reporting absolute position allows the synaptics and libinput xorg drivers > to treat the BYD touchpad as a touchpad, rather than a mouse. This allows > edge scrolling, tap to click, natural scrolling and any other location > based single touch gesture to work. > > I opted to completely disable the hardware multitouch gesture recognition > (including two finger scroll) for a couple of reasons: > > 1. time delta between gesture packets was very large resulting in a rather > jerky scrolling experience, especially compared to touchpad with real > multitouch reporting. > 2. Reporting absolute position and touch support enables the users to > configure the touchpad in the touchpad settings section of gnome, cinnamon, > etc because those applets configure synaptics and libinput. Otherwise xorg > thinks it's just a mouse. This all sounds good - I look forward to trying your patch! Also, how did you figure out how to enable the absolute packets? I couldn't find anything like that with the Windows driver I was using. > 3. Enabling multitouch gesture recognition results in the mouse cursor > freezing up when the user uses two fingers, one to move the mouse cursor > and another to click. This is because movement packets stop getting sent > while a gesture (such as pinch, rotate, etc) is being detected and/or > reported. So with your patch, how will this gesture work, if it can only recognise one finger at a time? I guess you'd have to enable the "double-tap then drag" thing in synaptics and use that? > Disabling all hardware gesture detection, including two finger > scroll, provides the most fluid user experience. Yep, I agree that if it works, good one-finger scrolling would be much better than the touchpad's internal gesture recognition. > Regarding serio_pause_rx(), I was following a pattern similar to another > touchpad driver in psmouse. That whole callback mechanism is required to > report the touch had ended, since the BYD hardware only sends packets when > a touch is occurring. Is there a better way? You're right, actually - I was worried that the input_report_* functions might sleep, but I just had a proper look and they don't. > I'll try to rebase and post an updated patch tonight. Cheers! Chris -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html