xev не показывает названия функциональных клавиш

Для меня в Fedora 29 установите диск bcm43228 с репозиторием rpmfusion.

# view info
lspci | grep -i broadcom

# installing
dnf install "kernel-devel-uname-r == $(uname -r)"
dnf install akmods
dnf install kmod-wl # dependences including akmod-wl and broadcom-wl

# reboot
reboot
1
16.04.2021, 08:53
1 ответ

NoSymbolпросто означает, что для этого ключа нет предопределенного имени. Они перечислены в файле keysymdefs.h, который существенно не изменился за последние двадцать -с лишним лет (см. это например, или это).

Этот файл используется для создания списка имен, с которым консультируются xevи связанные с ним программы. Для xevэто делается с помощью

  • XLookupStringили
  • XmbLookupString.

В любом случае, он опирается на таблицу, сгенерированную из keysymdef.h, как указано в исходном коде :

.
    /* Constructs hash tables for XStringToKeysym and XKeysymToString. */
    # Building ks_tables.h requires the makekeys utility

Никто на самом деле не хочет добавлять в этот файл, потому что это смесь кодов, соответствующих (, но не соответствующих )Unicode, и специальных функциональных клавиш, таких как тот, о котором вы спрашивали. Большинство специальных клавиш были определены до того, как в начале 1990-х годов было введено расширение клавиатуры X, и этот (Xkb )по существу позволяет просто идентифицировать клавиши в соответствии со строкой и столбцом, в которых они находятся на клавиатуре, а не пытаясь назвать все.

На этой странице есть ссылки на таблицы, иллюстрирующие, как xterm использует ключевые модификаторы -. СтолбецNameтаблицы раскладок — это имя, используемое Xkb, которое, как вы видите, обычно представляет собой просто строку/столбец, за исключениемоченьобщих ключей, таких какESC(дляПобег).

1
28.04.2021, 22:52

Теги

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