1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717(* This file was generated automatically by wayland-scanner-ocaml *)[@@@ocaml.warning"-27-34"]openstructmoduleImports=structincludeRiver_libinput_config_v1_protoincludeRiver_input_management_v1_protoendmoduleProxy=Wayland.ProxymoduleMsg=Wayland.MsgmoduleFixed=Wayland.FixedmoduleIface_reg=Wayland.Iface_regmoduleS=Wayland.Send(** Libinput config global interface.
Global interface for configuring libinput devices. This global should
only be advertised if river_input_manager_v1 is advertised as well. *)moduleRiver_libinput_config_v1=structtype'vt=([`River_libinput_config_v1],'v,[`Client])Proxy.tmoduleError=River_libinput_config_v1_proto.River_libinput_config_v1.Error(** {2 Version 1, 2} *)(** Create a acceleration config.
Create a acceleration config which can be applied
with river_libinput_device_v1.apply_accel_config. *)letcreate_accel_config(_t:([<`V1|`V2]as'v)t)(id:([`River_libinput_accel_config_v1],'v,[`Client])#Proxy.Handler.t)~profile=let__id=Proxy.spawn_tidinlet_msg=Proxy.alloc_t~op:2~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__id);Msg.add_int_msg(Imports.River_libinput_device_v1.Accel_profile.to_int32profile);Proxy.send_t_msg;__id(** Destroy the river_libinput_config_v1 object.
This request should be called after the finished event has been received
to complete destruction of the object.
It is a protocol error to make this request before the finished event
has been received.
If a client wishes to destroy this object it should send a
river_libinput_config_v1.stop request and wait for a
river_libinput_config_v1.finished event. Once the finished event is
received it is safe to destroy this object and any other objects created
through this interface. *)letdestroy(_t:([<`V1|`V2]as'v)t)=let_msg=Proxy.alloc_t~op:1~ints:0~strings:[]~arrays:[]inProxy.send_t_msg;Proxy.shutdown_send_t(** Stop sending events.
This request indicates that the client no longer wishes to receive
events on this object.
The Wayland protocol is asynchronous, which means the server may send
further events until the stop request is processed. The client must wait
for a river_libinput_config_v1.finished event before destroying this
object. *)letstop(_t:([<`V1|`V2]as'v)t)=let_msg=Proxy.alloc_t~op:0~ints:0~strings:[]~arrays:[]inProxy.send_t_msg(**/**)classvirtual['v]_handlers_unsafe=object(_self:(_,'v,_)#Proxy.Handler.t)methoduser_data=S.No_datamethodmetadata=(moduleRiver_libinput_config_v1_proto.River_libinput_config_v1)methodmax_version=2lmethodprivatevirtualon_finished:[>]t->unitmethodprivatevirtualon_libinput_device:[>]t->([`River_libinput_device_v1],'v,[`Client])Proxy.t->unitmethoddispatch(_proxy:'vt)_msg=let_proxy=Proxy.cast_version_proxyinmatchMsg.op_msgwith|0->_self#on_finished_proxy|1->letid:([`River_libinput_device_v1],_,_)Proxy.t=Msg.get_int_msg|>Proxy.Handler.accept_new_proxy(moduleImports.River_libinput_device_v1)in_self#on_libinput_device_proxyid|_->assertfalseend(**/**)(** {2 Handlers}
Note: Servers will always want to use [v1].
*)(** Handler for a proxy with version >= 1. *)classvirtual['v]v1=object(_:(_,'v,_)#Proxy.Service_handler.t)(**/**)inherit[[<`V1|`V2]as'v]_handlers_unsafe(**/**)methodprivatevirtualon_finished:[>`V1|`V2]t->unit(** The server has finished with the object.
This event indicates that the server will send no further events on this
object. The client should destroy the object. See
river_libinput_config_v1.destroy for more information. *)methodprivatevirtualon_libinput_device:[>`V1|`V2]t->([`River_libinput_device_v1],'v,[`Client])Proxy.t->unit(** New libinput device.
A new libinput device has been created. Not every river_input_device_v1
is necessarily a libinput device as well. *)methodmin_version=1lmethodbind_version:[`V1]=`V1end(** Handler for a proxy with version >= 2. *)classvirtual['v]v2=object(_:(_,'v,_)#Proxy.Service_handler.t)(**/**)inherit[[<`V2]as'v]_handlers_unsafe(**/**)methodprivatevirtualon_finished:[>`V2]t->unit(** The server has finished with the object.
This event indicates that the server will send no further events on this
object. The client should destroy the object. See
river_libinput_config_v1.destroy for more information. *)methodprivatevirtualon_libinput_device:[>`V2]t->([`River_libinput_device_v1],'v,[`Client])Proxy.t->unit(** New libinput device.
A new libinput device has been created. Not every river_input_device_v1
is necessarily a libinput device as well. *)methodmin_version=2lmethodbind_version:[`V2]=`V2endend(** A libinput device.
In general, *_support events will be sent exactly once directly after the
river_libinput_device_v1 is created. *_default events will be sent after
*_support events if the config option is supported, and *_current events
willl be sent after the *_default events and again whenever the config
option is changed. *)moduleRiver_libinput_device_v1=structtype'vt=([`River_libinput_device_v1],'v,[`Client])Proxy.tmoduleError=River_libinput_config_v1_proto.River_libinput_device_v1.ErrormoduleSend_events_modes=River_libinput_config_v1_proto.River_libinput_device_v1.Send_events_modesmoduleTap_state=River_libinput_config_v1_proto.River_libinput_device_v1.Tap_statemoduleTap_button_map=River_libinput_config_v1_proto.River_libinput_device_v1.Tap_button_mapmoduleDrag_state=River_libinput_config_v1_proto.River_libinput_device_v1.Drag_statemoduleDrag_lock_state=River_libinput_config_v1_proto.River_libinput_device_v1.Drag_lock_statemoduleThree_finger_drag_state=River_libinput_config_v1_proto.River_libinput_device_v1.Three_finger_drag_statemoduleAccel_profile=River_libinput_config_v1_proto.River_libinput_device_v1.Accel_profilemoduleAccel_profiles=River_libinput_config_v1_proto.River_libinput_device_v1.Accel_profilesmoduleNatural_scroll_state=River_libinput_config_v1_proto.River_libinput_device_v1.Natural_scroll_statemoduleLeft_handed_state=River_libinput_config_v1_proto.River_libinput_device_v1.Left_handed_statemoduleClick_method=River_libinput_config_v1_proto.River_libinput_device_v1.Click_methodmoduleClick_methods=River_libinput_config_v1_proto.River_libinput_device_v1.Click_methodsmoduleClickfinger_button_map=River_libinput_config_v1_proto.River_libinput_device_v1.Clickfinger_button_mapmoduleMiddle_emulation_state=River_libinput_config_v1_proto.River_libinput_device_v1.Middle_emulation_statemoduleScroll_method=River_libinput_config_v1_proto.River_libinput_device_v1.Scroll_methodmoduleScroll_methods=River_libinput_config_v1_proto.River_libinput_device_v1.Scroll_methodsmoduleScroll_button_lock_state=River_libinput_config_v1_proto.River_libinput_device_v1.Scroll_button_lock_statemoduleDwt_state=River_libinput_config_v1_proto.River_libinput_device_v1.Dwt_statemoduleDwtp_state=River_libinput_config_v1_proto.River_libinput_device_v1.Dwtp_state(** {2 Version 1} *)(** Set rotation angle.
Set rotation angle in degrees clockwise off the logical neutral
position. Angle must be in the range [0-360). *)letset_rotation(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~angle=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:21~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msgangle;Proxy.send_t_msg;__result(** Set disable-while-trackpointing state.
Set disable-while-trackpointing state. *)letset_dwtp(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:20~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Dwtp_state.to_int32state);Proxy.send_t_msg;__result(** Set disable-while-typing state.
Set disable-while-typing state. *)letset_dwt(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:19~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Dwt_state.to_int32state);Proxy.send_t_msg;__result(** Set scroll button lock state.
Set scroll button lock state.
Supported if scroll_methods.on_button_down is supported. *)letset_scroll_button_lock(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:18~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Scroll_button_lock_state.to_int32state);Proxy.send_t_msg;__result(** Set scroll button.
Set scroll button.
Supported if scroll_methods.on_button_down is supported. *)letset_scroll_button(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~button=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:17~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msgbutton;Proxy.send_t_msg;__result(** Set scroll method.
Set scroll method. *)letset_scroll_method(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~method_=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:16~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Scroll_method.to_int32method_);Proxy.send_t_msg;__result(** Set middle mouse button emulation state.
Set middle mouse button emulation state. *)letset_middle_emulation(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:15~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Middle_emulation_state.to_int32state);Proxy.send_t_msg;__result(** Set clickfinger button map.
Set clickfinger button map.
Supported if click_methods.clickfinger is supported. *)letset_clickfinger_button_map(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~button_map=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:14~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Clickfinger_button_map.to_int32button_map);Proxy.send_t_msg;__result(** Set click method.
Set click method. *)letset_click_method(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~method_=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:13~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Click_method.to_int32method_);Proxy.send_t_msg;__result(** Set left-handed mode state.
Set left-handed mode state. *)letset_left_handed(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:12~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Left_handed_state.to_int32state);Proxy.send_t_msg;__result(** Set natural scroll state.
Set natural scroll state. *)letset_natural_scroll(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:11~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Natural_scroll_state.to_int32state);Proxy.send_t_msg;__result(** Apply acceleration config.
Apply a pointer accleration config. *)letapply_accel_config(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~(config:([`River_libinput_accel_config_v1],_,[`Client])Proxy.t)=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:10~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Proxy.idconfig);Proxy.send_t_msg;__result(** Set acceleration speed.
Set the acceleration speed within a range of [-1, 1], where 0 is
the default acceleration for this device, -1 is the slowest acceleration
and 1 is the maximum acceleration available on this device. *)letset_accel_speed(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~speed=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:9~ints:2~strings:[]~arrays:[speed]inMsg.add_int_msg(Proxy.id__result);Msg.add_array_msgspeed;Proxy.send_t_msg;__result(** Set acceleration profile.
Set the acceleration profile. *)letset_accel_profile(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~profile=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:8~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Accel_profile.to_int32profile);Proxy.send_t_msg;__result(** Set calibration matrix.
Set calibration matrix. *)letset_calibration_matrix(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~matrix=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:7~ints:2~strings:[]~arrays:[matrix]inMsg.add_int_msg(Proxy.id__result);Msg.add_array_msgmatrix;Proxy.send_t_msg;__result(** Set three finger drag state.
Configure three finger drag functionality for the device. *)letset_three_finger_drag(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:6~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Three_finger_drag_state.to_int32state);Proxy.send_t_msg;__result(** Set drag lock state.
Configure drag-lock during tapping on this device. When enabled, a
finger may be lifted and put back on the touchpad and the drag process
continues. A timeout for lifting the finger is optional. When disabled,
lifting the finger during a tap-and-drag will immediately stop the drag.
See the libinput documentation for more details. *)letset_drag_lock(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:5~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Drag_lock_state.to_int32state);Proxy.send_t_msg;__result(** Set tap-and-drag state.
Configure tap-and-drag functionality on the device. *)letset_drag(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:4~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Drag_state.to_int32state);Proxy.send_t_msg;__result(** Set tap-to-click button map.
Set the finger number to button number mapping for tap-to-click. The
default mapping on most devices is to have a 1, 2 and 3 finger tap to
map to the left, right and middle button, respectively. *)letset_tap_button_map(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~button_map=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:3~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Tap_button_map.to_int32button_map);Proxy.send_t_msg;__result(** Enable/disable tap-to-click.
Configure tap-to-click on this device, with a default mapping of
1, 2, 3 finger tap mapping to left, right, middle click, respectively. *)letset_tap(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~state=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:2~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Tap_state.to_int32state);Proxy.send_t_msg;__result(** Set send events mode.
Set the send events mode for the device. *)letset_send_events(_t:([<`V1|`V2]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~mode=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:1~ints:2~strings:[]~arrays:[]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_device_v1.Send_events_modes.to_int32mode);Proxy.send_t_msg;__result(** Destroy the libinput device object.
This request indicates that the client will no longer use the input
device object and that it may be safely destroyed. *)letdestroy(_t:([<`V1|`V2]as'v)t)=let_msg=Proxy.alloc_t~op:0~ints:0~strings:[]~arrays:[]inProxy.send_t_msg;Proxy.shutdown_send_t(** {2 Version 2} *)(**/**)classvirtual['v]_handlers_unsafe=object(_self:(_,'v,_)#Proxy.Handler.t)methoduser_data=S.No_datamethodmetadata=(moduleRiver_libinput_config_v1_proto.River_libinput_device_v1)methodmax_version=2lmethodprivatevirtualon_removed:[>]t->unitmethodprivatevirtualon_input_device:[>]t->device:([`River_input_device_v1],[>Imports.River_input_device_v1.versions],[`Client])Proxy.t->unitmethodprivatevirtualon_send_events_support:[>]t->modes:Imports.River_libinput_device_v1.Send_events_modes.t->unitmethodprivatevirtualon_send_events_default:[>]t->mode:Imports.River_libinput_device_v1.Send_events_modes.t->unitmethodprivatevirtualon_send_events_current:[>]t->mode:Imports.River_libinput_device_v1.Send_events_modes.t->unitmethodprivatevirtualon_tap_support:[>]t->finger_count:int32->unitmethodprivatevirtualon_tap_default:[>]t->state:Imports.River_libinput_device_v1.Tap_state.t->unitmethodprivatevirtualon_tap_current:[>]t->state:Imports.River_libinput_device_v1.Tap_state.t->unitmethodprivatevirtualon_tap_button_map_default:[>]t->button_map:Imports.River_libinput_device_v1.Tap_button_map.t->unitmethodprivatevirtualon_tap_button_map_current:[>]t->button_map:Imports.River_libinput_device_v1.Tap_button_map.t->unitmethodprivatevirtualon_drag_default:[>]t->state:Imports.River_libinput_device_v1.Drag_state.t->unitmethodprivatevirtualon_drag_current:[>]t->state:Imports.River_libinput_device_v1.Drag_state.t->unitmethodprivatevirtualon_drag_lock_default:[>]t->state:Imports.River_libinput_device_v1.Drag_lock_state.t->unitmethodprivatevirtualon_drag_lock_current:[>]t->state:Imports.River_libinput_device_v1.Drag_lock_state.t->unitmethodprivatevirtualon_three_finger_drag_support:[>]t->finger_count:int32->unitmethodprivatevirtualon_three_finger_drag_default:[>]t->state:Imports.River_libinput_device_v1.Three_finger_drag_state.t->unitmethodprivatevirtualon_three_finger_drag_current:[>]t->state:Imports.River_libinput_device_v1.Three_finger_drag_state.t->unitmethodprivatevirtualon_calibration_matrix_support:[>]t->supported:int32->unitmethodprivatevirtualon_calibration_matrix_default:[>]t->matrix:string->unitmethodprivatevirtualon_calibration_matrix_current:[>]t->matrix:string->unitmethodprivatevirtualon_accel_profiles_support:[>]t->profiles:Imports.River_libinput_device_v1.Accel_profiles.t->unitmethodprivatevirtualon_accel_profile_default:[>]t->profile:Imports.River_libinput_device_v1.Accel_profile.t->unitmethodprivatevirtualon_accel_profile_current:[>]t->profile:Imports.River_libinput_device_v1.Accel_profile.t->unitmethodprivatevirtualon_accel_speed_default:[>]t->speed:string->unitmethodprivatevirtualon_accel_speed_current:[>]t->speed:string->unitmethodprivatevirtualon_natural_scroll_support:[>]t->supported:int32->unitmethodprivatevirtualon_natural_scroll_default:[>]t->state:Imports.River_libinput_device_v1.Natural_scroll_state.t->unitmethodprivatevirtualon_natural_scroll_current:[>]t->state:Imports.River_libinput_device_v1.Natural_scroll_state.t->unitmethodprivatevirtualon_left_handed_support:[>]t->supported:int32->unitmethodprivatevirtualon_left_handed_default:[>]t->state:Imports.River_libinput_device_v1.Left_handed_state.t->unitmethodprivatevirtualon_left_handed_current:[>]t->state:Imports.River_libinput_device_v1.Left_handed_state.t->unitmethodprivatevirtualon_click_method_support:[>]t->methods:Imports.River_libinput_device_v1.Click_methods.t->unitmethodprivatevirtualon_click_method_default:[>]t->method_:Imports.River_libinput_device_v1.Click_method.t->unitmethodprivatevirtualon_click_method_current:[>]t->method_:Imports.River_libinput_device_v1.Click_method.t->unitmethodprivatevirtualon_clickfinger_button_map_default:[>]t->button_map:Imports.River_libinput_device_v1.Clickfinger_button_map.t->unitmethodprivatevirtualon_clickfinger_button_map_current:[>]t->button_map:Imports.River_libinput_device_v1.Clickfinger_button_map.t->unitmethodprivatevirtualon_middle_emulation_support:[>]t->supported:int32->unitmethodprivatevirtualon_middle_emulation_default:[>]t->state:Imports.River_libinput_device_v1.Middle_emulation_state.t->unitmethodprivatevirtualon_middle_emulation_current:[>]t->state:Imports.River_libinput_device_v1.Middle_emulation_state.t->unitmethodprivatevirtualon_scroll_method_support:[>]t->methods:Imports.River_libinput_device_v1.Scroll_methods.t->unitmethodprivatevirtualon_scroll_method_default:[>]t->method_:Imports.River_libinput_device_v1.Scroll_method.t->unitmethodprivatevirtualon_scroll_method_current:[>]t->method_:Imports.River_libinput_device_v1.Scroll_method.t->unitmethodprivatevirtualon_scroll_button_default:[>]t->button:int32->unitmethodprivatevirtualon_scroll_button_current:[>]t->button:int32->unitmethodprivatevirtualon_scroll_button_lock_default:[>]t->state:Imports.River_libinput_device_v1.Scroll_button_lock_state.t->unitmethodprivatevirtualon_scroll_button_lock_current:[>]t->state:Imports.River_libinput_device_v1.Scroll_button_lock_state.t->unitmethodprivatevirtualon_dwt_support:[>]t->supported:int32->unitmethodprivatevirtualon_dwt_default:[>]t->state:Imports.River_libinput_device_v1.Dwt_state.t->unitmethodprivatevirtualon_dwt_current:[>]t->state:Imports.River_libinput_device_v1.Dwt_state.t->unitmethodprivatevirtualon_dwtp_support:[>]t->supported:int32->unitmethodprivatevirtualon_dwtp_default:[>]t->state:Imports.River_libinput_device_v1.Dwtp_state.t->unitmethodprivatevirtualon_dwtp_current:[>]t->state:Imports.River_libinput_device_v1.Dwtp_state.t->unitmethodprivatevirtualon_rotation_support:[>]t->supported:int32->unitmethodprivatevirtualon_rotation_default:[>]t->angle:int32->unitmethodprivatevirtualon_rotation_current:[>]t->angle:int32->unitmethodprivatevirtualon_done:[>]t->unitmethoddispatch(_proxy:'vt)_msg=let_proxy=Proxy.cast_version_proxyinmatchMsg.op_msgwith|0->_self#on_removed_proxy|1->letdevice:([`River_input_device_v1],_,_)Proxy.t=letProxy.Proxyp=Msg.get_int_msg|>Proxy.lookup_other_proxyinmatchProxy.typwith|Imports.River_input_device_v1.T->p|_->Proxy.wrong_type~parent:_proxy~expected:"river_input_device_v1"pin_self#on_input_device_proxy~device|2->letmodes=Msg.get_int_msg|>Imports.River_libinput_device_v1.Send_events_modes.of_int32in_self#on_send_events_support_proxy~modes|3->letmode=Msg.get_int_msg|>Imports.River_libinput_device_v1.Send_events_modes.of_int32in_self#on_send_events_default_proxy~mode|4->letmode=Msg.get_int_msg|>Imports.River_libinput_device_v1.Send_events_modes.of_int32in_self#on_send_events_current_proxy~mode|5->letfinger_count=Msg.get_int_msgin_self#on_tap_support_proxy~finger_count|6->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Tap_state.of_int32in_self#on_tap_default_proxy~state|7->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Tap_state.of_int32in_self#on_tap_current_proxy~state|8->letbutton_map=Msg.get_int_msg|>Imports.River_libinput_device_v1.Tap_button_map.of_int32in_self#on_tap_button_map_default_proxy~button_map|9->letbutton_map=Msg.get_int_msg|>Imports.River_libinput_device_v1.Tap_button_map.of_int32in_self#on_tap_button_map_current_proxy~button_map|10->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Drag_state.of_int32in_self#on_drag_default_proxy~state|11->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Drag_state.of_int32in_self#on_drag_current_proxy~state|12->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Drag_lock_state.of_int32in_self#on_drag_lock_default_proxy~state|13->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Drag_lock_state.of_int32in_self#on_drag_lock_current_proxy~state|14->letfinger_count=Msg.get_int_msgin_self#on_three_finger_drag_support_proxy~finger_count|15->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Three_finger_drag_state.of_int32in_self#on_three_finger_drag_default_proxy~state|16->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Three_finger_drag_state.of_int32in_self#on_three_finger_drag_current_proxy~state|17->letsupported=Msg.get_int_msgin_self#on_calibration_matrix_support_proxy~supported|18->letmatrix=Msg.get_array_msgin_self#on_calibration_matrix_default_proxy~matrix|19->letmatrix=Msg.get_array_msgin_self#on_calibration_matrix_current_proxy~matrix|20->letprofiles=Msg.get_int_msg|>Imports.River_libinput_device_v1.Accel_profiles.of_int32in_self#on_accel_profiles_support_proxy~profiles|21->letprofile=Msg.get_int_msg|>Imports.River_libinput_device_v1.Accel_profile.of_int32in_self#on_accel_profile_default_proxy~profile|22->letprofile=Msg.get_int_msg|>Imports.River_libinput_device_v1.Accel_profile.of_int32in_self#on_accel_profile_current_proxy~profile|23->letspeed=Msg.get_array_msgin_self#on_accel_speed_default_proxy~speed|24->letspeed=Msg.get_array_msgin_self#on_accel_speed_current_proxy~speed|25->letsupported=Msg.get_int_msgin_self#on_natural_scroll_support_proxy~supported|26->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Natural_scroll_state.of_int32in_self#on_natural_scroll_default_proxy~state|27->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Natural_scroll_state.of_int32in_self#on_natural_scroll_current_proxy~state|28->letsupported=Msg.get_int_msgin_self#on_left_handed_support_proxy~supported|29->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Left_handed_state.of_int32in_self#on_left_handed_default_proxy~state|30->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Left_handed_state.of_int32in_self#on_left_handed_current_proxy~state|31->letmethods=Msg.get_int_msg|>Imports.River_libinput_device_v1.Click_methods.of_int32in_self#on_click_method_support_proxy~methods|32->letmethod_=Msg.get_int_msg|>Imports.River_libinput_device_v1.Click_method.of_int32in_self#on_click_method_default_proxy~method_|33->letmethod_=Msg.get_int_msg|>Imports.River_libinput_device_v1.Click_method.of_int32in_self#on_click_method_current_proxy~method_|34->letbutton_map=Msg.get_int_msg|>Imports.River_libinput_device_v1.Clickfinger_button_map.of_int32in_self#on_clickfinger_button_map_default_proxy~button_map|35->letbutton_map=Msg.get_int_msg|>Imports.River_libinput_device_v1.Clickfinger_button_map.of_int32in_self#on_clickfinger_button_map_current_proxy~button_map|36->letsupported=Msg.get_int_msgin_self#on_middle_emulation_support_proxy~supported|37->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Middle_emulation_state.of_int32in_self#on_middle_emulation_default_proxy~state|38->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Middle_emulation_state.of_int32in_self#on_middle_emulation_current_proxy~state|39->letmethods=Msg.get_int_msg|>Imports.River_libinput_device_v1.Scroll_methods.of_int32in_self#on_scroll_method_support_proxy~methods|40->letmethod_=Msg.get_int_msg|>Imports.River_libinput_device_v1.Scroll_method.of_int32in_self#on_scroll_method_default_proxy~method_|41->letmethod_=Msg.get_int_msg|>Imports.River_libinput_device_v1.Scroll_method.of_int32in_self#on_scroll_method_current_proxy~method_|42->letbutton=Msg.get_int_msgin_self#on_scroll_button_default_proxy~button|43->letbutton=Msg.get_int_msgin_self#on_scroll_button_current_proxy~button|44->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Scroll_button_lock_state.of_int32in_self#on_scroll_button_lock_default_proxy~state|45->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Scroll_button_lock_state.of_int32in_self#on_scroll_button_lock_current_proxy~state|46->letsupported=Msg.get_int_msgin_self#on_dwt_support_proxy~supported|47->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Dwt_state.of_int32in_self#on_dwt_default_proxy~state|48->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Dwt_state.of_int32in_self#on_dwt_current_proxy~state|49->letsupported=Msg.get_int_msgin_self#on_dwtp_support_proxy~supported|50->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Dwtp_state.of_int32in_self#on_dwtp_default_proxy~state|51->letstate=Msg.get_int_msg|>Imports.River_libinput_device_v1.Dwtp_state.of_int32in_self#on_dwtp_current_proxy~state|52->letsupported=Msg.get_int_msgin_self#on_rotation_support_proxy~supported|53->letangle=Msg.get_int_msgin_self#on_rotation_default_proxy~angle|54->letangle=Msg.get_int_msgin_self#on_rotation_current_proxy~angle|55->_self#on_done_proxy|_->assertfalseend(**/**)(** {2 Handlers}
Note: Servers will always want to use [v1].
*)(** Handler for a proxy with version >= 1. *)classvirtual['v]v1=object(_:(_,'v,_)#Proxy.Service_handler.t)(**/**)inherit[[<`V1|`V2]as'v]_handlers_unsafe(**/**)methodprivatevirtualon_removed:[>`V1|`V2]t->unit(** The libinput device is removed.
This event indicates that the libinput device has been removed.
The server will send no further events on this object and ignore any
request (other than river_libinput_device_v1.destroy) made after this
event is sent. The client should destroy this object with the
river_libinput_device_v1.destroy request to free up resources. *)methodprivatevirtualon_input_device:[>`V1|`V2]t->device:([`River_input_device_v1],[>Imports.River_input_device_v1.versions],[`Client])Proxy.t->unit(** Corresponding river input device.
The river_input_device_v1 corresponding to this libinput device.
This event will always be the first event sent on the
river_libinput_device_v1 object, and it will be sent exactly once. *)methodprivatevirtualon_send_events_support:[>`V1|`V2]t->modes:Imports.River_libinput_device_v1.Send_events_modes.t->unit(** Supported send events modes.
Supported send events modes. *)methodprivatevirtualon_send_events_default:[>`V1|`V2]t->mode:Imports.River_libinput_device_v1.Send_events_modes.t->unit(** Default send events mode.
Default send events mode. *)methodprivatevirtualon_send_events_current:[>`V1|`V2]t->mode:Imports.River_libinput_device_v1.Send_events_modes.t->unit(** Current send events mode.
Current send events mode. *)methodprivatevirtualon_tap_support:[>`V1|`V2]t->finger_count:int32->unit(** Tap-to-click/drag support.
The number of fingers supported for tap-to-click/drag.
If finger_count is 0, tap-to-click and drag are unsupported. *)methodprivatevirtualon_tap_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Tap_state.t->unit(** Default tap-to-click state.
Default tap-to-click state. *)methodprivatevirtualon_tap_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Tap_state.t->unit(** Current tap-to-click state.
Current tap-to-click state. *)methodprivatevirtualon_tap_button_map_default:[>`V1|`V2]t->button_map:Imports.River_libinput_device_v1.Tap_button_map.t->unit(** Default tap-to-click button map.
Default tap-to-click button map. *)methodprivatevirtualon_tap_button_map_current:[>`V1|`V2]t->button_map:Imports.River_libinput_device_v1.Tap_button_map.t->unit(** Current tap-to-click button map.
Current tap-to-click button map. *)methodprivatevirtualon_drag_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Drag_state.t->unit(** Default tap-and-drag state.
Default tap-and-drag state. *)methodprivatevirtualon_drag_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Drag_state.t->unit(** Current tap-and-drag state.
Current tap-and-drag state. *)methodprivatevirtualon_drag_lock_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Drag_lock_state.t->unit(** Default drag lock state.
Default drag lock state. *)methodprivatevirtualon_drag_lock_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Drag_lock_state.t->unit(** Current drag lock state.
Current drag lock state. *)methodprivatevirtualon_three_finger_drag_support:[>`V1|`V2]t->finger_count:int32->unit(** Three finger drag support.
The number of fingers supported for three/four finger drag.
If finger_count is less than 3, three finger drag is unsupported. *)methodprivatevirtualon_three_finger_drag_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Three_finger_drag_state.t->unit(** Default three finger drag state.
Default three finger drag state. *)methodprivatevirtualon_three_finger_drag_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Three_finger_drag_state.t->unit(** Current three finger drag state.
Current three finger drag state. *)methodprivatevirtualon_calibration_matrix_support:[>`V1|`V2]t->supported:int32->unit(** Support for a calibration matrix.
A calibration matrix is supported if the supported argument is non-zero. *)methodprivatevirtualon_calibration_matrix_default:[>`V1|`V2]t->matrix:string->unit(** Default calibration matrix.
Default calibration matrix. *)methodprivatevirtualon_calibration_matrix_current:[>`V1|`V2]t->matrix:string->unit(** Current calibration matrix.
Current calibration matrix. *)methodprivatevirtualon_accel_profiles_support:[>`V1|`V2]t->profiles:Imports.River_libinput_device_v1.Accel_profiles.t->unit(** Supported acceleration profiles.
Supported acceleration profiles. *)methodprivatevirtualon_accel_profile_default:[>`V1|`V2]t->profile:Imports.River_libinput_device_v1.Accel_profile.t->unit(** Default acceleration profile.
Default acceleration profile. *)methodprivatevirtualon_accel_profile_current:[>`V1|`V2]t->profile:Imports.River_libinput_device_v1.Accel_profile.t->unit(** Current acceleration profile.
Current acceleration profile. *)methodprivatevirtualon_accel_speed_default:[>`V1|`V2]t->speed:string->unit(** Default acceleration speed.
Default acceleration speed. *)methodprivatevirtualon_accel_speed_current:[>`V1|`V2]t->speed:string->unit(** Current acceleration speed.
Current acceleration speed. *)methodprivatevirtualon_natural_scroll_support:[>`V1|`V2]t->supported:int32->unit(** Support for natural scroll.
Natural scroll is supported if the supported argument is non-zero. *)methodprivatevirtualon_natural_scroll_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Natural_scroll_state.t->unit(** Default natural scroll.
Default natural scroll. *)methodprivatevirtualon_natural_scroll_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Natural_scroll_state.t->unit(** Current natural scroll state.
Current natural scroll. *)methodprivatevirtualon_left_handed_support:[>`V1|`V2]t->supported:int32->unit(** Support for left-handed mode.
Left-handed mode is supported if the supported argument is non-zero. *)methodprivatevirtualon_left_handed_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Left_handed_state.t->unit(** Default left-handed mode.
Default left-handed mode. *)methodprivatevirtualon_left_handed_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Left_handed_state.t->unit(** Current left-handed mode state.
Current left-handed mode. *)methodprivatevirtualon_click_method_support:[>`V1|`V2]t->methods:Imports.River_libinput_device_v1.Click_methods.t->unit(** Supported click methods.
The click methods supported by the device. *)methodprivatevirtualon_click_method_default:[>`V1|`V2]t->method_:Imports.River_libinput_device_v1.Click_method.t->unit(** Default click method.
Default click method. *)methodprivatevirtualon_click_method_current:[>`V1|`V2]t->method_:Imports.River_libinput_device_v1.Click_method.t->unit(** Current click method.
Current click method. *)methodprivatevirtualon_clickfinger_button_map_default:[>`V1|`V2]t->button_map:Imports.River_libinput_device_v1.Clickfinger_button_map.t->unit(** Default clickfinger button map.
Default clickfinger button map.
Supported if click_methods.clickfinger is supported. *)methodprivatevirtualon_clickfinger_button_map_current:[>`V1|`V2]t->button_map:Imports.River_libinput_device_v1.Clickfinger_button_map.t->unit(** Current clickfinger button map.
Current clickfinger button map.
Supported if click_methods.clickfinger is supported. *)methodprivatevirtualon_middle_emulation_support:[>`V1|`V2]t->supported:int32->unit(** Support for middle mouse button emulation.
Middle mouse button emulation is supported if the supported argument is
non-zero. *)methodprivatevirtualon_middle_emulation_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Middle_emulation_state.t->unit(** Default middle mouse button emulation.
Default middle mouse button emulation. *)methodprivatevirtualon_middle_emulation_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Middle_emulation_state.t->unit(** Current middle mouse button emulation state.
Current middle mouse button emulation. *)methodprivatevirtualon_scroll_method_support:[>`V1|`V2]t->methods:Imports.River_libinput_device_v1.Scroll_methods.t->unit(** Supported scroll methods.
The scroll methods supported by the device. *)methodprivatevirtualon_scroll_method_default:[>`V1|`V2]t->method_:Imports.River_libinput_device_v1.Scroll_method.t->unit(** Default scroll method.
Default scroll method. *)methodprivatevirtualon_scroll_method_current:[>`V1|`V2]t->method_:Imports.River_libinput_device_v1.Scroll_method.t->unit(** Current scroll method.
Current scroll method. *)methodprivatevirtualon_scroll_button_default:[>`V1|`V2]t->button:int32->unit(** Default scroll button.
Default scroll button.
Supported if scroll_methods.on_button_down is supported. *)methodprivatevirtualon_scroll_button_current:[>`V1|`V2]t->button:int32->unit(** Current scroll button.
Current scroll button.
Supported if scroll_methods.on_button_down is supported. *)methodprivatevirtualon_scroll_button_lock_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Scroll_button_lock_state.t->unit(** Default scroll button lock state.
Default scroll button lock state.
Supported if scroll_methods.on_button_down is supported. *)methodprivatevirtualon_scroll_button_lock_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Scroll_button_lock_state.t->unit(** Current scroll button lock state.
Current scroll button lock state.
Supported if scroll_methods.on_button_down is supported. *)methodprivatevirtualon_dwt_support:[>`V1|`V2]t->supported:int32->unit(** Support for disable-while-typing.
Disable-while-typing is supported if the supported argument is
non-zero. *)methodprivatevirtualon_dwt_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Dwt_state.t->unit(** Default disable-while-typing state.
Default disable-while-typing state. *)methodprivatevirtualon_dwt_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Dwt_state.t->unit(** Current disable-while-typing state.
Current disable-while-typing state. *)methodprivatevirtualon_dwtp_support:[>`V1|`V2]t->supported:int32->unit(** Support for disable-while-trackpointing.
Disable-while-trackpointing is supported if the supported argument is
non-zero. *)methodprivatevirtualon_dwtp_default:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Dwtp_state.t->unit(** Default disable-while-trackpointing state.
Default disable-while-trackpointing state. *)methodprivatevirtualon_dwtp_current:[>`V1|`V2]t->state:Imports.River_libinput_device_v1.Dwtp_state.t->unit(** Current disable-while-trackpointing state.
Current disable-while-trackpointing state. *)methodprivatevirtualon_rotation_support:[>`V1|`V2]t->supported:int32->unit(** Support for rotation.
Rotation is supported if the supported argument is non-zero. *)methodprivatevirtualon_rotation_default:[>`V1|`V2]t->angle:int32->unit(** Default rotation angle.
Default rotation angle. *)methodprivatevirtualon_rotation_current:[>`V1|`V2]t->angle:int32->unit(** Current rotation angle.
Current rotation angle. *)methodprivatevirtualon_done:[>`V2]t->unit(** All information has been sent.
This event is sent after all information about the libinput device has
been sent.
This allows changes to one or more river_libinput_device_v1 properties
to be seen as atomic, even if they happen via multiple events. *)methodmin_version=1lend(** Handler for a proxy with version >= 2. *)classvirtual['v]v2=object(_:(_,'v,_)#Proxy.Service_handler.t)(**/**)inherit[[<`V2]as'v]_handlers_unsafe(**/**)methodprivatevirtualon_removed:[>`V2]t->unit(** The libinput device is removed.
This event indicates that the libinput device has been removed.
The server will send no further events on this object and ignore any
request (other than river_libinput_device_v1.destroy) made after this
event is sent. The client should destroy this object with the
river_libinput_device_v1.destroy request to free up resources. *)methodprivatevirtualon_input_device:[>`V2]t->device:([`River_input_device_v1],[>Imports.River_input_device_v1.versions],[`Client])Proxy.t->unit(** Corresponding river input device.
The river_input_device_v1 corresponding to this libinput device.
This event will always be the first event sent on the
river_libinput_device_v1 object, and it will be sent exactly once. *)methodprivatevirtualon_send_events_support:[>`V2]t->modes:Imports.River_libinput_device_v1.Send_events_modes.t->unit(** Supported send events modes.
Supported send events modes. *)methodprivatevirtualon_send_events_default:[>`V2]t->mode:Imports.River_libinput_device_v1.Send_events_modes.t->unit(** Default send events mode.
Default send events mode. *)methodprivatevirtualon_send_events_current:[>`V2]t->mode:Imports.River_libinput_device_v1.Send_events_modes.t->unit(** Current send events mode.
Current send events mode. *)methodprivatevirtualon_tap_support:[>`V2]t->finger_count:int32->unit(** Tap-to-click/drag support.
The number of fingers supported for tap-to-click/drag.
If finger_count is 0, tap-to-click and drag are unsupported. *)methodprivatevirtualon_tap_default:[>`V2]t->state:Imports.River_libinput_device_v1.Tap_state.t->unit(** Default tap-to-click state.
Default tap-to-click state. *)methodprivatevirtualon_tap_current:[>`V2]t->state:Imports.River_libinput_device_v1.Tap_state.t->unit(** Current tap-to-click state.
Current tap-to-click state. *)methodprivatevirtualon_tap_button_map_default:[>`V2]t->button_map:Imports.River_libinput_device_v1.Tap_button_map.t->unit(** Default tap-to-click button map.
Default tap-to-click button map. *)methodprivatevirtualon_tap_button_map_current:[>`V2]t->button_map:Imports.River_libinput_device_v1.Tap_button_map.t->unit(** Current tap-to-click button map.
Current tap-to-click button map. *)methodprivatevirtualon_drag_default:[>`V2]t->state:Imports.River_libinput_device_v1.Drag_state.t->unit(** Default tap-and-drag state.
Default tap-and-drag state. *)methodprivatevirtualon_drag_current:[>`V2]t->state:Imports.River_libinput_device_v1.Drag_state.t->unit(** Current tap-and-drag state.
Current tap-and-drag state. *)methodprivatevirtualon_drag_lock_default:[>`V2]t->state:Imports.River_libinput_device_v1.Drag_lock_state.t->unit(** Default drag lock state.
Default drag lock state. *)methodprivatevirtualon_drag_lock_current:[>`V2]t->state:Imports.River_libinput_device_v1.Drag_lock_state.t->unit(** Current drag lock state.
Current drag lock state. *)methodprivatevirtualon_three_finger_drag_support:[>`V2]t->finger_count:int32->unit(** Three finger drag support.
The number of fingers supported for three/four finger drag.
If finger_count is less than 3, three finger drag is unsupported. *)methodprivatevirtualon_three_finger_drag_default:[>`V2]t->state:Imports.River_libinput_device_v1.Three_finger_drag_state.t->unit(** Default three finger drag state.
Default three finger drag state. *)methodprivatevirtualon_three_finger_drag_current:[>`V2]t->state:Imports.River_libinput_device_v1.Three_finger_drag_state.t->unit(** Current three finger drag state.
Current three finger drag state. *)methodprivatevirtualon_calibration_matrix_support:[>`V2]t->supported:int32->unit(** Support for a calibration matrix.
A calibration matrix is supported if the supported argument is non-zero. *)methodprivatevirtualon_calibration_matrix_default:[>`V2]t->matrix:string->unit(** Default calibration matrix.
Default calibration matrix. *)methodprivatevirtualon_calibration_matrix_current:[>`V2]t->matrix:string->unit(** Current calibration matrix.
Current calibration matrix. *)methodprivatevirtualon_accel_profiles_support:[>`V2]t->profiles:Imports.River_libinput_device_v1.Accel_profiles.t->unit(** Supported acceleration profiles.
Supported acceleration profiles. *)methodprivatevirtualon_accel_profile_default:[>`V2]t->profile:Imports.River_libinput_device_v1.Accel_profile.t->unit(** Default acceleration profile.
Default acceleration profile. *)methodprivatevirtualon_accel_profile_current:[>`V2]t->profile:Imports.River_libinput_device_v1.Accel_profile.t->unit(** Current acceleration profile.
Current acceleration profile. *)methodprivatevirtualon_accel_speed_default:[>`V2]t->speed:string->unit(** Default acceleration speed.
Default acceleration speed. *)methodprivatevirtualon_accel_speed_current:[>`V2]t->speed:string->unit(** Current acceleration speed.
Current acceleration speed. *)methodprivatevirtualon_natural_scroll_support:[>`V2]t->supported:int32->unit(** Support for natural scroll.
Natural scroll is supported if the supported argument is non-zero. *)methodprivatevirtualon_natural_scroll_default:[>`V2]t->state:Imports.River_libinput_device_v1.Natural_scroll_state.t->unit(** Default natural scroll.
Default natural scroll. *)methodprivatevirtualon_natural_scroll_current:[>`V2]t->state:Imports.River_libinput_device_v1.Natural_scroll_state.t->unit(** Current natural scroll state.
Current natural scroll. *)methodprivatevirtualon_left_handed_support:[>`V2]t->supported:int32->unit(** Support for left-handed mode.
Left-handed mode is supported if the supported argument is non-zero. *)methodprivatevirtualon_left_handed_default:[>`V2]t->state:Imports.River_libinput_device_v1.Left_handed_state.t->unit(** Default left-handed mode.
Default left-handed mode. *)methodprivatevirtualon_left_handed_current:[>`V2]t->state:Imports.River_libinput_device_v1.Left_handed_state.t->unit(** Current left-handed mode state.
Current left-handed mode. *)methodprivatevirtualon_click_method_support:[>`V2]t->methods:Imports.River_libinput_device_v1.Click_methods.t->unit(** Supported click methods.
The click methods supported by the device. *)methodprivatevirtualon_click_method_default:[>`V2]t->method_:Imports.River_libinput_device_v1.Click_method.t->unit(** Default click method.
Default click method. *)methodprivatevirtualon_click_method_current:[>`V2]t->method_:Imports.River_libinput_device_v1.Click_method.t->unit(** Current click method.
Current click method. *)methodprivatevirtualon_clickfinger_button_map_default:[>`V2]t->button_map:Imports.River_libinput_device_v1.Clickfinger_button_map.t->unit(** Default clickfinger button map.
Default clickfinger button map.
Supported if click_methods.clickfinger is supported. *)methodprivatevirtualon_clickfinger_button_map_current:[>`V2]t->button_map:Imports.River_libinput_device_v1.Clickfinger_button_map.t->unit(** Current clickfinger button map.
Current clickfinger button map.
Supported if click_methods.clickfinger is supported. *)methodprivatevirtualon_middle_emulation_support:[>`V2]t->supported:int32->unit(** Support for middle mouse button emulation.
Middle mouse button emulation is supported if the supported argument is
non-zero. *)methodprivatevirtualon_middle_emulation_default:[>`V2]t->state:Imports.River_libinput_device_v1.Middle_emulation_state.t->unit(** Default middle mouse button emulation.
Default middle mouse button emulation. *)methodprivatevirtualon_middle_emulation_current:[>`V2]t->state:Imports.River_libinput_device_v1.Middle_emulation_state.t->unit(** Current middle mouse button emulation state.
Current middle mouse button emulation. *)methodprivatevirtualon_scroll_method_support:[>`V2]t->methods:Imports.River_libinput_device_v1.Scroll_methods.t->unit(** Supported scroll methods.
The scroll methods supported by the device. *)methodprivatevirtualon_scroll_method_default:[>`V2]t->method_:Imports.River_libinput_device_v1.Scroll_method.t->unit(** Default scroll method.
Default scroll method. *)methodprivatevirtualon_scroll_method_current:[>`V2]t->method_:Imports.River_libinput_device_v1.Scroll_method.t->unit(** Current scroll method.
Current scroll method. *)methodprivatevirtualon_scroll_button_default:[>`V2]t->button:int32->unit(** Default scroll button.
Default scroll button.
Supported if scroll_methods.on_button_down is supported. *)methodprivatevirtualon_scroll_button_current:[>`V2]t->button:int32->unit(** Current scroll button.
Current scroll button.
Supported if scroll_methods.on_button_down is supported. *)methodprivatevirtualon_scroll_button_lock_default:[>`V2]t->state:Imports.River_libinput_device_v1.Scroll_button_lock_state.t->unit(** Default scroll button lock state.
Default scroll button lock state.
Supported if scroll_methods.on_button_down is supported. *)methodprivatevirtualon_scroll_button_lock_current:[>`V2]t->state:Imports.River_libinput_device_v1.Scroll_button_lock_state.t->unit(** Current scroll button lock state.
Current scroll button lock state.
Supported if scroll_methods.on_button_down is supported. *)methodprivatevirtualon_dwt_support:[>`V2]t->supported:int32->unit(** Support for disable-while-typing.
Disable-while-typing is supported if the supported argument is
non-zero. *)methodprivatevirtualon_dwt_default:[>`V2]t->state:Imports.River_libinput_device_v1.Dwt_state.t->unit(** Default disable-while-typing state.
Default disable-while-typing state. *)methodprivatevirtualon_dwt_current:[>`V2]t->state:Imports.River_libinput_device_v1.Dwt_state.t->unit(** Current disable-while-typing state.
Current disable-while-typing state. *)methodprivatevirtualon_dwtp_support:[>`V2]t->supported:int32->unit(** Support for disable-while-trackpointing.
Disable-while-trackpointing is supported if the supported argument is
non-zero. *)methodprivatevirtualon_dwtp_default:[>`V2]t->state:Imports.River_libinput_device_v1.Dwtp_state.t->unit(** Default disable-while-trackpointing state.
Default disable-while-trackpointing state. *)methodprivatevirtualon_dwtp_current:[>`V2]t->state:Imports.River_libinput_device_v1.Dwtp_state.t->unit(** Current disable-while-trackpointing state.
Current disable-while-trackpointing state. *)methodprivatevirtualon_rotation_support:[>`V2]t->supported:int32->unit(** Support for rotation.
Rotation is supported if the supported argument is non-zero. *)methodprivatevirtualon_rotation_default:[>`V2]t->angle:int32->unit(** Default rotation angle.
Default rotation angle. *)methodprivatevirtualon_rotation_current:[>`V2]t->angle:int32->unit(** Current rotation angle.
Current rotation angle. *)methodprivatevirtualon_done:[>`V2]t->unit(** All information has been sent.
This event is sent after all information about the libinput device has
been sent.
This allows changes to one or more river_libinput_device_v1 properties
to be seen as atomic, even if they happen via multiple events. *)methodmin_version=2lendend(** Acceleration config.
The result returned by libinput on setting configuration for a device. *)moduleRiver_libinput_accel_config_v1=structtype'vt=([`River_libinput_accel_config_v1],'v,[`Client])Proxy.tmoduleError=River_libinput_config_v1_proto.River_libinput_accel_config_v1.ErrormoduleAccel_type=River_libinput_config_v1_proto.River_libinput_accel_config_v1.Accel_type(** {2 Version 1} *)(** Define custom acceleration function.
Defines the acceleration function for a given movement type
in an acceleration configuration with custom accel profile. *)letset_points(_t:([<`V1]as'v)t)(result:([`River_libinput_result_v1],'v,[`Client])#Proxy.Handler.t)~type_~step~points=let__result=Proxy.spawn_tresultinlet_msg=Proxy.alloc_t~op:1~ints:4~strings:[]~arrays:[step;points]inMsg.add_int_msg(Proxy.id__result);Msg.add_int_msg(Imports.River_libinput_accel_config_v1.Accel_type.to_int32type_);Msg.add_array_msgstep;Msg.add_array_msgpoints;Proxy.send_t_msg;__result(** Destroy the accel object.
This request indicates that the client will no longer use the accel
config object and that it may be safely destroyed. *)letdestroy(_t:([<`V1]as'v)t)=let_msg=Proxy.alloc_t~op:0~ints:0~strings:[]~arrays:[]inProxy.send_t_msg;Proxy.shutdown_send_t(**/**)class['v]_handlers_unsafe=object(_self:(_,'v,_)#Proxy.Handler.t)methoduser_data=S.No_datamethodmetadata=(moduleRiver_libinput_config_v1_proto.River_libinput_accel_config_v1)methodmax_version=1lmethoddispatch(_proxy:'vt)_msg=let_proxy=Proxy.cast_version_proxyinmatchMsg.op_msgwith|_->assertfalseend(**/**)(** {2 Handlers}
Note: Servers will always want to use [v1].
*)(** Handler for a proxy with version >= 1. *)class['v]v1=object(_:(_,'v,_)#Proxy.Service_handler.t)(**/**)inherit[[<`V1]as'v]_handlers_unsafe(**/**)methodmin_version=1lendend(** Config application result.
The result returned by libinput on setting configuration for a device. *)moduleRiver_libinput_result_v1=structtype'vt=([`River_libinput_result_v1],'v,[`Client])Proxy.t(** {2 Version 1} *)(**/**)classvirtual['v]_handlers_unsafe=object(_self:(_,'v,_)#Proxy.Handler.t)methoduser_data=S.No_datamethodmetadata=(moduleRiver_libinput_config_v1_proto.River_libinput_result_v1)methodmax_version=1lmethodprivatevirtualon_success:unitmethodprivatevirtualon_unsupported:unitmethodprivatevirtualon_invalid:unitmethoddispatch(_proxy:'vt)_msg=let_proxy=Proxy.cast_version_proxyinmatchMsg.op_msgwith|0->Proxy.shutdown_recv_proxy;_self#on_success|1->Proxy.shutdown_recv_proxy;_self#on_unsupported|2->Proxy.shutdown_recv_proxy;_self#on_invalid|_->assertfalseend(**/**)(** {2 Handlers}
Note: Servers will always want to use [v1].
*)(** Handler for a proxy with version >= 1. *)classvirtual['v]v1=object(_:(_,'v,_)#Proxy.Service_handler.t)(**/**)inherit[[<`V1]as'v]_handlers_unsafe(**/**)methodprivatevirtualon_success:unit(** Config success.
The configuration was successfully applied to the device. *)methodprivatevirtualon_unsupported:unit(** Config unsupported.
The configuration is unsupported by the device and was ignored. *)methodprivatevirtualon_invalid:unit(** Config invalid.
The configuration is invalid and was ignored. *)methodmin_version=1lendend