diff options
| author | Frank Benkstein <frank@benkstein.net> | 2024-01-08 00:05:15 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-08 00:05:15 +0100 |
| commit | 411a52e16fe29b2af581f0e485c2042dd07ea07c (patch) | |
| tree | 1a565424a0a2caf0dff129043a0ea1584c42bece /src/wrapped | |
| parent | 41bfd757ad55623bd5c83ae2946390e50a48de3b (diff) | |
| download | box64-411a52e16fe29b2af581f0e485c2042dd07ea07c.tar.gz box64-411a52e16fe29b2af581f0e485c2042dd07ea07c.zip | |
expose minimal libxcb-xinput wrapper (#1192)
Expose minimal libxcb-xinput interface, enough to run the Enpass password manager. Also expose XkbGetIndicatorState since that is also required.
Diffstat (limited to 'src/wrapped')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibxcbxinputdefs.h | 8 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibxcbxinputtypes.h | 17 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibxcbxinputundefs.h | 8 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 4 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 1 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibx11_private.h | 2 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibxcbxinput.c | 27 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibxcbxinput_private.h | 472 |
9 files changed, 540 insertions, 1 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 4061b045..72f82584 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -581,6 +581,7 @@ #() uFpip #() uFpCi #() uFpWi +#() uFpWW #() uFpWu #() uFpWf #() uFpWp @@ -4840,6 +4841,7 @@ wrappedlibxcbsync: wrappedlibxcbutil: wrappedlibxcbxfixes: wrappedlibxcbxinerama: +wrappedlibxcbxinput: wrappedlibxcbxkb: wrappedlibxcbxtest: wrappedlibxcomposite: diff --git a/src/wrapped/generated/wrappedlibxcbxinputdefs.h b/src/wrapped/generated/wrappedlibxcbxinputdefs.h new file mode 100644 index 00000000..2540a07b --- /dev/null +++ b/src/wrapped/generated/wrappedlibxcbxinputdefs.h @@ -0,0 +1,8 @@ +/******************************************************************* + * File automatically generated by rebuild_wrappers.py (v2.4.0.20) * + *******************************************************************/ +#ifndef __wrappedlibxcbxinputDEFS_H_ +#define __wrappedlibxcbxinputDEFS_H_ + + +#endif // __wrappedlibxcbxinputDEFS_H_ diff --git a/src/wrapped/generated/wrappedlibxcbxinputtypes.h b/src/wrapped/generated/wrappedlibxcbxinputtypes.h new file mode 100644 index 00000000..8b8d1869 --- /dev/null +++ b/src/wrapped/generated/wrappedlibxcbxinputtypes.h @@ -0,0 +1,17 @@ +/******************************************************************* + * File automatically generated by rebuild_wrappers.py (v2.4.0.20) * + *******************************************************************/ +#ifndef __wrappedlibxcbxinputTYPES_H_ +#define __wrappedlibxcbxinputTYPES_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + + +#define SUPER() ADDED_FUNCTIONS() + +#endif // __wrappedlibxcbxinputTYPES_H_ diff --git a/src/wrapped/generated/wrappedlibxcbxinputundefs.h b/src/wrapped/generated/wrappedlibxcbxinputundefs.h new file mode 100644 index 00000000..98df873e --- /dev/null +++ b/src/wrapped/generated/wrappedlibxcbxinputundefs.h @@ -0,0 +1,8 @@ +/******************************************************************* + * File automatically generated by rebuild_wrappers.py (v2.4.0.20) * + *******************************************************************/ +#ifndef __wrappedlibxcbxinputUNDEFS_H_ +#define __wrappedlibxcbxinputUNDEFS_H_ + + +#endif // __wrappedlibxcbxinputUNDEFS_H_ diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 934d22fa..46654a70 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -619,6 +619,7 @@ typedef uint32_t (*uFpiu_t)(void*, int32_t, uint32_t); typedef uint32_t (*uFpip_t)(void*, int32_t, void*); typedef uint32_t (*uFpCi_t)(void*, uint8_t, int32_t); typedef uint32_t (*uFpWi_t)(void*, uint16_t, int32_t); +typedef uint32_t (*uFpWW_t)(void*, uint16_t, uint16_t); typedef uint32_t (*uFpWu_t)(void*, uint16_t, uint32_t); typedef uint32_t (*uFpWf_t)(void*, uint16_t, float); typedef uint32_t (*uFpWp_t)(void*, uint16_t, void*); @@ -3653,6 +3654,7 @@ void uFpiu(x64emu_t *emu, uintptr_t fcn) { uFpiu_t fn = (uFpiu_t)fcn; R_RAX=(uin void uFpip(x64emu_t *emu, uintptr_t fcn) { uFpip_t fn = (uFpip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); } void uFpCi(x64emu_t *emu, uintptr_t fcn) { uFpCi_t fn = (uFpCi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (int32_t)R_RDX); } void uFpWi(x64emu_t *emu, uintptr_t fcn) { uFpWi_t fn = (uFpWi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (int32_t)R_RDX); } +void uFpWW(x64emu_t *emu, uintptr_t fcn) { uFpWW_t fn = (uFpWW_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX); } void uFpWu(x64emu_t *emu, uintptr_t fcn) { uFpWu_t fn = (uFpWu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint32_t)R_RDX); } void uFpWf(x64emu_t *emu, uintptr_t fcn) { uFpWf_t fn = (uFpWf_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, emu->xmm[0].f[0]); } void uFpWp(x64emu_t *emu, uintptr_t fcn) { uFpWp_t fn = (uFpWp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (void*)R_RDX); } @@ -6590,6 +6592,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &uFpip) return 1; if (fun == &uFpCi) return 1; if (fun == &uFpWi) return 1; + if (fun == &uFpWW) return 1; if (fun == &uFpWu) return 1; if (fun == &uFpWf) return 2; if (fun == &uFpWp) return 1; @@ -8150,6 +8153,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &uFufp) return 3; if (fun == &uFupu) return 1; if (fun == &uFupp) return 1; + if (fun == &uFpWW) return 1; if (fun == &uFpWu) return 1; if (fun == &uFpWf) return 3; if (fun == &uFpWp) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 45dad010..68f3d562 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -619,6 +619,7 @@ void uFpiu(x64emu_t *emu, uintptr_t fnc); void uFpip(x64emu_t *emu, uintptr_t fnc); void uFpCi(x64emu_t *emu, uintptr_t fnc); void uFpWi(x64emu_t *emu, uintptr_t fnc); +void uFpWW(x64emu_t *emu, uintptr_t fnc); void uFpWu(x64emu_t *emu, uintptr_t fnc); void uFpWf(x64emu_t *emu, uintptr_t fnc); void uFpWp(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibx11_private.h b/src/wrapped/wrappedlibx11_private.h index 9a98ef99..271c1ffb 100644 --- a/src/wrapped/wrappedlibx11_private.h +++ b/src/wrapped/wrappedlibx11_private.h @@ -592,7 +592,7 @@ GO(XkbGetDeviceInfo, pFpuuuu) //GO(XkbGetDeviceLedInfo //GO(XkbGetGeometry //GO(XkbGetIndicatorMap -//GO(XkbGetIndicatorState +GO(XkbGetIndicatorState, iFpup) //GO(XkbGetKeyActions //GO(XkbGetKeyBehaviors GO(XkbGetKeyboard, pFpuu) diff --git a/src/wrapped/wrappedlibxcbxinput.c b/src/wrapped/wrappedlibxcbxinput.c new file mode 100644 index 00000000..b5b55685 --- /dev/null +++ b/src/wrapped/wrappedlibxcbxinput.c @@ -0,0 +1,27 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "callback.h" +#include "librarian.h" +#include "box64context.h" +#include "emu/x64emu_private.h" + +#ifdef ANDROID + const char* libxcbxinputName = "libxcb-xinput.so"; +#else + const char* libxcbxinputName = "libxcb-xinput.so.0"; +#endif +#define LIBNAME libxcbxinput + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibxcbxinput_private.h b/src/wrapped/wrappedlibxcbxinput_private.h new file mode 100644 index 00000000..f41ed107 --- /dev/null +++ b/src/wrapped/wrappedlibxcbxinput_private.h @@ -0,0 +1,472 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +DATA(xcb_input_id, 2*sizeof(void*)) +// GO(xcb_input_input_info_info +// GO(xcb_input_send_extension_event_sizeof +// GO(xcb_input_device_class_data_sizeof +// GO(xcb_input_close_device +// GO(xcb_input_feedback_state_data +// GO(xcb_input_feedback_ctl_data +// GO(xcb_input_input_state_data +// GO(xcb_input_device_state_data +// GO(xcb_input_device_ctl_data +// GO(xcb_input_hierarchy_change_data +// GO(xcb_input_device_class_data +// GO(xcb_input_event_class_next +// GO(xcb_input_event_class_end +// GO(xcb_input_key_code_next +// GO(xcb_input_key_code_end +// GO(xcb_input_device_id_next +// GO(xcb_input_device_id_end +// GO(xcb_input_fp1616_next +// GO(xcb_input_fp1616_end +// GO(xcb_input_fp3232_next +// GO(xcb_input_fp3232_end +// GO(xcb_input_get_extension_version_unchecked +// GO(xcb_input_get_extension_version_reply +// GO(xcb_input_device_info_next +// GO(xcb_input_device_info_end +// GO(xcb_input_key_info_next +// GO(xcb_input_key_info_end +// GO(xcb_input_button_info_next +// GO(xcb_input_button_info_end +// GO(xcb_input_axis_info_next +// GO(xcb_input_axis_info_end +// GO(xcb_input_valuator_info_axes +// GO(xcb_input_valuator_info_axes_length +// GO(xcb_input_valuator_info_axes_iterator +// GO(xcb_input_valuator_info_next +// GO(xcb_input_valuator_info_end +// GO(xcb_input_input_info_info_valuator_axes +// GO(xcb_input_input_info_info_valuator_axes_length +// GO(xcb_input_input_info_info_valuator_axes_iterator +// GO(xcb_input_input_info_info_serialize +// GO(xcb_input_input_info_info_unpack +// GO(xcb_input_input_state_data_sizeof +// GO(xcb_input_input_info_next +// GO(xcb_input_input_info_end +// GO(xcb_input_device_name_string +// GO(xcb_input_device_name_string_length +// GO(xcb_input_device_name_string_end +// GO(xcb_input_device_name_next +// GO(xcb_input_device_name_end +// GO(xcb_input_list_input_devices_unchecked +// GO(xcb_input_list_input_devices_devices +// GO(xcb_input_list_input_devices_names_length +// GO(xcb_input_list_input_devices_devices_iterator +// GO(xcb_input_list_input_devices_infos_iterator +// GO(xcb_input_list_input_devices_names_iterator +// GO(xcb_input_list_input_devices_reply +// GO(xcb_input_event_type_base_next +// GO(xcb_input_event_type_base_end +// GO(xcb_input_input_class_info_next +// GO(xcb_input_input_class_info_end +// GO(xcb_input_open_device_unchecked +// GO(xcb_input_open_device_class_info +// GO(xcb_input_open_device_class_info_length +// GO(xcb_input_open_device_class_info_iterator +// GO(xcb_input_open_device_reply +// GO(xcb_input_set_device_mode_unchecked +// GO(xcb_input_set_device_mode_reply +// GO(xcb_input_select_extension_event +// GO(xcb_input_select_extension_event_classes +// GO(xcb_input_select_extension_event_classes_length +// GO(xcb_input_select_extension_event_classes_end +// GO(xcb_input_get_selected_extension_events_unchecked +// GO(xcb_input_get_selected_extension_events_all_classes +// GO(xcb_input_get_selected_extension_events_all_classes_length +// GO(xcb_input_get_selected_extension_events_all_classes_end +// GO(xcb_input_get_selected_extension_events_reply +// GO(xcb_input_change_device_dont_propagate_list +// GO(xcb_input_change_device_dont_propagate_list_classes +// GO(xcb_input_change_device_dont_propagate_list_classes_length +// GO(xcb_input_change_device_dont_propagate_list_classes_end +// GO(xcb_input_get_device_dont_propagate_list_unchecked +// GO(xcb_input_get_device_dont_propagate_list_classes +// GO(xcb_input_get_device_dont_propagate_list_classes_length +// GO(xcb_input_get_device_dont_propagate_list_classes_end +// GO(xcb_input_get_device_dont_propagate_list_reply +// GO(xcb_input_device_time_coord_axisvalues +// GO(xcb_input_device_time_coord_axisvalues_length +// GO(xcb_input_device_time_coord_axisvalues_end +// GO(xcb_input_device_time_coord_next +// GO(xcb_input_device_time_coord_end +// GO(xcb_input_get_device_motion_events_unchecked +// GO(xcb_input_get_device_motion_events_events_length +// GO(xcb_input_get_device_motion_events_events_iterator +// GO(xcb_input_get_device_motion_events_reply +// GO(xcb_input_change_keyboard_device_unchecked +// GO(xcb_input_change_keyboard_device_reply +// GO(xcb_input_change_pointer_device_unchecked +// GO(xcb_input_change_pointer_device_reply +// GO(xcb_input_grab_device_unchecked +// GO(xcb_input_grab_device_reply +// GO(xcb_input_ungrab_device +// GO(xcb_input_grab_device_key +// GO(xcb_input_grab_device_key_classes +// GO(xcb_input_grab_device_key_classes_length +// GO(xcb_input_grab_device_key_classes_end +// GO(xcb_input_ungrab_device_button +// GO(xcb_input_grab_device_button +// GO(xcb_input_grab_device_button_classes +// GO(xcb_input_grab_device_button_classes_length +// GO(xcb_input_grab_device_button_classes_end +// GO(xcb_input_allow_device_events +// GO(xcb_input_get_device_focus_unchecked +// GO(xcb_input_get_device_focus_reply +// GO(xcb_input_set_device_focus +// GO(xcb_input_kbd_feedback_state_next +// GO(xcb_input_kbd_feedback_state_end +// GO(xcb_input_ptr_feedback_state_next +// GO(xcb_input_ptr_feedback_state_end +// GO(xcb_input_integer_feedback_state_next +// GO(xcb_input_integer_feedback_state_end +// GO(xcb_input_string_feedback_state_keysyms +// GO(xcb_input_string_feedback_state_keysyms_length +// GO(xcb_input_string_feedback_state_keysyms_end +// GO(xcb_input_string_feedback_state_next +// GO(xcb_input_string_feedback_state_end +// GO(xcb_input_bell_feedback_state_next +// GO(xcb_input_bell_feedback_state_end +// GO(xcb_input_led_feedback_state_next +// GO(xcb_input_led_feedback_state_end +// GO(xcb_input_feedback_state_data_string_keysyms +// GO(xcb_input_feedback_state_data_string_keysyms_length +// GO(xcb_input_feedback_state_data_string_keysyms_end +// GO(xcb_input_feedback_state_data_serialize +// GO(xcb_input_feedback_state_data_unpack +// GO(xcb_input_feedback_state_next +// GO(xcb_input_feedback_state_end +// GO(xcb_input_get_feedback_control_unchecked +// GO(xcb_input_get_feedback_control_feedbacks_length +// GO(xcb_input_get_feedback_control_feedbacks_iterator +// GO(xcb_input_get_feedback_control_reply +// GO(xcb_input_kbd_feedback_ctl_next +// GO(xcb_input_kbd_feedback_ctl_end +// GO(xcb_input_ptr_feedback_ctl_next +// GO(xcb_input_ptr_feedback_ctl_end +// GO(xcb_input_integer_feedback_ctl_next +// GO(xcb_input_integer_feedback_ctl_end +// GO(xcb_input_string_feedback_ctl_keysyms +// GO(xcb_input_string_feedback_ctl_keysyms_length +// GO(xcb_input_string_feedback_ctl_keysyms_end +// GO(xcb_input_string_feedback_ctl_next +// GO(xcb_input_string_feedback_ctl_end +// GO(xcb_input_bell_feedback_ctl_next +// GO(xcb_input_bell_feedback_ctl_end +// GO(xcb_input_led_feedback_ctl_next +// GO(xcb_input_led_feedback_ctl_end +// GO(xcb_input_feedback_ctl_data_string_keysyms +// GO(xcb_input_feedback_ctl_data_string_keysyms_length +// GO(xcb_input_feedback_ctl_data_string_keysyms_end +// GO(xcb_input_feedback_ctl_data_serialize +// GO(xcb_input_feedback_ctl_data_unpack +// GO(xcb_input_feedback_ctl_next +// GO(xcb_input_feedback_ctl_end +// GO(xcb_input_change_feedback_control +// GO(xcb_input_change_feedback_control_feedback +// GO(xcb_input_get_device_key_mapping_unchecked +// GO(xcb_input_get_device_key_mapping_keysyms +// GO(xcb_input_get_device_key_mapping_keysyms_length +// GO(xcb_input_get_device_key_mapping_keysyms_end +// GO(xcb_input_get_device_key_mapping_reply +// GO(xcb_input_change_device_key_mapping +// GO(xcb_input_change_device_key_mapping_keysyms +// GO(xcb_input_change_device_key_mapping_keysyms_length +// GO(xcb_input_change_device_key_mapping_keysyms_end +// GO(xcb_input_get_device_modifier_mapping_unchecked +// GO(xcb_input_get_device_modifier_mapping_keymaps +// GO(xcb_input_get_device_modifier_mapping_keymaps_length +// GO(xcb_input_get_device_modifier_mapping_keymaps_end +// GO(xcb_input_get_device_modifier_mapping_reply +// GO(xcb_input_set_device_modifier_mapping_unchecked +// GO(xcb_input_set_device_modifier_mapping_reply +// GO(xcb_input_get_device_button_mapping_unchecked +// GO(xcb_input_get_device_button_mapping_map +// GO(xcb_input_get_device_button_mapping_map_length +// GO(xcb_input_get_device_button_mapping_map_end +// GO(xcb_input_get_device_button_mapping_reply +// GO(xcb_input_set_device_button_mapping_unchecked +// GO(xcb_input_set_device_button_mapping_reply +// GO(xcb_input_key_state_next +// GO(xcb_input_key_state_end +// GO(xcb_input_button_state_next +// GO(xcb_input_button_state_end +// GO(xcb_input_valuator_state_valuators +// GO(xcb_input_valuator_state_valuators_length +// GO(xcb_input_valuator_state_valuators_end +// GO(xcb_input_valuator_state_next +// GO(xcb_input_valuator_state_end +// GO(xcb_input_input_state_data_valuator_valuators +// GO(xcb_input_input_state_data_valuator_valuators_length +// GO(xcb_input_input_state_data_valuator_valuators_end +// GO(xcb_input_input_state_data_serialize +// GO(xcb_input_input_state_data_unpack +// GO(xcb_input_input_state_next +// GO(xcb_input_input_state_end +// GO(xcb_input_query_device_state_unchecked +// GO(xcb_input_query_device_state_classes_length +// GO(xcb_input_query_device_state_classes_iterator +// GO(xcb_input_query_device_state_reply +// GO(xcb_input_device_bell +// GO(xcb_input_set_device_valuators_unchecked +// GO(xcb_input_set_device_valuators_reply +// GO(xcb_input_device_resolution_state_resolution_max +// GO(xcb_input_device_resolution_state_resolution_max_length +// GO(xcb_input_device_resolution_state_resolution_max_end +// GO(xcb_input_device_resolution_state_next +// GO(xcb_input_device_resolution_state_end +// GO(xcb_input_device_abs_calib_state_next +// GO(xcb_input_device_abs_calib_state_end +// GO(xcb_input_device_abs_area_state_next +// GO(xcb_input_device_abs_area_state_end +// GO(xcb_input_device_core_state_next +// GO(xcb_input_device_core_state_end +// GO(xcb_input_device_enable_state_next +// GO(xcb_input_device_enable_state_end +// GO(xcb_input_device_state_data_resolution_resolution_max +// GO(xcb_input_device_state_data_resolution_resolution_max_length +// GO(xcb_input_device_state_data_resolution_resolution_max_end +// GO(xcb_input_device_state_data_serialize +// GO(xcb_input_device_state_data_unpack +// GO(xcb_input_device_state_next +// GO(xcb_input_device_state_end +// GO(xcb_input_get_device_control_unchecked +// GO(xcb_input_get_device_control_control +// GO(xcb_input_get_device_control_reply +// GO(xcb_input_device_resolution_ctl_resolution_values +// GO(xcb_input_device_resolution_ctl_resolution_values_length +// GO(xcb_input_device_resolution_ctl_resolution_values_end +// GO(xcb_input_device_resolution_ctl_next +// GO(xcb_input_device_resolution_ctl_end +// GO(xcb_input_device_abs_calib_ctl_next +// GO(xcb_input_device_abs_calib_ctl_end +// GO(xcb_input_device_abs_area_ctrl_next +// GO(xcb_input_device_abs_area_ctrl_end +// GO(xcb_input_device_core_ctrl_next +// GO(xcb_input_device_core_ctrl_end +// GO(xcb_input_device_enable_ctrl_next +// GO(xcb_input_device_enable_ctrl_end +// GO(xcb_input_device_ctl_data_resolution_resolution_values +// GO(xcb_input_device_ctl_data_resolution_resolution_values_length +// GO(xcb_input_device_ctl_data_resolution_resolution_values_end +// GO(xcb_input_device_ctl_data_serialize +// GO(xcb_input_device_ctl_data_unpack +// GO(xcb_input_device_ctl_next +// GO(xcb_input_device_ctl_end +// GO(xcb_input_change_device_control_unchecked +// GO(xcb_input_change_device_control_reply +// GO(xcb_input_list_device_properties_unchecked +// GO(xcb_input_list_device_properties_atoms +// GO(xcb_input_list_device_properties_atoms_length +// GO(xcb_input_list_device_properties_atoms_end +// GO(xcb_input_list_device_properties_reply +// GO(xcb_input_change_device_property_items_data_8 +// GO(xcb_input_change_device_property_items_data_32_length +// GO(xcb_input_change_device_property_items_data_32_end +// GO(xcb_input_change_device_property_items_data_16 +// GO(xcb_input_change_device_property_items_data_32 +// GO(xcb_input_change_device_property_items_serialize +// GO(xcb_input_change_device_property_items_unpack +// GO(xcb_input_xi_get_property_items_sizeof +// GO(xcb_input_change_device_property +// GO(xcb_input_change_device_property_aux +// GO(xcb_input_change_device_property_items +// GO(xcb_input_delete_device_property +// GO(xcb_input_get_device_property_items_data_8 +// GO(xcb_input_get_device_property_items_data_32_length +// GO(xcb_input_get_device_property_items_data_32_end +// GO(xcb_input_get_device_property_items_data_16 +// GO(xcb_input_get_device_property_items_data_32 +// GO(xcb_input_get_device_property_items_serialize +// GO(xcb_input_get_device_property_items_unpack +// GO(xcb_input_get_device_property_unchecked +// GO(xcb_input_get_device_property_items +// GO(xcb_input_get_device_property_reply +// GO(xcb_input_group_info_next +// GO(xcb_input_group_info_end +// GO(xcb_input_modifier_info_next +// GO(xcb_input_modifier_info_end +// GO(xcb_input_xi_query_pointer_unchecked +// GO(xcb_input_xi_query_pointer_buttons +// GO(xcb_input_xi_query_pointer_buttons_length +// GO(xcb_input_xi_query_pointer_buttons_end +// GO(xcb_input_xi_query_pointer_reply +// GO(xcb_input_xi_warp_pointer +// GO(xcb_input_xi_change_cursor +// GO(xcb_input_add_master_name +// GO(xcb_input_add_master_name_length +// GO(xcb_input_add_master_name_end +// GO(xcb_input_add_master_next +// GO(xcb_input_add_master_end +// GO(xcb_input_remove_master_next +// GO(xcb_input_remove_master_end +// GO(xcb_input_attach_slave_next +// GO(xcb_input_attach_slave_end +// GO(xcb_input_detach_slave_next +// GO(xcb_input_detach_slave_end +// GO(xcb_input_hierarchy_change_data_add_master_name +// GO(xcb_input_hierarchy_change_data_add_master_name_length +// GO(xcb_input_hierarchy_change_data_add_master_name_end +// GO(xcb_input_hierarchy_change_data_serialize +// GO(xcb_input_hierarchy_change_data_unpack +// GO(xcb_input_hierarchy_change_next +// GO(xcb_input_hierarchy_change_end +// GO(xcb_input_xi_change_hierarchy +// GO(xcb_input_xi_change_hierarchy_changes_length +// GO(xcb_input_xi_change_hierarchy_changes_iterator +// GO(xcb_input_xi_set_client_pointer +// GO(xcb_input_xi_get_client_pointer_unchecked +// GO(xcb_input_xi_get_client_pointer_reply +// GO(xcb_input_event_mask_mask +// GO(xcb_input_event_mask_mask_length +// GO(xcb_input_event_mask_mask_end +// GO(xcb_input_event_mask_next +// GO(xcb_input_event_mask_end +// GO(xcb_input_xi_select_events +// GO(xcb_input_xi_select_events_masks_length +// GO(xcb_input_xi_select_events_masks_iterator +GO(xcb_input_xi_query_version_unchecked, uFpWW) +GO(xcb_input_xi_query_version, uFpWW) +// GO(xcb_input_xi_query_version_reply +// GO(xcb_input_button_class_state +// GO(xcb_input_button_class_labels_length +// GO(xcb_input_button_class_labels_end +// GO(xcb_input_button_class_labels +// GO(xcb_input_button_class_next +// GO(xcb_input_button_class_end +// GO(xcb_input_key_class_keys +// GO(xcb_input_key_class_keys_length +// GO(xcb_input_key_class_keys_end +// GO(xcb_input_key_class_next +// GO(xcb_input_key_class_end +// GO(xcb_input_scroll_class_next +// GO(xcb_input_scroll_class_end +// GO(xcb_input_touch_class_next +// GO(xcb_input_touch_class_end +// GO(xcb_input_gesture_class_next +// GO(xcb_input_gesture_class_end +// GO(xcb_input_valuator_class_next +// GO(xcb_input_valuator_class_end +// GO(xcb_input_device_class_data_button_state +// GO(xcb_input_device_class_data_button_labels_length +// GO(xcb_input_device_class_data_button_labels_end +// GO(xcb_input_device_class_data_button_labels +// GO(xcb_input_device_class_data_serialize +// GO(xcb_input_device_class_data_unpack +// GO(xcb_input_device_class_next +// GO(xcb_input_device_class_end +// GO(xcb_input_xi_device_info_name +// GO(xcb_input_xi_device_info_classes_length +// GO(xcb_input_xi_device_info_name_end +// GO(xcb_input_xi_device_info_classes_iterator +// GO(xcb_input_xi_device_info_next +// GO(xcb_input_xi_device_info_end +// GO(xcb_input_xi_query_device_unchecked +// GO(xcb_input_xi_query_device_infos_length +// GO(xcb_input_xi_query_device_infos_iterator +// GO(xcb_input_xi_query_device_reply +// GO(xcb_input_xi_set_focus +// GO(xcb_input_xi_get_focus_unchecked +// GO(xcb_input_xi_get_focus_reply +// GO(xcb_input_xi_grab_device_unchecked +// GO(xcb_input_xi_grab_device_reply +// GO(xcb_input_xi_ungrab_device +// GO(xcb_input_xi_allow_events +// GO(xcb_input_grab_modifier_info_next +// GO(xcb_input_grab_modifier_info_end +// GO(xcb_input_xi_passive_grab_device_unchecked +// GO(xcb_input_xi_passive_grab_device_modifiers +// GO(xcb_input_xi_passive_grab_device_modifiers_length +// GO(xcb_input_xi_passive_grab_device_modifiers_iterator +// GO(xcb_input_xi_passive_grab_device_reply +// GO(xcb_input_xi_passive_ungrab_device +// GO(xcb_input_xi_passive_ungrab_device_modifiers +// GO(xcb_input_xi_passive_ungrab_device_modifiers_length +// GO(xcb_input_xi_passive_ungrab_device_modifiers_end +// GO(xcb_input_xi_list_properties_unchecked +// GO(xcb_input_xi_list_properties_properties +// GO(xcb_input_xi_list_properties_properties_length +// GO(xcb_input_xi_list_properties_properties_end +// GO(xcb_input_xi_list_properties_reply +// GO(xcb_input_xi_change_property_items_data_8 +// GO(xcb_input_xi_change_property_items_data_32_length +// GO(xcb_input_xi_change_property_items_data_32_end +// GO(xcb_input_xi_change_property_items_data_16 +// GO(xcb_input_xi_change_property_items_data_32 +// GO(xcb_input_xi_change_property_items_serialize +// GO(xcb_input_xi_change_property_items_unpack +// GO(xcb_input_xi_change_property +// GO(xcb_input_xi_change_property_aux +// GO(xcb_input_xi_change_property_items +// GO(xcb_input_xi_delete_property +// GO(xcb_input_xi_get_property_items_data_8 +// GO(xcb_input_xi_get_property_items_data_32_length +// GO(xcb_input_xi_get_property_items_data_32_end +// GO(xcb_input_xi_get_property_items_data_16 +// GO(xcb_input_xi_get_property_items_data_32 +// GO(xcb_input_xi_get_property_items_serialize +// GO(xcb_input_xi_get_property_items_unpack +// GO(xcb_input_xi_get_property_unchecked +// GO(xcb_input_xi_get_property_items +// GO(xcb_input_xi_get_property_reply +// GO(xcb_input_xi_get_selected_events_unchecked +// GO(xcb_input_xi_get_selected_events_masks_length +// GO(xcb_input_xi_get_selected_events_masks_iterator +// GO(xcb_input_xi_get_selected_events_reply +// GO(xcb_input_barrier_release_pointer_info_next +// GO(xcb_input_barrier_release_pointer_info_end +// GO(xcb_input_xi_barrier_release_pointer +// GO(xcb_input_xi_barrier_release_pointer_barriers +// GO(xcb_input_xi_barrier_release_pointer_barriers_length +// GO(xcb_input_xi_barrier_release_pointer_barriers_iterator +// GO(xcb_input_device_changed_classes_length +// GO(xcb_input_device_changed_classes_iterator +// GO(xcb_input_key_press_valuator_mask +// GO(xcb_input_key_press_axisvalues_length +// GO(xcb_input_key_press_valuator_mask_end +// GO(xcb_input_key_press_axisvalues +// GO(xcb_input_key_press_axisvalues_iterator +// GO(xcb_input_button_press_valuator_mask +// GO(xcb_input_button_press_axisvalues_length +// GO(xcb_input_button_press_valuator_mask_end +// GO(xcb_input_button_press_axisvalues +// GO(xcb_input_button_press_axisvalues_iterator +// GO(xcb_input_enter_buttons +// GO(xcb_input_enter_buttons_length +// GO(xcb_input_enter_buttons_end +// GO(xcb_input_hierarchy_info_next +// GO(xcb_input_hierarchy_info_end +// GO(xcb_input_hierarchy_infos +// GO(xcb_input_hierarchy_infos_length +// GO(xcb_input_hierarchy_infos_iterator +// GO(xcb_input_raw_key_press_valuator_mask +// GO(xcb_input_raw_key_press_axisvalues_raw_length +// GO(xcb_input_raw_key_press_valuator_mask_end +// GO(xcb_input_raw_key_press_axisvalues_raw +// GO(xcb_input_raw_key_press_axisvalues_raw_iterator +// GO(xcb_input_raw_button_press_valuator_mask +// GO(xcb_input_raw_button_press_axisvalues_raw_length +// GO(xcb_input_raw_button_press_valuator_mask_end +// GO(xcb_input_raw_button_press_axisvalues_raw +// GO(xcb_input_raw_button_press_axisvalues_raw_iterator +// GO(xcb_input_touch_begin_valuator_mask +// GO(xcb_input_touch_begin_axisvalues_length +// GO(xcb_input_touch_begin_valuator_mask_end +// GO(xcb_input_touch_begin_axisvalues +// GO(xcb_input_touch_begin_axisvalues_iterator +// GO(xcb_input_raw_touch_begin_valuator_mask +// GO(xcb_input_raw_touch_begin_axisvalues_raw_length +// GO(xcb_input_raw_touch_begin_valuator_mask_end +// GO(xcb_input_raw_touch_begin_axisvalues_raw +// GO(xcb_input_raw_touch_begin_axisvalues_raw_iterator +// GO(xcb_input_event_for_send_next +// GO(xcb_input_event_for_send_end +// GO(xcb_input_send_extension_event +// GO(xcb_input_send_extension_event_events +// GO(xcb_input_send_extension_event_classes_length +// GO(xcb_input_send_extension_event_events_iterator +// GO(xcb_input_send_extension_event_classes +// GO(xcb_input_send_extension_event_classes_end |