Я пробовал переназначить клавишу, которой нет на моей текущей клавиатуре, но не могу заставить ее работать в Ubuntu 17.04.
Я отредактировал файл.
/usr/share/X11/xkb/symbols/pc
Клавиша, которой мне не хватает на моей клавиатуре, находится ниже (справа от клавиши shift)
key <LSGT> { [ less, greater, bar, brokenbar ] };
Итак, я хочу заменить §ключ раздела ниже (слева от цифрового 1ключа) на ключ выше. Потому что я никогда не думал, что использовал этот ключ
Так что я бегу
xev -event keyboard
чтобы получить информацию о ключе. Но я не вижу номер ключа, который мне следует использовать?
KeyPress event, serial 28, synthetic NO, window 0x3400001,
root 0xdd, subw 0x0, time 18369362, (-451,244), root:(348,296),
state 0x0, keycode 49 (keysym 0xa7, section), same_screen YES,
XLookupString gives 2 bytes: (c2 a7) "§"
XmbLookupString gives 2 bytes: (c2 a7) "§"
XFilterEvent returns: False
Когда я это тестировал, у меня был ключ, чтобы просто проверить, поэтому я взял ключ, показанный ниже.
key <AD12> { [ U0328, dead_circumflex, dead_tilde, dead_caron ] };
И изменил это на.
key <AD12> { [ less, greater, bar, brokenbar ] };
И после этого я выполнил следующую команду, чтобы очистить кэш
sudo dpkg-перенастроить xkb-data
После этого я вышел и снова зашел. Но ключи остаются прежними и ничего не происходит?
Что я делаю не так?
решение1
С некоторой помощью комментария Гуннара я нашел ответ.
Когда я смотрел
/etc/default/keyboard
Чтобы увидеть мои текущие настройки клавиатуры в XKBLAYOUT.
Итак, я вернулся.
/usr/share/X11/xkb/symbols/
И изменил и ПК, и файл локали, который я нашел в настройке XKBLAYOUT выше.
От
key <LSGT> { [ less, greater, bar, brokenbar ] };
К
key <TLDE> { [ less, greater, bar, brokenbar ] };
Сделал ли
sudo dpkg-reconfigure xkb-data
Выделил и вставил обратно, и теперь все работает. И клавиша переназначена. (Не совсем уверен, зачем мне пришлось менять и файл ПК, и файл локали, я думал, что файл ПК будет иметь приоритет над файлом локали)