Add proxy/VPN/telegram launchd and emergency runbooks; reorganize apps docs; document JA3 CrossOver runbook and Wine troubleshooting; add GOG/HoMM game scripts, disk cleanup guides, and gitea push-via-proxy helper. Ignore temp/. Co-authored-by: Cursor <cursoragent@cursor.com>
3.1 KiB
HoMM Olden Era: курсор двигается, клики не работают (Whisky / Wine на macOS)
Корневая причина (не «битая мышь»)
Современный Unity (в т.ч. ветки с Unity 6 input stack) вызывает Windows API EnableMouseInPointer и дальше ждёт сообщения WM_POINTER. В типичном Wine из Whisky эта функция сейчас заглушка → в Player.log появляется строка:
EnableMouseInPointer failed with the following error: Call not implemented.
Пока это так, никакие танцы с WineBus / SDL / виртуальным desktop / оконным fullscreen не обязаны починить ЛКМ: курсор может двигаться, а нажатия и hover в UI игнорируются.
Проверка одной командой (после хотя бы одного запуска игры):
bash ~/code/local_machine/scripts/games/diagnose-homm-mouse.sh
Что реально работает сегодня
Вариант A — CrossOver (рекомендуется для Unity с этим симптомом)
- Установить CrossOver для macOS (CodeWeavers).
- При необходимости применить готовый патч слоя Wine под
EnableMouseInPointer(см. репозиторий с инструкцией и бинарниками под конкретную версию CrossOver):
dabielf/crossover-unity-mouse-fix - Запускать игру из CrossOver, а не из «голого» WhiskyWine, если патч ставился в CrossOver.
Важно: патч из репозитория рассчитан на пути внутри CrossOver.app, а не на ~/Library/Application Support/com.isaacmarovitz.Whisky/Libraries/. Копирование DLL из CrossOver в Whisky вручную — высокий риск несовместимости ABI (краши Wine).
Вариант B — ждать/переезжать на Wine с upstream-фиксом
Следить за Wine Bug #53847 и обновлениями WhiskyWine, когда туда попадёт полноценная реализация (или использовать сборку Wine, где она уже есть), и только потом снова тестировать в Whisky.
Связь с нашими скриптами
start.sh input/fix-homm-wine-input.sh— про HID/SDL и геймпады, не проEnableMouseInPointer.start.sh game+ DXVK-macOS — про графику (D3D11), не про pointer stack Unity.
Быстрый чеклист
bash ~/code/local_machine/scripts/games/diagnose-homm-mouse.sh- Если exit code 2 и есть строка про
EnableMouseInPointer→ идём в CrossOver/другой Wine, а не в «ещё один SDL-твик».