summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/evemu.h79
-rw-r--r--src/evemu.c49
2 files changed, 128 insertions, 0 deletions
diff --git a/include/evemu.h b/include/evemu.h
index 1f55d5c..2c53138 100644
--- a/include/evemu.h
+++ b/include/evemu.h
@@ -106,6 +106,14 @@ void evemu_set_name(struct evemu_device *dev, const char *name);
106unsigned int evemu_get_id_bustype(const struct evemu_device *dev); 106unsigned int evemu_get_id_bustype(const struct evemu_device *dev);
107 107
108/** 108/**
109 * evemu_set_id_bustype() - set kernel bustype
110 *
111 * @dev: the device in use
112 * @bustype: the bustype value to set.
113 */
114void evemu_set_id_bustype(struct evemu_device *dev, unsigned int bustype);
115
116/**
109 * evemu_get_id_vendor() - get kernel device vendor id 117 * evemu_get_id_vendor() - get kernel device vendor id
110 * @dev: the device in use 118 * @dev: the device in use
111 * 119 *
@@ -114,6 +122,14 @@ unsigned int evemu_get_id_bustype(const struct evemu_device *dev);
114unsigned int evemu_get_id_vendor(const struct evemu_device *dev); 122unsigned int evemu_get_id_vendor(const struct evemu_device *dev);
115 123
116/** 124/**
125 * evemu_set_id_vendor() - set kernel device vendor id
126 *
127 * @dev: the device in use
128 * @vendor: the vendor id value to set.
129 */
130void evemu_set_id_vendor(struct evemu_device *dev, unsigned int vendor);
131
132/**
117 * evemu_get_id_product() - get kernel device product id 133 * evemu_get_id_product() - get kernel device product id
118 * @dev: the device in use 134 * @dev: the device in use
119 * 135 *
@@ -122,6 +138,14 @@ unsigned int evemu_get_id_vendor(const struct evemu_device *dev);
122unsigned int evemu_get_id_product(const struct evemu_device *dev); 138unsigned int evemu_get_id_product(const struct evemu_device *dev);
123 139
124/** 140/**
141 * evemu_set_id_product() - set kernel device product id
142 *
143 * @dev: the device in use
144 * @product: the product id value to set.
145 */
146void evemu_set_id_product(struct evemu_device *dev, unsigned int product);
147
148/**
125 * evemu_get_id_version() - get kernel device id version 149 * evemu_get_id_version() - get kernel device id version
126 * @dev: the device in use 150 * @dev: the device in use
127 * 151 *
@@ -130,6 +154,14 @@ unsigned int evemu_get_id_product(const struct evemu_device *dev);
130unsigned int evemu_get_id_version(const struct evemu_device *dev); 154unsigned int evemu_get_id_version(const struct evemu_device *dev);
131 155
132/** 156/**
157 * evemu_set_id_version() - set kernel device id version
158 *
159 * @dev: the device in use
160 * @version: the version value to set.
161 */
162void evemu_set_id_version(struct evemu_device *dev, unsigned int version);
163
164/**
133 * evemu_get_abs_minimum() - get kernel minimum value of event type 165 * evemu_get_abs_minimum() - get kernel minimum value of event type
134 * @dev: the device in use 166 * @dev: the device in use
135 * @code: the event type code to query 167 * @code: the event type code to query
@@ -139,6 +171,15 @@ unsigned int evemu_get_id_version(const struct evemu_device *dev);
139int evemu_get_abs_minimum(const struct evemu_device *dev, int code); 171int evemu_get_abs_minimum(const struct evemu_device *dev, int code);
140 172
141/** 173/**
174 * evemu_set_abs_minimum() - set kernel minimum value of event type
175 *
176 * @dev: the device in use
177 * @code: the event type code to set
178 * @min: the minimum value to set
179 */
180void evemu_set_abs_minimum(struct evemu_device *dev, int code, int min);
181
182/**
142 * evemu_get_abs_maximum() - get kernel maximum value of event type 183 * evemu_get_abs_maximum() - get kernel maximum value of event type
143 * @dev: the device in use 184 * @dev: the device in use
144 * @code: the event type code to query 185 * @code: the event type code to query
@@ -148,6 +189,15 @@ int evemu_get_abs_minimum(const struct evemu_device *dev, int code);
148int evemu_get_abs_maximum(const struct evemu_device *dev, int code); 189int evemu_get_abs_maximum(const struct evemu_device *dev, int code);
149 190
150/** 191/**
192 * evemu_set_abs_maximum() - set kernel maximum value of event type
193 *
194 * @dev: the device in use
195 * @code: the event type code to set
196 * @max: the maximum value to set
197 */
198void evemu_set_abs_maximum(struct evemu_device *dev, int code, int max);
199
200/**
151 * evemu_get_abs_maximum() - get kernel filter fuzz of event type 201 * evemu_get_abs_maximum() - get kernel filter fuzz of event type
152 * @dev: the device in use 202 * @dev: the device in use
153 * @code: the event type code to query 203 * @code: the event type code to query
@@ -157,6 +207,15 @@ int evemu_get_abs_maximum(const struct evemu_device *dev, int code);
157int evemu_get_abs_fuzz(const struct evemu_device *dev, int code); 207int evemu_get_abs_fuzz(const struct evemu_device *dev, int code);
158 208
159/** 209/**
210 * evemu_set_abs_fuzz() - set kernel filter fuzz of event type
211 *
212 * @dev: the device in use
213 * @code: the event type code to set
214 * @fuzz: the fuzz value to set
215 */
216void evemu_set_abs_fuzz(struct evemu_device *dev, int code, int fuzz);
217
218/**
160 * evemu_get_abs_maximum() - get kernel flat value of event type 219 * evemu_get_abs_maximum() - get kernel flat value of event type
161 * @dev: the device in use 220 * @dev: the device in use
162 * @code: the event type code to query 221 * @code: the event type code to query
@@ -167,6 +226,15 @@ int evemu_get_abs_fuzz(const struct evemu_device *dev, int code);
167int evemu_get_abs_flat(const struct evemu_device *dev, int code); 226int evemu_get_abs_flat(const struct evemu_device *dev, int code);
168 227
169/** 228/**
229 * evemu_set_abs_flat() - set kernel filter flat of event type
230 *
231 * @dev: the device in use
232 * @code: the event type code to set
233 * @flat: the flat value to set
234 */
235void evemu_set_abs_flat(struct evemu_device *dev, int code, int flat);
236
237/**
170 * evemu_get_abs_resolution() - get kernel resolution of event type 238 * evemu_get_abs_resolution() - get kernel resolution of event type
171 * @dev: the device in use 239 * @dev: the device in use
172 * @code: the event type code to query 240 * @code: the event type code to query
@@ -178,6 +246,17 @@ int evemu_get_abs_flat(const struct evemu_device *dev, int code);
178int evemu_get_abs_resolution(const struct evemu_device *dev, int code); 246int evemu_get_abs_resolution(const struct evemu_device *dev, int code);
179 247
180/** 248/**
249 * evemu_set_abs_resolution() - set kernel resolution of event type
250 * @dev: the device in use
251 * @code: the event type code to set
252 * @res: the resolution value to set.
253 *
254 * Resolution is specified in units per millimeter (units/mm), or units per
255 * radian where appropriate.
256 */
257void evemu_set_abs_resolution(struct evemu_device *dev, int code, int res);
258
259/**
181 * evemu_has_prop() - check if device has a certain property 260 * evemu_has_prop() - check if device has a certain property
182 * @dev: the device in use 261 * @dev: the device in use
183 * @code: the property type code to query 262 * @code: the property type code to query
diff --git a/src/evemu.c b/src/evemu.c
index 52307a6..4b20576 100644
--- a/src/evemu.c
+++ b/src/evemu.c
@@ -110,46 +110,95 @@ unsigned int evemu_get_id_bustype(const struct evemu_device *dev)
110 return dev->id.bustype; 110 return dev->id.bustype;
111} 111}
112 112
113void evemu_set_id_bustype(struct evemu_device *dev,
114 unsigned int bustype)
115{
116 dev->id.bustype = bustype;
117}
118
113unsigned int evemu_get_id_vendor(const struct evemu_device *dev) 119unsigned int evemu_get_id_vendor(const struct evemu_device *dev)
114{ 120{
115 return dev->id.vendor; 121 return dev->id.vendor;
116} 122}
117 123
124void evemu_set_id_vendor(struct evemu_device *dev,
125 unsigned int vendor)
126{
127 dev->id.vendor = vendor;
128}
129
118unsigned int evemu_get_id_product(const struct evemu_device *dev) 130unsigned int evemu_get_id_product(const struct evemu_device *dev)
119{ 131{
120 return dev->id.product; 132 return dev->id.product;
121} 133}
122 134
135void evemu_set_id_product(struct evemu_device *dev,
136 unsigned int product)
137{
138 dev->id.product = product;
139}
140
123unsigned int evemu_get_id_version(const struct evemu_device *dev) 141unsigned int evemu_get_id_version(const struct evemu_device *dev)
124{ 142{
125 return dev->id.version; 143 return dev->id.version;
126} 144}
127 145
146void evemu_set_id_version(struct evemu_device *dev,
147 unsigned int version)
148{
149 dev->id.version = version;
150}
151
128int evemu_get_abs_minimum(const struct evemu_device *dev, int code) 152int evemu_get_abs_minimum(const struct evemu_device *dev, int code)
129{ 153{
130 return dev->abs[code].minimum; 154 return dev->abs[code].minimum;
131} 155}
132 156
157void evemu_set_abs_minimum(struct evemu_device *dev, int code, int min)
158{
159 dev->abs[code].minimum = min;
160}
161
133int evemu_get_abs_maximum(const struct evemu_device *dev, int code) 162int evemu_get_abs_maximum(const struct evemu_device *dev, int code)
134{ 163{
135 return dev->abs[code].maximum; 164 return dev->abs[code].maximum;
136} 165}
137 166
167void evemu_set_abs_maximum(struct evemu_device *dev, int code, int max)
168{
169 dev->abs[code].maximum = max;
170}
171
138int evemu_get_abs_fuzz(const struct evemu_device *dev, int code) 172int evemu_get_abs_fuzz(const struct evemu_device *dev, int code)
139{ 173{
140 return dev->abs[code].fuzz; 174 return dev->abs[code].fuzz;
141} 175}
142 176
177void evemu_set_abs_fuzz(struct evemu_device *dev, int code, int fuzz)
178{
179 dev->abs[code].fuzz = fuzz;
180}
181
143int evemu_get_abs_flat(const struct evemu_device *dev, int code) 182int evemu_get_abs_flat(const struct evemu_device *dev, int code)
144{ 183{
145 return dev->abs[code].flat; 184 return dev->abs[code].flat;
146} 185}
147 186
187void evemu_set_abs_flat(struct evemu_device *dev, int code, int flat)
188{
189 dev->abs[code].flat = flat;
190}
191
148int evemu_get_abs_resolution(const struct evemu_device *dev, int code) 192int evemu_get_abs_resolution(const struct evemu_device *dev, int code)
149{ 193{
150 return dev->abs[code].resolution; 194 return dev->abs[code].resolution;
151} 195}
152 196
197void evemu_set_abs_resolution(struct evemu_device *dev, int code, int res)
198{
199 dev->abs[code].resolution = res;
200}
201
153int evemu_has_prop(const struct evemu_device *dev, int code) 202int evemu_has_prop(const struct evemu_device *dev, int code)
154{ 203{
155 return (dev->prop[code >> 3] >> (code & 7)) & 1; 204 return (dev->prop[code >> 3] >> (code & 7)) & 1;