Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

usbwcm(4M)

Name

usbwcm - STREAMS module for Wacom USB Tablets

Synopsis

#include <sys/usb/clients/usbinput/usbwcm/usbwcm.h>

Description

The usbwcm STREAMS module processes byte streams generated by a Wacom USB tablet.

The usbwcm module must be pushed on top of the HID class driver. See hid(4D). The usbwcm module translates data from Wacom USB tablet into formatted events expected by Wacom X.org XInput driver. The event structure is the same as that of FreeBSD uwacom driver.

Event Structure

The event_input structure is defined in: /usr/include/sys/usb/clients/usbinput/usbwcm/usbwcm.h


   struct event_input {
#if defined(_LP64) || defined(_I32LPx)
      struct timeval32 time;
#else
      struct timeval time;
#endif
      uint16_t type;
      uint16_t index;
      int32_t value;
   };
time

The event's timestamp. When the event occurred. The timestamp is not defined to be meaningful except by being compared with other input event timestamps.

type

The event's unique type: button, relative/absolute valuator, sync, and so forth. type is among the following: EVT_SYN, EVT_BTN, EVT_REL, EVT_ABS and EVT_MSC.

index

The event's sub-type. The index in a button event identifies which button status was changed. Typical button index includes: BTN_LEFT, BTN_RIGHT, BTN_MIDDLE, BTN_SIDE, BTN_EXTRA, BTN_TOOL_PEN, BTN_TOOL_ERASER, BTN_TOOL_PAD, BTN_TOOL_MOUSE, BTN_TIP, BTN_STYLUS_1, BTN_STYLUS_2

For absolute valuators, index is among the following: ABS_X, ABS_Y, ABS_Z, ABS_RX, ABS_RY, ABS_WHEEL, ABS_PRESSURE, ABS_DISTANCE, ABS_TILT_X, ABS_TILT_Y, and ABS_MISC.

Ioctls

EVTIOCGVERSION

The argument is a pointer to an int. This option returns the current version of the event interface implemented by the STREAMS module.

EVTIOCGDEVID

The argument is a pointer to event_dev_id structure. This ioctl returns the identifiers of the device.


struct event_dev_id {
    uint16_t bus;
#define ID_BUS_USB 3
    uint16_t vendor;
    uint16_t product;
    uint16_t version;
};
EVTIOCGBM

The argument is a pointer to an variable-length char array. This ioctl returns the event types reported by device:

EVT_SYN, EVT_BTN, EVT_REL, EVT_ABS, EVT_MSC

EVTIOCGABS

The argument is a pointer to an event_abs_axis structure. This ioctl returns the ranges, and other parameters for the specified axis.


struct event_abs_axis {
    int32_t value;
    int32_t min;
    int32_t max;
    int32_t fuzz;
    int32_t flat;
};

Files

/kernel/strmod/amd64/usbwcm

x86 64-bit ELF kernel STREAMS module

/kernel/strmod/sparcv9/usbwcm

SPARC 64-bit ELF kernel STREAMS module

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Architecture
SPARC, x86-based systems
Availability
system/io/usb

See Also

ioctl(2), hid(4D), attributes(7)

https://linuxwacom.github.io/