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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/hid.hlinux/kfifo.h
Detected Declarations
struct wacom_featuresstruct wacom_sharedstruct hid_datastruct wacom_remote_work_datastruct wacom_wac
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
- Immediate include surface: `linux/types.h`, `linux/hid.h`, `linux/kfifo.h`.
- Detected declarations: `struct wacom_features`, `struct wacom_shared`, `struct hid_data`, `struct wacom_remote_work_data`, `struct wacom_wac`.
- Atlas domain: Driver Families / drivers/hid.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.