LINUX.ORG.RU

Как в Astra Linux назначить комбинацию клавиш для ввода символа «₽»?

 ,


2

1

В своё время задал этот вопрос на форуме Astra Linux, но там посоветовали какой-то способ для осьминогов:

Вот попробуйте так: Ctrl+Shift+U 20 b d Enter

Может есть менее замороченный способ?

★★★★★

Сохраните символ в файлик и копируйте из него и вставляйте когда нужно.

Способ который вам предложили верный.

anonymous
()

Compose. Клавишу можно назначить в ДЕ либо в xorg.conf. Под вялендом тоже работает, но не помню как.

Затем в ~/.XCompose задаются последовательности клавиш вроде <Multi_key> <P> <minus> : "₽".

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 3)

Вот попробуйте так: Ctrl+Shift+U 20 b d Enter

Это ibus.

bhfq ★★★★★
()
Ответ на: комментарий от token_polyak

Затем в ~/.XCompose задаются последовательности клавиш вроде <Multi_key> <P> <minus> : «₽».

А я на русскую вешаю, так как знак рубля обычно в русских текстах идет. Чтобы раскладку не переключать.

include "%L"

<Multi_key> <Cyrillic_er> <equal> : "₽" rublesign # RUSSIAN RUBLE SIGN
Zubok ★★★★★
()

Можно, в общем-то, и на большую повесить, и на маленькую, и на латинскую.

<Multi_key> <p> <equal>           : "₽" U20BD # RUSSIAN RUBLE SIGN
<Multi_key> <P> <equal>           : "₽" U20BD # RUSSIAN RUBLE SIGN
<Multi_key> <Cyrillic_ER> <equal> : "₽" U20BD # RUSSIAN RUBLE SIGN
<Multi_key> <Cyrillic_er> <equal> : "₽" U20BD # RUSSIAN RUBLE SIGN
Zubok ★★★★★
()

Кстати, а Astra же от Debian идет. В Debian (не знаю, везде ли так) в /usr/share/X11/locale/en_US.UTF-8/Compose уже все заведено, оказывается. Просто у меня это было давно сделано самостоятельно, поэтому не знал, с комбинацией такой же угадал (ну почти, тут на русскую «З» повесили):

<Multi_key> <P> <equal>                 : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <p> <equal>                 : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <equal> <P>                 : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <equal> <p>                 : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <Cyrillic_ZE> <equal>       : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <Cyrillic_ze> <equal>       : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <equal> <Cyrillic_ZE>       : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <equal> <Cyrillic_ze>       : "₽"   U20bd # ROUBLE SIGN

Файл из локали ru_RU.UTF-8/Compose этот файл включает в себя.

Zubok ★★★★★
()
Ответ на: комментарий от Mischutka

Это клавиша Compose. которая может быть назначена на что угодно. setxkbmap -query

Чтобы посмотреть какая сейчас

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

setxkbmap -query
rules: evdev
model: pc105
layout: us,ru
variant: basic,winkeys
options: grp:alt_shift_toggle,grp_led:scroll,misc:typo

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Mischutka

Вот так в Debian можно настроить. Наверное, и в Astra. Попробуй - скажешь:

sudo dpkg-reconfigure keyboard-configuration

Там будет вопрос про Multi_key и к чему ее привязать. Результаты запишутся в файл /etc/default/keyboard (хотя я не знаю, есть ли этот файл с systemd). Потом перезагрузись.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Mischutka

<Multi_key> - это клавиша win или её как-то отдельно нужно указывать?

Ну или в среде (DE) своей посмотри. Я не пользуюсь средами, поэтому не знаю. У меня через иксы настроено. В средах надо поискать про Compose Key.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Речь об этом?

В некоторых раскладках клавиатуры есть клавиша-модификатор AltGr, используемая для ввода, в основном, редко используемых в языке раскладки клавиатуры символов, например, символа национальной валюты и символы с диакритическим знаком. Они часто указаны на клавишах как дополнительные символы.

Клавиша, используемая как AltGr:

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Mischutka

setxkbmap -option compose:rwin

Примерно такой командой можешь выставить. Но это до перезагрузки.

Xenius ★★★★★
()
Ответ на: комментарий от Zubok

Нашёл, установил левую клавишу с логотипом. В /usr/share/X11/locale/en_US.UTF-8/Compose у меня прописано следующее:

<Multi_key> <P> <equal> : «₽» U20bd # ROUBLE SIGN

<Multi_key> <p> <equal> : «₽» U20bd # ROUBLE SIGN

<Multi_key> <equal> <P> : «₽» U20bd # ROUBLE SIGN

<Multi_key> <equal> <p> : «₽» U20bd # ROUBLE SIGN

<Multi_key> <Cyrillic_ZE> <equal> : «₽» U20bd # ROUBLE SIGN

<Multi_key> <Cyrillic_ze> <equal> : «₽» U20bd # ROUBLE SIGN

<Multi_key> <equal> <Cyrillic_ZE> : «₽» U20bd # ROUBLE SIGN

<Multi_key> <equal> <Cyrillic_ze> : «₽» U20bd # ROUBLE SIGN

Что означает <equal> и в чём разница между, например, Multi_key> <P> <equal> и <Multi_key> <equal> <P>?

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Mischutka

equal

=

в чём разница

В порядке. Нужно буквально нажать и отпустить клавиши в этом порядке. Не надо их держать вместе как в аккордных хоткеях.

x3al ★★★★★
()
Ответ на: комментарий от Mischutka

По идее это должно работать только в программах, запущенных после изменения файла.

Xenius ★★★★★
()
Ответ на: комментарий от Mischutka

Понажимал, символ «₽» так и не появился.

Перегружался? Тогда покажи вывод setxkbmap -query для начала, чтобы убедиться, что сконфигурировалось.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Перезагружался, но изменений в выводе setxkbmap -query не заметил:

rules: evdev
model: pc105
layout: us,ru
variant: basic,winkeys
options: grp:alt_shift_toggle,grp_led:scroll,misc:typo

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Mischutka

Ну не сконфигурировано же. Ты что-то неправильно сделал. Ладно, сделай пока временно:

$ setxkbmap -option "grp:alt_shift_toggle,grp_led:scroll,misc:typo,compose:rwin"

У тебя есть правый Win? После этой команды он станет Compose Key. Перезапускай приложения и проверяй. Перезапускать систему не надо. Но это будет до перезагрузки работать. Проверяй на разных тулкитах: Qt, Gtk, какие есть, в общем.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Mischutka

Правого Win у меня на клавиатуре нет.

Alt правый есть? тогда замени rwin на ralt.

Zubok ★★★★★
()

Стандартный способ назначения клавиш не работает?

И да «super+ь» стандартный способ ввода.

anonymous
()
Ответ на: комментарий от Mischutka

Понажимал, символ «₽» так и не появился.

Во, кстати, обнаружил, что в раскладку winkeys добавили знак рубля. Он повешен на «8»: /usr/share/X11/xkb/symbols/ru

// Windows layout
default  partial alphanumeric_keys
xkb_symbols "winkeys" {

    include "ru(common)"
    name[Group1]= "Russian";

    key <AE03> { [           3,  numerosign  ] };
    key <AE04> { [           4,   semicolon  ] };
    key <AE05> { [           5,     percent  ] };
    key <AE06> { [           6,       colon  ] };
    key <AE07> { [           7,    question  ] };
    key <AE08> { [           8,    asterisk, U20BD  ] };
                                             ^^^^^
    key <AB10> { [      period,       comma  ] };
    key <BKSL> { [   backslash,       slash  ] };
};

Значит, можно прикрутить к lv3 какую-то кнопку типа ralt:

$ setxkbmap -option ""
$ setxkbmap -option "grp:alt_shift_toggle,grp_led:scroll,misc:typo,lv3:ralt_switch"

Дальше *в русской раскладке* (!) нажимаешь правый Alt и 8 - появится знак рубля. Вот я печатаю символы таким образом - правый Alt + 8 в русской раскладке: ₽₽₽₽.

Zubok ★★★★★
()

Добавлю в закладки тему. Хоть мы только устанавливаем астру, но мало ли чё....

petyanamlt ★★★★
()
Ответ на: комментарий от Mischutka

Попробовал ещё раз, но всё без изменений:

setxkbmap -query
rules: evdev
model: pc105
layout: us,ru
variant: basic,winkeys
options: grp:alt_shift_toggle,grp_led:scroll,misc:typo

Может после ввода sudo dpkg-reconfigure keyboard-configuration и настройки опций нужно как-то сохранять изменения, а то в итоге у меня утилита сама завершает работу и всё?

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Mischutka

Может после ввода sudo dpkg-reconfigure keyboard-configuration и настройки опций нужно как-то сохранять изменения, а то в итоге у меня утилита сама завершает работу и всё?

Что в файле /etc/default/keyboard после работы конфигурации?

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL=«pc105»
XKBLAYOUT=«us,ru»
XKBVARIANT=","
XKBOPTIONS=«grp:alt_shift_toggle,lv3:ralt_switch,grp_led:scroll»

BACKSPACE=«guess»

Но это уже после включения третьего уровня раскладки и назначения правого альта клавишей Compose через графическую утилиту: ПКМ на индикаторе раскладки/Свойства, вкладка «Опции XKB», а в ней, соответственно «Комбинации клавиш для 3 уровня» и «Позиция клавиши Compose».

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Mischutka

1. Ну вот lv3 дописался - это я вижу. Значит, надо перезагрузиться, так как не хочу сейчас уходить в раунд объяснений, как перезапускать сервис. Далее попробуй переключиться в русскую раскладку и набрать <Right Alt>+<8>. Если ничего не будет, то посмотри файл /usr/share/X11/xkb/symbols/ru. есть ли там в самом начале подчеркнутое здесь (U20BD): Как в Astra Linux назначить комбинацию клавиш для ввода символа «₽»? (комментарий) . Вдруг в Astra не добавлено. Кстати, вполне может быть, что в Astra могли в этом месте по-своему сделать или вообще не сделать.

2. А на что ты вешал Compose? Он-то как раз не сконфигурирован. Значит, сам сделай, потому что я не могу помочь с работой утилиты. Может, ты что-то не так делаешь. Зайди:

$ sudo nano /etc/default/keyboard

и исправь XKBOPTIONS на "grp:alt_shift_toggle,compose:ralt,grp_led:scroll"

Когда исправил, то Ctrl-O (запись), Ctrl-X (выход). Проверь еще раз этот файл, что исправления есть. Далее перезагруз. Правый Alt будет Compose Key. Можно одновременно и lv3 сделать и Compose, но только надо на разные кнопки вешать. Не знаю, какие у тебя есть свободные. Посмотреть, на что можно «из коробки» повесить, можно в man xkeyboard-config в таблицах там.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

Перезагрузился, при нажатии правого альта и 8 печатается символ «∞».

Содержимое файла /usr/share/X11/xkb/symbols/ru:

// Windows layout
default  partial alphanumeric_keys
xkb_symbols "winkeys" {

    include "ru(common)"
    name[Group1]= "Russian";

    key <AE03> { [           3,  numerosign  ] };
    key <AE04> { [           4,   semicolon  ] };
    key <AE05> { [           5,     percent  ] };
    key <AE06> { [           6,       colon  ] };
    key <AE07> { [           7,    question  ] };
    key <AE08> { [           8,    asterisk, U20BD  ] };

    key <AB10> { [      period,       comma  ] };
    key <BKSL> { [   backslash,       slash  ] };
};

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Mischutka

Перезагрузился, при нажатии правого альта и 8 печатается символ «∞».

Чо? Это у тебя compose, похоже, работает на правом Alt, потому что именно если ты нажемшь правый Alt, отожмешь его, потом 8, отожмешь 8, потом еще раз 8, отожмешь 8, то появляется ∞. Так и настроен Compose.

Покажи еще раз setxkbmap -query. Если в этой Astra есть своя конфигурилка клавиатуры, то она может при загрузке графической среды перезаписать настройки клавиатуры.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

setxkbmap -query

rules:      evdev
model:      pc105
layout:     us,ru
variant:    basic,winkeys
options:    grp:alt_shift_toggle,grp_led:scroll,misc:typo,lv3:ralt_switch

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Zubok

Сейчас проверил ещё раз: зажимаю правый альт, нажимаю клавишу «8» и в geany печатается символ «∞».

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Zubok

... если ты нажемшь правый Alt, отожмешь его, потом 8, отожмешь 8, потом еще раз 8, отожмешь 8, то появляется ∞.

В итоге напечаталось «88».

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Mischutka

У Astra есть свой конфигуратор в графике. https://tour.astralinux.ru/help/setup/fly-xkbmap.html

Конфигурируй оттуда. Он переопределяет все. Вот там в опциях команды setxkbmap надо указать. Там есть про Compose (Multi_key)? Если нет, то надо просто в строчке «команда:» указать ,compose:ralt. Что там у тебя вообще изначально написано?

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Что-то я запутался. Я правый альт установил для lv3. Теперь его же (правый альт) указать и для Compose? Но ведь:

Можно одновременно и lv3 сделать и Compose, но только надо на разные кнопки вешать.

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Zubok

Кстати, у меня знак рубля через Compose не вводится, хотя другие символы вводятся нормально. Но если прибить ibus, то внезапно рубль уже можно вводить. Видимо, какой-то конфликт с комбинациями IBus.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Но если прибить ibus, то внезапно рубль уже можно вводить.

Это запросто может быть. Вместо ibus надо xim (GTK_IM_MODULE=xim gtk-application) тогда указывать. Но раз стоит ibus и используется, то это не вариант. Однако раз другие комбинации работают, то, вероятно, ibus все же читает конфигурацию XCompose самостоятельно. Такая же ситуация с умолчательным Input Module у GTK, кстати. По какой-то причине именно знак рубля игнорирует. Попробуй тогда так: Создай ~/.XCompose и впиши туда и перезапусти прикладуху:

include "%L"

<Multi_key> <P> <equal>                 : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <p> <equal>                 : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <equal> <P>                 : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <equal> <p>                 : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <Cyrillic_ZE> <equal>       : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <Cyrillic_ze> <equal>       : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <equal> <Cyrillic_ZE>       : "₽"   U20bd # ROUBLE SIGN
<Multi_key> <equal> <Cyrillic_ze>       : "₽"   U20bd # ROUBLE SIGN

С этой затычкой умолчательный IM у GTK начинает работать. С ibus не пробовал (не использую), но вдруг и с ним заработает. С Qt же вроде проблем нет.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Mischutka

Что-то я запутался. Я правый альт установил для lv3. Теперь его же (правый альт) указать и для Compose? Но ведь:

Сконфигурируй что-нибудь одно для начала. В этой графической конфигурялке на закладке «Опции XKB» есть что-то про Compose Key (multi_key) или как-то по-русски она может быть названа?

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Mischutka

Перезагрузился, при нажатии правого альта и 8 печатается символ «∞».

Теперь попробуй правый alt + H.

Aceler ★★★★★
()
Ответ на: комментарий от Zubok

В этой графической конфигурялке на закладке «Опции XKB» есть что-то про Compose Key (multi_key) или как-то по-русски она может быть названа?

Позиция клавиши Compose.

Mischutka ★★★★★
() автор топика
Ответ на: комментарий от Mischutka

Короче, модификатор третьего уровеня у тебя настроен, должно быть так:

alt + Y ¥
alt + H ₽
alt + T ™ 
alt + R ®
alt + E €

И так далее

Aceler ★★★★★
()
Ответ на: комментарий от Mischutka

Любая, в том и прелесть. Я клавиши написал в английской для единообразия.

Не знаю, почему у тебя не работает настройка клавиши Compose, но вывод

options:    grp:alt_shift_toggle,grp_led:scroll,misc:typo,lv3:ralt_switch

прозрачно намекает, что все дополнительные символы должны вводиться, а тот факт, что alt + 8 вводит ∞ и alt + Y вводит ¥, говорит, что alt + H должен вводить ₽.

Если не работает, значит в астре слишком старые раскладки положены и придётся их курочить.

Aceler ★★★★★
()
Последнее исправление: Aceler (всего исправлений: 1)
Ответ на: комментарий от Aceler

Короче, модификатор третьего уровеня у тебя настроен, должно быть так:

Здесь не только модификатор третьего уровня. Должно быть еще misc:typo. Эта опция как раз добавляет к английской раскладке некоторые символы национальных валют. Если не указать, то работать не будет. У него вроде конфигурялка эта указывает. Она все равно все перезаписывает, хотя там есть галка «Сбросить старые настройки», которая, вероятно, будет системные читать.

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.