From owner-freebsd-ports-bugs@FreeBSD.ORG Thu Jan 23 18:50:00 2014 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.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 D0403769 for ; Thu, 23 Jan 2014 18:50:00 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AAC951DCF for ; Thu, 23 Jan 2014 18:50:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id s0NIo037090293 for ; Thu, 23 Jan 2014 18:50:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id s0NIo0TN090292; Thu, 23 Jan 2014 18:50:00 GMT (envelope-from gnats) Resent-Date: Thu, 23 Jan 2014 18:50:00 GMT Resent-Message-Id: <201401231850.s0NIo0TN090292@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Brock Williams Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B323F290 for ; Thu, 23 Jan 2014 18:42:42 +0000 (UTC) Received: from oldred.freebsd.org (oldred.freebsd.org [IPv6:2001:1900:2254:206a::50:4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 8507B1D59 for ; Thu, 23 Jan 2014 18:42:42 +0000 (UTC) Received: from oldred.freebsd.org ([127.0.1.6]) by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id s0NIgfVQ039811 for ; Thu, 23 Jan 2014 18:42:41 GMT (envelope-from nobody@oldred.freebsd.org) Received: (from nobody@localhost) by oldred.freebsd.org (8.14.5/8.14.5/Submit) id s0NIgfBX039807; Thu, 23 Jan 2014 18:42:41 GMT (envelope-from nobody) Message-Id: <201401231842.s0NIgfBX039807@oldred.freebsd.org> Date: Thu, 23 Jan 2014 18:42:41 GMT From: Brock Williams To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: ports/186045: patch to xf86-input-mouse to support FlipXY X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jan 2014 18:50:01 -0000 >Number: 186045 >Category: ports >Synopsis: patch to xf86-input-mouse to support FlipXY >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Jan 23 18:50:00 UTC 2014 >Closed-Date: >Last-Modified: >Originator: Brock Williams >Release: 9.2-RELEASE >Organization: Cottonwood Computer >Environment: FreeBSD touchscreentest 9.2-RELEASE FreeBSD 9.2-RELEASE #0: Mon Oct 21 16:18:54 MDT 2013 ccs@touchscreentest:/usr/obj/usr/src/sys/NO_HID i386 >Description: Additional patch for x11-drivers/xf86-input-mouse to support FlipXY/SwapXY option. This allows us to use an eGalax based usb hid touchscreen where the axes are inverted. See kern/183032 for more discussion. >How-To-Repeat: >Fix: Patch attached with submission follows: --- src/bsd_mouse.c 2014-01-23 11:30:52.000000000 -0700 +++ /home/ccs/bsd_mouse.c 2014-01-23 11:30:40.000000000 -0700 @@ -916,7 +916,7 @@ hid_item_t h; struct UsbMseAcol *acol; struct UsbMseLcol *lcol; - int mdepth, rsize, *rsizep, acolused, lcolused, used; + int mdepth, rsize, *rsizep, acolused, lcolused, used, swapxy; pUsbMse = malloc(sizeof(UsbMseRec)); if (pUsbMse == NULL) { @@ -939,6 +939,10 @@ return FALSE; } } + + swapxy=xf86SetBoolOption(pInfo->options, "SwapXY", 0); + swapxy|=xf86SetBoolOption(pInfo->options, "FlipXY", 0); + /* Get USB informations */ reportDesc = hid_get_report_desc(pInfo->fd); mdepth = 0; @@ -991,7 +995,7 @@ if (mdepth == 0) break; used = 1; - if (h.usage == 0x00010030) { /* X */ + if ( (swapxy==0 && h.usage == 0x00010030) || (swapxy==1 && h.usage==0x00010031)) { /* X */ lcol->loc_x = h; if ((h.flags & 0x04) == 0) { if (acol->xmin == acol->xmax) { @@ -1002,7 +1006,7 @@ acol->xmax = max(acol->xmax, h.logical_maximum); } } - } else if (h.usage == 0x00010031) { /* Y */ + } else if ( (swapxy==0 && h.usage == 0x00010031) || (swapxy==1 && h.usage==0x00010030)) { /* Y */ lcol->loc_y = h; if ((h.flags & 0x04) == 0) { if (acol->ymin == acol->ymax) { >Release-Note: >Audit-Trail: >Unformatted: