| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/device/axis')
| -rw-r--r-- | src/device/axis/axis.c | 9 | ||||
| -rw-r--r-- | src/device/axis/axis_filter.c | 5 | ||||
| -rw-r--r-- | src/device/axis/axis_option.c | 4 | 
3 files changed, 18 insertions, 0 deletions
| diff --git a/src/device/axis/axis.c b/src/device/axis/axis.c index 1cdb856..ada6fa3 100644 --- a/src/device/axis/axis.c +++ b/src/device/axis/axis.c @@ -46,6 +46,15 @@ void relabsd_axis_enable     axis->is_enabled = 1;  } +int relabsd_axis_has_flag +( +   const struct relabsd_axis axis [const restrict static 1], +   const enum relabsd_axis_flag flag +) +{ +   return axis->flags[flag]; +} +  int relabsd_axis_is_enabled  (     const struct relabsd_axis axis [const restrict static 1] diff --git a/src/device/axis/axis_filter.c b/src/device/axis/axis_filter.c index 04dfdb7..6258ad9 100644 --- a/src/device/axis/axis_filter.c +++ b/src/device/axis/axis_filter.c @@ -122,6 +122,11 @@ int relabsd_axis_filter_new_value        return 0;     } +   if (axis->flags[RELABSD_NOT_ABS]) +   { +      return 1; +   } +     if (axis->flags[RELABSD_DIRECT])     {        return direct_filter(axis, value); diff --git a/src/device/axis/axis_option.c b/src/device/axis/axis_option.c index 8e52fe1..7796eb7 100644 --- a/src/device/axis/axis_option.c +++ b/src/device/axis/axis_option.c @@ -57,6 +57,10 @@ int relabsd_axis_enable_option_from_name           );        }     } +   else if (RELABSD_IS_PREFIX("notabs", option_name)) +   { +      axis->flags[RELABSD_NOT_ABS] = 1; +   }     else if (RELABSD_IS_PREFIX("convert_to=", option_name))     {        axis->convert_to = | 


