Zachytávání kurzoru ve vmwaru

17. 1. 2013 10:35 Tomas Matějíček

Nedávno (dneska) jsem řešil, jaktože všechny možné distribuce umí ve vmwaru automaticky zachytávat kurzor, zatímco Slackware (a obecně jakákoli distribuce která vychází z neopatchovaných originálních zdrojáků přímo od jejich autorů) to neumí. Že by všechny ty jiné distribuce používaly vmware tools? Nepravděpodobné. Zakopaný pes je v tom, že oficiální xf86-input-vmmouse má pouze HAL pravidla pro detekci vmwarové myši, a HAL už se dnes obecně nepoužívá. Xorg spoléhá na autodetekci, a tím že ji od udev nedostane, tak jen zahlásí:

Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled

a použije kdoví jaký driver. Po tom ani nepátrám. Jak z toho ven? Odpovědí je napsat pravidlo pro udev, které udělá to samé co ten prokletý HAL, aby Xka dostaly informace o vmmouse ovladači z hotpluggingu (netuším jak tohle říct česky). Debianí distra tohle už mají vyřešené, a jejich udev pravidlo funguje bezvadně. A mě nezbývá než se ptát: proč doháje tohle není upstream? Proto debian (ani ubuntu ani fedoru ani nic) nemám rád – syslí si úpravy pro sebe, místo aby je předali vývojářům v upstreamu a mohl z nich tak profitovat každý. Máme tohle zapotřebí?

Tady je ten udev rule:

ACTION=="add|change", ENV{ID_INPUT_MOUSE}=="?*", ATTRS{description}=="i8042 AUX port", KERNEL=="event[0-9]*", PROGRAM="/usr/bin/vmmouse_detect", ENV{ID_INPUT.tags}="vmmouse"

Sdílet