Я пишу новую пользовательскую раскладку клавиатуры для Xorg, но есть один конкретный глиф, которого нет в Unicode. Однако его легко создать, используя стандартную букву плюс диакритический знак.
Например, если я хочу букву v
с макроном ниже, последовательность U0073+U0331
создает символ, который я хочу.
В моем определении макета xkb я могу указать одну точку Unicode (здесь altgr+d
она связана с ḏ и altgr+shift+d
Ḏ):
key <AC03> { [ d, D, U1E0F, U1E0E ] }; // d with macron below
Но я не могу указать «объединенный» символ Unicode для одного ключа:
key <AB04> { [ v, V, U0076+U0331, U0056+U0331 ] }; // v with macron below
Можно ли создать системное определение xkb, как это?
С другой стороны, вы можете прикрепить к данному ключу сам юникод, сочетающий в себе символ диатитики, а затем вы можете ввести его после любого другого символа. Действительно, именно так юникод, комбинирующий символы, должен работать.
В X11 есть мертвые ключи, мертвые ключи работают по-другому: сначала мертвый ключ, а затем базовая буква. Существует
<dead_belowmacron>
, вы можете прикрепить его к некоторому ключу.Затем вам нужно отредактировать файл Compose для вашей локали (если кто-то знает, как добавить определения в файл Compose из определенного пользователем места, который я бы оценил), и добавить такие строки:
используемый файл Compose определяется локалью в файле /usr/share/X11/locale/compose.dir (путь может отличаться).
источник