Поиск по этому блогу

четверг, 8 января 2015 г.

Ігри з xkbcomp

Раніше вже була стаття про асинхронне перемикання розкладок клавіатури і знову це питання розглядати не має сенсу, але от зіштовхнувся з цікавим моментом щодо української мови. Полягає він у тому, що деякі web-браузери, наприклад chrome вміють робити синтаксичну перевірку, базуючись на словниках, тощо. Так от, у тому варіанті що було опубліковано раніше все гарно, але такі слова як "об’єкт", де апостроф розташовано під тильдою, не проходять перевірки і підкреслюються червоним. А все тому, що апостроф не справжній, точніше справжній, але не зовсім, він не той який, наприклад, розуміє Google Chrome при перевірці ;)
  • Апостроф що маємо у стандартній розкладці ua - ’ (U+2019)
  • Апостроф який "вимагає" Google Chrome - ' (U+0027)
"Лікується" це достатньо просто і у тому можливі два шляхи вирішення питання.
  1. Для стандартної розкладки звикаємо користуватись замість "тильді ~" - ’ - комбінацією shift+~ - '
  2. Але для тих кого не влаштовує перший варіант, кому він здається незручним, є інший шлях - відредагуємо відповідним чином /usr/share/X11/xkb/symbols/ua
Змінюємо інструкцію "key <TLDE>":
--- ua.bak      2015-01-08 10:53:25.063880519 +0200
+++ ua  2015-01-08 11:35:45.301045284 +0200
@@ -11,7 +11,7 @@
  
     name[Group1]= "Ukrainian";
 
-    key <TLDE> {    [           U2019,   apostrophe,    U0301,   asciitilde     ]       };       // Apostrophe and Stress symbol
+    key <TLDE> {    [      apostrophe,        U2026,    U0301,   asciitilde     ]       };       // Apostrophe and Stress symbol
     key <AE02> {    [               1,      exclam,  onesuperior               ]       };
     key <AE02> {    [               2,    quotedbl,  twosuperior               ]       };
     key <AE03> {    [               3,  numerosign,         U00A7,    U20B4     ]       };       // Paragraph and Hryvnia sign

Отримали наступне:
  1. На місці ~ маємо звичайний апостроф, який розуміє Google Chrome при синтаксичній перевірці української мови;
  2. На місці shift+~ маємо  три крапки - … (не знаю як кому, але мені вони іноді бувають потрібні)
З незручностей маємо лише одну, якщо колись оновиться пакет xkb-data то відповідне редагування можливо доведеться робити ще раз.