drivers/hid/wacom_wac.h

Source file repositories/reference/linux-study-clean/drivers/hid/wacom_wac.h

File Facts

System
Linux kernel
Corpus path
drivers/hid/wacom_wac.h
Extension
.h
Size
12011 bytes
Lines
371
Domain
Driver Families
Bucket
drivers/hid
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct wacom_features {
	const char *name;
	int x_max;
	int y_max;
	int pressure_max;
	int distance_max;
	int type;
	int x_resolution;
	int y_resolution;
	int numbered_buttons;
	int offset_left;
	int offset_right;
	int offset_top;
	int offset_bottom;
	int device_type;
	int x_phy;
	int y_phy;
	unsigned unit;
	int unitExpo;
	int x_fuzz;
	int y_fuzz;
	int pressure_fuzz;
	int distance_fuzz;
	int tilt_fuzz;
	unsigned quirks;
	unsigned touch_max;
	int oVid;
	int oPid;
	unsigned int pktlen;
	bool check_for_hid_type;
	int hid_type;
};

struct wacom_shared {
	bool stylus_in_proximity;
	bool touch_down;
	/* for wireless device to access USB interfaces */
	unsigned touch_max;
	int type;
	struct input_dev *touch_input;
	struct hid_device *pen;
	struct hid_device *touch;
	bool has_mute_touch_switch;
	bool is_touch_on;
};

struct hid_data {
	__s16 inputmode;	/* InputMode HID feature, -1 if non-existent */
	__s16 inputmode_index;	/* InputMode HID feature index in the report */
	__s16 inputmode_field_index; /* InputMode HID feature field index in the report */
	bool sense_state;
	bool inrange_state;
	bool eraser;
	bool tipswitch;
	bool barrelswitch;
	bool barrelswitch2;
	bool barrelswitch3;
	bool serialhi;
	bool confidence;
	int x;
	int y;
	int width;
	int height;
	int id;
	int ring_value;
	int ring2_value;
	int cc_report;
	int cc_index;
	int cc_value_index;
	int last_slot_field;
	int num_expected;
	int num_received;
	int bat_status;
	int battery_capacity;
	int bat_charging;
	int bat_connected;
	int ps_connected;
	bool pad_input_event_flag;
	int sequence_number;
	ktime_t time_delayed;
};

struct wacom_remote_work_data {
	struct {
		u32 serial;
	} remote[WACOM_MAX_REMOTES];
};

struct wacom_wac {
	char name[WACOM_NAME_MAX];

Annotation

Implementation Notes