Я сейчас разруливаю подобную задачю.
Раскладку переключаю эмулированием нажатий клавиш.

Есть вариант через командную строку, послать сообщение X-ам (Xlayout), но при этом просходит смена раскладки по умолчанию, на изменяемую.