From owner-freebsd-current@FreeBSD.ORG Thu Jan 30 05:56:46 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E8595F9D; Thu, 30 Jan 2014 05:56:46 +0000 (UTC) Received: from mail-lb0-x230.google.com (mail-lb0-x230.google.com [IPv6:2a00:1450:4010:c04::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id C875F150D; Thu, 30 Jan 2014 05:56:45 +0000 (UTC) Received: by mail-lb0-f176.google.com with SMTP id w7so2171034lbi.35 for ; Wed, 29 Jan 2014 21:56:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=yB2H0hH50kw5mjXlDgPnshSny0A9mYfA7xN+Exbx06w=; b=k/OMQBrBmxnFTA1I1OFisK3WFKI+TxBGNMLVAWzOx0SqzN2AHFX7ifMdxS5RhqMGL1 7Qj/6t9Nh5QtKl7xsjCxr2w0sOuQs//Hw+9fnvRFQGghJYIuG14WE0Z5dZqWDSPIoQ9W PVXl4CCtwE9/DjA/X05KojsW8GBNTSswlSP/0mdIs/AQoLhljWg/6HNGxrBIqwv1oguO 0ky7uTv9vKgdFIDtE1juP7+3ZhbiF/Z2ESDT+/5Qz03gl8NlAC8VnxyoijOBxo9CSu5T jW1bkVBypHrT++7lCd+hJhDqgGvvBphq+RPT2RUloTQdtgkopFEG1hzNU3Z66f+OAFtZ VoCA== MIME-Version: 1.0 X-Received: by 10.112.56.237 with SMTP id d13mr8054746lbq.2.1391061403734; Wed, 29 Jan 2014 21:56:43 -0800 (PST) Received: by 10.112.89.168 with HTTP; Wed, 29 Jan 2014 21:56:43 -0800 (PST) In-Reply-To: <52E8DDA3.3070301@bitfrost.no> References: <52E8DDA3.3070301@bitfrost.no> Date: Thu, 30 Jan 2014 13:56:43 +0800 Message-ID: Subject: Re: Apple Trackpad driver From: Huang Wen Hui To: Hans Petter Selasky Content-Type: multipart/mixed; boundary=001a1133a922d4a58604f129b86b X-Content-Filtered-By: Mailman/MimeDel 2.1.17 Cc: "kwm@freebsd.org" , Adrian Chadd , freebsd-current , "Lundberg, Johannes" , "freebsd-usb@freebsd.org" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list Reply-To: huanghwh@gmail.com List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jan 2014 05:56:47 -0000 --001a1133a922d4a58604f129b86b Content-Type: text/plain; charset=UTF-8 Hans, Thanks for you take care of it and commit it! I found two problems: 1. The selection is not expected when selection with 2 fingers sometimes. 2. Unexpected scrolling when Click with 2 fingers. This patch can fix that. The var "n" modify to "ntouch" seems to be necessary. Cheers, Huang Wen Hui 2014-01-29 Hans Petter Selasky > On 01/29/14 09:49, Lundberg, Johannes wrote: > >> Hi >> >> I tested the driver on a 2012 Macbook Air 11" and it works great! Good >> job! >> >> Is there a way to disable click-by-touch? I always preferred clicking with >> the physical button that is built in to the pad. >> >> > Hi, > > I've added an "#if 0" around the 1 finger tap code until further. Maybe > this feature can be tunable? > > I fixed the code style, added some range checks and cleared some buffer > issues. > > When you assign a signed value to an unsigned variable, you should range > check it, because the sign might cause an overflow when you use it later on. > > int8_t x = -1; > > uint32_t t = x; > > "t" is now "0xffffffffU" and not "255". > > Tested the code on my MacBookPro. Hope I didn't break anything. If so, > send a patch to freebsd-usb. > > http://svnweb.freebsd.org/changeset/base/261260 > > To get the touchpad working with Xorg, I needed to re-compile HALD with > the attached patch. > > kwm: Can you get the attached patch into ports? > > Auto-loading of wsp via devd will be done later. Simply need to > re-generate usb.conf in /etc ... > > --HPS > > --001a1133a922d4a58604f129b86b Content-Type: text/plain; charset=US-ASCII; name="wsp.diff" Content-Disposition: attachment; filename="wsp.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hr1lutxl1 LS0tIHdzcC5jLm9yaWcJMjAxNC0wMS0zMCAwODoxNDoyNi4wMDAwMDAwMDAgKzA4MDAKKysrIHdz cC5jCTIwMTQtMDEtMzAgMTM6NDk6NTkuMDAwMDAwMDAwICswODAwCkBAIC05NTcsOCArOTU3LDgg QEAKIAkJaWYgKGgtPnEyID09IDQpCiAJCQlzYy0+aW50cl9jb3VudCsrOwogCi0JCWlmIChzYy0+ bnRhcHMgPCBuKSB7Ci0JCQlzd2l0Y2ggKG4pIHsKKwkJaWYgKHNjLT5udGFwcyA8IG50b3VjaCkg eworCQkJc3dpdGNoIChudG91Y2gpIHsKIAkJCWNhc2UgMToKIAkJCQlpZiAoZlswXS50b3VjaF9t YWpvciA+IHR1bi5wcmVzc3VyZV90YXBfdGhyZXNob2xkKQogCQkJCQlzYy0+bnRhcHMgPSAxOwpA QCAtOTc4LDcgKzk3OCw3IEBACiAJCQkJYnJlYWs7CiAJCQl9CiAJCX0KLQkJaWYgKG4gPT0gMikg eworCQlpZiAobnRvdWNoID09IDIpIHsKIAkJCXNjLT5kaXN0YW5jZSA9IG1heChzYy0+ZGlzdGFu Y2UsIG1heCgKIAkJCSAgICBhYnMoc2MtPnBvc194WzBdIC0gc2MtPnBvc194WzFdKSwKIAkJCSAg ICBhYnMoc2MtPnBvc195WzBdIC0gc2MtPnBvc195WzFdKSkpOwpAQCAtMTA1MCwxMiArMTA1MCwy MCBAQAogCQkJaWYgKHNjLT5zY190b3VjaCA9PSBXU1BfU0VDT05EX1RPVUNIKQogCQkJCXNjLT5z Y190b3VjaCA9IFdTUF9UT1VDSElORzsKIAotCQkJaWYgKG4gIT0gMCAmJgorCQkJaWYgKG50b3Vj aCAhPSAwICYmCiAJCQkgICAgaC0+cTIgPT0gNCAmJgogCQkJICAgIGZbMF0udG91Y2hfbWFqb3Ig Pj0gdHVuLnByZXNzdXJlX3RvdWNoX3RocmVzaG9sZCkgewogCQkJCWR4ID0gc2MtPnBvc194WzBd IC0gc2MtPnByZV9wb3NfeDsKIAkJCQlkeSA9IHNjLT5wb3NfeVswXSAtIHNjLT5wcmVfcG9zX3k7 Ci0JCQkJaWYgKG4gPT0gMiAmJiBzYy0+c2Nfc3RhdHVzLmJ1dHRvbiAhPSAwKSB7CisKKwkJCQkv KiBJZ25vcmUgbW92ZW1lbnQgZnJvbSBpYnQ9MSB0byBpYnQ9MCAqLworCQkJCWlmIChzYy0+c2Nf c3RhdHVzLm9idXR0b24gIT0gMCAmJiAKKwkJCQkgICAgc2MtPnNjX3N0YXR1cy5idXR0b24gPT0g MCkgeworCQkJCQlkeCA9IDA7CisJCQkJCWR5ID0gMDsKKwkJCQl9CisKKwkJCQlpZiAobnRvdWNo ID09IDIgJiYgc2MtPnNjX3N0YXR1cy5idXR0b24gIT0gMCkgewogCQkJCQlkeCA9IHNjLT5wb3Nf eFtzYy0+ZmluZ2VyXSAtIHNjLT5wcmVfcG9zX3g7CiAJCQkJCWR5ID0gc2MtPnBvc195W3NjLT5m aW5nZXJdIC0gc2MtPnByZV9wb3NfeTsKIAkJCQkJaWYgKGZbMF0ub3JpZ2luID09IDAgfHwgZlsx XS5vcmlnaW4gPT0gMCkgewpAQCAtMTA5Miw3ICsxMTAwLDcgQEAKIAkJCXNjLT5keF9zdW0gKz0g ZHg7CiAJCQlzYy0+ZHlfc3VtICs9IGR5OwogCi0JCQlpZiAobiA9PSAyICYmIHNjLT5zY19zdGF0 dXMuYnV0dG9uID09IDApIHsKKwkJCWlmIChudG91Y2ggPT0gMiAmJiBzYy0+c2Nfc3RhdHVzLmJ1 dHRvbiA9PSAwKSB7CiAJCQkJaWYgKHNjLT5zY3JfbW9kZSA9PSBXU1BfU0NSX05PTkUgJiYKIAkJ CQkgICAgYWJzKHNjLT5keF9zdW0pICsgYWJzKHNjLT5keV9zdW0pID4gNTApCiAJCQkJCXNjLT5z Y3JfbW9kZSA9IGFicyhzYy0+ZHhfc3VtKSA+CkBAIC0xMTM0LDcgKzExNDIsNyBAQAogCQlzYy0+ cHJlX3Bvc194ID0gc2MtPnBvc194WzBdOwogCQlzYy0+cHJlX3Bvc195ID0gc2MtPnBvc195WzBd OwogCi0JCWlmIChuID09IDIgJiYgc2MtPnNjX3N0YXR1cy5idXR0b24gIT0gMCkgeworCQlpZiAo bnRvdWNoID09IDIgJiYgc2MtPnNjX3N0YXR1cy5idXR0b24gIT0gMCkgewogCQkJc2MtPnByZV9w b3NfeCA9IHNjLT5wb3NfeFtzYy0+ZmluZ2VyXTsKIAkJCXNjLT5wcmVfcG9zX3kgPSBzYy0+cG9z X3lbc2MtPmZpbmdlcl07CiAJCX0K --001a1133a922d4a58604f129b86b--