Thread (10 messages) 10 messages, 2 authors, 2017-03-28

Re: [PATCH RFC 3/4] input: add a EV_SW event for ratchet switch

flat view

From: Peter Hutterer <hidden>
Date: 2017-03-28 00:25:41

On Mon, Mar 27, 2017 at 09:27:31AM -0300, Mauro Carvalho Chehab wrote:
Em Mon, 27 Mar 2017 11:53:57 +1000
Peter Hutterer [off-list ref] escreveu:
quoted
On Sat, Mar 25, 2017 at 07:49:41PM -0300, Mauro Carvalho Chehab wrote:
quoted
Some mouses have a switch on their wheel, allowing to switch
between ratchet or free wheel mode. Add support for it.  
I understand the want to support it because it's there but what do you
expect this to be used for?

tbh, I wouldn't know what to do with this information, short of displaying
some OSD to inform the user. Which is rather superfluous since the physical
change will feel obvious anyway.
For this particular device, the main reason is because it is there :-)
As adding support for it is trivial, I don't see any reason why not
adding it.

Yet, applications could use it, in order to switch between a "discrete" 
mode, where one wheel position corresponds to one line of scroll, and
movements below a threshold would be ignored.
fwiw, that would more likely be the  result of receiving a different event
code (hires-wheel), more so than a ratchet switch - at least on this device.

the mice I have here don't change the behaviour of the wheel, so the
granularity is the same before and after. But they also don't send events
for the state, so there's that :)

Cheers,
   Peter
quoted
A Documentation/input/event-codes.txt hunk would be welcomed here too
btw.
Sure. Will do on a next patch series, once we agree about the high
resolution wheel movements API.
quoted
Cheers,
   Peter
quoted
Signed-off-by: Mauro Carvalho Chehab <redacted>
---
 include/linux/mod_devicetable.h        | 2 +-
 include/uapi/linux/input-event-codes.h | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 8a57f0b1242d..73534c591b40 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -292,7 +292,7 @@ struct pcmcia_device_id {
 #define INPUT_DEVICE_ID_LED_MAX		0x0f
 #define INPUT_DEVICE_ID_SND_MAX		0x07
 #define INPUT_DEVICE_ID_FF_MAX		0x7f
-#define INPUT_DEVICE_ID_SW_MAX		0x0f
+#define INPUT_DEVICE_ID_SW_MAX		0x1f
 
 #define INPUT_DEVICE_ID_MATCH_BUS	1
 #define INPUT_DEVICE_ID_MATCH_VENDOR	2
diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h
index 23b2d377af59..a3eafd0527f1 100644
--- a/include/uapi/linux/input-event-codes.h
+++ b/include/uapi/linux/input-event-codes.h
@@ -782,7 +782,9 @@
 #define SW_LINEIN_INSERT	0x0d  /* set = inserted */
 #define SW_MUTE_DEVICE		0x0e  /* set = device disabled */
 #define SW_PEN_INSERTED		0x0f  /* set = pen inserted */
-#define SW_MAX			0x0f
+#define SW_RATCHET		0x10  /* set = ratchet mode,
+					 unset: free wheel */
+#define SW_MAX			0x1f
 #define SW_CNT			(SW_MAX+1)
 
 /*
-- 
2.9.3

  


Thanks,
Mauro
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help