Правильная русская клавиатура

Привет! Сегодня мы займемся моим любимым делом — беспощадной критикой давно устоявшихся компромиссных решений.

Как известно, компьютеры придумали и производят в США, поэтому весь остальной мир находится как бы в положении ожидающего барской милости во всём, что касается интернационализации. Тут вам и ASCII байты по 7 бит, что позволяет впихнуть только латинские буквы, и языки программирования с побайтовыми функциями обрезания строк, что кромсает несчастные UTF-16 буквы всего остального мира ровно пополам, и все интерфейсы, в которых места хватает только под нелокализованные надписи, и добавляемая как бы с неохотой поддержка сложных падежей и склонений (ах, если бы во всех языках было достаточно добавить -s к любому числительному больше 1, я бы тоже не парился), и конечно клавиатуры, рассчитаные по количеству кнопок аккурат под латиницу. Даже европейцам с их одной-двумя дополнительными буквами по отношению к En-US приходится вертеться. Обратите внимание — ни в одной раскладке клавиатуры не предусмотрено физической кнопки под переключение языка! И не то чтобы места не хватало — на клавиатуре на самом деле целая куча хлама, который несложно выкинуть: и длинные кнопки, и резервные Shift/Command/Option справа, и идиотской длины пробел, и Caps Lock! Было бы желание. Но зачем американцам кнопка выбора языка? Правильно, вот пусть остальные как-нибудь выкручиваются. На советских компьютерах такую кнопку добавляли в первую очередь, кстати. Ну просто потому что Cmd+Space или Alt-Shift это даже не смешно.

Тут даже две кнопки, RUS и LAT, как доктор прописал

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

Кнопки, не меняющие свое поведение между слоями, скрыты

Это раскладка Russian - PC, больше напоминающая Windows и вообще в целом более адекватная. Простой Russian нет смысла даже обсуждать.

Итак, постановка задачи. В английском языке 26 букв. В русском 33. Надо где-то найти место под 7 дополнительных букв. Ни фига себе! — скажете вы, и будете правы. Придется потесниться.

В общем-то то что они сделали выглядит вполне сносно: цифры трогать не стоит, они одинаковые и там, и там, и нужны и там, и там. Часть пунктуации из английской раскладки выкинули, чтобы найти место под новые буквы. Пропавшую, но полезную пунктуацию (кавычки, вопрос, точка с запятой, двоеточие — без них нельзя, в русской они все-таки нужны) поставили на шифт-цифры вместо бесполезных более-менее чем полностью (в текстах, по крайней мере) собаки, доллара, крышечки и амперсанда. Буква Ё (да, её нет в Russian - PC, но она есть в виндовой раскладке, и вообще расположение крайне удачное) заменила довольно бесполезные опять же для обычных людей backtick и тильду. А те, кому они нужны (читай — программистам), один фиг пишут программы на английском.

Короче, по существу вопрос только один: нафига, ну нафига вы оставили бэкслеш? Для кого он, вообще, в принципе??? Тут надо пояснить: место на кнопках без шифта, или слой по умолчанию, самое ценное — такие кнопки можно нажимать одним пальцем, то есть проще всего. Поэтому туда выносят самые частотные символы. Скажем, строчных букв в текстах в разы больше прописных, поэтому первые на дефолтном слое, а вторые — на шифте. А теперь представьте: после всех надругательств, на которые пришлось пойти, чтобы впихнуть 33 буквы на место 26, у вас осталась одна свободная кнопка. И что вы делаете? Ставите на нее бэкслеш! Символ, который даже программисты-то нечасто используют, если уж честно. И это притом, что у вас непристроенными висят такие важные символы, как вопрос, кавычка, двоеточие, запятая, в конце концов. ЗАПЯТАЯ!!! Да что уж там, даже прямой слеш был бы лучше обратного. Его хотя бы можно представить в тексте. Но нет, поставили туда самый ненужный в мире символ. Окей, второй по ненужности, после бэктика.

Ладно, я пришел сюда чтобы не об этом поныть. Главная засада русской раскладки в том, что она дизайнилась в предположении, что английскую трогать нельзя. То есть английская останется как была, а в русской можно вещи двигать как нам удобно. В результате мы имеем вагончик пунктуации, которая в английской раскладке стоит на одном месте, а в русской — на другом. И это очень бесит, если вы хотя бы иногда переключаетесь между языками. Это трудно запомнить, это путается в голове, это совершенно какой-то хаос в обозначениях на кнопках:

вы уж простите за качество картинки

Обратите внимание на правый нижний угол, где точки и запятые написаны четырежды на разных кнопках. Если ты сидишь и набираешь текст и вдруг забыл где там точка и решил глянуть на клавиатуру — ну бог тебе в помощь. А особенно здесь шикарна кнопка слешей, конечно (возле Энтера).

Так вот, правильное (и единственно правильное) решение этой проблемы — английская и русская раскладки должны дизайниться вместе. То есть помимо условного Russian-Awesome должна быть еще English-Awesome compatible w/ Russian, которая НЕ совпадает со стандартной English (минус), но зато в паре с русской работает удобно и логично (огромный плюс). И при дизайне английской нужно учитывать, что вот в этих вот местах у нас будет впихивание, и как-то дизайнить вокруг этого.

Короче, должно быть так:

Обратите внимание, что русская раскладка не переопределяет никакой пунктуации, кроме диеза (который меняется на №, что настолько логично, что я это оставил даже). Часть символов в принципе нельзя набрать в русской раскладке (как и раньше), их место заняли буквы. Но это всё те же бесполезные для текста, а не кода, символы — амперсанд, пайп, бэкслеш, крышечка. Точка и запятая сохраняют свои позиции и в русской раскладке — большая победа! Обе набираются без шифта, как и должно быть. Двоеточие и точка с запятой остались на шифте, но переехали с цифр вниз — там они как-то поближе. Ну и логичнее (читай — проще запомнить) — точка с запятой над запятой, двоеточие над точкой. Осталось место под один дополнительный символ — левый верхний угол на шифте — и я поставил туда тильду, хотя в принципе он мог бы быть любым. Долларом, например — я не знаю, нужен ли в русских текстах больше доллар или тильда?

Внимательный читатель должен был заметить — а куда это у меня пропали Ъ и Ё? Все верно, они переехали на третий слой:

Это слой, который набирается с зажатым Option (или Shift-Option для заглавных). Ну да, это немножко читерство, но читерство ради благого дела — мы расчистили пространство на основных слоях под действительно нужные символы. А Ъ и Ё, ну они такие. Ё в принципе можно вообще не писать, она потихоньку отмирает, а твердый знак так и вообще супер малочастотная буква. Встали они на те же кнопки, что и Е и Ь, конечно, так что не запутаетесь. А само решение с Option вполне рабочее — ярлыков с Option+буква в системе нет, а сам macOS вводит через Option всякие эзотерические символы типа π, ¥, ©, ≈ и å. Ну и раскладка Бирмана работает через него же уже много лет безо всяких проблем. Короче, это вполне честный, но преступно недоутилизированный слой, которому я нашел очень неплохое применение.

Но самый кайф в том, что наконец-то можно подписать кнопки так, чтобы никто не сошел с ума:

зацените как я изящно ё и ъ обозначил

Да, все шифт-символы работают как в русской, так и в латинской раскладках.

Непривычно? Ну дык. Как человек, обучивший себя нескольким раскладкам, скажу: непривычно только первую неделю. Потом начинается кайф. Скажем, у меня уже очень давно в русской раскладке запятая на месте того бэкслеша. А так я старался по возможности латинскую не менять, иначе я бы еще восклицательный знак подвигал, больше-меньше поставил рядом и т.п.

Спорно? Ну а чего спорного-то? Сплошные факты :) Файл раскладки выложу на днях, если вы не наркоманы это использовать. Минус только один — то, что сейчас у вас нарисовано на кнопках, перестанет соответствовать тому, что они на самом деле означают. Но для любого, освоившего слепую печать, это совершенно не проблема. А в остальном сплошные плюсы.

UPD: Еще немного потюнил и выложил, читать тут https://tonsky.livejournal.com/318789.html

Error

default userpic
When you submit the form an invisible reCAPTCHA check will be performed.
You must follow the Privacy Policy and Google Terms of use.