Введення спеціальних, нестандартних символів в Windows за допомогою «гарячих» клавіш

  1. ЮNI CODE K eyboard Enhancer (ЮNIK) Введення символів Unicode в довільній програмі
  2. можливі рішення
  3. коротка характеристика
  4. установка програми
  5. Робота з програмою
  6. Налаштування програми
  7. Робота під Лінукс
  8. можливі обмеження
  9. відсутність гарантії

ЮNI CODE K eyboard Enhancer (ЮNIK)

Введення символів Unicode в довільній програмі

завдання

Часом виникає необхідність в регулярному використанні декількох знаків, відсутніх на стандартній клавіатурі (наприклад, американської чи російської). Це можуть бути додаткові символи національних алфавітів (німецькі Умлаут і ес-ЦЕМ, французькі аксанти і Седільо). Можуть це бути й інші знаки, скажімо, (підлозі) довге тире (-, -), знак параграфа (§), франко-російські лапки ( «,», <,>), знаки іноземних грошових одиниць (₫, ₡, ₢ , ₯, і т.д.) або смішні пики (☺, ☻). Любителям російської старовини може знадобитися швидка набивка дореформених букв, таких як І, ѣ, ѳ, ѵ, або навіть більш древніх: ѧ або ѯ. У кого-то може виникнути необхідність в більш інтенсивному використанні таких знаків, наприклад, тривіального знака наголоси «замок закрили на замок» або трохи менше тривіальної тильди: [latɛ] (транскрипція слова «латинський» на французькому).

Прості способи вставки за допомогою (1) таблиці символів або (2) комбінації <Alt> + <код> (код набирається на цифровій клавіатурі; на ноутбуках без такої, як правило, емуліруемой за допомогою клавіші Fn) занадто трудомісткі. Перемикання на іншу розкладку теж влаштує не всіх, тому що при цьому відбувається зміна позицій і багатьох інших символів. Наприклад, на німецьких клавіатурах букви Z і Y розташовані навпаки; багато службові знаки також знаходяться на інших позиціях, причому - на мій погляд - менш зручних (класичний приклад: важливі для HTML-кодування знаки <і>).

можливі рішення

Багатьох користувачів влаштувало б використання «гарячих» клавіш (hotkeys), що виглядало б так: Є якийсь набір комбінацій клавіш, які призводять до генерування потрібних символів. Наприклад, <клавіша оцінювання> + <A> може генерувати малу німецьку букву «a умлаут» (ä), <клавіша оцінювання> + <Shift> + <A> - заголовну (Ä), і т.д. Завдяки цим комбінаціям при друку німецького (французького і т.д.) тексту досягається швидкість, мало відрізняється від використання національної клавіатури, а розташування латинських букв і службових символів залишається незмінним.

Досягти цього можна декількома способами. По-перше, можна скористатися механізмом макросів, наявними в деяких прикладних програмах, наприклад, Notepad ++ і OpenOffice, см. http://www.law.net.ru/technologies/umlaute/index.htm . По-друге, можна вирішити питання більш глобально, створивши якусь утиліту, яка перетворює вибрані користувачем комбінації клавіш в потрібні йому знаки, що використовуються прикладними програмами.

Обидва способи мають плюси і мінуси. Плюс способу з використанням макросів - в його відносній простоті. Для того, щоб налаштувати програму для отримання потрібних символів, не потрібно знати основ програмування. Крім того, маніпуляції залишаються на рівні окремих прикладних програм, і вплив на всю решту системи малоймовірно. Це, однак, є і мінусом. Макроси для кожної окремої програми необхідно створювати заново, і в якийсь момент освоєння ще одного механізму макросів, для ще однієї прикладної програми, втрачає свою привабливість. Уніфікація користувальницького інтерфейсу (набору «гарячих» клавіш) можлива, але має свої межі.

Що стосується другого, «глобального», способу, то і тут можливі варіанти. Варіант радикального рішення - створення власного драйвера клавіатури (точніше розкладки). Для цього Microsоft пропонує спеціальну утиліту - Microsoft Keyboard Layout Creator (MKLC), яку можна безкоштовно завантажити з сайту компанії: http://msdn.microsoft.com/en-us/goglobal/bb964665.aspx . Зразок того, що можна отримати з її допомогою, показаний на цій сторінці . Використання MKLC можна рекомендувати в тих випадках, коли набір нестандартних символів носить фіксований характер і змінюється нечасто. Якщо регулярно виникає необхідність в швидкому внесення нових знаків, то можна поглянути на представлену нижче програму ЮNICODE Keyboard Enhancer (ЮNIK). За «чистоту» і «глобальності» рішення вона знаходиться десь посередині між макросами в окремих програмах і створенням драйвера клавіатури.

Операційні системи UNIX / Linux також пропонують функціонально можна порівняти механізм довільного присвоєння фізичним клавішах генеруються ними символів (ключові слова - xmodmap, xkb).

коротка характеристика

Функціональність ЮNIK коротко можна охарактеризувати як «третій» (або «другий», як рахувати) Shift. Після деяких маніпуляцій з реєстром Windows і запуску ЮNIK клавішу-модифікатор в комбінації з символьними клавішами можна використовувати для генерації будь-яких знаків з набору Unicode-16. Цей набір складається з 65 кілобайт символів (реально трохи менше), в тому числі переважна більшість букв національних алфавітів, побудованих на латинській основі, кирилиця в різних видах, арабська, індійська алфавіти, ДОС-івської псевдографіка, знаки грошових одиниць і багато іншого.

Цей набір складається з 65 кілобайт символів (реально трохи менше), в тому числі переважна більшість букв національних алфавітів, побудованих на латинській основі, кирилиця в різних видах, арабська, індійська алфавіти, ДОС-івської псевдографіка, знаки грошових одиниць і багато іншого

Утиліта «Таблиця символів», що йде в поставці з Windows, дає певне уявлення про можливості Unicode. Відразу обмовимося, що для цієї мети особливо годяться шрифти з максимальним набором символів, наприклад, Lucida Sans Unicode або Arial Unicode MS.

установка програми

Необхідні файли містяться в zip-архіві unik.zip (або unik64.zip), який можна завантажити з цього сайту:

Версія Розмір ОС Платформа 1.01 100 K Windows XP, Vista, 7 32 біта / розряду unik.zip 1.01 109 K Windows 7 64 біта / розряду unik64.zip

64-розрядної версії ЮNIK була скомпільована для Windows 7 і працює виключно з 64-розрядними додатками 64-розрядної версії ЮNIK була скомпільована для Windows 7 і працює виключно з 64-розрядними додатками. Все нижческазане і назви файлів відносяться як до 32-розрядної версії (install.exe, unik.exe) так і 64-розрядної (install64.exe, unik64.exe) в тій мірі, в якій це не суперечить цьому обмеження.

Для роботи програми необхідно перетворити будь-яку з клавіш в клавішу-модифікатор Для роботи програми необхідно перетворити будь-яку з клавіш в клавішу-модифікатор. В принципі, для цього може бути використана будь-яка клавіша, що має свій скан-код. Так як після перетворення в модифікатор ця клавіша втратить свою первісну функцію, то має сенс вибрати рідко використовуються або продубльовані клавішу. Наприклад це може бути одна з наступних чотирьох клавіш: (1) Лівий або (2) правий Windows, (3) Application / Контекст, (4) правий Ctrl. Перепризначення відбувається шляхом внесення необхідної записи в реєстр Windows. Якщо ваш вибір зупинився на одній з вищеназваних клавіш, то для цього можна скористатися утилітою install.exe з набору поставки. Важливо: У Windows Vista і Windows 7 install.exe повинен запускатися з правами адміністратора. Після натискання на кнопку «Змінити» комп'ютер потрібно перезавантажити.

Утиліта install.exe може бути використана і для внесення ЮNIK в число програм, що запускаються автоматично при завантаженні Windows. Захочете ви це зробити чи ні - питання виключно зручності, так як ЮNIK можна запускати і вивантажувати в будь-який час вручну. Потрібно зробити застереження, що install.exe має обмежену функціональність при роботі з реєстром і справляється лише зі стандартними завданнями. Якщо на вашому комп'ютері вже діє складна система перевизначення клавіш, то, можливо, в цьому випадку реєстр доведеться правити вручну або за допомогою спеціальних програм. З механізмом перевизначення клавіш можна ознайомитися в наступного матеріалі, необхідні для цього технічні деталі наведені у файлі readme.txt.

Робота з програмою

Після запуску файлу unik.exe в системному треї (що знаходиться за замовчуванням в правому нижньому кутку екрану) з'явиться значок програми - буква «Ю умлаут / трьома» на червоному тлі. Для вставки необхідного символу необхідно натиснути на обрану вами клавішу-модифікатор і, не відпускаючи її, на клавішу символів, яка згідно зі схемою замін, викликає генерацію потрібного символу.

Програма не здійснює перевірки, чи була призначена клавіша-модифікатор, про що користувач повинен подбати сам. Для перевірки можна скористатися утилітою KeyCode.exe , Після натискання на клавішу-модифікатор праве поле в сегменті «Virtual-key Code» має прийняти значення «125».

Налаштування програми

Клік правою кнопки миші по значку викликає меню з трьох позицій Клік правою кнопки миші по значку викликає меню з трьох позицій. Команда «Config» виводить діалог, що показує наявні рядки заміни. З його допомогою можна зробити необхідні настройки.

В поле (точніше - поля) «Input» вносяться дані про символ, який вводиться з клавіатури. В поле «Output» вносяться дані про символ, який користувач хоче отримати. В одиночних полях містяться власне символи, в чотиризначних полях - їх шістнадцяткові коди згідно Unicode-16. Вводити можна або сам символ, або код. Інша поле при цьому автоматично оновлюється. Введення можна здійснювати з клавіатури, або вставкою через буфер. Коди, а також самі символи можна отримати з «Таблиці символів» або з інших джерел інформації про Unicode-16, наприклад: http://unicode.org/charts , http://www.utf8-chartable.de або http://www.alanwood.net/unicode . Якщо ваш браузер показав якийсь цікавий символ, то ви можете просто скопіювати його в буфер і вставити в одиночне поле «Output».

Які символи можуть вводитися з клавіатури безпосередньо, а які ні, залежить від клавітури і / або обраної розкладки. Так на американській або російській клавіатурі немає Умлаут, які з цієї причини будуть використовуватися лише в «Output» діалогу «Config». Навпаки, якщо у вас німецька клавіатура (або встановлена ​​німецька розкладка), то ви можете використовувати Умлаут в «Input» як символи, які будуть призводити до генерації якихось інших знаків.

Тут необхідно зробити важливе зауваження Тут необхідно зробити важливе зауваження. ЮNIK працює з символами, а не клавішами. Іншими словами, якщо ви поставите в поле «Input» знак «ї», то відповідна заміна буде спрацьовувати в російській розкладці при натисканні на клавішу «Q / Й». В американській та інших подібних розкладках ця клавіша генерує символ «q», якому може бути присвоєно інше значення. Ніхто, однак, не забороняє привласнити «q» і «й» одне і теж значення, в результаті чого клавіша «Q / Й» буде приводити до вставки одного і того ж символу (не забувайте про модифікуючу використання клавіші Shift, «q» і «Q» - це два різних символу). Навпаки, в лівій колонці (точніше колонках) використання одного і того ж символу не має сенсу, так завжди буде викликатися тільки перший рядок.

Після редагування кожен рядок заміни повинна бути підтверджена командою «Change». Зміни вступають в силу відразу ж після закриття діалогу за умови їх попереднього збереження командою «Save». Інформація про заміни зберігається в файлі unik.ini, який може бути відредагований вручну (див. Readme.txt).

Питання: Як бути, якщо викликані символи з якихось причин розташовуються довільним чином, в результаті чого асоціативні зв'язки відсутні і запам'ятати схему розташування важко?
Відповідь: (1) Варіант самостійного рішення в картинках . (2) Готові наклейки на клавіатури існують не тільки для кирилиці, а й для інших наборів знаків.

Робота під Лінукс

Експерименти показали, що ЮNIK нормально працює з   Wine   / Linux Експерименти показали, що ЮNIK нормально працює з Wine / Linux. Клавіша оцінювання повинна бути отримана за допомогою згаданої вище утиліти xmodmap. Наприклад, команди
xmodmap -e "remove mod4 = Super_L"
xmodmap -e "keysym Super_L = F14"
перетворюють клавішу лівий Windows в модифікатор. Все інше нічим не відрізняється від роботи під Windows.

Природно, програмою, куди будуть вставлятися символи, може бути лише інший додаток для Windows, також запущене за допомогою Wine, наприклад, Notepad ++ . Обмін окремими символами і фрагментами тексту між додатками Windows і нативними додатками Linux здійснюється через буфер (clipboard) за допомогою стандартних команд відповідних додатків (наприклад, <Ctrl> + <C> / <V>). Порожні поля програми KeyCode.exe на скріншоті викликані тим, що, судячи з усього, Wine, як мінімум в версії 1.1.42, не підтримує Raw Input API.

можливі обмеження

ЮNIK працює з програмами для Windows, що підтримують Unicode. Багато старих прикладні програми, особливо 16-бітові, написані для Windows 3.xx, Unicode не підтримують. Результат роботи з такими програмами буде непередбачуваний, іноді позитивним, іноді - ні (багато що залежить від обраного шрифту / кодування).

Особливість (= недолік) поточної реалізації ЮNIK полягає в тому, що діалог «Config» показує не всі знаки Unicode. У разі більш рідкісних, екзотичних знаків, в одиночних полях рядків списку або навіть в полях редагування можуть показуватися квадратики, що символізують не відображаються символи. Це, однак, «косметичний» недолік, так як в потрібному вам місці вставляється код символу. Якщо він визначений вірно, то символ, цілком можливо, буде відображатися. Іншими словами, факт того, що якісь символи не відображаються в діалозі «Config», не робить ніякого впливу на вставку символів в інші програми. Природно, ці інші програми також мають різні здатності по відображенню символів Unicode. Багато що залежить і від версій шрифтів, встановлених на комп'ютері. З мого досвіду, найбільший спектр символів Unicode показують браузери.

ЮNIK зберігає настройки в файлі unik ЮNIK зберігає настройки в файлі unik.ini. Якщо правила безпеки, що діють на комп'ютері, обмежують права доступу до файлів (читання і / або зміна), то порушені цим функції програми працювати не будуть, або будуть працювати некоректно. Ознакою відсутності прав на запис є поведінка кнопки «Save», яка не змінює свого стану після натискання (активно / «клікабельно» -> вимкнено).

відсутність гарантії

Хоча файли, що входять до складу ЮNIK, були піддані ретельному тестуванню, автор не може гарантувати відсутність в них помилок. З цієї причини використання програми може здійснюватися користувачем лише за умови готовності нести ризик цього. Повідомлення про помилки вітаються.

Питання: Як бути, якщо викликані символи з якихось причин розташовуються довільним чином, в результаті чого асоціативні зв'язки відсутні і запам'ятати схему розташування важко?