@kripton3000
Бекенд- и немного фронтенд-разработчик

Как получить текущую раскладку X11?

Помогите правильно, наименее "костыльно" получить текущую раскладку X11.
Сейчас используется такой вариант:
Установлена утилита skb от малоизвестного автора, соответственно в состав никакого дистрибутива не входит.
В Python коде использую её так:

import subprocess

keyboard = subprocess.check_output(['skb', '-now']).strip()


Существует обвязка поверх Xlib
Но там я не нашел реализации функции, а-ля "получить текущую раскладку клавиатуры". Интересует метод получения раскладки клавиатуры, более приемлемым способом.
  • Вопрос задан
  • 3450 просмотров
Пригласить эксперта
Ответы на вопрос 1
kenny_opennix
@kenny_opennix
setxkbmap -print и setxkbmap -query

Они показывают клавиатуру по умолчанию, можно через костыль сделать так.
import commands
layout= commands.getoutput("xset -q|grep LED| awk '{ print $10 }' ")
if layout == '00001004':
	print "en"
if layout=='00000000':
	print "ru"

у меня русская раскладка 00000000, а английская 00001004
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы