* [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice
@ 2018-08-30 21:56 Harry Cutts
2018-08-30 21:56 ` [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code Harry Cutts
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Harry Cutts @ 2018-08-30 21:56 UTC (permalink / raw)
To: linux-input, LKML
Cc: Jiri Kosina, Dmitry Torokhov, Benjamin Tissoires, Harry Cutts,
linux-doc, Jonathan Corbet, Jiri Kosina
Hi everyone,
This is v2 of the patch set adding support for high-resolution scroll
wheels on Logitech mice. See the linux-input "Reporting high-resolution
scroll events" thread [0] for previous discussion of the evdev changes.
I would love to hear your feedback.
Thanks,
Harry Cutts
Chrome OS Touch/Input team
[0]: https://www.spinics.net/lists/linux-input/msg57380.html
Changes in v2:
* Changed the REL_WHEEL_HI_RES code to use micrometres (a.k.a. microns)
as its units, instead of 256ths of a millimetre.
* Removed support for mice connecting over Bluetooth, due to a bug where
the mouse's high-res mode and the driver's settings get out of sync
when the mouse is power cycled.
* Moved the creation of the HID++ 1.0 function and the refactor to use
the LDJ_DEVICE macro into separate patches.
* Added a couple of explanatory comments to the Logitech driver.
Harry Cutts (5):
Add the `REL_WHEEL_HI_RES` event code
Create a utility class for counting scroll events
Add function to enable HID++ 1.0 "scrolling acceleration"
Enable high-resolution scrolling on Logitech mice
Use LDJ_DEVICE macro for existing Logitech mice
Documentation/input/event-codes.rst | 11 +-
drivers/hid/hid-input.c | 45 ++++
drivers/hid/hid-logitech-hidpp.c | 311 ++++++++++++++++++++++---
include/linux/hid.h | 28 +++
include/uapi/linux/input-event-codes.h | 1 +
5 files changed, 368 insertions(+), 28 deletions(-)
--
2.19.0.rc0.228.g281dcd1b4d0-goog
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code 2018-08-30 21:56 [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice Harry Cutts @ 2018-08-30 21:56 ` Harry Cutts 2018-09-03 13:43 ` Jiri Kosina 2018-09-04 6:28 ` Peter Hutterer 2018-09-03 8:15 ` [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice Benjamin Tissoires 2018-09-05 8:13 ` Jiri Kosina 2 siblings, 2 replies; 7+ messages in thread From: Harry Cutts @ 2018-08-30 21:56 UTC (permalink / raw) To: linux-input, LKML Cc: Jiri Kosina, Dmitry Torokhov, Benjamin Tissoires, Harry Cutts, linux-doc, Jonathan Corbet This event code represents scroll reports from high-resolution wheels, and will be used by future patches in this series. See the linux-input "Reporting high-resolution scroll events" thread [0] for more details. [0]: https://www.spinics.net/lists/linux-input/msg57380.html Signed-off-by: Harry Cutts <hcutts@chromium.org> --- Changes in v2: None Documentation/input/event-codes.rst | 11 ++++++++++- include/uapi/linux/input-event-codes.h | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Documentation/input/event-codes.rst b/Documentation/input/event-codes.rst index a8c0873beb95..cef220c176a4 100644 --- a/Documentation/input/event-codes.rst +++ b/Documentation/input/event-codes.rst @@ -190,7 +190,16 @@ A few EV_REL codes have special meanings: * REL_WHEEL, REL_HWHEEL: - These codes are used for vertical and horizontal scroll wheels, - respectively. + respectively. The value is the number of "notches" moved on the wheel, the + physical size of which varies by device. For high-resolution wheels (which + report multiple events for each notch of movement, or do not have notches) + this may be an approximation based on the high-resolution scroll events. + +* REL_WHEEL_HI_RES: + + - If a vertical scroll wheel supports high-resolution scrolling, this code + will be emitted in addition to REL_WHEEL. The value is the (approximate) + distance travelled by the user's finger, in microns. EV_ABS ------ diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h index 53fbae27b280..dad8d3890a3a 100644 --- a/include/uapi/linux/input-event-codes.h +++ b/include/uapi/linux/input-event-codes.h @@ -708,6 +708,7 @@ #define REL_DIAL 0x07 #define REL_WHEEL 0x08 #define REL_MISC 0x09 +#define REL_WHEEL_HI_RES 0x0a #define REL_MAX 0x0f #define REL_CNT (REL_MAX+1) -- 2.19.0.rc0.228.g281dcd1b4d0-goog ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code 2018-08-30 21:56 ` [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code Harry Cutts @ 2018-09-03 13:43 ` Jiri Kosina 2018-09-05 0:25 ` Dmitry Torokhov 2018-09-04 6:28 ` Peter Hutterer 1 sibling, 1 reply; 7+ messages in thread From: Jiri Kosina @ 2018-09-03 13:43 UTC (permalink / raw) To: Harry Cutts, Dmitry Torokhov Cc: linux-input, LKML, Jiri Kosina, Benjamin Tissoires, linux-doc, Jonathan Corbet On Thu, 30 Aug 2018, Harry Cutts wrote: > This event code represents scroll reports from high-resolution wheels, > and will be used by future patches in this series. See the linux-input > "Reporting high-resolution scroll events" thread [0] for more details. > > [0]: https://www.spinics.net/lists/linux-input/msg57380.html > > Signed-off-by: Harry Cutts <hcutts@chromium.org> > --- > > Changes in v2: None > > Documentation/input/event-codes.rst | 11 ++++++++++- > include/uapi/linux/input-event-codes.h | 1 + > 2 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/Documentation/input/event-codes.rst b/Documentation/input/event-codes.rst > index a8c0873beb95..cef220c176a4 100644 > --- a/Documentation/input/event-codes.rst > +++ b/Documentation/input/event-codes.rst > @@ -190,7 +190,16 @@ A few EV_REL codes have special meanings: > * REL_WHEEL, REL_HWHEEL: > > - These codes are used for vertical and horizontal scroll wheels, > - respectively. > + respectively. The value is the number of "notches" moved on the wheel, the > + physical size of which varies by device. For high-resolution wheels (which > + report multiple events for each notch of movement, or do not have notches) > + this may be an approximation based on the high-resolution scroll events. > + > +* REL_WHEEL_HI_RES: > + > + - If a vertical scroll wheel supports high-resolution scrolling, this code > + will be emitted in addition to REL_WHEEL. The value is the (approximate) > + distance travelled by the user's finger, in microns. > > EV_ABS > ------ > diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h > index 53fbae27b280..dad8d3890a3a 100644 > --- a/include/uapi/linux/input-event-codes.h > +++ b/include/uapi/linux/input-event-codes.h > @@ -708,6 +708,7 @@ > #define REL_DIAL 0x07 > #define REL_WHEEL 0x08 > #define REL_MISC 0x09 > +#define REL_WHEEL_HI_RES 0x0a > #define REL_MAX 0x0f > #define REL_CNT (REL_MAX+1) Dmitry, is this OK with you? Thanks, -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code 2018-09-03 13:43 ` Jiri Kosina @ 2018-09-05 0:25 ` Dmitry Torokhov 0 siblings, 0 replies; 7+ messages in thread From: Dmitry Torokhov @ 2018-09-05 0:25 UTC (permalink / raw) To: Jiri Kosina Cc: Harry Cutts, linux-input, LKML, Jiri Kosina, Benjamin Tissoires, linux-doc, Jonathan Corbet On Mon, Sep 03, 2018 at 03:43:13PM +0200, Jiri Kosina wrote: > On Thu, 30 Aug 2018, Harry Cutts wrote: > > > This event code represents scroll reports from high-resolution wheels, > > and will be used by future patches in this series. See the linux-input > > "Reporting high-resolution scroll events" thread [0] for more details. > > > > [0]: https://www.spinics.net/lists/linux-input/msg57380.html > > > > Signed-off-by: Harry Cutts <hcutts@chromium.org> > > --- > > > > Changes in v2: None > > > > Documentation/input/event-codes.rst | 11 ++++++++++- > > include/uapi/linux/input-event-codes.h | 1 + > > 2 files changed, 11 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/input/event-codes.rst b/Documentation/input/event-codes.rst > > index a8c0873beb95..cef220c176a4 100644 > > --- a/Documentation/input/event-codes.rst > > +++ b/Documentation/input/event-codes.rst > > @@ -190,7 +190,16 @@ A few EV_REL codes have special meanings: > > * REL_WHEEL, REL_HWHEEL: > > > > - These codes are used for vertical and horizontal scroll wheels, > > - respectively. > > + respectively. The value is the number of "notches" moved on the wheel, the > > + physical size of which varies by device. For high-resolution wheels (which > > + report multiple events for each notch of movement, or do not have notches) > > + this may be an approximation based on the high-resolution scroll events. > > + > > +* REL_WHEEL_HI_RES: > > + > > + - If a vertical scroll wheel supports high-resolution scrolling, this code > > + will be emitted in addition to REL_WHEEL. The value is the (approximate) > > + distance travelled by the user's finger, in microns. > > > > EV_ABS > > ------ > > diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h > > index 53fbae27b280..dad8d3890a3a 100644 > > --- a/include/uapi/linux/input-event-codes.h > > +++ b/include/uapi/linux/input-event-codes.h > > @@ -708,6 +708,7 @@ > > #define REL_DIAL 0x07 > > #define REL_WHEEL 0x08 > > #define REL_MISC 0x09 > > +#define REL_WHEEL_HI_RES 0x0a > > #define REL_MAX 0x0f > > #define REL_CNT (REL_MAX+1) > > Dmitry, is this OK with you? Yep, please feel free to merge through your tree. Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Thanks. -- Dmitry ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code 2018-08-30 21:56 ` [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code Harry Cutts 2018-09-03 13:43 ` Jiri Kosina @ 2018-09-04 6:28 ` Peter Hutterer 1 sibling, 0 replies; 7+ messages in thread From: Peter Hutterer @ 2018-09-04 6:28 UTC (permalink / raw) To: Harry Cutts Cc: linux-input, LKML, Jiri Kosina, Dmitry Torokhov, Benjamin Tissoires, linux-doc, Jonathan Corbet On Thu, Aug 30, 2018 at 02:56:18PM -0700, Harry Cutts wrote: > This event code represents scroll reports from high-resolution wheels, > and will be used by future patches in this series. See the linux-input > "Reporting high-resolution scroll events" thread [0] for more details. > > [0]: https://www.spinics.net/lists/linux-input/msg57380.html > > Signed-off-by: Harry Cutts <hcutts@chromium.org> looks good to me, thanks. For the archives, the libinput issue filed for this is here: https://gitlab.freedesktop.org/libinput/libinput/issues/130 Cheers, Peter > --- > > Changes in v2: None > > Documentation/input/event-codes.rst | 11 ++++++++++- > include/uapi/linux/input-event-codes.h | 1 + > 2 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/Documentation/input/event-codes.rst b/Documentation/input/event-codes.rst > index a8c0873beb95..cef220c176a4 100644 > --- a/Documentation/input/event-codes.rst > +++ b/Documentation/input/event-codes.rst > @@ -190,7 +190,16 @@ A few EV_REL codes have special meanings: > * REL_WHEEL, REL_HWHEEL: > > - These codes are used for vertical and horizontal scroll wheels, > - respectively. > + respectively. The value is the number of "notches" moved on the wheel, the > + physical size of which varies by device. For high-resolution wheels (which > + report multiple events for each notch of movement, or do not have notches) > + this may be an approximation based on the high-resolution scroll events. > + > +* REL_WHEEL_HI_RES: > + > + - If a vertical scroll wheel supports high-resolution scrolling, this code > + will be emitted in addition to REL_WHEEL. The value is the (approximate) > + distance travelled by the user's finger, in microns. > > EV_ABS > ------ > diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h > index 53fbae27b280..dad8d3890a3a 100644 > --- a/include/uapi/linux/input-event-codes.h > +++ b/include/uapi/linux/input-event-codes.h > @@ -708,6 +708,7 @@ > #define REL_DIAL 0x07 > #define REL_WHEEL 0x08 > #define REL_MISC 0x09 > +#define REL_WHEEL_HI_RES 0x0a > #define REL_MAX 0x0f > #define REL_CNT (REL_MAX+1) > > -- > 2.19.0.rc0.228.g281dcd1b4d0-goog > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice 2018-08-30 21:56 [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice Harry Cutts 2018-08-30 21:56 ` [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code Harry Cutts @ 2018-09-03 8:15 ` Benjamin Tissoires 2018-09-05 8:13 ` Jiri Kosina 2 siblings, 0 replies; 7+ messages in thread From: Benjamin Tissoires @ 2018-09-03 8:15 UTC (permalink / raw) To: hcutts Cc: open list:HID CORE LAYER, lkml, jiri.kosina, Dmitry Torokhov, linux-doc, corbet, Jiri Kosina Hi Harry, On Thu, Aug 30, 2018 at 11:56 PM Harry Cutts <hcutts@chromium.org> wrote: > > Hi everyone, > > This is v2 of the patch set adding support for high-resolution scroll > wheels on Logitech mice. See the linux-input "Reporting high-resolution > scroll events" thread [0] for previous discussion of the evdev changes. > I would love to hear your feedback. Series looks good. I just tested it on a regular Logitech mouse and a MX Master with high-res scrolling and everything works as expected. Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Cheers, Benjamin > > Thanks, > > Harry Cutts > Chrome OS Touch/Input team > > [0]: https://www.spinics.net/lists/linux-input/msg57380.html > > > Changes in v2: > * Changed the REL_WHEEL_HI_RES code to use micrometres (a.k.a. microns) > as its units, instead of 256ths of a millimetre. > * Removed support for mice connecting over Bluetooth, due to a bug where > the mouse's high-res mode and the driver's settings get out of sync > when the mouse is power cycled. > * Moved the creation of the HID++ 1.0 function and the refactor to use > the LDJ_DEVICE macro into separate patches. > * Added a couple of explanatory comments to the Logitech driver. > > Harry Cutts (5): > Add the `REL_WHEEL_HI_RES` event code > Create a utility class for counting scroll events > Add function to enable HID++ 1.0 "scrolling acceleration" > Enable high-resolution scrolling on Logitech mice > Use LDJ_DEVICE macro for existing Logitech mice > > Documentation/input/event-codes.rst | 11 +- > drivers/hid/hid-input.c | 45 ++++ > drivers/hid/hid-logitech-hidpp.c | 311 ++++++++++++++++++++++--- > include/linux/hid.h | 28 +++ > include/uapi/linux/input-event-codes.h | 1 + > 5 files changed, 368 insertions(+), 28 deletions(-) > > -- > 2.19.0.rc0.228.g281dcd1b4d0-goog > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice 2018-08-30 21:56 [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice Harry Cutts 2018-08-30 21:56 ` [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code Harry Cutts 2018-09-03 8:15 ` [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice Benjamin Tissoires @ 2018-09-05 8:13 ` Jiri Kosina 2 siblings, 0 replies; 7+ messages in thread From: Jiri Kosina @ 2018-09-05 8:13 UTC (permalink / raw) To: Harry Cutts Cc: linux-input, LKML, Dmitry Torokhov, Benjamin Tissoires, linux-doc, Jonathan Corbet On Thu, 30 Aug 2018, Harry Cutts wrote: > This is v2 of the patch set adding support for high-resolution scroll > wheels on Logitech mice. See the linux-input "Reporting high-resolution > scroll events" thread [0] for previous discussion of the evdev changes. > I would love to hear your feedback. Queued in for-4.20/logitech-highres. Thanks, -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-09-05 8:13 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-08-30 21:56 [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice Harry Cutts 2018-08-30 21:56 ` [PATCH v2 1/5] Add the `REL_WHEEL_HI_RES` event code Harry Cutts 2018-09-03 13:43 ` Jiri Kosina 2018-09-05 0:25 ` Dmitry Torokhov 2018-09-04 6:28 ` Peter Hutterer 2018-09-03 8:15 ` [PATCH v2 0/5] Add support for high-resolution scrolling on Logitech mice Benjamin Tissoires 2018-09-05 8:13 ` Jiri Kosina
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).