Модальность - ключевая особенность [нео]вима, которая позволяет эргономично работать без мышки, без извращений с Ctrl+Shift. Есть новое поколение модальных редакторов которые ещё не обзавелись плагинами, но уже имеют аудиторию показывает что эргономичность важна, а расширяемость ценой возможностей по умолчанию подходит не всем.
Большинство эффективных многопоточных структур сложны для понимания без участия ИИ. Для обеспечения производительности и корректности нужно довольно строго и точно понимать все переходы между состояниями, а со строгостью у LLM как раз проблемы насколько я вижу из отзывов. Довольно необычно если Ваш опыт говорит о полезности ИИ в данной задаче.
Интринсиксы намного удобнее в использовании чем ассемблер. И компилятор генерирует очень хороший код. std::experimental::simd просто пушка, очень жду C++26.
Короткий ответ: может. Клавиши обычно кофигурируются в виде матрицы, каждая строка и столбец матрицы требуют одного контакта микроконтроллера. В вашем случае микроконтроллере нужно минимум 8+5 цифровых пинов если делать обычную матрицу. Если не ошибаюсь, ZMK поддерживает виртуальные матрицы. Делается реальная матрциа близкая к квадратной, чтобы максимально эффективно использовать контакты, и она преобразуется в более удобную. Детали я не знаю, так как не занимался этим, но для 13 пинов 6x7 матрица даст 42 кнопок, а 5x8 даст 40. Каждая плата (которых может быть больше 2) конфигурируется отдельно, и теоретически может вообще содеражать независимые матрицы свитчей с независимыми слоями.
Насколько я понимаю Вы пробуете сделать нечто близкое к предлагаемому профилю memory safety?
Одна из основных критик данного профиля в невозможности реализации без аннотаций, хоть авторы и утверждают что аннотаций будет минимум. Я скорее разделяю мнение что без аннотаций это невозможно, но мне кажется что большинство из них должно быть в описании структур данных, то есть в библиотечном коде, что вполне допустимо. Поэтому в Вашем первом опросе я голосовал что безопасность только с плагином невозможна, так как потребует поддержки всей стандартной библиотеки.
Третий подход рассмотренный в статье мне кажется не очень правильным. Всё-таки получение итератора до функции меняющей состояние вектора - это ошибка программиста, и желательно ее детектировать и исправить. На мой взгляд второй подход может быть терпимым в отношении ложных срабатываний, если добавить список разрешенных методов для разных концептов контейнеров. Например, у contiguous контейнера операции доступа к элементам не должны инвалидировать память, а resize и reserve точно инвалидируют.
Ещё интересно, есть ли у вас привязка времени жизни слабой ссылки (например, внутри итератора) к времени жизни сильной ссылки?(Надеюсь я правильно применил термины которые вы используете для плагина) В memory safety профиле если не ошибаюсь благодаря такому слежению помимо предотвращения доступа после освобождения памяти этот механизм используется для контроля алиасинга. Это конечно снова требует аннотаций, но от этого не сбежать.
Других сплит клавиаутур у меня и знакомых не было, поэтому не могу сравнить. Я последние годы почти не играю, но недавно пробовал Deadlock, движение на WASD с цифрами совмещать без отдельного циферного ряда не самое удобное). Также мой друг отметил что в некотором ПО, в частнсти blender шорткаты неудобно нажимать одной рукой, а вторая занята мышкой. В остальном я очень кайфую от слоев, все символы доступны с минимальными движениями, поэтому лично для себя не вижу смысла в дополнительных клавишах.
1) Клон nice!nano с алиэкспресс, так проще всего найти 2) Половинки между собой только по беспроводу, с компьютером по bluetooth или по usb 3) Только один контроллер определятся как калвиатура, остальные не обмениваются данными по usb. 4) Прошивка zmk, у нее софт для конфигурации клавиш еще на очень раннем этапе. Y меня клавиши сконфигурированы старым способом и являются частью прошивки. Детальнее можно узнать из документации zmk 5) По ощущениям 2-3 недели, но я ни разу не делал хорошего измерения
Не видел, но могу посоветовать посмотреть каталог Alpine, они - очень крупный производитель кнопок, переключателей и энкодеров. Некоторые их устройства можно найти на Али. Кнопка ресета и переключатель в клавиатуре как раз от них.
Единственное применение энкодеров которое я нашел для себя - громкость и отключение звука по нажатию. Сейчас у меня для этого клавиши на отдельном слое. Возможно совсем немного менее удобно, но дискомфорта не испытываю. На алиэкспресс есть готовые corne (вроде V4) с дополнительными клавишами и\или энкодерами. На реддите видел хорошие отзывы про них.
До начала использования сплита я выучил десятипальцевую печать. Сколько заняло перейти на такой сплит точно уже не скажу, так как было давно. Буквы которые помещаются на основном слое очень быстро. Цифры и дополнительные символы наверное за пару недель до терпимого уровня. Без стола наверное можно, но мне удобнее со столом по разным причинам. У меня очень много процесов переведено под использование только клавиатуры, но без мышки/тачпада все еще не обойтись.
Лежа не пробовал) Переодически печатаю довольно сильно откинувшись на стуле, высота стола и подлокотников подобрана чтобы руки немного висели над клавиатурой. Неплохо, но лично мне комфортнее переодически менять посадку и положение половинок.
Микроконтроллер насколько я знаю довольно чувствительный к температуре монтажа, рисковать не хочется. Ранее у меня несколько МК погибло в процессе использования. Это были довольно ранние ревизии платы микроконтроллера с Алиэкспресс, новые ревизии вроде постабильнее, но все равно как минимум 1 из 10 сломался. Поэтому только разьем с возможностью замены МК.
Переключатель батареи нужен чтобы ток потребления был совсем низким. В текущей конфигурации МК входит в глубокий сон через 10 минут, так что при повседневном использовании я его не выключаю, но при переноске или длительном хранении думаю лишним не будет. Сами переключатели SSSS811101, насколько я знаю почти стандарт для беспроводных DIY клавиатур. Брал на Али, проблем ни разу не испытывал, хотя больше полугода ежедневно переключал по несколько раз на старой клавиатуре.
Кейкапы совсем не ощущаются угловатыми, в первую очередь из-за сферических углублений. С таким расстоянием между клавишами заводские кикапы есть только для choc v1 свитчей и они почти плоские. По ощущениям разделение за счет углублений помогает мне меньше промахиваться по клавишам при быстром наборе. Мне кажется этот профиль получился очень удачным.
Большинство прошивок для клавиатур делаются на базе QMK и ZMK и на данный момент они не поддерживают аналоговые датчики Холла. Есть проекты с их поддержкой, насколько я знаю все они достаточно свежие, менее года, скорее всего из-за небольшого предложения свитчей до появления Gateron Jade. Когда поддержка появится в апстриме QMK/ZMK не могу судить, сейчас есть несколько проектов проводных раздельных клавиатур, например Sunder E70 HE.
По времени достаточно долго, отработка техпроцессов, доработка деталей, исправление огрехов. Думаю 2-3 месяца по чуть-чуть собиралась первая. Если оценивать последнюю изготовленную клавиатуру то 4-6 часов на изготовление разнесенные на несколько дней. Но это если все операции успешно выполнены с первого раза. По деньгам получается ~10-11 т.р. материалы, без учета потерь на неудачные операции.
БПФ же как раз определен через рекурсию, реализовать его рекурсивно вовсе не сложно.
Я бы даже сказал что через рекурсию он понятнее, но это обсуждаемо.
Модальность - ключевая особенность [нео]вима, которая позволяет эргономично работать без мышки, без извращений с Ctrl+Shift. Есть новое поколение модальных редакторов которые ещё не обзавелись плагинами, но уже имеют аудиторию показывает что эргономичность важна, а расширяемость ценой возможностей по умолчанию подходит не всем.
LLM помог Вам в написании такой структуры?
Большинство эффективных многопоточных структур сложны для понимания без участия ИИ. Для обеспечения производительности и корректности нужно довольно строго и точно понимать все переходы между состояниями, а со строгостью у LLM как раз проблемы насколько я вижу из отзывов. Довольно необычно если Ваш опыт говорит о полезности ИИ в данной задаче.
Интринсиксы намного удобнее в использовании чем ассемблер. И компилятор генерирует очень хороший код. std::experimental::simd просто пушка, очень жду C++26.
Стоицизм
Короткий ответ: может.
Клавиши обычно кофигурируются в виде матрицы, каждая строка и столбец матрицы требуют одного контакта микроконтроллера. В вашем случае микроконтроллере нужно минимум 8+5 цифровых пинов если делать обычную матрицу.
Если не ошибаюсь, ZMK поддерживает виртуальные матрицы. Делается реальная матрциа близкая к квадратной, чтобы максимально эффективно использовать контакты, и она преобразуется в более удобную. Детали я не знаю, так как не занимался этим, но для 13 пинов 6x7 матрица даст 42 кнопок, а 5x8 даст 40.
Каждая плата (которых может быть больше 2) конфигурируется отдельно, и теоретически может вообще содеражать независимые матрицы свитчей с независимыми слоями.
Я думаю имеется ввиду новый api который позволяет реже использовать итераторы.
Насколько я понимаю Вы пробуете сделать нечто близкое к предлагаемому профилю memory safety?
Одна из основных критик данного профиля в невозможности реализации без аннотаций, хоть авторы и утверждают что аннотаций будет минимум. Я скорее разделяю мнение что без аннотаций это невозможно, но мне кажется что большинство из них должно быть в описании структур данных, то есть в библиотечном коде, что вполне допустимо. Поэтому в Вашем первом опросе я голосовал что безопасность только с плагином невозможна, так как потребует поддержки всей стандартной библиотеки.
Третий подход рассмотренный в статье мне кажется не очень правильным. Всё-таки получение итератора до функции меняющей состояние вектора - это ошибка программиста, и желательно ее детектировать и исправить. На мой взгляд второй подход может быть терпимым в отношении ложных срабатываний, если добавить список разрешенных методов для разных концептов контейнеров. Например, у contiguous контейнера операции доступа к элементам не должны инвалидировать память, а resize и reserve точно инвалидируют.
Ещё интересно, есть ли у вас привязка времени жизни слабой ссылки (например, внутри итератора) к времени жизни сильной ссылки?(Надеюсь я правильно применил термины которые вы используете для плагина) В memory safety профиле если не ошибаюсь благодаря такому слежению помимо предотвращения доступа после освобождения памяти этот механизм используется для контроля алиасинга. Это конечно снова требует аннотаций, но от этого не сбежать.
Других сплит клавиаутур у меня и знакомых не было, поэтому не могу сравнить. Я последние годы почти не играю, но недавно пробовал Deadlock, движение на WASD с цифрами совмещать без отдельного циферного ряда не самое удобное). Также мой друг отметил что в некотором ПО, в частнсти blender шорткаты неудобно нажимать одной рукой, а вторая занята мышкой. В остальном я очень кайфую от слоев, все символы доступны с минимальными движениями, поэтому лично для себя не вижу смысла в дополнительных клавишах.
Пробовал, но в итоге вручную в файлике делал, понятнее что-ли
1) Клон nice!nano с алиэкспресс, так проще всего найти
2) Половинки между собой только по беспроводу, с компьютером по bluetooth или по usb
3) Только один контроллер определятся как калвиатура, остальные не обмениваются данными по usb.
4) Прошивка zmk, у нее софт для конфигурации клавиш еще на очень раннем этапе. Y меня клавиши сконфигурированы старым способом и являются частью прошивки. Детальнее можно узнать из документации zmk
5) По ощущениям 2-3 недели, но я ни разу не делал хорошего измерения
Не видел, но могу посоветовать посмотреть каталог Alpine, они - очень крупный производитель кнопок, переключателей и энкодеров. Некоторые их устройства можно найти на Али. Кнопка ресета и переключатель в клавиатуре как раз от них.
Единственное применение энкодеров которое я нашел для себя - громкость и отключение звука по нажатию. Сейчас у меня для этого клавиши на отдельном слое. Возможно совсем немного менее удобно, но дискомфорта не испытываю.
На алиэкспресс есть готовые corne (вроде V4) с дополнительными клавишами и\или энкодерами. На реддите видел хорошие отзывы про них.
Плата микроконтроллера содержит контроллер заряда, заряд от USB.
Не встречал, но я не интересовался данным вопросом.
До начала использования сплита я выучил десятипальцевую печать. Сколько заняло перейти на такой сплит точно уже не скажу, так как было давно. Буквы которые помещаются на основном слое очень быстро. Цифры и дополнительные символы наверное за пару недель до терпимого уровня.
Без стола наверное можно, но мне удобнее со столом по разным причинам. У меня очень много процесов переведено под использование только клавиатуры, но без мышки/тачпада все еще не обойтись.
Лежа не пробовал) Переодически печатаю довольно сильно откинувшись на стуле, высота стола и подлокотников подобрана чтобы руки немного висели над клавиатурой. Неплохо, но лично мне комфортнее переодически менять посадку и положение половинок.
Микроконтроллер насколько я знаю довольно чувствительный к температуре монтажа, рисковать не хочется. Ранее у меня несколько МК погибло в процессе использования. Это были довольно ранние ревизии платы микроконтроллера с Алиэкспресс, новые ревизии вроде постабильнее, но все равно как минимум 1 из 10 сломался. Поэтому только разьем с возможностью замены МК.
Переключатель батареи нужен чтобы ток потребления был совсем низким. В текущей конфигурации МК входит в глубокий сон через 10 минут, так что при повседневном использовании я его не выключаю, но при переноске или длительном хранении думаю лишним не будет. Сами переключатели SSSS811101, насколько я знаю почти стандарт для беспроводных DIY клавиатур. Брал на Али, проблем ни разу не испытывал, хотя больше полугода ежедневно переключал по несколько раз на старой клавиатуре.
Кейкапы совсем не ощущаются угловатыми, в первую очередь из-за сферических углублений. С таким расстоянием между клавишами заводские кикапы есть только для choc v1 свитчей и они почти плоские. По ощущениям разделение за счет углублений помогает мне меньше промахиваться по клавишам при быстром наборе. Мне кажется этот профиль получился очень удачным.
Большинство прошивок для клавиатур делаются на базе QMK и ZMK и на данный момент они не поддерживают аналоговые датчики Холла. Есть проекты с их поддержкой, насколько я знаю все они достаточно свежие, менее года, скорее всего из-за небольшого предложения свитчей до появления Gateron Jade. Когда поддержка появится в апстриме QMK/ZMK не могу судить, сейчас есть несколько проектов проводных раздельных клавиатур, например Sunder E70 HE.
По времени достаточно долго, отработка техпроцессов, доработка деталей, исправление огрехов. Думаю 2-3 месяца по чуть-чуть собиралась первая. Если оценивать последнюю изготовленную клавиатуру то 4-6 часов на изготовление разнесенные на несколько дней.
Но это если все операции успешно выполнены с первого раза.
По деньгам получается ~10-11 т.р. материалы, без учета потерь на неудачные операции.