LINUX.ORG.RU

Как узнать какая раскладка сейчас включена.


0

0

Как-то я создавал тему, там предлагали чета там написать, кароче никто ничего толком не ответил. А сейчас вот случайно нашел как - у меня показывались два значения - нажата ли капса и намлок, или нет. И все это нормально работало когда язык английсткий, а когда он был русский то ничего не работало. Оказывается когда раскладка другая то и коды другие, так вот можно узнать какая у тебя сейчас раскладка. Вот такой вам код даю, проверяйте, говорите какие у вас коды - интересно узнать везде ли они совпадают или нет.

#!/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"

если прочитать man xset, то

The particular LED values may refer to different LEDs on different hardware.

sergej ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.