Проверил xxkb. В принципе работает, но он не отслеживает изменения в xorg.conf. Когда я переключаю xorg.conf на украинскую раскладку командой xkblng ua, печать происходит на украинском, но в трее отображается русский флажок. fbxkb за этим следит и переключает флажок.
Хотя сейчас дополнительно проверил. При выборе трех раскладок - переключение ru,ua,en происходит нормально. Как я понял xxkb не отслеживает флаги, а переключает их в определённом порядке, поэтому если поменять порядок ua,ru,en то флаги не будут совпадать.