-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathXCompose
155 lines (133 loc) · 7.43 KB
/
XCompose
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# Tim Holt’s custom compose sequences.
# Default is at /usr/share/X11/locale/en_US.UTF-8/Compose
# Go there for proper syntax in this file.
# To make this work (as per
# http://forums.mate-desktop.org/viewtopic.php?f=2&t=135 ):
# Put "GTK_IM_MODULE=xim" in /etc/environment
#
# Or maybe just `setxkbmap -option compose:ralt`? Does it need to be in ~/.xinitrc?
#
# NOTE: hot-swapping keyboards seems to deactivate the compose key—at least,
# that's my current guess. I've found it useful to place this in a script on the
# path (I just used /usr/local/bin/recompose, but ~./local/bin would probably
# be better. Eh.
#
# #!/usr/bin/env sh
# setxkbmap -option compose:ralt
# I guess I need this line, too:
include "%L" # include the default mappings
# Punctuation
#-v-
<Multi_key> <period> <period> : "…" ellipsis # HORIZONTAL ELLIPSIS
<Multi_key> <P> <I> : "¶" paragraph # PILCROW SIGN
<Multi_key> <exclam> <exclam> : "¡" exclamdown # INVERTED EXCLAMATION MARK
<Multi_key> <question> <question> : "¿" questiondown # INVERTED QUESTION MARK
<Multi_key> <exclam> <question> : "‽" U203D # INTERROBANG
<Multi_key> <S> <question> : "⸮" ironymark # IRONY MARK
<Multi_key> <question> <S> : "⸮" ironymark # IRONY MARK
<Multi_key> <c> <|> : "¢" centsign # CENT SIGN
<Multi_key> <|> <c> : "¢" centsign # CENT SIGN
# Directional quotes
<Multi_key> <apostrophe> <comma> : "‘" U2018 # LEFT SINGLE QUOTATION MARK
<Multi_key> <apostrophe> <period> : "’" U2019 # RIGHT SINGLE QUOTATION MARK
<Multi_key> <quotedbl> <comma> : "“" U201c # LEFT DOUBLE QUOTATION MARK
<Multi_key> <quotedbl> <period> : "”" U201d # RIGHT DOUBLE QUOTATION MARK
<Multi_key> <apostrophe> <Right> : "‘" U2018 # LEFT SINGLE QUOTATION MARK
<Multi_key> <apostrophe> <Left> : "’" U2019 # RIGHT SINGLE QUOTATION MARK
<Multi_key> <quotedbl> <Right> : "“" U201c # LEFT DOUBLE QUOTATION MARK
<Multi_key> <quotedbl> <Left> : "”" U201d # RIGHT DOUBLE QUOTATION MARK
# Dashes
<Multi_key> <minus> <minus> <period> : "–" U2013 # EN DASH
<Multi_key> <minus> <n> : "–" U2013 # EN DASH
<Multi_key> <minus> <minus> <minus> : "—" U2014 # EM DASH
<Multi_key> <minus> <m> : "—" U2014 # EM DASH
<Multi_key> <o> <c> : "©" copyright # COPYRIGHT SIGN
<Multi_key> <c> <o> : "©" copyright # COPYRIGHT SIGN
<Multi_key> <o> <r> : "®" registered # REGISTERED SIGN
<Multi_key> <r> <o> : "®" registered # REGISTERED SIGN
<Multi_key> <t> <m> : "™" U2122 # TRADE MARK SIGN
# Brackets and paired characters
<Multi_key> <braceleft> <Down> : "︷" UFE37 # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
<Multi_key> <braceright> <Up> : "︸" UFE38 # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
#-^-
# Dunno
#-v-
# See: https://tedclancy.wordpress.com/2015/06/03/which-unicode-character-should-represent-the-english-apostrophe-and-why-the-unicode-committee-is-very-wrong/
<Multi_key> <apostrophe> <apostrophe> : "ʼ" U02BC # MODIFIER LETTER APOSTROPHE
#-^-
# Math
#-v-
<Multi_key> <o> <o> : "°" degree # DEGREE SIGN
<Multi_key> <plus> <minus> : "±" plusminus # PLUS-MINUS SIGN
<Multi_key> <minus> <plus> : "±" plusminus # PLUS-MINUS SIGN
<Multi_key> <x> <x> : "×" multiply # MULTIPLICATION SIGN
<Multi_key> <v> <slash> : "√" U221a # v / SQUARE ROOT
<Multi_key> <slash> <v> : "√" U221a # / v SQUARE ROOT
<Multi_key> <8> <8> : "∞" U221e # 8 8 INFINITY
<Multi_key> <equal> <underscore> : "≡" U2261 # = _ IDENTICAL TO
<Multi_key> <underscore> <U2260> : "≢" U2262 # _ ≠ NOT IDENTICAL TO
<Multi_key> <U2260> <underscore> : "≢" U2262 # ≠ _ NOT IDENTICAL TO
<Multi_key> <less> <underscore> : "≤" U2264 # < _ LESS-THAN OR EQUAL TO
<Multi_key> <underscore> <less> : "≤" U2264 # _ < LESS-THAN OR EQUAL TO
<Multi_key> <greater> <underscore> : "≥" U2265 # > _ GREATER-THAN OR EQUAL TO
<Multi_key> <underscore> <greater> : "≥" U2265 # _ > GREATER-THAN OR EQUAL TO
<Multi_key> <underscore> <U2282> : "⊆" U2286 # _ ⊂ SUBSET OF OR EQUAL TO
<Multi_key> <U2282> <underscore> : "⊆" U2286 # ⊂ _ SUBSET OF OR EQUAL TO
<Multi_key> <underscore> <U2283> : "⊇" U2287 # _ ⊃ SUPERSET OF OR EQUAL TO
<Multi_key> <U2283> <underscore> : "⊇" U2287 # ⊃ _ SUPERSET OF OR EQUAL TO
<Multi_key> <colon> <period> : "∴" therefore # THEREFORE
<Multi_key> <period> <colon> : "∵" because # BECAUSE
<Multi_key> <2> <u> : "↊" turned digit two # TURNED DIGIT TWO
<Multi_key> <3> <u> : "↋" turned digit three # TURNED DIGIT THREE
#-^-
# Mathematically useful
#-v-
<Multi_key> <asterisk> <p> : "π" U03C0 # GREEK SMALL LETTER PI
<Multi_key> <p> <i> : "π" U03C0 # GREEK SMALL LETTER PI
<Multi_key> <asterisk> <t> : "τ" U03C4 # GREEK SMALL LETTER TAU
<Multi_key> <t> <a> <u> : "τ" U03C4 # GREEK SMALL LETTER TAU
<Multi_key> <asterisk> <f> : "ϕ" U03D5 # GREEK PHI SYMBOL;GREEK SMALL LETTER SCRIPT PHI
<Multi_key> <p> <h> <i> : "ϕ" U03D5 # GREEK PHI SYMBOL;GREEK SMALL LETTER SCRIPT PHI
#-^-
# Symbols
#-v-
<Multi_key> <less> <minus> : "←" U2190 # LEFTWARDS ARROW
<Multi_key> <minus> <greater> : "→" U2192 # RIGHTWARDS ARROW
<Multi_key> <m> <u> : "µ" mu # MICRO SIGN
<Multi_key> <bracketleft> <parenleft> <bar> <parenright> : "⎄" U2384 # COMPOSITION SYMBOL
<Multi_key> <bracketleft> <parenleft> <bracketright> <parenright> : "⎄" U2384 # COMPOSITION SYMBOL
#-^-
# Emoji
#-v-
# Note that This will only be filling holes in the default supported emoji
# in WinCompose
<Multi_key> <ampersand> <n> <e> <u> <t> <r> <a> <l> : "😐" U1F610 # NEUTRAL FACE
<Multi_key> <ampersand> <a> <s> <t> <o> <n> <i> <s> <h> <e> <d> : "😲" U1F632 # ASTONISHED FACE
<Multi_key> <ampersand> <t> <o> <n> <g> <u> <e> : "😛" U1F61B # FACE WITH STUCK-OUT TONGUE
<Multi_key> <ampersand> <l> <e> <v> <i> <m> <a> <n> : "🕴" U1F574 # Man in Business Suit Levitating
<Multi_key> <Multi_key> <h> <o> <r> <n> <s> : "🤘" U1F918 # SIGN OF THE HORNS
#-^-
# lower case superscript letters
#-v-
# Note: I previously mistook modifier letters for superscript. They have been
# removed.
<Multi_key> <i> <S> : "ⁱ" i_superscript # SUPERSCRIPT LATIN SMALL LETTER I
<Multi_key> <n> <S> : "ⁿ" n_superscript # SUPERSCRIPT LATIN SMALL LETTER N
#-^-
# Esperanto
#-v-
# See: https://eo.wikipedia.org/wiki/X-sistemo (Esperanto)
<Multi_key> <C> <x> : "Ĉ" Ccircumflex # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
<Multi_key> <c> <x> : "ĉ" ccircumflex # LATIN SMALL LETTER C WITH CIRCUMFLEX
<Multi_key> <G> <x> : "Ĝ" Gcircumflex # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
<Multi_key> <g> <x> : "ĝ" gcircumflex # LATIN SMALL LETTER G WITH CIRCUMFLEX
<Multi_key> <H> <x> : "Ĥ" Hcircumflex # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
<Multi_key> <h> <x> : "ĥ" hcircumflex # LATIN SMALL LETTER H WITH CIRCUMFLEX
<Multi_key> <J> <x> : "Ĵ" Hcircumflex # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
<Multi_key> <j> <x> : "ĵ" hcircumflex # LATIN SMALL LETTER J WITH CIRCUMFLEX
<Multi_key> <S> <x> : "Ŝ" Hcircumflex # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
<Multi_key> <s> <x> : "ŝ" hcircumflex # LATIN SMALL LETTER S WITH CIRCUMFLEX
<Multi_key> <U> <x> : "Ŭ" Ubreve # LATIN CAPITAL LETTER U WITH BREVE
<Multi_key> <u> <x> : "ŭ" ubreve # LATIN CAPITAL LETTER U WITH BREVE
#-^-
# vim: set fmr=-v-,-^- fdm=marker cms=#%s noet list ts=8 sw=0 sts=-1 :