Проблемът е прост: в ChromeOS Ctrl+Space сменя езика, но когато фокусът е във VS Code (който е Linux приложение в Crostini), комбинацията може да бъде “открадната” от VS Code или да не стигне до ChromeOS. Ето какво да провериш, подредено по вероятност да реши проблема.
1) Провери дали VS Code краде Ctrl+Space (най-често това е причината)
Как да провериш
-
VS Code -> File -> Preferences -> Keyboard Shortcuts
-
Натисни иконата Record Keys
-
Натисни Ctrl+Space
Ако видиш, че Ctrl+Space е вързан към една или повече команди (например suggest/autocomplete или terminal actions) - това е конфликтът.
Как да оправиш
-
В същия списък премахни всички keybindings за Ctrl+Space (Remove Keybinding).
-
Тествай: Ctrl+Space трябва да сменя езика от ChromeOS, докато пишеш във VS Code.
2) Рестарт на Crostini VM (termina) - чисти stuck състояния
Понякога дори след махане на keybinding-а, входният слой остава “зациклен”, докато VM не се рестартира.
Как
-
Отвори Crosh: Ctrl+Alt+T
-
Напиши:
-
Стартирай пак Linux (Terminal или VS Code).
3) Не пипай “Crostini IME support” ако ти чупи Linux
Някои устройства/версии на ChromeOS имат проблеми с този флаг и Crostini може да откаже да стартира. Ако след промяна на flags видиш грешки от типа RESTART_FAILED - връщай назад.
4) Ако Ctrl+Space пак не минава - смени autocomplete shortcut-а на VS Code на друго
Да не губиш удобството на Ctrl+Space за предложения, но да не пречи на езика:
-
Намери “Trigger Suggest” и му сложи друг клавиш, например:
-
Ctrl+Alt+Space
-
Alt+/
-
Така Ctrl+Space остава за ChromeOS езика.
5) Ако и това не помогне - приеми реалността: ChromeOS не винаги forward-ва системни shortcut-и към Linux apps
Това е ограничение на Crostini. Има workaround:
-
натискаш Launcher/Search (само да излезеш от Linux фокуса)
-
Ctrl+Space
-
връщаш се във VS Code
Работи винаги, но е по-досадно.
6) “Истинско” решение вътре в Linux (ако искаш независим toggle само за VS Code)
Ако искаш езикът да се сменя вътре в Linux, без ChromeOS да участва, ползваш input method в Linux (примерно fcitx5). Това е най-стабилното, ако често работиш в Linux приложения.
Минимално:
После го настройваш да има EN + BG и да сменя с Alt+Shift или друга комбинация. (Това вече е “Linux-first” подход.)
7) Не губи време със сомелиер хакове, ако не знаеш точно какво правиш
Има трикове със SOMMELIER_ACCELERATORS, но:
-
може да не работят на всички устройства
-
може да се чупят при update
-
лесно се влиза в странни VM състояния
Първо минаваш през стъпки 1 и 2 - те решават проблема в огромния процент случаи.
Най-кратката рецепта
-
VS Code: махни всички Ctrl+Space keybindings
-
vmc stop terminaи рестарт на Linux -
Тест: Ctrl+Space сменя езика във VS Code
Това е.
Няма коментари:
Публикуване на коментар