LINUX.ORG.RU

Инженерная раскладка клавиатуры (Ручей)

 ,


4

2

Всем привет.

Клавиатурные раскладки появляются редко, тема достаточно специфическая и в новостях не встречается, поэтому хочу поделиться.

В релизе xkeyboard-config-2.36 (это Fedora 37, Arch, Gentoo) появилась русская инженерная раскладка «Ручей» (Ruchey).

Смысл раскладки в том, чтобы для кириллицы был полный набор спецсимволов. Магии, конечно не бывает и часть спецсимволов набирается с помощью правого Alt (AltGr). Зеркальная раскладка есть и для латиницы, которая имеет такое же расположение спецсимволов, а также включает в себя специфические русские символы «,»,₽,§,№.

Примечательно, что при разработке автор старался, чтобы спецсимволы, по возможности, оставались на клавишах с их изображениями и тем самым было легче привыкание.

Подробности с сайта:

  • Раскладок именно две: «Русская (инженерная, кириллица)» и «Русская (инженерная, латиница)».
  • Переключаются именно раскладки, а не языки ввода. Язык ввода один - Русский.
  • Полный набор спецсимволов как в кириллической, так и в латинской раскладке.
  • Большинство спецсимволов находятся на своих местах, но часть вынесена на третий уровень и набираются при зажатом правом Alt (AltGr).
  • Часть спецсимволов смещена для удобства набора программного кода.
  • Предусмотрено, чтобы пользователь не испытывал дискомфорт при использовании AltGr.

Ограничения, которые были заданы при разработке:

  • Буквы должны оставаться на своих местах, раскладка не решает проблему скорости набора.
  • Спецсимволы, по возможности, также должны находится на своих местах, но при этом необходимо обеспечить удобный набор часто встречаемых спецсимволов в коде.
  • Перенос спецсимволов должен компенсироваться их лёгким запоминанием.
  • Не должен страдать опыт набора методом «слепой печати».

На данный момент раскладка относится «экзотическим» и расположена «base.extras.xml». В KDE экзотические раскладки работают из коробки. Для Gnome необходимо выполнить команду «gsettings set org.gnome.desktop.input-sources show-all-sources true», чтобы увидеть экзотические раскладки в списке доступных.

По сути в этой раскладке можно писать технический текст на русском без переключений.

Например без переключений можно напечатать:

§ Решение
  если А > Б && С < Д, то СП = `{А,Б,С,Д}`

Сайт проекта на GitHub


Ответ на: комментарий от papin-aziat

это не так круто как таппер.

Зато не надо ставить лишних программ, все искаропки. :) А привыкаешь очень быстро. Но, каждому свое.

И вообще, хотелось бы, чтобы функционал настройки включения нужной раскладки по любым клавишам-модификаторам и по любому количеству раскладок был по дефолту во всех системах.

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

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

papin-aziat ★★★★★
()
Ответ на: комментарий от den73

В реальности так не работает

Поэтому приходится ее менять под себя. В последнее время меняю на vim-подобное. Удобно когда редактор, браузер, файловый менеджер, просмотрщик документов и wm отзываются на один способ переключения. Vi режим есть в терминалах, но почему-то совершенно не заходит. Остался только screen/tmux но он используется редко, вполне хватает тегов/рабочих столов для всех терминалов.

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

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

С профнепригодностью авторов переключалки. Она, во-первых, у тебя лагает, чего быть ни в коем случае не должно для такого примитивного алгоритма, а, во-вторых, её авторы не знали про GrabModeSync при захвате хоткеев (или их помоечные тулкиты эту иксовую фичу спрятали от приложений).

Если не хочешь зависеть от этих недоподелий - используй нативную иксовую переключалку, которая настраивается через setxkbmap и не лагает никогда.

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

К раскладке Чистова есть вопросы: где косая кавычка, почему дублируются точка с запятой и знак вопроса на shift и altrg? Наличие её в linux?

К тому же в ручье я использую и латинский вариант, который повторяет кириллическую в плане спецсимволов. Т.е. когда печатаю «в слепую», то всегда одинаково набираю спецсимволы.

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

В Яосе я сделал по-другому:

  • форма курсора меняется в зависимости от включённого языка
  • буквы кириллицы и латиницы верстаются на разной высоте относительно базовой линии - +-1 пиксел (альтернативно можно подчёркивать латиницу или, на худой конец, разный шрифт, но оба эти варианта могут конфликтовать с другими применениями шрифта и подчёркивания)

Забавно, что когда я пришёл на форум 1С-ников и предложил им сделать кнопокыу «подчекрнуть всю латиницу», меня смешали с говном. Пункта было два:

  • я хочу на них нечестно нажиться
  • проблемы отличимости кириллицы от латиницы не существует
den73 ★★★★★
()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от token_polyak

Ну, валийцам с шотландцами и шестью районами ирландцев приходится страдать вместе с англичанами.

Как и отчего страдают англичане? Что у них в раскладке такого что вызывает страдание?

Я не специалист, но исходя из титулатуры британской монархии думал что жители Северной Ирландии не британцы. Повторюсь, я этого не знаю.

Сильно, ввиду строения печатной машинки. Во времена их актуальности никто и не задумывался про AltGr, ибо нормально было а) иметь разные раскладки в разных странах и б) иметь по одной клавише на один символ, с оговорками.

Я немного имел дело с русскими пищущими машинками. Мой опыт говорит что русская раскладка с пишущей машинки намного удобнее для слепого десятипальцевого метода набора чем стандартная Microsoft’овская русская раскладка.

Если нужно набрать минимально объемный текст <на русском> то удобнее при возможности добавить раскладку хотя бы «похожую» на русскую пишущую машинку.

ex-kiev
()
Ответ на: комментарий от den73

Все обёрточные функции делают одно и то же - вызывают вложенную функцию, и иногда перекладывают параметры/выходные значения из одной переменной в другую и/или делают какую-нить тривиальную арифметику. Словарь тут ни при чём совершенно.

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

Без обид, я закостенел в ООП и С++ подобном синтаксисе. Я пишу на Java, С#, JS, иногда на C++ (Qt). Поэтому, да этот вариант мне нравится больше.

Но опять же важно и внешний вид шрифта. Для кириллицы мне показывали шрифт из начерталки, вот бы вспомнить, на нём код выглядел фантастически!

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

Какая-то неврастения.

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

alex1101
()
Ответ на: комментарий от another

не надо ставить лишних программ

1.5 мегабайта, ну серьёзно…

все искаропки

Здесь я только могу пожелать автору таппера попасть когда-нибудь в аппстрим, но все же знают как трудно пробиться в гноме (я — по наслышке).

А привыкаешь очень быстро.

Это другое: наш мозг эволюционировал, чтобы адаптироваться, привыкает к чему угодно при желании и без.

И вообще, хотелось бы, чтобы функционал настройки включения нужной раскладки по любым клавишам-модификаторам и по любому количеству раскладок был по дефолту во всех системах.

Когда такое произойдёт, гном будет 10 гигов просить на старте, так что не будем жадничать пару мегабайт :-)

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

И как ты это объяснишь этой понималке? Если она будет столь умна, что сможет читать мысли (представь, что ты пишешь под диктовку и контекста вообще нет в компьютере), то тогда зачем ты сам будешь нужен?

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

проблемы отличимости кириллицы от латиницы не существует

А вот от этого подгорает. Таблицы латеха описываются как последовательность столбцов, поэтому какое-нибудь ccc, не на своей машине легко набить в другой раскладке.

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

Согласен. Я вот не понимаю одного, почему гномеры не сделали хотя бы возможность передвинуть индикатор раскладки в центр панели и расширения никто не написал, ведь окосеть может человек, кидая взгляд вправо вверх.

papin-aziat ★★★★★
()
Ответ на: комментарий от ex-kiev

Я для себя понял, что скорость набора не так важна. Дворак потратил 20 лет, а в результате QWERTY на клавиатурах. Похоже кардинально такие веще изменить нельзя.

Но и ЙЦУКЕН себя изжила и не соответствует современным реалиям.

mega_m
() автор топика
Ответ на: комментарий от ex-kiev

Была какая-то тема про печатные машинки, что раскладку делали, чтобы снизить вероятность залипания (когда одна буква падает, а вторую уже нажали), но не уверен насчёт русской раскладки. Или что-то в этом роде. Ты уверен, что у тебя не синдром утёнка? В каком возрасте ты научился печатать на машинке и сколько тебе сейчас, если не секрет?

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

Повторю - предугадать на 100% оно не может. А 99% уже будет бесить. Да и ещё - эти свитчеры угадывают не заранее, а уже после набранных букв, стирая их и вводя новые. Где-то это может быть недопустимо (так же как и ошибки определения даже раз из 10000).

firkax ★★★★★
()
Ответ на: комментарий от papin-aziat

1.5 мегабайта, ну серьёзно…

Не в размере же дело. Был бы таппер хотя бы в базовом репозитории - другое дело. А так, доверия маловато, какой-то сторонний репозиторий подключать надо, а мало ли чего там в башке у его владельца.

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

Уверен что она? Проверь на голых иксах без DE с только xterm запущеным.

В терминале то все норм, но спасибо за идею. Может быть удастся отловить причину.

einhander ★★★★★
()
Ответ на: комментарий от ex-kiev

Как и отчего страдают англичане? Что у них в раскладке такого что вызывает страдание?

Две вещи: уродливый энтер, спецсимволы не на своих местах.

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

А 99% уже будет бесить

Ну вы это, выздоравливайте там 😁

Я бы предпочёл исправлять 1% ошибок, чем стирать и перепечатывать написанное в 50% случаев. И любой другой человек тоже.

alex1101
()
Ответ на: комментарий от den73

И как ты это объяснишь этой понималке? Если она будет столь умна, что сможет читать мысли (представь, что ты пишешь под диктовку и контекста вообще нет в компьютере), то тогда зачем ты сам будешь нужен?

Чтобы определить контекст никакого ума не надо, набор типовых ситуаций в 95% случаев поможет правильно определить раскладку. А контекст почти всегда есть, предыдущие/последующие набранные слова вполне себе контекст.

И да, я не сторонник автоматического переключения! Просто нужны более серьезные аргументы против.

ex-kiev
()
Ответ на: комментарий от einhander

Я в своё время проводил мозговой штурм (с одним участником), но всё в итоге упёрлось в то, что придумать идею шрифта можно, а вот сделать шрифт - это уже миллионы.

https://xn--b1aga5e.xn-----6kcajervcdvqarhfgengcekya4c.xn--p1ai/viewtopic.php?f=2&t=268

Кстати, вот это уродование кириллического URL-а - как раз из-за проблемы визуальной неразличимости разных символов юникода, которая позволяет атаковать через мимикрию адресов. Сделали «безопасно».

На самом деле url такой:

https://вече.программирование-по-русски.рф/viewtopic.php?f=2&t=268

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

Я бы предпочёл исправлять 1% ошибок, чем стирать и перепечатывать написанное в 50% случаев. И любой другой человек тоже.

Я ничего не стираю и не перепечатываю, переключаю сам.

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

Кстати, вот это уродование кириллического URL-а - как раз из-за проблемы визуальной неразличимости разных символов

Даже в латехе сделали нормально, через команды типа \cyrV, да многобуков, но понятно, что хотел сказать автор.

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

В ЯОСе я полностью контролирую всю клавиатуру (т.к. пользователей нет и обижаться некому), поэтому я задействовал пробел в качестве модификатора, который работает во время удержания. Работает прекрасно, если всегда преобладает один язык. Потому что совершенно спокойно ставишь большой палец на пробел и печатаешь целое слово. С AltGr так не прокатит. Если в один час преобладает кириллица, в другой латиница, или если языков больше двух, то тогда уже хуже работает.

Т.е. если есть возможность обойти проблемы с двойной функцией альта, то такой подход иногда может работать лучше, чем включалка. Ведь включалку надо всё время включать. Я пробовал включалку, но не смог сделать это навыком. Кроме того, придёшь на чужой компьютер, а там всё равно переключалка.

Ещё один вариант - сделать на клавиатуре разрезной пробел, чтобы левая половина была пробелом, а правая - гипертрофированным AltGr. Я даже думал сделать выносную кнопку, которую на как-то на присоске лепить к клавиатуре, и которая будет удобным alt-gr под большой палец. Даже покупал клавиатуру примерно a4tech x7, там как раз на нужном месте есть кнопки. Но она тяжёлая.

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