Точка на цифровой клавиатуре: различия между версиями

Материал из ALT Linux Wiki
м (fix typos)
Нет описания правки
 
Строка 1: Строка 1:
== Точка на цифровой клавиатуре (в X Window System) ==
== Точка на цифровой клавиатуре в X Window System ==


Согласно российским стандартам десятичным разделителем является символ "," (запятая). Поэтому в русской раскладке на цифровой клавиатуре нажатие клавиши Del (традиционно расположенная между 0 и Enter) приводит к печати запятой. Это просто нереально раздражает многих пользователей, привыкших набирать, например, IP-адреса. Так же раздражение испытывают некоторые бухгалтеры.
Согласно российским стандартам десятичным разделителем является символ "," (запятая). Поэтому в русской раскладке на цифровой клавиатуре нажатие клавиши Del (традиционно расположенная между 0 и Enter) приводит к печати запятой. Это просто нереально раздражает многих пользователей, привыкших набирать, например, IP-адреса. Так же раздражение испытывают некоторые бухгалтеры.
Строка 51: Строка 51:
'''
'''


=== Отдельное замечание про OpenOffice.оrg ===
== Точка на цифровой клавиатуре — в Wayland ==
=== Plasma6/KDE ===
Вообще-то в КДЕ в настройках клавиатуры есть возможность выбрать поведение клавиши Del на цифровой клавиатуре {{nav|Параметры систему|Клавиатура|Комбинации клавиш (справа вверху)|Поведение Delete на цифровой клавиатуре}}. И там можно указать, например, {{nav|Клавиша Legacy с точкой}} или {{nav|Четырёх-рядная клавиша с точкой}}. Первое приводит к появления опции '''kpdl:dot ''', а второе '''kpdl:dotoss''' в файле ~/.config/kxkbrc. Во втором случае точка в русской раскладке набирается, но при зажатой клавише Ctrl, а в первом случае ничего не меняется — в русской раскладке остается запятая (по ситуации на начало 2025 года).
 
 
Наиболее простой способ добиться точки на цифровой клавиатуре — использовать раскладку '''Русская - Русская (инженерная, кириллица)'''. В ней не только исправлена проблема точки, но и добавлен полезный третий ряд символов на некоторые клавиши.
 
 
== Отдельное замечание про OpenOffice.оrg/LibreOffice.org ==
OOo отличается слегка своеобразным поведением: по умолчанию он всегда ставит запятую в русской раскладке, игнорируя настройки Xkb. Чтобы отучить его от этой привычки, можно воспользоваться еще одним [http://lists.altlinux.org/pipermail/community/2010-February/661646.html советом] Сергея Власова:  
OOo отличается слегка своеобразным поведением: по умолчанию он всегда ставит запятую в русской раскладке, игнорируя настройки Xkb. Чтобы отучить его от этой привычки, можно воспользоваться еще одним [http://lists.altlinux.org/pipermail/community/2010-February/661646.html советом] Сергея Власова:  


{{nav|Сервис|Параметры|Настройки языка|Языки|Разделитель целой и дробной части}} - снять галку {{menuitem|Из настроек ОС}}, тогда будет вводиться точка или запятая в зависимости от настроек Xkb (точнее, OpenOffice не будет обрабатывать '''KP_Decimal''' специфическим образом).
{{nav|Сервис|Параметры|Настройки языка|Языки|Разделитель целой и дробной части}} - снять галку {{menuitem|Из настроек ОС}}, тогда будет вводиться точка или запятая в зависимости от настроек Xkb (точнее, OpenOffice не будет обрабатывать '''KP_Decimal''' специфическим образом).
В LibreOffice на начало 2025 года эта настройка находится тут: {{nav|Сервис|Параметры|Languages and Locales|General|Decimal key on the numpad}}. Если галочку снять, то используются системные настройки.


{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}}

Текущая версия от 00:37, 7 января 2025

Точка на цифровой клавиатуре — в X Window System

Согласно российским стандартам десятичным разделителем является символ "," (запятая). Поэтому в русской раскладке на цифровой клавиатуре нажатие клавиши Del (традиционно расположенная между 0 и Enter) приводит к печати запятой. Это просто нереально раздражает многих пользователей, привыкших набирать, например, IP-адреса. Так же раздражение испытывают некоторые бухгалтеры.

Далее предлагается несколько вариантов "лечения" данной проблемы.

Правка файла раскладки

"Традиционный" способ, который можно быстро найти в Гугле: от рута открываем файл /usr/share/X11/xkb/symbols/ru, находим в нем строку include "kpdl(comma)" и заменяем comma на dot. После чего перезапускаем Иксы.

Недостатки метода: после обновления системы (если обновлялись компоненты Иксов) операцию приходится повторять.

Создание своего файла раскладки

Делаем копию вышеуказанного файла с новым именем, например, ru_kpdldot. Редактируем этот файл также, как и в предыдущем способе, но правим еще одну строку: include "ru(common)" заменяем на include "ru_kpdldot(common)" (то есть вписываем туда вместо ru имя нового файла).

После этого идем в настройки клавиатуры (в Альтераторе или в том файле, где у вас эти настройки прописаны) и заменяем там ru на ru_kpdldot). Теперь у вас есть новая раскладка с нужным поведением.

К недостаткам стоит отнести относительную сложность операции и засорение системных каталогов самодельными файлами.

Установка пользовательских настроек Xkbmap

Совет, подсказанный Сергеем Власовым в рассылке community@:

в файл ~/.Xkbmap нужно вписать строку

setxkbmap -symbols "+kpdl(dotoss)+kpdl(dotoss):2"

Метод всем хорош, кроме того, что работает только для одного пользователя. То есть настройку надо провести для каждого пользователя системы отдельно. Ну и потом очень легко забыть про изменения в этом файле и потратить много времени, ломая себе голову, почему вроде бы все "как всегда", а поведение клавиатуры нестандартное.

[03.02.2020] В AltLinux P9 KDE Plasma вариант с .Xkbmap в каталоге пользователя более не работает. Для KDE Plasma можно ту же команду добавить в автостарт KDE, создав исполняемый файл .desktop в папке ~/.config/autostart примерно следующего содержания:

[Desktop Entry]
Comment[ru_RU]=
Comment=
Exec=sleep 5s;setxkbmap -symbols "+kpdl(dotoss)+kpdl(dotoss):2"
GenericName[ru_RU]=Заменяем запятую на точку на цифровой клавиатуре в русской раскладке
GenericName=Заменяем запятую на точку на цифровой клавиатуре в русской раскладке
Icon=yast-keyboard
Name[ru_RU]=Fix keyboard
Name=Fix keyboard
Path=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

Точка на цифровой клавиатуре — в Wayland

Plasma6/KDE

Вообще-то в КДЕ в настройках клавиатуры есть возможность выбрать поведение клавиши Del на цифровой клавиатуре Параметры систему ▷ Клавиатура ▷ Комбинации клавиш (справа вверху) ▷ Поведение Delete на цифровой клавиатуре. И там можно указать, например, Клавиша Legacy с точкой или Четырёх-рядная клавиша с точкой. Первое приводит к появления опции kpdl:dot , а второе kpdl:dotoss в файле ~/.config/kxkbrc. Во втором случае точка в русской раскладке набирается, но при зажатой клавише Ctrl, а в первом случае ничего не меняется — в русской раскладке остается запятая (по ситуации на начало 2025 года).


Наиболее простой способ добиться точки на цифровой клавиатуре — использовать раскладку Русская - Русская (инженерная, кириллица). В ней не только исправлена проблема точки, но и добавлен полезный третий ряд символов на некоторые клавиши.


Отдельное замечание про OpenOffice.оrg/LibreOffice.org

OOo отличается слегка своеобразным поведением: по умолчанию он всегда ставит запятую в русской раскладке, игнорируя настройки Xkb. Чтобы отучить его от этой привычки, можно воспользоваться еще одним советом Сергея Власова:

Сервис ▷ Параметры ▷ Настройки языка ▷ Языки ▷ Разделитель целой и дробной части - снять галку Из настроек ОС, тогда будет вводиться точка или запятая в зависимости от настроек Xkb (точнее, OpenOffice не будет обрабатывать KP_Decimal специфическим образом).

В LibreOffice на начало 2025 года эта настройка находится тут: Сервис ▷ Параметры ▷ Languages and Locales ▷ General ▷ Decimal key on the numpad. Если галочку снять, то используются системные настройки.