~oif-packaging/libgrip/raring

« back to all changes in this revision

Viewing changes to src/gripinputdevice.c

  • Committer: Tarmac
  • Author(s): Stephen M. Webb
  • Date: 2013-05-15 14:37:39 UTC
  • mfrom: (75.1.2 raring)
  • Revision ID: tarmac-20130515143739-dwupmc9rrg0sbql2
Moved to GEISv2 to fix an unfortunate lack of events (lp: #1168370). Fixes: https://bugs.launchpad.net/bugs/1168370.

Approved by PS Jenkins bot, Marco Trevisan (Treviño).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright 2011 Canonical, Ltd.
 
2
 * Copyright 2011, 2013 Canonical Ltd.
3
3
 *
4
4
 * This program is free software: you can redistribute it and/or modify it
5
5
 * under the terms of either or both of the following licenses:
79
79
        for (a = attrs; a->name; a++)
80
80
        {
81
81
          if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_NAME))
82
 
          {
83
82
            input_device->priv->name = g_strdup (a->string_val);
84
 
          }
85
83
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_ID))
86
 
          {
87
84
            input_device->priv->device_id = a->integer_val;
88
 
          }
89
85
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_TOUCHES))
90
 
          {
91
86
            input_device->priv->touches = a->integer_val;
92
 
          }
93
87
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_DIRECT_TOUCH))
94
 
          {
95
88
            input_device->priv->is_direct = a->boolean_val;
96
 
          }
97
89
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_INDEPENDENT_TOUCH))
98
 
          {
99
90
            input_device->priv->is_independent = a->boolean_val;
100
 
          }
101
91
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_MIN_X))
102
 
          {
103
92
            input_device->priv->x_extents.minimum = a->float_val;
104
 
          }
105
93
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_MAX_X))
106
 
          {
107
94
            input_device->priv->x_extents.maximum = a->float_val;
108
 
          }
109
95
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_RES_X))
110
 
          {
111
96
            input_device->priv->x_extents.resolution = a->float_val;
112
 
          }
113
97
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_MIN_Y))
114
 
          {
115
98
            input_device->priv->y_extents.minimum = a->float_val;
116
 
          }
117
99
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_MAX_Y))
118
 
          {
119
100
            input_device->priv->y_extents.maximum = a->float_val;
120
 
          }
121
101
          else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_RES_Y))
122
 
          {
123
102
            input_device->priv->y_extents.resolution = a->float_val;
124
 
          }
125
103
        }
126
104
      }
127
105
    }
128
106
  }
 
107
  else
 
108
  {
 
109
    guint num_attrs = geis_device_attr_count(input_device->priv->geis_device);
 
110
    for (i = 0; i < num_attrs; ++i)
 
111
    {
 
112
       GeisAttr attr = geis_device_attr(input_device->priv->geis_device, i);
 
113
        if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_NAME))
 
114
          input_device->priv->name = g_strdup (geis_attr_value_to_string(attr));
 
115
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_ID))
 
116
          input_device->priv->device_id = geis_attr_value_to_integer(attr);
 
117
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_TOUCHES))
 
118
          input_device->priv->touches = geis_attr_value_to_integer(attr);
 
119
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_DIRECT_TOUCH))
 
120
          input_device->priv->is_direct = geis_attr_value_to_boolean(attr);
 
121
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_INDEPENDENT_TOUCH))
 
122
          input_device->priv->is_independent = geis_attr_value_to_boolean(attr);
 
123
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_MIN_X))
 
124
          input_device->priv->x_extents.minimum = geis_attr_value_to_float(attr);
 
125
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_MAX_X))
 
126
          input_device->priv->x_extents.maximum = geis_attr_value_to_float(attr);
 
127
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_RES_X))
 
128
          input_device->priv->x_extents.resolution = geis_attr_value_to_float(attr);
 
129
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_MIN_Y))
 
130
          input_device->priv->y_extents.minimum = geis_attr_value_to_float(attr);
 
131
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_MAX_Y))
 
132
          input_device->priv->y_extents.maximum = geis_attr_value_to_float(attr);
 
133
        else if (0 == g_strcmp0 (geis_attr_name(attr), GEIS_DEVICE_ATTRIBUTE_RES_Y))
 
134
          input_device->priv->y_extents.resolution = geis_attr_value_to_float(attr);
 
135
    }
 
136
  }
129
137
 
130
138
  return object;
131
139
}