On Tue, Oct 22, 2019 at 08:29:13PM -0500, Jeff LaBundy wrote: > Hi Dmitry, > > Thank you for your prompt review. > > On Tue, Oct 22, 2019 at 05:22:54PM -0700, Dmitry Torokhov wrote: > > Hi Jeff, > > > > On Sun, Oct 20, 2019 at 11:11:18PM -0500, Jeff LaBundy wrote: > > > + /* > > > + * Each frame contains at most one wheel event (up or down), in which > > > + * case a full keystroke is emulated. > > > + */ > > > + if (event_flags & BIT(IQS62X_EVENT_WHEEL_UP)) { > > > + input_report_key(iqs62x_keys->input, > > > + iqs62x_keys->keycode[IQS62X_EVENT_WHEEL_UP], > > > + 0); > > > + input_sync(iqs62x_keys->input); > > > + } else if (event_flags & BIT(IQS62X_EVENT_WHEEL_DN)) { > > > + input_report_key(iqs62x_keys->input, > > > + iqs62x_keys->keycode[IQS62X_EVENT_WHEEL_DN], > > > + 0); > > > > Not '1'? > > > > We pick up the '1' in the first of the two for loops above so long as the wheel > moved "enough." In this case (and this case only), a subsequent '0' is sent to > emulate a full press/release cycle (2 * {EV_KEY + EV_SYN}) for wheel "ticks." > > I will update the comment to say "...in which case a complementary release cycle > is emulated." If I have misunderstood your concern, please let me know. Ah, sorry, no, I misread the code. Thanks. -- Dmitry