updated on Sun Jan 15 20:01:04 UTC 2012
[aur-mirror.git] / wizardpen / patch0
blob37f578d69d41d445dff8342aa66b8af6159bda36
1 --- wizardpen-0.7.0-alpha2/src/wizardpen.c      2009-04-17 05:18:48.000000000 +0400
2 +++ wizardpen-0.7.0-alpha2/src/wizardpen.c      2009-11-05 21:27:20.000000000 +0300
3 @@ -70,6 +70,11 @@
4  #endif
5  #endif
6  
8 +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
9 +#include <X11/Xatom.h>
10 +#include <xserver-properties.h>
11 +#endif
12  /*****************************************************************************
13   *     Local Headers
14   ****************************************************************************/
15 @@ -623,6 +628,7 @@
16  DeviceInit (DeviceIntPtr dev)
17  {
18      int rx, ry;
19 +    
20      LocalDevicePtr local = (LocalDevicePtr) dev->public.devicePrivate;
21      WizardPenPrivatePtr priv = (WizardPenPrivatePtr) (local->private);
22      priv->wizardpenOldX = 0;
23 @@ -630,10 +636,36 @@
24         priv->wizardpenOldZ = 0;
25         unsigned char map[] =
26      {0, 1, 2, 3, 4, 5};
27 +    
28 +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
29 +    Atom btn_labels[3];
30 +    Atom axes_labels[3];
32 +    btn_labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT);
33 +    btn_labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE);
34 +    btn_labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT);
36 +    if ((priv->flags & ABSOLUTE_FLAG))
37 +    {
38 +        axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X);
39 +        axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y);
40 +        axes_labels[2] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_PRESSURE);
41 +    } else
42 +    {
43 +        axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_X);
44 +        axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Y);
45 +        axes_labels[2] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Z);
46 +    }
47 +#endif
48 +    
49      xf86MsgVerb(X_INFO, 4, "%s Init\n", local->name);
51      /* 3 buttons changed to SIX */
52 -    if (InitButtonClassDeviceStruct (dev, 6, map) == FALSE)
53 +    if (InitButtonClassDeviceStruct (dev, 6, 
54 +    #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
55 +             btn_labels,
56 +    #endif
57 +    map) == FALSE)
58      {
59          xf86Msg(X_ERROR, "%s: unable to allocate ButtonClassDeviceStruct\n", local->name);
60          return !Success;
61 @@ -655,6 +687,10 @@
62      if (InitValuatorClassDeviceStruct (
63                  dev,
64                  3,
65 +                #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
66 +                axes_labels,
67 +               #endif
68 +               
69  #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3
70                  xf86GetMotionEvents,
71  #endif
72 @@ -669,6 +705,9 @@
73         
74          InitValuatorAxisStruct(dev,
75                  0,
76 +                #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
77 +                axes_labels[0],
78 +               #endif
79                  0,                     /* min val */
80                  /*screenInfo.screens[0]->width,*/      /* max val */
81                  screenmaxx,                    /* max val */
82 @@ -677,6 +716,9 @@
83                  1000);                 /* max_res */
84          InitValuatorAxisStruct(dev,
85                  1,
86 +                #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
87 +                axes_labels[1],
88 +               #endif
89                  0,                     /* min val */
90                  /*screenInfo.screens[0]->height,*/     /* max val */
91                  screenmaxy,    /* max val */
92 @@ -685,6 +727,9 @@
93                  1000);                 /* max_res */
94          InitValuatorAxisStruct(dev,
95                  2,
96 +                #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
97 +                axes_labels[2],
98 +               #endif
99                  0,                     /* min val */
100                  /*priv->bottomZ,*/     /* max val */
101                 1023,