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

11

Иногда при использовании Wine, особенно с играми, выполнение ALT+ TABприводит к тому, что система теряет фокус клавиатуры или мыши над текущим активным окном.

Под этим я подразумеваю, что, например, если я делаю ALT+ TABиз игры Wine для Nautilus, Empathy или другого приложения, а затем пытаюсь вернуться в игру (возможно, потребуется сделать это несколько раз, может потребоваться от 3 до 4), он останется в Nautilus (Активном окне) или любом другом приложении, но клавиатура и мышь будут в игре.

Если я попытаюсь ALT+ TABвернуться обратно, функциональность ALT+ TABбудет потеряна (я не могу использовать ее, пока я не принудительно закрою игру Wine, например, wineserver -kна терминале. Поэтому у меня останется система, которая показывает мне на переднем плане приложение nautilus но клавиатура и мышь фокусируются на минимизированном фоновом приложении (например, Wine Game).

Итак, как я могу получить ALT+ TABназад или быть в состоянии сосредоточиться на текущем активном окне и иметь возможность переключаться вперед и назад снова. Это также может произойти только с одним входом, например, в игре Wine может быть сфокусирована клавиатура, а мышь - нет (иногда даже теряется и не может использоваться, пока Wine не будет закрыт).

Луис Альварадо
источник
Это похоже на ошибку.
Эдвин
Какую конфигурацию вы используете для вина? Вы эмулируете виртуальный рабочий стол? Также версия вина?
Брайам
Не имеет значения, какая версия Wine. Все версии с 1.4 до 1.6 включительно. Для части фокуса также не имеет значения, эмулирую ли я конкретное разрешение или нет. Тестирую это как минимум 2 года. Это также применимо не ко всем приложениям, но некоторые из них будут фокусироваться на одном или обоих устройствах ввода. Дайте мне пару дней, и я добавлю еще немного информации, так как это чаще всего случается с Unity.
Луис Альварадо
Вы пробовали патчи rawinput? Я не уверен, сделали ли они это в основном или нет, но у некоторых игр были проблемы с устройствами ввода, которые были решены тем же. Кажется, что я читал комментарии в коде патча о том, что это хитрый обходной путь, но, похоже, это сработало для некоторых вещей, которые я пытался решить
RobotHumans
Я нашел решение для моей проблемы в этой теме. Мне пришлось добавить строковое значение в реестре, так как последний ответ в этой теме предложил
Modamod

Ответы:

6

Переключение рабочих столов помогло мне.

Я использую Openbox и наткнулся на эту загвоздку во FlStudio 10, мне кажется, что wineserver позволит вам alt-tab и обратно, однако через некоторое время после того, как он это сделает, он перестает отображаться в окне alt-tab. Как я уже говорил, я использую Openbox, так что мой опыт может быть другим, все, что мне нужно сделать, это удерживать нажатой клавишу Alt, а затем перейти к переключению рабочих столов (колесико мыши). поскольку я не использую Unity, я не уверен, что это привязка по умолчанию, но она, похоже, является общей привязкой. Будьте осторожны, некоторым играм / программам это не нравится, например Command и Conquer 3 почти наверняка вылетят, обязательно сначала сохраните !!!

Spilt_Blood
источник
Спасибо разлито. Для аварий я знаю несколько приложений, которые делают это. Проверим, что вы упоминаете, когда это произойдет снова, и предоставите результаты
Луис Альварадо
Похоже, это возвращает фокус в KDE.
Летолдрус,
нп ребята ... рад помочь!
Spilt_Blood
Переключение рабочего стола у меня сработало. Для меня это Alt + Ctrl + Left / Right, но я думаю, что любой способ сделать это работает.
Donquixote
3
я не могу поверить, что это все еще ошибка, 5 лет спустя.
Спонгман
2

Я смог решить это для моей установки - я использую Wine play Hearthstone через Lutris. Хитрость заключается в том, чтобы отредактировать реестр с помощью regedit в Wine для этой конкретной игры, следуя совету этого пользователя :

  • Открыть Regedit
  • Перейдите в раздел HKEY_CURRENT_USER \ Программное обеспечение \ Wine \ X11 Driver
  • Создайте новую запись с именем «UseTakeFocus» со значением «N»

Это не только исправило мои проблемы с alt-tabbing, я смог изменить размер окна и переключаться между полноэкранным и оконным режимами в игре только с ожидаемым поведением!

В частности, в Lutris я выбрал игру (Hearthstone), нажал «Винный реестр» и добавил значение в Regedit, как было предложено (при создании новой записи щелкните правой кнопкой мыши, добавьте ключ, значение String; затем щелкните правой кнопкой мыши, чтобы изменить его, чтобы сделать значение "N"). Затем закрой; реестр должен быть сохранен (но вы можете отредактировать его еще раз, чтобы дважды проверить, что новое значение там). Затем запустите игру, и новое поведение на месте.

Я ожидаю, что это не работает во всех играх, потому что это зависит от игры, имеющей надлежащую поддержку сочетаний клавиш на рабочем столе и изменений управления окнами.

6005
источник
1
Работает и на MTG Arena
Денис Шеремет