Вопрос или проблема
Иногда при использовании Wine, особенно с играми, нажатие ALT+TAB приводит к потере системой либо клавиатурного, либо мышиного фокуса на текущем активном окне.
Это означает, что, например, если я переключаюсь с игры в Wine на Nautilus, Empathy или другое приложение с помощью ALT+TAB, а затем пытаюсь вернуться в игру (может потребоваться сделать это несколько раз, обычно хватает 3-4 раз), то активным окном останется Nautilus или другое приложение, но клавиатура и мышь будут работать в игре.
Если я пытаюсь вернуться с помощью ALT+TAB, функциональность ALT+TAB теряется (нельзя использовать до принудительного закрытия игры в Wine через, например, wineserver -k
в терминале). Остается система, где на переднем плане отображается приложение Nautilus, но клавиатурный и мышиный фокус остаются на свернутой в фоне игре (например, Wine Game).
Как можно вернуть функциональность ALT+TAB или переместить фокус на текущее активное окно, чтобы снова переключаться туда и обратно? Это также может происходить только с одним устройством ввода; например, игра в Wine может иметь фокус клавиатуры, но не мыши (иногда мышь даже теряется и становится недоступной до закрытия Wine).
Мне удалось решить эту проблему для моей конфигурации — я использую Wine, чтобы играть в Hearthstone через Lutris. Хитрость заключается в редактировании реестра с помощью regedit в Wine для этой конкретной игры, следуя рекомендации этого пользователя:
- Откройте Regedit, например, с помощью
wine regedit.exe
- Перейдите в
HKEY_CURRENT_USER\Software\Wine\X11 Driver
, создайте его, если он не существует- Создайте новую запись с именем
UseTakeFocus
со значениемN
Альтернативно этого можно достичь, запустив в командной строке:
wine reg add 'HKEY_CURRENT_USER\Software\Wine\X11 Driver' /t REG_SZ /v UseTakeFocus /d N /f
Это не только исправило проблемы с переключением через alt-tab, я также смог изменять размер окна и переключаться между полноэкранным и оконным режимами в игре с ожидаемым поведением!
Конкретно в Lutris я выбрал игру (Hearthstone), нажал “Wine registry” и добавил значение в Regedit, как предложено (при создании новой записи, это правая кнопка, добавить ключ, строковое значение; затем правая кнопка, изменить для установки значения “N”). Затем закройте; реестр должен быть сохранён (но можете снова его открыть, чтобы убедиться, что новое значение там). Затем запустите игру, и новое поведение будет применено.
Я ожидаю, что это не работает для всех игр, так как зависит от поддержки игры сочетаний клавиш рабочего стола и модификаций управления окнами.
Для меня сработало переключение рабочих столов.
Я использую Openbox и сталкивался с этой проблемой в FlStudio 10, мне кажется, что wineserver позволит выйти с помощью alt-tab и вернуться, однако иногда после одного такого раз переключение alt-tab перестает отображаться. Как я уже сказал, я использую Openbox, так что мой опыт может отличаться; всё, что мне нужно сделать, — это удерживать кнопку alt, нажать tab один раз, затем переключить рабочие столы (колёсико мыши). Поскольку я не использую unity, я не уверен, что это стандартная привязка там, но она кажется общей. Будьте осторожны, некоторые игры/программы этого не любят, например Command and Conquer 3 почти наверняка вылетит, обязательно сохранитесь заранее!!!
Моё решение простое. Перед запуском игры включите эмуляцию виртуального рабочего стола в конфигурации wine>графика
Одной из возможных причин, почему игра может не появляться в списке Alt-Tab, являются настройки winecfg
:
- Запустите
winecfg
- Перейдите на вкладку Графика
- Отметьте параметры, разрешающие менеджеру окон оформлять и управлять окном.
- Нажмите Ok или Применить.
- Затем выйдите и снова запустите игру, если она уже запущена.
После этого игра появилась в списке Alt-Tab, как и ожидалось.
У меня были аналогичные проблемы при использовании Alt+Tab в операционных системах Windows, работающих в wine.
Одним из возможных решений данной проблемы с Alt+Tab является использование различных рабочих пространств для приложений, не использующих Wine, и для приложений, работающих в Wine.
Переключитесь на другое рабочее пространство и запустите приложения Wine в отдельном рабочем пространстве, затем вы сможете переключаться между пространствами с помощью таких сочетаний клавиш:
Ctrl+Alt+Left / Right
Клавиша Super+Page Down / Page Up
.
Ответ или решение
Восстановление фокуса при использовании Wine, особенно в играх, может быть сложной задачей, особенно при использовании комбинации клавиш ALT+TAB. Это широко распространенная проблема, которая часто приводит к потере фокуса мыши или клавиатуры на активном окне. Приведем несколько стратегий для восстановления фокуса и нормализации работы.
Понимание проблемы
При переключении между играми в Wine и другими приложениями, такими как Nautilus или Empathy, система может сохранять фокус клавиатуры и мыши на приложении Wine, хотя в фокусе системы находится другое окно. В результате попытки вернуться к игре нередко требуют принудительной остановки процесса игры с помощью команды wineserver -k
в терминале.
Решения проблемы
-
Использование редактора реестра Wine (regedit)
- Откройте редактор реестра с помощью команды
wine regedit.exe
. - Перейдите к ветке
HKEY_CURRENT_USER\Software\Wine\X11 Driver
. Если такой раздел не существует, создайте его. - Добавьте новый параметр
UseTakeFocus
и присвойте ему значениеN
. - Это можно сделать через командную строку:
wine reg add 'HKEY_CURRENT_USER\Software\Wine\X11 Driver' /t REG_SZ /v UseTakeFocus /d N /f
- Данная настройка помогает устранить проблемы с переключением окон и управлением размером окна.
- Откройте редактор реестра с помощью команды
-
Включение эмуляции виртуального рабочего стола
- Откройте конфигурацию Wine с помощью
winecfg
. - В графическом разделе включите опцию «Эмуляция виртуального рабочего стола». Это может помочь в некоторых играх и приложениях устранить проблемы с фокусом.
- Откройте конфигурацию Wine с помощью
-
Настройки управления окнами в Wine
- В
winecfg
убедитесь, что включены настройки для управления окном и его декорирования оконным менеджером. - Это может повысить совместимость с функциями переключения окон в вашей операционной системе.
- В
-
Использование рабочих столов
- Для управления фокусом более удобным способом попробуйте использовать разные рабочие области для Wine и других приложений. Используйте сочетания клавиш для быстрого переключения между ними:
- Ctrl+Alt+Left / Right
- Super key+Page Down / Page Up
- Для управления фокусом более удобным способом попробуйте использовать разные рабочие области для Wine и других приложений. Используйте сочетания клавиш для быстрого переключения между ними:
-
Переключение рабочих столов или оконных менеджеров
- Если вы используете оконный менеджер, такой как Openbox, попробуйте временно переключиться на другой рабочий стол с помощью прокрутки мыши. Это может помочь временно восстановить фокус.
Каждое из предложенных решений может быть использовано отдельно или в комплексе в зависимости от специфики задачи и поведения конкретной игры или приложения. Эти подходы помогут выработать оптимальную стратегию работы с Wine, делая использование приложений более стабильным и предсказуемым.