On Sat, 20 Dec 2025, Alex Tran wrote:
> Verify Wacom devices set INPUT_PROP_DIRECT on display devices and
> INPUT_PROP_POINTER on opaque devices. Moved test_prop_pointer into
> TestOpaqueTablet. Created a DirectTabletTest mixin class for
> test_prop_direct that can be inherited by display tablet test classes.
> Used DirectTabletTest for TestDTH2452Tablet case.
>
> Signed-off-by: Alex Tran <[email protected]>
Let me CC Benjamin and Wacom folks to take a look here as well.
> ---
> Changes in v2:
> - Removed the tests from the BaseTest class
> - Removed disabling tests for certain subclasses
> - Moved test_prop_pointer under TestOpaqueTablet
> - Created DirectTabletTest mixin class
> - Moved test_prop_direct under TestDTH2452Tablet
> .../selftests/hid/tests/test_wacom_generic.py | 30 +++++++++++--------
> 1 file changed, 17 insertions(+), 13 deletions(-)
>
> diff --git a/tools/testing/selftests/hid/tests/test_wacom_generic.py
> b/tools/testing/selftests/hid/tests/test_wacom_generic.py
> index 2d6d04f0f..9d0b0802d 100644
> --- a/tools/testing/selftests/hid/tests/test_wacom_generic.py
> +++ b/tools/testing/selftests/hid/tests/test_wacom_generic.py
> @@ -598,18 +598,6 @@ class BaseTest:
> if unit_set:
> assert required[usage].contains(field)
>
> - def test_prop_direct(self):
> - """
> - Todo: Verify that INPUT_PROP_DIRECT is set on display devices.
> - """
> - pass
> -
> - def test_prop_pointer(self):
> - """
> - Todo: Verify that INPUT_PROP_POINTER is set on opaque devices.
> - """
> - pass
> -
>
> class PenTabletTest(BaseTest.TestTablet):
> def assertName(self, uhdev):
> @@ -677,6 +665,13 @@ class TestOpaqueTablet(PenTabletTest):
> uhdev.event(130, 240, pressure=0), [], auto_syn=False,
> strict=True
> )
>
> + def test_prop_pointer(self):
> + """
> + Verify that INPUT_PROP_POINTER is set on opaque devices.
> + """
> + evdev = self.uhdev.get_evdev()
> + assert libevdev.INPUT_PROP_POINTER in evdev.properties
> +
>
> class TestOpaqueCTLTablet(TestOpaqueTablet):
> def create_device(self):
> @@ -862,7 +857,16 @@ class TestPTHX60_Pen(TestOpaqueCTLTablet):
> )
>
>
> -class TestDTH2452Tablet(test_multitouch.BaseTest.TestMultitouch,
> TouchTabletTest):
> +class DirectTabletTest():
> + def test_prop_direct(self):
> + """
> + Verify that INPUT_PROP_DIRECT is set on display devices.
> + """
> + evdev = self.uhdev.get_evdev()
> + assert libevdev.INPUT_PROP_DIRECT in evdev.properties
> +
> +
> +class TestDTH2452Tablet(test_multitouch.BaseTest.TestMultitouch,
> TouchTabletTest, DirectTabletTest):
> ContactIds = namedtuple("ContactIds", "contact_id, tracking_id,
> slot_num")
>
> def create_device(self):
> --
> 2.51.0
>
--
Jiri Kosina
SUSE Labs