Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7105d2ea authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Input: ALPS - do not set REL_X/REL_Y capabilities on the touchpad



Relative events are only reported via secondary device therefore device
associated with the touchpad should not advertise these capabilities.

Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent df2d4637
Loading
Loading
Loading
Loading
+11 −0
Original line number Original line Diff line number Diff line
@@ -487,6 +487,17 @@ int alps_init(struct psmouse *psmouse)
	if (alps_hw_init(psmouse))
	if (alps_hw_init(psmouse))
		goto init_fail;
		goto init_fail;


	/*
	 * Undo part of setup done for us by psmouse core since touchpad
	 * is not a relative device.
	 */
	__clear_bit(EV_REL, dev1->evbit);
	__clear_bit(REL_X, dev1->relbit);
	__clear_bit(REL_Y, dev1->relbit);

	/*
	 * Now set up our capabilities.
	 */
	dev1->evbit[BIT_WORD(EV_KEY)] |= BIT_MASK(EV_KEY);
	dev1->evbit[BIT_WORD(EV_KEY)] |= BIT_MASK(EV_KEY);
	dev1->keybit[BIT_WORD(BTN_TOUCH)] |= BIT_MASK(BTN_TOUCH);
	dev1->keybit[BIT_WORD(BTN_TOUCH)] |= BIT_MASK(BTN_TOUCH);
	dev1->keybit[BIT_WORD(BTN_TOOL_FINGER)] |= BIT_MASK(BTN_TOOL_FINGER);
	dev1->keybit[BIT_WORD(BTN_TOOL_FINGER)] |= BIT_MASK(BTN_TOOL_FINGER);