Вопрос, не связанный с xfce4 или чем-либо еще из его зависимостей. Проблема была вызвана переключателем раскладки клавиатуры XNeur. Он определяет Tab
для своего действия abbreviation completion
и Shift Tab
для некоторых других действий. После очистки этих привязок все работает. Без него эти ярлыки никогда не улавливаются xev
.
Можно использовать tab-width.sh
такой скрипт:
#!/usr/bin/env bash
echo -ne 'a\tb' &&
echo -ne "\033[6n" # ask the terminal for the position
read -rs -d\[ _ # discard the first part of the response
read -rs -dR foo # store the position in bash variable 'foo'
foo=$(cut -d";" -f2 <<< "$foo") # discard row number
printf "\r\e[0K%d\n" $((foo - 2)) # subtract 2 for 'a' and 'b'
Адаптировано из этого ответа на Переполнение стека . Пример:
$ tabs 10
$./tab-width.sh
10
$ tabs 20
$./tab-width.sh
20
$ tabs 3
$./tab-width.sh
3
Используйте осторожно, скрипт тщательно не тестировался. Кажется работают хорошо в большинстве случаев, хотя одно и то же значение возвращается как для 1 и 2:
$ tabs 1
$./tab-width.sh
2
$ tabs 2
$./tab-width.sh
2
, но следует заметить, что вывод, возвращаемый echo -e 'a\tb'
, также одинаков в обоих случаях.