<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Hi Pekka, thanks for the return!<br>
<br>
<br>
I don't know if there is anyway to build/compile Wayland from source code to understand better his working, in fact I don't know nothing about OS protocols (Xlib, Wayland...) I finished fell into this study because this need to create automated tests on a Debian
based distro that they developed here with Wayland as standard and I only explored Xlib module which didn't work. <br>
<br>
ydotool I have already tested it through mousemove and key arguments but it always returned me the message "ydotoold: listening on socket /tmp/.ydotool_socket" and nothing happens. I am gonna give another exploring on uinput again.</span></div>
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br>
</span></div>
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">I found that there is package called pywayland that has itself client,
server API's <a href="https://pypi.org/project/pywayland/" id="LPlnkOWALinkPreview">https://pypi.org/project/pywayland/</a> but there aren't tutorials about how to use it.</span></div>
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0"><br>
</span></div>
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">I am gonna try to study from scratch Wayland to understand how to
deal with it!<br>
<br>
<br>
Thank you,<br>
<br>
Victor</span></div>
<div class="_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_1">
<div id="LPBorder_GTaHR0cHM6Ly9weXBpLm9yZy9wcm9qZWN0L3B5d2F5bGFuZC8." class="LPBorder533982" style="width: 100%; margin-top: 16px; margin-bottom: 16px; position: relative; max-width: 800px; min-width: 424px;">
<table id="LPContainer533982" role="presentation" style="padding: 12px 36px 12px 12px; width: 100%; border-width: 1px; border-style: solid; border-color: rgb(200, 200, 200); border-radius: 2px;">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td>
<div id="LPImageContainer533982" style="position: relative; margin-right: 12px; height: 160px; overflow: hidden;">
<a target="_blank" id="LPImageAnchor533982" href="https://pypi.org/project/pywayland/"><img id="LPThumbnailImageId533982" alt="" height="160" width="160" style="display: block;" src="https://pypi.org/static/images/twitter.6fecba6f.jpg"></a></div>
</td>
<td style="width: 100%;">
<div id="LPTitle533982" style="font-size: 21px; font-weight: 300; margin-right: 8px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px;">
<a target="_blank" id="LPUrlAnchor533982" href="https://pypi.org/project/pywayland/" style="text-decoration: none; color: var(--themePrimary);">pywayland · PyPI</a></div>
<div id="LPDescription533982" style="font-size: 14px; max-height: 100px; color: rgb(102, 102, 102); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px; margin-right: 8px; overflow: hidden;">
Built against Wayland 1.21.0. PyWayland provides a wrapper to the libwayland library using the CFFI library to provide access to the Wayland library calls and written in pure Python.. Below is outlined some of the basics of PyWayland and how to get up and running.</div>
<div id="LPMetadata533982" style="font-size: 14px; font-weight: 400; color: rgb(166, 166, 166); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif;">
pypi.org</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<br>
<div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0);" class="elementToProof">
<br>
<br>
<hr tabindex="-1" style="display:inline-block; width:98%;">
<b>De:</b> Pekka Paalanen<br>
<b>Enviadas:</b> Segunda-feira, 05 de Dezembro de 2022 12:58<br>
<b>Para:</b> Victor Borghi Gimenez (FIPT)<br>
<b>Cc:</b> wayland-devel@lists.freedesktop.org<br>
<b>Assunto:</b> Re: How Wayland manages the automation/access of input devices and deal with block on them
<div><br>
</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText elementToProof">On Mon, 5 Dec 2022 14:11:46 +0000<br>
"Victor Borghi Gimenez (FIPT)" <victorborghi@ipt.br> wrote:<br>
<br>
> What does still Wayland not standarize? Do you say the automation of<br>
> input devices, don't you?<br>
<br>
Correct. There is no standard Wayland interface you could use to<br>
programmatically feed input events into a Wayland compositor to be<br>
delivered to clients as if they were real physical input events.<br>
<br>
> <br>
> My aim consists in test UI resources as OS icons for example: Show<br>
> applications, click on any application contained in show applications<br>
> list, type text at the search box, and so on... Generally saying,<br>
> simulate/automate mouse and keyboard events how a user would do (for<br>
> example xdotool developed for X11/Xorg performs this task when you<br>
> pass mousemove, getmouselocation, keydown/keyup as arguments).<br>
> <br>
<br>
Exactly.<br>
<br>
> uinput I have heard about, moreover there is a python implementation<br>
> for it called python-uinput <a href="https://pypi.org/project/python-uinput/" target="_blank" rel="noopener noreferrer" data-auth="NotApplicable">
https://pypi.org/project/python-uinput/</a><br>
> which I said here based on uinput kernel module, I was able to<br>
> automate some keyboard keystrokes but I was not able to automate<br>
> keyboard shortcuts and mouse events.<br>
<br>
There seems to be ydotool, too, using uinput.<br>
<br>
Uinput (the kernel interface) definitely can do everything that<br>
physical input devices can, but using it requires knowing the evdev<br>
protocol well.<br>
<br>
<br>
Thanks,<br>
pq<br>
</div>
</span></font></div>
</div>
</body>
</html>