@ Відповідь Даніеля вказала мені на правильний шлях, але я хотів би продовжити це.
Для мене працює на Linux Mint 17.2 та Ubuntu 16.04.
Я спробував усі повороти, про які я міг би продовжувати використовувати xmodmap
, але всі вони виходять з ладу, коли система переходить у сплячий режим. Те ж стосується і сценаріїв запуску програми, які використовуються setxkbmap
у випадках, коли * налаштування-демон (для мене це xfce4) працює пізніше, ніж сценарій --- і на порядок реально не може вплинути.
Що я нарешті придумав, має такі інгредієнти:
1) Напишіть мінімальний файл зіставлення клавіатури для /usr/share/X11/xkb/symbols
. Давайте може зателефонувати у файл. mylayout
Це може бути так само просто
xkb_symbols "basic" {
name[Group1] = "My Layout";
include "us"
key <AE03> { [ 3, numbersign, sterling, sterling] };
include "level3(ralt_switch)"
}
basic
це лише ім'я, ми зустрінемо його згодом ще раз.
name[Group1]
Так само просто назва, здається, але він не буде грати ніякої ролі пізніше.
include "us"
включає звичайну нам клавіатуру. Насправді us
це ще один файл у тому ж каталозі. Це розкладка клавіатури, яку ми адаптуємо. Виберіть інший за потребою. Примітка: для закінчення цього рядка немає крапки з комою.
key
Лінія одна адаптація клавіатури, більше може слідувати. <AE03>
Можна знайти в файлах під /usr/share/X11/xkb/keycodes
. Використовуйте xev
програму, щоб з'ясувати, що у клавіші "3" є код 12, а у файлі клавішних кодів Xfree86
він відображається <AE03>
.
- Нарешті, ще одна
include
директива щодо активації іншої опції клавіатури, в цьому випадку я хочу, щоб потрібна клавіша Alt була клавішею перемикання рівня 3, тобто клавіша, яка надає доступ до sterling
знаку, визначеного нами вище. level3
це лише ім'я файлу в одній папці з ralt_switch
одним його розділом. Погляньте навколо і виберіть, що вам потрібно включити.
2) Я не помістив mylayout
в системну папку. Швидше я зробив лише м'яке посилання від системної папки до папки, яка мені сподобалася, щоб відразу побачити, що це не запас програмного забезпечення.
3) Далі я не виправляв evdev.xml
, знову, щоб запобігти клопотам з оновленням. Але це було б необхідно для пошуку mylayout у редакторі конфігурації клавіатури (для xfce4 це xfce4-keyboard-settings
). Замість цього я xfce4-settings-editor
і змінив keyboard-layout->XkbLayout
до mylayout
(ім'я файлу) і XkbVariant
до basic
(див . Вище) Після цього mylayout/basic
відображається і в редакторі налаштувань клавіатури. Введення, evdev.xml
здається, необхідне лише для того, щоб можна було вибрати макет.
Таким чином, налаштування клавіатури тепер переживають режим сну та перезавантажуються.
Більше інформації можна знайти тут: http://www.charvolant.org/~doug/xkb/html/node5.html .
Інший підхід до вирішення проблеми режиму сну (не пробував себе), можна знайти тут: https://www.vinc17.net/unix/xkb.en.html .
ОНОВЛЕННЯ: працював з Mint 18.3 тієї ж миті, коли я змінив налаштування в xfce4-editor-editor, як описано вище.
ОНОВЛЕННЯ: З 18.04, gdm3 як диспетчер дисплея і XFCE4 як менеджер вікон, схоже, що ~ / .Xmodmap читається ще раз, і налаштування, схоже, призупиняється. (Я рідко використовую призупинення, і я ніколи не знаю, у якому режимі перебуває ноутбук.)