Это работает для текущего сеанса:
costales@dev:~/Desktop$ xmodmap -e "keycode 166 = less"
costales@dev:~/Desktop$ xmodmap -e "keycode 167 = greater"
Затем я создал этот файл конфигурации:
costales@dev:~/Desktop$ cat ~/.Xmodmap
keycode 166 = less
keycode 167 = greater
costales@dev:~/Desktop$
Но он не работает после перезагрузки. Как я мог заставить переназначить после перезагрузки?
Я немного использовал 16.04 и, похоже, использует sddm в качестве диспетчера рабочего стола. Раньше это были LightDM и GDM. Документировано, что оба его предшественника загружают ~ / .Xmodmap
автоматически, но я не могу найти ничего, что явно говорило бы, что sddm делает.
Поэтому может быть целесообразно просто принудительно загрузить его с новым скриптом. Вам просто нужно запустить xmodmap ~ / .Xmodmap
, и вы можете сделать это несколькими способами:
~ /. xinitrc
, чтобы запустить его. .desktop
в ~ / .config / autostart /
Вероятно, есть несколько десятков других способов справиться с этим, по сути, делает то же самое.
Я добавил файл / etc / X11 /Xsession.d/80_xmodmap
со следующим содержанием:
#!/bin/sh
# Set custom keycodes
#
# This file is sourced by Xsession(5), not executed.
# The "|| true" is to ensure that the Xsession script does not terminate on error
USRMODMAP="$HOME/.Xmodmap"
if [ -x /usr/bin/xmodmap ]; then
if [ -f "$USRMODMAP" ]; then
/usr/bin/xmodmap "$USRMODMAP" || true
fi
fi
Это работает каждый раз.
открыть свойства сеанса gnome. добавить команду и имя. файл рабочего стола будет создан в ~ / .config / autostart.
напоминание: используйте абсолютный путь , например /home/xxx/.Xmodmap. никогда не используйте "~" в качестве домашнего каталога.
Поскольку файлы .Xmodmap редактировать гораздо проще, чем xkb, я использую .Xmodmap как «исходный» файл, затем конвертирую его в xkb (текущий стандарт) и автозагрузка при загрузке с использованием метода .bashrc.
Это несколько простых шагов, опубликованных здесь .
Отлично работает и использует xkb для защиты от будущего при отказе от поддержки .Xmodmap.
top
в терминале для проверки этого. Однако я принял бы решение иметь, по крайней мере, некоторую область подкачки 4-8GB.
–
25 June 2017 в 20:47
По моему многолетнему опыту переназначения ключей в Ubuntu, постоянным решением является изменение файла с именем evdev
в / usr / share / X11 / xkb / keycodes
.
Запустите эту команду в командной строке.
sudo gedit / usr / share / X11 / xkb / keycodes / evdev
Помните, что gedit - это текстовый редактор Ubuntu, поэтому вы можете использовать nano или vim вместо gedit.
Файл имеет формат: АЛИАС: КОД. Вы можете менять местами кнопки, меняя местами коды разных клавиш. Например, чтобы заменить RCONTROL на RETURN, отредактируйте две строки в evdev так:
Чтобы узнать числовой код для запуска кнопки xev
на терминале.
Перейдите к
/usr/share/X11/xkb/symbols
С привилегиями sudo в редакторе откройте макет, который вы хотите отредактировать. Замените значения.
После перезагрузки изменения будут применены.
Вот пример, который я использую для переназначения моей клавиатуры из-за проблем с оборудованием клавиатуры.
После поиска в Google мне удалось разрешить переопределение неисправных ключей моего ноутбука. Все неисправные ключи на моем Thinkpad T400 после перезагрузки работают нормально. Кроме того, он работает на постоянной основе без дополнительной нагрузки на ядро процессора.
Сначала найдите раскладку клавиатуры или код клавиши, используя нижеприведенную команду.
xev -event keyboard
Например, на моем Thinkpad T400 код клавиши найден следующим образом:
Код клавиши "z" - 52
Код клавиши "x" - 53
Клавишный код клавиши "c" - 54
Код клавиши "v" 55
Код клавиши "F6" - 72
Код клавиши "F10" - 76
Код клавиши "F11" - 95
Код клавиши "F12" - 96
Удаление символьных клавиш "z" "x" "c" "v" путем назначения функциональных клавиш "F6" "F10" "F11" "F12".
Изменение строк, как показано ниже (Резервный файл перед внесением любых изменений, чтобы легко откатиться, если что-то пойдет не так).
sudo vi /usr/share/X11/xkb/keycodes/evdev
Найдите строки и измените значение следующим образом:
= 72;
= 76;
= 95;
= 96;
Комментируйте эти строки или удаляйте их:
// = 72;
// = 76;
// = 95;
// = 96;
Сохранить и выйти.
Для сохранения специальных ключей:
Резервный файл перед внесением изменений для отката, если что-то пойдет не так.
cd /usr/share/X11/xkb/символы/
судо vi ПК
Добавление или изменение строк ниже в функции "xkb_symbols "editing" {"
key [SCLK] { [ [ Prior ] ] };
клавиша [PAUS] { [ [ Далее ] ] };
Сохранить и выйти.
Очистить кэш.
sudo rm -rf /var/lib/xkb/*
Перезагрузка.
Перейдите в Startup Applications и сделайте новую запись с содержимым, показанным на следующем снимке экрана:
Работает каждый раз.