Я думаю, проблема в том, что вы смешиваете xmodmapкоманды с setxkbmapкомандами (будь то в командной строке или с помощью меню графических настроек). Как вы заметили, setxkbmapкоманды будут переопределять xmodmapкоманды при изменении раскладки клавиатуры. Поэтому логичным решением было бы использовать setxkbmapдля изменения как раскладки, так и запятой клавиатуры на десятичный период.
При использовании setxkbmapдля изменения макета также будут применяться любые указанные настройки: полный список параметров доступен по адресу /usr/share/X11/xkb/rules/evdev.lst. Я не знаю, какие языковые макеты вы используете, поэтому я поместил только два примера в конце следующей команды, которую вы можете использовать для переключения макетов с помощью ALt+ Shift. Если у вас есть еще какие-либо сопоставления клавиш или привязки, которые вы хотите активировать, просто добавьте их в команду:
setxkbmap -option '' -option kpdl:dot -option grp:switch,grp:alt_shift_toggle gb,nl
Первая команда switch ( -option '') удаляет все текущие настройки, так как при вводе новых настроек они добавляются и не заменяют никакие существующие, если не используется эта опция. Функция second ( -option kpdl:dot) гарантирует, что соответствующая клавиша на клавиатуре является точкой или точкой; третья команда switch ( -option grp:switch,grp:alt_shift_toggle) настраивает вашу способность переключать раскладки с помощью ALt+ Shift, а last ( gb,nl) задает раскладки для переключения.
Чтобы проверить настройки, вы можете ввести
setxkbmap -query
что приводит к:
rules: evdev
model: pc105
layout: gb,nl
options: kpdl:dot,grp:switch,grp:alt_shift_toggle
Добавьте полную setxkbmapстроку выше как элемент автозагрузки, чтобы убедиться, что он активирован и доступен для использования.
Дополнительную информацию setxkbmapможно получить, войдя в систему man setxkbmapили просмотрев страницы Ubuntu в Интернете .