Как восстановить фокус после потери при использовании 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 почти наверняка вылетят, обязательно сначала сохраните !!!


Спасибо разлито. Для аварий я знаю несколько приложений, которые делают это. Проверим, что вы упоминаете, когда это произойдет снова, и предоставите результаты
— Луис Альварадо

Похоже, это возвращает фокус в 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"). Затем закрой; реестр должен быть сохранен (но вы можете отредактировать его еще раз, чтобы дважды проверить, что новое значение там). Затем запустите игру, и новое поведение на месте.

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


1
Работает и на MTG Arena
— Денис Шеремет
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.