Есть WPF проект. Windows 10. При переходе на определённые View вызывается процесс osk.exe - экранная клавиатура.
Периодически нужно менять язык, но предполагается, что не все знают комбинацию клавиш для этого действия. Поэтому решено добавить кнопку, которая изменяет язык ввода на уровне ОС
private void ChangeLang()
{
if (InputLanguageManager.Current.CurrentInputLanguage.Name == "ru-RU")
{
InputLanguageManager.Current.CurrentInputLanguage = new CultureInfo("en-US");
IsRussian = false;
return;
}
InputLanguageManager.Current.CurrentInputLanguage = new CultureInfo("ru-RU");
IsRussian = true;
}
Этот вариант работает, но есть недостаток - язык на экранной клавиатуре переключается не сразу, при этом, нужно немного передвинуть клавиатуру или как-то с ней повзаимодействовать.
Вопросы такие:
1) Можно ли как-то ускорить обновление раскладки на клавиатуре?
или
2) Сделать симуляцию нажатия Shift + Alt?
Если нажать на экранной клавиатуре Shift затем Alt затем снова Shift, то раскладка сменится быстро.
osk.exe не принимает команды вроде cmd => osk.exe /CHANGELANGUAGE вот нашел другую клавиатуру которая принимает команды посмотри тут
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники