⌨️ComposeBouncepaw

Конфиг u/bouncepaw для настройки compose на дистрибутивах с X11. Используется на GNU+Linux.

Версия 1.1.

Установка

  1. Сохраните этот файл как ~/.XCompose

  2. Включите Compose.

    1. Если используете setxkbmap, то можно так: setxkbmap -option "compose:sclk". Это назначит Compose на ScrollLock. Советую так и сделать. А этот самый ScrollLock в прошивке клавы поставьте, куда удобно.

  3. Наслаждайтесь.

= Стрелочки. В юникоде стрелочек много, сюда добавил только те, что посчитал
= нужными. Можно добавить ещё.
= Единичные стрелочки: Compose, направление.
= Стрелочки хитрее имеют биндинги похитрее.
<Multi_key> <Right>:                              "→"
<Multi_key> <Left>:                               "←"
<Multi_key> <Up>:                                 "↑"
<Multi_key> <Down>:                               "↓"

<Multi_key> <minus> <Left> <Right>:               "↔"
<Multi_key> <minus> <Up> <Down>:                  "↕"
<Multi_key> <minus> <Right> <minus> <Left>:       "⇄"
<Multi_key> <minus> <Left> <minus> <Right>:       "⇆"
<Multi_key> <minus> <Up> <minus> <Down>:          "⇅"
<Multi_key> <minus> <Down> <minus> <Up>:          "⇵"

<Multi_key> <equal> <Right>:                      "⇒"
<Multi_key> <equal> <Left>:                       "⇐"
<Multi_key> <equal> <Up>:                         "⇑"
<Multi_key> <equal> <Down>:                       "⇓"

= Математические знаки. В юникоде тоже есть много.
<Multi_key> <less> <equal>:                       "≤" U2264 # LESS-THAN OR EQUAL
<Multi_key> <greater> <equal>:                    "≥" U2265 # GREATER-THAN OR EQUAL
<Multi_key> <equal> <equal> <equal>:              "≡" U2261 # IDENTICAL TO

<Multi_key> <slash> <equal>:                      "≠" U2260 # NOT EQUAL TO
<Multi_key> <exclam> <equal>:                     "≠" U2260 # NOT EQUAL TO
<Multi_key> <slash> <less>:                       "≮" U226E # NOT LESS-THAN
<Multi_key> <slash> <greater>:                    "≯" U226F # NOT GREATER-THAN

= Эти вот получены коротким мнемоническим названием. Можно так со всеми :)
<Multi_key> <s> <u> <m>:                          "∑" U2211 # N-ARY SUMMATION
<Multi_key> <p> <r> <o> <d>:                      "∏" U220F # N-ARY PRODUCT
<Multi_key> <v> <o> <i> <d>:                      "∅" # EMPTY SET
<Multi_key> <i> <n> <f>:                          "∞" # INFINITY
<Multi_key> <d> <i> <v>:                          "÷" # DIVISON
<Multi_key> <t> <i> <m>:                          "×" # TIMES
<Multi_key> <t> <e> <e>:                          "⊤" # VERUM
<Multi_key> <e> <e> <t>:                          "⊥" # ABSURDUM


<Multi_key> <exclam> <exclam>:                    "¬" # LOGICAL NOT
<Multi_key> <ampersand> <ampersand>:              "∧" # LOGICAL AND
<Multi_key> <bar> <bar>:                          "∨" # LOGICAL OR

<Multi_key> <v> <2>:                              "√" U221A # SQUARE ROOT
<Multi_key> <v> <3>:                              "∛" U221B # CUBE ROOT
<Multi_key> <v> <4>:                              "∜" U221C # FOURTH ROOT

<Multi_key> <E> <E>:                              "∃" # THERE EXISTS
<Multi_key> <exclam> <E> <E>:                     "∄" # THERE DOES NOT EXIST
<Multi_key> <A> <A>:                              "∀" # FOR ALL

= Операторы принадлежности начинаются с пробела.
<Multi_key> <space> <plus>:                       "∪" # UNION
<Multi_key> <space> <minus>:                      "∖" # MINUS
<Multi_key> <space> <asterisk>:                   "∩" # INTERSECTION
<Multi_key> <space> <i> <n>:                      "∈" # ELEMENT OF
<Multi_key> <space> <n> <i>:                      "∋" # CONTAINS AS MEMBER
<Multi_key> <space> <slash> <i> <n>:              "∉" # NOT ELEMENT OF
<Multi_key> <space> <slash> <n> <i>:              "∌" # NOT CONTAINS AS MEMBER

<Multi_key> <space> <parenleft>:                  "⊂" # SUBSET OF
<Multi_key> <space> <parenright>:                 "⊃" # SUPERSET OF
<Multi_key> <space> <equal> <parenleft>:          "⊆" # SUBSET OF OR EQUAL
<Multi_key> <space> <equal> <parenright>:         "⊇" # SUPERSET OF OR EQUAL

<Multi_key> <space> <slash> <parenleft>:          "⊄" # NOT SUBSET OF
<Multi_key> <space> <slash> <parenright>:         "⊅" # NOT SUPERSET OF
<Multi_key> <space> <slash> <equal> <parenleft>:  "⊈" # NOT SUBSET OF AND EQUAL
<Multi_key> <space> <slash> <equal> <parenright>: "⊉" # NOT SUPERSET OF AND EQUAL

= Всякие типографические знаки.
<Multi_key> <o> <o>:                              "•" U2022 # BULLET

<Multi_key> <o> <c>:                              "©" U00A9 # COPYRIGHT SIGN
<Multi_key> <o> <r>:                              "®" U00AE # REGISTERED SIGN
<Multi_key> <t> <m>:                              "™" U2122 # TRADE MARK SIGN

<Multi_key> <o> <x>:                              "¤" U00A4 # CURRENCY SIGN
<Multi_key> <e> <u> <r> <o>:                      "€" U20AC # EURO SIGN
<Multi_key> <c> <e> <n> <t>:                      "¢" U00A2 # CENT SIGN
<Multi_key> <r> <u> <b>:                          "₽" U20BD # RUBLE SIGN

<Multi_key> <s> <s>:                              "§" U00A7 # SECTION SIGN
<Multi_key> <less> <less>:                        "«" U00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<Multi_key> <greater> <greater>:                  "»" U00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<Multi_key> <period> <period> <period>:           "…" U2026 # HORIZONTAL ELLIPSIS

<Multi_key> <minus> <minus>:                      "—" U2014 # EM DASH

= Диакритика. Осторожно, может сломать подсветку в редакторе.
<Multi_key> <backslash> <grave>:                  "̀" U0340 # GRAVE TONE:
<Multi_key> <backslash> <apostrophe>:             "́" U0341 # ACUTE TONE:
<Multi_key> <backslash> <asciicircum>:            "̂" U0302 # CIRCUMFLEX:
<Multi_key> <backslash> <asterisk>:               "⃰" U20F0 # ASTERISK:
<Multi_key> <backslash> <asciitilde>:             "̃" U0303 # TILDE:
<Multi_key> <backslash> <Right>:                  "⃗" U20D7 # VECTOR:

= Гречица.
<Multi_key> <g> <a>:                              "α" # GREEK SMALL LETTER ALPHA
<Multi_key> <g> <b>:                              "β" # GREEK SMALL LETTER BETA
<Multi_key> <g> <g>:                              "γ" # GREEK SMALL LETTER GAMMA
<Multi_key> <g> <d>:                              "δ" # GREEK SMALL LETTER DELTA
<Multi_key> <g> <e>:                              "ε" # GREEK SMALL LETTER EPSILON
<Multi_key> <g> <z>:                              "ζ" # GREEK SMALL LETTER ZETA
<Multi_key> <g> <h>:                              "η" # GREEK SMALL LETTER ΕΤΑ
<Multi_key> <g> <q>:                              "θ" # GREEK SMALL LETTER THETA
<Multi_key> <g> <i>:                              "ι" # GREEK SMALL LETTER ΙΟΤΑ
<Multi_key> <g> <k>:                              "κ" # GREEK SMALL LETTER KAPPA
<Multi_key> <g> <l>:                              "λ" # GREEK SMALL LETTER LAMBDA
<Multi_key> <g> <m>:                              "μ" # GREEK SMALL LETTER MU
<Multi_key> <g> <n>:                              "ν" # GREEK SMALL LETTER NU
<Multi_key> <g> <x>:                              "ξ" # GREEK SMALL LETTER XI
<Multi_key> <g> <o>:                              "ο" # GREEK SMALL LETTER OMICRON
<Multi_key> <g> <p>:                              "π" # GREEK SMALL LETTER PI
<Multi_key> <g> <v>:                              "ϖ" # GREEK PI SYMBOL
<Multi_key> <g> <r>:                              "ρ" # GREEK SMALL LETTER RHO
<Multi_key> <g> <S>:                              "ς" # GREEK SMALL LETTER FINAL SIGMA
<Multi_key> <g> <s>:                              "σ" # GREEK SMALL LETTER SIGMA
<Multi_key> <g> <t>:                              "τ" # GREEK SMALL LETTER TAU
<Multi_key> <g> <u>:                              "υ" # GREEK SMALL LETTER UPSILON
<Multi_key> <g> <f>:                              "φ" # GREEK SMALL LETTER PHI
<Multi_key> <g> <j>:                              "ϕ" # GREEK SMALL PHI SYMBOL
<Multi_key> <g> <c>:                              "χ" # GREEK SMALL LETTER CHI
<Multi_key> <g> <y>:                              "ψ" # GREEK SMALL LETTER PSI
<Multi_key> <g> <w>:                              "ω" # GREEK SMALL LETTER OMEGA

<Multi_key> <G> <A>:                              "Α" # GREEK CAPITAL LETTER ALPHA
<Multi_key> <G> <B>:                              "Β" # GREEK CAPITAL LETTER BETA
<Multi_key> <G> <G>:                              "Γ" # GREEK CAPITAL LETTER GAMMA
<Multi_key> <G> <D>:                              "Δ" # GREEK CAPITAL LETTER DELTA
<Multi_key> <G> <E>:                              "Ε" # GREEK CAPITAL LETTER EPSILON
<Multi_key> <G> <Z>:                              "Ζ" # GREEK CAPITAL LETTER ZETA
<Multi_key> <G> <H>:                              "Η" # GREEK CAPITAL LETTER ΕΤΑ
<Multi_key> <G> <Q>:                              "Θ" # GREEK CAPITAL LETTER THETA
<Multi_key> <G> <I>:                              "Ι" # GREEK CAPITAL LETTER ΙΟΤΑ
<Multi_key> <G> <K>:                              "Κ" # GREEK CAPITAL LETTER KAPPA
<Multi_key> <G> <L>:                              "Λ" # GREEK CAPITAL LETTER LAMBDA
<Multi_key> <G> <M>:                              "Μ" # GREEK CAPITAL LETTER MU
<Multi_key> <G> <N>:                              "Ν" # GREEK CAPITAL LETTER NU
<Multi_key> <G> <X>:                              "Ξ" # GREEK CAPITAL LETTER XI
<Multi_key> <G> <O>:                              "Ο" # GREEK CAPITAL LETTER OMICRON
<Multi_key> <G> <P>:                              "Π" # GREEK CAPITAL LETTER PI
<Multi_key> <G> <V>:                              "Π" # GREEK PI SYMBOL
<Multi_key> <G> <R>:                              "Ρ" # GREEK CAPITAL LETTER RHO
<Multi_key> <G> <s>:                              "Σ" # GREEK CAPITAL LETTER FINAL SIGMA
<Multi_key> <G> <S>:                              "Σ" # GREEK CAPITAL LETTER SIGMA
<Multi_key> <G> <T>:                              "Τ" # GREEK CAPITAL LETTER TAU
<Multi_key> <G> <U>:                              "Υ" # GREEK CAPITAL LETTER UPSILON
<Multi_key> <G> <F>:                              "Φ" # GREEK CAPITAL LETTER PHI
<Multi_key> <G> <J>:                              "Φ" # GREEK CAPITAL PHI SYMBOL
<Multi_key> <G> <C>:                              "Χ" # GREEK CAPITAL LETTER CHI
<Multi_key> <G> <Y>:                              "Ψ" # GREEK CAPITAL LETTER PSI
<Multi_key> <G> <W>:                              "Ω" # GREEK CAPITAL LETTER OMEGA

= Дроби, степени и индексы.
<Multi_key> <1> <slash> <2>:                      "½"
<Multi_key> <1> <slash> <3>:                      "⅓"
<Multi_key> <2> <slash> <3>:                      "⅔"
<Multi_key> <1> <slash> <4>:                      "¼"
<Multi_key> <3> <slash> <4>:                      "¾"
<Multi_key> <1> <slash> <5>:                      "⅕"
<Multi_key> <2> <slash> <5>:                      "⅖"
<Multi_key> <3> <slash> <5>:                      "⅗"
<Multi_key> <4> <slash> <5>:                      "⅘"
<Multi_key> <1> <slash> <6>:                      "⅙"
<Multi_key> <5> <slash> <6>:                      "⅚"
<Multi_key> <1> <slash> <8>:                      "⅛"
<Multi_key> <3> <slash> <8>:                      "⅜"
<Multi_key> <5> <slash> <8>:                      "⅝"
<Multi_key> <7> <slash> <8>:                      "⅞"

<Multi_key> <asciicircum> <0>:                    "⁰"
<Multi_key> <asciicircum> <1>:                    "¹"
<Multi_key> <asciicircum> <2>:                    "²"
<Multi_key> <asciicircum> <3>:                    "³"
<Multi_key> <asciicircum> <4>:                    "⁴"
<Multi_key> <asciicircum> <5>:                    "⁵"
<Multi_key> <asciicircum> <6>:                    "⁶"
<Multi_key> <asciicircum> <7>:                    "⁷"
<Multi_key> <asciicircum> <8>:                    "⁸"
<Multi_key> <asciicircum> <9>:                    "⁹"
<Multi_key> <asciicircum> <plus>:                 "⁺"
<Multi_key> <asciicircum> <minus>:                "⁻"
<Multi_key> <asciicircum> <equal>:                "⁼"
<Multi_key> <asciicircum> <parenleft>:            "⁽"
<Multi_key> <asciicircum> <parenright>:           "⁾"
<Multi_key> <asciicircum> <i>:                    "ⁱ"
<Multi_key> <asciicircum> <n>:                    "ⁿ"

<Multi_key> <underscore> <0>:                     "₀"
<Multi_key> <underscore> <1>:                     "₁"
<Multi_key> <underscore> <2>:                     "₂"
<Multi_key> <underscore> <3>:                     "₃"
<Multi_key> <underscore> <4>:                     "₄"
<Multi_key> <underscore> <5>:                     "₅"
<Multi_key> <underscore> <6>:                     "₆"
<Multi_key> <underscore> <7>:                     "₇"
<Multi_key> <underscore> <8>:                     "₈"
<Multi_key> <underscore> <9>:                     "₉"
<Multi_key> <underscore> <plus>:                  "₊"
<Multi_key> <underscore> <minus>:                 "₋"
<Multi_key> <underscore> <equal>:                 "₌"
<Multi_key> <underscore> <parenleft>:             "₍"
<Multi_key> <underscore> <parenright>:            "₎"
<Multi_key> <underscore> <i>:                     "ᵢ"