123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564openCtypes(* This Types_generated module is an instantiation of the Types
functor defined in the type_description.ml file. It's generated by
a C program that Dune creates and runs behind the scenes. *)moduleT=Types_generatedmoduleFunctions(F:FOREIGN)=structopenFletreturning_ignoredx=returning(view~read:(Fun.const())~write:(fun_->assertfalse)x)letint_uint=view~read:Unsigned.UInt.to_int~write:Unsigned.UInt.of_intuintletint_uint32=view~read:Unsigned.UInt32.to_int~write:Unsigned.UInt32.of_intuint32_tletint_int32=view~read:Int32.to_int~write:Int32.of_intint32_tletkeycode=viewuint32_t~read:Keycode.of_uint32~write:Keycode.to_uint32lettime_usec=view~read:Unsigned.UInt64.to_int64~write:Unsigned.UInt64.of_int64uint64_tletbool_int=view~read:((<>)0)~write:Bool.to_intintletbool_uint32=view~read:((<>)Unsigned.UInt32.zero)~write:(funt->Unsigned.UInt32.of_int(Bool.to_intt))uint32_tletforeign_opt~requiresnametyp=ifConfig.version>=requiresthenSome(foreignnametyp)elseNone(* Supporing libraries *)letmajor=foreign"major"@@PosixTypes.dev_t@->returninguintletminor=foreign"minor"@@PosixTypes.dev_t@->returninguintmoduleUdev=structletcreate=foreign"udev_new"@@void@->returning(ptr_optT.Udev.t)letunref=foreign"udev_unref"@@ptrT.Udev.t@->returning_ignored(ptr_optT.Udev.t)end(* libinput functions *)letudev_create_context=foreign"libinput_udev_create_context"@@ptrT.Interface.t@->ptrvoid@->ptrT.Udev.t@->returning(ptr_optT.Libinput.t)letudev_assign_seat=foreign"libinput_udev_assign_seat"@@ptrT.Libinput.t@->string@->returningintletunref=foreign"libinput_unref"@@ptrT.Libinput.t@->returning(ptr_optT.Libinput.t)letdispatch=foreign"libinput_dispatch"@@ptrT.Libinput.t@->returningintletpath_create_context=foreign"libinput_path_create_context"@@ptrT.Interface.t@->ptrvoid@->returning(ptr_optT.Libinput.t)letpath_add_device=foreign"libinput_path_add_device"@@ptrT.Libinput.t@->string@->returning(ptr_optT.Device.t)letpath_remove_device=foreign"libinput_path_remove_device"@@ptrT.Device.t@->returningvoidmoduleLog=structletset_priority=foreign"libinput_log_set_priority"@@ptrT.Libinput.t@->T.Log_priority.t@->returningvoidletget_priority=foreign"libinput_log_get_priority"@@ptrT.Libinput.t@->returningT.Log_priority.tletset_handler=foreign"caml_libinput_log_set_handler_simple"@@ptrT.Libinput.t@->T.log_handler_simple@->returningvoidendmoduleDevice_group=structtypet=T.Device_group.tptrlett=ptrT.Device_group.tletref=foreign"libinput_device_group_ref"@@t@->returning_ignoredtletunref=foreign"libinput_device_group_unref"@@t@->returning_ignored(ptr_optT.Device_group.t)endmoduleDevice=structtypet=T.Device.tptrlett=ptrT.Device.tletget_sysname=foreign"libinput_device_get_sysname"@@t@->returningstringletget_name=foreign"libinput_device_get_name"@@t@->returningstringlethas_capability=foreign"libinput_device_has_capability"@@t@->T.Device_capability.t@->returningbool_intletget_seat=foreign"libinput_device_get_seat"@@t@->returning(ptrT.Seat.t)letget_device_group=foreign"libinput_device_get_device_group"@@t@->returningDevice_group.tletget_id_bustype=foreign_opt~requires:(1,26)"libinput_device_get_id_bustype"@@(t@->returningint_uint)letget_id_product=foreign"libinput_device_get_id_product"@@t@->returningint_uintletget_id_vendor=foreign"libinput_device_get_id_vendor"@@t@->returningint_uintletget_output_name=foreign"libinput_device_get_output_name"@@t@->returning(ptr_opt(constchar))letset_seat_logical_name=foreign"libinput_device_set_seat_logical_name"@@t@->string@->returningintletget_size=foreign"libinput_device_get_size"@@t@->ptrdouble@->ptrdouble@->returningintletkeyboard_has_key=foreign"libinput_device_keyboard_has_key"@@t@->keycode@->returningintletpointer_has_button=foreign"libinput_device_pointer_has_button"@@t@->keycode@->returningintlettouch_get_touch_count=foreign"libinput_device_touch_get_touch_count"@@t@->returningintletswitch_has_switch=foreign"libinput_device_switch_has_switch"@@t@->T.Switch.t@->returningintletled_update=foreign"libinput_device_led_update"@@t@->T.Led.t@->returningvoidmoduleTablet_pad=structletget_num_mode_groups=foreign"libinput_device_tablet_pad_get_num_mode_groups"@@t@->returningintletget_mode_group=foreign"libinput_device_tablet_pad_get_mode_group"@@t@->int_uint@->returning(ptr_optT.Mode_group.t)letget_num_buttons=foreign"libinput_device_tablet_pad_get_num_buttons"@@t@->returningintletget_num_dials=foreign_opt~requires:(1,26)"libinput_device_tablet_pad_get_num_dials"@@t@->returningintletget_num_rings=foreign"libinput_device_tablet_pad_get_num_rings"@@t@->returningintletget_num_strips=foreign"libinput_device_tablet_pad_get_num_strips"@@t@->returningintlethas_key=foreign"libinput_device_tablet_pad_has_key"@@t@->keycode@->returningintendletref=foreign"libinput_device_ref"@@t@->returning_ignoredtletunref=foreign"libinput_device_unref"@@t@->returning_ignored(ptr_optT.Device.t)moduleConfig=structmoduleSetting=structtypenonrec'at=|Unsupportedof'a|Settingof{set:(t->'a->T.Config.statusreturn)F.result;get:(t->'areturn)F.result;get_default:(t->'areturn)F.result;}letmake?unlesspatternty=matchunlesswith|Some(false,default)->Unsupporteddefault|_->letnamex=Printf.sprintfpatternxinletset=foreign(name"set")@@t@->ty@->returningT.Config.statusinletget=foreign(name"get")@@t@->returningtyinletget_default=foreign(name"get_default")@@t@->returningtyinSetting{set;get;get_default}endmoduleTap=structletenabled=Setting.make"libinput_device_config_tap_%s_enabled"T.Config.tap_stateletget_finger_count=foreign"libinput_device_config_tap_get_finger_count"@@t@->returningintletbutton_map=Setting.make"libinput_device_config_tap_%s_button_map"T.Config.tap_button_mapletdrag_enabled=Setting.make"libinput_device_config_tap_%s_drag_enabled"T.Config.drag_stateletdrag_lock_enabled=Setting.make"libinput_device_config_tap_%s_drag_lock_enabled"T.Config.drag_lock_stateendmoduleThree_finger_drag=structletsupported=Config.version>=(1,28)letget_finger_count=ifsupportedthenSome(foreign"libinput_device_config_3fg_drag_get_finger_count"@@t@->returningint)elseNoneletenabled=Setting.make"libinput_device_config_3fg_drag_%s_enabled"T.Config.three_finger_drag_state~unless:(supported,`Disabled)endmoduleCalibration_matrix=structtypematrix=(float*float*float)*(float*float*float)letc_matrix=ptrfloatletmatrix:matrixtyp=viewc_matrix~read:(funx->letgeti=!@(x+@i)in(get0,get1,get2),(get3,get4,get5))~write:(fun((a,b,c),(d,e,f))->(CArray.of_listfloat[a;b;c;d;e;f]).astart)letcreate_matrix()=allocate_nfloat~count:6letmatrix_of_ptrx=Ctypes.(coerce(ptrfloat))matrixxletis_supported=foreign"libinput_device_config_calibration_has_matrix"@@t@->returningbool_intletset=foreign"libinput_device_config_calibration_set_matrix"@@t@->matrix@->returningT.Config.statusletget=foreign"libinput_device_config_calibration_get_matrix"@@t@->c_matrix@->returningbool_intletget_default=foreign"libinput_device_config_calibration_get_default_matrix"@@t@->c_matrix@->returningbool_intendmoduleArea=structmoduleA=T.Config.Area_rectangleletname=Printf.sprintf"libinput_device_config_area_%s_rectangle"lethas_rectangle=foreign_opt~requires:(1,26)(name"has")@@t@->returningbool_intletset_rectangle=foreign_opt~requires:(1,26)(name"set")@@t@->ptrA.t@->returningT.Config.statusletget_rectangle=foreign_opt~requires:(1,26)(name"get")@@t@->returningA.tletget_default_rectangle=foreign_opt~requires:(1,26)(name"get_default")@@t@->returningA.tendmoduleSend_events=structletget_modes=foreign"libinput_device_config_send_events_get_modes"@@t@->returningT.Config.Send_events_mode.tletmode=Setting.make"libinput_device_config_send_events_%s_mode"T.Config.Send_events_mode.tendmoduleAccel=structletis_available=foreign"libinput_device_config_accel_is_available"@@t@->returningbool_intletspeed=Setting.make"libinput_device_config_accel_%s_speed"doubletypecustom={accel_create:(Unsigned.uint32->T.Config.Accel.tCtypes.ptroptionreturn)F.result;accel_destroy:(T.Config.Accel.tCtypes.ptr->unitreturn)F.result;accel_apply:(t->T.Config.Accel.tCtypes.ptr->T.Config.statusreturn)F.result;accel_set_points:(T.Config.Accel.tCtypes.ptr->T.Config.accel_type->float->PosixTypes.size_t->floatCtypes.ptr->T.Config.statusreturn)F.result;}letcustom=T.Config.Accel.t|>Option.map(funaccel->{accel_create=foreign"libinput_config_accel_create"@@T.Config.Accel_profile.t@->returning(ptr_optaccel);accel_destroy=foreign"libinput_config_accel_destroy"@@ptraccel@->returningvoid;accel_apply=foreign"libinput_device_config_accel_apply"@@t@->ptraccel@->returningT.Config.status;accel_set_points=foreign"libinput_config_accel_set_points"@@ptraccel@->T.Config.accel_type@->double@->size_t@->ptrdouble@->returningT.Config.status;})letaccel_get_profiles=foreign"libinput_device_config_accel_get_profiles"@@t@->returningT.Config.Accel_profile.tletprofile=Setting.make"libinput_device_config_accel_%s_profile"T.Config.Accel_profile.tendmoduleScoll=structlethas_natural_scroll=foreign"libinput_device_config_scroll_has_natural_scroll"@@t@->returningbool_intletscroll_enabled=Setting.make"libinput_device_config_scroll_%s_natural_scroll_enabled"bool_intendmoduleLeft_handled=structletis_available=foreign"libinput_device_config_left_handed_is_available"@@t@->returningbool_intletenabled=Setting.make"libinput_device_config_left_handed_%s"bool_intendmoduleClick=structletget_methods=foreign"libinput_device_config_click_get_methods"@@t@->returningT.Config.Click_method.tletmeth=Setting.make"libinput_device_config_click_%s_method"T.Config.Click_method.tletclickfinger_button_map=Setting.make"libinput_device_config_click_%s_clickfinger_button_map"T.Config.clickfinger_button_map~unless:(Config.version>=(1,26),`LRM)endmoduleMiddle_emulation=structletis_available=foreign"libinput_device_config_middle_emulation_is_available"@@t@->returningbool_intletenabled=Setting.make"libinput_device_config_middle_emulation_%s_enabled"bool_intendmoduleScroll=structletget_methods=foreign"libinput_device_config_scroll_get_methods"@@t@->returningT.Config.Scroll_method.tletmeth=Setting.make"libinput_device_config_scroll_%s_method"T.Config.Scroll_method.tletbutton=Setting.make"libinput_device_config_scroll_%s_button"keycodeletbutton_lock=Setting.make"libinput_device_config_scroll_%s_button_lock"T.Config.scroll_button_lock_stateendmoduleDwt=structletis_available=foreign"libinput_device_config_dwt_is_available"@@t@->returningbool_intletenabled=Setting.make"libinput_device_config_dwt_%s_enabled"T.Config.dwt_stateendmoduleDwtp=structletis_available=foreign_opt~requires:(1,21)"libinput_device_config_dwtp_is_available"@@t@->returningbool_intletenabled=matchT.Config.dwtp_statewith|Somet->Setting.make"libinput_device_config_dwtp_%s_enabled"t|None->Unsupported`DisabledendmoduleRotation=structletis_available=foreign"libinput_device_config_rotation_is_available"@@t@->returningbool_intletangle=Setting.make"libinput_device_config_rotation_%s_angle"intendendendmoduleSeat=structtypet=T.Seat.tCtypes.ptrlett=ptrT.Seat.tletref=foreign"libinput_seat_ref"@@t@->returning_ignoredtletunref=foreign"libinput_seat_unref"@@t@->returning_ignored(ptr_optT.Seat.t)letget_physical_name=foreign"libinput_seat_get_physical_name"@@t@->returningstringletget_logical_name=foreign"libinput_seat_get_logical_name"@@t@->returningstringendmoduleTool=structtypet=T.Tool.tptrlett=ptrT.Tool.tletref=foreign"libinput_tablet_tool_ref"@@t@->returning_ignoredtletunref=foreign"libinput_tablet_tool_unref"@@t@->returning_ignored(ptr_optT.Tool.t)letget_type=foreign"libinput_tablet_tool_get_type"@@t@->returningT.Tool_type.tletget_tool_id=foreign"libinput_tablet_tool_get_tool_id"@@t@->returninguint64_tlethas_pressure=foreign"libinput_tablet_tool_has_pressure"@@t@->returningbool_intlethas_distance=foreign"libinput_tablet_tool_has_distance"@@t@->returningbool_intlethas_tilt=foreign"libinput_tablet_tool_has_tilt"@@t@->returningbool_intlethas_rotation=foreign"libinput_tablet_tool_has_rotation"@@t@->returningbool_intlethas_slider=foreign"libinput_tablet_tool_has_slider"@@t@->returningbool_intlethas_size=foreign"libinput_tablet_tool_has_size"@@t@->returningbool_intlethas_wheel=foreign"libinput_tablet_tool_has_wheel"@@t@->returningbool_intlethas_button=foreign"libinput_tablet_tool_has_button"@@t@->int_uint32@->returningbool_intletis_unique=foreign"libinput_tablet_tool_is_unique"@@t@->returningbool_intletget_serial=foreign"libinput_tablet_tool_get_serial"@@t@->returninguint64_tmoduleConfig=structmoduleSetting=structtypenonrec'at=|Unsupportedof'a|Settingof{set:(t->'a->T.Config.statusreturn)F.result;get:(t->'areturn)F.result;get_default:(t->'areturn)F.result;}letmake?unlesspatternty=matchunlesswith|Some(false,default)->Unsupporteddefault|_->letnamex=Printf.sprintfpatternxinletset=foreign(name"set")@@t@->ty@->returningT.Config.statusinletget=foreign(name"get")@@t@->returningtyinletget_default=foreign(name"get_default")@@t@->returningtyinSetting{set;get;get_default}endmodulePressure_range=structletis_available=foreign_opt~requires:(1,26)"libinput_tablet_tool_config_pressure_range_is_available"@@t@->returningbool_intletset=foreign_opt~requires:(1,26)"libinput_tablet_tool_config_pressure_range_set"@@t@->double@->double@->returningT.Config.statusletget_minimum=foreign_opt~requires:(1,26)"libinput_tablet_tool_config_pressure_range_get_minimum"@@t@->returningdoubleletget_maximum=foreign_opt~requires:(1,26)"libinput_tablet_tool_config_pressure_range_get_maximum"@@t@->returningdoubleletget_default_minimum=foreign_opt~requires:(1,26)"libinput_tablet_tool_config_pressure_range_get_default_minimum"@@t@->returningdoubleletget_default_maximum=foreign_opt~requires:(1,26)"libinput_tablet_tool_config_pressure_range_get_default_maximum"@@t@->returningdoubleendmoduleEraser_button=structletsupported=T.Eraser_button_mode.supportedletget_modes=ifsupportedthenSome(foreign"libinput_tablet_tool_config_eraser_button_get_modes"@@t@->returningbool_uint32)elseNoneletmode=Setting.make"libinput_tablet_tool_config_eraser_button_%s_mode"T.Eraser_button_mode.t~unless:(supported,T.Eraser_button_mode.Default)letbutton=Setting.make"libinput_tablet_tool_config_eraser_button_%s_button"int_uint32~unless:(supported,0)endendendmoduleMode_group=structtypet=T.Mode_group.tptrlett=ptrT.Mode_group.tletref=foreign"libinput_tablet_pad_mode_group_ref"@@t@->returning_ignoredtletunref=foreign"libinput_tablet_pad_mode_group_unref"@@t@->returning_ignored(ptr_optT.Mode_group.t)letget_index=foreign"libinput_tablet_pad_mode_group_get_index"@@t@->returningint_uintletget_num_modes=foreign"libinput_tablet_pad_mode_group_get_num_modes"@@t@->returningint_uintletget_mode=foreign"libinput_tablet_pad_mode_group_get_mode"@@t@->returningint_uintlethas_button=foreign"libinput_tablet_pad_mode_group_has_button"@@t@->int_uint@->returningbool_intlethas_dial=foreign_opt~requires:(1,26)"libinput_tablet_pad_mode_group_has_dial"@@t@->int_uint@->returningbool_intlethas_ring=foreign"libinput_tablet_pad_mode_group_has_ring"@@t@->int_uint@->returningbool_intlethas_strip=foreign"libinput_tablet_pad_mode_group_has_strip"@@t@->int_uint@->returningbool_intletbutton_is_toggle=foreign"libinput_tablet_pad_mode_group_button_is_toggle"@@t@->int_uint@->returningbool_intendmoduleEvent=structtypet=T.Event.tptrlett=ptrT.Event.tletget_type=foreign"libinput_event_get_type"@@t@->returningT.Event.Type.tletget_context=foreign"libinput_event_get_context"@@t@->returning(ptrT.Libinput.t)letget_device=foreign"libinput_event_get_device"@@t@->returning(ptrT.Device.t)letdestroy=foreign"libinput_event_destroy"@@t@->returningvoidmoduleKeyboard=structletget_event=foreign"libinput_event_get_keyboard_event"@@t@->returning(ptr_optT.Event.Keyboard.t)lett=ptrT.Event.Keyboard.tletget_time_usec=foreign"libinput_event_keyboard_get_time_usec"@@t@->returningtime_usecletget_key=foreign"libinput_event_keyboard_get_key"@@t@->returningkeycodeletget_key_state=foreign"libinput_event_keyboard_get_key_state"@@t@->returningT.key_stateletget_seat_key_count=foreign"libinput_event_keyboard_get_seat_key_count"@@t@->returningint_uint32endmodulePointer=structletget_event=foreign"libinput_event_get_pointer_event"@@t@->returning(ptr_optT.Event.Pointer.t)lett=ptrT.Event.Pointer.tletget_time_usec=foreign"libinput_event_pointer_get_time_usec"@@t@->returningtime_usecletget_dx=foreign"libinput_event_pointer_get_dx"@@t@->returningdoubleletget_dy=foreign"libinput_event_pointer_get_dy"@@t@->returningdoubleletget_dx_unaccelerated=foreign"libinput_event_pointer_get_dx_unaccelerated"@@t@->returningdoubleletget_dy_unaccelerated=foreign"libinput_event_pointer_get_dy_unaccelerated"@@t@->returningdoubleletget_absolute_x=foreign"libinput_event_pointer_get_absolute_x"@@t@->returningdoubleletget_absolute_y=foreign"libinput_event_pointer_get_absolute_y"@@t@->returningdoubleletget_absolute_x_transformed=foreign"libinput_event_pointer_get_absolute_x_transformed"@@t@->int_uint32@->returningdoubleletget_absolute_y_transformed=foreign"libinput_event_pointer_get_absolute_y_transformed"@@t@->int_uint32@->returningdoubleletget_button=foreign"libinput_event_pointer_get_button"@@t@->returningkeycodeletget_button_state=foreign"libinput_event_pointer_get_button_state"@@t@->returningT.button_stateletget_seat_button_count=foreign"libinput_event_pointer_get_seat_button_count"@@t@->returningint_uint32lethas_axis=foreign"libinput_event_pointer_has_axis"@@t@->T.axis@->returningintletget_scroll_value=foreign"libinput_event_pointer_get_scroll_value"@@t@->T.axis@->returningdoubleletget_scroll_value_v120=foreign"libinput_event_pointer_get_scroll_value_v120"@@t@->T.axis@->returningdoubleendmoduleTouch=structletget_event=foreign"libinput_event_get_touch_event"@@t@->returning(ptr_optT.Event.Touch.t)lett=ptrT.Event.Touch.tletget_time_usec=foreign"libinput_event_touch_get_time_usec"@@t@->returningtime_usecletget_slot=foreign"libinput_event_touch_get_slot"@@t@->returningint_int32letget_seat_slot=foreign"libinput_event_touch_get_seat_slot"@@t@->returningint_int32letget_x=foreign"libinput_event_touch_get_x"@@t@->returningdoubleletget_y=foreign"libinput_event_touch_get_y"@@t@->returningdoubleletget_x_transformed=foreign"libinput_event_touch_get_x_transformed"@@t@->int_uint32@->returningdoubleletget_y_transformed=foreign"libinput_event_touch_get_y_transformed"@@t@->int_uint32@->returningdoubleendmoduleTablet_tool=structletget_event=foreign"libinput_event_get_tablet_tool_event"@@t@->returning(ptr_optT.Event.Tablet_tool.t)lett=ptrT.Event.Tablet_tool.tletget_time_usec=foreign"libinput_event_tablet_tool_get_time_usec"@@t@->returningtime_usecletx_has_changed=foreign"libinput_event_tablet_tool_x_has_changed"@@t@->returningbool_intlety_has_changed=foreign"libinput_event_tablet_tool_y_has_changed"@@t@->returningbool_intletpressure_has_changed=foreign"libinput_event_tablet_tool_pressure_has_changed"@@t@->returningbool_intletdistance_has_changed=foreign"libinput_event_tablet_tool_distance_has_changed"@@t@->returningbool_intlettilt_x_has_changed=foreign"libinput_event_tablet_tool_tilt_x_has_changed"@@t@->returningbool_intlettilt_y_has_changed=foreign"libinput_event_tablet_tool_tilt_y_has_changed"@@t@->returningbool_intletrotation_has_changed=foreign"libinput_event_tablet_tool_rotation_has_changed"@@t@->returningbool_intletslider_has_changed=foreign"libinput_event_tablet_tool_slider_has_changed"@@t@->returningbool_intletsize_major_has_changed=foreign"libinput_event_tablet_tool_size_major_has_changed"@@t@->returningbool_intletsize_minor_has_changed=foreign"libinput_event_tablet_tool_size_minor_has_changed"@@t@->returningbool_intletwheel_has_changed=foreign"libinput_event_tablet_tool_wheel_has_changed"@@t@->returningbool_intletget_x=foreign"libinput_event_tablet_tool_get_x"@@t@->returningdoubleletget_y=foreign"libinput_event_tablet_tool_get_y"@@t@->returningdoubleletget_dx=foreign"libinput_event_tablet_tool_get_dx"@@t@->returningdoubleletget_dy=foreign"libinput_event_tablet_tool_get_dy"@@t@->returningdoubleletget_pressure=foreign"libinput_event_tablet_tool_get_pressure"@@t@->returningdoubleletget_distance=foreign"libinput_event_tablet_tool_get_distance"@@t@->returningdoubleletget_tilt_x=foreign"libinput_event_tablet_tool_get_tilt_x"@@t@->returningdoubleletget_tilt_y=foreign"libinput_event_tablet_tool_get_tilt_y"@@t@->returningdoubleletget_rotation=foreign"libinput_event_tablet_tool_get_rotation"@@t@->returningdoubleletget_slider_position=foreign"libinput_event_tablet_tool_get_slider_position"@@t@->returningdoubleletget_size_major=foreign"libinput_event_tablet_tool_get_size_major"@@t@->returningdoubleletget_size_minor=foreign"libinput_event_tablet_tool_get_size_minor"@@t@->returningdoubleletget_wheel_delta=foreign"libinput_event_tablet_tool_get_wheel_delta"@@t@->returningdoubleletget_wheel_delta_discrete=foreign"libinput_event_tablet_tool_get_wheel_delta_discrete"@@t@->returningintletget_x_transformed=foreign"libinput_event_tablet_tool_get_x_transformed"@@t@->int_uint32@->returningdoubleletget_y_transformed=foreign"libinput_event_tablet_tool_get_y_transformed"@@t@->int_uint32@->returningdoubleletget_tool=foreign"libinput_event_tablet_tool_get_tool"@@t@->returning(ptrT.Tool.t)letget_proximity_state=foreign"libinput_event_tablet_tool_get_proximity_state"@@t@->returningT.proximity_stateletget_tip_state=foreign"libinput_event_tablet_tool_get_tip_state"@@t@->returningT.tip_stateletget_button=foreign"libinput_event_tablet_tool_get_button"@@t@->returningint_uint32letget_button_state=foreign"libinput_event_tablet_tool_get_button_state"@@t@->returningT.button_stateletget_seat_button_count=foreign"libinput_event_tablet_tool_get_seat_button_count"@@t@->returningint_uint32endmoduleTablet_pad=structletget_event=foreign"libinput_event_get_tablet_pad_event"@@t@->returning(ptr_optT.Event.Tablet_pad.t)lett=ptrT.Event.Tablet_pad.tletget_time_usec=foreign"libinput_event_tablet_pad_get_time_usec"@@t@->returningtime_usecletget_ring_position=foreign"libinput_event_tablet_pad_get_ring_position"@@t@->returningdoubleletget_ring_number=foreign"libinput_event_tablet_pad_get_ring_number"@@t@->returningint_uintletget_ring_source=foreign"libinput_event_tablet_pad_get_ring_source"@@t@->returningT.ring_axis_sourceletget_strip_position=foreign"libinput_event_tablet_pad_get_strip_position"@@t@->returningdoubleletget_strip_number=foreign"libinput_event_tablet_pad_get_strip_number"@@t@->returningint_uintletget_strip_source=foreign"libinput_event_tablet_pad_get_strip_source"@@t@->returningT.strip_axis_sourceletget_button_number=foreign"libinput_event_tablet_pad_get_button_number"@@t@->returningint_uint32letget_button_state=foreign"libinput_event_tablet_pad_get_button_state"@@t@->returningT.button_stateletget_key=foreign"libinput_event_tablet_pad_get_key"@@t@->returningkeycodeletget_key_state=foreign"libinput_event_tablet_pad_get_key_state"@@t@->returningT.key_stateletget_dial_delta_v120=foreign_opt~requires:(1,26)"libinput_event_tablet_pad_get_dial_delta_v120"@@t@->returningdoubleletget_dial_number=foreign_opt~requires:(1,26)"libinput_event_tablet_pad_get_dial_number"@@t@->returningint_uintletget_mode=foreign"libinput_event_tablet_pad_get_mode"@@t@->returningint_uintletget_mode_group=foreign"libinput_event_tablet_pad_get_mode_group"@@t@->returning(ptrT.Mode_group.t)endmoduleGesture=structletget_event=foreign"libinput_event_get_gesture_event"@@t@->returning(ptr_optT.Event.Gesture.t)lett=ptrT.Event.Gesture.tletget_time_usec=foreign"libinput_event_gesture_get_time_usec"@@t@->returningtime_usecletget_finger_count=foreign"libinput_event_gesture_get_finger_count"@@t@->returningintletget_cancelled=foreign"libinput_event_gesture_get_cancelled"@@t@->returningbool_intletget_dx=foreign"libinput_event_gesture_get_dx"@@t@->returningdoubleletget_dy=foreign"libinput_event_gesture_get_dy"@@t@->returningdoubleletget_dx_unaccelerated=foreign"libinput_event_gesture_get_dx_unaccelerated"@@t@->returningdoubleletget_dy_unaccelerated=foreign"libinput_event_gesture_get_dy_unaccelerated"@@t@->returningdoubleletget_scale=foreign"libinput_event_gesture_get_scale"@@t@->returningdoubleletget_angle_delta=foreign"libinput_event_gesture_get_angle_delta"@@t@->returningdoubleendmoduleSwitch=structletget_event=foreign"libinput_event_get_switch_event"@@t@->returning(ptr_optT.Event.Switch.t)lett=ptrT.Event.Switch.tletget_time_usec=foreign"libinput_event_switch_get_time_usec"@@t@->returningtime_usecletget_switch=foreign"libinput_event_switch_get_switch"@@t@->returningT.Switch.tletget_switch_state=foreign"libinput_event_switch_get_switch_state"@@t@->returningT.switch_stateendendletget_event=foreign"libinput_get_event"@@ptrT.Libinput.t@->returning(ptr_optT.Event.t)letget_fd=foreign"libinput_get_fd"@@ptrT.Libinput.t@->returningT.fdletsuspend=foreign"libinput_suspend"@@ptrT.Libinput.t@->returningvoidletresume=foreign"libinput_resume"@@ptrT.Libinput.t@->returningbool_intmoduleConfig=structletstatus_to_str=foreign"libinput_config_status_to_str"@@T.Config.status@->returningstringendend