79
79
for (a = attrs; a->name; a++)
81
81
if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_NAME))
83
82
input_device->priv->name = g_strdup (a->string_val);
85
83
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_ID))
87
84
input_device->priv->device_id = a->integer_val;
89
85
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_TOUCHES))
91
86
input_device->priv->touches = a->integer_val;
93
87
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_DIRECT_TOUCH))
95
88
input_device->priv->is_direct = a->boolean_val;
97
89
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_INDEPENDENT_TOUCH))
99
90
input_device->priv->is_independent = a->boolean_val;
101
91
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_MIN_X))
103
92
input_device->priv->x_extents.minimum = a->float_val;
105
93
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_MAX_X))
107
94
input_device->priv->x_extents.maximum = a->float_val;
109
95
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_RES_X))
111
96
input_device->priv->x_extents.resolution = a->float_val;
113
97
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_MIN_Y))
115
98
input_device->priv->y_extents.minimum = a->float_val;
117
99
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_MAX_Y))
119
100
input_device->priv->y_extents.maximum = a->float_val;
121
101
else if (0 == g_strcmp0 (a->name, GEIS_DEVICE_ATTRIBUTE_RES_Y))
123
102
input_device->priv->y_extents.resolution = a->float_val;
109
guint num_attrs = geis_device_attr_count(input_device->priv->geis_device);
110
for (i = 0; i < num_attrs; ++i)
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);