Как я могу отображать экранную клавиатуру в Linux или Mac?
Для окон можно сделать следующее:
Process p = Runtime.getRuntime() .exec("cmd /C start C:/WINDOWS/osk.exe");
Не пробовал это с Java, но в Linux вы можете использовать xvkbd
для экранной клавиатуры. Запуск системного процесса с Java такой же, как в Windows.
String[] command = new String[]{"/bin/sh", "-c", "xvkbd -no-repeat >/dev/null 2>&1 &";
Process p = Runtime.getRuntime().exec(command);
Возможно, вам придется настроить команду на выполнение, я использую ее в сценарии запуска оболочки на терминальном ПК без мыши и клавиатуры.
Существуют и другие экранные клавиатуры для Linux, например, на onboard
или florence
, они отличаются взглядом, требованиями к ресурсам и зависимостями. Я нашел xvkbd
самым легким.