From 038b03bbf519bdc44d1b8a3fce34901943c9bc7b Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Fri, 31 Jul 2020 21:14:05 +0200 Subject: Implementing what is needed for rel axis renaming. --- src/device/axis/axis.c | 9 +++++++++ src/device/axis/axis_filter.c | 5 +++++ src/device/axis/axis_option.c | 4 ++++ 3 files changed, 18 insertions(+) (limited to 'src/device/axis') 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 = -- cgit v1.2.3-70-g09d2