Настройка дополнительных клавиш в консоли

0

В консоли порядок настройки дополнительных клавиш несколько отличается от графического режима. Вывод «dmesg» рекомендует назначить клавишные коды, с помощью команды «setkeycodes». Но здесь есть отличия, клавишных команд в консоли не может быть больше 128 то есть следует выбирать значения от 0 до 127:

$ setkeycodes 0xec 118

Посмотреть свободные значения можно в файле текущей клавиатурной раскладки. В Ubuntu и всех дистрибутивах базирующихся на Debian это обычно /etc/console-setup/boottime.kmap.gz. Скорее всего, будут заняты все клавиши, но часто не все из них действительно задействованы. Если после запуска проблем с клавишами нет, то заносим эту строку в один из стартовых скриптов, например в /etc/init.d/rc.local. Теперь осталось задать соответствие клавиши и выполняемого действия. Здесь уже просто для творчества даже больше чем в Х. В man keymaps (5) процедура установки соответствия keycode выглядит так:

{ plain | } keycode keynumber = keysym

То есть можно указать так:

keycode 105 = Decr_Console

# переключение консоли на одну назад при нажатии на клавишу с кодом 105

alt keycode 106 = Incr_Console

# переключение консоли на одну вперед при нажатии на Alt и клавишу с кодом 106

Но можно создавать и свои варианты, указывая команду в переменных:

keycode 120 = F100

string F100 = «/sbin/shutdown -h now\n»

То есть по нажатию клавиши с кодом 120 будет выполнено действие, указанное в переменной F100, то есть в нашем случае задано выключение компьютера. Вместо F100 естественно можно использовать другое имя. Теперь не менее важная часть, куда это все записывать. В документации и в многочисленных советах предлагается для этих целей использовать текущий файл консольной раскладки, то есть в нашем случае boottime.kmap.gz. Кстати это единственный файл описания раскладок доступный после установки KUbuntu, чтобы увидеть остальные варианты следует установить пакет console-data. После чего в /usr/share/keymaps/i386/ появится несколько подкаталогов с файлами внутри. Но такой способ несколько неудобен, например, при переходе на другую раскладку (в Ubuntu и некоторых других дистрибутивах для этих целей используйте файл /etc/default/console-setup, либо ~/.console-setup), все настройки придется перенести в другой файл. Но если решитесь на этот шаг, используйте имеющиеся записи как шаблон, ничего не записывая на первую позицию, а в конце не забудьте оставить пустую строку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *