Re: [Linuxwacom-devel] [PATCH] Allow PAD only interface without setting up EV_ABS and/or EV_X/Y

2014-11-20 Thread Peter Hutterer
On Tue, Nov 18, 2014 at 04:42:22PM -0800, Ping Cheng wrote:
 Wacom kernel driver has been merged to HID subsystem. As a bonus,
 we also allow PAD to report its data on its own interface. To declare
 the exact event types, we should not set EV_ABS or EV_X/Y for PADs
 on most tablets.
 
 However, xf86-input-wacom is not designed to handle this case. This
 patch makes future PAD-only, or even expresskey-only, tablets work
 properly.
 
 Signed-off-by: Ping Cheng pi...@wacom.com
 ---
  src/wcmUSB.c | 13 +++--
  1 file changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/src/wcmUSB.c b/src/wcmUSB.c
 index 638ffb8..bac3c66 100644
 --- a/src/wcmUSB.c
 +++ b/src/wcmUSB.c
 @@ -546,6 +546,11 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
  
   if (!ISBITSET(ev,EV_ABS))
   {
 + /* may be an expresskey only interface */
 + if (ISBITSET(common-wcmKeys, BTN_FORWARD) ||
 + ISBITSET(common-wcmKeys, BTN_0))
 + return Success;
 +
   xf86Msg(X_ERROR, %s: no abs bits.\n, pInfo-name);
   return !Success;
   }
 @@ -560,6 +565,11 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
   /* max x */
   if (ioctl(pInfo-fd, EVIOCGABS(ABS_X), absinfo)  0)
   {
 + /* may be a PAD only interface */
 + if (ISBITSET(common-wcmKeys, BTN_FORWARD) ||
 + ISBITSET(common-wcmKeys, BTN_0))
 + return Success;
 +
   xf86Msg(X_ERROR, %s: unable to ioctl xmax value.\n, 
 pInfo-name);
   return !Success;
   }

Reviewed-by: Peter Hutterer peter.hutte...@who-t.net
for this bit


 @@ -755,8 +765,7 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
  
   if (ioctl(pInfo-fd, EVIOCGBIT(EV_SW, sizeof(sw)), sw)  0)
   {
 - xf86Msg(X_ERROR, %s: usbProbeKeys unable to ioctl 
 - sw bits.\n, pInfo-name);
 + xf86Msg(X_ERROR, %s: unable to ioctl sw bits.\n, pInfo-name);
   return 0;
   }
   else if (ISBITSET(sw, SW_MUTE_DEVICE))

Reviewed-by: Peter Hutterer peter.hutte...@who-t.net, if it's split to a
separate patch.

fwiw, in the future we should use __func__ instead of harcoding function
names.

Cheers,
   Peter



--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


Re: [Linuxwacom-devel] [PATCH] Allow PAD only interface without setting up EV_ABS and/or EV_X/Y

2014-11-20 Thread Ping Cheng
On Thursday, November 20, 2014, Peter Hutterer peter.hutte...@who-t.net
wrote:

 On Tue, Nov 18, 2014 at 04:42:22PM -0800, Ping Cheng wrote:
  Wacom kernel driver has been merged to HID subsystem. As a bonus,
  we also allow PAD to report its data on its own interface. To declare
  the exact event types, we should not set EV_ABS or EV_X/Y for PADs
  on most tablets.
 
  However, xf86-input-wacom is not designed to handle this case. This
  patch makes future PAD-only, or even expresskey-only, tablets work
  properly.
 
  Signed-off-by: Ping Cheng pi...@wacom.com javascript:;
  ---
   src/wcmUSB.c | 13 +++--
   1 file changed, 11 insertions(+), 2 deletions(-)
 
  diff --git a/src/wcmUSB.c b/src/wcmUSB.c
  index 638ffb8..bac3c66 100644
  --- a/src/wcmUSB.c
  +++ b/src/wcmUSB.c
  @@ -546,6 +546,11 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
 
if (!ISBITSET(ev,EV_ABS))
{
  + /* may be an expresskey only interface */
  + if (ISBITSET(common-wcmKeys, BTN_FORWARD) ||
  + ISBITSET(common-wcmKeys, BTN_0))
  + return Success;
  +
xf86Msg(X_ERROR, %s: no abs bits.\n, pInfo-name);
return !Success;
}
  @@ -560,6 +565,11 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
/* max x */
if (ioctl(pInfo-fd, EVIOCGABS(ABS_X), absinfo)  0)
{
  + /* may be a PAD only interface */
  + if (ISBITSET(common-wcmKeys, BTN_FORWARD) ||
  + ISBITSET(common-wcmKeys, BTN_0))
  + return Success;
  +
xf86Msg(X_ERROR, %s: unable to ioctl xmax value.\n,
 pInfo-name);
return !Success;
}

 Reviewed-by: Peter Hutterer peter.hutte...@who-t.net javascript:;
 for this bit


  @@ -755,8 +765,7 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
 
if (ioctl(pInfo-fd, EVIOCGBIT(EV_SW, sizeof(sw)), sw)  0)
{
  - xf86Msg(X_ERROR, %s: usbProbeKeys unable to ioctl 
  - sw bits.\n, pInfo-name);
  + xf86Msg(X_ERROR, %s: unable to ioctl sw bits.\n,
 pInfo-name);
return 0;
}
else if (ISBITSET(sw, SW_MUTE_DEVICE))

 Reviewed-by: Peter Hutterer peter.hutte...@who-t.net javascript:;, if
 it's split to a
 separate patch.


Thank you for the review. I'll split the patch and post them here.


 fwiw, in the future we should use __func__ instead of harcoding function
 names.


When does your future start, from this patch or sometime later?

;-)

Ping
--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


Re: [Linuxwacom-devel] [PATCH] Allow PAD only interface without setting up EV_ABS and/or EV_X/Y

2014-11-20 Thread Peter Hutterer
On Thu, Nov 20, 2014 at 10:34:24PM -0800, Ping Cheng wrote:
 On Thursday, November 20, 2014, Peter Hutterer peter.hutte...@who-t.net
 wrote:
 
  On Tue, Nov 18, 2014 at 04:42:22PM -0800, Ping Cheng wrote:
   Wacom kernel driver has been merged to HID subsystem. As a bonus,
   we also allow PAD to report its data on its own interface. To declare
   the exact event types, we should not set EV_ABS or EV_X/Y for PADs
   on most tablets.
  
   However, xf86-input-wacom is not designed to handle this case. This
   patch makes future PAD-only, or even expresskey-only, tablets work
   properly.
  
   Signed-off-by: Ping Cheng pi...@wacom.com javascript:;
   ---
src/wcmUSB.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
  
   diff --git a/src/wcmUSB.c b/src/wcmUSB.c
   index 638ffb8..bac3c66 100644
   --- a/src/wcmUSB.c
   +++ b/src/wcmUSB.c
   @@ -546,6 +546,11 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
  
 if (!ISBITSET(ev,EV_ABS))
 {
   + /* may be an expresskey only interface */
   + if (ISBITSET(common-wcmKeys, BTN_FORWARD) ||
   + ISBITSET(common-wcmKeys, BTN_0))
   + return Success;
   +
 xf86Msg(X_ERROR, %s: no abs bits.\n, pInfo-name);
 return !Success;
 }
   @@ -560,6 +565,11 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
 /* max x */
 if (ioctl(pInfo-fd, EVIOCGABS(ABS_X), absinfo)  0)
 {
   + /* may be a PAD only interface */
   + if (ISBITSET(common-wcmKeys, BTN_FORWARD) ||
   + ISBITSET(common-wcmKeys, BTN_0))
   + return Success;
   +
 xf86Msg(X_ERROR, %s: unable to ioctl xmax value.\n,
  pInfo-name);
 return !Success;
 }
 
  Reviewed-by: Peter Hutterer peter.hutte...@who-t.net javascript:;
  for this bit
 
 
   @@ -755,8 +765,7 @@ int usbWcmGetRanges(InputInfoPtr pInfo)
  
 if (ioctl(pInfo-fd, EVIOCGBIT(EV_SW, sizeof(sw)), sw)  0)
 {
   - xf86Msg(X_ERROR, %s: usbProbeKeys unable to ioctl 
   - sw bits.\n, pInfo-name);
   + xf86Msg(X_ERROR, %s: unable to ioctl sw bits.\n,
  pInfo-name);
 return 0;
 }
 else if (ISBITSET(sw, SW_MUTE_DEVICE))
 
  Reviewed-by: Peter Hutterer peter.hutte...@who-t.net javascript:;, if
  it's split to a
  separate patch.
 
 
 Thank you for the review. I'll split the patch and post them here.

just push them directly, no need to re-post them IMO.
 
  fwiw, in the future we should use __func__ instead of harcoding function
  names.
 
 
 When does your future start, from this patch or sometime later?

heh, I don't think it's necessary to add the function name here. but I
noticed that in a couple of places in the past (not sure how many of those
already got cleaned up)

Cheers,
   Peter

--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration  more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751iu=/4140/ostg.clktrk
___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel