autocommit 2022-03-22 23:24:17 CET
This commit is contained in:
parent
18806a38fb
commit
2ff60ff817
36 changed files with 4934 additions and 237 deletions
31
wire-xcon/dri3.txt
Normal file
31
wire-xcon/dri3.txt
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
ext "DRI3"
|
||||
|
||||
request Dri3QueryVersion = 0 (
|
||||
major_version: u32,
|
||||
minor_version: u32,
|
||||
) {
|
||||
@pad 1,
|
||||
major_version: u32,
|
||||
minor_version: u32,
|
||||
}
|
||||
|
||||
request Dri3Open = 1 (
|
||||
drawable: u32,
|
||||
provider: u32,
|
||||
) {
|
||||
@pad 1,
|
||||
device_fd: fd,
|
||||
@pad 24,
|
||||
}
|
||||
|
||||
request Dri3PixmapFromBuffer = 2 (
|
||||
pixmap: u32,
|
||||
drawable: u32,
|
||||
size: u32,
|
||||
width: u16,
|
||||
height: u16,
|
||||
stride: u16,
|
||||
depth: u8,
|
||||
bpp: u8,
|
||||
pixmap_fd: fd,
|
||||
);
|
||||
59
wire-xcon/present.txt
Normal file
59
wire-xcon/present.txt
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
ext "Present"
|
||||
|
||||
xge PresentCompleteNotify = 1 {
|
||||
kind: u8,
|
||||
mode: u8,
|
||||
event: u32,
|
||||
window: u32,
|
||||
serial: u32,
|
||||
ust: u64,
|
||||
msc: u64,
|
||||
}
|
||||
|
||||
struct PresentNotify {
|
||||
window: u32,
|
||||
serial: u32,
|
||||
}
|
||||
|
||||
xge PresentIdleNotify = 2 {
|
||||
@pad 2,
|
||||
event: u32,
|
||||
window: u32,
|
||||
serial: u32,
|
||||
pixmap: u32,
|
||||
idle_fence: u32,
|
||||
}
|
||||
|
||||
request PresentQueryVersion = 0 (
|
||||
major_version: u32,
|
||||
minor_version: u32,
|
||||
) {
|
||||
@pad 1,
|
||||
major_version: u32,
|
||||
minor_version: u32,
|
||||
}
|
||||
|
||||
request PresentPixmap = 1 (
|
||||
window: u32,
|
||||
pixmap: u32,
|
||||
serial: u32,
|
||||
valid: u32,
|
||||
update: u32,
|
||||
x_off: i16,
|
||||
y_off: i16,
|
||||
target_crtc: u32,
|
||||
wait_fence: u32,
|
||||
idle_fence: u32,
|
||||
options: u32,
|
||||
@pad 4,
|
||||
target_msc: u64,
|
||||
divisor: u64,
|
||||
remainder: u64,
|
||||
notifies: list(PresentNotify),
|
||||
);
|
||||
|
||||
request PresentSelectInput = 3 (
|
||||
eid: u32,
|
||||
window: u32,
|
||||
event_mask: u32,
|
||||
);
|
||||
214
wire-xcon/xinput.txt
Normal file
214
wire-xcon/xinput.txt
Normal file
|
|
@ -0,0 +1,214 @@
|
|||
ext "XInputExtension"
|
||||
|
||||
struct XiModifierInfo {
|
||||
base: u32,
|
||||
latched: u32,
|
||||
locked: u32,
|
||||
effective: u32,
|
||||
}
|
||||
|
||||
struct XiGroupInfo {
|
||||
base: u8,
|
||||
latched: u8,
|
||||
locked: u8,
|
||||
effective: u8,
|
||||
}
|
||||
|
||||
xge XiKeyPress = 2 {
|
||||
deviceid: u16,
|
||||
time: u32,
|
||||
detail: u32,
|
||||
root: u32,
|
||||
event: u32,
|
||||
child: u32,
|
||||
root_x: i32,
|
||||
root_y: i32,
|
||||
event_x: i32,
|
||||
event_y: i32,
|
||||
buttons_len: u16 = len(button_mask),
|
||||
valuators_len: u16 = len(valuator_mask),
|
||||
sourceid: u16,
|
||||
@pad 2,
|
||||
flags: u32,
|
||||
mods: XiModifierInfo,
|
||||
groups: XiGroupInfo,
|
||||
button_mask: list(u32, field(buttons_len)),
|
||||
valuator_mask: list(u32, field(valuators_len)),
|
||||
axisvalues: list(u32, mul(sum(map(iter(field(valuator_mask)), popcount(it))), literal(2))),
|
||||
}
|
||||
|
||||
eventcopy XiKeyRelease = 3 = XiKeyPress;
|
||||
eventcopy XiButtonPress = 4 = XiKeyPress;
|
||||
eventcopy XiButtonRelease = 5 = XiKeyPress;
|
||||
eventcopy XiMotion = 6 = XiKeyPress;
|
||||
|
||||
xge XiEnter = 7 {
|
||||
deviceid: u16,
|
||||
time: u32,
|
||||
sourceid: u16,
|
||||
mode: u8,
|
||||
detail: u8,
|
||||
root: u32,
|
||||
event: u32,
|
||||
child: u32,
|
||||
root_x: i32,
|
||||
root_y: i32,
|
||||
event_x: i32,
|
||||
event_y: i32,
|
||||
same_screen: u8,
|
||||
focus: u8,
|
||||
buttons_len: u16 = len(buttons),
|
||||
buttons: list(u32, field(buttons_len)),
|
||||
}
|
||||
|
||||
struct XiHierarchyInfo {
|
||||
deviceid: u16,
|
||||
attachment: u16,
|
||||
ty: u8,
|
||||
enabled: u8,
|
||||
@pad 2,
|
||||
flags: u32,
|
||||
}
|
||||
|
||||
xge XiHierarchy = 11 {
|
||||
deviceid: u16,
|
||||
time: u32,
|
||||
flags: u32,
|
||||
num_infos: u16 = len(infos),
|
||||
@pad 10,
|
||||
infos: list(XiHierarchyInfo, field(num_infos)),
|
||||
}
|
||||
|
||||
request XiQueryVersion = 47 (
|
||||
major_version: u16,
|
||||
minor_version: u16,
|
||||
) {
|
||||
@pad 1,
|
||||
major_version: u16,
|
||||
minor_version: u16,
|
||||
@pad 20,
|
||||
}
|
||||
|
||||
struct XiEventMask {
|
||||
deviceid: u16,
|
||||
mask_len: u16 = len(mask),
|
||||
mask: list(u32, field(mask_len)),
|
||||
}
|
||||
|
||||
request XiSelectEvents = 46 (
|
||||
window: u32,
|
||||
num_mask: u16 = len(masks),
|
||||
@pad 2,
|
||||
masks: list(XiEventMask, field(num_mask)),
|
||||
);
|
||||
|
||||
struct XiDeviceClassKey {
|
||||
num_keys: u16 = len(keys),
|
||||
keys: list(u32, field(num_keys)),
|
||||
}
|
||||
|
||||
struct XiDeviceClassButton {
|
||||
num_buttons: u16 = len(labels),
|
||||
state: list(u32, div(plus(field(num_buttons), literal(31)), literal(32))),
|
||||
labels: list(u32, field(num_buttons)),
|
||||
}
|
||||
|
||||
struct XiDeviceClassValuator {
|
||||
number: u16,
|
||||
label: u32,
|
||||
min_int: i32,
|
||||
min_frac: u32,
|
||||
max_int: i32,
|
||||
max_frac: u32,
|
||||
value_int: i32,
|
||||
value_frac: u32,
|
||||
resolution: u32,
|
||||
mode: u8,
|
||||
@pad 3,
|
||||
}
|
||||
|
||||
struct XiDeviceClassScroll {
|
||||
number: u16,
|
||||
scroll_type: u16,
|
||||
@pad 2,
|
||||
flags: u32,
|
||||
increment_int: i32,
|
||||
increment_frac: u32,
|
||||
}
|
||||
|
||||
struct XiDeviceClassTouch {
|
||||
mode: u8,
|
||||
num_touches: u8,
|
||||
}
|
||||
|
||||
enum XiDeviceClassType {
|
||||
Key: XiDeviceClassKey = 0,
|
||||
Button: XiDeviceClassButton = 1,
|
||||
Valuator: XiDeviceClassValuator = 2,
|
||||
Scroll: XiDeviceClassScroll = 3,
|
||||
Touch: XiDeviceClassTouch = 8,
|
||||
}
|
||||
|
||||
struct XiDeviceClass {
|
||||
ty: u16 = variant(data),
|
||||
len: u16,
|
||||
sourceid: u16,
|
||||
data: enum(XiDeviceClassType, field(ty)),
|
||||
}
|
||||
|
||||
struct XiDeviceInfo {
|
||||
deviceid: u16,
|
||||
ty: u16,
|
||||
attachment: u16,
|
||||
num_classes: u16 = len(classes),
|
||||
name_len: u16 = len(name),
|
||||
enabled: u8,
|
||||
@pad 1,
|
||||
name: str(field(name_len)),
|
||||
@align 4,
|
||||
classes: list(XiDeviceClass, field(num_classes)),
|
||||
}
|
||||
|
||||
request XiQueryDevice = 48 (
|
||||
deviceid: u16,
|
||||
@pad 2,
|
||||
) {
|
||||
@pad 1,
|
||||
num_infos: u16 = len(infos),
|
||||
@pad 22,
|
||||
infos: list(XiDeviceInfo, field(num_infos)),
|
||||
}
|
||||
|
||||
request XiGetDeviceButtonMapping = 28 (
|
||||
device_id: u8,
|
||||
@pad 3,
|
||||
) {
|
||||
xi_reply_type: u8,
|
||||
map_size: u8 = len(map),
|
||||
@pad 23,
|
||||
map: list(u8, field(map_size)),
|
||||
@align 4,
|
||||
}
|
||||
|
||||
request XiGrabDevice = 51 (
|
||||
window: u32,
|
||||
time: u32,
|
||||
cursor: u32,
|
||||
deviceid: u16,
|
||||
mode: u8,
|
||||
paired_device_mode: u8,
|
||||
owner_events: u8,
|
||||
@pad 1,
|
||||
mask_len: u16 = len(mask),
|
||||
mask: list(u32, field(mask_len)),
|
||||
) {
|
||||
@pad 1,
|
||||
status: u8,
|
||||
@pad 23,
|
||||
}
|
||||
|
||||
request XiUngrabDevice = 52 (
|
||||
time: u32,
|
||||
deviceid: u16,
|
||||
@pad 2,
|
||||
);
|
||||
28
wire-xcon/xkb.txt
Normal file
28
wire-xcon/xkb.txt
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
ext "XKEYBOARD"
|
||||
|
||||
request XkbUseExtension = 0 (
|
||||
wanted_major: u16,
|
||||
wanted_minor: u16,
|
||||
) {
|
||||
supported: u8,
|
||||
server_major: u16,
|
||||
server_minor: u16,
|
||||
@pad 20,
|
||||
}
|
||||
|
||||
request XkbPerClientFlags = 21 (
|
||||
device_spec: u16,
|
||||
@pad 2,
|
||||
change: u32,
|
||||
value: u32,
|
||||
ctrls_to_change: u32,
|
||||
auto_ctrls: u32,
|
||||
auto_ctrls_values: u32,
|
||||
) {
|
||||
device_id: u8,
|
||||
supported: u32,
|
||||
value: u32,
|
||||
auto_ctrls: u32,
|
||||
auto_ctrls_values: u32,
|
||||
@pad 8,
|
||||
}
|
||||
264
wire-xcon/xproto.txt
Normal file
264
wire-xcon/xproto.txt
Normal file
|
|
@ -0,0 +1,264 @@
|
|||
struct Format {
|
||||
depth: u8,
|
||||
bits_per_pixel: u8,
|
||||
scanline_pad: u8,
|
||||
@pad 5,
|
||||
}
|
||||
|
||||
struct Visualtype {
|
||||
visual_id: u32,
|
||||
class: u8,
|
||||
bits_per_rgb_value: u8,
|
||||
colormap_entries: u16,
|
||||
red_mask: u32,
|
||||
green_mask: u32,
|
||||
blue_mask: u32,
|
||||
@pad 4,
|
||||
}
|
||||
|
||||
struct Depth {
|
||||
depth: u8,
|
||||
@pad 1,
|
||||
num_visualtypes: u16 = len(visuals),
|
||||
@pad 4,
|
||||
visuals: list(Visualtype, field(num_visualtypes)),
|
||||
}
|
||||
|
||||
struct Screen {
|
||||
root: u32,
|
||||
default_colormap: u32,
|
||||
white_pixel: u32,
|
||||
black_pixel: u32,
|
||||
input_mask: u32,
|
||||
width: u16,
|
||||
height: u16,
|
||||
width_mm: u16,
|
||||
height_mm: u16,
|
||||
min_maps: u16,
|
||||
max_maps: u16,
|
||||
root_visual: u32,
|
||||
backing_stores: u8,
|
||||
save_unders: u8,
|
||||
root_depth: u8,
|
||||
number_of_depths: u8 = len(allowed_depths),
|
||||
allowed_depths: list(Depth, field(number_of_depths)),
|
||||
}
|
||||
|
||||
struct Setup {
|
||||
success: u8 = literal(1),
|
||||
@pad 1,
|
||||
protocol_major: u16,
|
||||
protocol_minor: u16,
|
||||
additional_data: u16,
|
||||
release_number: u32,
|
||||
resource_id_base: u32,
|
||||
resource_id_mask: u32,
|
||||
motion_buffer_size: u32,
|
||||
vendor_len: u16 = len(vendor),
|
||||
max_request_length: u16,
|
||||
number_of_screens: u8 = len(screens),
|
||||
number_of_formats: u8 = len(formats),
|
||||
image_byte_order: u8,
|
||||
bitmap_format_bit_order: u8,
|
||||
bitmap_format_scanline_unit: u8,
|
||||
bitmap_format_scanline_pad: u8,
|
||||
min_keycode: u8,
|
||||
max_keycode: u8,
|
||||
@pad 4,
|
||||
vendor: str(field(vendor_len)),
|
||||
@align 4,
|
||||
formats: list(Format, field(number_of_formats)),
|
||||
screens: list(Screen, field(number_of_screens)),
|
||||
}
|
||||
|
||||
struct Str {
|
||||
len: u8 = len(val),
|
||||
val: str(field(len)),
|
||||
}
|
||||
|
||||
request ListExtensions = 99 () {
|
||||
names_len: u8 = len(names),
|
||||
@pad 24,
|
||||
names: list(Str, field(names_len)),
|
||||
}
|
||||
|
||||
request GetInputFocus = 43 () {
|
||||
revert_to: u8,
|
||||
focus: u32,
|
||||
}
|
||||
|
||||
request QueryExtension = 98 (
|
||||
@pad 1,
|
||||
name_len: u16 = len(name),
|
||||
@pad 2,
|
||||
name: str(field(name_len)),
|
||||
@align 4,
|
||||
) {
|
||||
@pad 1,
|
||||
present: u8,
|
||||
major_opcode: u8,
|
||||
first_event: u8,
|
||||
first_error: u8,
|
||||
}
|
||||
|
||||
bitmask CreateWindowValues {
|
||||
background_pixmap: u32 = 0,
|
||||
background_pixel: u32 = 1,
|
||||
border_pixmap: u32 = 2,
|
||||
border_pixel: u32 = 3,
|
||||
bit_gravity: u32 = 4,
|
||||
win_gravity: u32 = 5,
|
||||
backing_store: u32 = 6,
|
||||
backing_planes: u32 = 7,
|
||||
backing_pixel: u32 = 8,
|
||||
override_redirect: u32 = 9,
|
||||
save_under: u32 = 10,
|
||||
event_mask: u32 = 11,
|
||||
do_not_propagate_mask: u32 = 12,
|
||||
colormap: u32 = 13,
|
||||
cursor: u32 = 14,
|
||||
}
|
||||
|
||||
request CreateWindow = 1 (
|
||||
depth: u8,
|
||||
wid: u32,
|
||||
parent: u32,
|
||||
x: i16,
|
||||
y: i16,
|
||||
width: u16,
|
||||
height: u16,
|
||||
border_width: u16,
|
||||
class: u16,
|
||||
visual: u32,
|
||||
value_mask: u32 = bitmask(values),
|
||||
values: bitmask(CreateWindowValues, field(value_mask)),
|
||||
);
|
||||
|
||||
request ChangeWindowAttributes = 2 (
|
||||
@pad 1,
|
||||
window: u32,
|
||||
value_mask: u32 = bitmask(values),
|
||||
values: bitmask(CreateWindowValues, field(value_mask)),
|
||||
);
|
||||
|
||||
request DestroyWindow = 4 (
|
||||
@pad 1,
|
||||
window: u32,
|
||||
);
|
||||
|
||||
request MapWindow = 8 (
|
||||
@pad 1,
|
||||
window: u32,
|
||||
);
|
||||
|
||||
event DestroyNotify = 17 {
|
||||
@pad 1,
|
||||
event: u32,
|
||||
window: u32,
|
||||
}
|
||||
|
||||
event ConfigureNotify = 22 {
|
||||
@pad 1,
|
||||
event: u32,
|
||||
window: u32,
|
||||
above_sibling: u32,
|
||||
x: i16,
|
||||
y: i16,
|
||||
width: u16,
|
||||
height: u16,
|
||||
border_width: u16,
|
||||
override_redirect: u8,
|
||||
@pad 1,
|
||||
}
|
||||
|
||||
request CreatePixmap = 53 (
|
||||
depth: u8,
|
||||
pid: u32,
|
||||
drawable: u32,
|
||||
width: u16,
|
||||
height: u16,
|
||||
);
|
||||
|
||||
request FreePixmap = 54 (
|
||||
@pad 1,
|
||||
pixmap: u32,
|
||||
);
|
||||
|
||||
bitmask GC {
|
||||
function: u32 = 0,
|
||||
plane_mask: u32 = 1,
|
||||
foreground: u32 = 2,
|
||||
background: u32 = 3,
|
||||
line_width: u32 = 4,
|
||||
line_style: u32 = 5,
|
||||
cap_style: u32 = 6,
|
||||
join_style: u32 = 7,
|
||||
fill_style: u32 = 8,
|
||||
fill_rule: u32 = 9,
|
||||
tile: u32 = 10,
|
||||
stipple: u32 = 11,
|
||||
tile_stipple_x_origin: u32 = 12,
|
||||
tile_stipple_y_origin: u32 = 13,
|
||||
font: u32 = 14,
|
||||
subwindow_mode: u32 = 15,
|
||||
graphics_exposures: u32 = 16,
|
||||
clip_x_origin: u32 = 17,
|
||||
clip_y_origin: u32 = 18,
|
||||
clip_mask: u32 = 19,
|
||||
dash_offset: u32 = 20,
|
||||
dashes: u32 = 21,
|
||||
arc_mode: u32 = 22,
|
||||
}
|
||||
|
||||
request CreateGC = 55 (
|
||||
@pad 1,
|
||||
cid: u32,
|
||||
drawable: u32,
|
||||
value_mask: u32 = bitmask(values),
|
||||
values: bitmask(GC, field(value_mask)),
|
||||
);
|
||||
|
||||
request FreeGC = 60 (
|
||||
@pad 1,
|
||||
gc: u32,
|
||||
);
|
||||
|
||||
request PutImage = 72 (
|
||||
format: u8,
|
||||
drawable: u32,
|
||||
gc: u32,
|
||||
width: u16,
|
||||
height: u16,
|
||||
dst_x: i16,
|
||||
dst_y: i16,
|
||||
left_pad: u8,
|
||||
depth: u8,
|
||||
@pad 2,
|
||||
data: list(u8),
|
||||
);
|
||||
|
||||
request CreateCursor = 93 (
|
||||
@pad 1,
|
||||
cid: u32,
|
||||
source: u32,
|
||||
mask: u32,
|
||||
fore_red: u16,
|
||||
fore_green: u16,
|
||||
fore_blue: u16,
|
||||
back_red: u16,
|
||||
back_green: u16,
|
||||
back_blue: u16,
|
||||
x: u16,
|
||||
y: u16,
|
||||
);
|
||||
|
||||
request ChangeProperty = 18 (
|
||||
mode: u8,
|
||||
window: u32,
|
||||
property: u32,
|
||||
ty: u32,
|
||||
format: u8,
|
||||
@pad 3,
|
||||
data_len: u32 = div(mul(len(data), literal(8)), field(format)),
|
||||
data: list(u8, mul(field(data_len), div(field(format), literal(8)))),
|
||||
);
|
||||
Loading…
Add table
Add a link
Reference in a new issue