LM 16 Cinnamon: Ввод нестандартных символов с клавиатуры

/ Просмотров: 5393
Метки: ,

Вроде бы инструкций и описаний этого дела в интернете до фига. Но странно, что они либо какие-то сложные или запутанные, либо касаются олдскульных систем, с "правильным" расположением "правильного" /etc/X11/xorg.conf, чего на Ubuntu-based осях давно уже нет.

В ОС LinuxMint 16 "Petra" Cinnamon данная задача решается не просто и даже не очень просто, а примитивно.

Открываем "Центр управления" → "Региональные настройки".

Там открываем вкладку "Раскладки клавиатуры", а в ней – "Параметры", где:

    1) Открываем "Положение клавиши Compose" и выбираем клавишу (я выбрал Pause/Break)

    2) Открываем "Разные параметры совместимости" и ставим галку на "Включить дополнительные типографские символы".

Готово!

Конкретный пример использования

Чтобы, к примеру, получить такое:

Сегодня к ночи морозец поприжал, уже -9°

нужно в LibreOffice либо в Gedit или в чем там вы печатаете, набрать всё до знака градуса, затем (переключившись в eng-раскладку) нажать однократно Pause/Break и дважды нажать "o", т.е., иными словами, набрать комбинацию "о-о". В результате напечатается знак градуса, а действие compose-клавиши Pause/Break будет сброшено до следующего нажатия.

Note:   Для vim-юзеров есть свои, независимые от системы приемы ввода нестандартных символов (см. справку по команде в vim :h digrafs, или по-русски, например, здесь: http://habrahabr.ru/post/29282/

Сочетания клавиш для нестандартных символов

Даже ежу понятно, что главное в этом деле — иметь под рукой список кейбиндов для символов, либо лошадиную память для их хранения. Второе, как вы понимаете, отпадает, поскольку противоречит концепции сайта MintMem.com smile

Самый популярный в интернете список расположен здесь. Разумно добавить эту страницу в закладки, или сделать из нее удобную выжимку для личных нужд, как это сделал Алекс Эфрос aka Powerman.

Совет:   дотошные юзеры могут найти полный список в файле /usr/share/X11/locale/en_US.UTF-8/Compose, в котором около 6 000 строк...

Как настроить кейбинды "под себя", выяснить "истинные" имена клавиш и написать свой конфиг, смотрите статью автора под ником "о_О Тынц" на Хабре.

Еще несколько полезных ссылок:

Ввод символов с акцентами в Linux
Как набирать с клавиатуры ударения в словах
Как задавать произвольные Compose-последовательности

Комментариев: 4 RSS

Ваша заметка сподвигла меня на сочинение суперминималистического справочника по compose sequence http://alv.me/?p=7691

Нужное дело!
Я всё собирался смастерить шпаргалку побольше, да пока соберусь...

Можно забиндить любые нужные символы на любые клавиши, прописав 1 строчку в xmodmap. Я остановился на этом, т.к. остальные решения, которые находил, почему-то не срабатывали. Опишу здесь, т.к. сам долго искал в гугле и не нашел ничего подобного.

Допустим нужно забиндить « и », на клавиши Page Up и Page Down соответственно. Сначала через xev (запускать в терминале) узнаем keycode этих клавиш.

После этого идем в Character Map (на минте) или его аналог, где узнаем коды клавиш « и » в UTF-16 (это есть в описании каждого символа).

После этого идем в Startup Applications и создаем по очереди 2 Startup Program следующего содержания:

xmodmap -e "keycode 112 = 0x00AB"

и

xmodmap -e "keycode 117 = 0x00BB"

Где 112 - keycode Page Up, 112 - Page Down, а 0x00AB и 0x00BB - коды клавиш « и » соответственно.

Очень интересно, спасибо. Любознательным читателям будет полезно, хотя, должен сказать, это несколько другая лига, ближе к Арчу.

Да и кажется мне, что и решение это отработано не в LM (в Минте "Character Map" и "Startup Applications" давно уже "Таблица символов" и "Запускаемые приложения"). Следует также пояснить, почему кейкод берется в utf-16, а не в utf-8.

И главное: какова реальная применимость такого способа? На клаве практически нет "лишних" клавиш, часто берёт досада, что их вообще мало. В таких условиях гораздо более правильным выглядит не переназначение клавиш, а включение дополнительного режима, как это и сделано в методе Compose (или как в "нормальном" режиме вима, где есть еще и пользовательское пространство имен). Ваш способ не расширяет возможности клавы, а модифицирует их.

Но, повторяю, любопытным читателям (какими должны быть все линуксоиды smile) будет знать об этом интересно и полезно.

Оставьте комментарий

Комментарий будет опубликован после проверки

(обязательно)