Вопрос или проблема
Странное название, но я не знаю, как иначе это объяснить. Раньше я использовал KDE с X11 и имел .xinitrc с некоторыми дополнительными настройками клавиатуры, такими как замена клавиш escape и caps, установка раскладки на немецкую и т.д. Некоторое время назад я переключился на Fedora с GNOME/wayland и более или менее скопировал свою домашнюю папку (да, я знаю, но я ленив). Это означает, что .xinitrc больше не должен работать, и я избавился от него. Однако, даже после чистой установки vscode, он по какой-то причине, кажется, эмулирует старые настройки. Когда я печатаю, используется немецкая раскладка, и escape/caps поменяны местами, несмотря на то, что системная раскладка – us. “Developer: inspect keymap” показывает следующее:
Layout info: {
"model": "pc105", "group": 0, "layout": "de", "variant": "nodeadkeys", "options": "lv3:rwin\_switch,caps:swapescape", "rules": "evdev"
}
Так что это в основном то, что у меня было в старом xinitrc.
Я не знаю, как от этого избавиться. Ничто не кажется эффективным. Чистая установка vscode не помогает. Я избавился от всех .x* файлов в своей домашней директории. Чтобы использовать us раскладку в vscode, мне нужно ввести “setxkbmap us”, несмотря на то, что я больше не использую X11. Скорее всего, в моей домашней директории все еще есть что-то, что вызывает это, но я не могу это найти. Есть идеи?
Ответ или решение
Ваша ситуация с настройками клавиатуры, которые вы некогда конфигурировали через X11 и теперешний конфликт, который вы видите в Visual Studio Code (VSCode) на Wayland, представляет собой интересный случай взаимодействия системных компонентов. Давайте разберем, что может происходить и как можно решить эту проблему.
Теория
Когда вы работали в среде KDE с использованием X11, настройки клавиатуры, такие как замена клавиш Escape и Caps Lock и переключение на немецкую раскладку, были, скорее всего, реализованы через конфигурационные файлы X11, в частности, через ваш .xinitrc
. Этот файл, как и другие подобные ему в X11, используется для выполнения различных настроек пользовательской сессии, включая конфигурации клавиатуры.
При переходе на Fedora с окружением GNOME, работающим на Wayland, многие из предыдущих конфигураций X11 по умолчанию больше не применяются, так как Wayland использует иной подход к управлению вводом, и .xinitrc не должен оказывать влияние на вашу текущую сессию. Однако то, что вы наблюдаете старые настройки в VSCode, несмотря на отсутствие явных следов этих конфигураций, указывает на то, что где-то они все же сохраняются или эмулируются.
Пример
Возникшая ситуация может быть следствием нескольких возможных факторов:
-
Резервные / старые файлы конфигурации: При копировании вашего домашнего каталога (home directory) с учетной записью из старой установки могли перенестись конфигурационные файлы, влияющие на ваши текущие настройки. Это могли быть такие файлы или директории, как
.config
,.local
, или какие-то подобные, связанные с GNOME, которые могут взаимодействовать с системой ввода. -
Сторонние утилиты конфигурации: Возможно, что на вашем новом окружении установлена система или утилита, которая подтягивает старые настройки. Это может быть какой-то скрипт или демон, автоматически запускающийся при старте системы, который применяет эти конфигурации для всех приложений, поддерживающих X11.
-
Настройки в конфигурации VSCode среды. Возможно, существует файл конфигурации на уровне приложения или расширение, которое подтягивает эти настройки.
Применение
Для решения данной проблемы вам потребуется выполнить определенные шаги для устранения старых конфигураций:
-
Проверка конфигураций GNOME/Wayland:
- Убедитесь, что у вас нет запущенных фоновых приложений или демонов, которые могли бы менять раскладку клавиатуры. Используйте
gnome-tweaks
или подобный инструмент для проверки настроек клавиатуры. - Проверьте файл
~/.config/keyboard
или аналогичные конфигурационные файлы, которые могут влиять на раскладку клавиатуры.
- Убедитесь, что у вас нет запущенных фоновых приложений или демонов, которые могли бы менять раскладку клавиатуры. Используйте
-
Обновление и сброс окружения пользователя:
- Попробуйте временно создать нового пользователя на вашей системе Fedora и проверьте, повторяется ли проблема в его окружении. Это поможет определить, связано ли это с настройками в вашем домашнем каталоге или проблема глобальная.
- Если проблема не повторяется, рассмотрите возможность очистки или отката конфигураций в вашем пользовательском директории, уделив особое внимание файлам и папкам, импортированным со старой системы.
-
Очистка конфигурации VSCode:
- Полностью удалите VSCode включая его конфигурационные файлы, которые, возможно, закешированы в вашей системе. Обычно они хранятся в
~/.config/Code
(или в~/.vscode
в некоторых дистрибутивах). - После полной очистки установите программу заново и проверьте, существует ли проблема без установки дополнительных расширений или импортов старой конфигурации.
- Полностью удалите VSCode включая его конфигурационные файлы, которые, возможно, закешированы в вашей системе. Обычно они хранятся в
-
Изучение документации и форумов:
- Просмотрите официальную документацию Fedora и GNOME по поводу управления вводом и изменением раскладок клавиатуры. Также на форумах или ресурсах, посвящённых Wayland, могут быть дополнительные инсайты.
-
Поиск скрытых зависимостей:
- Используйте команды вроде
grep
для поиска в домашнем каталоге всех упоминаний конфигураций раскладки клавиатуры, таких какxkb
, чтобы найти оставшиеся следы старых установок.
- Используйте команды вроде
Постаравшись последовательно выполнить эти действия, вы сможете локализовать причину возникновения старых настройкок клавиатуры в VSCode и устранить её. Таким образом ваш опыт взаимодействия с системой будет соответствовать вашему текущему окружению.