В настоящее время я работаю над созданием специальной греческой раскладки клавиатуры, адаптированной под французскую швейцарскую клавиатуру.
Я создаю раскладку клавиатуры, которую нужно поместить на /usr/share/X11/xkb/symbols/
(
https://github.com/grecromand/grecromand/blob/master/linux/grecromand).
Я использовал код
dead_grave
. Но я хотел бы создать свой собственный dead_xx
. Это было бы , dead_sigma
которое создавало бы ς
if с последующим пробелом или знаком препинания, и σ
в противном случае.
Я понял, что dead_key определены, /usr/share/X11/locale
но не более.
У меня так много вопросов:
- Какой файл мне следует изменить? Возможно ли создать этот dead_key, не изменяя распределенные файлы, чтобы избежать проблем при обновлении моей системы?
- Как мне объявить этот dead_key?
решение1
На самом деле все удивительно просто.
В .XCompose, если запись начинается с символа, этот символ становится мертвым ключом, независимо от типа этого символа. Например, если вы пишете
<a> <U20>: "a"
<a> <grave>: "à"
<a> <acute>: "á"
<a> <2> <grave>: "ȁ"
Каждый раз, когда вы вводите «a», система будет ждать следующего символа. Обратите внимание, что если следующий символ не поддерживается, ничего не будет введено. Поэтому в этом случае «a06» вернет просто «6».
Если вы не хотите использовать стандартный символ, вы можете использовать один из символов в области личного использования, например (U+E700).
Итак, в вашем случае все, что вам нужно сделать, это написать в файле следующее $HOME/.XCompose
.
<U3C3> <U20>: "ς "
<U3C3> <U21>: "ς!"
<U3C3> <U2C>: "ς,"
<U3C3> <U2E>: "ς."
<U3C3> <U3A>: "ς:"
<U3C3> <U3B>: "ς;"
<U3C3> <U3F>: "ς?"
<U3C3> <U3B1>: "σα"
<U3C3> <U3B2>: "σβ"
<U3C3> <U3B3>: "σγ"
<U3C3> <U3B4>: "σδ"
<U3C3> <U3B5>: "σε"
<U3C3> <U3B6>: "σζ"
<U3C3> <U3B7>: "ση"
<U3C3> <U3B8>: "σθ"
<U3C3> <U3B9>: "σι"
<U3C3> <U3BA>: "σκ"
<U3C3> <U3BB>: "σλ"
<U3C3> <U3BC>: "σμ"
<U3C3> <U3BD>: "σν"
<U3C3> <U3BE>: "σξ"
<U3C3> <U3BF>: "σο"
<U3C3> <U3C0>: "σπ"
<U3C3> <U3C1>: "σρ"
<U3C3> <U3C3>: "σσ"
<U3C3> <U3C4>: "στ"
<U3C3> <U3C5>: "συ"
<U3C3> <U3C6>: "σφ"
<U3C3> <U3C7>: "σχ"
<U3C3> <U3C8>: "σψ"
<U3C3> <U3C9>: "σω"
<U3C3> <dead_acute> <U3B1>: "σά"
<U3C3> <dead_acute> <U3B5>: "σέ"
<U3C3> <dead_acute> <U3B7>: "σή"
<U3C3> <dead_acute> <U3B9>: "σί"
<U3C3> <dead_acute> <U3BF>: "σό"
<U3C3> <dead_acute> <U3C5>: "σύ"
<U3C3> <dead_acute> <U3C9>: "σώ"
<U3C3> <dead_diaeresis> <U3B9>: "σϊ"
<U3C3> <dead_diaeresis> <U3C5>: "σϋ"
Вам также может понадобиться комбинация для ввода только σ.