На жаль, не існує програмного засобу або пакету, здатного генерувати або перекодувати (переносити) рідні файли розкладки клавіатури основних ОС настільних ПК (принаймні не доступні для загального доступу). Такий інструмент буде дуже корисним для всіх, хто повинен регулярно використовувати декілька ОС на одній машині або на клавіатурі чи ні; що стає все більш поширеним явищем. Але нічого подібного не було розроблено - і звільнене - поки; і це не без підстав. Існують різні ускладнення, пов'язані з "портуванням" клавіатур між ОС або намагаються підтримувати точно синхронізовані розкладки клавіатури на різних платформах. Одним із значних бар'єрів є різниця між 'модифікаторами' / ключами команд, які використовуються та / або розпізнаються різними операційними системами. Крім того, у Mac є унікальні фізичні клавіатури з деякими клавішами, які не відповідають безпосередньо або перекладаються на інші операційні системи, створюючи другий "шар" проблем і невідповідностей, які необхідно вирішити і подолати. По суті, насправді технічно неможливо мати однаково функціонуючі розкладки клавіатури на вказаних платформах.
Однак , Keyman Developer є потужним програмним засобом третьої сторони для розкладки клавіатури та розробки тексту, що наближається до Ваших вимог, як я думаю, що Ви можете сподіватися, що це можливо. Це єдиний інструмент свого типу, про який я знаю, що є доступним для громадськості. Хоча програмне забезпечення третіх сторін не є ідеальним, я стверджую, що, враховуючи все, що він може запропонувати, Keyman варто замислитися - залежно від того, які саме ваші цілі (і наскільки складні / унікальні розкладки клавіатури).
Пакет розробників Keyman є надійним інструментом, здатним генерувати різні типи вихідних файлів, включаючи всі-в-один інсталятори, включаючи шрифти методів введення / розкладки клавіатури не тільки для будь-якої невиразно нової версії операційних систем Microsoft і Apple, а також для своїх мобільних платформ / пристрої, а також * nix-платформи на базі Android. Це означає, що воно також полегшує розробку віртуальних віртуальних клавіатур - ALL, використовуючи один інтегрований інструмент, редагуючи єдиний об'єднаний файл проекту! ПЛЮС, це нещодавно стало відкритим джерелом і безкоштовно! Я не думаю, що ви можете сподіватися, що виграєте ...
Для підтримки гнучких, розширених функцій & amp; функції, необхідні для багатьох складних скриптів Keyman використовує свій власний движок замість власних файлів / технологій ОС (.klc / .dll або .keylayout), які не підтримують розширені контекстно-залежні функції, запропоновані компанією Keyman. називаються "складними" мовами / системами письма (в основному це включає сценарії Південної Азії, як Індія та Тибет, які часто повинні змінювати порядок символів або вибирати символів динамічно на основі навколишнього тексту і дозволяти редагування після завершення послідовності без повторного введення всієї послідовності). KMFL повинні бути встановлені і використані на * nix-системах для компіляції клавіатури з вихідного файлу Keyman. (KMFL - це порт / перезапис движка Keyman).
Двигун Keyman (або еквівалент) здається досить ефективним і вимагає невеликих ресурсів, він також досить зрілий і здається дуже стабільним, працює безперебійно. надійно, не викликаючи проблем.
Хоча більшість різних підтримуваних платформ і форматів, що підтримуються Keyman, мають певні властиві або технічні обмеження (які я раніше торкався, як унікальні клавіші-модифікатори), або їх розробка все ще триває, що може обмежувати деякі функції від роботи / перебування (повністю ) реалізовано. Keyman дозволяє налаштування та оптимізацію функцій, унікальних для кожної платформи, які будуть включені / закодовані, щоб допомогти пом'якшити ці проблеми / відмінності.
Як я вже згадував, всі продукти Keyman нещодавно були перенесені з комерційних до відкритих джерел SIL придбання проекту Keyman від його власника: Tavultesoft. SIL має доступ до ресурсів для підтримки його подальшого розвитку оригінальним розробником з додаванням деякого допоміжного персоналу та форуму користувачів.
Залежно від складності системи мови / запису, яку підтримує клавіатура, можливо, можна завершити проект, використовуючи лише ті функції, які підтримуються графічним інтерфейсом Keyman. Тим не менш, більш складні функції, такі як мертві ключі, контекстуальная переупорядкування та заміщення, вимагають використання клавіатурної мови клавіатури Keyman (мова кодування / сценаріїв), яка має досить круту криву навчання для типового кінцевого користувача.
Ця мова опису є дуже гнучким і розширюваним, що дозволяє здійснювати складну обробку та обробку тексту, включаючи нормалізацію Unicode, зміну порядку та підстановки на основі контексту. Він також пропонує функції, які більш схожі на правильний "метод введення" (тобто він включає деякі основні графічні елементи / вікна), такі як автоматичні або натискання та утримування спливаючих списків можливих виходів.
Він також пропонує унікальну та зручну функцію використання повторюваних натискань клавіш / натискання клавіші для циклічного перегляду списку результатів циклічного виклику. Мені особливо подобається ця функція! Хоча ви можете зберігати довгий список символів в одному ключі, я вважаю, що це більш практично і корисно мати 2-5. Я використовую його на клавішах дужок, щоб надати доступ до деяких незвичайних дужок, які використовуються мовою сценаріїв, я використовую, а також на інших клавішах символів для доступу до часто використовуваних символів. Це здорово, тому що мені не потрібно пам'ятати певну комбінацію модифікаторів, я просто натискаю клавішу, поки персонаж, який я хочу, не буде надрукований, якщо я випадково пройду його, я просто продовжую натискати, поки не повернеться. Вона також може бути налаштована для автоматичних заміщень, подібних до того, як працює "Compose Key"; підставляючи + - для ±, і - + для ∓ і подібні послідовності для символів типу ≤ ≰ ⪇ ≦ ≨ ≲ ≠ і так далі.
Як я торкнувся вище, мова, яка використовується для створення розширених функцій, здається мені не ідеальною та інтуїтивною. Я також знайшов деякі з документації для синтаксису і "словника" цієї мови опису клавіатури є дещо невизначеною, неоднозначною або заплутаною і потребує збільшення, розширення або поліпшення. Однак це, здається, покращується і все ще розвивається.
Форум користувача не виглядає дуже активним (там не так багато!), Хоча відповіді на запитання здаються швидко.
Що ще більш важливо, ІМО, сама мова відчуває себе громіздким, надмірно / надмірно складним і трохи інтуїтивно зрозумілим для мене, наскільки певні звичаї / функції повинні бути позначені / описані в коді - але Я не розробник / кодер, тому моя оцінка повинна розглядатися в цьому контексті і "взяті з зерном солі" . Я виявив, що розробники здаються досить відкритими для розгляду та оцінки запитів, пропозицій та відгуків про програмне забезпечення, мови сценаріїв, а також документацію.
На щастя, Keyman вже підтримує більше 1000 мов, а вихідні файли / коди для них можуть спостерігатися, вивчатися, змінюватися і навіть копіюватися, щоб бути вставленими і переробленими у ваші власні проекти.
Можна генерувати ряд різних типів файлів і пакетів, від різних типів вихідних файлів до повністю автоматизованих пакетів встановлення, що містять движок Keyman, піктограми і навіть шрифти, і, звичайно, розкладку клавіатури і файли обробки тексту. Ви навіть можете створювати налаштовані користувачем перемикачі настройки, які активують різні типи поведінки на клавіатурі.
Це прикро, що Keyman не має можливості принаймні імпортувати формати розкладки клавіатури ОС. Це дійсно буде надзвичайно корисним і дивно фантастичним!
Це відкритий вихідний код, так що хтось з навичками, мотивацією та підходом; час може почати працювати над ним. Це також може бути можливим, з достатньою кількістю запитів & amp; коментарі до їхнього форуму, щоб переконати своїх розробників, що вони повинні працювати над цим.
Такий проект також може бути хорошим кандидатом для розробки недорогих позаштатних кодерів, які шукають роботу за кордоном.
На жаль, багато функцій Keyman просто не підтримуються інтерфейсами розкладки / введення клавіатури Windows і MacOS, тому просто неможливо спробувати створити файли розкладки клавіатури.
~~~~~~ Зміна виходу / функції будь-яких клавіш, які не виробляють текст (тобто: клавіші-модифікатори, функціональні клавіші, медіа-клавіші, клавіші редагування (вгору, вниз, назад і т.д.) не вважається частиною розкладки клавіатури більшістю операційних систем, і воно взагалі не підтримується Windows. MacOS надає можливість повторно призначити клавіші-модифікатори на панелі керування клавіатури, і існують різні інструменти для різних смаків * nix, які дозволяють подібні часто більш широкі налаштування.
Для Windows викликається інструмент сторонніх розробників KbdEdit який фактично генерує стандартні файли klc і пакети інсталятора DLL для Windows. KbdEdit в значній мірі схожий на те, як я уявляю, як MSKLC має бути ... Досить потужний і достатній гнучкий, щоб мати можливість робити що-небудь, включаючи створення дуже складних розкладок клавіатури з прикутий мертвіками ... Він також має можливість повторно призначте будь-яку клавішу численним неясним v_keys, що включає клавіші-модифікатори на японських / азіатських клавіатурах. Творче, повторне цілеспрямоване використання цих незрозумілих клавіш-модифікаторів може потенційно перекрити розрив між розбіжностями між операційними системами, про які я згадував раніше; але немає прямого або очевидного способу реалізації цього. Я вважаю, що клавіатура Windows може фактично мати до 15 окремих ключових станів / рівнів / шарів зміщення / модифікатора! Одним з них (Kana key) може бути блокування / перемикання подібних затворів. Клавіатури працюють без додаткового або стороннього програмного забезпечення. Але, звичайно, немає жодного інструменту для перенесення їх на Mac або Linux.
Карабін є найближчим аналогом MacOS, хоча він має зовсім іншу передумову і не має нічого прямого відношення до розкладки клавіатури як такої; хоча вона має рідну мову на основі XML, яка дозволяє створювати власні клавіші модифікаторів і поведінку клавіш (наприклад, мати клавішу-модифікатор, що виводитиме символ, якщо натискається окремо і не використовується як модифікатор тощо). Незважаючи на те, що користувальницький модифікатор буде корисним, всі можливі бажані виходи повинні бути запрограмовані вручну за допомогою мови, не спеціально розробленої для такої мети. Але це надзвичайно універсальний і потужний, і він може робити деякі досить прохолодні трюки і функції низького рівня. Це також безкоштовно!
Укулеле це безкоштовний інструмент, який можна використовувати для MacOS, який генерує файли розкладки клавіатури та пакети. Він має набагато більш потужний і інтуїтивно зрозумілий інтерфейс, ніж MSKLC, і дуже корисний форум, який часто відвідує розробник. Воно також належить SIL, хоча і не з відкритим вихідним кодом. Було б приємно бачити деяку інтеграцію графічного інтерфейсу Ukelele до пакета Keyman Developer; наприклад, для створення мертвих клавіш. І, звичайно, він не може імпортувати або експортувати макети з інших платформ.