Я давно зачитываюсь статьями про эксперименты авторов со своими рабочими местами: про кастомные кресла, клавиатуры, раскладки. Целый год мне очень хотелось улучшить своё рабочее пространство. Но я боялся даже начать думать об этом по существу, потому что все авторы рассказывали, как поиск удобства отнимал у них 4-5-значные суммы в долларах, долгие месяцы настройки и привыкания к новой реальности.
Главным образом, эта статья ‒ про то, как я уменьшил своё рабочее место с 5 м² до 3 м², избавился от мозоли на запястье, боли в спине и шее, трудностей с набором текстов на русском, английском и немецком; и потратил на это 4 дня и ≈150 €! Но также мне хочется выразить мысль, что эргономика ‒ это не идеальный стол, кресло или клавиатура. Это, скорее, организация пространства так, чтобы в нём было комфортно во всех сценариях его использования.
В этот раз я поменял:
Стол ‒ я взял прикроватный столик для ноутбука. Расскажу, почему для меня решение оказалось оптимальным. А также собрал из говна и палок аккуратную подставку под монитор, до тех пор, пока не уговорю жабу купить кронштейн.
Клавиатуру ‒ покажу на дешёвую эргономичную модель и поделюсь раскладкой для XKB, которая объединяет в себе русский, английский, немецкий и спецсимволы. А также укажу на тулзу для облегчения редактирования раскладки.
Оконный менеджер ‒ переход на i3 оказался очень быстрым и лёгким, решил проблемы расположения окон, которые расстраивали меня годами. Расскажу, что я настроил для себя, и, надеюсь, это сэкономит вам несколько часов разборок в нескольких пакетах.
Между клавиатурой и «клавишами» ‒ я выбираю прикроватный столик.
Как бывает:
Стол для музыкальной студии ‒ обширная тема для обсуждения. Большая часть решений ‒ кастомные, капитальные, и баснословно дорогие. В студиях звукозаписи на рабочее место режиссёра нередко ставят микшерные консоли с моторизированными фейдерами, чтобы легко управлять большим количеством дорожек одновременно.
Композиторские рабочие места строятся вокруг главной MIDI-клавиатуры.
«Клавиши» действительно занимают бескомпромиссное центральное место на рабочем месте любого композитора или аранжировщика. Потому что без правильного контакта с клавишами нормально сыграть очень сложно. Мне, как пианисту, клавиши важны вдвойне, потому что больше половины моей работы ‒ виртуозные фортепианные партии.
Проблема в том, что клавиши стоят ровно на том месте, где должна стоять компьютерная клавиатура. Каждый выбирает, как решить эту проблему.
Можно убрать клавиатуру ниже на салазки.
+ в том, что клавиатура будет доступна по требованию, и не будет стоять между пузом и клавишами.
- в том, что клавиатура тогда стоит ниже удобного положения, и долго работать на ней не получитсяВариант Ханса Циммера: клавиши там, где должны быть, клавиатура за ними.
+ Клавиатура стоит примерно на удобной высоте, возможно немного выше, клавишам ничего не мешает.
- К клавиатуре с мышкой надо наклоняться. Долгая работа → боль в спине.Обратный вариант ‒ клавиатура впереди, клавиши ‒ за ними.
+ клавиатура и мышка в удобном положении: хорошо тем, кто много пользуется компьютером помимо работы.
- Для удобного положения клавиш их надо утопить в стол, что удорожает конструкцию, для мышки места маловато, на клавишах играть можно, но не фортепианную классику.
Как у меня:
Последние полгода у меня было де-факто два рабочих места: для аранжировки и для всего остального. Когда аранжирую ‒ поворачиваю монитор с клавиатурой к клавишам, мучаюсь больной спиной, но играю с комфортом. Когда долго сижу с клавиатурой и мышкой ‒ сажусь с торца стола. Стол для моего стула высоковат, поэтому за полгода я посадил на обеих запястьях суровые мозоли На правой ‒ вообще ахтунг.
Потом попробовал поставить клавиши слева вдоль стены. Но тоже было совсем неудобно. Сидел я и думал: «Вот, сидеть бы за клавишами, смотреть в монитор. Руку направо положил ‒ там мышка, налево ‒ клавиатура…».
Изначальная мысль была ‒ купить пару тумбочек на колёсиках подешёвке, и заиметь раздельную клавиатуру без проводов. Но, оказалось, что раздельные клавиатуры без проводов стоят недёшево. Вспомнил статью про эргономичное кресло. Вариант автора показался чересчур дорогим. Погуглил AliExpress ‒ нагуглил обвесы для офисного кресла. Но с обвесами проблемы:
во-первых, всё ещё дорого,
во-вторых, не понятно, насколько надёжно,
в-третьих, намертво прибито к креслу,
в-четвёртых, надо купить ещё и кресло.
Прикольно. Пока сейчас гуглил ссылку на статью про кресло, а наткнулся на куда более полезную и созвучную тому, что сейчас использую я.
В итоге я набрёл, кажется, на идеальный для меня вариант: прикроватный столик для ноутбука с настраиваемым углом поворота и высотой. На амазоне продаются по цене от ~ 40€ до ~ 200€. Мой обошёлся в 50€.
Самое главное ‒ этот столик не заставляет меня выбирать между клавиатурой и «клавишами»! Если мне нужна клавиатура ‒ я ставлю стол перед собой, и полноценно живу компьютерную жизнь: пишу статью, гамаю в доту, дизайню.
Если нужны клавиши ‒ столик уезжает вбок, не стесняя движений за клавиатурой. Могу выбирать, насколько тесно я хочу с ним взаимодействовать: просто тапнуть на пробел, или пододвинуть поближе и что-то поредактировать ‒ тоже получается достаточно удобно!
В целом ‒ ничего не мешает взять пару нот на клавишах, если я занимался до этого плотной редактурой:
Кронштейн для микрофона ‒ приятная мелочь, которую я себе долго не позволял. А зря ‒ сколько раз мы, ещё дома, запинались о большой «журавль». Обошёлся в 15€.
Параллельно со сборкой стола, мы решили поменяться спальнями с дочкой: у неё холодная комната с плохой батареей, и она постоянно кашляет. Разбирали кровать ‒ и обнаружили под матрасом сюрприз от предыдущих жильцов: поверх лаг лежали какие-то доски. Я сначала подумал ‒ для того, чтобы дыры в лагах залатать, но те были в отличном состоянии. Так что большая часть досок отправилась на балкон, а из четырёх я собрал на уголках узкий столик для монитора и всякой фигни.
Этот столик решил ещё четыре проблемы:
У жены появился свой стол в спальне, и мы теперь друг другу не мешаем.
Кронштейн для микрофона не крепился к старому столу, в силу конструкции последнего.
Монитор получался далековато, т.к. клавиши упирались в столешницу
И стоял низковато, затекала шея.
Доски были старые и подгнившие, поэтому придал столу устойчивость, прикрутив снизу ограничители для ноутбука, которые открутил со столика на колёсах.
Linux is ergonomic-friendly
Мне всегда казалось, что Linux, это, в первую голову ‒ про удобство. Ведь по-настоящему удобные вещи обычно подогнаны специально под тебя. Был период, около года, когда мы семьёй жили в dual-boot: вся наша нормальная жизнь: фильмы, игры, хобби ‒ жили на Ubuntu. А вот для работы: музыкальной аранжировки, набора нот и т.п. приходилось перезагружаться в „окошки“.
Клавиатура
Окончательный переезд на Linux произошёл как раз из-за клавиатуры. В 2019-м я поехал работать в Китай, и три языка, включая pinyin на окошках уже стали для меня и Punto Switcher кошмаром.
Но, что интересно, на настройке ациклического переключения раскладок и подключения типографского слоя мои вопросы к клавиатуре закончились, и я к ней не возвращался, вплоть до последних дней.
Сейчас, напротив, клавиатуру и раскладку я поменял в качестве логичного продолжения реорганизации рабочего места. Вообще, ещё с Китая у нас стояла дешёвенькая китайская Langtu с одной латиницей. Пару раз я порывался купить на неё наклейки, но оба раза ‒ неудачно. Меня отсутствие русских букв на клавиатуре особо не беспокоило, дочка тоже как-то пользовалась, а жена в итоге почти полностью переехала на телефон.
Поскольку маячил переезд на беспроводные клавиши и мышь ‒ хотелось двинуться немного ближе к эргономике, чем это было на старой китайской Langtu, купленной, кажется, за смешные ~ 20元 (около 200₽). Купил, в итоге, беспроводной комплект Perix за 50€. Клавиатура не без недостатков: очень много пустого пространства под большие пальцы, и очень нагруженные безымянные и мизинцы.
Но модели с зонами под большие пальцы, вроде Iris ‒ уже заметно бьют по карману. Особенно, учитывая то, что я не был уверен, что мне вообще зайдёт сплит и смена раскладки. Но, в этом случае я как раз хочу всех колеблющихся гиков успокоить: это действительно удобно, и почти не требует усилий для переезда. С одним «но» ‒ стоит всё-таки не полениться, и напечатать на клавишах раскладку ‒ это здорово помогает.
Кстати, в варианте клавиатуры с немецкой раскладкой на одну клавишу больше, на которую я повесил знаки пунктуации.
Ещё за 10€ можно докупить пин-пад, с которым я активно работаю: допустим в MuseScore или в Blender. Но пока переезд шёл под эгидой минимальных затрат ?
Во многом, из-за необходимости обеспечить себе пин-пад, во многом из жажды отвлечься от текучки ‒ стал курить тему раскладок. Разумеется, по большей части натыкался на разные статьи про QMK и KMK, которые недоступны нищебродам со стандартными клавиатурами. Но, мало-помалу, начал подбираться и к конфигам XKB.
Работа с раскладкой
XKB, опять же, не так страшен, как его малюют. На самом деле, для меня до сих пор самая сложная часть всей истории ‒ набрать хорошую строчку для localectl или для setxkbmap. Кастомная же раскладка с нуля ‒ оказалась штукой очень простой, если к этому подходить прямолинейно.
Нашёл отличную программу для редактирования раскладки XKB. Правда, она написана на Java8+JavaFX. Поэтому людям непосвящённым сборка даётся с трудом. Зато добрый человек в issues подсказал, как собрать всё, пользуясь SDKMan. А я сейчас на всякий случай, тоже залил билд.
Для себя я выработал такой способ работы: набираем через setxkbmap нужные нам символы, потом экспортируем в отдельный файл, который интегрируем в нашу раскладку. Дело это достаточно быстрое, и свою раскладку я собрал где-то за 3 часа.
Допустим:
setxkbmap -layout "en+typo" -option "" -verbose
Очень не рекомендую добавлять только русскую раскладку! Потом в терминале будет очень неприятно. Поэтому русские символы достаём такой командой:
setxkbmap -layout "en+typo,ru" -option "grp:shift_caps_switch" -verbose
Из редактора экспортируем символы в промежуточный файл, допустим: my_temp
Потом делаем финальный файл, где-нибудь, где не потеряется. Допустим ~/.config/my
И линкуем в папку назначения: sudo ln -s ~/.config/my /usr/share/X11/xkb/symbols
Можно описать геометрию своей клавиатуры для редактора в JSON, чтобы не путаться. Опять-таки, ничего сложного, но я случайно удалил папку сборки вместе со своим JSON…
Из неприятных ограничений программы ‒ позволяет разложить в GUI только 4 слоя, поэтому пятый слой я прописывал уже ручками.
Нюансы XKB
В целом, понятно как редактировать файл, который из редактора выходит. Но есть некоторые неочевидные вещи, которые мне пришлось усвоить, прежде чем раскладка заработала.
Проверить на корректность
После сохранения файла раскладки, я прогоняю две команды:
setxkbmap -layout "my" -option "" -print | xkbcomp -I. - $DISPLAY
Так мы скомпилируем раскладку и получим понятный вывод, если налажали. Попутно, в иксах он будет ругаться на кейсуммы больше 255, даже если мы их в раскладке не использовали.
Потом уже:
setxkbmap -layout "my" -option "" -verbose
Группы
Можно указать просто значения, тогда клавиша будет одинаковой во всех группах. Но если указывать разные группы, например, для латиницы/кириллицы ‒ то и все символьные слои, а также типы клавиш надо прописывать для обеих групп.
key <AC11> {
type[group1]= "ALPHABETIC",
type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
symbols[Group1] = [ apostrophe, quotedbl ],
symbols[Group2] = [ Cyrillic_e, Cyrillic_E, apostrophe, quotedbl ]
};
Типы
Explicity is better than implicity. Лучше прямо указать тип для каждой кнопки. Благо, редактор это делает, если попросить.
ALPHABETIC ‒ два слоя букв
SEMIALPHABETIC ‒ два слоя с символами
FOUR_LEVEL_SEMIALPHABETIC ‒ 4 слоя с символами
FOUR_LEVEL‒ 4 слоя символов
EIGHT_LEVEL_SEMIALPHABETIC ‒ 8 слоёв с символами
EIGHT_LEVEL ‒ 8 слоёв символов
CTRL+ALT ‒ 5 уровней, пятый из которых включается через
ctrl+alt
(ctrl+alt+f2
)ONE_LEVEL ‒ системные кнопки вроде
shift
иesc
TWO_LEVEL ‒ полезно для функциональных клавиш с двумя слоями. У меня, допустим, двухуровневый капс.
Моя раскладка
С одной стороны, мне было бы интересно попробовать для латиницы dvorak или colemak. С другой ‒ я научен горьким опытом пользования знакомым до боли софтом на немецкой раскладке. Главная её особенность ‒ Z и Y поменялись местами, отчего я ежедневно ловил много лулзов.
Поэтому буквенный слой подчиняется простой логике: стандартные раскладки, но с умляутами на третьем слое. Мне хотелось унифицировать символы на обеих раскладках, поэтому надо было освободить две верхние кнопки для скобок. Я всегда путался в верхних четырёх буквах: ш щ з ъ. Поэтому мне показалось естественным убрать ш и щ на одну кнопку, тем более, что они не используются подряд. Точно также поступить с ь и ъ, е и ё. Однако оказалось, что для буквы з и ш у меня уже достаточно серьёзные мышечные стереотипы, равно как и для буквы ё. Поэтому приходится привыкать. Собственно, статью я пишу, в том числе и для того, чтобы привыкнуть к новой русской раскладке. Переключаюсь между группами ациклично через Caps и Shift+Caps.
В немецкой клавиатуре есть дополнительная кнопка для <|
. Я её приспособил для точки, запятой, ударе́ния и •.
Из «типографской» раскладки взял кавычки, знаки € и §, ‒ ≠ ± © ° ≈ … , добавил ¢.
Для меня довольно важно иметь все цифры в верхнем и нижнем регистрах, поэтому 3-е и 4-е слои цифр полностью дублированы регистрами.
Пин-пад разместился на 5-м слое. Поскольку я почти никогда не пользовался клавишей Menu, она превратилась в «Num Lock», или «Num Shift», если нажать через shift.
Получившуюся раскладку можно посмотреть здесь.
Наклейки
Раньше жена довольствовалась телефоном, и, по большим праздникам, вроде дипломной работы, садилась за ноутбук ?
Но ноутбук мы с дочкой оставили в аэропорту Хельсинки, и жена стала часто жаловаться, что на клавиатуре без накладок печатать неудобно. К тому же, уже в первый день пользования новой раскладкой на новой клавиатуре я понял, что мне тоже нужна поддержка.
Поскольку раскладку я готовил в то время, пока клавиатура ехала ‒ заготовки для наклеек уже тоже были. Опять-таки, есть много вариантов, начиная с относительно недорогих, но непригодных, заканчивая печатью у типографии, специализирующейся на накладках, но ещё за 50€.
Взял фотографию производителя сверху, подогнал под физический размер клавиатуры, и разметил клавиши в inkscape. Получилось два листа формата A5. В свободное утро пришёл в единственный в городе фото салон, и попросил распечатать на самоклейке и придумать сверху ламинат. Обошлось в 12 €, и результатом я доволен как слон!
i3WM
Ещё один алмаз, которым я начал пользоваться спустя два года после зародившегося интереса. Из-за совершенно беспочвенных страхов адаптации. Более дружелюбной оболочки, чем i3 я и представить не могу!
90% настроек в одном config-файле
весит мало
очень удобно таскать окна!
Допустим, мне всегда было сложно разместить на экране Arrange view, микшер, ноты и приблуду для преобразования штрихов графического планшета в MIDI. У Reaper есть свой неплохой докер, но в него не засунешь сторонние окна. И в XFCE меня напрягало каждый раз подгонять размеры под необходимые. Здесь же, на работу с окнами не отвлекаешься в принципе:
Нюансы Manjaro i3WM
Pulse audio
Ребята решили быть по-настоящему минималистичными поэтому по умолчанию в дистрибутиве нет pulse audio. Установить его несложно, но вот на то, чтобы подобрать хороший контроллер в трей у меня ушло 40 минут. Выбор остановил на pasystray.
exec --no-startup-id pasystray -g --notify=all
Terminal
Я как-то не раскусил uxvrt, и прочие популярные у ребят терминалы. Поэтому поставил привычный XFCE terminal, который поддерживает DnD, и вообще няшка.
morc_menu
Вроде бы прикольная штука, но постоянно скрывает приложения, которые не прописывают desired_category
, или вообще не прописывают категорию. Надо это иметь в виду, и я так и не разобрался как сделать по-нормальному. Вообще дело нужное, т.к. список «софта» не заканчивается на /bin.
Шрифты
По умолчанию не любят кириллицу, и, к сожалению, как раз нельзя поменять шрифты в одном месте. Для терминала меняется в ~/.Xresources
, для i3status. вроде бы, в ~/.i3/config
, для conky ‒ в каждом отдельном виджете и каждой отдельной строчке.
Смайлики
Вообще мне немного обидно за PC-клавиатуру. Когда-то это был бескомпромиссно быстрый и удобный способ выражения своих мыслей символами. Но сейчас я просто вожу пальцем по экрану андроида и он пишет почти без ошибок немецкие слова, в правописании которых я совсем не уверен. Даже в деле написания русскоязычных текстов андроид начинает выигрывать моё внимание у клавиатуры: в андроиде можно легко поставить символ, за которым на клавиатуре я буду тянуться через мануал по compose-key. И мне бы очень хотелось иметь под пальцами несколько классных хелперов для разных текстовых фишек, вроде письма в верхнем регистре, или з̶а̶ч̶ё̶р̶к̶н̶у̶т̶ы̶м̶и̶ буквами.
Но я начал хотя бы с интеграции в клавиатуру смайлов ?
bindsym $mod+slash exec "splatmoji copypaste"
Заключение
На то, чтобы написать эту статью, я потратил целый день, часов 12. Всего раза в 2 меньше, чем у меня отняла кардинальная перестройка своего пространства, как в комнате, так и внутри системы. Я поражён, как всё оказалось легко, доступно и дёшево, поэтому делюсь с вами своей радостью ?
Вообще приятно это ‒ настраивать свою среду под себя. Даже немного приятнее, чем потом ей пользоваться. Хотя, кстати, уже 5 лет на Linux, а до сих пор кайфую и радуюсь от взаимодействия со своим компом! На винде такого не было…
P.S. Кто-нибудь знает лёгкий способ написать драйвер для графического планшета? Хочу, чтобы он только слал свои координаты и силу нажатия, но не двигал курсором по экрану.