From patchwork Wed Apr 8 16:04:44 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans de Goede X-Patchwork-Id: 6181301 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id F152EBF4A6 for ; Wed, 8 Apr 2015 16:04:52 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 9A5F5201DD for ; Wed, 8 Apr 2015 16:04:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 40F652017D for ; Wed, 8 Apr 2015 16:04:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932088AbbDHQEt (ORCPT ); Wed, 8 Apr 2015 12:04:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46485 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932244AbbDHQEs (ORCPT ); Wed, 8 Apr 2015 12:04:48 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 506238F2FD; Wed, 8 Apr 2015 16:04:48 +0000 (UTC) Received: from shalem.localdomain (vpn1-5-67.ams2.redhat.com [10.36.5.67]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t38G4iQJ003337 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 8 Apr 2015 12:04:46 -0400 Message-ID: <5525519C.6070304@redhat.com> Date: Wed, 08 Apr 2015 18:04:44 +0200 From: Hans de Goede User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Hans de Bruin , Dmitry Torokhov CC: linux-input , "linux-kernel@vger.kernel.org >> Linux Kernel Mailing List" , =?UTF-8?B?UGFsaSBSb2jDoXI=?= Subject: Re: 4.0.0-rc mouse/keyboard events get stuck References: <5522D2EF.9070505@xmsnet.nl> <55250A0B.6060608@xmsnet.nl> In-Reply-To: <55250A0B.6060608@xmsnet.nl> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, T_TVD_MIME_EPI, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi, On 08-04-15 12:59, Hans de Bruin wrote: > On 04/06/2015 11:23 PM, Dmitry Torokhov wrote: >> Hi Hans, >> >> On Mon, Apr 6, 2015 at 11:39 AM, Hans de Bruin wrote: >>> Since 4.0.0-rc something mu laptop has some mouse /keyboard problems. >>> When I play KDE kpatience, a card game, card stick to my mousepointer: left >>> mouse button down on a card, move mouse pointer and card to another place. >>> left mouse button up to drop the card. This should drop the card, but often >>> the mouse button up events gets stuck somewhere until I move he mouse >>> pointer a little bit. >>> In web based mail clients something similar happens when I drag mail to >>> another folder. >>> Sometime after I start a xterm and start typing, the letters don't appear >>> until move the mouse pointer. >>> >>> Bisecting is out of the question. This kernel realease was so dramatic I was >>> glad to have functioning kde screen when rc4 arrived. >>> >>> My laptop is a Dell Latitude D430, it has a touchpad and a pointer an two >>> sets of buttons. >>> >>> dmesg >>> [ 0.636492] input: AT Translated Set 2 keyboard as >>> /devices/platform/i8042/serio0/input/input4 >>> [ 0.633108] mousedev: PS/2 mouse device common for all mice >>> [ 80.543044] input: PS/2 ALPS Mouse as >>> /devices/platform/i8042/serio1/input/input8 >> >> Linus just merged 2 fixes to ALPS driver that might help you. Could >> you please try compiling tip of the tree and telling me if it fixes >> your issue? >> > > I am at rc.7 and the problem is still there. But maybe you can get away with "user error". Here is a picture of the layout of my laptop: > > http://img.clubic.com/000000DC00604500-photo-dell-latitude-d430-4.jpg > > Lets call the blue thing ts. The buttons directly beneath the keys ts-l and ts-r. For the touchpad tp, tp-l and tp-r. And because one can never have to many input devices um, um-l and um-r for a usb mouse. > > > When I play kpatience and stick to one device ts or ts-l or mp and mp-l no problems arise. I can also mix devices for example um and tp-l. There are several combinations. Only one of these ts and tp-l show the problematic behavior. This is the way i use my laptop (user error?) > > Now something to distract you from the issue, something almost completely different. Something which is also present in 3.18 and probably before. Firefox and other programs have scrollbars on the right side. One can click on it, move the slider and release the button. Except with the combination tp and ts-l, It does not work. Al other combinations do. Attached is a patch which fixes this for me on my d620, please test both patches. Thanks & Regards, Hans From b4039f30e8a5b7b2f0002d137265a869cdb95403 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 8 Apr 2015 17:52:36 +0200 Subject: [PATCH 4.0 REGRESSION FIX] alps: Non interleaved V2 dualpoint has separate stick button bits Non interleaved V2 dualpoint touchpad / stick combos have separate stick button bits in the touchpad packets, if we do not check these then the trackpoint buttons will not work when using the touchpad, and when pressed when the user starts using the touchpad will report a release event even though the button is still pressed. This commit fixes this by checking the separate bits, note that we simply combine the buttons, since the hardware does the same when using the touchpad buttons with the trackpoint, so we do not have enough information to properly separate them. Signed-off-by: Hans de Goede --- drivers/input/mouse/alps.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index 6962c26..58987b5 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c @@ -243,6 +243,14 @@ static void alps_process_packet_v1_v2(struct psmouse *psmouse) return; } + /* Non interleaved V2 dualpoint has separate stick button bits */ + if (priv->proto_version == ALPS_PROTO_V2 && + priv->flags == (ALPS_PASS | ALPS_DUALPOINT)) { + left |= packet[0] & 1; + right |= packet[0] & 2; + middle |= packet[0] & 4; + } + alps_report_buttons(dev, dev2, left, right, middle); /* Convert hardware tap to a reasonable Z value */ -- 2.3.4