Input: psmouse - add a custom serio protocol to send extra information

The tracksticks on the Lenovo thinkpads have their buttons connected
through the touchpad device. We already fixed that in synaptics.c, but
when we switch the device into RMI4 mode to have proper support, the
pass-through functionality can't deal with them easily.

We add a new PS/2 flag and protocol designed for psmouse.  The RMI4 F03
pass-through can then emit a special set of commands to notify psmouse the
state of the buttons.

This patch implements the protocol in psmouse, while an other will
do the same for rmi4-f03.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Benjamin Tissoires
2017-02-07 23:58:02 -08:00
committed by Dmitry Torokhov
parent e78395334b
commit 19ba1eb15a
3 changed files with 47 additions and 6 deletions

View File

@@ -17,9 +17,10 @@
/*
* bit masks for use in "interrupt" flags (3rd argument)
*/
#define SERIO_TIMEOUT 1
#define SERIO_PARITY 2
#define SERIO_FRAME 4
#define SERIO_TIMEOUT BIT(0)
#define SERIO_PARITY BIT(1)
#define SERIO_FRAME BIT(2)
#define SERIO_OOB_DATA BIT(3)
/*
* Serio types