Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Рыбный дождь — это настоящий симулятор рыбной ловли, позволяющий забросить удочку в настоящие водоёмы со всего мира и поймать ту рыбу, которая там водится.

Рыбный дождь

Спорт, Симуляторы, Рыбалка

Играть

Топ прошлой недели

  • Oskanov Oskanov 9 постов
  • Animalrescueed Animalrescueed 46 постов
  • AlexKud AlexKud 33 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
16
DmitriitheFals
2 месяца назад
Лига Сисадминов
Серия Кудахтеры: Proxmox GmbH

Переход на Proxmox (Proxmox GmbH, Vienna, Austria) с Hyper-V by Microsoft и VMware by Broadcom. Часть четвертая из многих⁠⁠

Для лиги лени: общеизвестное и душное.

Часть 1. Общая
Часть 2. Gitlab и Nexus
Часть 3. Ansible и Ansible AWS

Часть 4. Наконец переходим к Proxmox

Поздравляю всех с выходом Proxmox 9.0. Даже статья вышла – ждите сервис пака Upgrade from 8 to 9, читайте Known Issues & Breaking Changes и Known Upgrade Issues.

Первый взгляд: чем отличается Proxmox от Broadcom ESXi и Microsoft Hyper-V?

Первый взгляд: требуемое место для установки.
Broadcom ESXi до недавнего времени отлично (с оговорками) работал с 32 Гб хоть USB флешки, хоть SD карточки, в псевдорейде, и без. При этом, хотя с версии 6.5 флешка умирала за 3-6 месяцев, спасибо криворуким разработчикам, но сам гипервизор, и виртуальные машины на нем, продолжали работать до планового выключения или миграции (обычно). Иногда с проблемами.
RAID для установки? Не нужен. Если умерла флешка, то берется новая, на нее за 10 минут ставиться ESXi той же версии. За еще 5 минут применяется или бекап конфигурации (родной, теплый, встроенный бекап, не забывайте делать), или profile с vCenter, или, если вы озаботились, то прогоняете хоть powershell (powercli) скрипт, хоть что угодно, и система снова в строю.
Можно и PXE boot делать, можно и FC \ iSCSI boot. Со всеми минусами сочетания FC и кривых рук. Известная история, как отформатировать раздел с виртуальными машинами, привлекая внимание санитаров.

С Microsoft Hyper-V другая история. Хотя там и был отдельный дистрибутив с Hyper-V only, но я не видел, чтобы его в таком виде как-то массово использовали. Так что готовьте 60-100 гигабайт на загрузку плюс данные плюс логи.
RAID для установки? Нуууу .. it depends on. Проблема выбора не очевидна, но.
Аппаратный рейд отнимает PCIe слот, снижает производительность NVME SSD дисков (ссылка 1, ссылка 2), и очень хочется заменить его на PCIe SAS или SATA переходник или как-то еще уйти от этого.
Внутри Microsoft Windows давно существует два подхода к RAID – это софтовый рейд от MS, и storage space \ storage space direct (этот требует лицензии DC).
Софтовый рейд работает, но для настройки зеркалирования «и загрузчика и раздела восстановления» нужно идти в diskpart и делать там всякое, причем diskpart еще и не автоматизируется (штатно, конечно можно написать свой обработчик). Сделать можно, и это работает, но в эксплуатации решение «вроде все ок, но как-то так себе». Разовая, но все равно ручная работа.
PXE и прочие варианты загрузки, конечно, тоже есть. Бекап – есть. Нужно ли при этом иметь RAID ? Не знаю. 20 лет назад, во времена 2003 \ 2008 Windows и дисков по 74 Гб, было проще сделать RAID. Сейчас мне проще настроить встроенный бекап, сделать один раз, и экспортировать задание со скриптом. Хотя это все равно колхозное решение.

Установленный для тестов и этой статьи в виртуальную машину Proxmox 8.4 занял 5 Гб, до установки обновлений, агентов, прочей обвязки.

RAID для установки? Нуууу .. it depends on. Проблема в чем. Встроенного бекапа конфигурации нет. Есть какие-то скрипты непонятной годности, их еще и читать надо. Конечно, есть LVM, но его настройка описана «как-то так». Можно заранее сделать mdadm boot on RAID1, но это все равно ручная работа и по перезагрузке, и по восстановлению. И BIOS надо настроить.

Эти все моменты «как бы есть, но как бы и не понятно», стали одним из поводов к написанию заметок, и поводом посидеть, подумать еще раз, погонять сценарии отказа в виртуальной среде. На физике было решено максимально просто: диски новые, сейчас делаем первую итерацию, для наших задач это не так важно, потом переделаем.
FEEL THE POWER OF AGILE! (нет)

(Переделывать, конечно, никто не собирался).

(Переделывать, конечно, никто не собирался).

Первый взгляд: Остаток используемого места.

Если у вас не отдельные диски «только под загрузку», и не планируется vSAN или Storage space direct, и нет системы хранения данных, то возникает вопрос «что делать с остальным местом на дисках».
Broadcom ESXi решает эту задачу в лоб – отделяет себе 138 Гб, а дальше делайте что хотите, только под vSAN такое не используйте.

Microsoft Hyper-V решает эту задачу не менее прямолинейно – делайте что хотите, но место под ОС будьте добры предоставить.

С PVE Proxmox Virtual Environment все .. не так очевидно.
Для тестов был сделан диск на 75 Гб, тонкий (динамический)

Если при установке сделать LVM, и потом посмотреть, что там вышло, то получим:
lsblk

NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda  8:0  0  70G  0 disk
├─sda2  8:2  0  512M  0 part /boot/efi
└─sda3  8:3  0 69.5G  0 part
├─pve-swap  252:0  0  8G  0 lvm  [SWAP]
├─pve-root  252:1  0 27.4G  0 lvm  /
├─pve-data_tmeta 252:2  0  1G  0 lvm
│ └─pve-data  252:4  0 23.5G  0 lvm
└─pve-data_tdata 252:3  0 23.5G  0 lvm
└─pve-data  252:4  0 23.5G  0 lvm

lvdisplay покажет:
--- Logical volume ---
LV Name  data
VG Name  pve
LV Size  <23.50 GiB

--- Logical volume ---
LV Path  /dev/pve/swap
LV Name  swap
VG Name  pve
LV Size  8.00 GiB

--- Logical volume ---
LV Path  /dev/pve/root
LV Name  root
VG Name  pve
LV Size  27.37 GiB

Понятно, что не понятно.

Если смотреть из GUI, то на LVM свободно 9 Гб, а на томе Data свободно все 23.
Как пишут, есть нюанс:
временные файлы при копировании создаются в корневом разделе в /var/tmp/
Но, у меня /dev/mapper/pve-root  создался размером 27G, занято всего 3.0G, так что переживу.

Давайте посмотрим, что с этим можно сделать, положу туда стопку ISO !
В GUI это все видно как:
/dev/mapper/pve-root  виден как Storage 'local' on node 'proxmox1'

И второй виден как Storage 'local-lvm' on node 'proxmox1'
при этом монтируется это все ничуть не очевидно, например
ISO images в GUI это /var/lib/vz/template/iso
CT templates в GUI это  /var/lib/vz/template/cache

CT templates позволяет закачивать только .tar.xz файлы, точнее закачивать то можно хоть ISO, но закачивать надо с именем .tar.xz , ну что за хрень.
Удалить файлы пачкой из GUI нельзя, создать папок под свои представления о прекрасном нельзя, что такое то. ГДЕ СВОБОДА?
В целом GUI не очень понятный, надо сидеть пытаться понять логику авторов.

Если я иду в node/disks, то вижу диски. Ок, понятно.
Если я иду в node/disk/lvm, то вижу, что создана LVM группа PVE, из трех томов, и свободно 9 Гб. Ну, окей.
Если я иду в node/disk/ lvm-thin, то вижу пустой pool, и .. и что мне с этим знанием делать?

Интересное наблюдение. Удаление файлов, хоть из GUI, хоть из CLI, не освобождает место на диске с точки зрения гипервизора. То есть изнутри VM место есть, но дальше, при попытке его сжать, он как был раздут до 29333222111, так и останется, вне зависимости от ключей для Optimize-VHD
Решение гуглится за минуту,
apt install zerofree
но «из коробки» ничего этого нет. Горько мне, горько.

Первичные исправления и обновления.

Для того, чтобы это австрийское изделие заработало в продуктиве, нужно:
Настроить на Nexus – proxy repo
Поменять VLAN и дефолтный IP. У меня оно взяло IP из первичных настроек DHCP, которого я не ожидал.
Настроить DNS
Настроить нужные pero на proxmox
Настроить NTP
И, наконец, обновиться.
Сменить настройку в CLI по умолчанию, куда прописался старый IP.
Сделать нормальную авторизацию, то есть дома – по сертификату с паролем, а в продуктиве, конечно, AD/Kerberos
Убрать надпись при входе

Вроде ничего не забыл, про пересылку логов событий, установки антивирусов и прочих Тайнос Агентос пусть безопасность думает, про Zabbix пусть мониторинг телеграфирует или графанирует.
Сначала сделаю руками. Конечно, надо сразу делать через Ansible.

Настроить на Nexus – proxy repo
Это самое простое.
Settings – Repo – create proxy - Distribution to fetch e.g. bionic : bookworm для 8.4, trixie для 9.
Save – done
Зачем? Чтобы ваши гипервизоры не ходили в интернеты. Но, если вам ОК, то пусть ходят.

Не забудьте выписать URL.
Очень смешно получается, если прописать не bookworm, а bionic, и прописать этот репозиторий в PVE. Обязательно попробуйте.

Поменять VLAN и дефолтный IP.
У меня оно взяло IP из первичных настроек DHCP, которых я не ожидал
Здесь, если делать руками, все максимально просто.
Открываем документацию, раздел Network Configuration, раздел Default Configuration using a Bridge, и делаем.
Для продуктива, конечно, открываем пример
Use VLAN 5 with bond0 for the Proxmox VE management IP with traditional Linux bridge ,
думаем, читаем, делаем.
nano /etc/network/interfaces
и даже делаем
If you made manual changes directly to the /etc/network/interfaces file, you can apply them by running
ifreload -a

Но при этом в GUI, во вкладке localnetwork, все равно откуда-то подтягивается старый адрес для vmbr0, причем в поле COMMENT, если зайти в сети хоста.
Я поленился его искать в описаниях, и исправил из GUI, и это был alias, куда я вообще смотрел.

Настроить DNS
Тут тоже ничего нового, nano /etc/resolv.conf

Настроить нужные pero на proxmox
nano /etc/apt/sources.list
nano /etc/apt/sources.list.d/ceph.list
nano /etc/apt/sources.list.d/pve-enterprise.list
Надеюсь, вы поняли, что надо туда прописать, после настройки Nexus

Настроить NTP
Нет ничего проще, открыли документацию, Time Synchronization, настроили.
nano /etc/chrony/chrony.conf , и посмотрели: chronyc tracking
В изолированной среде, разумеется, за временем придется идти или к NTP proxy, или к контроллерам домена.

И, наконец, обновиться.
Было: pveversion
pve-manager/8.4.0/ (running kernel: 6.8.12-9-pve)
стало
pve-manager/8.4.9/ (running kernel: 6.8.12-9-pve)

Вот что неприятно, так это то, что в
http://download.proxmox.com/debian/pve/dists/bookworm/InRelease
дату обновлений видно, а что там обновлено и исправлено – найти так сразу нельзя.
В changelog смотреть – развлечение тоже то еще.

Сменить настройку в CLI по умолчанию, куда прописался старый IP.
Это, понятно, /etc/hosts

Сделать нормальную авторизацию, то есть дома – по сертификату с паролем, а в продуктиве, конечно, AD/Kerberos
Тут тоже капитанство,
nano ~/.ssh/authorized_keys и готово
Во всех остальных случаях надо читать документацию, Syncing LDAP-Based Realms

Убрать надпись при входе
Тут тоже никакой магии. Прочитать это или это, и сделать. Или, все то же самое, но через pve-nag-buster, или, если вы совсем ленивы, то читаете тред на реддит, и делаете. Вплоть до рецепта remove_nag.yml
615-я строка, кому интересно, res.data.status.toLowerCase() \!== 'active'

Литература
Changing the default size of the ESX-OSData volume in ESXi 7.0
Change ESXi 7 System Storage Installation Size
boot on RAID1
Расширение корневого раздела (LVM) в Proxmox
Proxmox - Распределение дискового пространства
Переключение на бесплатные репозиторий в Proxmox VE

В следующей серии:
Actions step-by-step, Proxmox VE API

надеюсь, теги Proxmox и Ansible наконец добавятся

Показать полностью 2
[моё] Windows IT Linux Опыт Гайд Импортозамещение Microsoft Длиннопост
7
ravenmende
ravenmende
2 месяца назад

Ctrl + D⁠⁠

Привык в разных редакторах дублировать на Ctrl + D - теперь удаляю этой комбинацией клавиш все файлы на Windows.

[моё] Windows Случайность Привычки Короткопост Текст
2
16
DemerNkardaz
DemerNkardaz
2 месяца назад
ИТ-проекты пикабушников

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры⁠⁠

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

Написана на AutoHotkey v2

Прескриптум: из-за отсутствия элемента блока кода все примеры кода будут ссылкой на GitHub Gist’ы.


Зачем? — У меня и самой был запрос на такую программу. Программу с кучей «нестандартных» символов. Существующие решения не отвечали моим потребностям и тогда я решила создать своё, подходящее под мои хотелки: многоязычный ввод, ввод типографских, математических и даже алхимических символов. И теперь я надеюсь, что сие «изобретение» окажется полезным не только для меня.

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

Примеры названий языков и систем, написанные с помощью моей программы:

  • Қазақ тілі, Хуэйзў йүян, Забони тоҷикӣ, Йағнобӣ зивок, Аԥсуа бызшәа, Авар мацӏ, Українська мова, Словѣньскъ ѩꙁꙑкъ, Црногорски језик, Лимба Рꙋмѫнѣскъ, Итәнмәӈин крвэԓхатас, Даһур Усүүэ, Азәрбајҹанҹа, Башҡорт теле, Тэлэңгэт, Чӑваш чӗлхи…

  • Ænglisċ sprǣċe, Français, Tiếng Việt, Hànyǔ Pīnyīn, Norrœnt mál, Limba Română, Español, Język polski, Čeština, Bokmål, Tamaziɣt, Türkçe, Sää’mǩiõll…


Установка и репозиторий

Репозиторий проекта на GitHub: DSL-KeyPad

Установка:

Во-первых, необходимо установить сам AuotHotkey 2.*, скачав с соответствующего сайта или через терминал:

winget install AutoHotkey.AutoHotkey

Затем:

  1. Выбрать самую последнюю версию DSL KeyPad из релизов репозитория или скачать с SourceForge.

  2. Распаковать содержимое архива куда угодно — это и будет директорией установки.

  3. Запустить DSLKeyPad.exe или DSLKeyPad.ahk файл.

  4. При необходимости в настройках можно установить автозагрузку при старте системы.

    1. *При перемещении папки необходимо будет снова установить автозагрузку, т.к. путь не обновляется автоматически.

  5. Нужен шрифт Noto Serif, но при его отсутствии программа сама предложит установку.


GUI с представлением списка доступных символов с их хоткеями или «рецептами» (см. далее)

GUI с представлением списка доступных символов с их хоткеями или «рецептами» (см. далее)

Краткий экскурс

Идея «DSL KeyPad» родилась, как было упомянуто выше, из собственной потребности в «нестандартных» символах. Сначала я пользовалась «Типографской раскладкой» Ильи Бирмана (и пользуюсь по сей день в паре со своим инструментом), но этого мне оказалось мало — она не давала мне всего необходимого.

Работа над книгой стала отправным толчком: мне хотелось использовать в ней буквы «Ў», «Ӯ», «Ӣ», «Ō» и пр.: Сўкэнори, «Записи времён Тōбō» (Tōbō nendai-ki), Фӯдзин. Я искала и пробовала другие решения — например, WinCompose, — но по итогу это привело меня к мысли «всё не совсем то». Тогда я уже занималась написанием своего скрипта, ещё совсем простого, и продолжила его развивать.

Первая версия была до банальности примитивной, ~20 биндов формата обычных привязок:

<^<!m:: Send("{U+0304}") ; Combining macron

<^<!b:: Send("{U+0306}") ; Combining breve

…

<^>!>+1:: Send("{U+2003}") ; Em Space

<^>!>+2:: Send("{U+2002}") ; En Space

…

<^<!e:: Send("{U+045E}") ; (Ў)

…

Со временем мою голову начали посещать всё новые идеи и желание хотя бы попробовать их реализовать. Желание сделать что-то сложнее, разнообразнее, и что могло бы охватить все мои потенциальные символьные хотелки. Как итог — процесс, конечно, сильно затянулся, да получился какой-то монструозный ООП’оид, но результатом я довольна (есть что улучшать, и я буду это улучшать по мере возможности).

Думаю тут же следует упомянуть, что я не программист. Максимум кодер. В начале разработки так вообще была утёнком тем ещё и бегала частенько к нейронке (с которой контакт заладился плохо — не умел гпт с автохоткеем нормально помочь… и хорошо — лишний пинок самой думать над кодом).

Краткий перечень возможностей

  • Как описано в заголовке — поддержка более 4 700 символов Юникода, включая: пунктуацию, математические символы, символы валют, специальные символы, алхимические и т.д.

  • «Многослойный» набор привязок, в основном — раздельных для английского и русского языков ([англ.] RAlt + A → Ă, RAlt + Z → Ż [рус.] RAlt + Ф → Ѳ, RAlt + Я → Ѧ). Включает поддержку пользовательских привязок в JSON‐формате.

  • Режим композиции — активируется двойным нажатием RAlt и позволяет получать одни символы из последовательности других («рецепта») (AE → Æ OE → Œ A◌̆◌́ → Ắ ІѪ → Ѭ ДЧ → Ԭ ΣΤ → Ϛ, αͺ → ᾳ). Включает поддержку пользовательских рецептов в INI/JSON/XCompose форматах.

  • Альтернативные режимы ввода для форм письменности, отличных от латиницы и кириллицы (греческая письменность, руническая, глаголица, финикийская, этрусская, тюркская, пермская и пр. виды письменности; включает и Международный фонетический алфавит).

  • Вариации глифов — режимы, позволяющие вводить альтернативные варианты символов (A → ᴬ 𝐴 𝐀 𝑨 𝖠 𝘈 𝗔 𝘼 𝙰 ᴀ 𝔄 𝕬 𝒜 𝓐 𝔸). Интерфейс схож с предыдущим пнуктом, но сама фича работает чуть-чуть иначе.

  • Переключение режима ввода между символами Юникода [Ă Ǣ], HTML-энтити/мнемоники [&Abreve; &#482;] и LaTeX [\u{A} \={\AE}] (если LaTeX команды нет — введёт символ Юникода) (RAlt + RShift + F1).

  • Поиск символов по «тегам». У большинства из символов локальной библиотеки есть два и более тегов, по сути, представляющих из себя варианты названий, которые можно вводить как полностью, так и частично, чтобы получить результат (прописная буква Еры глаголицы или гла еры → ⰟⰊ).

  • Внутренние раскладки клавиатуры, позволяющие использовать отличное от QWERTY/ЙЦУКЕН расположение привязок. Включает поддержку пользовательских раскладок в JSON‐формате.

  • Вспомогательные TELEX/VNI-подобные режимы ввода для вьетнамского языка (с щепоткой джарайского) и для пиньиня.

  • Мини-режимы для ввода надстрочных/подстрочных символов цифрового ряда (LWin LAlt + ↑/↓), при этом CapsLock зеркалит вводимые символы (при активном надстрочном режиме — активация CapsLock заставит вводиться подстрочные, и наоборот).

  • Мини-режим для ввода римских цифр (отдельных символов Юникода) (LWin LAlt RShift + ↑): ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ…

  • Возможность добавлять символы в избранное. Избранный символ будет выделяться в списке символом ★, а его рецепт (если он есть) будет всегда отображаться в подсказке режима композиции.

  • Поддержка модификаций. Возможно добавление, например, собственного «Альтернативного» или TELEX/VNI-подобного режима к уже существующим.

  • И другие, менее значимые возможности…

Подробнее об основных возможностях

Многослойные привязки, они же «Быстрые ключи»

Самое страшное. Их много, невероятно много, и опытный пианист, безусловно, справится с ними. Если верить .HotKeysCount()’у, то их более восьмисот. На каждой клавише может быть до 10–11-ти возможных комбинаций (если не считать комбинации с активным CapsLock за отдельные), но в среднем их около восьми (латинская I в этом чемпион: Ĭ Ï Ī Ĩ Î Ǐ Į İ Í Ì Ȉ).

Демонстрация

Демонстрация

В случае необходимости их можно отключить/включить через RAlt + F1. Состояние сохраняется в файле настроек.

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

Некоторые комбинации были унаследованы от «Типографской раскладки»:

  • RAlt + Точка (/) — вводит многоточие [ … ],

  • RAlt + 1 | 7 — вводят перевёрнутые восклицательный и вопросительный знак [ ¡ ¿ ],

  • RAlt + 5 — вводит промилле [ ‰ ],

  • RAlt LAlt + 8 — вводит символ бесконечности [ ∞ ] (оригинальную комбинацию занял символ умножения [ × ], а потому для бесконечности в неё был добавлен левый Альт),

  • RAlt *(LShift) + Дефисо-минус — вводят длинное и короткое тире [ — – ],

  • RAlt + Равно — не равно [ ≠ ],

  • RAlt + Пробел — неразрывный пробел [  ].

Комбинации для вставки кавычек унаследованы ввиде Б (<) и Ю (>) как и в «Типографской раскладке», но имеют несколько отличное поведение:

  • RAlt + Б (<) | Ю (>) — вводят [ « » ], если активен русский язык, или [ “ ” ], если активен английский,

  • RAlt LAlt + Б (<) | Ю (>) — тоже, что и предыдущее, но языки поменялись местами,

  • RAlt LShift + Б (<) | Ю (>) — вводят [ „ “ ], если активен русский язык, или [ ‘ ’ ], если активен английский,

  • RAlt RShift + Ё (`) — дополнительная комбинация под [ ’ ] для использования в качестве апострофа.

Примеры уже собственных привязок:

  • RAlt + Клавиши стрелок — [ ←↑↓→ ],

  • RAlt + Пары клавиш стрелок (влево-вверх, вправо-вверх, влево-вниз и т.д.) — [  ],

  • RAlt LShift + Клавиши стрелок — [ ⮌⮍⮏⮎ ],

  • RAlt RShift + Клавиши стрелок влево/вправо — [ ↺↻ ],

  • RAlt RShift + Пробел — круглая шпация [   ],

  • RAlt LShift + Пробел — полукруглая шпация [   ],

  • RAlt LAlt + Пробел — тонкая шпация [    ],

  • RAlt + 9 | 0 — [ ⟨ ⟩ ],

  • RAlt + [ | ] — [ ⁅ ⁆ ],

  • RAlt LAlt LShift RShift + [ | ] — [ 《 》 ],

  • RShift *(CapsLock) + 1 — [ ‽ ⸘ ].

Комбинации, которые не будут отображены в интерфейсе:

  • Shift + 2, 3, 4, 6, 7 отзеркалены для языков на RShift, т.е. при английском LShift + 2 введёт [ @ ] (как обычно), а RShift + 2 — [ " ], на русском — наоборот.

    • 2 (@"), 3 (#№), 4 ($;), 6 (^:), 7 (&?).

  • RShift *(LShift) + Х, Ъ введут скобки [] и {} соответственно.

Ещё есть «Вторичные» и «Третичные ключи», активируемые через RAlt LAlt + F1 и RAlt LAlt + F2. Это дополнительные привязки для символов, которые не влезли в основной пул, но им очень хотелось. Они пришли на замену са́мой первой, отбракованной «механике» инструмента — «Группам активации»: необходимо было нажать комбинацию для активации одной из «групп», а затем ввести символьный ключ желаемого знака.

Отключаются эти ключи повторным нажатием их комбинации, а состояние сохраняется в файле настроек.

Пользовательские привязки

GitHub Gist

Для создания привязок необходимо разместить <ФАЙЛ>.JSON в «DSLKeyPad\User\profile-<ПРОФИЛЬ>\CustomBindings\» со схожей структурой: (см. «Пример.jsonc» в Gist)

Примечание: кодировка файла должна быть UTF-8.

Пользовательские привязки поддерживают следующие форматы: (см. «Форматы.md» в Gist)

И следующие типы значений:

// Обычный текст

"@<ТЕКСТ>"

// Ссылка на запись в библиотеке

"<ИМЯ ЗАПИСИ>::<ВАРИАНТ>×<КОЛИЧЕСТВО>"

Подробнее о формате ссылки на запись см. в блоке о пользовательских рецептах.

Модификаторы: < и > указывают «левый» или «правый», ^, !, + — Ctrl, Alt, Shift. Для RAlt нужно использовать конструкцию <^>!.

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


Режим композиции

Вдохновлён клавишей Compose из Linux и WinCompose. Преобразует последовательность одних символов во что-то другое.

Активируется двойным нажатием RAlt. Ввод пользователя будет отображаться во всплывающей подсказке вместе с предложениями совпадений и списком рецептов избранных символов.

Демонстрация

Демонстрация

Введение «композиции» дало больше простора для ввода. Клавиатура не резиновая и не может уместить бесконечное число привязок. Композиция же принимает любой ввод, в том числе и от «Быстрых ключей», что даёт большу́ю вариативность в рецептах и доступ к бо́льшему количеству символов напрямую с клавиатуры.

Режим композиции срабатывает на первое точное совпадение рецепта. Это и плюс и немного минус — такое поведение не позволит ввести, например, Ǣ из-за автоматического срабатывания AE → Æ. Для решения этой проблемы я ввела режим удержания (клавиша Pause), при котором композиция ждёт нажатия Enter или снятия с удержания.

Помимо режима удержания можно использовать «оператор» гравис [ ` ]. Он не отменяет автоматическое срабатывание, но сохраняет его результат в переменной активной композиции вместо отправки в окно приложения. Это позволяет продолжить последовательности, если есть рецепты, начинающиеся с полученного результата. Ǣ =  A`E → Æ → Æ<МАКРОН>.

Общий перечень клавиш:

  • Enter — подтвердить ввод.

  • Escape — отменить режим композиции.

  • Backspace — стереть последний символ.

  • Insert — вставка содержимого буфера обмена.

  • Pause — переключение удержания.

Операторы

  • Гравис [ ` ] — описан выше.

  • (ЧИСЛО) — при начале ввода с такого оператора результат рецепта будет продублирован указанное число раз, «(5) TH» → «ÞÞÞÞÞ».

  • (~) — при начале ввода с такого оператора можно вводить целые слова, внутри которых будут обработаны рецепты, «(~) T<ЗАПЯТАЯ СНИЗУ>ara Roma<ЦИРКУМФЛЕКС>neasca<КРАТКА>» → «Țara Românească».

  • (ЧИСЛО~) — объединение предыдущих операторов.

  • ## — позволяет предотвратить обработку нежелательных последовательностей, «(~) tho<АКУТ>rr» → «þórr», «(~) t##ho<АКУТ>rr» → «thórr».

Ввод кодовых точек Юникода и Альт-кодов

Режим композиции можно использовать для вставки символов по их кодам. Ввод начинается с U+/Ю+ или A+/А+, а после — значение. Можно указывать множество значений, разделяя их пробелом.

На альт-коды влияет язык активной раскладки: числа 128–255 и 0128–0255 используют страницы 850/Windows−1252 для английской раскладки, 866/Windows−1251 для русской, 737/Windows−1253 для греческой, Windows−1258 для вьетнмаской.

Альт-коды можно вводить в шестнадцатеричном формате: A+0B9 = A+0185 → № (Windows−1251). Для этого ввод должен содержать букву из диапазона A–F. Верхняя граница — A+FF (A+255).

Демонстрация альт-кодов

Демонстрация альт-кодов

Демонстрация Юникода

Демонстрация Юникода


Пользовательские рецепты

Как «вручную», так и через окно интерфейса можно создавать свои рецепты для композиции. Результат может быть сколько угодно объёмным многострочным текстом, но не рекомендую вставлять туда через чур большой текст.

Окно «Мои рецепты»

Окно «Мои рецепты»

Окно создания и редактирования рецепта

Окно создания и редактирования рецепта

При первом запуске создаётся несколько рецептов для демонстрации — шаблон HTML, иероглиф «義», тег <kbd> и эмодзи «».

Основной файл представлен в JSON‐формате, «DSLKeyPad\User\profile-<ПРОФИЛЬ>\CustomRecipes.json». Можно добавлять и дополнительные файлы рецептов в INI (UTF-16 LE) или JSON (UTF-8) форматах, размещая в директории «DSLKeyPad\User\profile-<ПРОФИЛЬ>\CustomRecipes\». Рецепты оттуда будут автоматически загружены при старте программы или при нажатии кнопки обновления в окне «Мои рецепты».

Поддерживается подгрузка последовательностей из файлов формата XCompose. Их небходимо помещать в директорию «DSLKeyPad\User\profile-<ПРОФИЛЬ>\XCompose\». Файл должен заканчиваться расширением «.XCompose»

Примечание: поддерживаются только простые последовательности XCompose, как, например, «<Multi_key> <g> <r> <i> <n> : ""» или «<Multi_key> <U1100> <U1100> : "ᄁ" U1101 # HANGUL CHOSEONG SSANGKIYEOK». При первом запуске в демонстрационных целях по указанному пути создаётся файл «demo.XCompose» с последовательностью «<Multi_key> <0> <0> : "∞"».

Пример дополнительного файла рецептов

Примеры в форматах INI и JSON (GitHub Gist)

Формат ссылки на записи

${<ИМЯ ЗАПИСИ>::<ВАРИАНТ>×<КОЛИЧЕСТВО>} — ссылка, обращающаяся к записи библиотеки, если та существует. Через «::» можно задать «вариацию» (${digit_1} → «1» | ${digit_1::superscript} → «¹»). В конце ссылки через символ «×» можно указать количество повторений вывода записи (${digit_1::superscript×10} → «¹¹¹¹¹¹¹¹¹¹»).

Одной ссылкой можно обратиться сразу к нескольким записям, помещая названия или их часть в \/ конструкцию, например: ${lat_c_let_\b,o,l,d/::bold} → 𝐁𝐎𝐋𝐃, ${\hel,lat/_c_let_a_alpha} → ΑⱭ, ${\nabla,delta,integral,square_root/} → ∇∆∫√.

Ссылки можно использовать и между пользовательскими рецептами для создания зависящих друг от друга рецептов, например:

[white_heart]

name=Белое сердце

recipe=бср|whr

result=

[white_heart_triple]

name=Три белых сердца

recipe=3бср|3whr

result=${white_heart×3} ; вставляет результат первого рецепта трижды

Для <Вариантов> существуют альтернативные формы записи для удобства/сокращения:

  • Bold — полужирный, п, b

  • Italic — курсив, ку, it

  • ItalicBold — курсив полужирный, куп, itb

  • Modifier — верхний индекс, ви, sup

  • Superscript — верхний индекс, ви, sup

  • Subscript — нижний индекс, ни, sub

  • Fraktur — фрактур, ф, f

  • FrakturBold — полужирный фрактур, пф, fb

  • Script — рукописный, р, s

  • ScriptBold — полужирный рукописный, пр, sb

  • DoubleStruck — ds

  • SansSerif — без засечек, бз, ss

  • SansSerifItalic — курсив без засечек, кубз, ssit

  • SansSerifItalicBold — курсив полужирный без засечек, купбз, ssitb

  • SansSerifBold — полужирный без засечек, пбз, ssb

  • Monospace — моноширинный, м, m

  • Fullwidth — полноширинный, пш, fw

  • SmallCapital — капитель, к, sc

  • SmallCapitalModifier — капитель-модификатор, км, scm

  • Small — маленькая, мал, sm

  • Combining — комбинируемый, ко, c

  • Uncombined — некомбинируемый, неко, uc

Для дополнительных файлов рецептов есть возможность добавлять несколько параметров для всех содержащихся в них рецептов (указываются вручную в начале файла):

[options]

; последовательность, устанавливаемая в начало всех рецептов в файле

prefix=<ПЕРФИКС>

; отключает добавление пробела после префикса

no_whitespace=1

; … рецепты

[

 "options": {

  "prefix": <"ПЕРФИКС">,

  "no_whitespace": 1

 },

 // … рецепты

]

Если в файле есть двойные (и более) рецепты (например «лёд|ice»), для них можно задать и подобного вида префиксы (одинарные рецепты всегда берут первый из префиксов):

[options]

prefix=эмодзи|emoji

[recipe_name]

name=Лёд

; потребует ввода «эмодзи лёд» или «emoji ice»

recipe=лёд|ice

result=

PS. Не рекомендую использовать больше 1  500 пользовательских рецептов (что очень легко получить с XCompose-файлами). Сейчас такое может ощутимо замедлить инициализацию программы, но возможно у меня получится это оптимизировать.

XCompose рецепты

XCompose рецепты


Альтернативный ввод

Селектор алтернативного ввода

Селектор алтернативного ввода

Комбинация: LWin + LAlt + S (селектор)

По сути — просто наборы активируемых привязок для целого перечня форм письменности/алфавитов, в основном отличных от латиницы и кириллицы.

Примечание: наборы привязок используют клавиши латиницы и кириллицы, т.е смена «внутренней» раскладки влияет на них.

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

  1. Эллинское письмо (оно же — греческое) — позволяет вводить как символы современного греческого алфавита, так и древнегреческие знаки с добавлением прочих различных символов, относящихся к нему, например:
    αάὰὰἀᾳᾱᾰἅἄἃἂἇἆ ΐ ϐϕϱϖϰϲϵ
    · ; ⸒ ⸏ ⸐ ⸑ ⸎ ⸔ ⸕ ⸓ ⸖ ʹ ͵ ₯

    От стандартной греческой раскладки отличается типичным для английского расположением небуквенных символов и наличием коппы и дигаммы (Ϟ Ϝ) на месте Q W (; ς на греческой раскладке). Здесь знак ς вводится комбинацией LAlt Σ (S).

    Положение привязок не изменяется при смене латинской/кириллической раскладки — для Эллинского письма введена собственная раскладка, однако изменить её нельзя (ну, льзя, просто не посчитала нужным добавить пункт выбора в GUI настроек).

  2. Германские руны — позволяет вводить руны Старшего Футарка, Англосаксонского Футорка, Младшего Футарка, Средневековые руны, «Золотые числа» 17–19 Рунического альманаха (ᛮᛯᛰ), Руны с Ларца Фрэнкса и ещё три руны Толкина за компанию. Ну и значки пунктуации (᛫᛬᛭).

  3. Глаголица — основывается на кириллической раскладке и позволяет вводить как простые буквы глаголицы, так и комбинируемые и соответствующую диакритику. Включается в пару с «Германскими рунами».

  4. И прочие, уже указанные на скриншоте формы письменности и алфавитов: Древнетюркское письмо, Древнепермское письмо (кириллическая раскладка, в паре с Древнетюркским), Секейское письмо, Готское письмо, Этрусское письмо (древнеиталийское, включает символы не только этрусского алфавита), Финикийское письмо, Южноаравийское письмо, Североаравийское письмо, Карийское письмо, Ликийское письмо, Лидийское письмо, Сидетское письмо (на данный момент введён режим и записи библиотеки символов, но официально Сидетская письменность будет введена в Юникод с релизом Unicode 17.0 минимум 9-го сентября, потому пока будут квадратики вместо букв и шрифты найти не получиться), Кипрское слоговое письмо, Тифинаг, Угаритское письмо, Древнеперсидское письмо, Международный фонетический алфавит, Дезеретский алфавит, Алфавит Шоу и режим для ввода математических символов.

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

Вариации глифов

Селектор вариации глифов

Селектор вариации глифов

Комбинация: LWin + LAlt + A (селектор)

Имеет такой же селектор, как у «Альтернативного ввода», но вместо набора привязок указывает программе, какой вариант символа нужно использовать. У записей библиотеки есть атрибут, в котором прописаны варианты — полужирный, курсивный, капитель и т.д. Такие символы не представлены отдельными записями, являясь лишь свойством. Это делает «Вариации глифов» легко совместимыми с фичами, полагающимися на создание привязок.

Если в записи символа отсутствует указанный вариант — будет послан «обычный» символ.

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

GUI промосмотра вариантов

GUI промосмотра вариантов

TELEX/VNI-подобный ввод

Режимы, основанные на вьетнамских TELEX и VNI раскладках для облегчения ввода, собственно, вьетнамского (с добавлением букв джарайского алфавита) и пиньиня.

Комбинации: RAlt + F2 (Вьетнамский), RAlt + RShift + F2 (Пиньинь) / LWin + LAlt + D (селектор)

Демонстрация

Демонстрация

Для ввода букв с диакритикой необходимо вводить последовательность символов, например: AWS → Ắ (A → Ă → Ắ), A5 → Ẫ, DD→ Đ, BB → Ƀ, UONGW → ƯƠNG, UONG5 → ƯỠNG. Для отмены слипания последовательности можно использовать \, A\W → AW вместо Ă или повторно ввести последний символ (AW → ĂW → AW). Последнюю введённую диакритику можно отменить вводом Z (ǕZ → ÜZ → U).

Можно менять диакритику уже введённого символа, если не перемещать каретку: ẰS → Ắ, ẮA → Ấ, ẤJ → Ậ, ẬR → Ẩ…

Демонстрация

Демонстрация

Перечень символов режимов

  • Tiếng Việt: Á À Ả Ã Ạ Â Ấ Ầ Ẩ Ẫ Ậ Ă Ắ Ằ Ẳ Ẵ Ặ É È Ẻ Ẽ Ẹ Ê Ế Ề Ể Ễ Ệ Í Ì Ỉ Ĩ Ị Ó Ò Ỏ Õ Ọ Ô Ố Ồ Ổ Ỗ Ộ Ơ Ớ Ờ Ở Ỡ Ợ Ú Ù Ủ Ũ Ụ Ư Ứ Ừ Ử Ữ Ự Đ

    • Jơrai: Ĕ Ě Ĭ Ŏ Ǒ Ö Ŭ Ü Ƀ Č Ñ

  • Hànyǔ Pīnyīn: Ā Á À Ǎ Ē É È Ě Ī Í Ì Ǐ Ō Ó Ò Ǒ Ū Ú Ù Ǔ Ü Ǖ Ǘ Ǜ Ǚ

Нюансы

Работает, не так хорошо, как настоящая вьетнамская языковая раскладка — не учитывает контекст поля ввода и перемещение каретки в нём. Для получения контекста необходимо (если не ошибаюсь) лезть в процесс активного окна, и я решила не рисковать — те же античиты в играх такое не оценят, особенно со стороны автохоткея. Было бы не очень, слови пользователь моей программы бан за такое (или я же сама).

Если по какой-то причине «локальный» контекст (видимый во всплывающей подсказке) не совпадает с контекстом поля ввода — его можно сбросить нажатием RCtrl. Так же локальный контекст сбрасывают Enter, Esc, Home, Page Up/Down, Del, клавиши стрелок, ввод пробельных символов.

Ещё один нюанс — не во всех приложениях оно будет работать как задумано из-за отсутствия механизмов IME. Например, в VS Code попытка ввести Ắ приведёт к разными результатам: ĂẮ, AẮ, Ắ, AĂẮ.

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


Поиск

Окно ввода для поиска

Окно ввода для поиска

Комбинация: LWin + LAlt + F

Как уже упоминалось — у каждого символа есть набор «тегов», и они могут быть весьма длинными. Например, «строчная буква омега с псили, периспомени и ипогеграммени эллиницы» даст символ «ᾦ».

Вводить полный тег не обязательно — «омег пс пе ип» даст тот же «ᾦ». Однако чем короче запрос, тем менее точный будет результат. Через запятую можно вводить множество запросов:

  • «дез ди, !дез ди, lamb, !lamb» → «𐐔𐐼Λλ»

  • «ref, obe, psms, msps» → «※÷±∓»

Вместо тега можно ввести имя записи, например «hel_c_let_l_lambda» → «Λ».

Можно использовать регулярные выражения, например:

  • «fut.*?\s+\S+al» (ищем тег с любыми символами и пробелами между fut и al) → «ᚺ» (руна Хагалаз), полный тег: «germanic rune elder futhark Hagalaz».

  • «az$» (ищем тег с az в конце) → «ᛞ» (руна Манназ), полный тег: «germanic rune elder futhark Mannaz».

  • «^фра» (ищем тег с фра в начале) → «₣» (Франк).

Поддерживается и указание вариации глифа, добавляя ::<ВАРИАНТ> в конец запроса:

  • «лигатура ae, лигатура ae::капитель, !латин h::фрактур» → «Æᴁ𝔥»

Помимо поиска символов, окно ввода запроса поддерживает вызов некоторых методов/функций:

  • \ или /Reload — перезапускает программу.

  • /Exit — закрывает программу.

  • /ChrLib.Print — создаёт и открывает файл «printed_pairs.html» с перечислением записей локальной библиотеки формата «символ — имя записи».

  • /MyRecipes.Update — ре-инициализирует пользовательские рецепты.

  • %globalInstances.crafter.Start("Compose")% — аналогично RAlt×2 активирует режим композиции…

  • /KbdBinder.Init — ре-инициализирует раскладки и привязки.


Внутренние раскладки клавиатуры

Возможно они могли бы показаться лишними, но они необходимы — привязки прибиваются гвоздями к скан-кодам клавиш (что я посчитала более надёжным, чем к «абстракции» в виде буквы/названия клавиши). Из-за этого переключение системной раскладки не изменит положение привязок программы. Однако в настройках можно выбрать соответствующие внутренние раскладки и тогда привязки будут на корректных местах для отличных от QWERTY/ЙЦУКЕН раскладок.

Для латиницы доступны следующие раскладки: QWERTY, Colemak, Dvorak. Для кириллицы: ЙЦУКЕН, ЙІУКЕН (1907), Диктор. Раскладки могут отличаться от своего оригинала.

Диктор:

  • Для ввода «Ъ» необходимо зажать левый Альт и нажать на «Ь». При этом «Быстрые ключи», назначенные на «Ъ» переходят к «Ь» с добавлением левого Альта в комбинацию (было RAlt *(LShift) + Ъ → ҮҰ, стало RAlt + LAlt *(LShift) + Ь → ҮҰ).

  • Цифровой ряд от ЙЦУКЕН.

ИІУКЕН:

*Добавлена скорее ради забавы.

  • Ввод «-_— –» и «=+≠≈±» перенесён на клавиши «Ъ» и «\» по ЙЦУКЕН.

  • Цифровой ряд от ЙЦУКЕН, за исключением «-» и «=».

Если в программе нет подходящей раскладки — её можно создать самому через <ФАЙЛ>.JSON разметку в «DSLKeyPad\User\profile-<ПРОФИЛЬ>\CustomLayouts\» со следующей структурой: примеры на GitHub Gist.


Модификации

В директории «DSLKeyPad\Mods\» можно размещать сторонние AHK-файлы в качестве «модов» к программе. С помощью модификаций можно значительно кастомизировать программу, например, добавив хоть сотню новых режимов «Альтернативного ввода» или вообще ввести новую, самостоятельную фичу.

[Образец мода]

Для создания мода необходимо создать папку со следующей базовой структурой:

Mods/

└── <ИМЯ МОДА>/

 ├── index.ahk

 ├── options.ini

 └── preview.(ico|jpg|png) (необязательный файл)

Файл index.ahk будет содержать логику мода и к нему можно подключать другие AHK-файлы через #Include (ничем не отличается от независимого AHK-скрипта).

Файл options.ini (UTF−16 LE):

[options]

title=<НАЗВАНИЕ>

version=<ВЕРСИЯ>

type=<ТИП ЗАГРУЗКИ>

author=<АВТОР> ; (опционально добавление @<ССЫЛКА>)

url=<ССЫЛКА НА СТРАНИЦУ МОДА>

description=<ОПИСАНИЕ>

; Локализованные варианты

[ru-RU] ; (или другой код языка)

title=…

author=…

description=…

Тип загрузки может быть pre_init (для загрузки до основной инициализации) или post_init (для загрузки после неё).

Моды автоматически подхватываются. После добавления нового мода следует подождать 5 секунд перед перезапуском программы.

Переключать моды можно через GUI: Меню трея → Модификации.

PS. если необходимо получить путь до папки вашего мода — он автоматически сохраняются в mods[«<ИМЯ МОДА>»].

PSS. моды — не изолированные друг от скрипты, т.е. возможен конфликт в именах переменных, классов.

Окно Модификаций

Окно Модификаций


Главная панель

Скриншот окна

Скриншот окна

Комбинация: LWin + LAlt + Home (или через контекстное меню иконки в трее).

Содержит списки записей символов, их рецепты и комбинации ввода. Также имеется вкладка «Помощь» с поясняющей информацией.


Окно настроек

Скриншот окна

Скриншот окна

Комбинация: RCtrl + F9 (или через контекстное меню иконки в трее).


Контекстное меню трея

Скриншот окна

Скриншот окна


Ограничения и нюансы

  1. Инструмент всё ещё находится в стадии разработки, но уже может быть полноценно использован.

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

  3. Потребляет ~140–180 МБ ОЗУ (без учёта модов и пользовательских рецептов). По возможности буду пытаться оптимизировать использование памяти.

  4. Программа плохо совместима с быстрой печатью. Если вам необходима высокая скорость ввода символов — это не тот инструмент, лучше использовать раскладки для отдельных языков.

  5. Программа ограничена работой на английских и русских раскладках. При обнаружении другого языка клавиатуры (например, японский) — все привязки автоматически приостановятся, так как будут мешать этому языку (в примере с японским — невозможность использовать катакану при зажатии LShift). При возврате на английский/русский — автоматически восстановятся.

  6. Не все привязки могут работать на той или иной мембранной клавиатуре. Полноценно проверить работоспособность привязок на механической клавиатуре не удалось (по причине её полурабочего состояния), но она помогла понять, что некоторые привязки не работают из-за основной, мембранной, клавиатуры, а не косяка в коде.

  7. Не во всех приложениях комбинации будут работать или работать стабильно. Например, в Adobe Illustrator что-то вводит символ, что-то нет, а что-то вводит, но он не появляется, пока не нажмёшь на клавишу стрелки.

Из планов на будущее

  1. Продолжать улучшать программу, её логику и возможно вводить какие-то новые фичи.

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

  3. Расширить возможности модификаций.

  4. Расширение «Легенд», но своими силами вряд ли получится — это требует лингвистических познаний, коими я не обладаю в достаточной мере.

  5. Расширение библиотеки символов (пропущенными или по мере их ввода в Юникод). Возможно и расширение режимов альтернативного ввода.

  6. Есть мысли перевести интерфейс на веб-рельсы при помощи соответствующей либы и DLL’ки, но это пока имеет низкий приоритет, пусть и результат будет явно симпотичнее, чем с деревянностью местного GUI.


Просто дубль ссылок: GitHub, SourceForge.

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

UPD:

15 августа
Вышла версия 0.1.4.3 α:
• Теперь символов 4900+
• Добавлены режимы для Агванского, Пальмирского и Парфянского письма
• Добавлено 16 раскладок для латиницы и 1 для кирилилцы
• Различные фиксы и улучшения

Показать полностью 18
[моё] Программа Autohotkey Раскладка Unicode Кириллица Латиница Клавиатура Древние языки Windows Типографика Гифка Длиннопост
3
2023
ArtBlos
2 месяца назад
Лига тыжпрограммистов
Серия Обход блокировки расширений для Хрома

Обход блокировки расширений для Хрома, после 138 версии⁠⁠3

Прямое продолжение этого поста.

Как предупреждали в комментах, мера была временной, и с ночи 6 августа 2025 года прилетело обновление до версии 139, которое сделало способ не эффективным и требующим замены. Но сдаваться пока рано)))

Если Вы ещё не пользовались любым предыдущим способом, связанными с реестром, то и не надо. В пределах 139 версии правка реестра больше никак не работает.

Способ № 1 (простой, но работает в пределах одного ярлыка). Благодарности юзеру qilo с сайта Hacker News.

1) Найдите на рабочем столе ярлык с Google Chrome;

2) Щёлкните по нему правой кнопкой мыши и выберите "свойства";

3) Во вкладке "ярлык" в строчке "объект" сразу после указанного там пути поставьте пробел и добавьте следующее:

--enable-features=AllowLegacyMV2Extensions --disable-features=ExtensionManifestV2Unsupported

4) Запустите браузер через этот ярлык и перейдите в расширения по ссылке chrome://extensions/;

5) Согласитесь "пока оставить" отключённые расширения и включите их обратно.

Пример ввода нужных параметров

Пример ввода нужных параметров

ВАЖНО! Если Вы ещё раз запустите Хром через обычный ярлык, расширения вновь отключатся. Через панель задач эта настройка не срабатывает (во всяком случае на Windows 11), поэтому пользуйтесь только "особым" ярлыком с рабочего стола.

Способ № 2 (чуть более заёбистый, зато работает с любыми ярлыками). Благодарности товарищу @dobry.bobr.

1) Последовательно введите в адресную строку браузера следующие ссылки и поменяйте значения флагов на указанные.

chrome://flags/#temporary-unexpire-flags-m137 — Enabled

chrome://flags/#temporary-unexpire-flags-m138 — Enabled

chrome://flags/#extension-manifest-v2-deprecation-disabled — Disabled

chrome://flags/#extension-manifest-v2-deprecation-unsupported — Disabled

chrome://flags/#allow-legacy-mv2-extensions — Enabled

2) После изменения каждого флага желательно перезапускать браузер, иначе флаги могут не отобразиться в поиске.

Показать полностью 2
Google Chrome Обход блокировок Windows Компьютерная помощь Расширение Расширение для хрома Длиннопост
178
0
VUMIX98
VUMIX98
2 месяца назад

Как разблокировать YouTube и Discord?⁠⁠

На уровне роутера, чтобы работал на телефоне, телевизоре, ноутбуке и роутере

У меня роутер ZTE(Ростелеком) H298A

Вопрос Google Технологии Windows iOS Android Apple Текст
23
GNU0Linuxoid
GNU0Linuxoid
2 месяца назад

Ответ на пост «Обход создания учетной записи Microsoft при установке Windows 10 или 11»⁠⁠2

Есть способ легче, ставьте GNU/Linux / Freebsd / Redox os

Лайфхак Windows Обход Учетная запись Видео RUTUBE Короткие видео Длиннопост Короткопост Ответ на пост Текст
6
Вопрос из ленты «Эксперты»
cfd.net
cfd.net
2 месяца назад
Лига Сисадминов

Дополнительные кнопки мыши при работе через Windows Remote Desktop⁠⁠

Просьба подсказать - какие есть (ли вообще?) варианты заставить доп. кнопки мыши срабатывать на удалённом хосте при работе через Windows Remote Desktop? - Обе машины под Windows 11.

Я, почитав, понял, что сам RDP и по сей день поддерживает только базовый функционал - левая, правая, колесико; но неужто нет рабочего решения? ...

IT Нужен совет Windows Rdp Вопрос Спроси Пикабу Текст
11
73
Boris.Sabbo
Boris.Sabbo
2 месяца назад
Сообщество Ремонтёров

Ответ на пост «Обход создания учетной записи Microsoft при установке Windows 10 или 11»⁠⁠2

Как установить Windows 11 без подключения к Интернет

Нажмите Shift + F10 на окне подключения к Интернету при первичной настройке Windows 11. Это откроет Командную строку.

В окне Командной строки введите следующее: OOBE\BYPASSNRO. Подсказка: для смены языка ввода используйте клавиши Alt + Shift.

Дойдя до экрана «Давайте подключим вас к сети» не подключайтесь к Интернету (при кабельном подключении стоит заранее отключить кабель), а нажмите клавиши Shift+F10 (на некоторых ноутбуках — **__Shift+Fn+F10__**), это откроет командную строку. В принципе, Shift+F10 можно использовать и на первом экране настроек, не доходя до этого окна, если вы уверены, что Интернет отключен.

Лайфхак Windows Обход Учетная запись Видео RUTUBE Короткие видео Длиннопост Ответ на пост Текст
65
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии