Sending mouse or touch events to VirtualBox VM from host shell?
Asked Answered
S

1

4

I know how to send keyboard events (keystrokes) to a VirtualBox Virtual Machine, using VBoxManage controlvm keyboardputscancode <scancode> <scancode> <etc...>

Is there a similar way to simulate mouse or touch events? For example, move the mouse to a certain coordinate or over a certain distance, or send a mouse click, or send a touch/tap on a given coordinate?

Supernaturalism answered 10/7, 2018 at 23:41 Comment(1)
Identical question asked on VirtualBox forum.Avant
S
1

You can do this using Python and https://pypi.org/project/vboxapi/

from vboxapi import VirtualBoxManager

mgr = VirtualBoxManager(None, None)
vbox = mgr.getVirtualBox()
machine = vbox.findMachine('CentOS')
session = mgr.getSessionObject(vbox)
machine.LockMachine(session, mgr.constants.LockType_Shared)
session.Console.Mouse.putMouseEventAbsolute(100,100,0,0,1)

for more information, please see it here

Syverson answered 12/4, 2019 at 3:7 Comment(2)
Thanks, that looks promising! However if I run this example (after renaming 'CentOS' to my VM name of course) I get an error: AttributeError: XPCOM component '<unknown>' has no attribute 'LockMachine' (full error message)Supernaturalism
you should install vboxapi using the command python pip install vboxapiSyverson

© 2022 - 2024 — McMap. All rights reserved.