Выпуск Wine Staging 7.8 с улучшенной обработкой Alt+Tab для игр на базе движка Unity

Опубликован выпуск проекта Wine Staging 7.8, в рамках которого формируются расширенные сборки Wine, включающие не полностью готовые или рискованные патчи, пока непригодные для принятия в основную ветку Wine. По сравнению с Wine в Wine Staging предоставляется 550 дополнительных патчей.

В новом выпуске осуществлена синхронизация с кодовой базой Wine 7.8. В основной состав Wine переведено 3 патча, связанных с обработкой состояний клавиш и доработкой функций get/set_key_state. Обновлены четыре патча: winex11-_NET_ACTIVE_WINDOW, user32-Mouse_Message_Hwnd, user32-rawinput-mouse и api-iteration-tokens.

Добавлен патч, улучшающий обработку клавиатурной комбинации Alt+Tab в играх, основанных на игровом движке Unity. Проблема с переключением окон по Alt+Tab в играх на движке Unity наблюдается начиная с версии Wine 4.20 из-за того, что события OnApplicationFocus и OnApplicationPause, вызывающие обработчики изменения фокуса и приостановки приложения, не формировались движком Unity после восстановления фокуса на окне при переключении по Alt+Tab. Решающий проблему патч был предложен ещё в ноябре 2019 года и реализует отправку сообщения WM_NCPOINTERUP в коде функции, отвечающей за установку активного окна. Отправки данного сообщения достаточено, чтобы движок Unity запустил обработчики OnApplicationFocus и OnApplicationPause.

Источник: http://www.opennet.ru/opennews/art.shtml?num=57151