Как отобразить текущую раскладку клавиатуры?

15

Есть ли утилита, позволяющая графически отображать текущую раскладку клавиатуры?

Это может быть полезно, например, когда вы пишете на иностранном языке, а на физической клавиатуре указывается только местный язык (расположение символов и т. Д.). Я хотел бы получить отображение, подобное следующему: введите описание изображения здесь

landroni
источник

Ответы:

9

xkeycaps Кажется, делать то, что вы хотите, если я вас правильно понимаю.

Дженни Д
источник
В самом деле! Я установил его, но забыл команду.
Ландрони
3
Это не будет работать (= отображать текущее отображение визуально как изображение), если пользователь внес изменения в ключевые символы, например, с помощью xmodmap. Если вы наведите курсор мыши на измененный ключ (и), строка keysym в верхней половине xkeycapsобновится корректно. Я исследую тот же вопрос, но я внес много изменений в xmodmap. Поэтому я искал хорошее средство для отображения текущих сочетаний клавиш.
Алекс Стрэджи
7

Из командной строки: gkbd-keyboard-display -l ir

Чтобы узнать, какие у вас установлены клавиатуры (например, чтобы найти код страны), используйте setxkbmap -query

Gessel
источник
3

Вы можете использовать xkbprintдля печати текущего макета.

Например, чтобы распечатать текущий макет в формате PDF

xkbprint -color "${DISPLAY}" - |\
    ps2pdf - > current_keyboard_layout.pdf

который производит:

результат xkbprint

поток
источник
1

Выбор текущего макета gkbd-keyboard-displayвозможен так:

#! /usr/bin/env fish
set layout (setxkbmap -query | grep layout | tr -s ' ' | cut -d ' ' -f2)
set variant (setxkbmap -query | grep variant | tr -s ' ' | cut -d ' ' -f2)
gkbd-keyboard-display -l $layout\t$variant

Или, аналогично:

#! /bin/bash
layout=`setxkbmap -query | grep layout | tr -s ' ' | cut -d ' ' -f2`
variant=`setxkbmap -query | grep variant | tr -s ' ' | cut -d ' ' -f2`
gkbd-keyboard-display -l ${layout}$'\t'${variant}
Рафаэль
источник