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

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


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


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


Далее предлагается несколько вариантов "лечения" данной проблемы:
=== Правка файла раскладки ===
 
"Традиционный" способ, который можно быстро найти в Гугле: [[Releases/40/su|от рута]] открываем файл {{path|/usr/share/X11/xkb/symbols/ru}}, находим в нем строку '''include "kpdl(comma)"''' и заменяем '''comma''' на '''dot'''. После чего перезапускаем Иксы.
=== 1. Правка файла раскладки ===
"Традиционный" способ, который можно быстро найти в Гугле. [[Releases/40/su|От рута]] открываем файл {{path|/usr/share/X11/xkb/symbols/ru}}, находим в нем строку '''include "kpdl(comma)"''' и заменяем '''comma''' на '''dot'''. После чего перезапускаем Иксы.


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


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


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


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


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


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


[http://lists.altlinux.org/pipermail/community/2010-February/661634.html Совет], подсказанный Сергеем Власовым в [http://lists.altlinux.ru рассылке] community:  
[http://lists.altlinux.org/pipermail/community/2010-February/661634.html Совет], подсказанный Сергеем Власовым в рассылке {{lists|community}}:  


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


''setxkbmap -symbols "+kpdl(dotoss)+kpdl(dotoss):2"''
setxkbmap -symbols "+kpdl(dotoss)+kpdl(dotoss):2"
 
Метод всем хорош, кроме того, что работает только для одного пользователя. То есть настройку надо провести для каждого пользователя системы отдельно. Ну и потом очень легко забыть про изменения в этом файле и потратить много времени, ломая себе голову, почему вроде бы все "как всегда", а поведение клавиатуры нестандартное.
 
'''[03.02.2020]''' В AltLinux P9 KDE Plasma вариант с .Xkbmap в каталоге пользователя более не работает. Для KDE Plasma можно ту же команду добавить в автостарт KDE, создав исполняемый файл .desktop в папке {{path|~/.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=
'''


=== Отдельное замечание про OpenOffice.оrg ===
OOo отличается слегка своеобразным поведением: по умолчанию он всегда ставит запятую в русской раскладке, игнорируя настройки Xkb. Чтобы отучить его от этой привычки, можно воспользоваться еще одним [http://lists.altlinux.org/pipermail/community/2010-February/661646.html советом] Сергея Власова:


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


[[Категория:HOWTO]]
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}}
[[Категория:пользователю]]
[[Категория:Программное обеспечение]]

Текущая версия от 09:31, 4 февраля 2020

Точка на цифровой клавиатуре (в 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=

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

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

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