diff options
Diffstat (limited to 'src/capabilities.c')
| -rw-r--r-- | src/capabilities.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/capabilities.c b/src/capabilities.c index 7316f01..620ab60 100644 --- a/src/capabilities.c +++ b/src/capabilities.c | |||
| @@ -26,6 +26,8 @@ | |||
| 26 | 26 | ||
| 27 | #define ADDCAP(s, c, x) strcat(s, c->has_##x ? " " #x : "") | 27 | #define ADDCAP(s, c, x) strcat(s, c->has_##x ? " " #x : "") |
| 28 | 28 | ||
| 29 | static const int SN_COORD = 250; /* coordinate signal-to-noise ratio */ | ||
| 30 | |||
| 29 | static const int bits_per_long = 8 * sizeof(long); | 31 | static const int bits_per_long = 8 * sizeof(long); |
| 30 | 32 | ||
| 31 | static inline int nlongs(int nbit) | 33 | static inline int nlongs(int nbit) |
| @@ -78,6 +80,13 @@ int read_capabilities(struct Capabilities *cap, int fd) | |||
| 78 | 80 | ||
| 79 | cap->has_mtdata = cap->has_position_x && cap->has_position_y; | 81 | cap->has_mtdata = cap->has_position_x && cap->has_position_y; |
| 80 | 82 | ||
| 83 | cap->xfuzz = cap->abs_position_x.fuzz; | ||
| 84 | cap->yfuzz = cap->abs_position_y.fuzz; | ||
| 85 | if (cap->xfuzz <= 0 || cap->yfuzz <= 0) { | ||
| 86 | cap->xfuzz = get_cap_xsize(cap) / SN_COORD; | ||
| 87 | cap->yfuzz = get_cap_ysize(cap) / SN_COORD; | ||
| 88 | } | ||
| 89 | |||
| 81 | return 0; | 90 | return 0; |
| 82 | } | 91 | } |
| 83 | 92 | ||
