Default Symbol Transformations
Interpreting the Control Modifier
If the
Control
modifier is not consumed by the symbol lookup process, routines that determine
the symbol and string that correspond to an event should convert the symbol to
a string as defined in the table below. Only the string to be returned is
affected by the
Control
modifier; the symbol is not changed.
This table lists the decimal value of the standard control characters that
correspond to some keysyms for ASCII characters. Control characters for symbols
not listed in this table are application-specific.
Keysyms
Value
Keysyms
Value
Keysyms
Value
Keysyms
Value
atsign
0
h, H
8
p, P
16
x, X
24
a, A
1
i, I
9
q, Q
17
y, Y
25
b, B
2
j, J
10
r, R
18
z, Z
26
c, C
3
k, K
11
s, S
19
left_bracket
27
d, D
4
l, L
12
t, T
20
backslash
28
e, E
5
m, M
13
u, U
21
right_bracket
29
f, F
6
n, N
14
v, V
22
asciicircum
30
g, G
8
o, O
15
w, W
23
underbar
31
Interpreting the Lock Modifier
If the
Lock
modifier is not consumed by the symbol lookup process, routines that determine
the symbol and string that correspond to an event should capitalize the result.
Unlike the transformation for
Control
, the capitalization transformation changes both the symbol and the string
returned by the event.
Locale-Sensitive Capitalization
If
Lock
is set in an event and not consumed, applications should capitalize the string
and symbols that result from an event according to the capitalization rules in
effect for the system on which the application is running, taking the current
state of the user environment (e.g. locale) into account.
Locale-Insensitive Capitalization
XKB recommends but does not require locale-sensitive capitalization. In cases
where the locale is unknown or where locale-sensitive capitalization is
prohibitively expensive, applications can capitalize according to the rules
defined in this extension.
The following tables list all of the keysyms for which XKB defines
capitalization behavior. Any keysyms not explicitly listed in these tables are
not capitalized by XKB when locale-insensitive capitalization is in effect and
are not automatically assigned the
ALPHABETIC
type as described in .
Capitalization Rules for Latin-1 Keysyms
This table lists the Latin-11 keysyms for which XKB defines upper and lower
case:
Lower Case
Upper Case
Lower Case
Upper Case
Lower Case
Upper Case
Lower Case
Upper Case
a
A
o
O
acircumflex
Acircumflex
eth
ETH
b
B
p
P
adiaeresis
Adiaeresis
ntilde
Ntilde
c
C
q
Q
atilde
Atilde
ograve
Ograve
d
D
r
R
aring
Aring
oacute
Oacute
e
E
s
S
ae
AE
ocircumflex
Ocircumflex
f
F
t
T
ccedilla
Ccedilla
otilde
Otilde
g
G
u
U
egrave
Egrave
odiaeresis
Odiaeresis
h
H
v
V
eacute
Eacute
oslash
Ooblique
i
I
w
W
ecircumflex
Ecircumflex
ugrave
Ugrave
j
J
x
X
ediaeresis
Ediaeresis
uacute
Uacute
k
K
y
Y
igrave
Igrave
ucircumflex
Ucircumflex
l
L
z
Z
iacute
Iacute
udiaeresis
Udiaeresis
m
M
agrave
Agrave
icircumflex
Icircumflex
yacute
Yacute
n
N
aacute
Aacute
idiaeresis
Idiaeresis
thorn
THORN
Capitalization Rules for Latin-2 Keysyms
This table lists the Latin-2 keysyms for which XKB defines upper and lower case:
Lower Case
Upper Case
Lower Case
Upper Case
Lower Case
Upper Case
aogonek
Aogonek
zabovedot
Zabovedot
dstroke
Dstroke
lstroke
Lstroke
racute
Racute
nacute
Nacute
lcaron
Lcaron
abreve
Abreve
ncaron
Ncaron
sacute
Sacute
lacute
Lacute
odoubleacute
Odoubleacute
scaron
Scaron
cacute
Cacute
rcaron
Rcaron
scedilla
Scedilla
ccaron
Ccaron
uabovering
Uabovering
tcaron
Tcaron
eogonek
Eogonek
udoubleacute
Udoubleacute
zacute
Zacute
ecaron
Ecaron
tcedilla
Tcedilla
zcaron
Zcaron
dcaron
Dcaron
Capitalization Rules for Latin-3 Keysyms
This table lists the Latin-3 keysyms for which XKB defines upper and lower case:
Lower Case
Upper Case
Lower Case
Upper Case
Lower Case
Upper Case
hstroke
Hstroke
jcircumflex
Jcircumflex
gcircumflex
Gcircumflex
hcircumflex
Hcircumflex
cabovedot
Cabovedot
ubreve
Ubreve
idotless
Iabovedot
ccircumflex
Ccircumflex
scircumflex
Scircumflex
gbreve
Gbreve
gabovedot
Gabovedot
Capitalization Rules for Latin-4 Keysyms
This table lists the Latin-4 keysyms for which XKB defines upper and lower case:
Lower Case
Upper Case
Lower Case
Upper Case
Lower Case
Upper Case
rcedilla
Rcedilla
eng
ENG
omacron
Omacron
itilde
Itilde
amacron
Amacron
kcedilla
Kcedilla
lcedilla
Lcedilla
iogonek
Iogonek
uogonek
Uogonek
emacron
Emacron
eabovedot
eabovedot
utilde
Utilde
gcedilla
Gcedilla
imacron
Imacron
umacron
Umacron
tslash
Tslash
ncedilla
Ncedilla
Capitalization Rules for Cyrillic Keysyms
This table lists the Cyrillic keysyms for which XKB defines upper and lower
case:
Lower Case
Upper Case
Lower Case
Upper Case
Serbian_dje
Serbian_DJE
Cyrillic_i
Cyrillic_I
Macedonia_gje
Macedonia_GJE
Cyrillic_shorti
Cyrillic_SHORTI
Cyrillic_io
Cyrillic_IO
Cyrillic_ka
Cyrillic_KA
Ukrainian_ie
Ukrainian_IE
Cyrillic_el
Cyrillic_EL
Macedonia_dse
Macedonia_DSE
Cyrillic_em
Cyrillic_EM
Ukrainian_i
Ukrainian_I
Cyrillic_en
Cyrillic_EN
Ukrainian_yi
Ukrainian_YI
Cyrillic_o
Cyrillic_O
Cyrillic_je
Cyrillic_JE
Cyrillic_pe
Cyrillic_PE
Cyrillic_lje
Cyrillic_LJE
Cyrillic_ya
Cyrillic_YA
Cyrillic_nje
Cyrillic_NJE
Cyrillic_er
Cyrillic_ER
Serbian_tshe
Serbian_TSHE
Cyrillic_es
Cyrillic_ES
Macedonia_kje
Macedonia_KJE
Cyrillic_te
Cyrillic_TE
Byelorussian_shortu
Byelorussian_SHORTU
Cyrillic_u
Cyrillic_U
Cyrillic_dzhe
Cyrillic_DZHE
Cyrillic_zhe
Cyrillic_ZHE
Cyrillic_yu
Cyrillic_YU
Cyrillic_ve
Cyrillic_VE
Cyrillic_a
Cyrillic_A
Cyrillic_softsign
Cyrillic_SOFTSIGN
Cyrillic_be
Cyrillic_BE
Cyrillic_yeru
Cyrillic_YERU
Cyrillic_tse
Cyrillic_TSE
Cyrillic_ze
Cyrillic_ZE
Cyrillic_de
Cyrillic_DE
Cyrillic_sha
Cyrillic_SHA
Cyrillic_ie
Cyrillic_IE
Cyrillic_e
Cyrillic_E
Cyrillic_ef
Cyrillic_EF
Cyrillic_shcha
Cyrillic_SHCHA
Cyrillic_ghe
Cyrillic_GHE
Cyrillic_che
Cyrillic_CHE
Cyrillic_ha
Cyrillic_HA
Cyrillic_hardsign
Cyrillic_HARDSIGN
Capitalization Rules for Greek Keysyms
This table lists the Greek keysyms for which XKB defines upper and lower case:
Lower Case
Upper Case
Lower Case
Upper Case
Greek_omegaaccent
Greek_OMEGAACCENT
Greek_iota
Greek_IOTA
Greek_alphaaccent
Greek_ALPHAACCENT
Greek_kappa
Greek_KAPPA
Greek_epsilonaccent
Greek_EPSILONACCENT
Greek_lamda
Greek_LAMDA
Greek_etaaccent
Greek_ETAACCENT
Greek_lambda
Greek_LAMBDA
Greek_iotaaccent
Greek_IOTAACCENT
Greek_mu
Greek_MU
Greek_iotadieresis
Greek_IOTADIERESIS
Greek_nu
Greek_NU
Greek_omicronaccent
Greek_OMICRONACCENT
Greek_xi
Greek_XI
Greek_upsilonaccent
Greek_UPSILONACCENT
Greek_omicron
Greek_OMICRON
Greek_upsilondieresis
Greek_UPSILONDIERESIS
Greek_pi
Greek_PI
Greek_alpha
Greek_ALPHA
Greek_rho
Greek_RHO
Greek_beta
Greek_BETA
Greek_sigma
Greek_SIGMA
Greek_gamma
Greek_GAMMA
Greek_tau
Greek_TAU
Greek_delta
Greek_DELTA
Greek_upsilon
Greek_UPSILON
Greek_epsilon
Greek_EPSILON
Greek_phi
Greek_PHI
Greek_zeta
Greek_ZETA
Greek_chi
Greek_CHI
Greek_eta
Greek_ETA
Greek_psi
Greek_PSI
Greek_theta
Greek_THETA
Greek_omega
Greek_OMEGA
Capitalization Rules for Other Keysyms
XKB defines no capitalization rules for symbols in any other set of keysyms
provided by the consortium. Applications are free to apply additional rules for
private keysyms or for other keysyms not covered by XKB.