/dev/AlphaSierra
606 subscribers
554 photos
9 files
433 links
Заметки про клавиатуры и прочее.

Канал с красивыми картинками @kbdAE
Download Telegram
/dev/AlphaSierra
Наброски 29: RGB индикатор статуса увеличенной плотности Появились более компактные адресные светодиоды — XL-1010RGBC-2812B. Они всего 1х1 мм. Их можно установить как минимум в 2 раза больше и получить разрешение 10х20 точек. К тому же они довольно дешевые.…
Наброски 30: компактная плата на 6502

Думаю, все же стоит оговориться что 6502 это 8 битный микропроцессор из-70х годов, который испозьзовался в Apple II, NES, Commodore 64.

Я с удивлением обнаружил что сейчас выпускается современный 6502 еще и в QFP корпусе. В отличие от многих 16 битных процессоров, которым требовалось по 3-4 разных питания, ему нужно только 5в, а соврменные версии готовы работать и от более низких напряжений. С использованием всего 5 чипов можно получить полноценный 8 битный компьюттер который с бейсиком который общается с внешними устройствами через компорт. Плата размером с кредитную карту которая по одному type С порту и питает компьютер и выводит виртуальный COM порт и все это с настоящим microsoft basic.

#Наброски
👾3
/dev/AlphaSierra
4row ortholinear keyboard v8 Обновил раскладку на github, чтобы она была больше похоже на ту что я использую на titan pocket. Изменения небольшие, просто перенес Ю на двойное нажатие Ы и добавил иконки для COPY/PASTE. #4rowOrthoKBD
4row ortholinear keyboard теперь на базе AOSP

С момента выхода последнего поста по по проекту я попробовал огромное множество клавиатур, но мне ничего не подошло. Либо софтовые клавиатуры пытаются копировать положение клавиш с десктопной раскладки добавляя стаггер и делая крохотные кнопки, либо клавиатура имеет ну уж очень вертикальную кривую обучения, как thumb-key.

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

Основная идея все та же, 4х10 с цифрорядом, без всяких слоев с символами. Недостающие символы через тапденс.

#4rowOrthoKBD
👾7
Уведомление об автоматизации kbdAE

В целях обеспечения прозрачности деятельности настоящим извещаю вас о том, что в течение определенного времени некоторые публикации в сообществе kbdAE осуществляются с использованием специализированного программного обеспечения (бота). Подбор графических материалов (картинок) по-прежнему производится исключительно в ручном режиме силами редакции, однако форматирование гиперссылок и публикация материалов в установленное время в настоящее время автоматизированы. Данные изменения никоим образом не отразятся на качестве и содержании публикуемого контента.

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

Пользуясь случаем, выражаю официальную благодарность ft256.ru за предоставление технических мощностей, а также за обеспечение хостинга и деплоя вышеуказанного программного обеспечения.
👾12
Подключаем мультиметры к компьютеру (полное руководство)

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

Наши сегодняшние пациенты — это Victor / RuoShui 189A (он же АКИП-2206) и АКИП-6108.

Для Victor 189A существует родное программное обеспечение, однако найти его можно исключительно на компакт-диске из комплекта поставки — в сети его просто нет. Описание системы команд также полностью отсутствует. Подключив кабель с оптической развязкой к USB-порту компьютера, мы выясняем, что в устройстве используется распространенный чип USB-to-UART CP2102. Устанавливаем необходимые драйверы, инсталлируем фирменную утилиту и проверяем  ее работоспособность.

Затем пробуем найти информацию в открытых источниках: аналогичные приборы, документацию или хотя бы описание протокола обмена данными. Похожий мультиметр обнаружился, но и для него описание команд отсутствовало. Инструкцию к протоколу Victor найти все же удалось, но она предназначалась для более старых моделей и, забегая вперед, к протоколу 189A не имела вообще никакого отношения.

Поскольку цивилизованных методов не осталось, устанавливаем связку Wireshark и USBPcap. Подключаем прибор к компьютеру, запускаем захват трафика и начинаем нажимать кнопки в интерфейсе программы. Анализируем перехваченные пакеты. В первую очередь нас интересуют запросы SET_LINE_CODING и сами передаваемые команды, которые можно отследить по направлению Source: Host. Ищем их в строках со значением URB_BULK out в колонке Info. На основе собранных данных пишем собственную программу для работы с прибором.

Если вам вполне достаточно возможностей штатного софта, на этом этапе можно остановиться. Мне же казалось, что мне что-то недоговаривают, и наверняка существуют еще команды. Заметив, что все обнаруженные команды соответствуют шаблону #[A-Z]{2,3}\??, я решил запустить простой перебор всех комбинаций от #A до #ZZZ — как с вопросительным знаком на конце, так и без него. Этот процесс занял много часов, но в итоге удалось обнаружить две дополнительные команды. Одна из них активирует сервисное меню на мультиметра, а вторая запрашивает данные, связанные с внутренней памятью прибора, хотя точно расшифровать их назначение так и не удалось.

С прибором АКИП-6108 ситуация обстоит несколько иначе: для него тоже нет описания системы команд, но, в отличие от предыдущего случая, полностью отсутствует и родное ПО. Поэтому мы сразу переходим к поиску аналогов. Как выяснилось позже, нам подходят практически любые LCR-метры в похожем корпусе. Скорее всего, прародителем этой линейки был прибор от Keysight, а все остальные модели — лишь его многочисленные клоны под разными брендами. Изучив документацию к схожим устройствам, я обнаружил, что в руководстве к BK Precision 880 приведено подробное описание протокола и команд. Подключаем АКИП-6108 к компьютеру, определяем установленный чип USB-to-UART (им оказался популярный CH340G), пробуем отправлять команды — и они работают! Очевидно, благодаря авторитетному первоисточнику от Keysight, даже сторонние производители клонов решили использовать стандартный и распространенный протокол SCPI, а не изобретать собственный велосипед.


github lcr

github Victor 189A

#DMM
👾3
/dev/AlphaSierra
Photo
4row ortholinear keyboard теперь на базе AOSP #2

Закончил работу над rc1. Клавиатура уже умеет все, что мне надо. Из интересного: управление курсором свайпами по пробелу, удаление выбранного куска свайпом по бэкспейсу, словарь с аббревиатурами для вставок шаблонных сообщений, tap-dance. Например, 2 пробела — это точка, 3 — запятая, 4 — вопросительный знак, 5 — восклицательный знак. Добавлена светлая и тёмная gruvbox. Свайп вниз работает как enter, свайп вправо переключает на слой редактирования, свайп влево меняет язык, свайп вверх — шифт/капс лок.

Удивительно, но у меня осталось даже несколько клавиш без дополнительных символов, но я пока не придумал, что еще добавить.

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

#4rowOrthoKBD
👾7
/dev/AlphaSierra
Photo
4row ortholinear keyboard теперь на базе AOSP #3

Я удалил поддержку всех языков, кроме английского и русского, и это снизило размер apk-файла с 60 МБ до 10. Если еще пооптимизировать ресурсы, убрать всё, что связано с голосовым вводом и прочими вещами, которые я не использую, думаю, можно выиграть еще пару мегабайт.

В этой клавиатуре никогда не будет интернета ни для каких целей. Она делалась исходя из вопросов приватности. При необходимости все настройки и словари можно экспортировать и перенести на другое устройство.

Из интересного, что я заметил во время работы над проектом: Gemini шлет флаг, что клавиатуре надо переключиться в режим инкогнито, но при этом Gboard игнорирует этот флаг конкретно для Gemini, в других приложениях она переключает в нужный режим, если есть флаг.

В AOSP-клавиатуре вроде как есть реализация swipe-ввода, но при этом библиотека, которая отвечает за распознавание, проприетарная и недоступна, хотя меня оно не интересует вообще.

#4rowOrthoKBD
👾2
/dev/AlphaSierra
Проект Omsk: гранулярный синтез Основной движок сейчас уже в целом функционирует и я начинаю планировать различные альтернативные движки. Если с аддитивным, FM и wavetable-синтезом всё относительно ясно и есть несколько open-source проектов для их реализации…
Проект Omsk: Собран первый экземпляр

Собрал первый экземпляр. Проверены midi джеки, энкодеры, кнопки, RGB. Пока что залита простенькая прошивка принимающая и отправляющая MIDI команды.

Думаю в скором времени портирую DMK под Омск.

#Omsk
👾10
/dev/AlphaSierra
Zed, Helix, Kakoune, Xi и Lapce В очередной раз решил попробовать новый редактор. Я что-то слышал и, возможно, даже пробовал несколько из этих редакторов раньше, но тогда они были довольно сырыми. Спойлер: несмотря на то, что некоторым из этих редакторов…
micro

Я очень люблю вим, я писал плагины для вима. Но я чертовски не люблю приложения, которыми невозможно пользоваться, пока ты их не допилишь плагинами и конфигами до какого-то адекватного состояния. И вим как раз из таких. Каждый раз запуск вима без конфигов — это борьба между тем, чтобы быстро поправить пару строчек на удаленной машине, и тем, чтобы ближайшие несколько часов потратить на настройку вима. Не так давно в неовим наконец добавили штатный менеджер плагинов, и я надеюсь, что через несколько лет мы сможем избавиться хотя бы от зоопарка менеджеров плагинов. Другая проблема вима — что как только ты поставил все, что тебе нужно, вим заметно начинает проседать по скорости и приходится настраивать ленивый запуск плагинов для каждого типа файла. И даже со всеми этими плагинами и конфигами вим все еще очень плохая ИДЕ, это хороший редактор, но делать из него ИДЕ — значит выкинуть все те плюсы, которые он несет как редактор, и получить очень перегруженный редактор со странными хоткеями и плашкой ИДЕ, прибитой где-то в углу на ржавом гвозде. И тут мы подходим к главной проблеме вима: без постоянной практики хоткеи вима просто забываются, а так называемые вим-моды в других приложениях, как правило, просто фикция, никто не заходит дальше банального назначения стрелочек на HJKL. А еще в неовиме очень много ЛУА, слишком много. Не то чтобы есть какое-то допустимое количество ЛУА, но в неовиме его кратно больше.

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

Емакс примерно как вим, надо пилить очень сильно, очень странные бинды, лисп, но при этом оно еще и слишком перегруженное, недаром говорят, что емакс — это не редактор, а операционная система.

Нано в целом примерно с теми же проблемами с юзабилити, только его даже особо перепилить под себя не выйдет.

И вот мы подходим к micro, ради которого писался этот пост. В нем, конечно, есть и луа, и джосон, но при этом он из коробки пытается дать привычный опыт, в нем ctrl-c — это копирование, а ctrl-v — это вставка. Из коробки подсветка синтаксиса. Из минусов можно отметить, что не очень много плагинов и в целом функционал очень минималистичный, но все, что требуется от простого консольного редактора, он умеет. Этот пост по традиции написан в герое этого поста.
👾6
/dev/AlphaSierra
DMK #8 Выложил загрузчик для Миландра на github. Там есть подробная инструкция, что с ним делать. Также там есть пример Blink, адаптированный под этот загрузчик. И конечно же этот загрузчик уже интегрирован в DMK. Протестировал VIAL и RGB на nRF52840. Остается…
DMK #9 MIDI

В QMK/VIAL есть поддержка MIDI, проблема в том, что она довольно ограниченная: можно слать MIDI-ноты, можно слать десяток MIDI-команд, на этом всё. Даже назначить MIDI CC на энкодер адекватно нельзя. Честно говоря, не уверен, зачем вообще MIDI нужно в таком виде. В DMK же реализовано всё куда более полноценно. Есть MIDI TOGGLE, можно слать абсолютные или относительные значения с помощью энкодера, можно назначить на нажатие посыл MIDI CC с определенным значением, при отпускании будет послан 0. Проблема в том, что всё это настроить с помощью VIAL не получится. Я, конечно, добавил обходной путь в виде кастомных кейкодов, проблема в том, что в VIAL есть ограничение на количество таких кейкодов. Если вам не нужно MIDI, то спешу вас успокоить: MIDI-функционал включается отдельным флагом, вся его документация находится в отдельных файлах, так что, если оно вам не надо, вы его даже не заметите. Также в DMK добавлена поддержка энкодеров. Все 4 энкодера Омска прекрасно работают. Пока что MIDI и энкодеры протестированы на RP2040/RP2350.

#DMK
👾2