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

Канал с красивыми картинками @kbdAE
Download Telegram
/dev/AlphaSierra
4row ortholinear keyboard теперь на базе AOSP #3 Я удалил поддержку всех языков, кроме английского и русского, и это снизило размер apk-файла с 60 МБ до 10. Если еще пооптимизировать ресурсы, убрать всё, что связано с голосовым вводом и прочими вещами,…
4row ortholinear keyboard теперь на базе AOSP (kazuar) #4: релиз

У проекта появилось какое-то понятное имя и иконки. Я не то чтобы горел желанием выкладывать проект, но раз сразу несколько людей заинтересовались, то почему бы и не выложить.

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

Текущее состояние проекта вполне работоспособное, хотя имеются некоторые шероховатости.

github

#4rowOrthoKBD
#kazuar
👾6
/dev/AlphaSierra
Наброски 32: РИСАТЕНО на ПЛИС? Раз уж никому не нравится идея сделать РИСАТЕНО на 6502, то может быть кого-то заинтересует РИСАТЕНО на ПЛИС в минималистичной обвязке. Сейчас найти бюджетную ПЛИС в каком-нибудь компактном корпусе вроде qfn48 не составляет…
Наброски 33: R36S (S от Synth)

Уже 3 года на рынке есть китайская игровая консоль на Rockchip RK3326 (4х1.5 ГГц) с 1 Гб ОЗУ, и все это за $20. Меня не особо интересует, чего она там эмулирует, мне куда интереснее, что внутри всего этого крутится Linux. В старших версиях еще есть чип Wi-Fi, но, к сожалению, это просто юсб-свисток, распаянный на плате, который сидит на шине USB OTG. BT нет ни в каком виде, то есть подключить сеть и клавиатуру к нему толком не выйдет, а значит, как линукс-машина оно не очень полезно. Однако если посмотреть на это устройство как на синтезатор, все становится сильно интереснее. Безусловно, мощности, чтобы крутить какой-нибудь VITAL, у него не хватит, однако он заметно мощнее любых микроконтроллеров, а его USB OTG можно использовать для подключения MIDI-клавиатуры и, скажем, использовать стики для управления модуляцией, а кнопки — для переключения режимов. Cтеп-секвенсер, семплер, трекер можно использова без клавиатуры, а семплы можно хранить на microSD.

#Наброски
👾8
День когда умерла музыка, год, когда родился джаз

03.02.1959 года борт номер N3794N потерпел крушение в Айове, унеся жизни музыкантов Бадди Холли, Ричи Валенса и Биг Боппера, а также пилота Роджера Питерсона.

Перебирая коллекцию, я обнаружил, что подозрительно много альбомов, которые определили звучание джаза, да и музыки в целом, вышли приблизительно в 1959 году. Например: «Time Out», «Kind Of Blue», «The Shape Of Jazz To Come», «Moanin'», «Things Are Getting Better», «Mingus Ah Um», «Side by Side», «Back to Back», «Giant Steps»... Список еще действительно длинный.

Чтобы хоть как-то проверить гипотезу, я начал пытаться собирать статистику. Нашел несколько относительно известных сайтов, взял их рейтинг лучших пластинок и начал строить статистику: чем выше место, тем больше баллов. По итогу получил большой график, где в целом видно, что я не сильно заблуждался. Если не брать во внимание смерть Бадди Холли, единственное заметное событие, связанное с музыкой, — это появление стереовинила в 1957 году.
👾5
/dev/AlphaSierra
Наброски 33: R36S (S от Synth) Уже 3 года на рынке есть китайская игровая консоль на Rockchip RK3326 (4х1.5 ГГц) с 1 Гб ОЗУ, и все это за $20. Меня не особо интересует, чего она там эмулирует, мне куда интереснее, что внутри всего этого крутится Linux. В…
Наброски 34: Клавиатура на стиках

Можно попробовать сделать из этого устройства cyberdeck, используя стики в качестве клавиатуры. Даже если оставить стику 3 направления, это уже 24 кнопки из комбинаций двух стиков. А ведь еще есть 4 задние кнопки и 11 кнопок спереди. Если использовать 8 направлений стиков, то это 81 сочетание, тогда задние кнопки можно использовать как модификаторы. Не думаю, что будет очень быстро или удобно, но опыт, конечно, интересный можно получить.

#Наброски
👾5
/dev/AlphaSierra
micro Я очень люблю вим, я писал плагины для вима. Но я чертовски не люблю приложения, которыми невозможно пользоваться, пока ты их не допилишь плагинами и конфигами до какого-то адекватного состояния. И вим как раз из таких. Каждый раз запуск вима без конфигов…
micro: плагины

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

action позволяет запускать любую консольную команду из fzf-списка, или по хоткею, или при сохранении файла.

opener позволяет выбрать с помощью fzf локальный файл из папки проекта или открыть нужный файл, используя путь. Также есть команда для открытия недавних файлов.



micro-action


micro-opener
👾3
che: Анонс

Мне очень нравится TotalCMD, по удобству работы с ним ничто не сравнится. Разве что, может быть, far, обвешанный кучей плагинов. Но проблема в том, что они оба windows only. Все кроссплатформенные ФМ делали люди, никогда не работавшие с файлами, но об этом мы поговорим в следующих постах. Пока что просто анонсирую разработку кроссплатформенного фм-менеджера на базе yazi. Почему именно он? Дело не в том, что мне нравятся терминальные фм или близка концепция yazi, просто мне кажется, что проще отрабатывать концепции и логику на tui и только потом уже думать о gui, а yazi — относительно функциональный фм.

На текущий момент реализована двухпанельность с поддержкой мыши, реализован нормальный multi rename, изменена система переименования, добавлено превью на второй панели, интегрирован плагин превью музыки, реализована система копирования файла (не пути, файла) в буфер обмена штатным образом для всех ОС. Мне бы хотелось при всех своих изменениях сохранить поддержку родных плагинов yazi.

#che
👾12
/dev/AlphaSierra
Наброски 31: M-Vave FM-1 Компания M-Vave, которая в основном известна бюджетными МИДИ контроллерами выпустила своей первый мини синтезатор. Справедливости ради, в их старших миди контроллерах (SMK-37 Pro) уже был простенький режим синтезатора и вот теперь…
M-Vave FM-1: кастомная прошивка

Получил синтезатор, разобрал. Начал думать в сторону реверса прошивки. Пока что смог понять, как работает прошивальщик от производителя: он просто шлет MIDI SysEx всем устройствам с запросом. Когда ему отвечает устройство, он сравнивает версию прошивки на устройстве и ту, которую он хочет прошить. Если его версия старше, он отправляет на устройство сигнал перехода в режим прошивки и начинает по MIDI отправлять данные прошивки с размером и хэшем. Никаких проверок подписей, судя по всему, нет, значит, можно залить свою прошивку. Но проблема в том, что на устройстве нет ни дебаг-пинов, ни других способов попасть в загрузчик. Значит, наша прошивка должна уметь обновляться либо по USB, либо также по MIDI. Описание протокола, фотографии платы и прочее уже на GitHub. Если кто-то желает присоединиться — буду рад.

github

#FM1
👾4
micro: обновление opener и action

Исправлены проблемы при работе на Windows, теперь плагины одинаково работают на всех системах.

Как-то так получается, что сейчас мне намного приятнее пользоваться micro, чем условным vs code. В нем не хватает разве что возможности сворачивать код, но, судя по словам разработчика, это осознанное решение. Прыгать между функциями вполне удобно по ctags, и это в каком-то смысле заменяет сворачивание и мотивирует писать более элегантные решения. Как говорится, если весь твой код не влезает в один экран, значит, ты написал очень плохой hello world.

micro-action


micro-opener
👾4
/dev/AlphaSierra
Наброски 32: РИСАТЕНО на ПЛИС? Раз уж никому не нравится идея сделать РИСАТЕНО на 6502, то может быть кого-то заинтересует РИСАТЕНО на ПЛИС в минималистичной обвязке. Сейчас найти бюджетную ПЛИС в каком-нибудь компактном корпусе вроде qfn48 не составляет…
Наброски 33: РИСАТЕНО на ПЛИС #2

ПЛИС: Gowin GW1N-UV9QN48C6/I5 (копус QFN-48, встроенный кварц, флешка, LDO на 1v2). Из внешнего оборудования ей требуется только LDO 3v3 и JTAG-отладчик. Планируется два USB type c: однин для вывода данных клавиатуры, один для отладки. Свитчи какие-нибудь механические с rgb подсветкой и возможно добавим nice!view. По аналогии с низкотеной думаю добавить колодку с выводом 8x GPIO, 3v3 и GND.

Сейчас уже есть работающий прототип прошивки на Tang Nano 9K. Начинаю двигаться в сторону рисования схемы.

#PNCATEHO
#Наброски
👾4
/dev/AlphaSierra
Проект Omsk: FM синтез До недавнего времени я очень скептически относился к FM-синтезу, то есть я понимал, как он работает, но он мне казался очень ограниченным, потому как в отличие от модульного аддитивного синтезатора, в котором, конечно, есть и AM, и…
Проект Omsk: Релиз

Думаю, надо начать с небольших пояснений, почему Omsk не похож на любой типичный синтезатор или даже мини-синтезатор. Во-первых, расположение кнопок 4х4 дает возможность использовать любую прошивку, будь то сэмплер, дрон, драм-машины, и не привязываться к стандартной рояльной клавиатуре. Безусловно, так не очень удобно играть, но я, наверно, никого не удивлю, сказав, что даже если расположить эти кнопки в два ряда со стаггером, удобнее играть не станет. Оно сделано не для этого. Набить ноты в секвенсор можно с любой раскладкой, а для полноценной живой игры можно подключить внешнюю клавиатуру. Главная задача была — сохранить карманные размеры. Сейчас Omsk значительно компактнее конкурентов, при этом работать с ним значительно приятнее, чем нажимать дешевые тактовые кнопки или, что еще хуже, сенсорные кнопки и крутить крутилки без ручек на многих других изделиях.

На гитхабе уже лежат все прошивки, платы, корпус.
github

Про Omsk написал канал бракованные детали

#Omsk
👾12
/dev/AlphaSierra
4row ortholinear keyboard теперь на базе AOSP (kazuar) #4: релиз У проекта появилось какое-то понятное имя и иконки. Я не то чтобы горел желанием выкладывать проект, но раз сразу несколько людей заинтересовались, то почему бы и не выложить. В проекте есть…
kazuar #5: обновление

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

github

#4rowOrthoKBD
#kazuar
👾2
/dev/AlphaSierra
Проект Omsk: Релиз Думаю, надо начать с небольших пояснений, почему Omsk не похож на любой типичный синтезатор или даже мини-синтезатор. Во-первых, расположение кнопок 4х4 дает возможность использовать любую прошивку, будь то сэмплер, дрон, драм-машины, и…
Проект Omsk: обновления и дальнейшие планы

Omsk отнял какое-то немыслимое количество денег и времени. У меня на самом деле были большие планы Omsk v2 (или Tomsk (турбо Омск) с применением HE свитчей, распайкой ЦАП, IMU, сенсорных полосками модуляции, но я честно не знаю когда я вернусь к этой идеи. Одна из основных проблем это ширина свичей, я не могу сделать устройство с двумя октавами, так чтобы оно все еще было карманны, потому что даже если я напечатаю кастомные кейкапы, они все еще будут 14 мм шириной, а это суммарно больше 20 см ширины для двух октав. Поэтому вероятно ничего лучше форм-фактора калькулятора тут не придумать.

Интересные проекты, которые возможно стоит портировать на Omsk:

picoTracker

PicoVintageSynthCollection

Выложил файлы лого и различные python инструменты, которые использовались в процессе разработки (эмуляторы ранних версий движков, эмуляция MIDI контроллера).

github


#Omsk
👾6
/dev/AlphaSierra
M-Vave FM-1: кастомная прошивка Получил синтезатор, разобрал. Начал думать в сторону реверса прошивки. Пока что смог понять, как работает прошивальщик от производителя: он просто шлет MIDI SysEx всем устройствам с запросом. Когда ему отвечает устройство,…
M-Vave FM-1: портировали dexed

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

Я немного обновил свой репозиторий с информацией, но в это время AL-255 начал очень активно реверсить прошивку. На текущий момент из того, что я вижу, к родной прошивке были добавлены хуки для экрана, миди и ЦАП, чтобы заменить родной движок на dexed (опенсурсную реализацию DX7). Я так понимаю, прошивка пока очень сырая, но это очень большой шаг вперед. Мне не особо нравится такой путь, потому что он существенно ограничивает возможности по кастомизации, однако при этом пути не придется с нуля реализовывать функционал для общения с железом.

мой github

fm-1-RE

#FM1
👾1
/dev/AlphaSierra
DMK #9 MIDI В QMK/VIAL есть поддержка MIDI, проблема в том, что она довольно ограниченная: можно слать MIDI-ноты, можно слать десяток MIDI-команд, на этом всё. Даже назначить MIDI CC на энкодер адекватно нельзя. Честно говоря, не уверен, зачем вообще MIDI…
DMK #10 Релиз

Думаю, настало время релизить DMK. Не могу сказать, что всё отполировано, но базово всё, что хотел, я сделал, документация готова на русском и английском. Собирать можно локально или через гитхаб-шаблон. Для клавиатуры, по сути, нужен всего один config.h. Также есть поддержка langshift: я сам этим не пользуюсь, но реализовать это было довольно просто, поэтому почему бы и нет.

Поддержка сплитов и «Байкала» не тестировалась, не на чем. Пишите, если будут какие-то вопросы.

В очередной раз повторю, что основная идея — сделать простую и понятную прошивку с поддержкой отечественных МК. Поддержка rp2040/rp2350/nrf52840 — абсолютно побочные явления. Про поддержку BLE очень подробно написано в readme. Поддержка RF аналогичным образом может быть реализована.

Сейчас готовится один интересный проект на МК от «Миландр» и датчиках Холла с прошивкой DMK. Плата уже есть, прошивка предварительно работает, нужно нарисовать корпус и собрать.

github

#DMK
👾6
⋊> ~ echo fish shell

Мне не нравится настраивать инструменты, инструменты должны работать из коробки. Привести bash или zsh в состояние, в котором ими будет приятно пользоваться, — это очень большая работа, которой я не хочу заниматься, а по умолчанию ими, конечно, приятнее пользоваться, чем powershell, но не думаю, что это очень лестное сравнение.

fish работает из коробки, в моем конфиге прописана только небольшая git-интеграция, !! и замена приветственного символа, и все это крайне необязательно, даже без этого fish намного комфортнее zsh и bash.

Давайте сразу отработаем все возможные возражения.

> fish несовместим с POSIX

Действительно, но POSIX давно на свалку, и вы, скорее всего, никогда не встретитесь с этим, потому что все скрипты по умолчанию используют bash.

> fish не поддерживает !!

Действительно, но есть хоткей alt+s, который делает то же самое, но если нужно, можно добавить поддержку !! 3 строками в конфиге.

> на сервере нет fish

https://github.com/xxh/xxh

fish
👾9
/dev/AlphaSierra
Наброски 33: РИСАТЕНО на ПЛИС #2 ПЛИС: Gowin GW1N-UV9QN48C6/I5 (копус QFN-48, встроенный кварц, флешка, LDO на 1v2). Из внешнего оборудования ей требуется только LDO 3v3 и JTAG-отладчик. Планируется два USB type c: однин для вывода данных клавиатуры, один…
Наброски 34: HE сплит на ESP32-S3

У ESP32-S3 20 аналоговых входов (10 из них нельзя использовать вместе с wifi, но нам и не надо). Это значит что можно сделать 40 клавишный сплит без применения аналоговых мультиплексоров, один датчик = один канал ацп, максимально просто и честно. RMK поддерживает ESP32. Модули по размерам очень компактные, им ничего кроме 3v3 снаружи не требуется. ESP32 потребляет больше nRF, но на фоне потребления датчиков Холла это не важно.

Нет для EC или индукции это работать не будет, им нужны предусилители, ставить 20 предусилителей на плату это перебор.

Документация

Errata

datasheet

—————
UPD: Часть пинов ADC2 используются при начальной загрзуке, для USB и внешней flash памяти. Также на ADC2 есть ограничение на непрерывное чтение.

но все еще есть ADC1 на десять канало который можно полноценно использовать в РИСАТЕНО.

#Наброски
👾2
/dev/AlphaSierra
che: Анонс Мне очень нравится TotalCMD, по удобству работы с ним ничто не сравнится. Разве что, может быть, far, обвешанный кучей плагинов. Но проблема в том, что они оба windows only. Все кроссплатформенные ФМ делали люди, никогда не работавшие с файлами…
che: Релиз

che уже пару раз пытались сравнить c mc. Мне кажется сравниние абсолютно не коректно. mc довольно беспомощный, конечно же в нем можно вызывать shell утилиты, но с тем же успехом можно просто использовтаь cd/ls. Есть форк mc в который добавили систему плагинов, но даже если он станет популярным, пройдет еще очень много лет прежде чем там появится сравнимый с yazi набор плагинов.

В che работают практически все плагины yazi за очень редким исключением. Например менеджер сессий работает, но при востановлении сессии вкладки с обоих панелей улетают на первую, поэтому я сделал свою кастомную версию.

Из важного добавлено скрытие второй панели и лишних колонок, если окно совсем узкое, что удобно при работе с tmux.

che доступен в nix, winget, brew. А также в виде бинарных файлов. Ведем работу над добавлением в snap.

Полный список отличий от yazi можно посмотреть тут.

github

#che
👾8
/dev/AlphaSierra
che: Релиз che уже пару раз пытались сравнить c mc. Мне кажется сравниние абсолютно не коректно. mc довольно беспомощный, конечно же в нем можно вызывать shell утилиты, но с тем же успехом можно просто использовтаь cd/ls. Есть форк mc в который добавили…
che: Почему три панели хуже двух

Надо признаться, что я не понимаю философию ranger. Первая панель — это папка на уровень выше, вторая — текущая папка, третья — превью. Со средней панелью все понятно, к ней вопросов нет. Зачем мне видеть родительскую папку постоянно? Если ее убрать, мы получаем двухпанельный файловый менеджер, в котором постоянно открыт предпросмотр. Зачем мне постоянно видеть окно предпросмотра? И вот мы приходим к тому, что ranger — урезанный по возможностям двухпанельный файловый менеджер с постоянно открытым окном предпросмотра и с одной лишней панелью.

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

Я не хочу сказать, что использование в двухпанельных файловых менеджерах функциональных клавиш — это хоть сколько-нибудь хорошее решение, но для него есть исторические предпосылки, и оно не конфликтует с поведением стандартных файловых менеджеров. VIM-like хоткеи были применены к файловым менеджерам не так давно, они ломают привычную логику использования файлового менеджера, они ничем, кроме иррационального желания намазать хоткеи vim где только можно, не обусловлены.

#che
👾5
cardputer ADV

Это далеко не первый проект ESP32-S3 + QWERTY, но обычно они стоят заметно дороже (тот же T-Deck), а за очень компромиссное устройство с не самым большим комьюнити отдавать почти сотню баксов никто не хочет, поэтому комьюнити больше не становится. В то время как Cardputer — это совершенно другая история. Цена $35, модульность с огромным количеством готовых модулей, поддержка LEGO-крепления, магнитное крепление, довольно большое комьюнити. На борту есть и динамик, и выход под наушники, и IMU. К сожалению, на колодке пинов нет выхода 3v3, там только 5v, так что в любом случае придется ставить регулятор. Есть также launcher, который позволяет одновременно держать в памяти несколько прошивок и переключаться между ними. По моей просьбе автор добавил быструю загрузку в нужную прошивку по нажатию цифровых кнопок.

Экранчик крохотный, клавиатура не самая удобная, но это отличная доступная платформа для быстрого прототипирования идей.

#cardputer
👾4