Точка на цифровой клавиатуре: различия между версиями
Sb (обсуждение | вклад) м (fix typos) |
|||
(не показано 10 промежуточных версий 9 участников) | |||
Строка 1: | Строка 1: | ||
== Точка на цифровой клавиатуре (в | == Точка на цифровой клавиатуре (в X Window System) == | ||
Согласно российским стандартам | Согласно российским стандартам десятичным разделителем является символ "," (запятая). Поэтому в русской раскладке на цифровой клавиатуре нажатие клавиши Del (традиционно расположенная между 0 и Enter) приводит к печати запятой. Это просто нереально раздражает многих пользователей, привыкших набирать, например, IP-адреса. Так же раздражение испытывают некоторые бухгалтеры. | ||
Далее предлагается несколько вариантов "лечения" данной проблемы. | |||
Далее предлагается несколько вариантов "лечения" данной проблемы | |||
=== Правка файла раскладки === | === Правка файла раскладки === | ||
"Традиционный" способ, который можно быстро найти в Гугле | "Традиционный" способ, который можно быстро найти в Гугле: [[Releases/40/su|от рута]] открываем файл {{path|/usr/share/X11/xkb/symbols/ru}}, находим в нем строку '''include "kpdl(comma)"''' и заменяем '''comma''' на '''dot'''. После чего перезапускаем Иксы. | ||
Недостатки метода: после обновления системы (если обновлялись компоненты Иксов) операцию приходится повторять. | Недостатки метода: после обновления системы (если обновлялись компоненты Иксов) операцию приходится повторять. | ||
Строка 13: | Строка 12: | ||
=== Создание своего файла раскладки === | === Создание своего файла раскладки === | ||
Делаем копию | Делаем копию вышеуказанного файла с новым именем, например, {{path|ru_kpdldot}}. Редактируем этот файл также, как и в предыдущем способе, но правим еще одну строку: '''include "ru(common)"''' заменяем на '''include "ru_kpdldot(common)"''' (то есть вписываем туда вместо '''ru''' имя нового файла). | ||
После этого идем в настройки клавиатуры (в Альтераторе | После этого идем в настройки клавиатуры (в Альтераторе или в том файле, где у вас эти настройки прописаны) и заменяем там '''ru''' на '''ru_kpdldot'''). Теперь у вас есть новая раскладка с нужным поведением. | ||
К недостаткам стоит отнести относительную сложность операции | К недостаткам стоит отнести относительную сложность операции и засорение системных каталогов самодельными файлами. | ||
=== Установка пользовательских настроек Xkbmap === | === Установка пользовательских настроек Xkbmap === | ||
[http://lists.altlinux.org/pipermail/community/2010-February/661634.html Совет], подсказанный Сергеем Власовым в | [http://lists.altlinux.org/pipermail/community/2010-February/661634.html Совет], подсказанный Сергеем Власовым в рассылке {{lists|community}}: | ||
в файл {{path|~/.Xkbmap}} нужно вписать строку | в файл {{path|~/.Xkbmap}} нужно вписать строку | ||
Строка 27: | Строка 26: | ||
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 === | === Отдельное замечание про OpenOffice.оrg === | ||
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|Сервис|Параметры|Настройки языка|Языки|Разделитель целой и дробной | {{nav|Сервис|Параметры|Настройки языка|Языки|Разделитель целой и дробной части}} - снять галку {{menuitem|Из настроек ОС}}, тогда будет вводиться точка или запятая в зависимости от настроек Xkb (точнее, OpenOffice не будет обрабатывать '''KP_Decimal''' специфическим образом). | ||
части}} - снять галку {{menuitem|Из настроек ОС}}, тогда будет вводиться точка или | |||
запятая в зависимости от настроек Xkb (точнее, OpenOffice не будет | |||
обрабатывать '''KP_Decimal''' специфическим образом). | |||
{{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 специфическим образом).