Как-то я создавал тему, там предлагали чета там написать, кароче никто ничего толком не ответил. А сейчас вот случайно нашел как - у меня показывались два значения - нажата ли капса и намлок, или нет. И все это нормально работало когда язык английсткий, а когда он был русский то ничего не работало. Оказывается когда раскладка другая то и коды другие, так вот можно узнать какая у тебя сейчас раскладка. Вот такой вам код даю, проверяйте, говорите какие у вас коды - интересно узнать везде ли они совпадают или нет.
#!/bin/bash
leds=$(xset q 2>>/dev/null | grep LED | rev | cut -c1)
caps=0
num=0
lang="EN"
case $leds in
1)
caps=1
;;
2)
num=1
;;
3)
caps=1
num=1
;;
4)
lang="RU"
;;
5)
lang="RU"
caps=1
;;
6)
lang="RU"
num=1
;;
7)
lang="RU"
num=1
caps=1
;;
esac
str=" $lang "
if [ $caps -ne 0 ]
then str+="<fc=black>CAPS</fc>"
else
str+="<fc=gray>CAPS</fc>"
fi
str+=" "
if [ $num -ne 0 ]
then
str+="<fc=black>NUM</fc>"
else
str+="<fc=gray>NUM</fc>"
fi
echo "$str"