Как восстановить сосредоточенность после ее утраты при использовании Wine

Вопрос или проблема

Иногда при использовании 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:

  1. Запустите winecfg
  2. Перейдите на вкладку Графика
  3. Отметьте параметры, разрешающие менеджеру окон оформлять и управлять окном.
  4. Нажмите Ok или Применить.
  5. Затем выйдите и снова запустите игру, если она уже запущена.

После этого игра появилась в списке 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 в терминале.

Решения проблемы

  1. Использование редактора реестра 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
    • Данная настройка помогает устранить проблемы с переключением окон и управлением размером окна.
  2. Включение эмуляции виртуального рабочего стола

    • Откройте конфигурацию Wine с помощью winecfg.
    • В графическом разделе включите опцию «Эмуляция виртуального рабочего стола». Это может помочь в некоторых играх и приложениях устранить проблемы с фокусом.
  3. Настройки управления окнами в Wine

    • В winecfg убедитесь, что включены настройки для управления окном и его декорирования оконным менеджером.
    • Это может повысить совместимость с функциями переключения окон в вашей операционной системе.
  4. Использование рабочих столов

    • Для управления фокусом более удобным способом попробуйте использовать разные рабочие области для Wine и других приложений. Используйте сочетания клавиш для быстрого переключения между ними:
      • Ctrl+Alt+Left / Right
      • Super key+Page Down / Page Up
  5. Переключение рабочих столов или оконных менеджеров

    • Если вы используете оконный менеджер, такой как Openbox, попробуйте временно переключиться на другой рабочий стол с помощью прокрутки мыши. Это может помочь временно восстановить фокус.

Каждое из предложенных решений может быть использовано отдельно или в комплексе в зависимости от специфики задачи и поведения конкретной игры или приложения. Эти подходы помогут выработать оптимальную стратегию работы с Wine, делая использование приложений более стабильным и предсказуемым.

Оцените материал
Добавить комментарий

Капча загружается...