Intuos, Cintiq, and Business Tablets

Intuos, Cintiq, and Business Tablets

  • Overview
  • Docs
  • FAQs
  • Support
  • GitHub

›Wayland

Intuos, Cintiq, and Business Tablets

  • Intuos, Cintiq, and Business Tablets

Windows

    Wintab

    • Overview
    • Basics
    • Reference
    • FAQs

    Windows Ink

    • Overview
    • Basics
    • Reference
    • FAQs

    Windows Native Touch

    • Overview
    • Basics
    • Reference
    • FAQs

    Wacom Feel Multi-Touch

    • Overview
    • Basics
    • Reference
    • FAQs

    Sample Code

    • Multi-Touch Windows .NET
    • Multi-Touch Windows C++
    • Wintab .NET
    • Wintab CAD Test
    • Wintab Pressure Test
    • Wintab ScribbleDemo
    • Wintab Tablet Controls
    • Wintab TiltTest

MacOS

    NS Events

    • Overview
    • Basics
    • Reference
    • FAQs

    Driver Request Interface

    • Overview
    • Basics
    • Reference
    • FAQs

    Multi-Touch Framework

    • Overview
    • Basics
    • Reference
    • FAQs

    Sample Code

    • Multi-Touch
    • Tablet Controls
    • Tablet Mapping
    • ScribbleDemo

Linux

    Building the Driver

    • Overview
    • Basics
    • Reference
    • FAQs

    GTK+

    • Overview
    • Basics
    • Reference
    • FAQs

    Kernel Events

    • Overview
    • Basics
    • Reference
    • FAQs

    Wayland

    • Overview
    • Basics
    • Reference
    • FAQs

    X Events

    • Overview
    • Basics
    • Reference
    • FAQs

    Sample Code

    • GTK+
    • Kernel Events
    • X Events

QT

  • Overview
  • Basics
  • Reference
  • FAQs

Web API

  • Overview
  • Basics
  • Reference
  • FAQs
  • Sample Code

    • ScribbleDemo Using Pointer Events

Reference

Protocol Documentation

  • Wayland protocol documentation
  • Tablet protocol XML, unstable, v2
  • Wayland pointer protocol documentation (for touchpad input and fallback emulation)
  • Wayland touch protocol documentation (for touchscreen input)

Reference Implementations

NameRoleURLs
wlrootsServer libraryDocumentation:
  • https://github.com/swaywm/wlroots
  • https://github.com/swaywm/wlroots/wiki/Getting-started
  • https://drewdevault.com/2018/07/17/Input-handling-in-wlroots.html
Commits:
  • 2285e36b0c10 ("Add zwp-tablet-unstable-v2 client support")
  • 47a30957d1ce ("backend/wayland: scale tablet tool position into [0, 1] range")
Files:
  • https://github.com/swaywm/wlroots/blob/master/backend/wayland/tablet_v2.c
MutterServerFiles:
  • https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/wayland/meta-wayland-tablet-manager.c
  • https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/wayland/meta-wayland-tablet-seat.c
  • https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/wayland/meta-wayland-tablet.c
  • https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/wayland/meta-wayland-tablet-tool.c
  • https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/wayland/meta-wayland-tablet-pad.c
  • https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/wayland/meta-wayland-tablet-pad-group.c
  • https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/wayland/meta-wayland-tablet-pad-ring.c
  • https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/wayland/meta-wayland-tablet-pad-strip.c
SwayServer (based on wlroots)Commits:
  • 9114d3b84cf4 ("Implement tablet tool support")
  • 7e420cb6e4a3 ("input: Add support for tablet protocol.")
Files:
  • https://github.com/swaywm/sway/blob/master/sway/input/tablet.c
    https://github.com/swaywm/sway/blob/master/sway/input/cursor.c
  • https://github.com/swaywm/sway/blob/master/sway/input/seat.c
KWinServerCommits:
  • f5a73b87e3e7 ("Initial support for tablets on Wayland")
  • f6128ec8757b ("Provide a fake approach to tablet event propagation")
  • e0052cedcb9c ("Implement the tablet wayland protocol in kwin")
  • 43969122a2b1 ("Remove changes from a patch from the future")
  • 6abd23ed0220 ("Make it possible to have a separate cursor for the tablet")
  • 89fca06bdb26 ("Make sure tablet coordinates take decorations into account")
  • 3a85b57ec2ab ("Send out an additional TabletMove event before TabletPress.")
  • 1ad88bdf7c65 ("tablet: acknowledge that findTabletSeat might return nullptr")
Files:
  • https://invent.kde.org/plasma/kwin/-/blob/master/input.cpp
  • https://invent.kde.org/plasma/kwin/-/blob/master/input_event.cpp
  • https://invent.kde.org/plasma/kwin/-/blob/master/tablet_input.cpp
  • https://invent.kde.org/plasma/kwin/-/blob/master/libinput/device.cpp
  • https://invent.kde.org/plasma/kwin/-/blob/master/libinput/connection.cpp
  • XwaylandClientFiles:
    • https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/hw/xwayland/xwayland-input.c
    GTK+3 / GDKClientFiles:
    • https://gitlab.gnome.org/GNOME/gtk/-/blob/master/gdk/wayland/gdkdevice-wayland.c
    • https://gitlab.gnome.org/GNOME/gtk/-/blob/master/gdk/gdkevents.c
    • https://gitlab.gnome.org/GNOME/gtk/-/blob/master/gdk/gdkdevicetool.c
    • https://gitlab.gnome.org/GNOME/gtk/-/blob/master/gdk/gdkdevicepad.c
    • https://gitlab.gnome.org/GNOME/gtk/-/blob/master/gtk/gtkpadcontroller.c
    QtClientCommits:
    • 222455cd643c ("Client: Add basic support for tablet-unstable-v2")
    Files:
    • https://github.com/qt/qtwayland/blob/dev/src/client/qwaylandtabletv2.cpp

    Miscellaneous

    Chrome OS Stylus Protocol (non-recommended "alternative" to the tablet protocol available only on Chrome OS).

    ← BasicsFAQs →
    • Protocol Documentation
    • Reference Implementations
    • Miscellaneous
    Intuos, Cintiq, and Business Tablets
    DOCS
    IntroductionWindowsMac OSLinuxQtWeb API
    COMMUNITY
    TwitterLinkedInGitHub
    ABOUT
    Terms of UsePrivacyCookies
    Wacom Developer Relations
    Copyright © 2021 Wacom Co., Ltd