Создать собственный dead_key

Создать собственный dead_key

В настоящее время я работаю над созданием специальной греческой раскладки клавиатуры, адаптированной под французскую швейцарскую клавиатуру.

Я создаю раскладку клавиатуры, которую нужно поместить на /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>: "σϋ"

Вам также может понадобиться комбинация для ввода только σ.

Связанный контент