summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-25 16:31:12 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-25 16:31:12 +0000
commit7785d1bb969b8e1cdede9f0a4b147c0d4b2646ad (patch)
tree32fae9f123d37c9d0c18493c3e17a758923d0aed /data
parent3136abb1493f1c37eb403455252e01c6c59f6281 (diff)
import from X.Org 7.0
Diffstat (limited to 'data')
-rw-r--r--data/xkbdata/COPYING12
-rw-r--r--data/xkbdata/ChangeLog60
-rw-r--r--data/xkbdata/INSTALL236
-rw-r--r--data/xkbdata/Makefile.am3
-rw-r--r--data/xkbdata/Makefile.in502
-rw-r--r--data/xkbdata/aclocal.m4944
-rw-r--r--data/xkbdata/compat/Makefile.am25
-rw-r--r--data/xkbdata/compat/Makefile.in309
-rw-r--r--data/xkbdata/compat/README37
-rw-r--r--data/xkbdata/compat/accessx54
-rw-r--r--data/xkbdata/compat/basic52
-rw-r--r--data/xkbdata/compat/complete10
-rw-r--r--data/xkbdata/compat/default10
-rw-r--r--data/xkbdata/compat/iso999584
-rw-r--r--data/xkbdata/compat/japan29
-rw-r--r--data/xkbdata/compat/keypad60
-rw-r--r--data/xkbdata/compat/ledcaps23
-rw-r--r--data/xkbdata/compat/lednum23
-rw-r--r--data/xkbdata/compat/ledscroll23
-rw-r--r--data/xkbdata/compat/misc117
-rw-r--r--data/xkbdata/compat/mousekeys182
-rw-r--r--data/xkbdata/compat/norepeat11
-rw-r--r--data/xkbdata/compat/pc18
-rw-r--r--data/xkbdata/compat/pc9862
-rw-r--r--data/xkbdata/compat/xfree8657
-rw-r--r--data/xkbdata/compat/xtest58
-rw-r--r--data/xkbdata/config.h.in22
-rw-r--r--data/xkbdata/configure2924
-rw-r--r--data/xkbdata/configure.ac46
-rw-r--r--data/xkbdata/geometry/Makefile.am27
-rw-r--r--data/xkbdata/geometry/Makefile.in459
-rw-r--r--data/xkbdata/geometry/README10
-rw-r--r--data/xkbdata/geometry/amiga270
-rw-r--r--data/xkbdata/geometry/ataritt257
-rw-r--r--data/xkbdata/geometry/chicony190
-rw-r--r--data/xkbdata/geometry/dell185
-rw-r--r--data/xkbdata/geometry/digital/Makefile.am5
-rw-r--r--data/xkbdata/geometry/digital/Makefile.in261
-rw-r--r--data/xkbdata/geometry/digital/lk730
-rw-r--r--data/xkbdata/geometry/digital/pc350
-rw-r--r--data/xkbdata/geometry/digital/unix230
-rw-r--r--data/xkbdata/geometry/everex174
-rw-r--r--data/xkbdata/geometry/fujitsu315
-rw-r--r--data/xkbdata/geometry/hp456
-rw-r--r--data/xkbdata/geometry/ibm/Makefile.am3
-rw-r--r--data/xkbdata/geometry/ibm/Makefile.in258
-rw-r--r--data/xkbdata/geometry/ibm/thinkpad267
-rw-r--r--data/xkbdata/geometry/keytronic255
-rw-r--r--data/xkbdata/geometry/kinesis193
-rw-r--r--data/xkbdata/geometry/macintosh174
-rw-r--r--data/xkbdata/geometry/microsoft256
-rw-r--r--data/xkbdata/geometry/nec159
-rw-r--r--data/xkbdata/geometry/northgate172
-rw-r--r--data/xkbdata/geometry/pc1159
-rw-r--r--data/xkbdata/geometry/sgi/Makefile.am5
-rw-r--r--data/xkbdata/geometry/sgi/Makefile.in260
-rw-r--r--data/xkbdata/geometry/sgi/O2618
-rw-r--r--data/xkbdata/geometry/sgi/indigo413
-rw-r--r--data/xkbdata/geometry/sgi/indy601
-rw-r--r--data/xkbdata/geometry/sony180
-rw-r--r--data/xkbdata/geometry/sun1338
-rw-r--r--data/xkbdata/geometry/winbook144
-rw-r--r--data/xkbdata/install-sh294
-rw-r--r--data/xkbdata/keycodes/Makefile.am22
-rw-r--r--data/xkbdata/keycodes/Makefile.in454
-rw-r--r--data/xkbdata/keycodes/README10
-rw-r--r--data/xkbdata/keycodes/aliases101
-rw-r--r--data/xkbdata/keycodes/amiga231
-rw-r--r--data/xkbdata/keycodes/ataritt123
-rw-r--r--data/xkbdata/keycodes/digital/Makefile.am4
-rw-r--r--data/xkbdata/keycodes/digital/Makefile.in260
-rw-r--r--data/xkbdata/keycodes/digital/lk271
-rw-r--r--data/xkbdata/keycodes/digital/pc280
-rw-r--r--data/xkbdata/keycodes/fujitsu187
-rw-r--r--data/xkbdata/keycodes/hp271
-rw-r--r--data/xkbdata/keycodes/ibm151
-rw-r--r--data/xkbdata/keycodes/macintosh161
-rw-r--r--data/xkbdata/keycodes/powerpcps2134
-rw-r--r--data/xkbdata/keycodes/sgi/Makefile.am5
-rw-r--r--data/xkbdata/keycodes/sgi/Makefile.in260
-rw-r--r--data/xkbdata/keycodes/sgi/indigo140
-rw-r--r--data/xkbdata/keycodes/sgi/indy203
-rw-r--r--data/xkbdata/keycodes/sgi/iris11
-rw-r--r--data/xkbdata/keycodes/sony142
-rw-r--r--data/xkbdata/keycodes/sun832
-rw-r--r--data/xkbdata/keycodes/xfree86413
-rw-r--r--data/xkbdata/keycodes/xfree98155
-rw-r--r--data/xkbdata/keymap/Makefile.am16
-rw-r--r--data/xkbdata/keymap/Makefile.in448
-rw-r--r--data/xkbdata/keymap/README8
-rw-r--r--data/xkbdata/keymap/amiga22
-rw-r--r--data/xkbdata/keymap/ataritt21
-rw-r--r--data/xkbdata/keymap/digital/Makefile.am3
-rw-r--r--data/xkbdata/keymap/digital/Makefile.in259
-rw-r--r--data/xkbdata/keymap/digital/us188
-rw-r--r--data/xkbdata/keymap/macintosh17
-rw-r--r--data/xkbdata/keymap/sgi/Makefile.am29
-rw-r--r--data/xkbdata/keymap/sgi/Makefile.in284
-rw-r--r--data/xkbdata/keymap/sgi/be34
-rw-r--r--data/xkbdata/keymap/sgi/bg19
-rw-r--r--data/xkbdata/keymap/sgi/ca33
-rw-r--r--data/xkbdata/keymap/sgi/cz21
-rw-r--r--data/xkbdata/keymap/sgi/cz_qwerty21
-rw-r--r--data/xkbdata/keymap/sgi/de34
-rw-r--r--data/xkbdata/keymap/sgi/de_CH34
-rw-r--r--data/xkbdata/keymap/sgi/dk34
-rw-r--r--data/xkbdata/keymap/sgi/dvorak15
-rw-r--r--data/xkbdata/keymap/sgi/en_US58
-rw-r--r--data/xkbdata/keymap/sgi/es34
-rw-r--r--data/xkbdata/keymap/sgi/fi34
-rw-r--r--data/xkbdata/keymap/sgi/fr34
-rw-r--r--data/xkbdata/keymap/sgi/fr_CH34
-rw-r--r--data/xkbdata/keymap/sgi/gb34
-rw-r--r--data/xkbdata/keymap/sgi/hu105
-rw-r--r--data/xkbdata/keymap/sgi/it34
-rw-r--r--data/xkbdata/keymap/sgi/jp8
-rw-r--r--data/xkbdata/keymap/sgi/no34
-rw-r--r--data/xkbdata/keymap/sgi/pl29
-rw-r--r--data/xkbdata/keymap/sgi/pt34
-rw-r--r--data/xkbdata/keymap/sgi/ru105
-rw-r--r--data/xkbdata/keymap/sgi/se34
-rw-r--r--data/xkbdata/keymap/sgi/sk21
-rw-r--r--data/xkbdata/keymap/sgi/sk_qwerty21
-rw-r--r--data/xkbdata/keymap/sgi/th17
-rw-r--r--data/xkbdata/keymap/sgi/us43
-rw-r--r--data/xkbdata/keymap/sony33
-rw-r--r--data/xkbdata/keymap/sun/Makefile.am12
-rw-r--r--data/xkbdata/keymap/sun/Makefile.in267
-rw-r--r--data/xkbdata/keymap/sun/de78
-rw-r--r--data/xkbdata/keymap/sun/es62
-rw-r--r--data/xkbdata/keymap/sun/fi62
-rw-r--r--data/xkbdata/keymap/sun/fr62
-rw-r--r--data/xkbdata/keymap/sun/no62
-rw-r--r--data/xkbdata/keymap/sun/pl62
-rw-r--r--data/xkbdata/keymap/sun/ru62
-rw-r--r--data/xkbdata/keymap/sun/se56
-rw-r--r--data/xkbdata/keymap/sun/uk62
-rw-r--r--data/xkbdata/keymap/sun/us68
-rw-r--r--data/xkbdata/keymap/xfree86362
-rw-r--r--data/xkbdata/keymap/xfree9835
-rw-r--r--data/xkbdata/missing336
-rw-r--r--data/xkbdata/mkinstalldirs111
-rw-r--r--data/xkbdata/rules/Makefile.am15
-rw-r--r--data/xkbdata/rules/Makefile.in270
-rw-r--r--data/xkbdata/rules/README6
-rw-r--r--data/xkbdata/rules/sgi73
-rw-r--r--data/xkbdata/rules/sgi.lst82
-rw-r--r--data/xkbdata/rules/sun43
-rw-r--r--data/xkbdata/rules/sun.lst62
-rw-r--r--data/xkbdata/rules/xfree9829
-rw-r--r--data/xkbdata/rules/xfree98.lst30
-rw-r--r--data/xkbdata/rules/xkb.dtd42
-rw-r--r--data/xkbdata/rules/xml2lst.pl288
-rw-r--r--data/xkbdata/rules/xorg1011
-rw-r--r--data/xkbdata/rules/xorg-it.lst50
-rw-r--r--data/xkbdata/rules/xorg.lst410
-rw-r--r--data/xkbdata/rules/xorg.xml7913
-rw-r--r--data/xkbdata/semantics/Makefile.am6
-rw-r--r--data/xkbdata/semantics/Makefile.in261
-rw-r--r--data/xkbdata/semantics/basic7
-rw-r--r--data/xkbdata/semantics/complete7
-rw-r--r--data/xkbdata/semantics/default7
-rw-r--r--data/xkbdata/semantics/xtest7
-rw-r--r--data/xkbdata/symbols/Makefile.am122
-rw-r--r--data/xkbdata/symbols/Makefile.in554
-rw-r--r--data/xkbdata/symbols/README8
-rw-r--r--data/xkbdata/symbols/al108
-rw-r--r--data/xkbdata/symbols/altwin59
-rw-r--r--data/xkbdata/symbols/am183
-rw-r--r--data/xkbdata/symbols/apple60
-rw-r--r--data/xkbdata/symbols/ar146
-rw-r--r--data/xkbdata/symbols/az213
-rw-r--r--data/xkbdata/symbols/be121
-rw-r--r--data/xkbdata/symbols/ben141
-rw-r--r--data/xkbdata/symbols/bg515
-rw-r--r--data/xkbdata/symbols/br95
-rw-r--r--data/xkbdata/symbols/bs91
-rw-r--r--data/xkbdata/symbols/by142
-rw-r--r--data/xkbdata/symbols/ca275
-rw-r--r--data/xkbdata/symbols/ca_enhanced185
-rw-r--r--data/xkbdata/symbols/capslock20
-rw-r--r--data/xkbdata/symbols/compose24
-rw-r--r--data/xkbdata/symbols/ctrl39
-rw-r--r--data/xkbdata/symbols/cz147
-rw-r--r--data/xkbdata/symbols/cz_qwerty16
-rw-r--r--data/xkbdata/symbols/czsk730
-rw-r--r--data/xkbdata/symbols/de173
-rw-r--r--data/xkbdata/symbols/de_CH94
-rw-r--r--data/xkbdata/symbols/dev67
-rw-r--r--data/xkbdata/symbols/digital/Makefile.am6
-rw-r--r--data/xkbdata/symbols/digital/Makefile.in262
-rw-r--r--data/xkbdata/symbols/digital/lk131
-rw-r--r--data/xkbdata/symbols/digital/pc176
-rw-r--r--data/xkbdata/symbols/digital/us212
-rw-r--r--data/xkbdata/symbols/digital/vt159
-rw-r--r--data/xkbdata/symbols/dk116
-rw-r--r--data/xkbdata/symbols/dvorak351
-rw-r--r--data/xkbdata/symbols/ee83
-rw-r--r--data/xkbdata/symbols/el145
-rw-r--r--data/xkbdata/symbols/en_US126
-rw-r--r--data/xkbdata/symbols/es91
-rw-r--r--data/xkbdata/symbols/eurosign20
-rw-r--r--data/xkbdata/symbols/fi122
-rw-r--r--data/xkbdata/symbols/fo91
-rw-r--r--data/xkbdata/symbols/fr101
-rw-r--r--data/xkbdata/symbols/fr_CH57
-rw-r--r--data/xkbdata/symbols/fujitsu/Makefile.am4
-rw-r--r--data/xkbdata/symbols/fujitsu/Makefile.in260
-rw-r--r--data/xkbdata/symbols/fujitsu/jp88
-rw-r--r--data/xkbdata/symbols/fujitsu/us145
-rw-r--r--data/xkbdata/symbols/gb134
-rw-r--r--data/xkbdata/symbols/ge_la71
-rw-r--r--data/xkbdata/symbols/ge_ru83
-rw-r--r--data/xkbdata/symbols/group296
-rw-r--r--data/xkbdata/symbols/guj67
-rw-r--r--data/xkbdata/symbols/gur67
-rw-r--r--data/xkbdata/symbols/hp/Makefile.am3
-rw-r--r--data/xkbdata/symbols/hp/Makefile.in258
-rw-r--r--data/xkbdata/symbols/hp/us106
-rw-r--r--data/xkbdata/symbols/hr105
-rw-r--r--data/xkbdata/symbols/hr_US80
-rw-r--r--data/xkbdata/symbols/hu336
-rw-r--r--data/xkbdata/symbols/hu_US150
-rw-r--r--data/xkbdata/symbols/hu_qwerty10
-rw-r--r--data/xkbdata/symbols/ie262
-rw-r--r--data/xkbdata/symbols/il75
-rw-r--r--data/xkbdata/symbols/il_phonetic83
-rw-r--r--data/xkbdata/symbols/inet2112
-rw-r--r--data/xkbdata/symbols/ir66
-rw-r--r--data/xkbdata/symbols/is126
-rw-r--r--data/xkbdata/symbols/iso9995-3137
-rw-r--r--data/xkbdata/symbols/it113
-rw-r--r--data/xkbdata/symbols/iu79
-rw-r--r--data/xkbdata/symbols/jp170
-rw-r--r--data/xkbdata/symbols/kan72
-rw-r--r--data/xkbdata/symbols/keypad90
-rw-r--r--data/xkbdata/symbols/la85
-rw-r--r--data/xkbdata/symbols/level394
-rw-r--r--data/xkbdata/symbols/lo80
-rw-r--r--data/xkbdata/symbols/lock22
-rw-r--r--data/xkbdata/symbols/lt140
-rw-r--r--data/xkbdata/symbols/lt_a101
-rw-r--r--data/xkbdata/symbols/lt_p75
-rw-r--r--data/xkbdata/symbols/lt_std107
-rw-r--r--data/xkbdata/symbols/lv78
-rw-r--r--data/xkbdata/symbols/macintosh/Makefile.am16
-rw-r--r--data/xkbdata/symbols/macintosh/Makefile.in272
-rw-r--r--data/xkbdata/symbols/macintosh/de144
-rw-r--r--data/xkbdata/symbols/macintosh/de_CH150
-rw-r--r--data/xkbdata/symbols/macintosh/dk92
-rw-r--r--data/xkbdata/symbols/macintosh/es50
-rw-r--r--data/xkbdata/symbols/macintosh/fi19
-rw-r--r--data/xkbdata/symbols/macintosh/fr101
-rw-r--r--data/xkbdata/symbols/macintosh/fr_CH28
-rw-r--r--data/xkbdata/symbols/macintosh/gb19
-rw-r--r--data/xkbdata/symbols/macintosh/it93
-rw-r--r--data/xkbdata/symbols/macintosh/nl15
-rw-r--r--data/xkbdata/symbols/macintosh/no58
-rw-r--r--data/xkbdata/symbols/macintosh/pt66
-rw-r--r--data/xkbdata/symbols/macintosh/se56
-rw-r--r--data/xkbdata/symbols/macintosh/us205
-rw-r--r--data/xkbdata/symbols/mk130
-rw-r--r--data/xkbdata/symbols/ml107
-rw-r--r--data/xkbdata/symbols/mm67
-rw-r--r--data/xkbdata/symbols/mn253
-rw-r--r--data/xkbdata/symbols/mt47
-rw-r--r--data/xkbdata/symbols/mt_us47
-rw-r--r--data/xkbdata/symbols/nec/Makefile.am3
-rw-r--r--data/xkbdata/symbols/nec/Makefile.in258
-rw-r--r--data/xkbdata/symbols/nec/jp167
-rw-r--r--data/xkbdata/symbols/nl98
-rw-r--r--data/xkbdata/symbols/no119
-rw-r--r--data/xkbdata/symbols/ogham206
-rw-r--r--data/xkbdata/symbols/ori71
-rw-r--r--data/xkbdata/symbols/pc/Makefile.am67
-rw-r--r--data/xkbdata/symbols/pc/Makefile.in322
-rw-r--r--data/xkbdata/symbols/pc/al43
-rw-r--r--data/xkbdata/symbols/pc/am123
-rw-r--r--data/xkbdata/symbols/pc/ara146
-rw-r--r--data/xkbdata/symbols/pc/az94
-rw-r--r--data/xkbdata/symbols/pc/ba61
-rw-r--r--data/xkbdata/symbols/pc/bd15
-rw-r--r--data/xkbdata/symbols/pc/be98
-rw-r--r--data/xkbdata/symbols/pc/bg138
-rw-r--r--data/xkbdata/symbols/pc/br62
-rw-r--r--data/xkbdata/symbols/pc/bt88
-rw-r--r--data/xkbdata/symbols/pc/by76
-rw-r--r--data/xkbdata/symbols/pc/ca331
-rw-r--r--data/xkbdata/symbols/pc/ch123
-rw-r--r--data/xkbdata/symbols/pc/cz108
-rw-r--r--data/xkbdata/symbols/pc/de172
-rw-r--r--data/xkbdata/symbols/pc/dk46
-rw-r--r--data/xkbdata/symbols/pc/ee56
-rw-r--r--data/xkbdata/symbols/pc/es125
-rw-r--r--data/xkbdata/symbols/pc/fi90
-rw-r--r--data/xkbdata/symbols/pc/fo51
-rw-r--r--data/xkbdata/symbols/pc/fr320
-rw-r--r--data/xkbdata/symbols/pc/gb78
-rw-r--r--data/xkbdata/symbols/pc/ge116
-rw-r--r--data/xkbdata/symbols/pc/gr128
-rw-r--r--data/xkbdata/symbols/pc/hr92
-rw-r--r--data/xkbdata/symbols/pc/hu433
-rw-r--r--data/xkbdata/symbols/pc/ie410
-rw-r--r--data/xkbdata/symbols/pc/il195
-rw-r--r--data/xkbdata/symbols/pc/in892
-rw-r--r--data/xkbdata/symbols/pc/ir69
-rw-r--r--data/xkbdata/symbols/pc/is66
-rw-r--r--data/xkbdata/symbols/pc/it64
-rw-r--r--data/xkbdata/symbols/pc/jp145
-rw-r--r--data/xkbdata/symbols/pc/kg29
-rw-r--r--data/xkbdata/symbols/pc/la76
-rw-r--r--data/xkbdata/symbols/pc/latam62
-rw-r--r--data/xkbdata/symbols/pc/latin179
-rw-r--r--data/xkbdata/symbols/pc/lk110
-rw-r--r--data/xkbdata/symbols/pc/lt111
-rw-r--r--data/xkbdata/symbols/pc/lv130
-rw-r--r--data/xkbdata/symbols/pc/mao24
-rw-r--r--data/xkbdata/symbols/pc/mkd66
-rw-r--r--data/xkbdata/symbols/pc/mm66
-rw-r--r--data/xkbdata/symbols/pc/mn71
-rw-r--r--data/xkbdata/symbols/pc/mt57
-rw-r--r--data/xkbdata/symbols/pc/nl54
-rw-r--r--data/xkbdata/symbols/pc/no181
-rw-r--r--data/xkbdata/symbols/pc/pc262
-rw-r--r--data/xkbdata/symbols/pc/pk86
-rw-r--r--data/xkbdata/symbols/pc/pl130
-rw-r--r--data/xkbdata/symbols/pc/pt62
-rw-r--r--data/xkbdata/symbols/pc/ro100
-rw-r--r--data/xkbdata/symbols/pc/ru167
-rw-r--r--data/xkbdata/symbols/pc/se154
-rw-r--r--data/xkbdata/symbols/pc/si46
-rw-r--r--data/xkbdata/symbols/pc/sk111
-rw-r--r--data/xkbdata/symbols/pc/srp280
-rw-r--r--data/xkbdata/symbols/pc/sy152
-rw-r--r--data/xkbdata/symbols/pc/th188
-rw-r--r--data/xkbdata/symbols/pc/tj74
-rw-r--r--data/xkbdata/symbols/pc/tr158
-rw-r--r--data/xkbdata/symbols/pc/ua213
-rw-r--r--data/xkbdata/symbols/pc/us295
-rw-r--r--data/xkbdata/symbols/pc/uz82
-rw-r--r--data/xkbdata/symbols/pc/vn40
-rw-r--r--data/xkbdata/symbols/pc10432
-rw-r--r--data/xkbdata/symbols/pl60
-rw-r--r--data/xkbdata/symbols/pl2119
-rw-r--r--data/xkbdata/symbols/pt78
-rw-r--r--data/xkbdata/symbols/ralt18
-rw-r--r--data/xkbdata/symbols/ro141
-rw-r--r--data/xkbdata/symbols/ro296
-rw-r--r--data/xkbdata/symbols/ru297
-rw-r--r--data/xkbdata/symbols/sapmi194
-rw-r--r--data/xkbdata/symbols/se119
-rw-r--r--data/xkbdata/symbols/se_FI10
-rw-r--r--data/xkbdata/symbols/se_NO10
-rw-r--r--data/xkbdata/symbols/se_SE10
-rw-r--r--data/xkbdata/symbols/sgi/Makefile.am3
-rw-r--r--data/xkbdata/symbols/sgi/Makefile.in258
-rw-r--r--data/xkbdata/symbols/sgi/jp46
-rw-r--r--data/xkbdata/symbols/si108
-rw-r--r--data/xkbdata/symbols/sk141
-rw-r--r--data/xkbdata/symbols/sk_qwerty16
-rw-r--r--data/xkbdata/symbols/sony/Makefile.am3
-rw-r--r--data/xkbdata/symbols/sony/Makefile.in258
-rw-r--r--data/xkbdata/symbols/sony/us93
-rw-r--r--data/xkbdata/symbols/sr130
-rw-r--r--data/xkbdata/symbols/srvr_ctrl136
-rw-r--r--data/xkbdata/symbols/sun/Makefile.am5
-rw-r--r--data/xkbdata/symbols/sun/Makefile.in260
-rw-r--r--data/xkbdata/symbols/sun/se193
-rw-r--r--data/xkbdata/symbols/sun/us338
-rw-r--r--data/xkbdata/symbols/sun/usb28
-rw-r--r--data/xkbdata/symbols/syr72
-rw-r--r--data/xkbdata/symbols/syr_phonetic72
-rw-r--r--data/xkbdata/symbols/tel74
-rw-r--r--data/xkbdata/symbols/th74
-rw-r--r--data/xkbdata/symbols/th_pat72
-rw-r--r--data/xkbdata/symbols/th_tis71
-rw-r--r--data/xkbdata/symbols/tj162
-rw-r--r--data/xkbdata/symbols/tml285
-rw-r--r--data/xkbdata/symbols/tr65
-rw-r--r--data/xkbdata/symbols/tr_f134
-rw-r--r--data/xkbdata/symbols/ua266
-rw-r--r--data/xkbdata/symbols/us363
-rw-r--r--data/xkbdata/symbols/us_group2272
-rw-r--r--data/xkbdata/symbols/us_group3279
-rw-r--r--data/xkbdata/symbols/us_intl70
-rw-r--r--data/xkbdata/symbols/uz142
-rw-r--r--data/xkbdata/symbols/vn398
-rw-r--r--data/xkbdata/symbols/xfree68/Makefile.am4
-rw-r--r--data/xkbdata/symbols/xfree68/Makefile.in260
-rw-r--r--data/xkbdata/symbols/xfree68/amiga132
-rw-r--r--data/xkbdata/symbols/xfree68/ataritt161
-rw-r--r--data/xkbdata/symbols/yu85
-rw-r--r--data/xkbdata/torture/Makefile.am17
-rw-r--r--data/xkbdata/torture/Makefile.in272
-rw-r--r--data/xkbdata/torture/indicator68
-rw-r--r--data/xkbdata/torture/indicator112
-rw-r--r--data/xkbdata/torture/indicator27
-rw-r--r--data/xkbdata/torture/indicator38
-rw-r--r--data/xkbdata/torture/mod_compat35
-rw-r--r--data/xkbdata/torture/mod_compat15
-rw-r--r--data/xkbdata/torture/mod_compat25
-rw-r--r--data/xkbdata/torture/mod_compat35
-rw-r--r--data/xkbdata/torture/mod_compat45
-rw-r--r--data/xkbdata/torture/sym_interp62
-rw-r--r--data/xkbdata/torture/sym_interp112
-rw-r--r--data/xkbdata/torture/sym_interp27
-rw-r--r--data/xkbdata/torture/sym_interp36
-rw-r--r--data/xkbdata/torture/sym_interp49
-rw-r--r--data/xkbdata/torture/types19
-rw-r--r--data/xkbdata/types/Makefile.am18
-rw-r--r--data/xkbdata/types/Makefile.in302
-rw-r--r--data/xkbdata/types/README8
-rw-r--r--data/xkbdata/types/basic40
-rw-r--r--data/xkbdata/types/cancel12
-rw-r--r--data/xkbdata/types/caps170
-rw-r--r--data/xkbdata/types/complete14
-rw-r--r--data/xkbdata/types/default14
-rw-r--r--data/xkbdata/types/extra93
-rw-r--r--data/xkbdata/types/iso999520
-rw-r--r--data/xkbdata/types/mousekeys13
-rw-r--r--data/xkbdata/types/numpad13
-rw-r--r--data/xkbdata/types/pc33
-rw-r--r--data/xkbdata/xkbrules.am8
423 files changed, 69394 insertions, 0 deletions
diff --git a/data/xkbdata/COPYING b/data/xkbdata/COPYING
new file mode 100644
index 000000000..7f33cbfd2
--- /dev/null
+++ b/data/xkbdata/COPYING
@@ -0,0 +1,12 @@
+This is a stub file. This package has not yet had its complete licensing
+information compiled. Please see the individual source files for details on
+your rights to use and modify this software.
+
+Please submit updated COPYING files to the Xorg bugzilla:
+
+https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+All licensing questions regarding this software should be directed at the
+Xorg mailing list:
+
+http://lists.freedesktop.org/mailman/listinfo/xorg
diff --git a/data/xkbdata/ChangeLog b/data/xkbdata/ChangeLog
new file mode 100644
index 000000000..fb5e9ddce
--- /dev/null
+++ b/data/xkbdata/ChangeLog
@@ -0,0 +1,60 @@
+2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * configure.ac:
+ Update package version for X11R7 release.
+
+2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * configure.ac:
+ Update package version number for final X11R7 release candidate.
+
+2005-10-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * configure.ac:
+ Update package version number for RC1 release.
+
+2005-10-05 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * symbols/pc/Makefile.am: Add missing bt and kg
+
+2005-09-21 Kristian Høgsberg <krh@redhat.com>
+
+ * compat/Makefile.am:
+ * geometry/Makefile.am:
+ * geometry/digital/Makefile.am:
+ * geometry/ibm/Makefile.am:
+ * geometry/sgi/Makefile.am:
+ * keycodes/Makefile.am:
+ * keycodes/digital/Makefile.am:
+ * keycodes/sgi/Makefile.am:
+ * keymap/Makefile.am:
+ * keymap/digital/Makefile.am:
+ * keymap/sgi/Makefile.am:
+ * keymap/sun/Makefile.am:
+ * rules/Makefile.am:
+ * semantics/Makefile.am:
+ * symbols/Makefile.am:
+ * symbols/digital/Makefile.am:
+ * symbols/fujitsu/Makefile.am:
+ * symbols/hp/Makefile.am:
+ * symbols/macintosh/Makefile.am:
+ * symbols/nec/Makefile.am:
+ * symbols/pc/Makefile.am:
+ * symbols/sgi/Makefile.am:
+ * symbols/sony/Makefile.am:
+ * symbols/sun/Makefile.am:
+ * symbols/xfree68/Makefile.am:
+ * torture/Makefile.am:
+ * types/Makefile.am:
+
+ Install keymaps under ${datadir}/X11/xkb by default.
+
+2005-08-06 Daniel Stone <daniel@freedesktop.org>
+
+ * **/Makefile.am:
+ Fix paths to *.dir files (thanks, Sergey Udaltsov).
+ Remove empty SUBDIRS = variables.
+
+2005-07-11 Søren Sandmann <sandmann@freedesktop.org>
+
+ * Initial autotooling.
diff --git a/data/xkbdata/INSTALL b/data/xkbdata/INSTALL
new file mode 100644
index 000000000..56b077d6a
--- /dev/null
+++ b/data/xkbdata/INSTALL
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+
+ Running `configure' takes awhile. While running, it prints some
+ messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about. Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory. After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PREFIX'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure' the option `--exec-prefix=PREFIX', the package will
+use PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the `--target=TYPE' option to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script). Here is a another example:
+
+ /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+ Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
diff --git a/data/xkbdata/Makefile.am b/data/xkbdata/Makefile.am
new file mode 100644
index 000000000..dae9a1cb7
--- /dev/null
+++ b/data/xkbdata/Makefile.am
@@ -0,0 +1,3 @@
+AUTOMAKE_OPTIONS = foreign
+
+SUBDIRS = semantics keycodes keymap compat geometry torture symbols rules types
diff --git a/data/xkbdata/Makefile.in b/data/xkbdata/Makefile.in
new file mode 100644
index 000000000..2b7bc0c18
--- /dev/null
+++ b/data/xkbdata/Makefile.in
@@ -0,0 +1,502 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+AUTOMAKE_OPTIONS = foreign
+
+SUBDIRS = semantics keycodes keymap compat geometry torture symbols rules types
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
+ ps-recursive install-info-recursive uninstall-info-recursive \
+ all-recursive install-data-recursive install-exec-recursive \
+ installdirs-recursive install-recursive uninstall-recursive \
+ check-recursive installcheck-recursive
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/configure COPYING \
+ ChangeLog INSTALL Makefile.am aclocal.m4 config.h.in configure \
+ configure.ac install-sh missing mkinstalldirs
+DIST_SUBDIRS = $(SUBDIRS)
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
+
+$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.ac
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ touch $(srcdir)/config.h.in
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if (etags --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ else \
+ include_option=--include; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = .
+distdir = $(PACKAGE)-$(VERSION)
+
+am__remove_distdir = \
+ { test ! -d $(distdir) \
+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr $(distdir); }; }
+
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ mkdir $(distdir)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" \
+ distdir=../$(distdir)/$$subdir \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+dist-bzip2: distdir
+ $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ $(am__remove_distdir)
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && cd $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
+ && rm -f $(distdir).tar.gz \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ $(am__remove_distdir)
+ @echo "$(distdir).tar.gz is ready for distribution" | \
+ sed 'h;s/./=/g;p;x;p;x'
+distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
+ clean-generic clean-recursive ctags ctags-recursive dist \
+ dist-all dist-bzip2 dist-gzip distcheck distclean \
+ distclean-generic distclean-hdr distclean-recursive \
+ distclean-tags distcleancheck distdir distuninstallcheck dvi \
+ dvi-am dvi-recursive info info-am info-recursive install \
+ install-am install-data install-data-am install-data-recursive \
+ install-exec install-exec-am install-exec-recursive \
+ install-info install-info-am install-info-recursive install-man \
+ install-recursive install-strip installcheck installcheck-am \
+ installdirs installdirs-am installdirs-recursive \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-recursive mostlyclean mostlyclean-generic \
+ mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
+ ps-recursive tags tags-recursive uninstall uninstall-am \
+ uninstall-info-am uninstall-info-recursive uninstall-recursive
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/aclocal.m4 b/data/xkbdata/aclocal.m4
new file mode 100644
index 000000000..5d767d736
--- /dev/null
+++ b/data/xkbdata/aclocal.m4
@@ -0,0 +1,944 @@
+# generated automatically by aclocal 1.7.9 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# This macro actually does too much some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 10
+
+AC_PREREQ([2.54])
+
+# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
+# the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG(AMTAR, tar)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ [AM_AUTOMAKE_VERSION([1.7.9])])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# -*- Autoconf -*-
+
+
+# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# AM_AUX_DIR_EXPAND
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+# Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])
+
+AC_DEFUN([AM_AUX_DIR_EXPAND], [
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# AM_PROG_INSTALL_STRIP
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# -*- Autoconf -*-
+# Copyright (C) 2003 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 1
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# serial 5 -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ : > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored.
+ if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking Speeds up one-time builds
+ --enable-dependency-tracking Do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+#serial 2
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # So let's grep whole file.
+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
+ # Extract the definition of DEP_FILES from the Makefile without
+ # running `make'.
+ DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n -e '/^U = / s///p' < "$mf"`
+ test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
+ # We invoke sed twice because it is the simplest approach to
+ # changing $(DEPDIR) to its actual value in the expansion.
+ for file in `sed -n -e '
+ /^DEP_FILES = .*\\\\$/ {
+ s/^DEP_FILES = //
+ :loop
+ s/\\\\$//
+ p
+ n
+ /\\\\$/ b loop
+ p
+ }
+ /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 5
+
+AC_PREREQ(2.52)
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.])
+fi])])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
+
+# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+AC_PREREQ([2.52])
+
+# serial 6
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+dnl Copyright 2005 Red Hat, Inc
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation.
+dnl
+dnl The above copyright notice and this permission notice shall be included
+dnl in all copies or substantial portions of the Software.
+dnl
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+dnl OTHER DEALINGS IN THE SOFTWARE.
+dnl
+dnl Except as contained in this notice, the name of the copyright holders shall
+dnl not be used in advertising or otherwise to promote the sale, use or
+dnl other dealings in this Software without prior written authorization
+dnl from the copyright holders.
+dnl
+
+# XORG_RELEASE_VERSION
+# --------------------
+# Adds --with/without-release-string and changes the PACKAGE and
+# PACKAGE_TARNAME to use "$PACKAGE{_TARNAME}-$RELEASE_VERSION". If
+# no option is given, PACKAGE and PACKAGE_TARNAME are unchanged.
+
+AC_DEFUN([XORG_RELEASE_VERSION],[
+ AC_ARG_WITH(release-version,
+ AC_HELP_STRING([--with-release-version=STRING],
+ [Use release version string in package name]),
+ [RELEASE_VERSION="$withval"],
+ [RELEASE_VERSION=""])
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ AC_MSG_NOTICE([Building with package name set to $PACKAGE])
+ fi
+])
+
diff --git a/data/xkbdata/compat/Makefile.am b/data/xkbdata/compat/Makefile.am
new file mode 100644
index 000000000..7a06afd00
--- /dev/null
+++ b/data/xkbdata/compat/Makefile.am
@@ -0,0 +1,25 @@
+xkbdata_compatdir = $(datadir)/X11/xkb/compat
+dist_xkbdata_compat_DATA = \
+ accessx \
+ basic \
+ complete \
+ default \
+ iso9995 \
+ japan \
+ keypad \
+ ledcaps \
+ lednum \
+ ledscroll \
+ misc \
+ mousekeys \
+ norepeat \
+ pc \
+ pc98 \
+ README \
+ xfree86 \
+ xtest
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = compat.dir
+
+include $(top_srcdir)/xkbrules.am
diff --git a/data/xkbdata/compat/Makefile.in b/data/xkbdata/compat/Makefile.in
new file mode 100644
index 000000000..8aa219658
--- /dev/null
+++ b/data/xkbdata/compat/Makefile.in
@@ -0,0 +1,309 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Common rules for building *.dir files in all xkb subdirectories
+# Replaces Imake's MakeXkbDir() rule
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_compatdir = $(datadir)/X11/xkb/compat
+dist_xkbdata_compat_DATA = \
+ accessx \
+ basic \
+ complete \
+ default \
+ iso9995 \
+ japan \
+ keypad \
+ ledcaps \
+ lednum \
+ ledscroll \
+ misc \
+ mousekeys \
+ norepeat \
+ pc \
+ pc98 \
+ README \
+ xfree86 \
+ xtest
+
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = compat.dir
+
+MOSTLYCLEANFILES = $(subdir).dir
+subdir = compat
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_compat_DATA) $(xkbdata_DATA)
+
+DIST_COMMON = README $(dist_xkbdata_compat_DATA) $(srcdir)/Makefile.in \
+ $(top_srcdir)/xkbrules.am Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/xkbrules.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu compat/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_compatDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_compatDATA: $(dist_xkbdata_compat_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_compatdir)
+ @list='$(dist_xkbdata_compat_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_compatDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_compatdir)/$$f"; \
+ $(dist_xkbdata_compatDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_compatdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_compatDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_compat_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_compatdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_compatdir)/$$f; \
+ done
+xkbdataDATA_INSTALL = $(INSTALL_DATA)
+install-xkbdataDATA: $(xkbdata_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdatadir)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f"; \
+ $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+uninstall-xkbdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdatadir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/..
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_compatdir) $(DESTDIR)$(xkbdatadir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_compatDATA install-xkbdataDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_compatDATA uninstall-info-am \
+ uninstall-xkbdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_compatDATA install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ install-xkbdataDATA installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_compatDATA uninstall-info-am \
+ uninstall-xkbdataDATA
+
+
+$(subdir).dir:
+ -rm -f $@
+ $(XKBCOMP) -lfhlpR -o $@ '*'
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/compat/README b/data/xkbdata/compat/README
new file mode 100644
index 000000000..fb84d71e4
--- /dev/null
+++ b/data/xkbdata/compat/README
@@ -0,0 +1,37 @@
+The core protocol interpretation of keyboard modifiers does not include direct
+support for multiple keyboard groups, so XKB reports the effective keyboard
+group to XKB-aware clients using some of reserved bits in the state field of
+some core protocol events. This modified state field would not be interpreted
+correctly by XKB-unaware clients, so XKB provides a group compatibility mapping
+which remaps the keyboard group into a core modifier mask that has similar
+effects, when possible.
+
+XKB maintains three compatibility state components that are used to make
+XKB-unaware clients(*) work as well as possible:
+- The compatibility state which corresponds to the effective modifier and
+ effective group state.
+- The compatibility lookup state which is the core-protocol equivalent of the
+ lookup state.
+- The compatibility grab state which is the nearest core-protocol equivalent
+ of the grab state.
+
+Compatibility state are essentially the corresponding XKB states, but with
+keyboard group possibly encoded as one or more modifiers.
+
+Modifiers that correspond to each keyboard group are described in this
+group compatibility map.
+
+
+----
+(*) The implementation of XKB invisibly extends the X library to use the
+keyboard extension if it is present. That means, clients that use library or
+toolkit routines to interpret keyboard events automatically use all of XKB
+features; clients that directly interpret the state field of core protocol
+events or the keymap direcly may be affected by some of the XKB differences.
+Thus most clients can take all advantages without modification but it also
+means that XKB state can be reported to clients that have not explicitly
+requested the keyboard extension.
+
+
+
+/* $XFree86$ */
diff --git a/data/xkbdata/compat/accessx b/data/xkbdata/compat/accessx
new file mode 100644
index 000000000..3e4b46163
--- /dev/null
+++ b/data/xkbdata/compat/accessx
@@ -0,0 +1,54 @@
+// $Xorg: accessx,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+
+default partial xkb_compatibility "basic" {
+ interpret AccessX_Enable {
+ action= LockControls(controls=AccessXKeys);
+ };
+};
+
+partial xkb_compatibility "full" {
+
+ interpret AccessX_Enable {
+ action= LockControls(controls=AccessXKeys);
+ };
+
+ interpret AccessX_Feedback_Enable {
+ action= LockControls(controls=AccessXFeedback);
+ };
+
+ interpret RepeatKeys_Enable {
+ action= LockControls(controls=RepeatKeys);
+ };
+
+ interpret SlowKeys_Enable {
+ action= LockControls(controls=SlowKeys);
+ };
+
+ interpret BounceKeys_Enable {
+ action= LockControls(controls=BounceKeys);
+ };
+
+ interpret StickyKeys_Enable {
+ action= LockControls(controls=StickyKeys);
+ };
+
+ interpret MouseKeys_Enable {
+ action= LockControls(controls=MouseKeys);
+ };
+
+ interpret MouseKeys_Accel_Enable {
+ action= LockControls(controls=MouseKeysAccel);
+ };
+
+ interpret Overlay1_Enable {
+ action= LockControls(controls=Overlay1);
+ };
+
+ interpret Overlay2_Enable {
+ action= LockControls(controls=Overlay2);
+ };
+
+ interpret AudibleBell_Enable {
+ action= LockControls(controls=AudibleBell);
+ };
+};
diff --git a/data/xkbdata/compat/basic b/data/xkbdata/compat/basic
new file mode 100644
index 000000000..8f99c7b73
--- /dev/null
+++ b/data/xkbdata/compat/basic
@@ -0,0 +1,52 @@
+// $Xorg: basic,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+
+// Minimal set of symbol interpretations to provide
+// reasonable default behavior (Num lock, shift and
+// caps lock and mode switch) and set up the
+// automatic updating of common keyboard LEDs.
+
+// $XFree86: xc/programs/xkbcomp/compat/basic,v 1.2 2000/11/06 19:24:10 dawes Exp $
+
+default xkb_compatibility "basic" {
+ virtual_modifiers NumLock,AltGr;
+
+ interpret.repeat= False;
+ setMods.clearLocks= True;
+ latchMods.clearLocks= True;
+ latchMods.latchToLock= True;
+
+ interpret Shift_Lock+AnyOf(Shift+Lock) {
+ action= LockMods(modifiers=Shift);
+ };
+
+ interpret Any+Lock {
+ action= LockMods(modifiers=Lock);
+ };
+
+ interpret Num_Lock+Any {
+ virtualModifier= NumLock;
+ action= LockMods(modifiers=NumLock);
+ };
+
+ interpret Mode_switch {
+ useModMapMods= level1;
+ virtualModifier= AltGr;
+ action= SetGroup(group=+1);
+ };
+
+ interpret Any + Any {
+ action= SetMods(modifiers=modMapMods);
+ };
+
+ group 2 = AltGr;
+ group 3 = AltGr;
+ group 4 = AltGr;
+
+ include "ledcaps"
+ include "lednum"
+ indicator "Shift Lock" {
+ !allowExplicit;
+ whichModState= Locked;
+ modifiers= Shift;
+ };
+};
diff --git a/data/xkbdata/compat/complete b/data/xkbdata/compat/complete
new file mode 100644
index 000000000..68f89c80e
--- /dev/null
+++ b/data/xkbdata/compat/complete
@@ -0,0 +1,10 @@
+// $Xorg: complete,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+default xkb_compatibility "complete" {
+ include "basic"
+ augment "iso9995"
+ augment "mousekeys"
+ augment "accessx(full)"
+ augment "misc"
+ augment "xfree86"
+};
+
diff --git a/data/xkbdata/compat/default b/data/xkbdata/compat/default
new file mode 100644
index 000000000..f36608662
--- /dev/null
+++ b/data/xkbdata/compat/default
@@ -0,0 +1,10 @@
+// $Xorg: default,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+default xkb_compatibility "default" {
+ include "basic"
+ augment "mousekeys"
+ augment "accessx(basic)"
+ augment "misc"
+ augment "iso9995"
+ augment "xfree86"
+ augment "japan"
+};
diff --git a/data/xkbdata/compat/iso9995 b/data/xkbdata/compat/iso9995
new file mode 100644
index 000000000..d513c1ce4
--- /dev/null
+++ b/data/xkbdata/compat/iso9995
@@ -0,0 +1,84 @@
+// $Xorg: iso9995,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+
+// Fairly complete set of symbol interpretations
+// to provide reasonable default behavior
+
+// $XFree86: xc/programs/xkbcomp/compat/iso9995,v 1.3 2003/02/21 03:16:34 dawes Exp $
+
+default partial xkb_compatibility "default" {
+ virtual_modifiers LevelThree,AltGr;
+
+ interpret.repeat= False;
+ setMods.clearLocks= True;
+ latchMods.clearLocks= True;
+ latchMods.latchToLock= True;
+
+ interpret ISO_Lock+Any {
+ action= ISOLock(affect= all,modifiers=modMapMods);
+ };
+
+ interpret ISO_Level2_Latch+Shift {
+ useModMapMods= level1;
+ action= LatchMods(modifiers=Shift);
+ };
+
+ interpret ISO_Level3_Shift+Any {
+ useModMapMods= level1;
+ virtualModifier= LevelThree;
+ action= SetMods(modifiers=LevelThree);
+ };
+
+ interpret ISO_Level3_Shift {
+ action= SetMods(modifiers=LevelThree);
+ };
+
+ interpret ISO_Level3_Latch+Any {
+ useModMapMods= level1;
+ virtualModifier= LevelThree;
+ action= LatchMods(modifiers=LevelThree);
+ };
+
+ interpret ISO_Level3_Latch {
+ action= LatchMods(modifiers=LevelThree);
+ };
+
+ interpret ISO_Level3_Lock+Any {
+ useModMapMods= level1;
+ virtualModifier= LevelThree;
+ action= LockMods(modifiers=LevelThree);
+ };
+
+ interpret ISO_Level3_Lock {
+ action= LockMods(modifiers=LevelThree);
+ };
+
+ interpret ISO_Group_Latch {
+ useModMapMods= level1;
+ virtualModifier= AltGr;
+ action= LatchGroup(group=2);
+ };
+
+ interpret ISO_Next_Group {
+ useModMapMods= level1;
+ virtualModifier= AltGr;
+ action= LockGroup(group=+1);
+ };
+
+ interpret ISO_Prev_Group {
+ useModMapMods= level1;
+ virtualModifier= AltGr;
+ action= LockGroup(group=-1);
+ };
+ interpret ISO_First_Group {
+ action= LockGroup(group=1);
+ };
+
+ interpret ISO_Last_Group {
+ action= LockGroup(group=2);
+ };
+
+ indicator "Group 2" {
+ !allowExplicit;
+ groups= All-Group1;
+ };
+};
diff --git a/data/xkbdata/compat/japan b/data/xkbdata/compat/japan
new file mode 100644
index 000000000..34bcc0964
--- /dev/null
+++ b/data/xkbdata/compat/japan
@@ -0,0 +1,29 @@
+// $Xorg: japan,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+
+// Japanese keyboards need Eisu and Kana shift and
+// lock keys, which are typically bound to the
+// second shift level for some other modifier key.
+// These interpretations disable the default
+// interpretation (which would have these keys set
+// the same modifier as the level one symbol).
+
+default partial xkb_compatibility "japan" {
+
+ interpret.repeat= False;
+
+ interpret Eisu_Shift+Lock {
+ action= NoAction();
+ };
+
+ interpret Eisu_toggle+Lock {
+ action= NoAction();
+ };
+
+ interpret Kana_Shift+Lock {
+ action= NoAction();
+ };
+
+ interpret Kana_Lock+Lock {
+ action= NoAction();
+ };
+};
diff --git a/data/xkbdata/compat/keypad b/data/xkbdata/compat/keypad
new file mode 100644
index 000000000..469edec28
--- /dev/null
+++ b/data/xkbdata/compat/keypad
@@ -0,0 +1,60 @@
+// $Xorg: keypad,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+
+// Interpretations needed to implement the numeric keypad
+// as an overlay instead of a modifier.
+
+partial hidden xkb_compatibility "overlay" {
+ include "keypad(overlay1)"
+};
+partial hidden xkb_compatibility "overlay1" {
+ virtual_modifiers NumLock,AltGr;
+
+ interpret.repeat= False;
+ setMods.clearLocks= True;
+ latchMods.clearLocks= True;
+ latchMods.latchToLock= True;
+
+ interpret Num_Lock {
+ virtualModifier= NumLock;
+ action= LockControls(ctrls=overlay1);
+ };
+ interpret Num_Lock+Any {
+ virtualModifier= NumLock;
+ action= LockControls(ctrls=overlay1);
+ };
+
+ indicator.allowExplicit= True;
+ indicator.driveskbd= True;
+ replace indicator "Num Lock" {
+ whichModState= Locked;
+ modifiers= NumLock;
+ controls= Overlay1;
+ };
+ indicator.allowExplicit= True;
+};
+partial hidden xkb_compatibility "overlay2" {
+ virtual_modifiers NumLock,AltGr;
+
+ interpret.repeat= False;
+ setMods.clearLocks= True;
+ latchMods.clearLocks= True;
+ latchMods.latchToLock= True;
+
+ interpret Num_Lock {
+ virtualModifier= NumLock;
+ action= LockControls(ctrls=overlay2);
+ };
+ interpret Num_Lock+Any {
+ virtualModifier= NumLock;
+ action= LockControls(ctrls=overlay1);
+ };
+
+ indicator.allowExplicit= True;
+ indicator.driveskbd= True;
+ replace indicator "Num Lock" {
+ whichModState= Locked;
+ modifiers= NumLock;
+ controls= Overlay2;
+ };
+ indicator.allowExplicit= True;
+};
diff --git a/data/xkbdata/compat/ledcaps b/data/xkbdata/compat/ledcaps
new file mode 100644
index 000000000..fc3084eec
--- /dev/null
+++ b/data/xkbdata/compat/ledcaps
@@ -0,0 +1,23 @@
+// Use Caps Lock LED to show either Caps Lock, Group, or Shift Lock state
+
+default partial xkb_compatibility "caps_lock" {
+ indicator "Caps Lock" {
+ !allowExplicit;
+ whichModState= Locked;
+ modifiers= Lock;
+ };
+};
+
+partial xkb_compatibility "group_lock" {
+ indicator "Caps Lock" {
+ modifiers= None;
+ groups=All-group1;
+ };
+};
+
+partial xkb_compatibility "shift_lock" {
+ indicator "Caps Lock" {
+ whichModState= Locked;
+ modifiers= Shift;
+ };
+};
diff --git a/data/xkbdata/compat/lednum b/data/xkbdata/compat/lednum
new file mode 100644
index 000000000..24a60a595
--- /dev/null
+++ b/data/xkbdata/compat/lednum
@@ -0,0 +1,23 @@
+// Use Num Lock LED to show either Num Lock, Group, or Shift Lock state
+
+default partial xkb_compatibility "num_lock" {
+ indicator "Num Lock" {
+ !allowExplicit;
+ whichModState= Locked;
+ modifiers= NumLock;
+ };
+};
+
+partial xkb_compatibility "group_lock" {
+ indicator "Num Lock" {
+ modifiers= None;
+ groups=All-group1;
+ };
+};
+
+partial xkb_compatibility "shift_lock" {
+ indicator "Num Lock" {
+ whichModState= Locked;
+ modifiers= Shift;
+ };
+};
diff --git a/data/xkbdata/compat/ledscroll b/data/xkbdata/compat/ledscroll
new file mode 100644
index 000000000..ca5a82c4c
--- /dev/null
+++ b/data/xkbdata/compat/ledscroll
@@ -0,0 +1,23 @@
+// Use Scroll Lock LED to show either Scroll Lock, Group, or Shift Lock state
+
+default partial xkb_compatibility "scroll_lock" {
+ indicator "Scroll Lock" {
+ allowExplicit;
+ whichModState= Locked;
+ modifiers= ScrollLock;
+ };
+};
+
+partial xkb_compatibility "group_lock" {
+ indicator "Scroll Lock" {
+ modifiers= None;
+ groups=All-group1;
+ };
+};
+
+partial xkb_compatibility "shift_lock" {
+ indicator "Scroll Lock" {
+ whichModState= Locked;
+ modifiers= Shift;
+ };
+};
diff --git a/data/xkbdata/compat/misc b/data/xkbdata/compat/misc
new file mode 100644
index 000000000..c1548b5a9
--- /dev/null
+++ b/data/xkbdata/compat/misc
@@ -0,0 +1,117 @@
+// $XdotOrg: misc,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+// $Xorg: misc,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+//
+//
+//
+// $XFree86: xc/programs/xkbcomp/compat/misc,v 1.4 2003/05/15 13:31:57 pascal Exp $
+
+default partial xkb_compatibility "misc" {
+
+ virtual_modifiers Alt,Meta,Super,Hyper,ScrollLock;
+
+ // Interpretations for some other useful keys
+
+ interpret Terminate_Server {
+ action = Terminate();
+ };
+
+ setMods.clearLocks= True;
+
+ // Sets the "Alt" virtual modifier
+
+ interpret Alt_L+Any {
+ useModMapMods= level1;
+ virtualModifier= Alt;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret Alt_L {
+ action = SetMods(modifiers=Alt);
+ };
+
+ interpret Alt_R+Any {
+ useModMapMods= level1;
+ virtualModifier= Alt;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret Alt_R {
+ action = SetMods(modifiers=Alt);
+ };
+
+ // Sets the "Meta" virtual modifier
+
+ interpret Meta_L+Any {
+// useModMapMods= level1;
+ virtualModifier= Meta;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret Meta_L {
+ action = SetMods(modifiers=Meta);
+ };
+
+ interpret Meta_R+Any {
+ useModMapMods= level1;
+ virtualModifier= Meta;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret Meta_R {
+ action = SetMods(modifiers=Alt);
+ };
+
+ // Sets the "Super" virtual modifier
+
+ interpret Super_L+Any {
+// useModMapMods= level1;
+ virtualModifier= Super;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret Super_L {
+ action = SetMods(modifiers=Super);
+ };
+
+ interpret Super_R+Any {
+ useModMapMods= level1;
+ virtualModifier= Super;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret Super_R {
+ action = SetMods(modifiers=Super);
+ };
+
+ // Sets the "Hyper" virtual modifier
+
+ interpret Hyper_L+Any {
+// useModMapMods= level1;
+ virtualModifier= Hyper;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret Hyper_L {
+ action = SetMods(modifiers=Hyper);
+ };
+
+ interpret Hyper_R+Any {
+ useModMapMods= level1;
+ virtualModifier= Hyper;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret Hyper_R {
+ action = SetMods(modifiers=Hyper);
+ };
+
+ // Sets the "ScrollLock" virtual modifier and
+ // makes it actually lock when pressed. Sets
+ // up a map for the scroll lock indicator.
+ interpret Scroll_Lock+Any {
+ virtualModifier= ScrollLock;
+ action = LockMods(modifiers=modMapMods);
+ };
+
+ include "ledscroll"
+};
diff --git a/data/xkbdata/compat/mousekeys b/data/xkbdata/compat/mousekeys
new file mode 100644
index 000000000..6e9a208d6
--- /dev/null
+++ b/data/xkbdata/compat/mousekeys
@@ -0,0 +1,182 @@
+
+// $Xorg: mousekeys,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+
+// Interpretations for arrow keys and a bunch of other
+// common keysyms which make it possible to bind "mouse"
+// keys using xmodmap and activate or deactivate them
+// from the keyboard.
+
+default partial xkb_compatibility "mousekeys" {
+
+ // Keypad actions.
+ //
+ interpret.repeat= True;
+
+ interpret KP_1 {
+ action = MovePtr(x=-1,y= +1);
+ };
+ interpret KP_End {
+ action = MovePtr(x=-1,y= +1);
+ };
+
+ interpret KP_2 {
+ action = MovePtr(x=+0,y= +1);
+ };
+ interpret KP_Down {
+ action = MovePtr(x=+0,y= +1);
+ };
+
+ interpret KP_3 {
+ action = MovePtr(x=+1,y=+1);
+ };
+ interpret KP_Next {
+ action = MovePtr(x=+1,y=+1);
+ };
+
+ interpret KP_4 {
+ action = MovePtr(x=-1,y=+0);
+ };
+ interpret KP_Left {
+ action = MovePtr(x=-1,y=+0);
+ };
+
+ interpret KP_6 {
+ action = MovePtr(x=+1,y=+0);
+ };
+ interpret KP_Right {
+ action = MovePtr(x=+1,y=+0);
+ };
+
+ interpret KP_7 {
+ action = MovePtr(x=-1,y=-1);
+ };
+ interpret KP_Home {
+ action = MovePtr(x=-1,y=-1);
+ };
+
+ interpret KP_8 {
+ action = MovePtr(x=+0,y=-1);
+ };
+ interpret KP_Up {
+ action = MovePtr(x=+0,y=-1);
+ };
+
+ interpret KP_9 {
+ action = MovePtr(x=+1,y=-1);
+ };
+ interpret KP_Prior {
+ action = MovePtr(x=+1,y=-1);
+ };
+
+ interpret KP_5 {
+ action = PointerButton(button=default);
+ };
+ interpret KP_Begin {
+ action = PointerButton(button=default);
+ };
+
+ interpret KP_F2 {
+ action = SetPtrDflt(affect=defaultButton,button=1);
+ };
+ interpret KP_Divide {
+ action = SetPtrDflt(affect=defaultButton,button=1);
+ };
+
+ interpret KP_F3 {
+ action = SetPtrDflt(affect=defaultButton,button=2);
+ };
+ interpret KP_Multiply {
+ action = SetPtrDflt(affect=defaultButton,button=2);
+ };
+
+ interpret KP_F4 {
+ action = SetPtrDflt(affect=defaultButton,button=3);
+ };
+ interpret KP_Subtract {
+ action = SetPtrDflt(affect=defaultButton,button=3);
+ };
+
+ interpret KP_Separator {
+ action = PointerButton(button=default,count=2);
+ };
+ interpret KP_Add {
+ action = PointerButton(button=default,count=2);
+ };
+
+ interpret KP_0 {
+ action = LockPointerButton(button=default,affect=lock);
+ };
+ interpret KP_Insert {
+ action = LockPointerButton(button=default,affect=lock);
+ };
+
+ interpret KP_Decimal {
+ action = LockPointerButton(button=default,affect=unlock);
+ };
+ interpret KP_Delete {
+ action = LockPointerButton(button=default,affect=unlock);
+ };
+
+ interpret.repeat= False;
+
+
+ // New Keysym Actions.
+ //
+ interpret Pointer_Button_Dflt {
+ action= PointerButton(button=default);
+ };
+ interpret Pointer_Button1 {
+ action= PointerButton(button=1);
+ };
+ interpret Pointer_Button2 {
+ action= PointerButton(button=2);
+ };
+ interpret Pointer_Button3 {
+ action= PointerButton(button=3);
+ };
+ interpret Pointer_DblClick_Dflt {
+ action= PointerButton(button=default,count=2);
+ };
+ interpret Pointer_DblClick1 {
+ action= PointerButton(button=1,count=2);
+ };
+ interpret Pointer_DblClick2 {
+ action= PointerButton(button=2,count=2);
+ };
+ interpret Pointer_DblClick3 {
+ action= PointerButton(button=3,count=2);
+ };
+ interpret Pointer_Drag_Dflt {
+ action= LockPointerButton(button=default);
+ };
+ interpret Pointer_Drag1 {
+ action= LockPointerButton(button=1);
+ };
+ interpret Pointer_Drag2 {
+ action= LockPointerButton(button=2);
+ };
+ interpret Pointer_Drag3 {
+ action= LockPointerButton(button=3);
+ };
+
+ interpret Pointer_EnableKeys {
+ action= LockControls(controls=MouseKeys);
+ };
+ interpret Pointer_Accelerate {
+ action= LockControls(controls=MouseKeysAccel);
+ };
+ interpret Pointer_DfltBtnNext {
+ action= SetPtrDflt(affect=defaultButton,button= +1);
+ };
+ interpret Pointer_DfltBtnPrev {
+ action= SetPtrDflt(affect=defaultButton,button= -1);
+ };
+
+
+ // Allow an indicator for MouseKeys.
+ indicator "Mouse Keys" {
+// !allowExplicit;
+ indicatorDrivesKeyboard;
+ controls= MouseKeys;
+ };
+};
diff --git a/data/xkbdata/compat/norepeat b/data/xkbdata/compat/norepeat
new file mode 100644
index 000000000..07b0b7a60
--- /dev/null
+++ b/data/xkbdata/compat/norepeat
@@ -0,0 +1,11 @@
+// $Xorg: norepeat,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+
+// Put any otherwise normal keys that you don't want to repeat in
+// this file
+
+default partial xkb_compatibility "norepeat" {
+ interpret Return {
+ action= NoAction();
+ repeat= False;
+ };
+};
diff --git a/data/xkbdata/compat/pc b/data/xkbdata/compat/pc
new file mode 100644
index 000000000..5ce7d767d
--- /dev/null
+++ b/data/xkbdata/compat/pc
@@ -0,0 +1,18 @@
+// $Xorg: pc,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+default partial xkb_compatibility "pc" {
+
+ // Sets the "Alt" virtual modifier
+
+ virtual_modifiers Alt;
+
+ setMods.clearLocks= True;
+ interpret Alt_L+Any {
+ virtualModifier= Alt;
+ action = SetMods(modifiers=modMapMods);
+ };
+
+ interpret Alt_R+Any {
+ virtualModifier= Alt;
+ action = SetMods(modifiers=modMapMods);
+ };
+};
diff --git a/data/xkbdata/compat/pc98 b/data/xkbdata/compat/pc98
new file mode 100644
index 000000000..23f3f7987
--- /dev/null
+++ b/data/xkbdata/compat/pc98
@@ -0,0 +1,62 @@
+// $Xorg: pc98,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/compat/pc98,v 3.1 1997/10/26 13:25:33 dawes Exp $
+
+// Minimal set of symbol interpretations to provide
+// reasonable default behavior (Num lock, shift and
+// caps lock and mode switch) and set up the
+// automatic updating of common keyboard LEDs.
+
+default xkb_compatibility "basic" {
+ virtual_modifiers NumLock,AltGr;
+
+ interpret.repeat= False;
+ setMods.clearLocks= True;
+ latchMods.clearLocks= True;
+ latchMods.latchToLock= True;
+
+ interpret Shift_Lock+AnyOf(Shift+Lock) {
+ action= LockMods(modifiers=Shift);
+ };
+
+// interpret Any+Lock {
+// action= LockMods(modifiers=Lock);
+// };
+
+ interpret Num_Lock+Any {
+ virtualModifier= NumLock;
+ action= LockMods(modifiers=NumLock);
+ };
+
+ interpret Mode_switch {
+ useModMapMods= level1;
+ virtualModifier= AltGr;
+ action= SetGroup(group=2,clearLocks);
+ };
+
+ interpret Any + Any {
+ action= SetMods(modifiers=modMapMods);
+ };
+
+ group 2 = AltGr;
+ group 3 = AltGr;
+ group 4 = AltGr;
+
+ indicator.allowExplicit= False;
+ indicator "Caps Lock" {
+ whichModState= Locked;
+ modifiers= Lock;
+ };
+ indicator "Num Lock" {
+ whichModState= Locked;
+ modifiers= NumLock;
+ };
+ indicator "Shift Lock" {
+ whichModState= Locked;
+ modifiers= Shift;
+ };
+ indicator.allowExplicit= True;
+};
diff --git a/data/xkbdata/compat/xfree86 b/data/xkbdata/compat/xfree86
new file mode 100644
index 000000000..2da65fd6a
--- /dev/null
+++ b/data/xkbdata/compat/xfree86
@@ -0,0 +1,57 @@
+// $XFree86$
+// XFree86 special keysyms
+
+default partial xkb_compatibility "basic" {
+
+ interpret.repeat= True;
+
+ interpret XF86_Switch_VT_1 {
+ action = SwitchScreen(Screen=1, !SameServer);
+ };
+ interpret XF86_Switch_VT_2 {
+ action = SwitchScreen(Screen=2, !SameServer);
+ };
+ interpret XF86_Switch_VT_3 {
+ action = SwitchScreen(Screen=3, !SameServer);
+ };
+ interpret XF86_Switch_VT_4 {
+ action = SwitchScreen(Screen=4, !SameServer);
+ };
+ interpret XF86_Switch_VT_5 {
+ action = SwitchScreen(Screen=5, !SameServer);
+ };
+ interpret XF86_Switch_VT_6 {
+ action = SwitchScreen(Screen=6, !SameServer);
+ };
+ interpret XF86_Switch_VT_7 {
+ action = SwitchScreen(Screen=7, !SameServer);
+ };
+ interpret XF86_Switch_VT_8 {
+ action = SwitchScreen(Screen=8, !SameServer);
+ };
+ interpret XF86_Switch_VT_9 {
+ action = SwitchScreen(Screen=9, !SameServer);
+ };
+ interpret XF86_Switch_VT_10 {
+ action = SwitchScreen(Screen=10, !SameServer);
+ };
+ interpret XF86_Switch_VT_11 {
+ action = SwitchScreen(Screen=11, !SameServer);
+ };
+ interpret XF86_Switch_VT_12 {
+ action = SwitchScreen(Screen=12, !SameServer);
+ };
+
+ interpret XF86_Ungrab {
+ action = Private(type=0x86, data="Ungrab");
+ };
+ interpret XF86_ClearGrab {
+ action = Private(type=0x86, data="ClsGrb");
+ };
+ interpret XF86_Next_VMode {
+ action = Private(type=0x86, data="+VMode");
+ };
+ interpret XF86_Prev_VMode {
+ action = Private(type=0x86, data="-VMode");
+ };
+};
diff --git a/data/xkbdata/compat/xtest b/data/xkbdata/compat/xtest
new file mode 100644
index 000000000..a35ced915
--- /dev/null
+++ b/data/xkbdata/compat/xtest
@@ -0,0 +1,58 @@
+// $Xorg: xtest,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
+default xkb_compatibility "xtest" {
+
+ // Minimal set of symbol interpretations to provide
+ // reasonable behavior for testing. The X Test
+ // Suite assumes that it can set any modifier by
+ // simulating a KeyPress and clear it by simulating
+ // a KeyRelease. Because of the way that XKB
+ // implements locking/latching modifiers, this
+ // approach fails in some cases (typically the
+ // lock or num lock modifiers). These symbol
+ // interpretations make all modifier keys just
+ // set the corresponding modifier so that xtest
+ // will see the behavior it expects.
+
+ virtual_modifiers NumLock,AltGr;
+
+ interpret.repeat= False;
+ setMods.clearLocks= True;
+ latchMods.clearLocks= True;
+ latchMods.latchToLock= False;
+
+ interpret Shift_Lock+AnyOf(Shift+Lock) {
+ action= SetMods(modifiers=Shift);
+ };
+
+ interpret Num_Lock+Any {
+ virtualModifier= NumLock;
+ action= SetMods(modifiers=NumLock);
+ };
+
+ interpret Mode_switch {
+ useModMapMods= level1;
+ virtualModifier= AltGr;
+ action= SetGroup(group=2);
+ };
+
+ interpret Any + Any {
+ action= SetMods(modifiers=modMapMods);
+ };
+
+ group 2 = AltGr;
+ group 3 = AltGr;
+ group 4 = AltGr;
+
+ indicator.allowExplicit= False;
+ indicator "Caps Lock" {
+ modifiers= Lock;
+ };
+ indicator "Num Lock" {
+ modifiers= NumLock;
+ };
+ indicator "Shift Lock" {
+ whichModState= Locked;
+ modifiers= Shift;
+ };
+ indicator.allowExplicit= True;
+};
diff --git a/data/xkbdata/config.h.in b/data/xkbdata/config.h.in
new file mode 100644
index 000000000..c364eda45
--- /dev/null
+++ b/data/xkbdata/config.h.in
@@ -0,0 +1,22 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Version number of package */
+#undef VERSION
diff --git a/data/xkbdata/configure b/data/xkbdata/configure
new file mode 100644
index 000000000..a10c76a09
--- /dev/null
+++ b/data/xkbdata/configure
@@ -0,0 +1,2924 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59 for xkbdata 1.0.1.
+#
+# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='xkbdata'
+PACKAGE_TARNAME='xkbdata'
+PACKAGE_VERSION='1.0.1'
+PACKAGE_STRING='xkbdata 1.0.1'
+PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT XKBCOMP LIBOBJS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures xkbdata 1.0.1 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+ cat <<_ACEOF
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of xkbdata 1.0.1:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-release-version=STRING
+ Use release version string in package name
+
+Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d $ac_dir || continue
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd $ac_popdir
+ done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+ cat <<\_ACEOF
+xkbdata configure 1.0.1
+generated by GNU Autoconf 2.59
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by xkbdata $as_me 1.0.1, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+{
+ (set) 2>&1 |
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ sed -n \
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
+ *)
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+}
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ sed "/^$/d" confdefs.h | sort
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+ ' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+am__api_version="1.7"
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f $ac_dir/shtool; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL=$ac_install_sh
+ fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+all:
+ @echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+ # test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='xkbdata'
+ VERSION='1.0.1'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ STRIP=$ac_ct_STRIP
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+
+
+
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi;
+ echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+ ac_config_headers="$ac_config_headers config.h"
+
+
+# Extract the first word of "xkbcomp", so it can be a program name with args.
+set dummy xkbcomp; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XKBCOMP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $XKBCOMP in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XKBCOMP="$XKBCOMP" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_XKBCOMP="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_path_XKBCOMP" && ac_cv_path_XKBCOMP="not_found"
+ ;;
+esac
+fi
+XKBCOMP=$ac_cv_path_XKBCOMP
+
+if test -n "$XKBCOMP"; then
+ echo "$as_me:$LINENO: result: $XKBCOMP" >&5
+echo "${ECHO_T}$XKBCOMP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+if test x$XKBCOMP = xnot_found ; then
+ { { echo "$as_me:$LINENO: error: xkbcomp is required to install the xkb data files" >&5
+echo "$as_me: error: xkbcomp is required to install the xkb data files" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+# Check whether --with-release-version or --without-release-version was given.
+if test "${with_release_version+set}" = set; then
+ withval="$with_release_version"
+ RELEASE_VERSION="$withval"
+else
+ RELEASE_VERSION=""
+fi;
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ { echo "$as_me:$LINENO: Building with package name set to $PACKAGE" >&5
+echo "$as_me: Building with package name set to $PACKAGE" >&6;}
+ fi
+
+
+ ac_config_files="$ac_config_files Makefile semantics/Makefile keycodes/Makefile keycodes/sgi/Makefile keycodes/digital/Makefile keymap/Makefile keymap/sun/Makefile keymap/digital/Makefile keymap/sgi/Makefile geometry/Makefile geometry/digital/Makefile geometry/sgi/Makefile geometry/ibm/Makefile compat/Makefile rules/Makefile symbols/Makefile symbols/pc/Makefile symbols/nec/Makefile symbols/xfree68/Makefile symbols/sony/Makefile symbols/sgi/Makefile symbols/macintosh/Makefile symbols/sun/Makefile symbols/fujitsu/Makefile symbols/digital/Makefile symbols/hp/Makefile torture/Makefile types/Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by xkbdata $as_me 1.0.1, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+xkbdata config.status 1.0.1
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ -*)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "semantics/Makefile" ) CONFIG_FILES="$CONFIG_FILES semantics/Makefile" ;;
+ "keycodes/Makefile" ) CONFIG_FILES="$CONFIG_FILES keycodes/Makefile" ;;
+ "keycodes/sgi/Makefile" ) CONFIG_FILES="$CONFIG_FILES keycodes/sgi/Makefile" ;;
+ "keycodes/digital/Makefile" ) CONFIG_FILES="$CONFIG_FILES keycodes/digital/Makefile" ;;
+ "keymap/Makefile" ) CONFIG_FILES="$CONFIG_FILES keymap/Makefile" ;;
+ "keymap/sun/Makefile" ) CONFIG_FILES="$CONFIG_FILES keymap/sun/Makefile" ;;
+ "keymap/digital/Makefile" ) CONFIG_FILES="$CONFIG_FILES keymap/digital/Makefile" ;;
+ "keymap/sgi/Makefile" ) CONFIG_FILES="$CONFIG_FILES keymap/sgi/Makefile" ;;
+ "geometry/Makefile" ) CONFIG_FILES="$CONFIG_FILES geometry/Makefile" ;;
+ "geometry/digital/Makefile" ) CONFIG_FILES="$CONFIG_FILES geometry/digital/Makefile" ;;
+ "geometry/sgi/Makefile" ) CONFIG_FILES="$CONFIG_FILES geometry/sgi/Makefile" ;;
+ "geometry/ibm/Makefile" ) CONFIG_FILES="$CONFIG_FILES geometry/ibm/Makefile" ;;
+ "compat/Makefile" ) CONFIG_FILES="$CONFIG_FILES compat/Makefile" ;;
+ "rules/Makefile" ) CONFIG_FILES="$CONFIG_FILES rules/Makefile" ;;
+ "symbols/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/Makefile" ;;
+ "symbols/pc/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/pc/Makefile" ;;
+ "symbols/nec/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/nec/Makefile" ;;
+ "symbols/xfree68/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/xfree68/Makefile" ;;
+ "symbols/sony/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/sony/Makefile" ;;
+ "symbols/sgi/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/sgi/Makefile" ;;
+ "symbols/macintosh/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/macintosh/Makefile" ;;
+ "symbols/sun/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/sun/Makefile" ;;
+ "symbols/fujitsu/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/fujitsu/Makefile" ;;
+ "symbols/digital/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/digital/Makefile" ;;
+ "symbols/hp/Makefile" ) CONFIG_FILES="$CONFIG_FILES symbols/hp/Makefile" ;;
+ "torture/Makefile" ) CONFIG_FILES="$CONFIG_FILES torture/Makefile" ;;
+ "types/Makefile" ) CONFIG_FILES="$CONFIG_FILES types/Makefile" ;;
+ "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@CYGPATH_W@,$CYGPATH_W,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s,@AWK@,$AWK,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@am__leading_dot@,$am__leading_dot,;t t
+s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s,@MAINT@,$MAINT,;t t
+s,@XKBCOMP@,$XKBCOMP,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='[ ].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ # Do quote $f, to prevent DOS paths from being IFS'd.
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ # Remove the trailing spaces.
+ sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
+
+_ACEOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h. The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status. Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\_ACEOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+t end
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+_ACEOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless. Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >>conftest.undefs <<\_ACEOF
+s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+_ACEOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo ' :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+ # Write a limited-size here document to $tmp/defines.sed.
+ echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#define' lines.
+ echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/defines.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo ' fi # grep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.undefs >/dev/null
+do
+ # Write a limited-size here document to $tmp/undefs.sed.
+ echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+ # Speed up: don't consider the non `#undef'
+ echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+ # Work around the forget-to-reset-the-flag bug.
+ echo 't clr' >>$CONFIG_STATUS
+ echo ': clr' >>$CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+ rm -f $tmp/in
+ mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+ rm -f conftest.undefs
+ mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ echo "/* Generated by configure. */" >$tmp/config.h
+ else
+ echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
+ fi
+ cat $tmp/in >>$tmp/config.h
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ rm -f $ac_file
+ mv $tmp/config.h $ac_file
+ fi
+ else
+ cat $tmp/config.h
+ rm -f $tmp/config.h
+ fi
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $ac_file | $ac_file:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X$ac_file : 'X\(//\)[^/]' \| \
+ X$ac_file : 'X\(//\)$' \| \
+ X$ac_file : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X$ac_file |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/data/xkbdata/configure.ac b/data/xkbdata/configure.ac
new file mode 100644
index 000000000..88d55f1d5
--- /dev/null
+++ b/data/xkbdata/configure.ac
@@ -0,0 +1,46 @@
+# $XdotOrg: $
+
+AC_PREREQ([2.57])
+AC_INIT(xkbdata, [1.0.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xkbdata)
+AM_INIT_AUTOMAKE([dist-bzip2])
+AM_MAINTAINER_MODE
+
+AM_CONFIG_HEADER(config.h)
+
+AC_PATH_PROG([XKBCOMP], [xkbcomp], [not_found])
+if test x$XKBCOMP = xnot_found ; then
+ AC_ERROR([xkbcomp is required to install the xkb data files])
+fi
+
+XORG_RELEASE_VERSION
+
+AC_OUTPUT([
+ Makefile
+ semantics/Makefile
+ keycodes/Makefile
+ keycodes/sgi/Makefile
+ keycodes/digital/Makefile
+ keymap/Makefile
+ keymap/sun/Makefile
+ keymap/digital/Makefile
+ keymap/sgi/Makefile
+ geometry/Makefile
+ geometry/digital/Makefile
+ geometry/sgi/Makefile
+ geometry/ibm/Makefile
+ compat/Makefile
+ rules/Makefile
+ symbols/Makefile
+ symbols/pc/Makefile
+ symbols/nec/Makefile
+ symbols/xfree68/Makefile
+ symbols/sony/Makefile
+ symbols/sgi/Makefile
+ symbols/macintosh/Makefile
+ symbols/sun/Makefile
+ symbols/fujitsu/Makefile
+ symbols/digital/Makefile
+ symbols/hp/Makefile
+ torture/Makefile
+ types/Makefile
+])
diff --git a/data/xkbdata/geometry/Makefile.am b/data/xkbdata/geometry/Makefile.am
new file mode 100644
index 000000000..eb850ebdc
--- /dev/null
+++ b/data/xkbdata/geometry/Makefile.am
@@ -0,0 +1,27 @@
+SUBDIRS = digital sgi ibm
+
+xkbdata_geometrydir = $(datadir)/X11/xkb/geometry
+dist_xkbdata_geometry_DATA = \
+ amiga \
+ ataritt \
+ chicony \
+ dell \
+ everex \
+ fujitsu \
+ hp \
+ keytronic \
+ kinesis \
+ macintosh \
+ microsoft \
+ nec \
+ northgate \
+ pc \
+ README \
+ sony \
+ sun \
+ winbook
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = geometry.dir
+
+include $(top_srcdir)/xkbrules.am
diff --git a/data/xkbdata/geometry/Makefile.in b/data/xkbdata/geometry/Makefile.in
new file mode 100644
index 000000000..da9a754a9
--- /dev/null
+++ b/data/xkbdata/geometry/Makefile.in
@@ -0,0 +1,459 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Common rules for building *.dir files in all xkb subdirectories
+# Replaces Imake's MakeXkbDir() rule
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = digital sgi ibm
+
+xkbdata_geometrydir = $(datadir)/X11/xkb/geometry
+dist_xkbdata_geometry_DATA = \
+ amiga \
+ ataritt \
+ chicony \
+ dell \
+ everex \
+ fujitsu \
+ hp \
+ keytronic \
+ kinesis \
+ macintosh \
+ microsoft \
+ nec \
+ northgate \
+ pc \
+ README \
+ sony \
+ sun \
+ winbook
+
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = geometry.dir
+
+MOSTLYCLEANFILES = $(subdir).dir
+subdir = geometry
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_geometry_DATA) $(xkbdata_DATA)
+
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
+ ps-recursive install-info-recursive uninstall-info-recursive \
+ all-recursive install-data-recursive install-exec-recursive \
+ installdirs-recursive install-recursive uninstall-recursive \
+ check-recursive installcheck-recursive
+DIST_COMMON = README $(dist_xkbdata_geometry_DATA) \
+ $(srcdir)/Makefile.in $(top_srcdir)/xkbrules.am Makefile.am
+DIST_SUBDIRS = $(SUBDIRS)
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/xkbrules.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu geometry/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_geometryDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_geometryDATA: $(dist_xkbdata_geometry_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_geometrydir)
+ @list='$(dist_xkbdata_geometry_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_geometryDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_geometrydir)/$$f"; \
+ $(dist_xkbdata_geometryDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_geometrydir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_geometryDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_geometry_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_geometrydir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_geometrydir)/$$f; \
+ done
+xkbdataDATA_INSTALL = $(INSTALL_DATA)
+install-xkbdataDATA: $(xkbdata_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdatadir)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f"; \
+ $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+uninstall-xkbdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdatadir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if (etags --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ else \
+ include_option=--include; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/..
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" \
+ distdir=../$(distdir)/$$subdir \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_geometrydir) $(DESTDIR)$(xkbdatadir)
+
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_xkbdata_geometryDATA install-xkbdataDATA
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_geometryDATA uninstall-info-am \
+ uninstall-xkbdataDATA
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
+ clean-generic clean-recursive ctags ctags-recursive distclean \
+ distclean-generic distclean-recursive distclean-tags distdir \
+ dvi dvi-am dvi-recursive info info-am info-recursive install \
+ install-am install-data install-data-am install-data-recursive \
+ install-dist_xkbdata_geometryDATA install-exec install-exec-am \
+ install-exec-recursive install-info install-info-am \
+ install-info-recursive install-man install-recursive \
+ install-strip install-xkbdataDATA installcheck installcheck-am \
+ installdirs installdirs-am installdirs-recursive \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-recursive mostlyclean mostlyclean-generic \
+ mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
+ ps-recursive tags tags-recursive uninstall uninstall-am \
+ uninstall-dist_xkbdata_geometryDATA uninstall-info-am \
+ uninstall-info-recursive uninstall-recursive \
+ uninstall-xkbdataDATA
+
+
+$(subdir).dir:
+ -rm -f $@
+ $(XKBCOMP) -lfhlpR -o $@ '*'
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/geometry/README b/data/xkbdata/geometry/README
new file mode 100644
index 000000000..245270d2c
--- /dev/null
+++ b/data/xkbdata/geometry/README
@@ -0,0 +1,10 @@
+The geometry component of a keyboard mapping specifies primarily the geometry of
+the keyboard. It contains the geometry symbolic name and the keyboard geometry
+description. The geometry component might also contain aliases for some keys or
+symbolic names for some indicators and might affect the set of indicators that
+are physically present. Key aliases defined in the geometry component of a
+keyboard mapping override those defined in the keycodes component.
+
+
+
+/* $XFree86$ */
diff --git a/data/xkbdata/geometry/amiga b/data/xkbdata/geometry/amiga
new file mode 100644
index 000000000..357c4c0e1
--- /dev/null
+++ b/data/xkbdata/geometry/amiga
@@ -0,0 +1,270 @@
+// $Xorg: amiga,v 1.3 2000/08/17 19:54:35 cpqbld Exp $
+
+
+
+// $XFree86: xc/programs/xkbcomp/geometry/amiga,v 3.2 1997/10/26 13:25:34 dawes Exp $
+
+default xkb_geometry "usa1" {
+
+ description= "Amiga (usa1)";
+ width= 490;
+ height= 175;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "FCTS" { { [ 23,18] }, { [2,1], [ 21,17] } };
+ shape "TLDE" { { [ 28,18] }, { [2,1], [ 21,17] } };
+ shape "TABK" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "CTRL" { { [ 23,18] }, { [2,1], [ 21,17] } };
+ shape "CAPS" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "RTRN" {
+ approx = { [ 16, 0], [42,37] },
+ { [16, 0], [42, 0], [42,37],
+ [ 0,37], [ 0,19], [16,19] },
+ { [18, 1], [40, 1], [40,36],
+ [ 2,36], [ 2,20], [18,20] } };
+ shape "LFSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
+ shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
+ shape "MODK" { { [ 23,18] }, { [2,1], [ 21,17] } };
+ shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
+ shape "DELE" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
+
+ section.left= 22;
+ row.left= 1;
+ key.shape= "FCTS";
+ key.gap= 1;
+ section "Function" {
+ top= 28;
+ row {
+ top= 1;
+ keys { { <ESC>, shape="NORM" },
+ { <FK01>, 9 }, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 9 }, <FK07>, <FK08>, <FK09>, <FK10>
+ };
+ };
+ }; // End of "Function" section
+
+ key.shape= "NORM";
+ section "Alpha" {
+ top= 56;
+ row {
+ top= 1;
+ keys { { <TLDE>, shape="TLDE" },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ <BKSL>, { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN", -15 }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <LCTL>, "CTRL" }, { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ keys { { <LALT>, 10 }, <LAMI>,
+ { <SPCE>, "SPCE" },
+ <RAMI>, <RALT>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 56;
+ left= 326;
+ row {
+ top= 1;
+ key.shape = "DELE";
+ keys { <DELE>, <HELP> };
+ };
+ row {
+ top= 39;
+ left = 20;
+ keys { <UP> };
+ };
+ row {
+ top= 58;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 56;
+ left= 392;
+ row {
+ top= 1;
+ keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6>, <KPAD> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDC> };
+ };
+ }; // End of "Keypad" section
+
+};
+
+xkb_geometry "de" {
+
+ description= "Amiga (de)";
+ width= 490;
+ height= 175;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "FCTS" { { [ 23,18] }, { [2,1], [ 21,17] } };
+ shape "TLDE" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "TABK" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "CTRL" { { [ 23,18] }, { [2,1], [ 21,17] } };
+ shape "CAPS" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "RTRN" {
+ { [ 0, 0], [28,0], [28,37], [5,37], [5,18], [ 0,18] },
+ { [ 2, 1], [26,1], [26,36], [7,36], [7,17], [ 2,17] } };
+ shape "LFSH" { { [ 32,18] }, { [2,1], [ 29,17] } };
+ shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
+ shape "MODK" { { [ 23,18] }, { [2,1], [ 21,17] } };
+ shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
+ shape "DELE" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
+
+ section.left= 22;
+ row.left= 1;
+ key.shape= "FCTS";
+ key.gap= 1;
+ section "Function" {
+ top= 28;
+ row {
+ top= 1;
+ keys { { <ESC>, shape="NORM" },
+ { <FK01>, 9 }, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 9 }, <FK07>, <FK08>, <FK09>, <FK10>
+ };
+ };
+ }; // End of "Function" section
+
+ key.shape= "NORM";
+ section "Alpha" {
+ top= 56;
+ row {
+ top= 1;
+ keys { { <TLDE>, shape="TLDE" },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ <BKSL>, { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <LCTL>, "CTRL" }, { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <AC12>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH" },
+ <LSGT>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ keys { { <LALT>, 14 }, <LAMI>,
+ { <SPCE>, "SPCE" },
+ <RAMI>, <RALT>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 56;
+ left= 326;
+ row {
+ top= 1;
+ key.shape = "DELE";
+ keys { <DELE>, <HELP> };
+ };
+ row {
+ top= 39;
+ left = 20;
+ keys { <UP> };
+ };
+ row {
+ top= 58;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 56;
+ left= 392;
+ row {
+ top= 1;
+ keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6>, <KPAD> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDC> };
+ };
+ }; // End of "Keypad" section
+
+};
diff --git a/data/xkbdata/geometry/ataritt b/data/xkbdata/geometry/ataritt
new file mode 100644
index 000000000..e53cd94c2
--- /dev/null
+++ b/data/xkbdata/geometry/ataritt
@@ -0,0 +1,257 @@
+// $Xorg: ataritt,v 1.3 2000/08/17 19:54:35 cpqbld Exp $
+
+
+
+// $XFree86: xc/programs/xkbcomp/geometry/ataritt,v 3.2 1997/10/26 13:25:34 dawes Exp $
+
+default xkb_geometry "us" {
+
+ description= "Atari TT (us)";
+ width= 480;
+ height= 173;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "RTRN" { approx = { [0,19], [32,37] },
+ { [ 14, 0], [32, 0], [32,37], [0,37], [0,19], [14,19] },
+ { [ 16, 1], [30, 1], [30,36], [2,36], [2,20], [16,20] } };
+ shape "CTRL" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
+ shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
+ shape "FCTS" { { [ 28,10] }, { [2,1], [ 26,9] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
+
+ section.left= 21;
+ row.left= 1;
+ key.shape = "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 36;
+ key.shape= "FCTS";
+ row {
+ top= 1;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>,
+ <FK09>, <FK10>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 63;
+ row {
+ top= 1;
+ keys { <ESC>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, <TLDE>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN", -13 }, <DELE>
+ };
+ };
+ row {
+ top= 39;
+ keys { { <LCTL>, "CTRL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <BKSL>, 34 }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ keys { { <ALT>, 24 },
+ { <SPCE>, "SPCE" },
+ <CAPS>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 63;
+ left= 319;
+ row {
+ top= 1;
+ key.shape = "BKSP";
+ keys { <HELP>, <UNDO> };
+ };
+ row {
+ top= 20;
+ keys { <INS>, <UP>, <HOME> };
+ };
+ row {
+ top= 39;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 63;
+ left= 381;
+ row {
+ top= 1;
+ keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6>, <KPAD> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDC> };
+ };
+ }; // End of "Keypad" section
+
+};
+
+xkb_geometry "de" {
+
+ description= "Atari TT (de)";
+ width= 480;
+ height= 173;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 27,18] }, { [2,1], [ 25,17] } };
+ shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } };
+ shape "RTRN" { approx = { [0,19], [32,37] },
+ { [ 14, 0], [32, 0], [32,37], [0,37], [0,19], [14,19] },
+ { [ 16, 1], [30, 1], [30,36], [2,36], [2,20], [16,20] } };
+ shape "CTRL" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "LFSH" { { [ 23,18] }, { [2,1], [ 21,17] } };
+ shape "RTSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "SPCE" { { [170,18] }, { [2,1], [168,17] } };
+ shape "FCTS" { { [ 28,11] }, { [2,1], [ 26,10] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
+
+ section.left= 21;
+ row.left= 1;
+ key.shape = "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 36;
+ key.shape= "FCTS";
+ row {
+ top= 1;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>,
+ <FK09>, <FK10>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 63;
+ row {
+ top= 1;
+ keys { <ESC>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, <TLDE>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN", -13 }, <DELE>
+ };
+ };
+ row {
+ top= 39;
+ keys { { <LCTL>, "CTRL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <BKSL>, 34 }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH" }, <LSGT>,
+ <AB01>, <AB02>, <AB03>, <AB04>,
+ <AB05>, <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ keys { { <ALT>, 24 }, { <SPCE>, "SPCE" }, <CAPS>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 63;
+ left= 319;
+ row {
+ top= 1;
+ key.shape = "BKSP";
+ keys { <HELP>, <UNDO> };
+ };
+ row {
+ top= 20;
+ keys { <INS>, <UP>, <HOME> };
+ };
+ row {
+ top= 39;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 63;
+ left= 381;
+ row {
+ top= 1;
+ keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6>, <KPAD> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDC> };
+ };
+ }; // End of "Keypad" section
+
+};
diff --git a/data/xkbdata/geometry/chicony b/data/xkbdata/geometry/chicony
new file mode 100644
index 000000000..9bdd15b00
--- /dev/null
+++ b/data/xkbdata/geometry/chicony
@@ -0,0 +1,190 @@
+// -*- indent-tabs-mode: nil -*-
+// $XFree86: xc/programs/xkbcomp/geometry/chicony,v 1.1 2003/05/29 12:41:57 pascal Exp $
+
+// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
+// Geometry specification for Chicony KB-9820 keyboard.
+
+// 86 keys
+default xkb_geometry "us" {
+ description = "Chicony KB-9820 infra-red keyboard";
+ width = 350;
+ height = 180;
+ //baseColor = "grey60";
+ labelColor = "white";
+
+ shape "EDGE" { cornerRadius = 25,
+ { [0, 8], [142.5, 0], [202.5, 0], [347, 8],
+ [347, 60], [327, 100], [322, 160],
+ [202.5, 165], [142.5, 165],
+ [25, 160], [20, 100], [0, 60] } };
+ shape "KEYS" { cornerRadius = 2, { [271, 109] } };
+ shape "MOUS" { cornerRadius = 12, { [24, 24] } };
+ shape "MOUS2" { cornerRadius = 9, { [18, 18] } };
+ shape "BTNS" { cornerRadius = 5, { [10, 10] } };
+
+ solid "Edges" {
+ top = 0;
+ left = 0;
+ shape = "EDGE";
+ color = "grey60";
+ };
+
+ solid "KeyPanel" {
+ shape = "KEYS";
+ left = 38;
+ top = 22;
+ color = "black";
+ };
+
+ solid "Mouse" {
+ shape = "MOUS";
+ left = 315;
+ top = 30;
+ color = "grey30";
+ };
+
+ outline "Mouse2" {
+ shape = "MOUS2";
+ left = 318;
+ top = 33;
+ color = "black";
+ };
+
+ solid "Button1" {
+ shape = "BTNS";
+ left = 10;
+ top = 32;
+ color = "grey30";
+ };
+
+ solid "Button2" {
+ shape = "BTNS";
+ left = 20;
+ top = 42;
+ color = "grey30";
+ };
+
+ outline "Buttons" {
+ shape = "MOUS";
+ left = 8;
+ top = 30;
+ color = "black";
+ };
+
+ shape.cornerRadius = 1;
+ shape "ESC" { { [17, 12] }, { [1.5, 0], [15.5, 10] } };
+ shape "SMALL" { { [15, 12] }, { [1.5, 0], [13.5, 10] } };
+ shape "THIN" { { [14, 18] }, { [2, 0], [12, 15] } };
+ shape "NARR" { { [16, 18] }, { [2, 0], [14, 15] } };
+ shape "NORM" { { [17, 18] }, { [2, 0], [15, 15] } };
+ shape "WIDER" { { [18, 18] }, { [2, 0], [16, 15] } };
+ shape "CAPS" { { [22, 18] }, { [2, 0], [20, 15] } };
+ shape "RTSH" { { [23, 18] }, { [2, 0], [21, 15] } };
+ shape "WIDEST" { { [30, 18] }, { [2, 0], [28, 15] } };
+ shape "SPCE" { { [68, 18] }, { [2, 0], [66, 15] } };
+
+ section "Function" {
+ key.shape = "SMALL";
+ key.gap = 0.79;
+ key.color = "grey60";
+ left = 38;
+ top = 22;
+ row {
+ top = 1;
+ keys { { <ESC>, shape="ESC", 1 },
+ { <FK01>, 1.5 }, <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>,
+ <FK09>, <FK10>, <FK11>, <FK12>,
+ <NMLK>, <PRSC>, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Control" {
+ key.shape = "NORM";
+ key.gap = 1;
+ key.color = "grey60";
+ left = 38;
+ top = 111;
+ row {
+ top = 1;
+ keys { <EASY>, <LCTL>, <LWIN>, <LALT>,
+ { <SPCE>, shape="SPCE" },
+ <RALT>,
+ { <RWIN>, shape="THIN" },
+ { <MENU>, shape="THIN" },
+ { <INS>, shape="THIN" },
+ { <DELE>, shape="THIN" } };
+ };
+ }; // End of "Control" section
+
+ section "Editing" {
+ key.shape = "NORM";
+ key.gap = 1;
+ key.color = "grey60";
+ left = 291;
+ top = 34;
+ row.vertical = True;
+ row {
+ top = 1;
+ keys { <HOME>, <PGUP>, <PGDN>, <END> };
+ };
+ }; // End of "Editing" section
+
+ section "Navigation" {
+ key.gap = 1;
+ key.shape = "NARR";
+ key.color = "grey60";
+ left = 257;
+ top = 92;
+ row {
+ left = 16;
+ top = 1;
+ keys { <UP> };
+ };
+ row {
+ top = 20;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Navigation" section
+
+ section "Alpha" {
+ key.gap = 1;
+ key.shape = "NORM";
+ key.color = "grey60";
+ left = 38;
+ top = 35;
+ row {
+ top = 1;
+ keys { { <TLDE>, shape="NARR" },
+ <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, { <BKSP>, shape="WIDER" }
+ };
+ };
+ row {
+ top = 20;
+ keys { <TAB>,
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, <AD13>
+ };
+ };
+ row {
+ top = 39;
+ keys { { <CAPS>, shape="CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, shape="WIDEST" }
+ };
+ };
+ row {
+ top = 58;
+ keys { { <LFSH>, shape="WIDEST" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, shape="RTSH" }
+ };
+ };
+ }; // End of "Alpha" section
+};
diff --git a/data/xkbdata/geometry/dell b/data/xkbdata/geometry/dell
new file mode 100644
index 000000000..935bccaa6
--- /dev/null
+++ b/data/xkbdata/geometry/dell
@@ -0,0 +1,185 @@
+// $Xorg: dell,v 1.4 2001/02/09 02:05:49 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86$
+//
+default xkb_geometry "dell101" {
+
+ description= "Dell 101";
+ width= 470;
+ height= 210;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
+ shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
+ shape "CAPS" { { [ 33,18] }, { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
+ shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
+ shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
+ shape "SPCE" { { [133,18] }, { [2,1], [131,16] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
+
+ shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 52;
+ left= 377;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 67;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 382; };
+ indicator "Caps Lock" { left= 407; };
+ indicator "Scroll Lock" { left= 433; };
+ text.top= 55;
+ text.color= "black";
+ text "NumLockLabel" { left= 378; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 52;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 91;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN", color="grey20" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 21 },
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>, { <RCTL>, 21 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 91;
+ left= 312;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 91;
+ left= 376;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "default" geometry
diff --git a/data/xkbdata/geometry/digital/Makefile.am b/data/xkbdata/geometry/digital/Makefile.am
new file mode 100644
index 000000000..8bb776551
--- /dev/null
+++ b/data/xkbdata/geometry/digital/Makefile.am
@@ -0,0 +1,5 @@
+xkbdata_geometry_digitaldir = $(datadir)/X11/xkb/geometry/digital
+dist_xkbdata_geometry_digital_DATA = \
+ lk \
+ pc \
+ unix
diff --git a/data/xkbdata/geometry/digital/Makefile.in b/data/xkbdata/geometry/digital/Makefile.in
new file mode 100644
index 000000000..1fbb211a9
--- /dev/null
+++ b/data/xkbdata/geometry/digital/Makefile.in
@@ -0,0 +1,261 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_geometry_digitaldir = $(datadir)/X11/xkb/geometry/digital
+dist_xkbdata_geometry_digital_DATA = \
+ lk \
+ pc \
+ unix
+
+subdir = geometry/digital
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_geometry_digital_DATA)
+
+DIST_COMMON = $(dist_xkbdata_geometry_digital_DATA) \
+ $(srcdir)/Makefile.in Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu geometry/digital/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_geometry_digitalDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_geometry_digitalDATA: $(dist_xkbdata_geometry_digital_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_geometry_digitaldir)
+ @list='$(dist_xkbdata_geometry_digital_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_geometry_digitalDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_geometry_digitaldir)/$$f"; \
+ $(dist_xkbdata_geometry_digitalDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_geometry_digitaldir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_geometry_digitalDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_geometry_digital_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_geometry_digitaldir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_geometry_digitaldir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_geometry_digitaldir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_geometry_digitalDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_geometry_digitalDATA \
+ uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_geometry_digitalDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_geometry_digitalDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/geometry/digital/lk b/data/xkbdata/geometry/digital/lk
new file mode 100644
index 000000000..1ccd33163
--- /dev/null
+++ b/data/xkbdata/geometry/digital/lk
@@ -0,0 +1,730 @@
+// $Xorg: lk,v 1.3 2000/08/17 19:54:36 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log: lk,v
+// Revision 1.2 1996/06/18 09:12:47 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.2 1995/08/18 21:15:16 William_Walker
+// Upgrade XKB to Protocol Rev. 0.64
+// [1995/08/18 20:41:46 William_Walker]
+//
+// Revision 1.1.2.5 1995/08/11 19:35:47 William_Walker
+// Sync up with Erik's pool.
+// [1995/08/11 18:35:58 William_Walker]
+//
+// Revision 1.1.2.4 1995/06/27 12:17:28 William_Walker
+// Rename <TLDE> to ISO9995 compliant <AE00>.
+// [1995/06/26 20:23:07 William_Walker]
+//
+// Revision 1.1.2.3 1995/06/09 20:54:36 William_Walker
+// Add VT105 layout support and ISO group support
+// [1995/06/09 20:40:38 William_Walker]
+//
+// Revision 1.1.2.2 1995/06/05 19:21:16 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:05:43 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: lk,v Revision: 1.2 (DEC) Date: 1996/01/24 12:16:00
+//
+xkb_geometry "lk201" {
+ width = 530;
+ height = 170;
+ shape.cornerRadius = 1;
+
+ shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
+ shape "RTRN" {
+ approx = { [0,0],[23,19] },
+ { [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
+ { [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
+ };
+ shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
+ shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
+ shape "MED" { { [28,19] }, { [3,2], [25,16] } };
+ shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
+ shape "SPCE" { { [171,19] },{ [3,2], [168,16]} };
+ shape "LEDS" { [ 30,15] };
+ shape "LED" { [ 5, 2] };
+
+ section.left= 27;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ section "Function" { top = 20;
+ row { top = 1;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 19 }, <FK07>, <FK08>, <FK09>, <FK10>,
+ { <FK11>, 19 }, <FK12>, <FK13>, <FK14>,
+ { <FK17>, 98 }, <FK18>, <FK19>, <FK20>
+ };
+ };
+ };
+
+ section "Editing" { top = 20; left = 350;
+ row { top = 1;
+ keys { <HELP>, { <DO>, "LONG" } };
+ };
+ row { top = 41;
+ keys { <FIND>, <INS>, <DELE> };
+ };
+ row { top = 61;
+ keys { <SELE>, <PGUP>, <PGDN> };
+ };
+ row { top = 81; left = 20;
+ keys { <UP> };
+ };
+ row { top = 101;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ };
+
+ section "Keypad" { top = 60; left = 426;
+ row { top = 1;
+ keys { <KPF1>, <KPF2>, <KPF3>, <KPF4> };
+ };
+ row { top = 21;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row { top = 41;
+ keys { <KP4>, <KP5>, <KP6>, <KPCO> };
+ };
+ row { top = 61;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
+ };
+ row { top = 81;
+ keys { { <KP0>, "LONG" }, <KPDL> };
+ };
+ };
+
+ section "Alpha" { top = 60;
+ row { top = 1; left = 15;
+ keys { <AE00>,
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "MED" }
+ };
+ };
+ row { top = 21; left = 15;
+ keys { { <TAB>, "MED" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <RTRN>, "RTRN" }
+ };
+
+ };
+ row { top = 41;
+ keys { <LCTL>,
+ { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
+ };
+ };
+ row { top = 61;
+ keys { { <LFSH>, "LONG" },
+ <AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "LONG" }
+ };
+ };
+ row { top = 81; left = 26;
+ keys { { <LCMP>, "LONG" },
+ { <SPCE>, "SPCE" }
+ };
+ };
+ };
+
+ section.left = 341;
+ section.top = 3;
+
+ section "Indicators" {
+ indicator.onColor = "#00ff00";
+ indicator.offColor= "#001000";
+ indicator.top = 10;
+ indicator.shape= "LED";
+ indicator "Scroll Lock" { left = 9; };
+ indicator "Caps Lock" { left = 27; };
+ indicator "Compose" { left = 45; };
+ indicator "Wait" { left = 63; };
+ text.top = 4;
+ text.color = "black";
+ text "HoldScreenLabel" {left = 5; text="Hold\n"; };
+ text "CapsLockLabel" {left = 23; text="Lock\n"; };
+ text "ComposeLabel" {left = 37; text="Compose\n"; };
+ text "WaitLabel" {left = 60; text="Wait\n"; };
+ };
+};
+
+xkb_geometry "lk401" {
+
+ width = 480;
+ height = 180;
+ shape.cornerRadius = 1;
+
+ shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
+ shape "RTRN" {
+ approx = { [0,0],[23,19] },
+ { [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
+ { [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
+ };
+ shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
+ shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
+ shape "MED" { { [28,19] }, { [3,2], [25,16] } };
+ shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
+ shape "SPCE" { { [131,19] },{ [3,2], [128,16]} };
+ shape "LEDS" { [ 36,15] };
+ shape "LED" { [ 5, 2] };
+
+ section.left= 17;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ text "Logo" {left = 20; top = 10; text="digital\n"; };
+
+ section "Function" { top = 20;
+ row { top = 1;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 15 }, <FK07>, <FK08>, <FK09>, <FK10>,
+ { <FK11>, 15 }, <FK12>, <FK13>, <FK14>,
+ { <FK17>, 75 }, <FK18>, <FK19>, <FK20>
+ };
+ };
+ };
+
+ section "Editing" { top = 20; left = 320;
+ row { top = 1;
+ keys { <HELP>, { <DO>, "LONG" } };
+ };
+ row { top = 41;
+ keys { <FIND>, <INS>, <DELE> };
+ };
+ row { top = 61;
+ keys { <SELE>, <PGUP>, <PGDN> };
+ };
+ row { top = 81; left= 20;
+ keys { <UP> };
+ };
+ row { top = 101;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ };
+
+ section "Keypad" { top = 60; left = 385;
+ row { top = 1;
+ keys { <KPF1>, <KPF2>, <KPF3>, <KPF4> };
+ };
+ row {
+ top = 21;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row { top = 41;
+ keys { <KP4>, <KP5>, <KP6>, <KPCO> };
+ };
+ row { top = 61;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
+ };
+ row { top = 81;
+ keys { { <KP0>, "LONG" }, <KPDL> };
+ };
+ };
+
+ section "Alpha" { top = 60;
+ row { top = 1; left = 15;
+ keys { <AE00>,
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "MED" }
+ };
+ };
+ row { top = 21; left = 15;
+ keys { { <TAB>, "MED" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <RTRN>, "RTRN" }
+ };
+
+ };
+ row { top = 41;
+ keys { <LCTL>,
+ { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
+ };
+ };
+ row { top = 61;
+ keys { { <LFSH>, "LONG" },
+ <AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "LONG" }
+ };
+ };
+ row { top = 81; left = 29;
+ keys { { <LCMP>, "MED" },
+ { <LALT>, "MED" },
+ { <SPCE>, "SPCE" },
+ { <RALT>, "MED" },
+ { <RCMP>, "MED" }
+ };
+ };
+ };
+
+ section.left = 69;
+ section.top = 3;
+ section "Indicators" {
+ solid "led_panel" { top = 0; left = 0;
+ cornerRadius = 1;
+ shape = "LEDS";
+ color = "grey";
+ };
+ indicator.onColor = "#00ff00";
+ indicator.offColor= "#001000";
+ indicator.shape = "LED";
+ indicator.top = 1;
+ indicator "Scroll Lock" { left = 3; };
+ indicator "Caps Lock" { left = 22; };
+ };
+ section "IndicatorLabels" {
+ text.top = 4;
+ text.color = "black";
+ text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
+ text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
+ };
+};
+
+xkb_geometry "lk450" {
+
+ width = 480;
+ height = 180;
+ shape.cornerRadius = 1;
+
+ shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
+ shape "RTRN" {
+ approx = { [0,0],[23,19] },
+ { [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
+ { [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
+ };
+ shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
+ shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
+ shape "MED" { { [28,19] }, { [3,2], [25,16] } };
+ shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
+ shape "SPCE" { { [131,19] },{ [3,2], [128,16]} };
+ shape "LEDS" { [ 36,15] };
+ shape "LED" { [ 5, 2] };
+
+ section.left= 17;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ text "Logo" {left = 20; top = 10; text="digital\n"; };
+
+ section "Function" { top = 20;
+ row { top = 1;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 15 }, <FK07>, <FK08>, <FK09>, <FK10>,
+ { <FK11>, 15 }, <FK12>, <FK13>, <FK14>,
+ { <FK17>, 75 }, <FK18>, <FK19>, <FK20>
+ };
+ };
+ };
+
+ section "Editing" { top = 20; left = 320;
+ row { top = 1;
+ keys { <HELP>, { <DO>, "LONG" } };
+ };
+ row { top = 41;
+ keys { <FIND>, <INS>, <DELE> };
+ };
+ row { top = 61;
+ keys { <SELE>, <PGUP>, <PGDN> };
+ };
+ row { top = 81; left= 20;
+ keys { <UP> };
+ };
+ row { top = 101;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ };
+
+ section "Keypad" { top = 60; left = 385;
+ row { top = 1;
+ keys { <KPF1>, <KPF2>, <KPF3>, <KPF4> };
+ };
+ row {
+ top = 21;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row { top = 41;
+ keys { <KP4>, <KP5>, <KP6>, <KPCO> };
+ };
+ row { top = 61;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
+ };
+ row { top = 81;
+ keys { { <KP0>, "LONG" }, <KPDL> };
+ };
+ };
+
+ section "Alpha" { top = 60;
+ row { top = 1; left = 15;
+ keys { <AE00>,
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "MED" }
+ };
+ };
+ row { top = 21; left = 15;
+ keys { { <TAB>, "MED" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <RTRN>, "RTRN" }
+ };
+
+ };
+ row { top = 41;
+ keys { <LCTL>,
+ { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
+ };
+ };
+ row { top = 61;
+ keys { { <LFSH>, "LONG" },
+ <AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "LONG" }
+ };
+ };
+ row { top = 81; left = 29;
+ keys { { <LCMP>, "MED" },
+ { <LALT>, "MED" },
+ { <SPCE>, "SPCE" },
+ { <RALT>, "MED" },
+ { <RCMP>, "MED" }
+ };
+ };
+ };
+
+ section.left = 69;
+ section.top = 3;
+ section "Indicators" {
+ solid "led_panel" { top = 0; left = 0;
+ cornerRadius = 1;
+ shape = "LEDS";
+ color = "grey";
+ };
+ indicator.onColor = "#00ff00";
+ indicator.offColor= "#001000";
+ indicator.shape = "LED";
+ indicator.top = 1;
+ indicator "Scroll Lock" { left = 3; };
+ indicator "Caps Lock" { left = 22; };
+ };
+ section "IndicatorLabels" {
+ text.top = 4;
+ text.color = "black";
+ text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
+ text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
+ };
+};
+
+xkb_geometry "lk401bj"
+{
+ width = 480;
+ height = 180;
+ shape.cornerRadius = 1;
+
+ shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
+ shape "RTRN" {
+ approx = { [0,0],[23,19] },
+ { [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] },
+ { [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] }
+ };
+ shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
+ shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
+ shape "MED" { { [28,19] }, { [3,2], [25,16] } };
+ shape "CAPS" { { [28,19] }, { [3,2], [18,16] } };
+ shape "SPCE" { { [131,19] },{ [3,2], [128,16]} };
+ shape "LEDS" { [ 30,15] };
+ shape "LED" { [ 5, 2] };
+
+ section.left= 17;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ text "Logo" {left = 20; top = 10; text="digital\n"; };
+
+ section "Function" { top = 20;
+ row { top = 1;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 15 }, <FK07>, <FK08>, <FK09>, <FK10>,
+ { <FK11>, 15 }, <FK12>, <FK13>, <FK14>,
+ { <FK17>, 75 }, <FK18>, <FK19>, <FK20>
+ };
+ };
+ };
+
+ section "Editing" { top = 20; left = 320;
+ row { top = 1;
+ keys { <HELP>, { <DO>, "LONG" } };
+ };
+ row { top = 41;
+ keys { <FIND>, <INS>, <DELE> };
+ };
+ row { top = 61;
+ keys { <SELE>, <PGUP>, <PGDN> };
+ };
+ row { top = 81; left = 20;
+ keys { <UP> };
+ };
+ row { top = 101;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ };
+
+ section "Keypad" { top = 60; left = 385;
+ row { top = 1;
+ keys { <PF1>, <PF2>, <PF3>, <PF4> };
+ };
+ row { top = 21;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row { top = 41;
+ keys { <KP4>, <KP5>, <KP6>, <KPCO> };
+ };
+ row { top = 61;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
+ };
+ row { top = 81;
+ keys { { <KP0>, "LONG" }, <KPDL> };
+ };
+ };
+
+ section "Alpha" { top = 60;
+ row { top = 1; left = 15;
+ keys { <AE00>,
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "MED" }
+ };
+ };
+ row { top = 21; left = 15;
+ keys { { <TAB>, "MED" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row { top = 41;
+ keys { <LCTL>,
+ { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
+ };
+ };
+ row { top = 61;
+ keys { { <LFSH>, "LONG" },
+ <AB00>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "LONG" }
+ };
+ };
+ row { top = 81; left = 29;
+ keys { { <LCMP>, "MED" },
+ { <LALT>, "MED" },
+ { <SPCE>, "SPCE" },
+ { <RALT>, "MED" },
+ { <RCMP>, "MED" }
+ };
+ };
+ };
+
+ section.left = 69;
+ section.top = 3;
+
+ section "Indicators" {
+ solid "led_panel" { top = 0; left = 0;
+ cornerRadius = 1;
+ shape = "LEDS";
+ color = "grey";
+ };
+ indicator.onColor = "#00ff00";
+ indicator.offColor= "#001000";
+ indicator.top = 1;
+ indicator.shape= "LED";
+ indicator "Scroll Lock" { left = 3; };
+ indicator "Caps Lock" { left = 22; };
+ text.top = 4;
+ text.color = "black";
+ text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
+ text "CapsLockLabel" {left = 19; text="Caps\nLock"; };
+ };
+};
+
+xkb_geometry "lk401jj" {
+
+ width = 460;
+ height = 180;
+ shape.cornerRadius = 1;
+
+ shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
+ shape "RTRN" {
+ approx = { [0,0],[28,23] },
+ { [0,0], [28,0], [28,39], [5,39], [5,19], [0,19] },
+ { [3,2], [25,2], [25,36], [8,36], [8,16], [3,16] }
+ };
+ shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
+ shape "LONG1" { { [32,19] }, { [3,2], [29,16] } };
+ shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
+ shape "MED" { { [28,19] }, { [3,2], [25,16] } };
+ shape "MED1" { { [23,19] }, { [3,2], [20,16] } };
+ shape "CTRL" { { [43,19] }, { [3,2], [38,16] } };
+ shape "SPCE" { { [55,19] },{ [3,2], [53,16]} };
+ shape "LEDS" { [ 56,15] };
+ shape "LED" { [ 5, 2] };
+
+ section.left = 5;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ text "Logo" {left = 7; top = 10; text="digital\n"; };
+
+ section "Function" { top = 40;
+ row { top = 1;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 18 }, <FK07>, <FK08>, <FK09>, <FK10>,
+ { <FK11>, 18 }, <FK12>, <FK13>, <FK14>,
+ { <FK17>, 73 }, <FK18>, <FK19>, <FK20>
+ };
+ };
+ };
+
+ section "Editing" { top = 40; left = 313;
+ row { top = 1;
+ keys { <HELP>, { <DO>, "LONG" } };
+ };
+ row { top = 31;
+ keys { <FIND>, <INS>, <DELE> };
+ };
+ row { top = 51;
+ keys { <SELE>, <PGUP>, <PGDN> };
+ };
+ row { top = 71; left= 20;
+ keys { <UP> };
+ };
+ row { top = 91;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ };
+
+ section "Keypad" { top = 70; left = 377;
+ row { top = 1;
+ keys { <PF1>, <PF2>, <PF3>, <PF4> };
+ };
+ row { top = 21;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row { top = 41;
+ keys { <KP4>, <KP5>, <KP6>, <KPCO> };
+ };
+ row { top = 61;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "TALL" } };
+ };
+ row { top = 81;
+ keys { { <KP0>, "LONG" }, <KPDL> };
+ };
+ };
+
+ section "Alpha" { top = 70;
+ row { top = 1; left = 7;
+ keys { { <AE00>, "MED1" },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ <AB00>, { <BKSP>, "MED1" }
+ };
+ };
+ row { top = 21; left = 7;
+ keys { { <TAB>, "LONG1" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row { top = 41;
+ keys { { <LCTL>, "CTRL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
+ };
+ };
+ row { top = 61;
+ keys { <CAPS>, { <LFSH>, "LONG1" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ <AB11>, { <RTSH>, "MED" }
+ };
+ };
+ row { top = 81; left = 7;
+ keys { { <LCMP>, "LONG" },
+ { <LALT>, "LONG" },
+ { <MUHE>, "LONG" },
+ { <SPCE>, "SPCE" },
+ { <KANJ>, "LONG" },
+ { <HIRA>, "LONG" },
+ <RALT>, <RCMP>
+ };
+ };
+ };
+
+ section.left = 315;
+ section.top = 20;
+
+ section "Indicators" {
+ solid "led_panel" { top = 0; left = 0;
+ cornerRadius = 1;
+ shape = "LEDS";
+ color = "grey";
+ };
+ indicator.onColor = "#00ff00";
+ indicator.offColor= "#001000";
+ indicator.top = 11;
+ indicator.shape= "LED";
+ indicator "Scroll Lock" { left = 6; };
+ indicator "Caps Lock" { left = 26; };
+ text.top = 4;
+ text.color = "black";
+ text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
+ text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
+ };
+};
+
diff --git a/data/xkbdata/geometry/digital/pc b/data/xkbdata/geometry/digital/pc
new file mode 100644
index 000000000..1529ed204
--- /dev/null
+++ b/data/xkbdata/geometry/digital/pc
@@ -0,0 +1,350 @@
+// $Xorg: pc,v 1.3 2000/08/17 19:54:36 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log: pc,v
+// Revision 1.2 1996/06/18 09:12:50 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.2 1995/08/18 21:15:18 William_Walker
+// Upgrade XKB to Protocol Rev. 0.64
+// [1995/08/18 20:41:49 William_Walker]
+//
+// Revision 1.1.2.4 1995/08/11 19:35:48 William_Walker
+// Sync up with Erik's pool.
+// [1995/08/11 18:36:03 William_Walker]
+//
+// Revision 1.1.2.3 1995/06/27 12:17:29 William_Walker
+// Rename <TLDE> to ISO9995 compliant <AE00>.
+// [1995/06/26 20:23:10 William_Walker]
+//
+// Revision 1.1.2.2 1995/06/05 19:21:19 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:05:51 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: pc,v Revision: 1.2 (DEC) Date: 1996/02/02 14:40:25
+//
+partial xkb_geometry "common" {
+ width = 480;
+ height = 200;
+
+ shape.cornerRadius = 1;
+ shape "NORM" { primary = { [18,19] }, { [3,2], [15,16] } };
+ shape "KP0" { primary = { [37,19] }, { [3,2], [34,16] } };
+ shape "KPAD" { primary = { [18,39] }, { [3,2], [15,36] } };
+ shape "LEDS" { [78,22] };
+ shape "LED" { [5,2] };
+
+ text.color = "black";
+ section.left = 17;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ section "Function" { top = 40;
+ row { top = 1;
+ keys { <ESC>,
+ { <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 10 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 10 }, <FK10>, <FK11>, <FK12>
+ };
+ };
+ };
+
+ section "Editing" { top = 40; left = 308;
+ row { top = 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row { top = 41;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row { top = 61;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row { top = 101; left = 20;
+ keys { <UP> };
+ };
+ row { top = 121;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ };
+
+ section "Keypad" { top = 80; left = 374;
+ row { top = 1;
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row { top = 21;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } };
+ };
+ row { top = 41;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row { top = 61;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } };
+ };
+ row { top = 81;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ };
+};
+
+partial xkb_geometry "leds_on_keys" {
+ section.top = 40;
+ section.left = 17;
+ section "LedPanel" {
+ indicator.onColor = "#00ff00";
+ indicator.offColor = "#001000";
+ indicator.shape = "LED";
+ indicator "Scroll Lock" { left = 317; top = 5; };
+ indicator "Num Lock" { left = 364; top = 45; };
+ indicator "Caps Lock" { left = 10; top = 85; };
+ };
+
+ section.left = 375;
+ section.top = 40;
+ section "LogoPanel" {
+ solid "logo_panel" { top = 0; left = 0;
+ shape = "LEDS";
+ color = "grey";
+ };
+ text "Logo" {left = 28; top = 10; text="digital\n"; };
+ };
+};
+
+partial xkb_geometry "leds_alone" {
+ section.left = 375;
+ section.top = 40;
+ section "Indicators" {
+ solid "led_panel" { top = 0; left = 0;
+ shape = "LEDS";
+ color = "grey";
+ };
+ indicator.top = 16;
+ indicator.onColor = "#00ff00";
+ indicator.offColor = "#001000";
+ indicator.shape = "LED";
+ indicator "Num Lock" { left = 3; };
+ indicator "Caps Lock" { left = 26; };
+ indicator "Scroll Lock" { left = 50; };
+ text "Logo" {left = 2; top = 3; text="digital\n"; };
+ };
+ section "IndicatorLabels" {
+ text.top = 11;
+ text "NumLockLabel" {left = 10; text="Num\nLock"; };
+ text "CapsLockLabel" {left = 33; text="Caps\nLock"; };
+ text "ScrollLockLabel" {left = 58; text="Scroll\nLock"; };
+ };
+};
+
+xkb_geometry "pc101" {
+ include "digital/pc(common)"
+
+ shape.cornerRadius = 1;
+ shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } };
+ shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } };
+ shape "RTRN" { primary = { [41,19] }, { [3,2], [38,16] } };
+ shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } };
+ shape "LFSH" { primary = { [41,19] }, { [3,2], [38,16] } };
+ shape "RTSH" { primary = { [51,19] }, { [3,2], [49,16] } };
+ shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } };
+ shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } };
+ shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} };
+
+ section.left = 17;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ section "Alpha" { top = 80;
+ row { top = 1;
+ keys { <AE00>,
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row { top = 21;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <BKSL>, "BKSL" }
+ };
+
+ };
+ row { top = 41;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row { top = 61;
+ keys { { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>,
+ <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row { top = 81;
+ key.shape = "MODK";
+ keys { <LCTL>,
+ { <LALT>, 20 },
+ { <SPCE>, "SPCE" },
+ <RALT>,
+ { <RCTL>, 21 }
+ };
+ };
+ };
+};
+
+xkb_geometry "pc102" {
+ include "digital/pc(common)"
+
+ shape.cornerRadius = 1;
+ shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } };
+ shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } };
+ shape "RTRN" {
+ approx = { [0,0],[28,19] },
+ { [0,0], [27,0], [27,39], [5,39], [5,19], [0,19] },
+ { [3,2], [24,2], [24,36], [8,36], [8,16], [3,16] }
+ };
+ shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } };
+ shape "LFSH" { primary = { [22,19] }, { [3,2], [19,16] } };
+ shape "RTSH" { primary = { [51,19] }, { [3,2], [49,16] } };
+ shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } };
+ shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } };
+ shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} };
+
+ section.left = 17;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ section "Alpha" { top = 80;
+ row { top = 1;
+ keys { <AE00>,
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row { top = 21;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <RTRN>, "RTRN" }
+ };
+
+ };
+ row { top = 41;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <AC12>
+ };
+ };
+ row { top = 61;
+ keys { { <LFSH>, "LFSH" },
+ <BKSL>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row { top = 81;
+ key.shape = "MODK";
+ keys { <LCTL>,
+ { <LALT>, 20 },
+ { <SPCE>, "SPCE" },
+ <RALT>,
+ { <RCTL>, 21 }
+ };
+ };
+ };
+};
+
+xkb_geometry "pcxaj" {
+ include "digital/pc(common)"
+
+ shape.cornerRadius = 1;
+ shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } };
+ shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } };
+ shape "RTRN" { primary = { [22,19] }, { [3,2], [19,16] } };
+ shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } };
+ shape "LFSH" { primary = { [41,19] }, { [3,2], [38,16] } };
+ shape "RTSH" { primary = { [32,19] }, { [3,2], [29,16] } };
+ shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } };
+ shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } };
+ shape "SPCE" { primary = { [114,19]}, { [3,2], [111,16]} };
+
+ section.left = 17;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ section "Alpha" { top = 80;
+ row { top = 1;
+ keys { <AE00>,
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row { top = 21;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <BKSL>, "BKSL" }
+ };
+ };
+ row { top = 41;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <AC12>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row { top = 61;
+ keys { { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>,
+ <AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row { top = 81;
+ key.shape = "MODK";
+ keys { <LCTL>, <LALT>,
+ { <MUHE>, "NORM" },
+ { <SPCE>, "SPCE" },
+ { <KANJ>, "NORM" },
+ { <HIRA>, "NORM" },
+ <RALT>, <RCTL>
+ };
+ };
+ };
+};
diff --git a/data/xkbdata/geometry/digital/unix b/data/xkbdata/geometry/digital/unix
new file mode 100644
index 000000000..2ca477e82
--- /dev/null
+++ b/data/xkbdata/geometry/digital/unix
@@ -0,0 +1,230 @@
+// $Xorg: unix,v 1.3 2000/08/17 19:54:36 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log: unix,v
+// Revision 1.2 1996/06/18 09:12:53 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.2.3 1995/06/27 12:17:30 William_Walker
+// Rename <TLDE> to ISO9995 compliant <AE00>.
+// [1995/06/26 20:23:12 William_Walker]
+//
+// Revision 1.1.2.2 1995/06/05 19:21:23 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:05:56 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: unix,v Revision: 1.2 (DEC) Date: 1996/01/24 12:16:
+//
+xkb_geometry "unix" {
+
+ width = 340;
+ height = 160;
+ shape.cornerRadius = 1;
+
+ shape "NORM" { primary = { [18,19] }, { [3,2], [15,16] } };
+ shape "AE00" { primary = { [28,19] }, { [3,2], [25,16] } };
+ shape "BKSP" { primary = { [46,19] }, { [3,2], [43,16] } };
+ shape "TABK" { primary = { [37,19] }, { [3,2], [34,16] } };
+ shape "CTRL" { primary = { [46,19] }, { [3,2], [43,16] } };
+ shape "RTRN" { primary = { [46,19] }, { [3,2], [43,16] } };
+ shape "SHFT" { primary = { [56,19] }, { [3,2], [53,16] } };
+ shape "MODK" { primary = { [37,19] }, { [3,2], [34,16] } };
+ shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} };
+
+ section.left= 17;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ text.color = "black";
+ text "Logo" {left = 20; top = 10; text="digital\n"; };
+
+ section "Function" { top = 30;
+ row { top = 1;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 20 }, <FK07>, <FK08>, <FK09>, <FK10>,
+ { <LEFT>, 20 }, <DOWN>, <UP>, <RGHT>
+ };
+ };
+ };
+
+ section "Alpha" { top = 50;
+ row { top = 1;
+ keys { { <AE00>, "AE00" },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row { top = 21;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ <BKSL>, <AB00>
+ };
+
+ };
+ row { top = 41; left = -4;
+ keys { { <LCTL>, "CTRL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row { top = 61; left = -4;
+ keys { { <LFSH>, "SHFT" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, <AB06>,
+ <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "SHFT" }
+ };
+ };
+ solid "ExtendKey" { top = 81; left= 1;
+ shape= "NORM";
+ color= "grey20";
+ };
+ text.top = 89;
+ text.color = "black";
+ text "ExtendLabel" {left = 6; text="Ext\nend"; };
+ row { top = 81; left = 19;
+ key.shape = "MODK";
+ keys { { <LCMP>, "NORM" }, <LALT>,
+ { <SPCE>, "SPCE" },
+ <RALT>, <RCMP>
+ };
+ };
+ };
+};
+
+xkb_geometry "lk421jj" {
+
+ width = 315;
+ height = 170;
+ shape.cornerRadius = 1;
+
+ shape "NORM" { { [18,19] }, { [3,2], [15,16] } };
+ shape "RTRN" {
+ approx = { [0,0],[28,23] },
+ { [0,0], [28,0], [28,39], [5,39], [5,19], [0,19] },
+ { [3,2], [25,2], [25,36], [8,36], [8,16], [3,16] }
+ };
+ shape "LONG" { { [37,19] }, { [3,2], [34,16] } };
+ shape "LONG1" { { [32,19] }, { [3,2], [29,16] } };
+ shape "TALL" { { [18,39] }, { [3,2], [15,36] } };
+ shape "MED" { { [23,19] }, { [3,2], [20,16] } };
+ shape "CTRL" { { [43,19] }, { [3,2], [38,16] } };
+ shape "SPCE" { { [55,19] },{ [3,2], [53,16]} };
+ shape "LEDS" { [ 56,15] };
+ shape "LED" { [ 5, 2] };
+
+ section.left = 5;
+ row.left = 1;
+ key.shape = "NORM";
+ key.gap = 1;
+
+ text "Logo" {left = 7; top = 10; text="digital\n"; };
+
+ section "Function" { top = 45;
+ row { top = 1; left = 7;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 18 }, <FK07>, <FK08>, <FK09>, <FK10>
+ };
+ };
+ };
+
+ section "Editing" { top = 45; left= 230;
+ row { top = 1;
+ keys { <LEFT>, <DOWN>, <UP>, <RGHT> };
+ };
+ };
+
+ section "Alpha" { top = 65;
+ row { top = 1; left = 7;
+ keys { { <AE00>, "MED" },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ <AB00>, { <BKSP>, "MED" }
+ };
+ };
+ row { top = 21; left = 7;
+ keys { { <TAB>, "LONG1" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row { top = 41;
+ keys { { <LCTL>, "CTRL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>, <AC06>,
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>, <BKSL>
+ };
+ };
+ row { top = 61;
+ keys { <CAPS>, { <LFSH>, "LONG1" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ <AB11>, { <RTSH>, "LONG1" }
+ };
+ };
+ row { top = 81; left = 7;
+ keys { <AA00>, <LCMP>,
+ { <LALT>, "LONG" },
+ { <MUHE>, "LONG" },
+ { <SPCE>, "SPCE" },
+ { <KANJ>, "LONG" },
+ { <HIRA>, "LONG" },
+ <RALT>, <RCMP>
+ };
+ };
+ };
+
+ section.left = 233;
+ section.top = 20;
+
+ section "Indicators" {
+ solid "led_panel" { top = 0; left = 0;
+ cornerRadius = 1;
+ shape = "LEDS";
+ color = "grey";
+ };
+ indicator.onColor = "#00ff00";
+ indicator.offColor= "#001000";
+ indicator.top = 11;
+ indicator.shape= "LED";
+ indicator "Scroll Lock" { left = 6; };
+ indicator "Caps Lock" { left = 26; };
+ text.top = 3;
+ text.color = "black";
+ text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; };
+ text "CapsLockLabel" {left = 22; text="Caps\nLock"; };
+ };
+};
+
+
diff --git a/data/xkbdata/geometry/everex b/data/xkbdata/geometry/everex
new file mode 100644
index 000000000..5be3266bf
--- /dev/null
+++ b/data/xkbdata/geometry/everex
@@ -0,0 +1,174 @@
+// $Xorg: everex,v 1.3 2000/08/17 19:54:35 cpqbld Exp $
+//
+// $XFree86$
+//
+default xkb_geometry "STEPnote" {
+
+ description= "Everex STEPnote";
+ width= 281;
+ height= 150;
+
+ shape.cornerRadius= 1;
+
+ shape "NORM" {
+ { [17,17] },
+ { [ 2, 1], [ 15, 15 ] }
+ };
+ shape "NARR" {
+ { [ 15, 17 ] },
+ { [ 2, 1 ], [ 13, 15 ] }
+ };
+ shape "FKEY" {
+ { [ 15.1, 15.5 ] },
+ { [ 1, 1 ], [ 14.1, 14.5 ] }
+ };
+ shape "ESC" {
+ { [ 16.4, 15.5 ] },
+ { [ 1, 1 ], [ 14.1, 14.5 ] }
+ };
+ shape "WIDE" { // backspace, tab and Fn
+ { [ 25, 17 ] },
+ { [ 2, 1 ], [ 23, 15 ] }
+ };
+ shape "RTRN" {
+ { [ 27.5, 17 ] },
+ { [ 2, 1 ], [ 25.5, 15 ] }
+ };
+ shape "CAPS" {
+ { [ 30, 17 ] },
+ { [ 2, 1 ], [ 28, 15 ] }
+ };
+ shape "LFSH" {
+ { [ 38.5, 17 ] },
+ { [ 2, 1 ], [ 36.5, 15 ] }
+ };
+ shape "RTSH" {
+ { [ 21, 17 ] },
+ { [ 2, 1 ], [ 19, 15 ] }
+ };
+ shape "SPCE" {
+ { [ 88.8, 17 ] },
+ { [ 2, 1 ], [ 86.8, 15 ] }
+ };
+ shape "WELL" {
+ { [ 269, 105 ] }
+ };
+ shape "LED" {
+ cornerRadius= 1.5,
+ { [ 3, 10 ] }
+ };
+
+ section.left= 6;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 0.5;
+
+ key.color= "grey20";
+ labelColor= "white";
+ baseColor= "grey20";
+
+ indicator.top= 20;
+ indicator.shape= "LED";
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+
+ indicator "Power" { left= 40; };
+ indicator "Battery" { left=101; };
+ indicator "Suspend" { left=112; };
+ indicator "HardDrive" { left=123; };
+ indicator "Floppy" { left=134; };
+ indicator "KeyPad" { left=145; };
+ indicator "Num Lock" { left=156; };
+ indicator "Caps Lock" { left=167; };
+ indicator "Scroll Lock" { left=178; };
+
+ solid "KeyWell" {
+ top= 35;
+ left= 6;
+ shape= "WELL";
+ color= "grey10";
+ };
+ section "Whole" {
+ top= 35;
+ row {
+ top= 0.5;
+ key.color= "grey30";
+ key.shape= "FKEY";
+ keys {
+ { <ESC>, "ESC" },
+ <FK01>, <FK02>, <FK03>, <FK04>, <FK05>, <FK06>,
+ <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12>,
+ <NMLK>, <PRSC>, <SCLK>, <PAUS>
+ };
+ };
+ row {
+ top= 16.5;
+ keys {
+ { <TLDE>, "NARR" },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, shape="WIDE", color="grey30" },
+ { <HOME>, shape="NARR", color="grey30" }
+ };
+ };
+ row {
+ top= 34;
+ keys {
+ { <TAB>, shape="WIDE", color="grey30" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <BKSL>, "NARR" },
+ { <PGUP>, shape="NARR", color="grey30" }
+ };
+ };
+ row {
+ top= 51.5;
+ keys {
+ { <CAPS>, shape="CAPS", color="grey30" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>,
+ { <RTRN>, shape="RTRN", color="grey30" },
+ { <PGDN>, shape="NARR", color="grey30" }
+ };
+ };
+ row {
+ top= 69;
+ keys {
+ { <LFSH>, shape="LFSH", color="grey30" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, shape="RTSH", color="grey30" },
+ { <UP>, shape="NARR", color="grey30" },
+ { <END>, shape="NARR", color="grey30" }
+ };
+ };
+ row {
+ top= 86.5;
+ key.color= "grey30";
+ keys {
+ { <FUNC>, "WIDE" },
+ <LCTL>, <LALT>,
+ { <SPCE>, shape="SPCE", 18, color="grey20" },
+ <RALT>, <INS>, <DELE>,
+ { <LEFT>, "NARR" }, { <DOWN>, "NARR" },
+ { <RGHT>, "NARR" }
+ };
+ };
+ solid "FakeKey" {
+ top= 86.5;
+ left= 62.1;
+ shape= "NORM";
+ color= "grey20";
+ };
+ overlay "KPAD" {
+ <AE07>=<KP7>, <AE08>=<KP8>, <AE09>=<KP9>, <AE10>=<KPMU>,
+ <AD07>=<KP4>, <AD08>=<KP5>, <AD09>=<KP6>, <AD10>=<KPSU>,
+ <AC07>=<KP1>, <AC08>=<KP2>, <AC09>=<KP3>, <AC10>=<KPAD>,
+ <AB07>=<KP0>, <AB09>=<KPDL>, <AB10>=<KPSL>
+ };
+ }; // End of "Whole" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+};
diff --git a/data/xkbdata/geometry/fujitsu b/data/xkbdata/geometry/fujitsu
new file mode 100644
index 000000000..02fe0bc20
--- /dev/null
+++ b/data/xkbdata/geometry/fujitsu
@@ -0,0 +1,315 @@
+// $Xorg: fujitsu,v 1.4 2001/02/09 02:05:49 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+default xkb_geometry "138" {
+
+ // This is an approximate layout for a (US/ASCII) Fujitsu keyboard.
+
+ description= "Fujitsu English keyboard";
+
+ width= 480;
+ height= 215;
+
+ shape "EDGE" { cornerRadius= 2, { [ 480, 215 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } };
+ shape "RTRN" {
+ approx = { [ 0, 0], [28,37] },
+ { [ 0, 0], [28, 0], [28,37],
+ [ 5,37], [ 5,19], [ 0,19] },
+ { [ 1, 1], [26, 1], [26,36],
+ [ 7,36], [ 7,18], [ 1,18] }
+ };
+ shape "LFSH" { { [ 41,18] }, { [2,1], [ 39,17] } };
+ shape "RTSH" { { [ 33,18] }, { [2,1], [ 31,17] } };
+ shape "LCTL" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "SPCE" { { [151,18] }, { [2,1], [149,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
+ shape "EXEC" { { [ 57,18] }, { [2,1], [ 55,17] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 15;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+
+ section "Alpha" {
+ top= 28;
+ row {
+ top= 1;
+ keys {
+ <BREA>, { <PRSC>, 6 },
+ { <FK13>, 30 }, <FK14>, <FK15>, <FK16>,
+ { <FK17>, 6 }, <FK18>, <FK19>, <FK20>,
+ { <FK21>, 6 }, <FK22>, <FK23>, <FK24>,
+ { <FK29>, 68 }, <FK30>, <FK31>, <FK32>
+ };
+ };
+ row {
+ top= 20;
+ keys {
+ <KNJI>, { <PAUS>, 6 },
+ { <FK01>, 30 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 6 }, <FK10>, <FK11>, <FK12>,
+ { <UNK0>, 6 }, <UNK1>, <UNK2>,
+ { <FK25>, 6 }, <FK26>, <FK27>, <FK28>
+ };
+ };
+ row {
+ top= 39;
+ left= 316;
+ keys {
+ <PGUP>, <HOME>, <PGDN>
+ };
+ };
+ row {
+ top= 54;
+ keys {
+ <UNDO>, { <ESC>, 6 },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
+ <AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
+ <AE11>, <AE12>, <TLDE>, <BKSP>,
+ { <KPMU>, 68 }, <KPDV>, <KPAD>, <KPSU>
+
+ };
+ };
+ row {
+ top= 58;
+ left= 316;
+ keys {
+ <UNK3>, <DEL>, <INS>
+ };
+ };
+ row {
+ top= 73;
+ keys { <COPY>,
+ { <TAB>, 6, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN" },
+ { <KP7>, 68 }, <KP8>, <KP9>, <KPEQ>
+ };
+ };
+ row {
+ top= 92;
+ keys { <PAST>,
+ { <LCTL>, 6, "LCTL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <BKSL>,
+ { <UP>, 49 },
+ { <KP4>, 25 }, <KP5>, <KP6>, <KPDC>
+ };
+ };
+ row {
+ top= 102;
+ left= 316;
+ keys { <LEFT>, { <RGHT>, 19 }
+ };
+ };
+ row {
+ top= 111;
+ keys { <CUT>,
+ { <LFSH>, 6 , "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ <AB11>, { <RTSH>, "RTSH" },
+ { <DOWN>, 25 },
+ { <KP1>, 25 }, <KP2>, <KP3>, { <KPEN>, "KPEN" }
+ };
+ };
+ row {
+ top= 130;
+ keys { <HELP>, { <CAPS>, 6 },
+ <LALT>, <LMTA>,
+ { <SPCE>, "SPCE" },
+ <RMTA>, <RALT>, <COMP>, <LNFD>,
+ { <KP0>, 68, "KP0" }, <KP00>
+ };
+ };
+ row {
+ top= 149;
+ left= 316;
+ keys {
+ { <EXEC>, "EXEC" }
+ };
+ };
+ }; // End of "Alpha" section
+};
+
+xkb_geometry "140" {
+
+ // This is an approximate layout for a Fujitsu Japanese keyboard.
+
+ description= "Fujitsu Japanese keyboard";
+
+ width= 480;
+ height= 215;
+
+ shape "EDGE" { cornerRadius= 2, { [ 480, 215 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } };
+ shape "RTRN" {
+ approx = { [ 0, 0], [28,37] },
+ { [ 0, 0], [28, 0], [28,37],
+ [ 5,37], [ 5,19], [ 0,19] },
+ { [ 1, 1], [26, 1], [26,36],
+ [ 7,36], [ 7,18], [ 1,18] }
+ };
+ shape "LFSH" { { [ 41,18] }, { [2,1], [ 39,17] } };
+ shape "RTSH" { { [ 33,18] }, { [2,1], [ 31,17] } };
+ shape "LCTL" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "SPCE" { { [113,18] }, { [2,1], [111,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
+ shape "HNKN" { { [ 23,18] }, { [2,1], [ 21,17] } };
+ shape "EXEC" { { [ 57,18] }, { [2,1], [ 55,17] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 15;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+
+ section "Alpha" {
+ top= 28;
+ row {
+ top= 1;
+ keys {
+ <BREA>, { <PRSC>, 6 },
+ { <FK13>, 30 }, <FK14>, <FK15>, <FK16>,
+ { <FK17>, 6 }, <FK18>, <FK19>, <FK20>,
+ { <FK21>, 6 }, <FK22>, <FK23>, <FK24>,
+ { <FK29>, 68 }, <FK30>, <FK31>, <FK32>
+ };
+ };
+ row {
+ top= 20;
+ keys {
+ <KNJI>, { <PAUS>, 6 },
+ { <FK01>, 30 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 6 }, <FK10>, <FK11>, <FK12>,
+ { <UNK0>, 6 }, <UNK1>, <UNK2>,
+ { <FK25>, 6 }, <FK26>, <FK27>, <FK28>
+ };
+ };
+ row {
+ top= 39;
+ left= 316;
+ keys {
+ <PGUP>, <HOME>, <PGDN>
+ };
+ };
+ row {
+ top= 54;
+ keys {
+ <UNDO>, { <ESC>, 6 },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
+ <AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
+ <AE11>, <AE12>, <BKSL>, <BKSP>,
+ { <KPMU>, 68 }, <KPDV>, <KPAD>, <KPSU>
+
+ };
+ };
+ row {
+ top= 58;
+ left= 316;
+ keys {
+ <UNK3>, <DEL>, <INS>
+ };
+ };
+ row {
+ top= 73;
+ keys { <COPY>,
+ { <TAB>, 6, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN" },
+ { <KP7>, 68 }, <KP8>, <KP9>, <KPEQ>
+ };
+ };
+ row {
+ top= 92;
+ keys { <PAST>,
+ { <LCTL>, 6, "LCTL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <TLDE>,
+ { <UP>, 49 },
+ { <KP4>, 25 }, <KP5>, <KP6>, <KPDC>
+ };
+ };
+ row {
+ top= 102;
+ left= 316;
+ keys { <LEFT>, { <RGHT>, 19 }
+ };
+ };
+ row {
+ top= 111;
+ keys { <CUT>,
+ { <LFSH>, 6 , "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ <AB11>, { <RTSH>, "RTSH" },
+ { <DOWN>, 25 },
+ { <KP1>, 25 }, <KP2>, <KP3>, { <KPEN>, "KPEN" }
+ };
+ };
+ row {
+ top= 130;
+ keys { <HELP>, { <CAPS>, 6 },
+ <LALT>, <LMTA>, <UNK4>,
+ { <SPCE>, "SPCE" },
+ <UNK5>, <RMTA>, <COMP>, <LNFD>, <UNK6>,
+ { <KP0>, 68, "KP0" }, <KP00>
+ };
+ };
+ row {
+ top= 149;
+ left= 134;
+ keys {
+ { <UNK7>, "HNKN" }, { <UNK8>, "HNKN" },
+ { <EXEC>, 132, "EXEC" }
+ };
+ };
+ }; // End of "Alpha" section
+};
diff --git a/data/xkbdata/geometry/hp b/data/xkbdata/geometry/hp
new file mode 100644
index 000000000..c93cb0cd1
--- /dev/null
+++ b/data/xkbdata/geometry/hp
@@ -0,0 +1,456 @@
+// $Xorg: hp,v 1.4 2001/02/09 02:05:50 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/geometry/hp,v 1.8 2003/08/09 14:30:46 pascal Exp $
+
+default xkb_geometry "pc101" {
+
+ description= "HP PC101";
+ width= 470;
+ height= 210;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,17] } };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
+ shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "SPCE" { { [132,18] }, { [2,1], [130,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 52;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 91;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN", color="grey20" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 20 },
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>, { <RCTL>, 20 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 91;
+ left= 310;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 91;
+ left= 375;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "default" geometry
+
+xkb_geometry "hil" {
+
+ description= "HP hil";
+ width= 455;
+ height= 170;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "TABK" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "BKSL" { { [ 24,18] }, { [2,1], [ 22,17] } };
+ shape "RTRN" { { [ 38,18] }, { [2,1], [ 36,17] } };
+ shape "LFSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "RTSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "SPCE" { { [151,18] }, { [2,1], [150,17] } };
+ shape "KP0" { { [ 38,18] }, { [2,1], [ 36,17] } };
+ shape "KPTB" { { [ 18,38] }, { [2,1], [ 16,37] } };
+ shape "TLDE" { { [ 24,18] }, { [2,1], [ 22,17] } };
+ shape "FKT1" { { [ 17,14] }, { [2,1], [ 15,13] } };
+ shape "FKT2" { { [ 23,14] }, { [2,1], [ 21,13] } };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 14;
+ row {
+ top= 1;
+ keys { { <BRK>, "FKT1" }, { <STOP>, "FKT1" } ,
+ { <FK01>, "FKT2", 10 }, { <FK02>, "FKT2" },
+ { <FK03>, "FKT2" }, { <FK04>, "FKT2" },
+ { <MENU>, "FKT1" }, { <SYST>, "FKT1" },
+ { <FK05>, "FKT2" }, { <FK06>, "FKT2" },
+ { <FK07>, "FKT2" }, { <FK08>, "FKT2" },
+ { <CLRL>, "FKT1", 10 }, { <CLR>, "FKT1" },
+ { <FK09>, "FKT1", 19 }, { <FK10>, "FKT1" },
+ { <FK11>, "FKT1" }, { <FK12>, "FKT1" }
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 52;
+ row {
+ top= 1;
+ keys { { <TLDE>, "TLDE" }, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP" }, <INSL>, <DELL>
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <BKSL>, "BKSL" },
+ <INSC>, <DELC>
+ };
+ };
+ row {
+ top= 39;
+ keys { <CAPS>, <LCTL>,
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN" },
+ <HOME>, <PGUP>
+ };
+ };
+ row {
+ top= 58;
+ keys { <ESC>, { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }, <SELE>,
+ <UP>, <PGDN>
+ };
+ };
+ row {
+ top= 77;
+ keys { <PRSC>, { <LALT>, 30 },
+ { <SPCE>, "SPCE" },
+ <RALT>, { <LEFT>, 30 }, <DOWN>, <RGHT>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Keypad" {
+ top= 52;
+ left= 360;
+ row {
+ top= 1;
+ keys { <KPMU>, <KPDV>, <KPAD>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, <KPEN> };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6>, <KPSP> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPTB>, "KPTB" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+}; // End of "default" geometry
+
+
+// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
+// Geometry specification for HP Omnibook keyboards.
+// Compatible Models: 6100, 6000.
+
+xkb_geometry "omnibook" {
+ width = 282;
+ height = 128;
+ baseColor = "grey80";
+ labelColor = "white";
+
+ shape "FN0" { cornerRadius = 1, { [15.5, 12] }, { [1, 0], [14.5, 11] } };
+ shape "NORM" { cornerRadius = 1, { [18, 16] }, { [2, 0], [16, 14] } };
+ shape "BKSP" { cornerRadius = 1, { [31, 16] }, { [2, 0], [29, 14] } };
+ shape "TABK" { cornerRadius = 1, { [27, 16] }, { [2, 0], [25, 14] } };
+ shape "CAPS" { cornerRadius = 1, { [32, 16] }, { [2, 0], [30, 14] } };
+ shape "RTSH" { cornerRadius = 1, { [45, 16] }, { [2, 0], [43, 14] } };
+ shape "MODK" { cornerRadius = 1, { [28, 16] }, { [2, 0], [26, 14] } };
+ shape "SPCE" { cornerRadius = 1, { [90, 16] }, { [2, 0], [88, 14] } };
+ shape "ARRS" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 11] } };
+
+ shape "LED" { cornerRadius = 1, { [2, 4] } };
+
+ shape "KEYS" { cornerRadius = 1,
+ { [0, 13],
+ [197, 13], [197, 0],
+ [280, 0], [280, 125],
+ [224, 125], [224, 112],
+ [0, 112] }
+ };
+
+ solid "KeyPanel" {
+ shape = "KEYS";
+ left = 1;
+ top = 1;
+ color = "black";
+ };
+
+ shape "NULL1" { cornerRadius = 1, { [54, 16] } };
+
+ solid "NullPanel1" {
+ shape = "NULL1";
+ left = 226;
+ top = 96;
+ color = "grey80";
+ };
+
+ shape "NULL2" { cornerRadius = 1, { [19, 14] } };
+
+ solid "NullPanel2" {
+ shape = "NULL2";
+ left = 243;
+ top = 97;
+ color = "black";
+ };
+
+ indicator.onColor = "green";
+ indicator.offColor = "grey10";
+ indicator.top = 4;
+ indicator.shape = "LED";
+ indicator "Caps Lock" { left = 45; };
+ indicator "Num Lock" { left = 60; };
+ indicator "Scroll Lock" { left = 75; };
+ indicator "HDDActivity" { onColor = "red"; left = 90; };
+
+ key.color = "grey60";
+
+ section "Function" {
+ key.gap = 0.99;
+ left = 1;
+ top = 1;
+ key.shape = "FN0";
+ row {
+ left = 197;
+ top = 1;
+ keys { <PRSC>, <PAUS>, <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top = 14;
+ keys { <ESC>,
+ <FK01>, <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>,
+ <FK09>, <FK10>, <FK11>, <FK12>,
+ <SCLK>, <DELE>, <END>, <PGDN>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Control" {
+ left = 1;
+ top = 34;
+ key.gap = 1;
+ row {
+ top = 62;
+ key.shape = "NORM";
+ keys { <LCTL>, <FN>, <LWIN>, <LALT>,
+ { <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
+ };
+ };
+ }; // End of "Control" section
+
+ section "Navigation" {
+ key.shape = "ARRS";
+ left = 225;
+ top = 97;
+ key.gap = 1.4;
+ row {
+ left= 18;
+ top = 1;
+ keys { <UP> };
+ };
+ row {
+ top = 16;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Navigation" section
+
+ shape "STIK" { cornerRadius = 4, { [7, 7] } };
+
+ solid "STIK" {
+ priority = 255;
+ color = "red";
+ shape = "STIK";
+ top = 73;
+ left = 126;
+ };
+};
+
+// 86 keys
+xkb_geometry "omnibook_intl" {
+ include "hp(omnibook)"
+ description = "HP Omnibook 6000/6100, Intl";
+
+ shape "RTRN" { cornerRadius = 1,
+ { [22, 0], [22, 33], [5, 33], [5, 16], [0, 16], [0, 0] },
+ { [20, 0], [20, 31], [7, 31], [7, 14], [2, 14], [2, 0] } };
+ shape "LFSH" { cornerRadius = 1, { [23, 16] }, { [2, 0], [21, 14] } };
+
+ section "Alpha" {
+ key.gap = 1;
+ key.color = "grey60";
+ key.shape = "NORM";
+ left = 1;
+ top = 27;
+ row {
+ top = 1;
+ keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top = 18;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top = 35;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <AC12>
+ };
+ };
+ row {
+ top = 52;
+ keys { { <LFSH>, "LFSH" }, <LSGT>,
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ }; // End of "Alpha" section
+};
diff --git a/data/xkbdata/geometry/ibm/Makefile.am b/data/xkbdata/geometry/ibm/Makefile.am
new file mode 100644
index 000000000..b61963f5d
--- /dev/null
+++ b/data/xkbdata/geometry/ibm/Makefile.am
@@ -0,0 +1,3 @@
+xkbdata_geometry_ibmdir = $(datadir)/X11/xkb/geometry/ibm
+dist_xkbdata_geometry_ibm_DATA = \
+ thinkpad
diff --git a/data/xkbdata/geometry/ibm/Makefile.in b/data/xkbdata/geometry/ibm/Makefile.in
new file mode 100644
index 000000000..47fefacf5
--- /dev/null
+++ b/data/xkbdata/geometry/ibm/Makefile.in
@@ -0,0 +1,258 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_geometry_ibmdir = $(datadir)/X11/xkb/geometry/ibm
+dist_xkbdata_geometry_ibm_DATA = \
+ thinkpad
+
+subdir = geometry/ibm
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_geometry_ibm_DATA)
+
+DIST_COMMON = $(dist_xkbdata_geometry_ibm_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu geometry/ibm/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_geometry_ibmDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_geometry_ibmDATA: $(dist_xkbdata_geometry_ibm_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_geometry_ibmdir)
+ @list='$(dist_xkbdata_geometry_ibm_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_geometry_ibmDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_geometry_ibmdir)/$$f"; \
+ $(dist_xkbdata_geometry_ibmDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_geometry_ibmdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_geometry_ibmDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_geometry_ibm_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_geometry_ibmdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_geometry_ibmdir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_geometry_ibmdir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_geometry_ibmDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_geometry_ibmDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_geometry_ibmDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_geometry_ibmDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/geometry/ibm/thinkpad b/data/xkbdata/geometry/ibm/thinkpad
new file mode 100644
index 000000000..c9b769ccc
--- /dev/null
+++ b/data/xkbdata/geometry/ibm/thinkpad
@@ -0,0 +1,267 @@
+// -*- indent-tabs-mode: nil -*-
+// $XFree86: xc/programs/xkbcomp/geometry/ibm/thinkpad,v 1.3 2003/08/09 14:30:48 pascal Exp $
+
+// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
+// Geometry specification for IBM ThinkPad keyboard.
+// Compatible Models: THINKPAD 560Z 2640-90U, THINKPAD 560Z 2640-91U,
+// THINKPAD 560Z 2640-B0U, THINKPAD 560Z 2640-B1U, THINKPAD 560Z 2640-RR3,
+// THINKPAD 600 2645-31U, THINKPAD 600 2645-35U, THINKPAD 600 2645-41U,
+// THINKPAD 600 2645-42U, THINKPAD 600 2645-45U, THINKPAD 600 2645-48U,
+// THINKPAD 600 2645-51U, THINKPAD 600 2645-85U, THINKPAD 600 2645-A1U,
+// THINKPAD 600 2645-RR1, THINKPAD 600 2645-RR2, THINKPAD 600E 2645-3AU,
+// THINKPAD 600E 2645-4AU, THINKPAD 600E 2645-4BU, THINKPAD 600E 2645-55U,
+// THINKPAD 600E 2645-5AU, THINKPAD 600E 2645-5BU, THINKPAD 600E 2645-5JU,
+// THINKPAD 600E 2645-8AO, THINKPAD 600E 2645-8AU, THINKPAD 600E 2645-8BU,
+// THINKPAD 600E 2645-AAU, THINKPAD 600E 2645-RRB, THINKPAD 600E 2645-RRD,
+// THINKPAD 600E 2645-RRF, THINKPAD 600E 2645-RRS, THINKPAD A22E 2645-45U
+
+xkb_geometry "common" {
+ width = 290;
+ height = 150;
+ baseColor = "grey80";
+ labelColor = "white";
+
+ shape "FN0" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 10] } };
+ shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2.5, 0], [15.5, 14] } };
+ shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2.5, 0], [34.5, 14] } };
+ shape "TABK" { cornerRadius = 1, { [27, 18] }, { [2.5, 0], [24.5, 14] } };
+ shape "CAPS" { cornerRadius = 1, { [31, 18] }, { [1, 0], [30, 16] },
+ { [1, 0], [26, 16] },
+ { [2.5, 0], [24.5, 14] } };
+ shape "RTSH" { cornerRadius = 1, { [50, 18] }, { [2.5, 0], [46.5, 14] } };
+ shape "MODK" { cornerRadius = 1, { [27.5, 18] }, { [2.5, 0], [25, 14] } };
+ shape "SPCE" { cornerRadius = 1, { [100, 18] }, { [2.5, 0], [97.5, 14] } };
+ shape "ARRS" { cornerRadius = 1, { [16, 13] }, { [1.5, 0], [14.5, 11] } };
+
+ shape "LED" { cornerRadius = 2, { [3, 3] } };
+
+ shape "KEYS" { cornerRadius = 2,
+ { [0, 0], [19, 0], [19, 13], [172, 13],
+ [172, 0], [286, 0], [286, 138], [216, 138],
+ [216, 124], [0, 124] } };
+
+ solid "KeyPanel" {
+ shape = "KEYS";
+ left = 2;
+ top = 5;
+ color = "black";
+ };
+
+ shape "NULL1" { cornerRadius = 1,
+ { [0, 0], [50, 0], [50, 18], [34, 18], [34, 4],
+ [16, 4], [16, 18], [0, 18] } };
+
+ solid "NullPanel1" {
+ shape = "NULL1";
+ left = 237;
+ top = 110;
+ color = "grey80";
+ };
+
+ shape "NULL2" { cornerRadius = 1, { [17, 13] } };
+
+ solid "NullPanel2" {
+ shape = "NULL2";
+ left = 219;
+ top = 129;
+ color = "grey80";
+ };
+
+ shape "NULL3" { cornerRadius = 1,
+ { [0, 26],
+ [72, 26], [72, 13], [76, 13], [76, 26],
+ [149, 26], [149, 13], [153, 13], [153, 26],
+ [226, 26], [226, 0], [230, 0], [230, 26],
+ [284, 26], [285, 27],
+ [0, 27] } };
+
+ solid "NullPanel3" {
+ shape = "NULL3";
+ left = 3;
+ top = 6;
+ color = "grey80";
+ };
+
+ indicator.onColor = "green";
+ indicator.offColor = "grey10";
+ indicator.top = 4;
+ indicator.shape = "LED";
+ indicator "HDDActivity" { onColor = "red"; left = 100; };
+ indicator "Num Lock" { left = 108; };
+ indicator "Caps Lock" { left = 114; };
+ indicator "Scroll Lock" { left = 120; };
+ indicator "Power" { left = 128; };
+
+ key.gap = 1;
+ key.color = "grey60";
+
+ section "Function" {
+ left = 2;
+ top = 5;
+ key.shape = "FN0";
+ row {
+ top = 1;
+ keys { <ESC>, { <PRSC>, 155 }, <SCLK>, <PAUS> };
+ };
+ row {
+ top = 14;
+ keys { <FK01>, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 6 }, <FK10>, <FK11>, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Control" {
+ left= 2;
+ top = 109;
+ key.shape = "MODK";
+ row {
+ top = 1;
+ keys { { <FN>, "NORM" }, <LCTL>, <LALT>,
+ { <SPCE>, "SPCE" }, <RALT>, <RCTL>
+ };
+ };
+ }; // End of "Control" section
+
+ section "Editing" {
+ top = 5;
+ left = 233;
+ key.shape = "FN0";
+ row {
+ top = 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top = 14;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ }; // End of "Editing" section
+
+ section "Navigation" {
+ top = 114;
+ left = 236;
+ key.shape = "ARRS";
+ row {
+ top = 1;
+ left = 17;
+ keys { <UP> };
+ };
+ row {
+ top = 15;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Navigation" section
+
+ shape "STIK" { cornerRadius = 4, { [7, 7] } };
+
+ solid "STIK" {
+ priority = 255;
+ color = "red";
+ shape = "STIK";
+ top = 85;
+ left = 126;
+ };
+};
+
+// 85 keys
+// US/English (FRU 02K4785).
+xkb_geometry "us" {
+ include "thinkpad(common)"
+ description = "IBM ThinkPad 560Z/600/600E/A22E, US";
+
+ shape "RTRN" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
+ shape "LFSH" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
+ shape "BKSL" { cornerRadius = 1, { [28, 18] }, { [2.5, 0], [25.5, 14] } };
+
+ section "Alpha" {
+ left = 2;
+ top = 33;
+ key.gap = 1;
+ key.color = "grey60";
+ key.shape = "NORM";
+ row {
+ top = 1;
+ keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top = 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top = 39;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top = 58;
+ keys { { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ }; // End of "Alpha" section
+};
+
+// 86 keys
+// Tested on: DE/German, UK/English (FRU 02K4787).
+xkb_geometry "intl" {
+ include "thinkpad(common)"
+ description = "IBM ThinkPad 560Z/600/600E/A22E, Intl";
+
+ shape "RTRN" { cornerRadius = 1, { [28, 0], [28, 37], [4, 37], [4, 18],
+ [0, 18], [0, 0] },
+ { [25.5, 0], [25.5, 33], [6.5, 33],
+ [6.5, 14], [2.5, 14], [2.5, 0] } };
+ shape "LFSH" { cornerRadius = 1, { [24, 18] }, { [2.5, 0], [21.5, 14] } };
+
+ section "Alpha" {
+ left = 2;
+ top = 33;
+ key.gap = 1;
+ key.color = "grey60";
+ key.shape = "NORM";
+ row {
+ top = 1;
+ keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top = 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top = 39;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <AC12>
+ };
+ };
+ row {
+ top = 58;
+ keys { { <LFSH>, "LFSH" }, <AB00>,
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ }; // End of "Alpha" section
+};
diff --git a/data/xkbdata/geometry/keytronic b/data/xkbdata/geometry/keytronic
new file mode 100644
index 000000000..2e4e37a19
--- /dev/null
+++ b/data/xkbdata/geometry/keytronic
@@ -0,0 +1,255 @@
+// $Xorg: keytronic,v 1.4 2001/02/09 02:05:50 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86$
+//
+default xkb_geometry "FlexPro" {
+
+ // This is an approximate layout for a Key Tronic FlexPro
+ // keyboard. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes of a few keys by eye. I didn't actually
+ // *measure* a real keyboard.
+
+ description= "Key Tronic FlexPro keyboard";
+
+ width= 515;
+ height= 200;
+
+ shape "EDGE" { cornerRadius= 2, { [ 515, 200 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "TABK" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "BKSL" { { [ 23,18] }, { [2,1], [21,17] } };
+ shape "RTRN" {
+ approx = { [16, 0], [38,37] },
+ { [16, 0], [38, 0], [38,37],
+ [ 0,37], [ 0,19], [16,19] },
+ { [18, 1], [36, 1], [36,36],
+ [ 2,36], [ 2,20], [18,20] } };
+ shape "CAPS" { { [36,18] }, { [2,1], [34,17] } };
+ shape "SHFT" { { [46,18] }, { [2,1], [44,17] } };
+ shape "LCTL" { { [32,18] }, { [2,1], [30,17] } };
+ shape "RCTL" { { [38,18] }, { [2,1], [36,17] } };
+ shape "LALT" { { [28,18] }, { [2,1], [26,17] } };
+ shape "RALT" { { [33,18] }, { [2,1], [31,17] } };
+ shape "LSPC" { { [66,22] }, { [0,0], [66,22] } };
+ shape "RSPC" { { [76,22] }, { [0,0], [76,22] } };
+ shape "KP0" { { [37,18] }, { [2,1], [35,17] } };
+ shape "KPEN" { { [18,37] }, { [2,1], [16,36] } };
+ shape "LOGO" { cornerRadius= 3, { [80,35] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 9;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+
+ section "Function" {
+ top= 56;
+ row {
+ top = 1;
+ key.color= "grey20";
+ keys { <FK01>, <FK02> };
+ };
+ row {
+ top = 20;
+ key.color= "grey20";
+ keys { <FK03>, <FK04> };
+ };
+ row {
+ top = 39;
+ keys { <FK05>, <FK06> };
+ };
+ row {
+ top = 58;
+ key.color= "grey20";
+ keys { <FK07>, <FK08> };
+ };
+ row {
+ top = 77;
+ key.color= "grey20";
+ keys { <FK09>, <FK10> };
+ };
+ row {
+ top = 96;
+ keys { <FK11>, <FK12> };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 56;
+ left= 53;
+ row {
+ top= 1;
+ keys {
+ { <ESC>, color="grey20" }, { <BKSL>, "BKSL", color="grey20" },
+ <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys {
+ { <TLDE>, color="grey20" }, { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <RTRN>, "RTRN", -14, color="grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys {
+ { <LCTL>, color="grey20" }, { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>, <AC11>
+ };
+ };
+ row {
+ top= 58;
+ keys {
+ { <LFSH>, color="grey20" },
+ { <LFSH>, "SHFT", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "SHFT", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.color= "grey20";
+ keys {
+ <LALT>,
+ { <LCTL>, shape="LCTL" },
+ { <LALT>, shape="LALT" },
+ { <SPCE>, shape="LSPC", 4, color="white" },
+ { <SPCE>, shape="RSPC",color="white" },
+ { <RALT>, shape="RALT", 4 },
+ { <RCTL>, shape="RCTL" }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 12;
+ left= 365;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row {
+ top= 45;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 64;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 102;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 121;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ shape "LEDS" { cornerRadius= 3, { [ 76, 20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 7, 4 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 11;
+ left= 430;
+ color= "grey10";
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 13;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 440; };
+ indicator "Caps Lock" { left= 467; };
+ indicator "Scroll Lock" { left= 489; };
+ text.top= 22;
+ text.color= "black";
+ text "NumLockLabel" { left= 438; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 465; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 487; text="Scroll\nLock"; };
+
+ logo "FlexProLogoImage" {
+ top= 12;
+ left= 45;
+ name= "KeyTronic";
+ shape= "LOGO";
+ };
+ text "KeyTronicLogoText" {
+ top= 15;
+ left= 50;
+ width= 55;
+ text= "FlexPro";
+ font= "times";
+ slant= "o";
+ weight= "bold";
+ fontWidth= "narrow";
+ fontSize= 36;
+ };
+
+ section "Keypad" {
+ top= 56;
+ left= 430;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <LEFT> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPSU>, color= "grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6>, { <KPAD>, color= "grey20" } };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN", color= "grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+};
diff --git a/data/xkbdata/geometry/kinesis b/data/xkbdata/geometry/kinesis
new file mode 100644
index 000000000..548d0920f
--- /dev/null
+++ b/data/xkbdata/geometry/kinesis
@@ -0,0 +1,193 @@
+// $Xorg: kinesis,v 1.3 2000/08/17 19:54:35 cpqbld Exp $
+//
+// $XFree86$
+//
+default xkb_geometry "model100" {
+
+ // This is an approximate layout for a Kinesis Ergonomic keyboard
+ // Generated completely by eye. I didn't actually *measure* a real
+ // keyboard.
+
+ description= "Kinesis Ergonomic Keyboard";
+ width= 421;
+ height= 185;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "WIDE" { { [ 21,18] }, { [2,1], [19,17] } };
+ shape "TALL" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "FKEY" { cornerRadius=0, { [ 10,13] } };
+ shape "LED" { cornerRadius= 1.5, { [ 3, 3] } };
+ shape "LOGO" { { [ 40, 10 ] } };
+ shape "EDGE" { cornerRadius=5, { [ 421, 185 ] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section "LeftFunction" {
+ left= 15;
+ top= 11;
+ key.shape= "FKEY";
+ key.gap= 3;
+ row {
+ left= 1;
+ top= 1;
+ keys {
+ <ESC>, <FK01>, <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>
+ };
+ };
+ }; // End of "LeftFunction" section
+
+ section "RightFunction" {
+ left= 290;
+ top= 11;
+ key.shape= "FKEY";
+ key.gap= 3;
+ row {
+ left= 1;
+ top= 0.2;
+ keys {
+ <FK09>, <FK10>, <FK11>, <FK12>, <PRSC>,
+ <SCLK>, <PAUS>, <FK16>, <FK17>
+ };
+ };
+ }; // End of "RightFunction" section
+
+ row.vertical= True;
+ row.top= 1;
+ key.gap= 0.5;
+
+ logo "KinesisLogoImage" {
+ top= 25;
+ left= 240;
+ name= "Kinesis";
+ shape= "LOGO";
+ };
+
+ indicator.shape= "LED";
+ indicator.top= 30;
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator "Caps Lock" { left= 23; };
+
+ section "LeftAlpha" {
+ top= 34;
+ left= 15;
+ row {
+ left= 2;
+ key.shape= "WIDE";
+ keys { <AE12>, <TAB>, <CAPS>, <LFSH> };
+ };
+ row {
+ top= 4;
+ left= 24;
+ keys { <AE01>, <AD01>, { <AC01>, color="grey20" }, <AB01>, <TLDE> };
+ };
+ row {
+ left= 43;
+ keys { <AE02>, <AD02>, { <AC02>, color="grey20" }, <AB02>, <INS> };
+ };
+ row {
+ left= 62;
+ keys { <AE03>, <AD03>, { <AC03>, color="grey20" }, <AB03>, <LEFT> };
+ };
+ row {
+ left= 81;
+ keys { <AE04>, <AD04>, { <AC04>, color="grey20" }, <AB04>, <RGHT> };
+ };
+ row {
+ left= 100;
+ keys { <AE05>, <AD05>, <AC05>, <AB05> };
+ };
+ }; // End of "LeftAlpha" section
+
+ indicator "NumLock" { left= 318; };
+ indicator "Overlay" { left= 387; };
+ section "RightAlpha" {
+ top= 34;
+ left= 290;
+ row {
+ left= 2;
+ keys { <AE06>, <AD06>, <AC06>, <AB06> };
+ };
+ row {
+ left= 21;
+ keys { <AE07>, <AD07>, { <AC07>, color="grey20" }, <AB07>, <UP> };
+ };
+ row {
+ left= 40;
+ keys { <AE08>, <AD08>, { <AC08>, color="grey20" }, <AB08>, <DOWN> };
+ };
+ row {
+ left= 59;
+ keys { <AE09>, <AD09>, { <AC09>, color="grey20" }, <AB09>, <AD11> };
+ };
+ row {
+ top= 4;
+ left= 78;
+ keys { <AE10>, <AD10>, { <AC10>, color="grey20" }, <AB10>, <AD12> };
+ };
+ row {
+ left= 97;
+ key.shape= "WIDE";
+ keys { <AE11>, <BKSL>, <AC11>, <RTSH> };
+ };
+ overlay "KPAD" {
+ <AE07>=<NMLK>, <AE08>=<KPEQ>, <AE09>=<KPSL>, <AE10>=<KPMU>,
+ <AD07>=<KP7>, <AD08>=<KP8>, <AD09>=<KP9>, <AD10>=<KPSU>,
+ <AC07>=<KP4>, <AC08>=<KP5>, <AC09>=<KP6>, <AC10>=<KPAD>,
+ <AB07>=<KP1>, <AB08>=<KP2>, <AB09>=<KP3>, <AB10>=<KPEN>,
+ <AE10>=<KPDL>, <AE11>=<KPEN>
+ };
+ }; // End of "RightAlpha" section
+
+ section "LeftEdit" {
+ top= 109;
+ left= 123;
+ angle= 20;
+ row.top= -18;
+ row {
+ top= 1;
+ left= 1;
+ keys { { <BKSP>, "TALL" } };
+ };
+ row {
+ left= 20;
+ keys { <LCTL>, { <DELE>, "TALL" } };
+ };
+ row {
+ left= 39;
+ keys { <LALT>, <HOME>, <END> };
+ };
+ }; // End of "RightEdit" section
+
+ section "RightEdit" {
+ top= 109;
+ left= 302;
+ angle= -20;
+ row.top= -18;
+ row {
+ left= -57;
+ keys { <RALT>, <PGUP>, <PGDN> };
+ };
+ row {
+ left= -38;
+ keys { <RCTL>, { <RTRN>, "TALL" } };
+ };
+ row {
+ top= 1;
+ left= -19;
+ keys { { <SPCE>, "TALL" } };
+ };
+ overlay "KPAD" {
+ <SPCE>= <KP0>
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+};
diff --git a/data/xkbdata/geometry/macintosh b/data/xkbdata/geometry/macintosh
new file mode 100644
index 000000000..f97251fc9
--- /dev/null
+++ b/data/xkbdata/geometry/macintosh
@@ -0,0 +1,174 @@
+// $XFree86: xc/programs/xkbcomp/geometry/macintosh,v 1.3 2003/08/09 14:30:47 pascal Exp $
+//
+// Some modifications (<eqdar@castalie.org>) :
+// - Added a <LSGT> key
+// - Fixed the shape of the <RTRN> key
+// - Moved <BKSL> to the 'AC' row
+// - Added a special Macintosh sysctl key
+// - Minor changes (Function keys shape, LED position...)
+
+default xkb_geometry "macintosh" {
+
+ description= "Apple Extended Keyboard II";
+ width = 475;
+ height = 194;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "TLDE" { { [ 23,18] }, { [2,1], [ 21,17] } };
+ shape "BKSP" { { [ 33,18] }, { [2,1], [ 31,17] } };
+ shape "TAB" { { [ 33,18] }, { [2,1], [ 31,17] } };
+ shape "RTRN" {
+ { [0,0],[23,0],[23,37],[4,37],[4,18],[0,18] },
+ { [2,1],[21,1],[21,36],[6,36],[6,17],[2,17] } };
+ shape "CAPS" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "LCTL" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "LALT" { { [ 22,18] }, { [2,1], [ 20,17] } };
+ shape "LMTA" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "LFSH" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "RCTL" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "RALT" { { [ 22,18] }, { [2,1], [ 20,17] } };
+ shape "RMTA" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "RTSH" { { [ 47,18] }, { [2,1], [ 45,17] } };
+ shape "SPCE" { { [123,18] }, { [2,1], [121,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
+ // Macintosh keyboards have a special sysctl key at the top right
+ shape "AAPL" {
+ { [ 0,0], [ 18,0], [ 18,18], [ 0,18] },
+ { [ 1,1], [ 17,1], [ 17,17], [ 1,17] },
+ { [ 8,5], [ 8,12], [ 2,9] } };
+
+ shape "LEDS" { cornerRadius = 0, { [ 55,19] } };
+ shape "LED" { cornerRadius = 0, { [ 8, 2] } };
+
+ solid "LedPanel" {
+ shape= "LEDS";
+ top = 48;
+ left = 378;
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top = 50;
+ indicator.shape= "LED";
+ indicator "NumLock" { left = 381; };
+ indicator "CapsLock" { left = 398; };
+ indicator "ScrollLock" { left = 415; };
+ text.top= 55;
+ text.color= "black";
+ text "NumLockLabel" { left = 381; text = "Num\nLock"; };
+ text "CapsLockLabel" { left = 398; text = "Caps\nLock"; };
+ text "ScrollLockLabel" { left = 415; text = "Scroll\nLock"; };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+
+ section "Function" {
+ top = 48;
+ row {
+ top= 1;
+ keys { <ESC>,
+ { <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 10 }, <SCLK>, <PAUS>,
+ // This is the sysctl key on macintosh keyboards
+ // keycode is 222 with a 4.21 kernel, which is <I5E>
+ { <I5E>, "AAPL", 67 }
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top = 87;
+ row {
+ top= 1;
+ keys { { <TLDE>, "TLDE" }, <AE01>, <AE02>, <AE03>,
+ <AE04>, <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TAB" }, <AD01>, <AD02>, <AD03>,
+ <AD04>, <AD05>, <AD06>, <AD07>, <AD08>, <AD09>,
+ <AD10>, <AD11>, <AD12>, { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS" }, <AC01>, <AC02>, <AC03>,
+ <AC04>, <AC05>, <AC06>, <AC07>, <AC08>, <AC09>,
+ <AC10>, <AC11>, <BKSL>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH" }, <LSGT>, <AB01>, <AB02>,
+ <AB03>, <AB04>, <AB05>, <AB06>, <AB07>, <AB08>,
+ <AB09>, <AB10>, { <RTSH>, "RTSH" }
+ };
+ };
+ row {
+ top= 77;
+ keys { { <LCTL>, "LCTL" }, { <LALT>, "LALT" },
+ { <LMTA>, "LMTA" },
+ { <SPCE>, "SPCE" },
+ { <RMTA>, "RMTA" },
+ { <RALT>, "RALT" }, { <RCTL>, "RCTL" }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top = 87;
+ left = 314;
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ // Begin of "Keypad" section
+ section "Keypad" {
+ top = 87;
+ left = 380;
+ row {
+ top= 1;
+ keys { <NMLK>, <KPEQ>, <KPDV>, <KPMU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6>, <KPAD> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+}; // End of "default" geometry
diff --git a/data/xkbdata/geometry/microsoft b/data/xkbdata/geometry/microsoft
new file mode 100644
index 000000000..0894937ae
--- /dev/null
+++ b/data/xkbdata/geometry/microsoft
@@ -0,0 +1,256 @@
+// $Xorg: microsoft,v 1.3 2000/08/17 19:54:35 cpqbld Exp $
+//
+// $XFree86$
+//
+default xkb_geometry "natural" {
+
+ // Approximate layout for a Microsoft Natural Keyboard
+ description= "Microsoft Natural Keyboard";
+ width= 550;
+ height= 190;
+
+ shape.cornerRadius= 1;
+ shape "LDEF" { { [ 18,18] }, { [2,1], [15,15] } };
+ shape "TABK" { { [ 26,18] }, { [2,1], [23,15] } };
+ shape "CAPS" { { [ 30,18] }, { [2,1], [23,15] } };
+ shape "LFSH" { { [ 41,18] }, { [2,1], [38,15] } };
+ shape "KEY6" { { [ 22,18] }, { [2,1], [15,15] } };
+ shape "KEYT" { { [ 33,18] }, { [2,1], [15,15] } };
+ shape "KEYG" { { [ 29,18] }, { [2,1], [15,15] } };
+ shape "LCTL" {
+ approx= { [ 32, 22 ] },
+ { [ 0, 0], [ 32, 0 ], [ 32, 23 ], [ 0, 22 ] },
+ { [ 2, 1], [ 29, 1 ], [ 29, 17 ], [ 2, 15 ] }
+ };
+ shape "LWIN" {
+ approx= { [ 32, 23 ] },
+ { [ 0, 0], [ 32, 0 ], [ 32, 24 ], [ 0, 23 ] },
+ { [ 2, 1], [ 29, 1 ], [ 29, 18 ], [ 2, 17 ] }
+ };
+ shape "LALT" {
+ approx= { [ 32, 24 ] },
+ { [ 0, 0], [ 32, 0 ], [ 32, 25 ], [ 0, 24 ] },
+ { [ 2, 1], [ 29, 1 ], [ 29, 20 ], [ 2, 19 ] }
+ };
+ shape "RDEF" { { [ 18,18] }, { [3,1], [15,15] } };
+ shape "KEY7" { { [ 28, 18 ] }, { [ 14, 1], [26, 15] } };
+ shape "KEYH" { { [ 24, 18 ] }, { [ 10, 1], [22, 15] } };
+ shape "KEYN" { { [ 32, 18 ] }, { [ 18, 1], [30, 15] } };
+ shape "BKSP" { { [ 41, 18 ] }, { [ 3, 1], [39, 15] } };
+ shape "BKSL" { { [ 24, 18 ] }, { [ 3, 1], [22, 15] } };
+ shape "RTRN" { { [ 37, 18 ] }, { [ 3, 1], [35, 15] } };
+ shape "RTSH" { { [ 43, 18 ] }, { [ 3, 1], [41, 15] } };
+ shape "RALT" {
+ approx= { [ 27, 24 ] },
+ { [ 0, 0], [ 27, 0 ], [ 27, 24 ], [ 0, 25 ] },
+ { [ 3, 1], [ 25, 1 ], [ 25, 19 ], [ 3, 20 ] }
+ };
+ shape "RWIN" {
+ approx= { [ 27, 23 ] },
+ { [ 0, 0], [ 27, 0 ], [ 27, 23 ], [ 0, 24 ] },
+ { [ 3, 1], [ 25, 1 ], [ 25, 18 ], [ 3, 19 ] }
+ };
+ shape "MENU" {
+ approx= { [ 27, 21 ] },
+ { [ 0, 0], [ 27, 0 ], [ 27, 21 ], [ 0, 23 ] },
+ { [ 3, 1], [ 25, 1 ], [ 25, 16 ], [ 3, 17 ] }
+ };
+ shape "RCTL" {
+ approx= { [ 27, 19 ] },
+ { [ 0, 0], [ 27, 0 ], [ 27, 19 ], [ 0, 21 ] },
+ { [ 3, 1], [ 25, 1 ], [ 25, 14 ], [ 3, 15 ] }
+ };
+ shape "KPAD" { { [ 18, 37 ] }, { [ 3, 1 ], [ 16, 34 ] } };
+ shape "KP0" { { [ 37, 18 ] }, { [ 3, 1 ], [ 35, 15 ] } };
+ shape "SPCE" {
+ { [ 4, 3], [42,10], [44, 0], [88, 0], [90,10], [130, 3],
+ [134,26], [99,30], [67,33], [33,30], [ 0,26] },
+ { [ 6, 4.5], [43,11], [45, 1], [87, 1], [89,11], [128, 4.5],
+ [131,23], [99,28], [67,32], [33,28], [ 3,23] }
+ };
+
+ shape "EDGE" {
+ cornerRadius= 2,
+ { [ 25, 0 ], [ 177, 17 ], [ 329, 0 ], [ 542, 0 ],
+ [ 542, 150 ], [ 354, 150 ], [ 177, 185 ], [ 0, 150 ] }
+ };
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ row.left= 1;
+ key.shape= "LDEF";
+ key.gap= 1;
+ section "LeftFunction" {
+ top= 10;
+ left= 40;
+ angle= 10;
+ row {
+ top= 1;
+ keys { <ESC>, { <FK01>, 12 }, <FK02>, <FK03>, <FK04>, <FK05> };
+ };
+ }; // End of "LeftFunction" section
+
+ section "LeftAlpha" {
+ top= 47;
+ left= 30;
+ angle= 10;
+ row {
+ top= 1;
+ keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, { <AE06>, "KEY6" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, { <AD05>, "KEYT" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, { <AC05>, "KEYG" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>
+ };
+ };
+ row {
+ top= 77;
+ keys { { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, { <LALT>, "LALT" } };
+ };
+ }; // End of "LeftAlpha" section
+
+ key.shape= "RDEF";
+ section "RightFunction" {
+ top= 32;
+ left= 195;
+ angle= -10;
+ row {
+ top= 1;
+ left= 1;
+ keys { <FK06>, <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12> };
+ };
+ }; // End of "RightFunction" section
+
+ section "RightAlpha" {
+ top= 71;
+ left= 190;
+ angle= -10;
+ row.left= 1;
+ row {
+ top= 1;
+ keys { { <AE07>, "KEY7" },
+ <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 20;
+ keys {
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <AC06>, "KEYH" },
+ <AC07>, <AC08>, <AC09>, <AC10>, <AC11>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <AB06>, "KEYN" },
+ <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row {
+ top= 77;
+ left= 40;
+ keys { { <RALT>, "RALT" }, { <RWIN>, "RWIN" },
+ { <MENU>, "MENU" }, { <RCTL>, "RCTL" }
+ };
+ };
+ }; // End of "RightAlpha" section
+
+ section "SpaceBar" {
+ top= 139;
+ left= 111;
+ key.shape= "SPCE";
+ row { keys { <SPCE> }; };
+ };
+
+ section "Editing" {
+ top= 15;
+ left= 385;
+ row {
+ top= 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row {
+ top= 33;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 53;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 91;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 109;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ shape "LED" {
+ cornerRadius= 0,
+ { [ 3, 1 ] }
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.left= 177;
+ indicator.shape= "LED";
+ indicator "Num Lock" { top= 90; };
+ indicator "Caps Lock" { top= 107; };
+ indicator "Scroll Lock" { top= 127; };
+
+ section "Keypad" {
+ top= 47;
+ left= 456;
+ row {
+ top= 1;
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+};
diff --git a/data/xkbdata/geometry/nec b/data/xkbdata/geometry/nec
new file mode 100644
index 000000000..189d9ca7c
--- /dev/null
+++ b/data/xkbdata/geometry/nec
@@ -0,0 +1,159 @@
+// $Xorg: nec,v 1.4 2001/02/09 02:05:50 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/geometry/nec,v 3.4 2001/01/17 23:45:49 dawes Exp $
+
+default xkb_geometry "pc98" {
+
+ description= "Generic PC98";
+ width= 405;
+ height= 172;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 17,18] }, { [2,1], [ 15,17] } };
+ shape "RTRN" { { [ 20,37] }, { [2,1], [ 18,35] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
+ shape "RTSH" { { [ 31,18] }, { [2,1], [ 29,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "SPCE" { { [115,18] }, { [2,1], [113,17] } };
+ shape "FUNC" { { [ 21,18] }, { [2,1], [ 19,17] } };
+ shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
+ shape "TABK" { { [ 30,18] }, { [2,1], [ 28,17] } };
+ shape "ARRW" { { [ 35,18] }, { [2,1], [ 33,17] } };
+
+ section.left= 8;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 29;
+ row {
+ top= 1;
+ key.shape="FUNC";
+ keys { { <BRK>, "NORM" }, { <PRSC>, "NORM", 5 },
+ { <FK01>, 6 }, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 6 }, <FK07>, <FK08>, <FK09>, <FK10>,
+ { <FK11>, 6 }, <FK12>, <FK13>, <FK14>, <FK15>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 54;
+ row {
+ top= 1;
+ keys { { <ESC>, shape="BKSP"},
+ <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, <BKSL>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN", 6 }
+ };
+ };
+ row {
+ top= 39;
+ keys { <LCTL>, <CAPS>,
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <AC12>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
+ { <RTSH>, "RTSH" }
+ };
+ };
+ row {
+ top= 77;
+ keys { { <ALGR>, 35 } , <LALT>, { <NFER>, "FUNC" },
+ { <SPCE>, "SPCE" }, { <XFER>, "FUNC" }
+
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 54;
+ left= 281;
+ row {
+ top= 1;
+ keys { <INS>, <DELE> };
+ };
+ row {
+ top= 20;
+ keys { <PGDN>, <PGUP> };
+ };
+ row {
+ top= 39;
+ keys { { <UP>, "ARRW" } };
+ };
+ row {
+ top= 58;
+ keys { <LEFT>, <RGHT> };
+ };
+ row {
+ top= 77;
+ keys { { <DOWN>, "ARRW" } };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 54;
+ left= 320;
+ row {
+ top= 1;
+ keys { <HOME>, <HELP>, <KPSU>, <KPDV> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, <KPMU> };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6>, <KPAD> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, <KPEQ> };
+ };
+ row {
+ top= 77;
+ keys { <KP0>, <KPSP>, <KPDC>, <KPEN> };
+ };
+ }; // End of "Keypad" section
+
+}; // End of "pc98" geometry
diff --git a/data/xkbdata/geometry/northgate b/data/xkbdata/geometry/northgate
new file mode 100644
index 000000000..fd376cee2
--- /dev/null
+++ b/data/xkbdata/geometry/northgate
@@ -0,0 +1,172 @@
+// $Xorg: northgate,v 1.3 2000/08/17 19:54:36 cpqbld Exp $
+//
+// $XFree86$
+//
+default xkb_geometry "omnikey101" {
+
+ description= "North Gate Omnikey 101";
+ width= 470;
+ height= 175;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [34,18] }, { [2,1], [32,17] } };
+ shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" {
+ approx = { [15, 0], [40,37] },
+ { [15, 0], [40, 0], [40,37],
+ [ 0,37], [ 0,19], [15,19] },
+ { [17, 1], [38, 1], [38,36],
+ [ 2,36], [ 2,20], [17,20] }
+ };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "LFSH" { { [ 41,18] }, { [2,1], [39,17] } };
+ shape "RTSH" { { [ 30,18] }, { [2,1], [28,17] } };
+ shape "MODK" { { [ 26,18] }, { [2,1], [24,17] } };
+ shape "SPCE" { { [129,18] }, { [2,1], [127,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+
+ shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 32;
+ left= 375;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 46.5;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 384; };
+ indicator "Caps Lock" { left= 409; };
+ indicator "Scroll Lock" { left= 434; };
+ text.top= 34;
+ text.color= "black";
+ text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 32;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 18}, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 9 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 9 }, <FK10>, <FK11>, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 65;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <RTRN>, "RTRN", -14, color="grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }, <BKSL>
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LALT>,
+ { <LCTL>, 23 },
+ { <SPCE>, "SPCE", color="white" },
+ <RCTL>,
+ { <RALT>, 23 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 32;
+ left= 308;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row {
+ top= 33;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 53;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 91;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 110;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 65;
+ left= 374;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "default" geometry
diff --git a/data/xkbdata/geometry/pc b/data/xkbdata/geometry/pc
new file mode 100644
index 000000000..8a5387197
--- /dev/null
+++ b/data/xkbdata/geometry/pc
@@ -0,0 +1,1159 @@
+// $Xorg: pc,v 1.4 2001/02/09 02:05:50 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/geometry/pc,v 3.14 2003/08/09 14:30:47 pascal Exp $
+
+default xkb_geometry "pc101" {
+
+ description= "Generic 101";
+ width= 470;
+ height= 210;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
+ shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
+ shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
+ shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
+ shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
+ shape "SPCE" { { [133,18] }, { [2,1], [131,16] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
+
+ shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 52;
+ left= 377;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 67;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 382; };
+ indicator "Caps Lock" { left= 407; };
+ indicator "Scroll Lock" { left= 433; };
+ text.top= 55;
+ text.color= "black";
+ text "NumLockLabel" { left= 378; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 52;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 91;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN", color="grey20" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 21 },
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>, { <RCTL>, 21 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 91;
+ left= 312;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 91;
+ left= 376;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "default" geometry
+
+xkb_geometry "pc102" {
+
+ description= "Generic 102";
+ width= 470;
+ height= 210;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
+ shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "RTRN" {
+ { [16,0],[ 43,0],[43,37],[2,37],[2,19],[16,19] },
+ { [18,1],[ 41,1],[41,36],[4,36],[4,20],[18,20] } };
+ shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } };
+ shape "LFSH" { { [ 25,18] }, { [2,1], [ 23,16] } };
+ shape "RTSH" { { [ 49,18] }, { [2,1], [ 47,16] } };
+ shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
+ shape "SPCE" { { [134,18] }, { [2,1], [132,16] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
+
+ shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 52;
+ left= 377;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 67;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 382; };
+ indicator "Caps Lock" { left= 407; };
+ indicator "Scroll Lock" { left= 433; };
+ text.top= 55;
+ text.color= "black";
+ text "NumLockLabel" { left= 378; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 52;
+ row {
+ top= 1;
+ keys { { <ESC>, "TABK", color="grey20" },
+ { <FK01>, 10 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 91;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>, <BKSL>,
+ { <BKSP>, color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, -15, "RTRN", color="grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <LSGT>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 20 },
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>, { <RCTL>, 20 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 91;
+ left= 312;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 91;
+ left= 376;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "pc102" geometry
+
+xkb_geometry "pc104" {
+
+ description= "Generic 104";
+ width= 470;
+ height= 210;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
+ shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
+ shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } };
+ shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
+ shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
+ shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } };
+ shape "SPCE" { { [113,18] }, { [2,1], [111,16] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
+
+ shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 52;
+ left= 377;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 67;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 382; };
+ indicator "Caps Lock" { left= 407; };
+ indicator "Scroll Lock" { left= 433; };
+ text.top= 55;
+ text.color= "black";
+ text "NumLockLabel" { left= 378; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 52;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 91;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN", color="grey20" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "SMOD";
+ key.color= "grey20";
+ keys { { <LCTL>, "MODK" }, <LWIN>, <LALT>,
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>, <RWIN>, <MENU>, <RCTL>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 91;
+ left= 312;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 91;
+ left= 376;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "pc104" geometry
+
+xkb_geometry "pc105" {
+
+ description= "Generic 105";
+ width= 470;
+ height= 210;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } };
+ shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
+ shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
+ shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } };
+ shape "LFSH" { { [ 25,18] }, { [2,1], [ 23,16] } };
+ shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } };
+ shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
+ shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } };
+ shape "SPCE" { { [113,18] }, { [2,1], [111,16] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } };
+
+ shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 52;
+ left= 377;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 67;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 382; };
+ indicator "Caps Lock" { left= 407; };
+ indicator "Scroll Lock" { left= 433; };
+ text.top= 55;
+ text.color= "black";
+ text "NumLockLabel" { left= 378; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 52;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 20 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 91;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN", color="grey20" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <LSGT>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "SMOD";
+ key.color= "grey20";
+ keys { { <LCTL>, "MODK" }, <LWIN>, <LALT>,
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>, <RWIN>, <MENU>, <RCTL>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 91;
+ left= 312;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 91;
+ left= 376;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "pc105" geometry
+
+
+// Added for japanese 106 keyboard
+// by tsuka@kawalab.dnj.ynu.ac.jp .
+xkb_geometry "jp106" {
+
+ description= "Japanese 106";
+ width= 470;
+ height= 180;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } };
+ shape "RTRN" {
+ { [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } ,
+ { [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
+ shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
+
+ shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 25;
+ left= 375;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 40;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 379; };
+ indicator "Caps Lock" { left= 404; };
+ indicator "Scroll Lock" { left= 429; };
+ text.top= 28;
+ text.color= "black";
+ text "NumLockLabel" { left= 378; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 25;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"},
+ { <FK07>, color="grey20"}, {<FK08>,color="grey20"},
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 61;
+ row {
+ top= 1;
+ keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>,
+ <AE03>, <AE04>, <AE05>, <AE06>, <AE07>,
+ <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ <AE13>, { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <AC12>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ <AB11>, { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 20 },<NFER>,
+ { <SPCE>, "SPCE", color="white" },
+ <XFER>,<HKTG>,<RALT>, { <RCTL>, 17 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 61;
+ left= 310;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 61;
+ left= 375;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "jp106" geometry
+
+// Added for brazilian ABNT2 by Ricardo Y. Igarashi(iga@that.com.br)
+xkb_geometry "abnt2" {
+
+ description= "Brazilian ABNT2";
+ width= 470;
+ height= 180;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } };
+ shape "RTRN" {
+ { [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } ,
+ { [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "LFSH" { { [ 24,18] }, { [2,1], [ 22,17] } };
+ shape "RTSH" { { [ 31,18] }, { [2,1], [ 29,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "SPCE" { { [133,18] }, { [2,1], [131,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
+
+ shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 25;
+ left= 375;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 40;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 379; };
+ indicator "Caps Lock" { left= 404; };
+ indicator "Scroll Lock" { left= 429; };
+ text.top= 28;
+ text.color= "black";
+ text "NumLockLabel" { left= 378; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 403; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 25;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"},
+ { <FK07>, color="grey20"}, {<FK08>,color="grey20"},
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 61;
+ row {
+ top= 1;
+ keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>,
+ <AE03>, <AE04>, <AE05>, <AE06>, <AE07>,
+ <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <AC12>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" }, <BKSL>,
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ <AB11>, { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 20 },
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>, { <RCTL>, 17 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 61;
+ left= 310;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 61;
+ left= 375;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "abnt2" geometry
+
+
+// Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
+
+xkb_geometry "pc86" {
+ description = "Noname keyboard with 86 keys, DE";
+ width = 287;
+ height = 143;
+ baseColor = "grey20";
+
+ shape "EDGE" { cornerRadius = 2, { [287, 143] } };
+ shape "LED" { cornerRadius = 2, { [3, 3] } };
+ shape "LEDS" { cornerRadius = 0, { [75, 5] } };
+ shape "KEYS" { cornerRadius = 0, { [271, 109] } };
+
+ outline "Edges" {
+ top = 0;
+ left = 0;
+ shape = "EDGE";
+ color = "black";
+ };
+
+ solid "KeyPanel" {
+ shape = "KEYS";
+ left = 8;
+ top = 22;
+ color = "grey70";
+ };
+
+ solid "LedPanel" {
+ shape = "LEDS";
+ left = 212;
+ top = 10;
+ color = "black";
+ };
+
+ indicator.onColor = "green";
+ indicator.offColor = "green30";
+ indicator.top = 11;
+ indicator.shape = "LED";
+ indicator "Num Lock" { left = 212 + 7; };
+ indicator "Caps Lock" { left = 212 + 23; };
+ indicator "Scroll Lock" { left = 212 + 39; };
+ text.fontSize = 6;
+ text.top = 10;
+ text.color = "white";
+ text "NumLockLabel" { left = 212 + 7 + 5; text = "Num\nLock"; };
+ text "CapsLockLabel" { left = 212 + 23 + 5; text = "Caps\nLock"; };
+ text "ScrollLockLabel" { left = 212 + 39 + 5; text = "Scroll\nLock"; };
+
+ shape.cornerRadius = 1;
+ shape "SMALL" { { [15, 12] }, { [1.5, 0], [13.5, 10] } };
+ shape "NARR" { { [13, 18] }, { [1.5, 0], [11.5, 14] } };
+ shape "NORM" { { [18, 18] }, { [3, 0], [15, 14] } };
+ shape "NORM_1" { { [22, 18] }, { [4, 0], [22, 18] },
+ { [7, 0], [19, 14] } };
+ shape "WIDER" { { [23, 18] }, { [3, 0], [20, 14] } };
+ shape "WIDEST" { { [27, 18] }, { [3, 0], [24, 14] } };
+ shape "SPCE" { { [75, 18] }, { [3, 0], [72, 14] } };
+
+ section "Function" {
+ key.shape = "SMALL";
+ key.gap = 0.99;
+ key.color = "grey30";
+ left = 8;
+ top = 22;
+ row {
+ top = 1;
+ keys { <ESC>,
+ <FK01>, <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>,
+ <FK09>, <FK10>, <FK11>, <FK12>,
+ <NMLK>, <PRSC>, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Control" {
+ key.shape = "NORM";
+ key.gap = 1;
+ key.color = "grey30";
+ left = 8;
+ top = 111;
+ row {
+ top = 1;
+ keys { <LCTL>, <FN>, <LALT>,
+ { <SPCE>, shape="SPCE", 39 }, <RALT>,
+ <INS>, <DELE>
+ };
+ };
+ }; // End of "Control" section
+
+ section "Editing" {
+ key.shape = "NARR";
+ key.gap = 1;
+ key.color = "grey30";
+ left = 265;
+ top = 34;
+ row.vertical = True;
+ row {
+ top = 1;
+ keys { <HOME>, <PGUP>, <PGDN>, <END> };
+ };
+ }; // End of "Editing" section
+
+ section "Navigation" {
+ key.gap = 1;
+ key.shape = "NARR";
+ key.color = "grey30";
+ left = 236;
+ top = 92;
+ row {
+ left = 14;
+ top = 1;
+ keys { <UP> };
+ };
+ row {
+ top = 20;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Navigation" section
+
+ section "Alpha" {
+ key.gap = 1;
+ key.shape = "NORM";
+ key.color = "grey10";
+ left = 8;
+ top = 35;
+ row {
+ top = 1;
+ keys { { <AE01>, shape="NORM_1" }, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, shape="WIDER", color="grey30" }
+ };
+ };
+ row {
+ top = 20;
+ keys { { <TAB>, shape="NARR", color="grey30" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <AD13>, shape="NARR" }
+ };
+ };
+ row {
+ top = 39;
+ keys { { <CAPS>, color="grey30" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, shape="WIDEST", color="grey30" }
+ };
+ };
+ row {
+ top = 58;
+ keys { { <LFSH>, shape="WIDEST", color="grey30" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, shape="WIDER", color="grey30" }
+ };
+ };
+ row {
+ left = 57;
+ top = 77;
+ keys { <AE00>, <LSGT> };
+ };
+ }; // End of "Alpha" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+}; // End of "pc86" geometry
diff --git a/data/xkbdata/geometry/sgi/Makefile.am b/data/xkbdata/geometry/sgi/Makefile.am
new file mode 100644
index 000000000..a1cde34a6
--- /dev/null
+++ b/data/xkbdata/geometry/sgi/Makefile.am
@@ -0,0 +1,5 @@
+xkbdata_geometry_sgidir = $(datadir)/X11/xkb/geometry/sgi
+dist_xkbdata_geometry_sgi_DATA = \
+ indigo \
+ indy \
+ O2
diff --git a/data/xkbdata/geometry/sgi/Makefile.in b/data/xkbdata/geometry/sgi/Makefile.in
new file mode 100644
index 000000000..19ace695d
--- /dev/null
+++ b/data/xkbdata/geometry/sgi/Makefile.in
@@ -0,0 +1,260 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_geometry_sgidir = $(datadir)/X11/xkb/geometry/sgi
+dist_xkbdata_geometry_sgi_DATA = \
+ indigo \
+ indy \
+ O2
+
+subdir = geometry/sgi
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_geometry_sgi_DATA)
+
+DIST_COMMON = $(dist_xkbdata_geometry_sgi_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu geometry/sgi/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_geometry_sgiDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_geometry_sgiDATA: $(dist_xkbdata_geometry_sgi_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_geometry_sgidir)
+ @list='$(dist_xkbdata_geometry_sgi_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_geometry_sgiDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_geometry_sgidir)/$$f"; \
+ $(dist_xkbdata_geometry_sgiDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_geometry_sgidir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_geometry_sgiDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_geometry_sgi_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_geometry_sgidir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_geometry_sgidir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_geometry_sgidir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_geometry_sgiDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_geometry_sgiDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_geometry_sgiDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_geometry_sgiDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/geometry/sgi/O2 b/data/xkbdata/geometry/sgi/O2
new file mode 100644
index 000000000..52ba1a63f
--- /dev/null
+++ b/data/xkbdata/geometry/sgi/O2
@@ -0,0 +1,618 @@
+// $Xorg: O2,v 1.3 2000/08/17 19:54:36 cpqbld Exp $
+//
+// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
+//
+// Permission to use, copy, modify, and distribute this
+// software and its documentation for any purpose and without
+// fee is hereby granted, provided that the above copyright
+// notice appear in all copies and that both that copyright
+// notice and this permission notice appear in supporting
+// documentation, and that the name of Silicon Graphics not be
+// used in advertising or publicity pertaining to distribution
+// of the software without specific prior written permission.
+// Silicon Graphics makes no representation about the suitability
+// of this software for any purpose. It is provided "as is"
+// without any express or implied warranty.
+//
+// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+// GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+// THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// $XFree86$
+//
+default xkb_geometry "pc101" {
+
+ // This is an approximate layout for a 101-key (US/ASCII) SGI
+ // keyboard. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes of a few keys by eye. I didn't actually
+ // *measure* a real keyboard.
+
+ description= "101-key keyboard for Silicon Graphics O2";
+
+ width= 448;
+ height= 162;
+
+ shape "EDGE" {
+ cornerRadius= 2,
+ { [ 15, 0 ], [ 433, 0 ], [ 433, 10 ], [ 448, 10 ],
+ [ 448, 162 ], [ 0, 162 ], [ 0, 10 ], [ 15, 10 ] }
+ };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } };
+ shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } };
+ shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } };
+ shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "LOGO" { { [ 12,12] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 6;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 25;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 19}, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11}, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11}, <FK10>, <FK11>, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 58;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color= "grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN", color="grey20" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 20 },
+ { <SPCE>, "SPCE",color="white" },
+ <RALT>, { <RCTL>, 20 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 25;
+ left= 299;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row {
+ top= 33;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 53;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 91;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 110;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 3, 1.5] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 25;
+ left= 364;
+ color= "grey10";
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 40.5;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 372; };
+ indicator "Caps Lock" { left= 397; };
+ indicator "Scro llLock" { left= 422; };
+
+ text.font= "helvetica";
+ text.weight= "bold";
+ text.slant= "r";
+ text.fontWidth= "normal";
+ text.fontSize= 12;
+ text.top= 39.5;
+ text.color= "black";
+ text "NumLockLabel" { left= 376.5; text="1"; };
+ text "CapsLockLabel" { left= 401.5; text="A"; };
+ text "ScrollLockLabel" { left= 426.5; text="S"; };
+
+ logo "SGILogoImage" {
+ top= 26.5;
+ left= 396;
+ name= "SGI";
+ shape= "LOGO";
+ };
+ text.font= "helvetica";
+ text.weight= "bold";
+ text.slant= "o";
+ text.fontWidth= "narrow";
+ text.fontSize= 18;
+ text "SiliconLogoText" {
+ top= 27;
+ left= 375;
+ width= 20;
+ text= "Silicon";
+ };
+ text "GraphicsLogoText" {
+ top= 27;
+ left= 409;
+ width= 20;
+ text= "Graphics";
+ };
+
+ section "Keypad" {
+ top= 58;
+ left= 363;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+};
+
+xkb_geometry "pc102" {
+
+ // This is an approximate layout for 102-key SGI international
+ // keyboards. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes of a few keys by eye. I didn't actually
+ // *measure* a real keyboard.
+
+ description= "Silicon Graphics 102-key Keyboard";
+ width= 470;
+ height= 193;
+
+ shape.cornerRadius= 1;
+ shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } };
+ shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [35,18] }, { [2,1], [33,17] } };
+ shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" {
+ approx = { [ 0, 0], [26,37] },
+ { [ 0, 0], [26, 0], [26,37],
+ [ 5,37], [ 5,18], [ 0,18] },
+ { [ 1, 1], [24, 1], [24,36],
+ [ 7,36], [ 7,17], [ 1,17] }
+ };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } };
+ shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } };
+ shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 50;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 18}, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 10}, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 10}, <FK10>, <FK11>, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 83;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color= "grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color= "grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <RTRN>, "RTRN", color= "grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color= "grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <BKSL>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>,
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color= "grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>,
+ { <LALT>, 19 },
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>,
+ { <RCTL>, 19 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 50;
+ left= 308;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row {
+ top= 33;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 53;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 91;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 110;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 50;
+ left= 375;
+ color= "grey10";
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 64.5;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 384; };
+ indicator "Caps Lock" { left= 409; };
+ indicator "Scroll Lock" { left= 434; };
+ text.top= 52;
+ text.color= "black";
+ text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
+
+ logo "SGILogoImage" {
+ top= 17;
+ left= 22;
+ name= "SGI";
+ shape= "LOGO";
+ };
+ text "SGILogoText" {
+ top= 21;
+ left= 40;
+ width= 50;
+ text= "SiliconGraphics";
+ font= "helvetica";
+ slant= "o";
+ weight= "bold";
+ setWidth= "narrow";
+ fontSize= 24;
+ };
+
+ section "Keypad" {
+ top= 83;
+ left= 374;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+};
+
+xkb_geometry "jp106" {
+ description= "Silicon Graphics 106-key Japanese keyboard";
+ width= 442;
+ height= 167;
+
+ shape "EDGE" { cornerRadius= 2, { [ 442, 167 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } };
+ shape "RTRN" {
+ { [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } ,
+ { [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
+ shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ logo "SGILogoImage" {
+ top= 5;
+ left= 6;
+ name= "SGI";
+ shape= "LOGO";
+ };
+
+ text "SGILogoText" {
+ top= 9;
+ left= 25;
+ width= 50;
+ text= "SiliconGraphics";
+ font= "helvetica";
+ slant= "o";
+ weight= "bold";
+ fontWidth= "narrow";
+ fontSize= 24;
+ };
+
+ shape "LEDS" { cornerRadius= 0.1, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 25;
+ left= 362;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 40;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 366; };
+ indicator "Caps Lock" { left= 391; };
+ indicator "Scroll Lock" { left= 416; };
+ text.top= 28;
+ text.color= "black";
+ text "NumLockLabel" { left= 366; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 391; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 416; text="Scroll\nLock"; };
+
+ section.left= 5;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 25;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"},
+ { <FK07>, color="grey20"}, {<FK08>,color="grey20"},
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 61;
+ row {
+ top= 1;
+ keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>,
+ <AE03>, <AE04>, <AE05>, <AE06>, <AE07>,
+ <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ <AE13>, { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <AC12>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ <AB11>, { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 20 },<NFER>,
+ { <SPCE>, "SPCE", color="white" },
+ <XFER>,<HKTG>,<RALT>, { <RCTL>, 17 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 61;
+ left= 296;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 61;
+ left= 361;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "jp106" geometry
+
diff --git a/data/xkbdata/geometry/sgi/indigo b/data/xkbdata/geometry/sgi/indigo
new file mode 100644
index 000000000..f7b7a6867
--- /dev/null
+++ b/data/xkbdata/geometry/sgi/indigo
@@ -0,0 +1,413 @@
+// $Xorg: indigo,v 1.3 2000/08/17 19:54:37 cpqbld Exp $
+//
+// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
+//
+// Permission to use, copy, modify, and distribute this
+// software and its documentation for any purpose and without
+// fee is hereby granted, provided that the above copyright
+// notice appear in all copies and that both that copyright
+// notice and this permission notice appear in supporting
+// documentation, and that the name of Silicon Graphics not be
+// used in advertising or publicity pertaining to distribution
+// of the software without specific prior written permission.
+// Silicon Graphics makes no representation about the suitability
+// of this software for any purpose. It is provided "as is"
+// without any express or implied warranty.
+//
+// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+// GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+// THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// $XFree86$
+//
+default xkb_geometry "pc101" {
+
+ // This is an approximate layout for a 101-key (US/ASCII) SGI
+ // keyboard. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes of a few keys by eye. I didn't actually
+ // *measure* a real keyboard.
+
+ description= "Silicon Graphics 101-key keyboard";
+
+ width= 472;
+ height= 193;
+
+ shape "EDGE" { cornerRadius= 2, { [ 472, 193 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } };
+ shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } };
+ shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } };
+ shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 50;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 19}, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11}, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11}, <FK10>, <FK11>, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 83;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color= "grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN", color="grey20" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 20 },
+ { <SPCE>, "SPCE",color="white" },
+ <RALT>, { <RCTL>, 20 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 50;
+ left= 312;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row {
+ top= 33;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 53;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 91;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 110;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 50;
+ left= 377;
+ color= "grey10";
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 64.5;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 386; };
+ indicator "Caps Lock" { left= 411; };
+ indicator "Scroll Lock" { left= 436; };
+ text.top= 52;
+ text.color= "black";
+ text "NumLockLabel" { left= 382.5; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 407; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 432; text="Scroll\nLock"; };
+
+ logo "SGILogoImage" {
+ top= 17;
+ left= 22;
+ name= "SGI";
+ shape= "LOGO";
+ };
+ text "SGILogoText" {
+ top= 21;
+ left= 40;
+ width= 50;
+ text= "SiliconGraphics";
+ font= "helvetica";
+ slant= "o";
+ weight= "bold";
+ fontWidth= "narrow";
+ fontSize= 24;
+ };
+
+ section "Keypad" {
+ top= 83;
+ left= 376;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+};
+xkb_geometry "pc102" {
+
+ // This is an approximate layout for 102-key SGI international
+ // keyboards. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes of a few keys by eye. I didn't actually
+ // *measure* a real keyboard.
+
+ description= "Silicon Graphics 102-key Keyboard";
+ width= 470;
+ height= 193;
+
+ shape.cornerRadius= 1;
+ shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } };
+ shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [35,18] }, { [2,1], [33,17] } };
+ shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" {
+ approx = { [ 0, 0], [26,37] },
+ { [ 0, 0], [26, 0], [26,37],
+ [ 5,37], [ 5,18], [ 0,18] },
+ { [ 1, 1], [24, 1], [24,36],
+ [ 7,36], [ 7,17], [ 1,17] }
+ };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } };
+ shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } };
+ shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 50;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 18}, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 10}, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 10}, <FK10>, <FK11>, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 83;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color= "grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color= "grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <RTRN>, "RTRN", color= "grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color= "grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <BKSL>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>,
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color= "grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>,
+ { <LALT>, 19 },
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>,
+ { <RCTL>, 19 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 50;
+ left= 308;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row {
+ top= 33;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 53;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 91;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 110;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 50;
+ left= 375;
+ color= "grey10";
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 64.5;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 384; };
+ indicator "Caps Lock" { left= 409; };
+ indicator "Scroll Lock" { left= 434; };
+ text.top= 52;
+ text.color= "black";
+ text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
+
+ logo "SGILogoImage" {
+ top= 17;
+ left= 22;
+ name= "SGI";
+ shape= "LOGO";
+ };
+ text "SGILogoText" {
+ top= 21;
+ left= 40;
+ width= 50;
+ text= "SiliconGraphics";
+ font= "helvetica";
+ slant= "o";
+ weight= "bold";
+ setWidth= "narrow";
+ fontSize= 24;
+ };
+
+ section "Keypad" {
+ top= 83;
+ left= 374;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+};
diff --git a/data/xkbdata/geometry/sgi/indy b/data/xkbdata/geometry/sgi/indy
new file mode 100644
index 000000000..fc5d485a6
--- /dev/null
+++ b/data/xkbdata/geometry/sgi/indy
@@ -0,0 +1,601 @@
+// $Xorg: indy,v 1.3 2000/08/17 19:54:37 cpqbld Exp $
+//
+// Copyright (c) 1996 by Silicon Graphics Computer Systems, Inc.
+//
+// Permission to use, copy, modify, and distribute this
+// software and its documentation for any purpose and without
+// fee is hereby granted, provided that the above copyright
+// notice appear in all copies and that both that copyright
+// notice and this permission notice appear in supporting
+// documentation, and that the name of Silicon Graphics not be
+// used in advertising or publicity pertaining to distribution
+// of the software without specific prior written permission.
+// Silicon Graphics makes no representation about the suitability
+// of this software for any purpose. It is provided "as is"
+// without any express or implied warranty.
+//
+// SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+// SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+// AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+// GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+// THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+// $XFree86$
+//
+default xkb_geometry "pc101" {
+
+ // This is an approximate layout for a 101-key (US/ASCII) SGI
+ // keyboard. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes of a few keys by eye. I didn't actually
+ // *measure* a real keyboard.
+
+ description= "Silicon Graphics 101-key keyboard";
+
+ width= 472;
+ height= 193;
+
+ shape "EDGE" { cornerRadius= 2, { [ 472, 193 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } };
+ shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } };
+ shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } };
+ shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 50;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 19}, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11}, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11}, <FK10>, <FK11>, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 83;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color= "grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, { <RTRN>, "RTRN", color="grey20" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 20 },
+ { <SPCE>, "SPCE",color="white" },
+ <RALT>, { <RCTL>, 20 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 50;
+ left= 312;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row {
+ top= 33;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 53;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 91;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 110;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 50;
+ left= 377;
+ color= "grey10";
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 64.5;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 386; };
+ indicator "Caps Lock" { left= 411; };
+ indicator "Scroll Lock" { left= 436; };
+ text.top= 52;
+ text.color= "black";
+ text "NumLockLabel" { left= 382.5; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 407; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 432; text="Scroll\nLock"; };
+
+ logo "SGILogoImage" {
+ top= 17;
+ left= 22;
+ name= "SGI";
+ shape= "LOGO";
+ };
+ text "SGILogoText" {
+ top= 21;
+ left= 40;
+ width= 50;
+ text= "SiliconGraphics";
+ font= "helvetica";
+ slant= "o";
+ weight= "bold";
+ fontWidth= "narrow";
+ fontSize= 24;
+ };
+
+ section "Keypad" {
+ top= 83;
+ left= 376;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+};
+
+xkb_geometry "pc102" {
+
+ // This is an approximate layout for 102-key SGI international
+ // keyboards. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes of a few keys by eye. I didn't actually
+ // *measure* a real keyboard.
+
+ description= "Silicon Graphics 102-key Keyboard";
+ width= 470;
+ height= 193;
+
+ shape.cornerRadius= 1;
+ shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } };
+ shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [35,18] }, { [2,1], [33,17] } };
+ shape "TABK" { { [27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" {
+ approx = { [ 0, 0], [26,37] },
+ { [ 0, 0], [26, 0], [26,37],
+ [ 5,37], [ 5,18], [ 0,18] },
+ { [ 1, 1], [24, 1], [24,36],
+ [ 7,36], [ 7,17], [ 1,17] }
+ };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } };
+ shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } };
+ shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [130,18] }, { [2,1], [128,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 19;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 50;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 18}, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 10}, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 10}, <FK10>, <FK11>, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 83;
+ row {
+ top= 1;
+ keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color= "grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color= "grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <RTRN>, "RTRN", color= "grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color= "grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <BKSL>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color= "grey20" }, <LSGT>,
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color= "grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>,
+ { <LALT>, 19 },
+ { <SPCE>, "SPCE", color="white" },
+ <RALT>,
+ { <RCTL>, 19 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 50;
+ left= 308;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <PRSC>, <SCLK>, <PAUS> };
+ };
+ row {
+ top= 33;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 53;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 91;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 110;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 1, 3 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 50;
+ left= 375;
+ color= "grey10";
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 64.5;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 384; };
+ indicator "Caps Lock" { left= 409; };
+ indicator "Scroll Lock" { left= 434; };
+ text.top= 52;
+ text.color= "black";
+ text "NumLockLabel" { left= 380.5; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 405; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; };
+
+ logo "SGILogoImage" {
+ top= 17;
+ left= 22;
+ name= "SGI";
+ shape= "LOGO";
+ };
+ text "SGILogoText" {
+ top= 21;
+ left= 40;
+ width= 50;
+ text= "SiliconGraphics";
+ font= "helvetica";
+ slant= "o";
+ weight= "bold";
+ setWidth= "narrow";
+ fontSize= 24;
+ };
+
+ section "Keypad" {
+ top= 83;
+ left= 374;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+};
+
+xkb_geometry "jp106" {
+ description= "Silicon Graphics 106-key Japanese keyboard";
+ width= 442;
+ height= 167;
+
+ shape "EDGE" { cornerRadius= 2, { [ 442, 167 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
+ shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } };
+ shape "RTRN" {
+ { [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } ,
+ { [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } };
+ shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
+ shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ logo "SGILogoImage" {
+ top= 5;
+ left= 6;
+ name= "SGI";
+ shape= "LOGO";
+ };
+
+ text "SGILogoText" {
+ top= 9;
+ left= 25;
+ width= 50;
+ text= "SiliconGraphics";
+ font= "helvetica";
+ slant= "o";
+ weight= "bold";
+ fontWidth= "narrow";
+ fontSize= 24;
+ };
+
+ shape "LEDS" { cornerRadius= 0.1, { [ 76 ,20 ] } };
+ shape "LED" { cornerRadius= 0, { [ 5, 1 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 25;
+ left= 362;
+ color= "grey10";
+ };
+
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 40;
+ indicator.shape= "LED";
+ indicator "Num Lock" { left= 366; };
+ indicator "Caps Lock" { left= 391; };
+ indicator "Scroll Lock" { left= 416; };
+ text.top= 28;
+ text.color= "black";
+ text "NumLockLabel" { left= 366; text="Num\nLock"; };
+ text "CapsLockLabel" { left= 391; text="Caps\nLock"; };
+ text "ScrollLockLabel" { left= 416; text="Scroll\nLock"; };
+
+ section.left= 5;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 25;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" },
+ { <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"},
+ { <FK07>, color="grey20"}, {<FK08>,color="grey20"},
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 8 }, <SCLK>, <PAUS>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 61;
+ row {
+ top= 1;
+ keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>,
+ <AE03>, <AE04>, <AE05>, <AE06>, <AE07>,
+ <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ <AE13>, { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <CAPS>, "CAPS", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <AC12>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "LFSH", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ <AB11>, { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LCTL>, { <LALT>, 20 },<NFER>,
+ { <SPCE>, "SPCE", color="white" },
+ <XFER>,<HKTG>,<RALT>, { <RCTL>, 17 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 61;
+ left= 296;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 61;
+ left= 361;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+}; // End of "jp106" geometry
diff --git a/data/xkbdata/geometry/sony b/data/xkbdata/geometry/sony
new file mode 100644
index 000000000..4e69f0e9a
--- /dev/null
+++ b/data/xkbdata/geometry/sony
@@ -0,0 +1,180 @@
+// $Xorg: sony,v 1.4 2001/02/09 02:05:51 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+default xkb_geometry "nwp5461" {
+
+ description= "Sony NEWS NWS-5000 Keyboard";
+ width= 425;
+ height= 190;
+
+ shape.cornerRadius= 1;
+ shape "NORM" { { [18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [28,18] }, { [2,1], [26,17] } };
+ shape "TABK" { { [28,18] }, { [2,1], [26,17] } };
+ shape "BKSL" { { [28,18] }, { [2,1], [26,17] } };
+ shape "RTRN" {
+ approx = { [15, 0], [33,37] },
+ { [15, 0], [33, 0], [33,37],
+ [ 0,37], [ 0,19], [15,19] },
+ { [17, 1], [31, 1], [31,36],
+ [ 2,36], [ 2,20], [17,20] }
+ };
+ shape "SHFT" { { [42,18] }, { [2,1], [40,17] } };
+ shape "MODK" { { [33,18] }, { [2,1], [31,17] } };
+ shape "SPCE" { { [85,18] }, { [2,1], [83,17] } };
+ shape "KPEN" { { [18,38] }, { [2,1], [16,37] } };
+ shape "STOP" { { [28,18] }, { [2,1], [26,17] } };
+ shape "CUT" { { [55,18] }, { [2,1], [53,17] } };
+ shape "EXEC" { { [32,18] }, { [2,1], [30,17] } };
+ shape "UNK" { { [18,18] }, { [2,1], [16,17] } };
+ shape "CAPS" { { [18,18] }, { [2,1], [16,17] } };
+ shape "FKEY" { { [23,18] }, { [2,1], [21,17] } };
+
+ section.left= 13;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 55;
+ row {
+ top= 1;
+ left= 37;
+ key.shape="FKEY";
+ keys { <FK01>, <FK02>, <FK03>, <FK04>, <FK05>,
+ { <FK06>, 5 }, <FK07>, <FK08>, <FK09>, <FK10>,
+ { <FK11>, 5 }, <FK12>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 80;
+ row {
+ top= 1;
+ keys { { <ESC>, color="grey20" } ,
+ <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>,
+ <AE09>, <AE10>, <AE11>, <AE12>,
+ <BKSL>, { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { { <TAB>, "TABK", color="grey20" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <DELE>, color="grey20" },
+ { <RTRN>, "RTRN", -14, color="grey20" }
+ };
+ };
+ row {
+ top= 39;
+ keys { { <LCTL>, "MODK", color="grey20" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <TLDE>
+ };
+ };
+ row {
+ top= 58;
+ keys { { <LFSH>, "SHFT", color="grey20" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
+ { <RTSH>, "SHFT", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ key.shape= "MODK";
+ key.color= "grey20";
+ keys { <LALT>, { <CAPS>, "CAPS" },
+ { <STOP>, "STOP", color="white" },
+ { <SPCE>, "SPCE", color="white" },
+ { <CUT>, "CUT", color="white" },
+ { <UNK0>, "UNK" }, { <UNK1>, "UNK" },
+ { <EXEC>, "EXEC" }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 80;
+ left= 312;
+ key.color= "grey20";
+ row {
+ top= 1;
+ keys { <HELP> };
+ };
+ row {
+ top= 20;
+ keys { <INS> };
+ };
+ row {
+ top= 39;
+ keys { <CLR> };
+ };
+ row {
+ top= 58;
+ keys { <PGUP> };
+ };
+ row {
+ top= 77;
+ keys { <PGDN> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 61;
+ left= 334;
+ row {
+ top= 1;
+ key.color= "grey20";
+ keys { { <KPMU>, 19 }, <KPDV>, <KPAD> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPSU>, color="grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6>, { <KPSP>, color="grey20" } };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN", color="grey20" } };
+ };
+ row {
+ top= 77;
+ keys { <KP0>, { <KPDC>, color="grey20" }, <UP> };
+ };
+ row {
+ top= 96;
+ key.color= "grey20";
+ keys { <KPTB>, <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Keypad" section
+
+}; // End of "default" geometry
diff --git a/data/xkbdata/geometry/sun b/data/xkbdata/geometry/sun
new file mode 100644
index 000000000..1b8117a8f
--- /dev/null
+++ b/data/xkbdata/geometry/sun
@@ -0,0 +1,1338 @@
+// $Xorg: sun,v 1.4 2001/02/09 02:05:51 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/geometry/sun,v 1.6 2001/12/14 20:01:58 dawes Exp $
+//
+xkb_geometry "type4" {
+
+ // This is an approximate layout for a (US/ASCII) Sun Type4 US
+ // keyboard.
+
+ description= "Sun Type4 keyboard";
+
+ width= 452;
+ height= 185;
+
+ shape "EDGE" { cornerRadius= 2, { [ 452, 185 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "DELE" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "RTRN" {
+ approx = { [ 0, 0], [28,37] },
+ { [ 0, 0], [28, 0], [28,37],
+ [ 5,37], [ 5,19], [ 0,19] },
+ { [ 1, 1], [26, 1], [26,36],
+ [ 7,36], [ 7,18], [ 1,18] }
+ };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "LFSH" { { [ 41,18] }, { [2,1], [39,17] } };
+ shape "RTSH" { { [ 33,18] }, { [2,1], [31,17] } };
+ shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [170,18] }, { [2,1], [168,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 17;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+
+ section "Alpha" {
+ top= 58;
+ row {
+ top= 1;
+ keys { <STOP>, <AGAI>,
+ { <FK01>, 9 }, <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>,
+ <FK09>, <FK10>, <FK11>, <FK12>,
+ <BKSL>, { <DELE>, "DELE" },
+ { <PAUS>, 9 }, <PRSC>, <SCLK>, <NMLK>
+ };
+ };
+ row {
+ top= 20;
+ keys { <PROP>, <UNDO>, { <ESC>, 9 },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
+ <AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
+ <AE11>, <AE12>,
+ { <BKSP>, "BKSP" },
+ { <KPEQ>, 9 }, <KPDV>, <KPMU>, <KPSU>
+
+ };
+ };
+ row {
+ top= 39;
+ keys { <FRNT>, <COPY>,
+ { <TAB>, 9, shape="TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>, { <RTRN>, "RTRN" },
+ { <KP7>, 9 }, <KP8>, <KP9>, { <KPAD>, "KPAD" }
+ };
+ };
+ row {
+ top= 58;
+ keys { <OPEN>, <PAST>,
+ { <LCTL>, 9, shape="LCTL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <TLDE>,
+ { <KP4>, 33 }, <KP5>, <KP6>
+ };
+ };
+ row {
+ top= 77;
+ keys { <FIND>, <CUT>,
+ { <LFSH>, 9 , shape="LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH" }, <LNFD>,
+ { <KP1>, 9} , <KP2>, <KP3>, { <KPEN>, "KPAD" }
+ };
+ };
+ row {
+ top= 96;
+ keys { { <HELP>, "HELP" }, { <CAPS>, 9 },
+ <LALT>, <LMTA>, { <SPCE>, "SPCE" },
+ <RMTA>, <COMP>, <ALGR>,
+ { <KP0>, 9, shape="KP0" }, <KPDL>
+ };
+ };
+ }; // End of "Alpha" section
+
+ shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } };
+ shape "LED" { cornerRadius= 0, { [ 7, 4 ] } };
+ solid "LedPanel" {
+ shape= "LEDS";
+ top= 28;
+ left= 358;
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 43;
+ indicator.shape= "LED";
+ indicator "Caps Lock" { left= 364; };
+ indicator "Compose" { left= 383; };
+ indicator "Scroll Lock" { left= 402; };
+ indicator "Num Lock" { left= 421; };
+ text.top= 34;
+ text.color= "black";
+ text "CapsLockLabel" { left= 364; text="Caps\nLock"; };
+ text "ComposeLabel" { left= 380; text="Compose"; };
+ text "ScrollLockLabel" { left= 402; text="Scroll\nLock"; };
+ text "NumLockLabel" { left= 421; text="Num\nLock"; };
+};
+
+default xkb_geometry "type5" {
+
+ // This is an approximate layout for a (US/ASCII) Sun Type5
+ // keyboard. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes.
+
+ description= "Sun Type5 keyboard";
+
+ width= 515;
+ height= 170;
+
+ shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
+ shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
+ shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [157,18] }, { [2,1], [155,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 14;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 24;
+ row {
+ top= 1;
+ keys { { <HELP>, "HELP" }, { <ESC>, 9 },
+ { <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 9 }, <SCLK>, <PAUS>,
+ { <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 61;
+ row {
+ top= 1;
+ keys { <STOP>, <AGAI>,
+ { <TLDE>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top= 58;
+ keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ keys { <FIND>, <CUT>, { <LCTL>, 9, shape="LCTL" },
+ <LALT>, <LMTA>,
+ { <SPCE>, "SPCE" },
+ <RMTA>, <COMP>, <ALGR>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 61;
+ left= 352;
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 61;
+ left= 420;
+ row {
+ top= 1;
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+};
+
+xkb_geometry "type5euro" {
+
+ // This is an approximate layout for a (US/ASCII) Sun Type5
+ // keyboard. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes.
+
+ description= "Sun Type5 keyboard";
+
+ width= 515;
+ height= 170;
+
+ shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "LFSH" { { [ 24,18] }, { [2,1], [22,17] } };
+ shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
+ shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [157,18] }, { [2,1], [155,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 14;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 24;
+ row {
+ top= 1;
+ keys { { <HELP>, "HELP" }, { <ESC>, 9 },
+ { <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 9 }, <SCLK>, <PAUS>,
+ { <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 61;
+ row {
+ top= 1;
+ keys { <STOP>, <AGAI>,
+ { <TLDE>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color="grey20" }
+ };
+ };
+ row {
+ top= 20;
+ keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <BKSL>, "BKSL" }
+ };
+ };
+ row {
+ top= 39;
+ keys { <FRNT>, <COPY>, { <CAPS>, 9, shape="CAPS" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top= 58;
+ keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" }, <LSGT>,
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ keys { <FIND>, <CUT>, { <LCTL>, 9, shape="LCTL" },
+ <LALT>, <LMTA>,
+ { <SPCE>, "SPCE" },
+ <RMTA>, <COMP>, <ALGR>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 61;
+ left= 352;
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 61;
+ left= 420;
+ row {
+ top= 1;
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+};
+
+
+xkb_geometry "type5unix" {
+
+ // This is an approximate layout for a (US/ASCII) Sun Type5
+ // keyboard. I just took a similar layout (101 key PC keyboard)
+ // and adjusted the sizes.
+
+ description= "Sun Type5 Unix keyboard";
+
+ width= 515;
+ height= 170;
+
+ shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } };
+ shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } };
+ shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [157,18] }, { [2,1], [155,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "LOGO" { { [ 16,16] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 14;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+ section "Function" {
+ top= 24;
+ row {
+ top= 1;
+ keys { { <HELP>, "HELP" }, { <NONE>, 9 },
+ { <FK01>, 19 }, <FK02>, <FK03>, <FK04>,
+ { <FK05>, 11 }, <FK06>, <FK07>, <FK08>,
+ { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
+ { <PRSC>, 9 }, <SCLK>, <PAUS>,
+ { <MUTE>, 9 }, <VOL->, <VOL+>, <POWR>
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ top= 61;
+ row {
+ top= 1;
+ keys { <STOP>, <AGAI>,
+ { <ESC>, 9}, <AE01>, <AE02>, <AE03>, <AE04>,
+ <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
+ <AE10>, <AE11>, <AE12>,
+ <BKSL>, <TLDE>
+ };
+ };
+ row {
+ top= 20;
+ keys { <PROP>, <UNDO>, { <TAB>, 9, shape="TABK" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <BKSP>, "BKSP" }
+ };
+ };
+ row {
+ top= 39;
+ keys { <FRNT>, <COPY>, { <LCTL>, 9, shape="LCTL" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>,
+ { <RTRN>, "RTRN" }
+ };
+ };
+ row {
+ top= 58;
+ keys { <OPEN>, <PAST>, { <LFSH>, 9 , shape="LFSH" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color="grey20" }
+ };
+ };
+ row {
+ top= 77;
+ keys { <FIND>, <CUT>, { <CAPS>, 9, shape="CAPS" },
+ <LALT>, <LMTA>,
+ { <SPCE>, "SPCE" },
+ <RMTA>, <COMP>, <ALGR>
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ top= 61;
+ left= 352;
+ row {
+ top= 1;
+ keys { <INS>, <HOME>, <PGUP> };
+ };
+ row {
+ top= 20;
+ keys { <DELE>, <END>, <PGDN> };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys { <UP> };
+ };
+ row {
+ top= 77;
+ keys { <LEFT>, <DOWN>, <RGHT> };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ top= 61;
+ left= 420;
+ row {
+ top= 1;
+ keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
+ };
+ row {
+ top= 20;
+ keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 39;
+ keys { <KP4>, <KP5>, <KP6> };
+ };
+ row {
+ top= 58;
+ keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color= "grey20" } };
+ };
+ row {
+ top= 77;
+ keys { { <KP0>, "KP0" }, <KPDL> };
+ };
+ }; // End of "Keypad" section
+};
+
+xkb_geometry "type5_se" {
+
+ // kbd: type = 4, layout = 43
+
+ description= "Sun Type5 keyboard (Sweden)";
+
+ width= 510;
+ height= 170;
+
+ baseColor= "grey";
+ labelColor= "black";
+
+ shape.cornerRadius= 1;
+
+ shape "EDGE" { cornerRadius= 2, { [ 510, 170 ] } };
+ shape "LOGO" { cornerRadius= 2,
+ { [ 0, 8], [ 8, 16], [ 16, 8], [ 8, 0] }
+ };
+
+ shape "NORM" { { [ 18, 18] }, { [ 2, 1], [ 16, 17] } };
+ shape "BKSP" { { [ 38, 18] }, { [ 2, 1], [ 36, 17] } };
+ shape "TABK" { { [ 27, 18] }, { [ 2, 1], [ 25, 17] } };
+ shape "RTRN" {
+ { [ 0, 0], [ 29, 0], [ 29, 37], [ 5, 37], [ 5, 18], [ 0, 18] },
+ { [ 2, 1], [ 27, 1], [ 27, 36], [ 7, 36], [ 7, 17], [ 2, 17] }
+ };
+ shape "CAPS" { { [ 32, 18] }, { [ 2, 1], [ 30, 17 ] } };
+ shape "LFSH" { { [ 24, 18] }, { [ 2, 1], [ 22, 17 ] } };
+ shape "RTSH" { { [ 51, 18] }, { [ 2, 1], [ 49, 17 ] } };
+ shape "LCTL" { { [ 32, 18] }, { [ 2, 1], [ 30, 17 ] } };
+ shape "MODK" { { [ 28, 18] }, { [ 2, 1], [ 26, 17 ] } };
+ shape "SPCE" { { [157, 18] }, { [ 2, 1], [155, 17 ] } };
+ shape "KP0" { { [ 37, 18] }, { [ 2, 1], [ 35, 17 ] } };
+ shape "KPAD" { { [ 18, 37] }, { [ 2, 1], [ 16, 36 ] } };
+ shape "HELP" { { [ 37, 18] }, { [ 2, 1], [ 35, 17 ] } };
+
+ section "Function" {
+ key.color= "grey10";
+ priority= 1;
+ top= 24;
+ left= 14;
+ width= 481;
+ height= 19;
+ row {
+ top= 1;
+ left= 1;
+ keys {
+ { <HELP>, "HELP", 1 }, { <ESC>, "NORM", 9 },
+ { <FK01>, "NORM", 19 }, { <FK02>, "NORM", 1 },
+ { <FK03>, "NORM", 1 }, { <FK04>, "NORM", 1 },
+ { <FK05>, "NORM", 11 }, { <FK06>, "NORM", 1 },
+ { <FK07>, "NORM", 1 }, { <FK08>, "NORM", 1 },
+ { <FK09>, "NORM", 11 }, { <FK10>, "NORM", 1 },
+ { <FK11>, "NORM", 1 }, { <FK12>, "NORM", 1 },
+ { <PRSC>, "NORM", 9 }, { <SCLK>, "NORM", 1 },
+ { <PAUS>, "NORM", 1 }, { <MUTE>, "NORM", 11 },
+ { <VOL->, "NORM", 1 }, { <VOL+>, "NORM", 1 },
+ { <POWR>, "NORM", 1, color= "white" }
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ key.color= "white";
+ priority= 2;
+ top= 61;
+ left= 14;
+ width= 333;
+ height= 95;
+ row {
+ top= 1;
+ left= 1;
+ keys {
+ { <STOP>, "NORM", 1, color= "grey10" },
+ { <AGAI>, "NORM", 1, color= "grey10" },
+ { <TLDE>, "NORM", 9 }, { <AE01>, "NORM", 1 },
+ { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 },
+ { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 },
+ { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 },
+ { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 },
+ { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 },
+ { <AE12>, "NORM", 1 },
+ { <BKSP>, "BKSP", 1, color="grey10" }
+ };
+ };
+ row {
+ top= 20;
+ left= 1;
+ keys {
+ { <PROP>, "NORM", 1, color= "grey10" },
+ { <UNDO>, "NORM", 1, color= "grey10" },
+ { <TAB>, "TABK", 9, color= "grey10" },
+ { <AD01>, "NORM", 1 },
+ { <AD02>, "NORM", 1 }, { <AD03>, "NORM", 1 },
+ { <AD04>, "NORM", 1 }, { <AD05>, "NORM", 1 },
+ { <AD06>, "NORM", 1 }, { <AD07>, "NORM", 1 },
+ { <AD08>, "NORM", 1 }, { <AD09>, "NORM", 1 },
+ { <AD10>, "NORM", 1 }, { <AD11>, "NORM", 1 },
+ { <AD12>, "NORM", 1 },
+ { <RTRN>, "RTRN", 1, color= "grey10" }
+ };
+ };
+ row {
+ top= 39;
+ left= 1;
+ keys {
+ { <FRNT>, "NORM", 1, color= "grey10" },
+ { <COPY>, "NORM", 1, color= "grey10" },
+ { <CAPS>, "CAPS", 9, color= "grey10" },
+ { <AC01>, "NORM", 1 },
+ { <AC02>, "NORM", 1 }, { <AC03>, "NORM", 1 },
+ { <AC04>, "NORM", 1 }, { <AC05>, "NORM", 1 },
+ { <AC06>, "NORM", 1 }, { <AC07>, "NORM", 1 },
+ { <AC08>, "NORM", 1 }, { <AC09>, "NORM", 1 },
+ { <AC10>, "NORM", 1 }, { <AC11>, "NORM", 1 },
+ { <AC12>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 58;
+ left= 1;
+ keys {
+ { <OPEN>, "NORM", 1, color= "grey10" },
+ { <PAST>, "NORM", 1, color= "grey10" },
+ { <LFSH>, "LFSH", 9, color= "grey10" },
+ { <AB00>, "NORM", 1 }, { <AB01>, "NORM", 1 },
+ { <AB02>, "NORM", 1 }, { <AB03>, "NORM", 1 },
+ { <AB04>, "NORM", 1 }, { <AB05>, "NORM", 1 },
+ { <AB06>, "NORM", 1 }, { <AB07>, "NORM", 1 },
+ { <AB08>, "NORM", 1 }, { <AB09>, "NORM", 1 },
+ { <AB10>, "NORM", 1 },
+ { <RTSH>, "RTSH", 1, color="grey10" }
+ };
+ };
+ row {
+ top= 77;
+ left= 1;
+ key.color= "grey10";
+ keys {
+ { <FIND>, "NORM", 1 }, { <CUT>, "NORM", 1 },
+ { <LCTL>, "LCTL", 9 }, { <LALT>, "NORM", 1 },
+ { <LMTA>, "NORM", 1 },
+ { <SPCE>, "SPCE", 1, color= "white" },
+ { <RMTA>, "NORM", 1 }, { <COMP>, "NORM", 1 },
+ { <ALGR>, "NORM", 1 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ key.color= "grey10";
+ priority= 3;
+ top= 61;
+ left= 352;
+ width= 58;
+ height= 95;
+ row {
+ top= 1;
+ left= 1;
+ keys {
+ { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 },
+ { <PGUP>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 20;
+ left= 1;
+ keys {
+ { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 },
+ { <PGDN>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys {
+ { <UP>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 77;
+ left= 1;
+ keys {
+ { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 },
+ { <RGHT>, "NORM", 1 }
+ };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ key.color= "white";
+ priority= 4;
+ top= 61;
+ left= 420;
+ width= 77;
+ height= 95;
+ row {
+ top= 1;
+ left= 1;
+ key.color= "grey10";
+ keys {
+ { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 },
+ { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 20;
+ left= 1;
+ keys {
+ { <KP7>, "NORM", 1 }, { <KP8>, "NORM", 1 },
+ { <KP9>, "NORM", 1 },
+ { <KPAD>, "KPAD", 1, color="grey10" }
+ };
+ };
+ row {
+ top= 39;
+ left= 1;
+ keys {
+ { <KP4>, "NORM", 1 }, { <KP5>, "NORM", 1 },
+ { <KP6>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 58;
+ left= 1;
+ keys {
+ { <KP1>, "NORM", 1 }, { <KP2>, "NORM", 1 },
+ { <KP3>, "NORM", 1 },
+ { <KPEN>, "KPAD", 1, color="grey10" }
+ };
+ };
+ row {
+ top= 77;
+ left= 1;
+ keys {
+ { <KP0>, "KP0", 1 }, { <KPDL>, "NORM", 1 }
+ };
+ };
+ }; // End of "Keypad" section
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ priority= 0;
+ shape= "EDGE";
+ };
+
+ solid "Logos" {
+ color= "blue";
+ top= 5;
+ left= 25;
+ priority= 0;
+ shape= "LOGO";
+ };
+
+ logo "SUNLogoImage" {
+ top= 5;
+ left= 25;
+ name= "SUN";
+ priority= 1;
+ shape= "LOGO";
+ };
+
+ shape "LED" { cornerRadius= 1,
+ { [ 0, 1.5], [ 1.5, 3], [ 3, 1.5], [ 1.5, 0] }
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.shape= "LED";
+ indicator "Caps Lock" { left= 75; top= 103; priority= 5; };
+ indicator "Compose" { left= 314; top= 142; priority= 5; };
+ indicator "Scroll Lock" { left= 378; top= 29; };
+ indicator "Num Lock" { left= 426; top= 66; };
+};
+
+xkb_geometry "type5c_se" {
+
+ // kbd: type = 4, layout = 43
+
+ description= "Sun Type5c keyboard (Sweden)";
+
+ width= 510;
+ height= 170;
+
+ baseColor= "grey";
+ labelColor= "black";
+
+ shape.cornerRadius= 1;
+
+ shape "EDGE" { cornerRadius= 2, { [ 510, 170 ] } };
+ shape "LOGO" { cornerRadius= 2,
+ { [ 0, 8], [ 8, 16], [ 16, 8], [ 8, 0] }
+ };
+
+ shape "NORM" { { [ 18, 18] }, { [ 2, 1], [ 16, 17] } };
+ shape "BKSP" { { [ 38, 18] }, { [ 2, 1], [ 36, 17] } };
+ shape "TABK" { { [ 27, 18] }, { [ 2, 1], [ 25, 17] } };
+ shape "META" { { [ 27, 18] }, { [ 2, 1], [ 25, 17] } };
+ shape "RTRN" {
+ { [ 0, 0], [ 29, 0], [ 29, 37], [ 5, 37], [ 5, 18], [ 0, 18] },
+ { [ 2, 1], [ 27, 1], [ 27, 36], [ 7, 36], [ 7, 17], [ 2, 17] }
+ };
+ shape "CAPS" { { [ 32, 18] }, { [ 2, 1], [ 30, 17 ] } };
+ shape "LFSH" { { [ 24, 18] }, { [ 2, 1], [ 22, 17 ] } };
+ shape "RTSH" { { [ 51, 18] }, { [ 2, 1], [ 49, 17 ] } };
+ shape "LCTL" { { [ 32, 18] }, { [ 2, 1], [ 30, 17 ] } };
+ shape "MODK" { { [ 28, 18] }, { [ 2, 1], [ 26, 17 ] } };
+ shape "SPCE" { { [139, 18] }, { [ 2, 1], [137, 17 ] } };
+ shape "KP0" { { [ 37, 18] }, { [ 2, 1], [ 35, 17 ] } };
+ shape "KPAD" { { [ 18, 37] }, { [ 2, 1], [ 16, 36 ] } };
+ shape "HELP" { { [ 37, 18] }, { [ 2, 1], [ 35, 17 ] } };
+
+ section "Function" {
+ key.color= "grey10";
+ priority= 1;
+ top= 24;
+ left= 14;
+ width= 481;
+ height= 19;
+ row {
+ top= 1;
+ left= 1;
+ keys {
+ { <HELP>, "HELP", 1 }, { <ESC>, "NORM", 9 },
+ { <FK01>, "NORM", 19 }, { <FK02>, "NORM", 1 },
+ { <FK03>, "NORM", 1 }, { <FK04>, "NORM", 1 },
+ { <FK05>, "NORM", 11 }, { <FK06>, "NORM", 1 },
+ { <FK07>, "NORM", 1 }, { <FK08>, "NORM", 1 },
+ { <FK09>, "NORM", 11 }, { <FK10>, "NORM", 1 },
+ { <FK11>, "NORM", 1 }, { <FK12>, "NORM", 1 },
+ { <PRSC>, "NORM", 9 }, { <SCLK>, "NORM", 1 },
+ { <PAUS>, "NORM", 1 }, { <MUTE>, "NORM", 11 },
+ { <VOL->, "NORM", 1 }, { <VOL+>, "NORM", 1 },
+ { <POWR>, "NORM", 1, color= "white" }
+ };
+ };
+ }; // End of "Function" section
+
+ section "Alpha" {
+ key.color= "white";
+ priority= 2;
+ top= 61;
+ left= 14;
+ width= 333;
+ height= 95;
+ row {
+ top= 1;
+ left= 1;
+ keys {
+ { <STOP>, "NORM", 1, color= "grey10" },
+ { <AGAI>, "NORM", 1, color= "grey10" },
+ { <TLDE>, "NORM", 9 }, { <AE01>, "NORM", 1 },
+ { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 },
+ { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 },
+ { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 },
+ { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 },
+ { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 },
+ { <AE12>, "NORM", 1 },
+ { <BKSP>, "BKSP", 1, color="grey10" }
+ };
+ };
+ row {
+ top= 20;
+ left= 1;
+ keys {
+ { <PROP>, "NORM", 1, color= "grey10" },
+ { <UNDO>, "NORM", 1, color= "grey10" },
+ { <TAB>, "TABK", 9, color= "grey10" },
+ { <AD01>, "NORM", 1 },
+ { <AD02>, "NORM", 1 }, { <AD03>, "NORM", 1 },
+ { <AD04>, "NORM", 1 }, { <AD05>, "NORM", 1 },
+ { <AD06>, "NORM", 1 }, { <AD07>, "NORM", 1 },
+ { <AD08>, "NORM", 1 }, { <AD09>, "NORM", 1 },
+ { <AD10>, "NORM", 1 }, { <AD11>, "NORM", 1 },
+ { <AD12>, "NORM", 1 },
+ { <RTRN>, "RTRN", 1, color= "grey10" }
+ };
+ };
+ row {
+ top= 39;
+ left= 1;
+ keys {
+ { <FRNT>, "NORM", 1, color= "grey10" },
+ { <COPY>, "NORM", 1, color= "grey10" },
+ { <CAPS>, "CAPS", 9, color= "grey10" },
+ { <AC01>, "NORM", 1 },
+ { <AC02>, "NORM", 1 }, { <AC03>, "NORM", 1 },
+ { <AC04>, "NORM", 1 }, { <AC05>, "NORM", 1 },
+ { <AC06>, "NORM", 1 }, { <AC07>, "NORM", 1 },
+ { <AC08>, "NORM", 1 }, { <AC09>, "NORM", 1 },
+ { <AC10>, "NORM", 1 }, { <AC11>, "NORM", 1 },
+ { <AC12>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 58;
+ left= 1;
+ keys {
+ { <OPEN>, "NORM", 1, color= "grey10" },
+ { <PAST>, "NORM", 1, color= "grey10" },
+ { <LFSH>, "LFSH", 9, color= "grey10" },
+ { <AB00>, "NORM", 1 }, { <AB01>, "NORM", 1 },
+ { <AB02>, "NORM", 1 }, { <AB03>, "NORM", 1 },
+ { <AB04>, "NORM", 1 }, { <AB05>, "NORM", 1 },
+ { <AB06>, "NORM", 1 }, { <AB07>, "NORM", 1 },
+ { <AB08>, "NORM", 1 }, { <AB09>, "NORM", 1 },
+ { <AB10>, "NORM", 1 },
+ { <RTSH>, "RTSH", 1, color="grey10" }
+ };
+ };
+ row {
+ top= 77;
+ left= 1;
+ key.color= "grey10";
+ keys {
+ { <FIND>, "NORM", 1 }, { <CUT>, "NORM", 1 },
+ { <LCTL>, "LCTL", 9 }, { <LALT>, "NORM", 1 },
+ { <LMTA>, "META", 1 },
+ { <SPCE>, "SPCE", 1, color= "white" },
+ { <RMTA>, "META", 1 }, { <COMP>, "NORM", 1 },
+ { <ALGR>, "NORM", 1 }
+ };
+ };
+ }; // End of "Alpha" section
+
+ section "Editing" {
+ key.color= "grey10";
+ priority= 3;
+ top= 61;
+ left= 352;
+ width= 58;
+ height= 95;
+ row {
+ top= 1;
+ left= 1;
+ keys {
+ { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 },
+ { <PGUP>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 20;
+ left= 1;
+ keys {
+ { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 },
+ { <PGDN>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 58;
+ left= 20;
+ keys {
+ { <UP>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 77;
+ left= 1;
+ keys {
+ { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 },
+ { <RGHT>, "NORM", 1 }
+ };
+ };
+ }; // End of "Editing" section
+
+ section "Keypad" {
+ key.color= "white";
+ priority= 4;
+ top= 61;
+ left= 420;
+ width= 77;
+ height= 95;
+ row {
+ top= 1;
+ left= 1;
+ key.color= "grey10";
+ keys {
+ { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 },
+ { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 20;
+ left= 1;
+ keys {
+ { <KP7>, "NORM", 1 }, { <KP8>, "NORM", 1 },
+ { <KP9>, "NORM", 1 },
+ { <KPAD>, "KPAD", 1, color="grey10" }
+ };
+ };
+ row {
+ top= 39;
+ left= 1;
+ keys {
+ { <KP4>, "NORM", 1 }, { <KP5>, "NORM", 1 },
+ { <KP6>, "NORM", 1 }
+ };
+ };
+ row {
+ top= 58;
+ left= 1;
+ keys {
+ { <KP1>, "NORM", 1 }, { <KP2>, "NORM", 1 },
+ { <KP3>, "NORM", 1 },
+ { <KPEN>, "KPAD", 1, color="grey10" }
+ };
+ };
+ row {
+ top= 77;
+ left= 1;
+ keys {
+ { <KP0>, "KP0", 1 }, { <KPDL>, "NORM", 1 }
+ };
+ };
+ }; // End of "Keypad" section
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ priority= 0;
+ shape= "EDGE";
+ };
+
+ solid "Logos" {
+ color= "blue";
+ top= 5;
+ left= 15;
+ priority= 0;
+ shape= "LOGO";
+ };
+
+ logo "SUNLogoImage" {
+ top= 5;
+ left= 15;
+ name= "SUN";
+ priority= 1;
+ shape= "LOGO";
+ };
+
+ text.font= "charter";
+ text.weight= "medium";
+ text.slant= "i";
+ text.fontSize= 40;
+ text "SunLogoText" {
+ top= 5;
+ left= 32;
+ color= "blue";
+ text= "Sun";
+ };
+
+ shape "LED" { cornerRadius= 1,
+ { [ 0, 1.5], [ 1.5, 3], [ 3, 1.5], [ 1.5, 0] }
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.shape= "LED";
+ indicator "Caps Lock" { left= 75; top= 103; priority= 5; };
+ indicator "Compose" { left= 314; top= 142; priority= 5; };
+ indicator "Scroll Lock" { left= 378; top= 29; };
+ indicator "Num Lock" { left= 426; top= 66; };
+};
+
+xkb_geometry "type4_se" {
+
+ // kbd: type = 4, layout = 11
+
+ description= "Sun Type4 keyboard (Sweden)";
+
+
+ width= 453;
+ height= 183;
+
+ baseColor= "grey";
+ labelColor= "black";
+
+ shape "EDGE" { cornerRadius= 2, { [ 452, 185 ] } };
+ shape.cornerRadius= 1;
+ shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } };
+ shape "DELE" { { [ 18,18] }, { [2,1], [16,17] } };
+ shape "RTRN" {
+ approx = { [ 0, 0], [28,37] },
+ { [ 0, 0], [28, 0], [28,37],
+ [ 5,37], [ 5,19], [ 0,19] },
+ { [ 1, 1], [26, 1], [26,36],
+ [ 7,36], [ 7,18], [ 1,18] }
+ };
+ shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } };
+ shape "RTSH" { { [ 33,18] }, { [2,1], [31,17] } };
+ shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } };
+ shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } };
+ shape "SPCE" { { [170,18] }, { [2,1], [168,17] } };
+ shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } };
+ shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } };
+ shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } };
+
+ outline "Edges" {
+ top= 0;
+ left= 0;
+ shape= "EDGE";
+ };
+
+ section.left= 17;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 1;
+
+ section "Alpha" {
+ top= 58;
+ row {
+ top= 1;
+ key.color= "grey10";
+ keys { <STOP>, <AGAI>, { <FK01>, 9 },
+ <FK02>, <FK03>, <FK04>,
+ <FK05>, <FK06>, <FK07>, <FK08>,
+ <FK09>, <FK10>, <FK11>, <FK12>,
+ { <AF13>, color= "white"},
+ { <AF14>, color= "white"},
+ <DELE>, { <PAUS>, 9 },
+ <PRSC>, <SCLK>, <NMLK>
+ };
+ };
+ row {
+ top= 20;
+ key.color= "white";
+ keys {
+ { <PROP>, color= "grey10" },
+ { <UNDO>, color= "grey10" },
+ { <ESC>, 9, color= "grey10" },
+ <AE01>, <AE02>, <AE03>, <AE04>, <AE05>,
+ <AE06>, <AE07>, <AE08>, <AE09>, <AE10>,
+ <AE11>, <AE12>,
+ { <BKSP>, "BKSP", color= "grey10" },
+ { <KPEQ>, 9, color= "grey10" },
+ { <KPDV>, color= "grey10" },
+ { <KPMU>, color= "grey10" },
+ { <KPSU>, color= "grey10" }
+ };
+ };
+ row {
+ top= 39;
+ key.color= "white";
+ keys {
+ { <FRNT>, color= "grey10" },
+ { <COPY>, color= "grey10" },
+ { <TAB>, 9, "TABK", color= "grey10" },
+ <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
+ <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
+ <AD11>, <AD12>,
+ { <RTRN>, "RTRN", color= "grey10" },
+ { <KP7>, 9, color= "grey10" },
+ { <KP8>, color= "grey10" },
+ { <KP9>, color= "grey10" },
+ { <KPAD>, "KPAD", color= "grey10" }
+ };
+ };
+ row {
+ top= 58;
+ key.color= "white";
+ keys {
+ { <OPEN>, color= "grey10" },
+ { <PAST>, color= "grey10" },
+ { <CAPS>, 9, "LCTL", color= "grey10" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>, <AC12>,
+ { <KP4>, 33, color= "grey10" },
+ { <KP5>, color= "grey10" },
+ { <KP6>, color= "grey10" }
+ };
+ };
+ row {
+ top= 77;
+ key.color= "white";
+ keys {
+ { <FIND>, color= "grey10" },
+ { <CUT>, color= "grey10" },
+ { <LFSH>, 9 , "LFSH", color= "grey10" },
+ <AB00>, <AB01>, <AB02>, <AB03>,
+ <AB04>, <AB05>, <AB06>, <AB07>,
+ <AB08>, <AB09>, <AB10>,
+ { <RTSH>, "RTSH", color= "grey10" },
+ { <LNFD>, color= "grey10" },
+ { <KP1>, 9, color= "grey10" },
+ { <KP2>, color= "grey10" },
+ { <KP3>, color= "grey10" },
+ { <KPEN>, "KPAD", color= "grey10" }
+ };
+ };
+ row {
+ top= 96;
+ key.color= "grey10";
+ keys {
+ { <HELP>, "HELP" }, { <LCTL>, 9 },
+ <LALT>, <LMTA>,
+ { <SPCE>, "SPCE", color= "white" },
+ <RMTA>, <COMP>, <ALGR>,
+ { <KP0>, 9, "KP0" }, <KPDL>
+ };
+ };
+ }; // End of "Alpha" section
+
+ shape "RIDGE" { cornerRadius= 1, { [ 0, 1], [ 1, 0 ],
+ [330, 0], [331, 1],
+ [330, 2], [ 1, 2] } };
+ solid "Ridge" {
+ shape= "RIDGE";
+ top= 48;
+ left= 18;
+ };
+
+ shape "LEDS" { cornerRadius= 1, { [ 75 ,21 ] } };
+ shape "LED" { cornerRadius= 0, { [ 7, 4 ] } };
+ outline "LedPanel" {
+ shape= "LEDS";
+ top= 28;
+ left= 358;
+ };
+ indicator.onColor= "green";
+ indicator.offColor= "green30";
+ indicator.top= 43;
+ indicator.shape= "LED";
+ indicator "Caps Lock" { left= 364; };
+ indicator "Compose" { left= 383; };
+ indicator "Scroll Lock" { left= 402; };
+ indicator "Num Lock" { left= 421; };
+ text.top= 32;
+ text.color= "black";
+ text "CapsLockLabel" { left= 364; text="Caps\nLock"; };
+ text "ComposeLabel" { left= 380; text="\nCompose"; };
+ text "ScrollLockLabel" { left= 402; text="Scroll\nLock"; };
+ text "NumLockLabel" { left= 421; text="Num\nLock"; };
+};
diff --git a/data/xkbdata/geometry/winbook b/data/xkbdata/geometry/winbook
new file mode 100644
index 000000000..e4de47861
--- /dev/null
+++ b/data/xkbdata/geometry/winbook
@@ -0,0 +1,144 @@
+// $Xorg: winbook,v 1.3 2000/08/17 19:54:36 cpqbld Exp $
+default xkb_geometry "XP5" {
+
+ description= "WinBook XP5";
+ width= 281;
+ height= 180;
+
+ shape.cornerRadius= 1;
+
+ shape "NORM" {
+ { [17,17] },
+ { [ 2, 1], [ 15, 15 ] }
+ };
+ shape "FKEY" {
+ { [ 15, 10 ] },
+ { [ 1, 0 ], [ 14, 9.5 ] }
+ };
+ shape "ONE" {
+ { [ 28, 17 ] },
+ { [ 11, 0 ], [ 28, 17 ] },
+ { [ 13, 1 ], [ 26, 15 ] }
+ };
+ shape "WIDE" { // backspace, caps lock, ctrl alt ?
+ { [ 24.5, 17 ] },
+ { [ 2, 1 ], [ 22.5, 15 ] }
+ };
+ shape "WIDR" { // backslash, left shift
+ { [ 35, 17 ] },
+ { [ 2, 1 ], [ 33, 15 ] }
+ };
+ shape "RTRN" {
+ { [ 45, 17 ] },
+ { [ 2, 1 ], [ 43, 15 ] }
+ };
+ shape "SPCE" {
+ { [ 90, 17 ] },
+ { [ 2, 1 ], [ 88, 15 ] }
+ };
+ shape "STIK" {
+ cornerRadius= 4,
+ { [ 8, 8 ] }
+ };
+ shape "BTN" {
+ { [ 31, 6 ] }
+ };
+
+ section.left= 2;
+ row.left= 1;
+ key.shape= "NORM";
+ key.gap= 0.5;
+
+ key.color= "grey10";
+ labelColor= "white";
+ baseColor= "grey20";
+
+ section "Whole" {
+ top= 10;
+ row {
+ top= 11;
+ key.shape= "FKEY";
+ keys {
+ <ESC>,
+ <FK01>, <FK02>, <FK03>, <FK04>, <FK05>, <FK06>,
+ <FK07>, <FK08>, <FK09>, <FK10>, <FK11>, <FK12>,
+ <PAUS>, <HOME>, <END>, <PGUP>
+ };
+ };
+ row {
+ top= 22;
+ keys {
+ { <AEO1>, "ONE" },
+ <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+ <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+ { <BKSP>, shape="WIDE" },
+ <PGDN>
+ };
+ };
+ row {
+ top= 40;
+ keys {
+ <TAB>, <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, <AD06>,
+ <AD07>, <AD08>, <AD09>, <AD10>, <AD11>, <AD12>,
+ { <BKSL>, "WIDR" }
+ };
+ };
+ row {
+ top= 58;
+ keys { { <CAPS>, shape="WIDE" },
+ <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+ <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+ <AC11>,
+ { <RTRN>, shape="RTRN" }
+ };
+ };
+ row {
+ top= 76;
+ keys {
+ { <LFSH>, shape="WIDR" },
+ <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+ <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
+ <RTSH>, <UP>, <NMLK>
+ };
+ };
+ row {
+ top= 94;
+ keys {
+ { <LCTL>, "WIDE" }, <FUNC>, { <LALT>, "WIDE" },
+ <TLDE>, { <SPCE>, shape="SPCE" }, <INS>, <DELE>,
+ <LEFT>, <DOWN>, <RGHT>
+ };
+ };
+ overlay "KPAD" {
+ <AE07>=<KP7>, <AE08>=<KP8>, <AE09>=<KP9>, <AE10>=<KPMU>,
+ <AD07>=<KP4>, <AD08>=<KP5>, <AD09>=<KP6>, <AD10>=<KPSU>,
+ <AC07>=<KP1>, <AC08>=<KP2>, <AC09>=<KP3>, <AC10>=<KPAD>,
+ <AB07>=<KP0>, <AB09>=<KPDL>, <AB10>=<KPSL>
+ };
+ }; // End of "Whole" section
+
+ solid "STIK" {
+ color= "red";
+ shape= "STIK";
+ top= 81;
+ left= 112;
+ };
+
+ solid "BTN1" {
+ color= "red";
+ shape= "BTN";
+ top= 137;
+ left= 93;
+ };
+
+ solid "BTN2" {
+ color= "red";
+ shape= "BTN";
+ top= 137;
+ left= 127;
+ };
+
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+
+};
diff --git a/data/xkbdata/install-sh b/data/xkbdata/install-sh
new file mode 100644
index 000000000..6ce63b9f7
--- /dev/null
+++ b/data/xkbdata/install-sh
@@ -0,0 +1,294 @@
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+#
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd=$cpprog
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd=$stripprog
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "$0: no input file specified" >&2
+ exit 1
+else
+ :
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d "$dst" ]; then
+ instcmd=:
+ chmodcmd=""
+ else
+ instcmd=$mkdirprog
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f "$src" ] || [ -d "$src" ]
+ then
+ :
+ else
+ echo "$0: $src does not exist" >&2
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "$0: no destination specified" >&2
+ exit 1
+ else
+ :
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d "$dst" ]
+ then
+ dst=$dst/`basename "$src"`
+ else
+ :
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+ '
+IFS="${IFS-$defaultIFS}"
+
+oIFS=$IFS
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS=$oIFS
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp=$pathcomp$1
+ shift
+
+ if [ ! -d "$pathcomp" ] ;
+ then
+ $mkdirprog "$pathcomp"
+ else
+ :
+ fi
+
+ pathcomp=$pathcomp/
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd "$dst" &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename "$dst"`
+ else
+ dstfile=`basename "$dst" $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename "$dst"`
+ else
+ :
+ fi
+
+# Make a couple of temp file names in the proper directory.
+
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+# Trap to clean up temp files at exit.
+
+ trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
+ trap '(exit $?); exit' 1 2 13 15
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd "$src" "$dsttmp" &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
+
+# Now remove or move aside any old file at destination location. We try this
+# two ways since rm can't unlink itself on some systems and the destination
+# file might be busy for other reasons. In this case, the final cleanup
+# might fail but the new file should still install successfully.
+
+{
+ if [ -f "$dstdir/$dstfile" ]
+ then
+ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
+ $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
+ {
+ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+ (exit 1); exit
+ }
+ else
+ :
+ fi
+} &&
+
+# Now rename the file to the real destination.
+
+ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+
+fi &&
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+
+{
+ (exit 0); exit
+}
diff --git a/data/xkbdata/keycodes/Makefile.am b/data/xkbdata/keycodes/Makefile.am
new file mode 100644
index 000000000..649dc843d
--- /dev/null
+++ b/data/xkbdata/keycodes/Makefile.am
@@ -0,0 +1,22 @@
+SUBDIRS = digital sgi
+
+xkbdata_keycodesdir = $(datadir)/X11/xkb/keycodes
+dist_xkbdata_keycodes_DATA = \
+ aliases \
+ amiga \
+ ataritt \
+ fujitsu \
+ hp \
+ ibm \
+ macintosh \
+ powerpcps2 \
+ README \
+ sony \
+ sun \
+ xfree86 \
+ xfree98
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = keycodes.dir
+
+include $(top_srcdir)/xkbrules.am
diff --git a/data/xkbdata/keycodes/Makefile.in b/data/xkbdata/keycodes/Makefile.in
new file mode 100644
index 000000000..c9d0dc8f4
--- /dev/null
+++ b/data/xkbdata/keycodes/Makefile.in
@@ -0,0 +1,454 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Common rules for building *.dir files in all xkb subdirectories
+# Replaces Imake's MakeXkbDir() rule
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = digital sgi
+
+xkbdata_keycodesdir = $(datadir)/X11/xkb/keycodes
+dist_xkbdata_keycodes_DATA = \
+ aliases \
+ amiga \
+ ataritt \
+ fujitsu \
+ hp \
+ ibm \
+ macintosh \
+ powerpcps2 \
+ README \
+ sony \
+ sun \
+ xfree86 \
+ xfree98
+
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = keycodes.dir
+
+MOSTLYCLEANFILES = $(subdir).dir
+subdir = keycodes
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_keycodes_DATA) $(xkbdata_DATA)
+
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
+ ps-recursive install-info-recursive uninstall-info-recursive \
+ all-recursive install-data-recursive install-exec-recursive \
+ installdirs-recursive install-recursive uninstall-recursive \
+ check-recursive installcheck-recursive
+DIST_COMMON = README $(dist_xkbdata_keycodes_DATA) \
+ $(srcdir)/Makefile.in $(top_srcdir)/xkbrules.am Makefile.am
+DIST_SUBDIRS = $(SUBDIRS)
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/xkbrules.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu keycodes/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_keycodesDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_keycodesDATA: $(dist_xkbdata_keycodes_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keycodesdir)
+ @list='$(dist_xkbdata_keycodes_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_keycodesDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keycodesdir)/$$f"; \
+ $(dist_xkbdata_keycodesDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keycodesdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_keycodesDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_keycodes_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_keycodesdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_keycodesdir)/$$f; \
+ done
+xkbdataDATA_INSTALL = $(INSTALL_DATA)
+install-xkbdataDATA: $(xkbdata_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdatadir)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f"; \
+ $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+uninstall-xkbdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdatadir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if (etags --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ else \
+ include_option=--include; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/..
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" \
+ distdir=../$(distdir)/$$subdir \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keycodesdir) $(DESTDIR)$(xkbdatadir)
+
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_xkbdata_keycodesDATA install-xkbdataDATA
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_keycodesDATA uninstall-info-am \
+ uninstall-xkbdataDATA
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
+ clean-generic clean-recursive ctags ctags-recursive distclean \
+ distclean-generic distclean-recursive distclean-tags distdir \
+ dvi dvi-am dvi-recursive info info-am info-recursive install \
+ install-am install-data install-data-am install-data-recursive \
+ install-dist_xkbdata_keycodesDATA install-exec install-exec-am \
+ install-exec-recursive install-info install-info-am \
+ install-info-recursive install-man install-recursive \
+ install-strip install-xkbdataDATA installcheck installcheck-am \
+ installdirs installdirs-am installdirs-recursive \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-recursive mostlyclean mostlyclean-generic \
+ mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
+ ps-recursive tags tags-recursive uninstall uninstall-am \
+ uninstall-dist_xkbdata_keycodesDATA uninstall-info-am \
+ uninstall-info-recursive uninstall-recursive \
+ uninstall-xkbdataDATA
+
+
+$(subdir).dir:
+ -rm -f $@
+ $(XKBCOMP) -lfhlpR -o $@ '*'
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/keycodes/README b/data/xkbdata/keycodes/README
new file mode 100644
index 000000000..b0ca78aac
--- /dev/null
+++ b/data/xkbdata/keycodes/README
@@ -0,0 +1,10 @@
+The keycodes component of a keyboard mapping specifies the range and
+interpretation of the raw keycodes reported by the device. It sets the keycodes
+symbolic name, the minimum and maximum legal codes for the keyboard, and the
+symbolic name for each key. The keycodes component might also contain aliases
+for some keys, symbolic names for some indicators and a description of which
+indicators are physically present.
+
+
+
+/* $XFree86$ */
diff --git a/data/xkbdata/keycodes/aliases b/data/xkbdata/keycodes/aliases
new file mode 100644
index 000000000..7cfc25bdb
--- /dev/null
+++ b/data/xkbdata/keycodes/aliases
@@ -0,0 +1,101 @@
+
+// keycode aliases for phonetic keyboard maps
+//
+// $XFree86$
+
+default
+xkb_keycodes "qwerty" {
+
+ alias <LatQ> = <AD01>;
+ alias <LatW> = <AD02>;
+ alias <LatE> = <AD03>;
+ alias <LatR> = <AD04>;
+ alias <LatT> = <AD05>;
+ alias <LatY> = <AD06>;
+ alias <LatU> = <AD07>;
+ alias <LatI> = <AD08>;
+ alias <LatO> = <AD09>;
+ alias <LatP> = <AD10>;
+
+ alias <LatA> = <AC01>;
+ alias <LatS> = <AC02>;
+ alias <LatD> = <AC03>;
+ alias <LatF> = <AC04>;
+ alias <LatG> = <AC05>;
+ alias <LatH> = <AC06>;
+ alias <LatJ> = <AC07>;
+ alias <LatK> = <AC08>;
+ alias <LatL> = <AC09>;
+
+ alias <LatZ> = <AB01>;
+ alias <LatX> = <AB02>;
+ alias <LatC> = <AB03>;
+ alias <LatV> = <AB04>;
+ alias <LatB> = <AB05>;
+ alias <LatN> = <AB06>;
+ alias <LatM> = <AB07>;
+};
+
+xkb_keycodes "azerty" {
+
+ alias <LatA> = <AD01>;
+ alias <LatZ> = <AD02>;
+ alias <LatE> = <AD03>;
+ alias <LatR> = <AD04>;
+ alias <LatT> = <AD05>;
+ alias <LatY> = <AD06>;
+ alias <LatU> = <AD07>;
+ alias <LatI> = <AD08>;
+ alias <LatO> = <AD09>;
+ alias <LatP> = <AD10>;
+
+ alias <LatQ> = <AC01>;
+ alias <LatS> = <AC02>;
+ alias <LatD> = <AC03>;
+ alias <LatF> = <AC04>;
+ alias <LatG> = <AC05>;
+ alias <LatH> = <AC06>;
+ alias <LatJ> = <AC07>;
+ alias <LatK> = <AC08>;
+ alias <LatL> = <AC09>;
+ alias <LatM> = <AC10>;
+
+ alias <LatW> = <AB01>;
+ alias <LatX> = <AB02>;
+ alias <LatC> = <AB03>;
+ alias <LatV> = <AB04>;
+ alias <LatB> = <AB05>;
+ alias <LatN> = <AB06>;
+};
+
+xkb_keycodes "qwertz" {
+
+ alias <LatQ> = <AD01>;
+ alias <LatW> = <AD02>;
+ alias <LatE> = <AD03>;
+ alias <LatR> = <AD04>;
+ alias <LatT> = <AD05>;
+ alias <LatZ> = <AD06>;
+ alias <LatU> = <AD07>;
+ alias <LatI> = <AD08>;
+ alias <LatO> = <AD09>;
+ alias <LatP> = <AD10>;
+
+ alias <LatA> = <AC01>;
+ alias <LatS> = <AC02>;
+ alias <LatD> = <AC03>;
+ alias <LatF> = <AC04>;
+ alias <LatG> = <AC05>;
+ alias <LatH> = <AC06>;
+ alias <LatJ> = <AC07>;
+ alias <LatK> = <AC08>;
+ alias <LatL> = <AC09>;
+
+ alias <LatY> = <AB01>;
+ alias <LatX> = <AB02>;
+ alias <LatC> = <AB03>;
+ alias <LatV> = <AB04>;
+ alias <LatB> = <AB05>;
+ alias <LatN> = <AB06>;
+ alias <LatM> = <AB07>;
+};
diff --git a/data/xkbdata/keycodes/amiga b/data/xkbdata/keycodes/amiga
new file mode 100644
index 000000000..7b661a5cf
--- /dev/null
+++ b/data/xkbdata/keycodes/amiga
@@ -0,0 +1,231 @@
+// $Xorg: amiga,v 1.3 2000/08/17 19:54:37 cpqbld Exp $
+
+
+
+// $XFree86: xc/programs/xkbcomp/keycodes/amiga,v 3.2 1997/10/26 13:25:35 dawes Exp $
+
+default xkb_keycodes "usa1" {
+
+ minimum= 8;
+ maximum= 111;
+
+ <ESC> = 77;
+ <FK01> = 88;
+ <FK02> = 89;
+ <FK03> = 90;
+ <FK04> = 91;
+ <FK05> = 92;
+ <FK06> = 93;
+ <FK07> = 94;
+ <FK08> = 95;
+ <FK09> = 96;
+ <FK10> = 97;
+
+ <TLDE> = 8;
+ <AE01> = 9;
+ <AE02> = 10;
+ <AE03> = 11;
+ <AE04> = 12;
+ <AE05> = 13;
+ <AE06> = 14;
+ <AE07> = 15;
+ <AE08> = 16;
+ <AE09> = 17;
+ <AE10> = 18;
+ <AE11> = 19;
+ <AE12> = 20;
+ <BKSL> = 21;
+ <BKSP> = 73;
+
+ <TAB> = 74;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 76;
+
+ <LCTL> = 107;
+ <CAPS> = 106;
+ <AC01> = 40;
+ <AC02> = 41;
+ <AC03> = 42;
+ <AC04> = 43;
+ <AC05> = 44;
+ <AC06> = 45;
+ <AC07> = 46;
+ <AC08> = 47;
+ <AC09> = 48;
+ <AC10> = 49;
+ <AC11> = 50;
+
+ <LFSH> = 104;
+ <AB01> = 57;
+ <AB02> = 58;
+ <AB03> = 59;
+ <AB04> = 60;
+ <AB05> = 61;
+ <AB06> = 62;
+ <AB07> = 63;
+ <AB08> = 64;
+ <AB09> = 65;
+ <AB10> = 66;
+ <RTSH> = 105;
+
+ <LALT> = 108;
+ <LAMI> = 110;
+ <SPCE> = 72;
+ <RAMI> = 111;
+ <RALT> = 109;
+
+ <DELE> = 78;
+ <HELP> = 103;
+ <UP> = 84;
+ <LEFT> = 87;
+ <DOWN> = 85;
+ <RGHT> = 86;
+
+ <KPLP> = 98;
+ <KPRP> = 99;
+ <KPDV> = 100;
+ <KPMU> = 101;
+
+ <KP7> = 69;
+ <KP8> = 70;
+ <KP9> = 71;
+ <KPSU> = 82;
+
+ <KP4> = 53;
+ <KP5> = 54;
+ <KP6> = 55;
+ <KPAD> = 102;
+
+ <KP1> = 37;
+ <KP2> = 38;
+ <KP3> = 39;
+
+ <KP0> = 23;
+ <KPDC> = 68;
+ <KPEN> = 75;
+};
+
+xkb_keycodes "de" {
+
+ minimum= 8;
+ maximum= 111;
+
+ <ESC> = 77;
+ <FK01> = 88;
+ <FK02> = 89;
+ <FK03> = 90;
+ <FK04> = 91;
+ <FK05> = 92;
+ <FK06> = 93;
+ <FK07> = 94;
+ <FK08> = 95;
+ <FK09> = 96;
+ <FK10> = 97;
+
+ <TLDE> = 8;
+ <AE01> = 9;
+ <AE02> = 10;
+ <AE03> = 11;
+ <AE04> = 12;
+ <AE05> = 13;
+ <AE06> = 14;
+ <AE07> = 15;
+ <AE08> = 16;
+ <AE09> = 17;
+ <AE10> = 18;
+ <AE11> = 19;
+ <AE12> = 20;
+ <BKSL> = 21;
+ <BKSP> = 73;
+
+ <TAB> = 74;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 76;
+
+ <LCTL> = 107;
+ <CAPS> = 106;
+ <AC01> = 40;
+ <AC02> = 41;
+ <AC03> = 42;
+ <AC04> = 43;
+ <AC05> = 44;
+ <AC06> = 45;
+ <AC07> = 46;
+ <AC08> = 47;
+ <AC09> = 48;
+ <AC10> = 49;
+ <AC11> = 50;
+ <AC12> = 51;
+
+ <LFSH> = 104;
+ <LSGT> = 56;
+ <AB01> = 57;
+ <AB02> = 58;
+ <AB03> = 59;
+ <AB04> = 60;
+ <AB05> = 61;
+ <AB06> = 62;
+ <AB07> = 63;
+ <AB08> = 64;
+ <AB09> = 65;
+ <AB10> = 66;
+ <RTSH> = 105;
+
+ <LALT> = 108;
+ <LAMI> = 110;
+ <SPCE> = 72;
+ <RAMI> = 111;
+ <RALT> = 109;
+
+ <DELE> = 78;
+ <HELP> = 103;
+ <UP> = 84;
+ <LEFT> = 87;
+ <DOWN> = 85;
+ <RGHT> = 86;
+
+ <KPLP> = 98;
+ <KPRP> = 99;
+ <KPDV> = 100;
+ <KPMU> = 101;
+
+ <KP7> = 69;
+ <KP8> = 70;
+ <KP9> = 71;
+ <KPSU> = 82;
+
+ <KP4> = 53;
+ <KP5> = 54;
+ <KP6> = 55;
+ <KPAD> = 102;
+
+ <KP1> = 37;
+ <KP2> = 38;
+ <KP3> = 39;
+
+ <KP0> = 23;
+ <KPDC> = 68;
+ <KPEN> = 75;
+};
diff --git a/data/xkbdata/keycodes/ataritt b/data/xkbdata/keycodes/ataritt
new file mode 100644
index 000000000..3cfd503be
--- /dev/null
+++ b/data/xkbdata/keycodes/ataritt
@@ -0,0 +1,123 @@
+// $Xorg: ataritt,v 1.3 2000/08/17 19:54:37 cpqbld Exp $
+
+
+
+// $XFree86: xc/programs/xkbcomp/keycodes/ataritt,v 3.1 1997/10/26 13:25:35 dawes Exp $
+
+default xkb_keycodes "us" {
+
+ minimum= 8;
+ maximum= 134;
+
+ <ESC> = 9;
+ <AE01> = 10;
+ <AE02> = 11;
+ <AE03> = 12;
+ <AE04> = 13;
+ <AE05> = 14;
+ <AE06> = 15;
+ <AE07> = 16;
+ <AE08> = 17;
+ <AE09> = 18;
+ <AE10> = 19;
+ <AE11> = 20;
+ <AE12> = 21;
+ <TLDE> = 49;
+ <BKSP> = 22;
+
+ <TAB> = 23;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 36;
+ <DELE> = 91;
+
+ <LCTL> = 37;
+ <AC01> = 38;
+ <AC02> = 39;
+ <AC03> = 40;
+ <AC04> = 41;
+ <AC05> = 42;
+ <AC06> = 43;
+ <AC07> = 44;
+ <AC08> = 45;
+ <AC09> = 46;
+ <AC10> = 47;
+ <AC11> = 48;
+ <BKSL> = 51;
+
+ <LFSH> = 50;
+ <AB01> = 52;
+ <AB02> = 53;
+ <AB03> = 54;
+ <AB04> = 55;
+ <AB05> = 56;
+ <AB06> = 57;
+ <AB07> = 58;
+ <AB08> = 59;
+ <AB09> = 60;
+ <AB10> = 61;
+ <RTSH> = 62;
+
+ <ALT> = 64;
+ <SPCE> = 65;
+ <CAPS> = 66;
+
+ <FK01> = 67;
+ <FK02> = 68;
+ <FK03> = 69;
+ <FK04> = 70;
+ <FK05> = 71;
+ <FK06> = 72;
+ <FK07> = 73;
+ <FK08> = 74;
+ <FK09> = 75;
+ <FK10> = 76;
+
+ <HELP> = 106;
+ <UNDO> = 105;
+ <INS> = 90;
+ <HOME> = 79;
+ <UP> = 80;
+ <LEFT> = 83;
+ <DOWN> = 88;
+ <RGHT> = 85;
+
+ <KPLP> = 107;
+ <KPRP> = 108;
+ <KPDV> = 109;
+ <KPMU> = 110;
+
+ <KP7> = 111;
+ <KP8> = 112;
+ <KP9> = 113;
+ <KPSU> = 82;
+
+ <KP4> = 114;
+ <KP5> = 115;
+ <KP6> = 116;
+ <KPAD> = 86;
+
+ <KP1> = 117;
+ <KP2> = 118;
+ <KP3> = 119;
+
+ <KP0> = 120;
+ <KPDC> = 121;
+ <KPEN> = 122;
+};
+
+xkb_keycodes "de" {
+ include "ataritt(us)"
+
+ <LSGT> = 104;
+};
diff --git a/data/xkbdata/keycodes/digital/Makefile.am b/data/xkbdata/keycodes/digital/Makefile.am
new file mode 100644
index 000000000..465e41c41
--- /dev/null
+++ b/data/xkbdata/keycodes/digital/Makefile.am
@@ -0,0 +1,4 @@
+xkbdata_keycodes_digitaldir = $(datadir)/X11/xkb/keycodes/digital
+dist_xkbdata_keycodes_digital_DATA = \
+ lk \
+ pc
diff --git a/data/xkbdata/keycodes/digital/Makefile.in b/data/xkbdata/keycodes/digital/Makefile.in
new file mode 100644
index 000000000..d8fb91265
--- /dev/null
+++ b/data/xkbdata/keycodes/digital/Makefile.in
@@ -0,0 +1,260 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_keycodes_digitaldir = $(datadir)/X11/xkb/keycodes/digital
+dist_xkbdata_keycodes_digital_DATA = \
+ lk \
+ pc
+
+subdir = keycodes/digital
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_keycodes_digital_DATA)
+
+DIST_COMMON = $(dist_xkbdata_keycodes_digital_DATA) \
+ $(srcdir)/Makefile.in Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu keycodes/digital/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_keycodes_digitalDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_keycodes_digitalDATA: $(dist_xkbdata_keycodes_digital_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keycodes_digitaldir)
+ @list='$(dist_xkbdata_keycodes_digital_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_keycodes_digitalDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keycodes_digitaldir)/$$f"; \
+ $(dist_xkbdata_keycodes_digitalDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keycodes_digitaldir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_keycodes_digitalDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_keycodes_digital_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_keycodes_digitaldir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_keycodes_digitaldir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keycodes_digitaldir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_keycodes_digitalDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_keycodes_digitalDATA \
+ uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_keycodes_digitalDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_keycodes_digitalDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/keycodes/digital/lk b/data/xkbdata/keycodes/digital/lk
new file mode 100644
index 000000000..2d8c58424
--- /dev/null
+++ b/data/xkbdata/keycodes/digital/lk
@@ -0,0 +1,271 @@
+// $Xorg: lk,v 1.3 2000/08/17 19:54:38 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log
+// Revision 1.2 1996/06/18 09:13:22 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.2 1995/08/07 17:40:34 William_Walker
+// Upgrade XKB to protocol 0.62 (dual submit from decx11)
+// [1995/08/06 14:06:25 William_Walker]
+//
+// Revision 1.1.2.4 1995/08/05 15:25:55 William_Walker
+// Upgrade to XKB protocol 0.62
+// [1995/08/05 14:39:58 William_Walker]
+//
+// Revision 1.1.2.3 1995/06/27 12:17:31 William_Walker
+// Rename <TLDE> to ISO9995 compliant <AE00>.
+// [1995/06/26 20:24:04 William_Walker]
+//
+// Revision 1.1.2.2 1995/06/05 19:21:28 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:07:29 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: lk Revision: /main/3 (DEC) Date: 1996/01/24 12:13:31
+//
+xkb_keycodes "lk_common" {
+ // "Function" keys
+ <FK01> = 86;
+ <FK02> = 87;
+ <FK03> = 88;
+ <FK04> = 89;
+ <FK05> = 90;
+ <FK06> = 100;
+ <FK07> = 101;
+ <FK08> = 102;
+ <FK09> = 103;
+ <FK10> = 104;
+ <FK11> = 113;
+ <FK12> = 114;
+
+ <UP> = 170;
+ <LEFT> = 167;
+ <DOWN> = 169;
+ <RGHT> = 168;
+
+ // "Keypad" keys
+ <KP7> = 157;
+ <KP8> = 158;
+ <KP9> = 159;
+ <KP4> = 153;
+ <KP5> = 154;
+ <KP6> = 155;
+ <KP1> = 150;
+ <KP2> = 151;
+ <KP3> = 152;
+ <KPEN> = 149;
+ <KP0> = 146;
+ <KPDL> = 148;
+
+ // "Alphanumeric" keys
+ <AE00> = 191;
+ <AE01> = 192;
+ <AE02> = 197;
+ <AE03> = 203;
+ <AE04> = 208;
+ <AE05> = 214;
+ <AE06> = 219;
+ <AE07> = 224;
+ <AE08> = 229;
+ <AE09> = 234;
+ <AE10> = 239;
+ <AE11> = 249;
+ <AE12> = 245;
+ <BKSP> = 188;
+
+ <TAB> = 190;
+ <AD01> = 193;
+ <AD02> = 198;
+ <AD03> = 204;
+ <AD04> = 209;
+ <AD05> = 215;
+ <AD06> = 220;
+ <AD07> = 225;
+ <AD08> = 230;
+ <AD09> = 235;
+ <AD10> = 240;
+ <AD11> = 250;
+ <AD12> = 246;
+ <RTRN> = 189;
+
+ <LCTL> = 175;
+ <CAPS> = 176;
+ <AC01> = 194;
+ <AC02> = 199;
+ <AC03> = 205;
+ <AC04> = 210;
+ <AC05> = 216;
+ <AC06> = 221;
+ <AC07> = 226;
+ <AC08> = 231;
+ <AC09> = 236;
+ <AC10> = 242;
+ <AC11> = 251;
+
+ <LFSH> = 174;
+ <AB01> = 195;
+ <AB02> = 200;
+ <AB03> = 206;
+ <AB04> = 211;
+ <AB05> = 217;
+ <AB06> = 222;
+ <AB07> = 227;
+ <AB08> = 232;
+ <AB09> = 237;
+ <AB10> = 243;
+ <RTSH> = 171;
+
+ <SPCE> = 212;
+
+ <LDM> = 255; // Support R5 Lock Down Modifiers
+
+ alias <TLDE> = <AE00>;
+};
+
+xkb_keycodes "lkx01" {
+ include "digital/lk(lk_common)"
+ <AB00> = 201;
+ <FK13> = 115;
+ <FK14> = 116;
+ <FK17> = 128;
+ <FK18> = 129;
+ <FK19> = 130;
+ <FK20> = 131;
+ <HELP> = 124;
+ <DO> = 125;
+ <FIND> = 138;
+ <INS> = 139;
+ <DELE> = 140;
+ <SELE> = 141;
+ <PGUP> = 142;
+ <PGDN> = 143;
+ <KPF1> = 161;
+ <KPF2> = 162;
+ <KPF3> = 163;
+ <KPF4> = 164;
+ <KPSU> = 160;
+ <KPCO> = 156;
+ <BKSL> = 247;
+ <LCMP> = 177;
+};
+
+xkb_keycodes "lk201" {
+ include "digital/lk(lkx01)"
+ indicator 4 = "Scroll Lock";
+ indicator 3 = "Caps Lock";
+ indicator 2 = "Compose";
+ indicator 1 = "Wait";
+};
+
+xkb_keycodes "lk421" {
+ include "digital/lk(lkx01)"
+ <LALT> = 172;
+ <RALT> = 178;
+ <RCMP> = 173;
+};
+
+xkb_keycodes "lk401" {
+ include "digital/lk(lk421)"
+ indicator 4 = "Scroll Lock";
+ indicator 3 = "Caps Lock";
+};
+
+xkb_keycodes "lk44x" {
+ include "digital/lk(lk_common)"
+ <ESC> = 85;
+ <PRSC> = 115;
+ <SCLK> = 116;
+ <PAUS> = 124;
+ <INS> = 138;
+ <HOME> = 139;
+ <PGUP> = 140;
+ <DELE> = 141;
+ <END> = 142;
+ <PGDN> = 143;
+ <NMLK> = 161;
+ <KPDV> = 162;
+ <KPMU> = 163;
+ <KPSU> = 164;
+ <KPAD> = 156;
+ <LALT> = 172;
+ <RALT> = 178;
+ <RCTL> = 173;
+};
+
+xkb_keycodes "lk443" {
+ include "digital/lk(lk44x)"
+ <BKSL> = 247;
+ indicator 3 = "Caps Lock";
+ indicator 4 = "Scroll Lock";
+ indicator 5 = "Num Lock";
+};
+
+xkb_keycodes "lk444" {
+ include "digital/lk(lk44x)"
+ <BKSL> = 201;
+ <AC12> = 247;
+ indicator 3 = "Caps Lock";
+ indicator 4 = "Scroll Lock";
+ indicator 5 = "Num Lock";
+};
+
+// LK201-LT = lk201
+// LK421-AJ = lk421 +AB11
+// LK421-JJ = lk421aj+MUHE+KANJ+HIRA
+// LK401-AJ = lk401
+// LK401-BJ = lk401 +MUHE+KANJ+HIRA
+// LK401-JJ = lk401bj+AB11
+// LK401-LT = lk401
+// LK441-LT = lk443
+
+xkb_keycodes "lk421aj" {
+ include "digital/lk(lk421)"
+ <AB11> = 252;
+};
+
+xkb_keycodes "lk421jj" {
+ include "digital/lk(lk421aj)"
+ <MUHE> = 94;
+ <KANJ> = 95;
+ <HIRA> = 97;
+};
+
+xkb_keycodes "lk401bj" {
+ include "digital/lk(lk401)"
+ <MUHE> = 94;
+ <KANJ> = 95;
+ <HIRA> = 97;
+};
+
+xkb_keycodes "lk401jj" {
+ include "digital/lk(lk401bj)"
+ <AB11> = 252;
+};
diff --git a/data/xkbdata/keycodes/digital/pc b/data/xkbdata/keycodes/digital/pc
new file mode 100644
index 000000000..b0aebc3e5
--- /dev/null
+++ b/data/xkbdata/keycodes/digital/pc
@@ -0,0 +1,280 @@
+// $Xorg: pc,v 1.3 2000/08/17 19:54:38 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log
+// Revision 1.2 1996/06/18 09:13:25 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.3 1995/10/25 21:00:14 William_Walker
+// Add pc104-key support
+// [1995/10/23 15:46:21 William_Walker]
+//
+// Revision 1.1.6.2 1995/08/07 17:40:37 William_Walker
+// Upgrade XKB to protocol 0.62 (dual submit from decx11)
+// [1995/08/06 14:06:28 William_Walker]
+//
+// Revision 1.1.2.4 1995/08/05 15:25:56 William_Walker
+// Upgrade to XKB protocol 0.62
+// [1995/08/05 14:40:02 William_Walker]
+//
+// Revision 1.1.2.3 1995/06/27 12:17:32 William_Walker
+// Rename <TLDE> to ISO9995 compliant <AE00>.
+// [1995/06/26 20:24:07 William_Walker]
+//
+// Revision 1.1.2.2 1995/06/05 19:21:31 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:07:34 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: pc Revision: /main/3 (DEC) Date: 1996/01/24 12:13:36
+//
+xkb_keycodes "pc_common" {
+ // "Function" keys
+ <FK01> = 9;
+ <FK02> = 15;
+ <FK03> = 23;
+ <FK04> = 31;
+ <FK05> = 39;
+ <FK06> = 47;
+ <FK07> = 55;
+ <FK08> = 63;
+ <FK09> = 71;
+ <FK10> = 79;
+ <FK11> = 86;
+ <FK12> = 94;
+
+ // "Editing" keys
+
+ <UP> = 99;
+ <LEFT> = 97;
+ <DOWN> = 96;
+ <RGHT> = 106;
+
+ // "Keypad" keys
+ <KP7> = 108;
+ <KP8> = 117;
+ <KP9> = 125;
+
+ <KP4> = 107;
+ <KP5> = 115;
+ <KP6> = 116;
+
+ <KP1> = 105;
+ <KP2> = 114;
+ <KP3> = 122;
+ <KPEN> = 121;
+
+ <KP0> = 112;
+ <KPDL> = 113;
+
+ // "Alphanumeric" keys
+ <AE01> = 22;
+ <AE02> = 30;
+ <AE03> = 38;
+ <AE04> = 37;
+ <AE05> = 46;
+ <AE06> = 54;
+ <AE07> = 61;
+ <AE08> = 62;
+ <AE09> = 70;
+ <AE10> = 69;
+ <AE11> = 78;
+ <AE12> = 85;
+ <BKSP> = 102;
+
+ <TAB> = 13;
+ <AD01> = 21;
+ <AD02> = 29;
+ <AD03> = 36;
+ <AD04> = 45;
+ <AD05> = 44;
+ <AD06> = 53;
+ <AD07> = 60;
+ <AD08> = 67;
+ <AD09> = 68;
+ <AD10> = 77;
+ <AD11> = 84;
+ <AD12> = 91;
+
+ <CAPS> = 20;
+ <AC01> = 28;
+ <AC02> = 27;
+ <AC03> = 35;
+ <AC04> = 43;
+ <AC05> = 52;
+ <AC06> = 51;
+ <AC07> = 59;
+ <AC08> = 66;
+ <AC09> = 75;
+ <AC10> = 76;
+ <AC11> = 82;
+ <RTRN> = 90;
+
+ <LFSH> = 18;
+ <AB01> = 26;
+ <AB02> = 34;
+ <AB03> = 33;
+ <AB04> = 42;
+ <AB05> = 50;
+ <AB06> = 49;
+ <AB07> = 58;
+ <AB08> = 65;
+ <AB09> = 73;
+ <AB10> = 74;
+ <RTSH> = 89;
+
+ <LCTL> = 17;
+ <LALT> = 25;
+ <SPCE> = 41;
+ <RALT> = 57;
+
+ <LDM> = 255; // Support R5 Lock Down Modifiers
+
+};
+
+xkb_keycodes "pc10x" {
+ include "digital/pc(pc_common)"
+ <ESC> = 8;
+ <AE00> = 14;
+ <PRSC> = 87;
+ <SCLK> = 95;
+ <PAUS> = 98;
+ <INS> = 103;
+ <HOME> = 110;
+ <PGUP> = 111;
+ <DELE> = 100;
+ <END> = 101;
+ <PGDN> = 109;
+ <NMLK> = 118;
+ <KPDV> = 119;
+ <KPMU> = 126;
+ <KPSU> = 132;
+ <KPAD> = 124;
+ <RCTL> = 88;
+
+ alias <TLDE> = <AE00>;
+
+ indicator 3 = "Caps Lock";
+ indicator 4 = "Scroll Lock";
+};
+
+xkb_keycodes "pc101" {
+ include "digital/pc(pc10x)"
+ <BKSL> = 92;
+ indicator 5 = "Num Lock";
+};
+
+
+xkb_keycodes "pc102" {
+ include "digital/pc(pc10x)"
+ <BKSL> = 19;
+ <AC12> = 83;
+ indicator 5 = "Num Lock";
+};
+
+xkb_keycodes "pc104" {
+ include "digital/pc(pc101)"
+ <LWIN> = 139;
+ <RWIN> = 140;
+ <MENU> = 141;
+};
+
+xkb_keycodes "lk411_common" {
+ include "digital/pc(pc_common)"
+ <AE00> = 8;
+ <AB00> = 14;
+ <FK13> = 24;
+ <FK14> = 10;
+ <FK17> = 16;
+ <FK18> = 87;
+ <FK19> = 95;
+ <FK20> = 98;
+ <HELP> = 11;
+ <DO> = 12;
+ <FIND> = 110;
+ <INS> = 103;
+ <DELE> = 100;
+ <SELE> = 101;
+ <PGUP> = 111;
+ <PGDN> = 109;
+ <KPF1> = 118;
+ <KPF2> = 119;
+ <KPF3> = 126;
+ <KPF4> = 132;
+ <KPSU> = 19;
+ <KPCO> = 124;
+ <LCMP> = 40;
+ <RCMP> = 88;
+
+ alias <TLDE> = <AE00>;
+
+ indicator 3 = "Caps Lock";
+ indicator 4 = "Scroll Lock";
+};
+
+xkb_keycodes "lk411" {
+ include "digital/pc(lk411_common)"
+ <BKSL> = 92;
+};
+
+xkb_keycodes "lk450" {
+ include "digital/pc(lk411)"
+ indicator 2 = "Compose";
+ indicator 1 = "Wait";
+};
+
+// Japanese variants
+//
+// PCXAJ-AA = pc+BKSL+AC12+AB11+MUHE+KANJ+HIRA+indicator
+// LK411-AJ = lk411+MUHE+KANJ+HIRA
+// LK411-JJ = lk411+BKSL+AZ01+MUHE+KANJ+HIRA
+// LK411-LT = lk411
+
+xkb_keycodes "pcxajaa" {
+ include "digital/pc(pc10x)"
+ <BKSL> = 93;
+ <AC12> = 83;
+ <AB11> = 81;
+ <MUHE> = 133;
+ <KANJ> = 134;
+ <HIRA> = 135;
+ indicator 5 = "Group 2";
+};
+
+xkb_keycodes "lk411jj" {
+ include "digital/pc(lk411_common)"
+ <AB11> = 81;
+ <BKSL> = 83;
+ <MUHE> = 133;
+ <KANJ> = 134;
+ <HIRA> = 135;
+};
+
+
diff --git a/data/xkbdata/keycodes/fujitsu b/data/xkbdata/keycodes/fujitsu
new file mode 100644
index 000000000..e0e63c6b5
--- /dev/null
+++ b/data/xkbdata/keycodes/fujitsu
@@ -0,0 +1,187 @@
+// $Xorg: fujitsu,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+default xkb_keycodes "138" {
+
+ minimum= 8;
+ maximum= 156;
+
+ <ESC> = 37;
+ <AE01> = 38;
+ <AE02> = 39;
+ <AE03> = 40;
+ <AE04> = 41;
+ <AE05> = 42;
+ <AE06> = 43;
+ <AE07> = 44;
+ <AE08> = 45;
+ <AE09> = 46;
+ <AE10> = 47;
+ <AE11> = 48;
+ <AE12> = 49;
+ <TLDE> = 50;
+ <BKSP> = 51;
+
+ <TAB> = 61;
+ <AD01> = 62;
+ <AD02> = 63;
+ <AD03> = 64;
+ <AD04> = 65;
+ <AD05> = 66;
+ <AD06> = 67;
+ <AD07> = 68;
+ <AD08> = 69;
+ <AD09> = 70;
+ <AD10> = 71;
+ <AD11> = 72;
+ <AD12> = 73;
+
+ <LCTL> = 84;
+ <AC01> = 85;
+ <AC02> = 86;
+ <AC03> = 87;
+ <AC04> = 88;
+ <AC05> = 89;
+ <AC06> = 90;
+ <AC07> = 91;
+ <AC08> = 92;
+ <AC09> = 93;
+ <AC10> = 94;
+ <AC11> = 95;
+ <BKSL> = 96;
+ <RTRN> = 97;
+
+ <LFSH> = 107;
+ <AB01> = 108;
+ <AB02> = 109;
+ <AB03> = 110;
+ <AB04> = 111;
+ <AB05> = 112;
+ <AB06> = 113;
+ <AB07> = 114;
+ <AB08> = 115;
+ <AB09> = 116;
+ <AB10> = 117;
+ <AB11> = 52;
+ <RTSH> = 118;
+
+ <CAPS> = 127;
+ <LALT> = 27;
+ <LMTA> = 128;
+ <UNK4> = 125;
+ <SPCE> = 129;
+ <UNK5> = 10;
+ <RMTA> = 130;
+ <RALT> = 23;
+ <COMP> = 75;
+ <LNFD> = 119;
+ <UNK6> = 56;
+
+ <FK01> = 13;
+ <FK02> = 14;
+ <FK03> = 16;
+ <FK04> = 18;
+ <FK05> = 20;
+ <FK06> = 22;
+ <FK07> = 24;
+ <FK08> = 25;
+ <FK09> = 26;
+ <FK10> = 15;
+ <FK11> = 17;
+ <FK12> = 19;
+ <FK13> = 137;
+ <FK14> = 138;
+ <FK15> = 139;
+ <FK16> = 140;
+ <FK17> = 141;
+ <FK18> = 142;
+ <FK19> = 143;
+ <FK20> = 144;
+ <FK21> = 145;
+ <FK22> = 146;
+ <FK23> = 147;
+ <FK24> = 148;
+ <FK25> = 153;
+ <FK26> = 154;
+ <FK27> = 155;
+ <FK28> = 156;
+ <FK29> = 149;
+ <FK30> = 150;
+ <FK31> = 151;
+ <FK32> = 152;
+
+ <UNDO> = 34;
+ <COPY> = 59;
+ <PAST> = 81;
+ <CUT> = 105;
+ <HELP> = 126;
+
+ <BREA> = 9;
+ <PRSC> = 30;
+ <KNJI> = 21;
+ <PAUS> = 29;
+
+ <UNK0> = 82;
+ <UNK1> = 83;
+ <UNK2> = 12;
+ <PGUP> = 35;
+ <HOME> = 32;
+ <PGDN> = 36;
+ <UNK3> = 28;
+ <DEL> = 74;
+ <INS> = 60;
+ <UP> = 33;
+ <DOWN> = 103;
+ <LEFT> = 57;
+ <RGHT> = 80;
+ <EXEC> = 11;
+
+ <KPMU> = 55;
+ <KPDV> = 54;
+ <KPAD> = 133;
+ <KPSU> = 79;
+
+ <KP7> = 76;
+ <KP8> = 77;
+ <KP9> = 78;
+ <KPEQ> = 53;
+
+ <KP4> = 99;
+ <KP5> = 100;
+ <KP6> = 101;
+ <KPDC> = 58;
+
+ <KP1> = 120;
+ <KP2> = 121;
+ <KP3> = 122;
+ <KPEN> = 98;
+
+ <KP0> = 102;
+ <KP00> = 31;
+
+ <UNK7> = 123;
+ <UNK8> = 124;
+};
diff --git a/data/xkbdata/keycodes/hp b/data/xkbdata/keycodes/hp
new file mode 100644
index 000000000..0c98072d3
--- /dev/null
+++ b/data/xkbdata/keycodes/hp
@@ -0,0 +1,271 @@
+// $Xorg: hp,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+default xkb_keycodes "hp-101" {
+
+ <TLDE> = 23;
+ <AE01> = 31;
+ <AE02> = 39;
+ <AE03> = 47;
+ <AE04> = 46;
+ <AE05> = 55;
+ <AE06> = 63;
+ <AE07> = 70;
+ <AE08> = 71;
+ <AE09> = 79;
+ <AE10> = 78;
+ <AE11> = 87;
+ <AE12> = 94;
+ <BKSP> = 111;
+
+ <TAB> = 22;
+ <AD01> = 30;
+ <AD02> = 38;
+ <AD03> = 45;
+ <AD04> = 54;
+ <AD05> = 53;
+ <AD06> = 62;
+ <AD07> = 69;
+ <AD08> = 76;
+ <AD09> = 77;
+ <AD10> = 86;
+ <AD11> = 93;
+ <AD12> = 100;
+ <BKSL> = 101;
+
+ <CAPS> = 29;
+ <AC01> = 37;
+ <AC02> = 36;
+ <AC03> = 44;
+ <AC04> = 52;
+ <AC05> = 61;
+ <AC06> = 60;
+ <AC07> = 68;
+ <AC08> = 75;
+ <AC09> = 84;
+ <AC10> = 85;
+ <AC11> = 91;
+ <RTRN> = 99;
+
+ <LFSH> = 27;
+ <AB01> = 35;
+ <AB02> = 43;
+ <AB03> = 42;
+ <AB04> = 51;
+ <AB05> = 59;
+ <AB06> = 58;
+ <AB07> = 67;
+ <AB08> = 74;
+ <AB09> = 82;
+ <AB10> = 83;
+ <RTSH> = 98;
+
+ <LCTL> = 26;
+ <LALT> = 34;
+ <SPCE> = 50;
+ <RALT> = 66;
+ <RCTL> = 97;
+
+ <ESC> = 17;
+ <FK01> = 16;
+ <FK02> = 24;
+ <FK03> = 32;
+ <FK04> = 40;
+ <FK05> = 48;
+ <FK06> = 56;
+ <FK07> = 64;
+ <FK08> = 72;
+ <FK09> = 80;
+ <FK10> = 88;
+ <FK11> = 95;
+ <FK12> = 103;
+
+ <PRSC> = 96;
+ <SCLK> = 104;
+ <PAUS> = 107;
+
+ <INS> = 112;
+ <HOME> = 119;
+ <PGUP> = 120;
+ <DELE> = 109;
+ <END> = 110;
+ <PGDN> = 118;
+
+ <UP> = 108;
+ <LEFT> = 106;
+ <DOWN> = 105;
+ <RGHT> = 115;
+
+ <NMLK> = 127;
+ <KPDV> = 128;
+ <KPMU> = 135;
+ <KPSU> = 141;
+
+ <KP7> = 117;
+ <KP8> = 126;
+ <KP9> = 134;
+ <KPAD> = 133;
+
+ <KP4> = 116;
+ <KP5> = 124;
+ <KP6> = 125;
+
+ <KP1> = 114;
+ <KP2> = 123;
+ <KP3> = 131;
+ <KPEN> = 130;
+
+ <KP0> = 121;
+ <KPDL> = 122;
+
+ indicator 1 = "Caps Lock";
+ indicator 2 = "Num Lock";
+ indicator 3 = "Scroll Lock";
+};
+
+xkb_keycodes "hil" {
+
+ <TLDE> = 71;
+ <AE01> = 70;
+ <AE02> = 69;
+ <AE03> = 68;
+ <AE04> = 67;
+ <AE05> = 66;
+ <AE06> = 65;
+ <AE07> = 64;
+ <AE08> = 96;
+ <AE09> = 97;
+ <AE10> = 98;
+ <AE11> = 99;
+ <AE12> = 100;
+ <BKSP> = 101;
+
+ <TAB> = 63;
+ <AD01> = 62;
+ <AD02> = 61;
+ <AD03> = 60;
+ <AD04> = 59;
+ <AD05> = 58;
+ <AD06> = 57;
+ <AD07> = 56;
+ <AD08> = 104;
+ <AD09> = 105;
+ <AD10> = 106;
+ <AD11> = 107;
+ <AD12> = 108;
+ <BKSL> = 109;
+
+ <CAPS> = 55;
+ <AC01> = 53;
+ <AC02> = 52;
+ <AC03> = 51;
+ <AC04> = 50;
+ <AC05> = 49;
+ <AC06> = 48;
+ <AC07> = 112;
+ <AC08> = 113;
+ <AC09> = 114;
+ <AC10> = 115;
+ <AC11> = 116;
+ <RTRN> = 117;
+
+ <LFSH> = 13;
+ <AB01> = 36;
+ <AB02> = 35;
+ <AB03> = 34;
+ <AB04> = 33;
+ <AB05> = 32;
+ <AB06> = 128;
+ <AB07> = 120;
+ <AB08> = 121;
+ <AB09> = 122;
+ <AB10> = 123;
+ <RTSH> = 12;
+
+ <LCTL> = 14;
+ <LALT> = 11;
+ <SPCE> = 129;
+ <RALT> = 10;
+ <PRSC> = 87;
+
+ <ESC> = 39;
+ <BRK> = 15;
+ <STOP> = 86;
+ <FK01> = 84;
+ <FK02> = 83;
+ <FK03> = 82;
+ <FK04> = 81;
+ <MENU> = 80;
+ <SYST> = 88;
+ <FK05> = 89;
+ <FK06> = 90;
+ <FK07> = 91;
+ <FK08> = 92;
+ <FK09> = 45;
+ <FK10> = 41;
+ <FK11> = 43;
+ <FK12> = 47;
+ <CLRL> = 94;
+ <CLR> = 95;
+
+ <INSL> = 102;
+ <DELL> = 103;
+ <INSC> = 110;
+ <DELC> = 111;
+
+ <HOME> = 118;
+ <PGUP> = 119;
+ <PGDN> = 127;
+ <SELE> = 125;
+
+ <UP> = 134;
+ <LEFT> = 132;
+ <DOWN> = 133;
+ <RGHT> = 135;
+
+ <KPDV> = 25;
+ <KPMU> = 29;
+ <KPAD> = 27;
+ <KPSU> = 31;
+
+ <KP7> = 21;
+ <KP8> = 17;
+ <KP9> = 19;
+ <KPEN> = 23;
+
+ <KP4> = 16;
+ <KP5> = 18;
+ <KP6> = 20;
+ <KPSP> = 22;
+
+ <KP1> = 24;
+ <KP2> = 26;
+ <KP3> = 28;
+ <KPTB> = 46;
+
+ <KP0> = 30;
+ <KPDL> = 44;
+};
diff --git a/data/xkbdata/keycodes/ibm b/data/xkbdata/keycodes/ibm
new file mode 100644
index 000000000..303d4b360
--- /dev/null
+++ b/data/xkbdata/keycodes/ibm
@@ -0,0 +1,151 @@
+// $Xorg: ibm,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+xkb_keycodes "rs6k-101" {
+
+ <TLDE> = 9;
+ <AE01> = 10;
+ <AE02> = 11;
+ <AE03> = 12;
+ <AE04> = 13;
+ <AE05> = 14;
+ <AE06> = 15;
+ <AE07> = 16;
+ <AE08> = 17;
+ <AE09> = 18;
+ <AE10> = 19;
+ <AE11> = 20;
+ <AE12> = 21;
+ <BKSP> = 23;
+
+ <TAB> = 24;
+ <AD01> = 25;
+ <AD02> = 26;
+ <AD03> = 27;
+ <AD04> = 28;
+ <AD05> = 29;
+ <AD06> = 30;
+ <AD07> = 31;
+ <AD08> = 32;
+ <AD09> = 33;
+ <AD10> = 34;
+ <AD11> = 35;
+ <AD12> = 36;
+ <BKSL> = 37;
+
+ <CAPS> = 38;
+ <AC01> = 39;
+ <AC02> = 40;
+ <AC03> = 41;
+ <AC04> = 42;
+ <AC05> = 43;
+ <AC06> = 44;
+ <AC07> = 45;
+ <AC08> = 46;
+ <AC09> = 47;
+ <AC10> = 48;
+ <AC11> = 49;
+ <RTRN> = 51;
+
+ <LFSH> = 52;
+ <AB01> = 54;
+ <AB02> = 55;
+ <AB03> = 56;
+ <AB04> = 57;
+ <AB05> = 58;
+ <AB06> = 59;
+ <AB07> = 60;
+ <AB08> = 61;
+ <AB09> = 62;
+ <AB10> = 63;
+ <RTSH> = 65;
+
+ <LCTL> = 66;
+ <LALT> = 68;
+ <SPCE> = 69;
+ <RALT> = 70;
+ <RCTL> = 72;
+
+ <ESC> = 118;
+ <FK01> = 120;
+ <FK02> = 121;
+ <FK03> = 122;
+ <FK04> = 123;
+ <FK05> = 124;
+ <FK06> = 125;
+ <FK07> = 126;
+ <FK08> = 127;
+ <FK09> = 128;
+ <FK10> = 129;
+ <FK11> = 130;
+ <FK12> = 131;
+
+ <PRSC> = 132;
+ <SCLK> = 133;
+ <PAUS> = 134;
+
+ <INS> = 83;
+ <HOME> = 88;
+ <PGUP> = 93;
+ <DELE> = 84;
+ <END> = 89;
+ <PGDN> = 94;
+
+ <UP> = 91;
+ <LEFT> = 87;
+ <DOWN> = 92;
+ <RGHT> = 97;
+
+ <NMLK> = 98;
+ <KPDV> = 103;
+ <KPMU> = 108;
+ <KPSU> = 113;
+
+ <KP7> = 99;
+ <KP8> = 104;
+ <KP9> = 109;
+ <KPAD> = 114;
+
+ <KP4> = 100;
+ <KP5> = 105;
+ <KP6> = 110;
+
+ <KP1> = 101;
+ <KP2> = 106;
+ <KP3> = 111;
+ <KPEN> = 116;
+
+ <KP0> = 107;
+ <KPDL> = 112;
+
+ indicator 1 = "Caps Lock";
+ indicator 2 = "Num Lock";
+ indicator 3 = "Scroll Lock";
+};
+xkb_keycodes "rs6k-102" {
+ include "ibm(rs6k-101)"
+ <LSGT> = 53;
+};
diff --git a/data/xkbdata/keycodes/macintosh b/data/xkbdata/keycodes/macintosh
new file mode 100644
index 000000000..5ed575c12
--- /dev/null
+++ b/data/xkbdata/keycodes/macintosh
@@ -0,0 +1,161 @@
+// $XConsortium: macintosh /main/10 1996/01/24 12:17:35 kaleb $
+//
+//Copyright (c) 1996 X Consortium
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and/or sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the X Consortium shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from the X Consortium.
+//
+// $XFree86: xc/programs/xkbcomp/keycodes/macintosh,v 1.4 2001/10/02 19:57:00 alanh Exp $
+//
+default xkb_keycodes "macintosh" {
+
+ minimum= 8;
+ maximum= 134;
+
+ <ESC> = 61;
+ <TLDE> = 58;
+ <AE01> = 26;
+ <AE02> = 27;
+ <AE03> = 28;
+ <AE04> = 29;
+ <AE05> = 31;
+ <AE06> = 30;
+ <AE07> = 34;
+ <AE08> = 36;
+ <AE09> = 33;
+ <AE10> = 37;
+ <AE11> = 35;
+ <AE12> = 32;
+ <BKSP> = 59;
+
+ <TAB> = 56;
+ <AD01> = 20;
+ <AD02> = 21;
+ <AD03> = 22;
+ <AD04> = 23;
+ <AD05> = 25;
+ <AD06> = 24;
+ <AD07> = 40;
+ <AD08> = 42;
+ <AD09> = 39;
+ <AD10> = 43;
+ <AD11> = 41;
+ <AD12> = 38;
+ <BKSL> = 50;
+
+ <CAPS> = 65;
+ <AC01> = 8;
+ <AC02> = 9;
+ <AC03> = 10;
+ <AC04> = 11;
+ <AC05> = 13;
+ <AC06> = 12;
+ <AC07> = 46;
+ <AC08> = 48;
+ <AC09> = 45;
+ <AC10> = 49;
+ <AC11> = 47;
+ <RTRN> = 44;
+
+ <LSGT> = 18;
+ <AB01> = 14;
+ <AB02> = 15;
+ <AB03> = 16;
+ <AB04> = 17;
+ <AB05> = 19;
+ <AB06> = 53;
+ <AB07> = 54;
+ <AB08> = 51;
+ <AB09> = 55;
+ <AB10> = 52;
+
+ <SPCE> = 57;
+
+ <LCTL> = 62; // Left Control
+ <LALT> = 63; // Left Option
+ <LFSH> = 64; // Left Shift
+ <RALT> = 66; // Left Command
+// <RTSH> = 131; // Right Shift
+// <RALT> = 132; // Right Command
+// <RCTL> = 133; // Right Control
+// <RMTA> = 134; // Right Option
+
+ <FK01> = 130;
+ <FK02> = 128;
+ <FK03> = 107;
+ <FK04> = 126;
+ <FK05> = 104;
+ <FK06> = 105;
+ <FK07> = 106;
+ <FK08> = 108;
+ <FK09> = 109;
+ <FK10> = 117;
+ <FK11> = 111;
+ <FK12> = 119;
+
+ <PRSC> = 113;
+ <SCLK> = 115;
+ <PAUS> = 121;
+
+ <INS> = 122;
+ <HOME> = 123;
+ <PGUP> = 124;
+ <DELE> = 125;
+ <END> = 127;
+ <PGDN> = 129;
+
+ <UP> = 70;
+ <LEFT> = 67;
+ <DOWN> = 69;
+ <RGHT> = 68;
+
+ <NMLK> = 79;
+ <KPEQ> = 89;
+ <KPDV> = 83;
+ <KPMU> = 75;
+
+ <KP7> = 97;
+ <KP8> = 99;
+ <KP9> = 100;
+ <KPSU> = 86;
+
+ <KP4> = 94;
+ <KP5> = 95;
+ <KP6> = 96;
+ <KPAD> = 77;
+
+ <KP1> = 91;
+ <KP2> = 92;
+ <KP3> = 93;
+ <KPEN> = 84;
+
+ <KP0> = 90;
+ <KPDL> = 73;
+
+ indicator 3 = "Scroll Lock";
+ indicator 2 = "Num Lock";
+ indicator 1 = "Caps Lock";
+
+ alias <ALGR> = <RALT>;
+};
diff --git a/data/xkbdata/keycodes/powerpcps2 b/data/xkbdata/keycodes/powerpcps2
new file mode 100644
index 000000000..a607036c0
--- /dev/null
+++ b/data/xkbdata/keycodes/powerpcps2
@@ -0,0 +1,134 @@
+// $XConsortium: xfree86 /main/4 1996/08/31 12:16:59 kaleb $
+// $XFree86: xc/programs/xkbcomp/keycodes/xfree86,v 3.3.2.1 1999/06/21 09:45:28 hohndel Exp $
+default xkb_keycodes "powerpcps2" {
+
+ minimum= 8;
+ maximum= 135;
+
+ <TLDE> = 49;
+ <AE01> = 10;
+ <AE02> = 11;
+ <AE03> = 12;
+ <AE04> = 13;
+ <AE05> = 14;
+ <AE06> = 15;
+ <AE07> = 16;
+ <AE08> = 17;
+ <AE09> = 18;
+ <AE10> = 19;
+ <AE11> = 20;
+ <AE12> = 21;
+ <BKSP> = 22;
+
+ <TAB> = 23;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 36;
+
+ <CAPS> = 66;
+ <AC01> = 38;
+ <AC02> = 39;
+ <AC03> = 40;
+ <AC04> = 41;
+ <AC05> = 42;
+ <AC06> = 43;
+ <AC07> = 44;
+ <AC08> = 45;
+ <AC09> = 46;
+ <AC10> = 47;
+ <AC11> = 48;
+
+ <LFSH> = 50;
+ <AB01> = 52;
+ <AB02> = 53;
+ <AB03> = 54;
+ <AB04> = 55;
+ <AB05> = 56;
+ <AB06> = 57;
+ <AB07> = 58;
+ <AB08> = 59;
+ <AB09> = 60;
+ <AB10> = 61;
+ <RTSH> = 62;
+ <BKSL> = 51;
+ <LSGT> = 94;
+
+ <LALT> = 64;
+ <LCTL> = 37;
+ <SPCE> = 65;
+ <RCTL> = 105;
+ <RALT> = 108;
+ // Microsoft keyboard extra keys
+ <LWIN> = 133;
+ <RWIN> = 134;
+ <MENU> = 135;
+
+ <ESC> = 9;
+ <FK01> = 67;
+ <FK02> = 68;
+ <FK03> = 69;
+ <FK04> = 70;
+ <FK05> = 71;
+ <FK06> = 72;
+ <FK07> = 73;
+ <FK08> = 74;
+ <FK09> = 75;
+ <FK10> = 76;
+ <FK11> = 95;
+ <FK12> = 96;
+
+ <PRSC> = 107;
+ <SCLK> = 78;
+ <PAUS> = 127;
+
+ <INS> = 118;
+ <HOME> = 110;
+ <PGUP> = 112;
+ <DELE> = 119;
+ <END> = 115;
+ <PGDN> = 117;
+
+ <UP> = 111;
+ <LEFT> = 113;
+ <DOWN> = 116;
+ <RGHT> = 114;
+
+ <NMLK> = 77;
+ <KPDV> = 106;
+ <KPMU> = 63;
+ <KPSU> = 82;
+
+ <KP7> = 79;
+ <KP8> = 80;
+ <KP9> = 81;
+ <KPAD> = 86;
+
+ <KP4> = 83;
+ <KP5> = 84;
+ <KP6> = 85;
+
+ <KP1> = 87;
+ <KP2> = 88;
+ <KP3> = 89;
+ <KPEN> = 104;
+
+ <KP0> = 90;
+ <KPDL> = 91;
+
+ indicator 1 = "Caps Lock";
+ indicator 2 = "Num Lock";
+ indicator 3 = "Scroll Lock";
+
+ alias <ALGR> = <RALT>;
+};
+
diff --git a/data/xkbdata/keycodes/sgi/Makefile.am b/data/xkbdata/keycodes/sgi/Makefile.am
new file mode 100644
index 000000000..58118408a
--- /dev/null
+++ b/data/xkbdata/keycodes/sgi/Makefile.am
@@ -0,0 +1,5 @@
+xkbdata_keycodes_sgidir = $(datadir)/X11/xkb/keycodes/sgi
+dist_xkbdata_keycodes_sgi_DATA = \
+ indigo \
+ indy \
+ iris
diff --git a/data/xkbdata/keycodes/sgi/Makefile.in b/data/xkbdata/keycodes/sgi/Makefile.in
new file mode 100644
index 000000000..a872278b7
--- /dev/null
+++ b/data/xkbdata/keycodes/sgi/Makefile.in
@@ -0,0 +1,260 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_keycodes_sgidir = $(datadir)/X11/xkb/keycodes/sgi
+dist_xkbdata_keycodes_sgi_DATA = \
+ indigo \
+ indy \
+ iris
+
+subdir = keycodes/sgi
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_keycodes_sgi_DATA)
+
+DIST_COMMON = $(dist_xkbdata_keycodes_sgi_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu keycodes/sgi/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_keycodes_sgiDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_keycodes_sgiDATA: $(dist_xkbdata_keycodes_sgi_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keycodes_sgidir)
+ @list='$(dist_xkbdata_keycodes_sgi_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_keycodes_sgiDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keycodes_sgidir)/$$f"; \
+ $(dist_xkbdata_keycodes_sgiDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keycodes_sgidir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_keycodes_sgiDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_keycodes_sgi_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_keycodes_sgidir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_keycodes_sgidir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keycodes_sgidir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_keycodes_sgiDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_keycodes_sgiDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_keycodes_sgiDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_keycodes_sgiDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/keycodes/sgi/indigo b/data/xkbdata/keycodes/sgi/indigo
new file mode 100644
index 000000000..df8680263
--- /dev/null
+++ b/data/xkbdata/keycodes/sgi/indigo
@@ -0,0 +1,140 @@
+// $Xorg: indigo,v 1.3 2000/08/17 19:54:39 cpqbld Exp $
+default xkb_keycodes "pc101" {
+ minimum= 10;
+ maximum= 118;
+
+ <TLDE> = 62;
+ <AE01> = 15;
+ <AE02> = 21;
+ <AE03> = 22;
+ <AE04> = 29;
+ <AE05> = 30;
+ <AE06> = 37;
+ <AE07> = 38;
+ <AE08> = 45;
+ <AE09> = 46;
+ <AE10> = 53;
+ <AE11> = 54;
+ <AE12> = 61;
+ <BKSP> = 68;
+
+ <TAB> = 16;
+ <AD01> = 17;
+ <AD02> = 23;
+ <AD03> = 24;
+ <AD04> = 31;
+ <AD05> = 32;
+ <AD06> = 39;
+ <AD07> = 40;
+ <AD08> = 47;
+ <AD09> = 48;
+ <AD10> = 55;
+ <AD11> = 56;
+ <AD12> = 63;
+ <RTRN> = 58;
+
+ <CAPS> = 11;
+ <AC01> = 18;
+ <AC02> = 19;
+ <AC03> = 25;
+ <AC04> = 26;
+ <AC05> = 33;
+ <AC06> = 34;
+ <AC07> = 41;
+ <AC08> = 42;
+ <AC09> = 49;
+ <AC10> = 50;
+ <AC11> = 57;
+
+ <LFSH> = 13;
+ <AB01> = 27;
+ <AB02> = 28;
+ <AB03> = 35;
+ <AB04> = 36;
+ <AB05> = 43;
+ <AB06> = 44;
+ <AB07> = 51;
+ <AB08> = 52;
+ <AB09> = 59;
+ <AB10> = 60;
+ <RTSH> = 12;
+ <BKSL> = 64;
+
+ <LALT> = 91;
+ <LCTL> = 10;
+ <SPCE> = 90;
+ <RCTL> = 93;
+ <RALT> = 92;
+
+ <ESC> = 14;
+ <FK01> = 94;
+ <FK02> = 95;
+ <FK03> = 96;
+ <FK04> = 97;
+ <FK05> = 98;
+ <FK06> = 99;
+ <FK07> = 100;
+ <FK08> = 101;
+ <FK09> = 102;
+ <FK10> = 103;
+ <FK11> = 104;
+ <FK12> = 105;
+
+ <PRSC> = 106;
+ <SCLK> = 107;
+ <PAUS> = 108;
+
+ <INS> = 109;
+ <HOME> = 110;
+ <PGUP> = 111;
+ <DELE> = 69;
+ <END> = 112;
+ <PGDN> = 113;
+
+ <UP> = 88;
+ <LEFT> = 80;
+ <DOWN> = 81;
+ <RGHT> = 87;
+
+ <NMLK> = 114;
+ <KPDV> = 115;
+ <KPMU> = 116;
+ <KPSU> = 83;
+
+ <KP7> = 74;
+ <KP8> = 75;
+ <KP9> = 82;
+ <KPAD> = 117;
+
+ <KP4> = 70;
+ <KP5> = 76;
+ <KP6> = 77;
+
+ <KP1> = 65;
+ <KP2> = 71;
+ <KP3> = 72;
+ <KPEN> = 89;
+
+ <KP0> = 66;
+ <KPDL> = 73;
+
+ alias <AE00> = <TLDE>;
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+ alias <AA01> = <LALT>;
+ alias <AA09> = <RALT>;
+ alias <ALGR> = <RALT>;
+ alias <AA12> = <RCTL>;
+
+ virtual indicator 1 = "L1";
+ virtual indicator 2 = "L2";
+ virtual indicator 3 = "L3";
+ virtual indicator 4 = "L4";
+ indicator 5 = "Caps Lock";
+ indicator 6 = "Num Lock";
+ indicator 7 = "Scroll Lock";
+};
+xkb_keycodes "pc102" {
+ include "sgi/indigo(pc101)"
+ <LSGT> = 118;
+};
diff --git a/data/xkbdata/keycodes/sgi/indy b/data/xkbdata/keycodes/sgi/indy
new file mode 100644
index 000000000..f59609d88
--- /dev/null
+++ b/data/xkbdata/keycodes/sgi/indy
@@ -0,0 +1,203 @@
+// $Xorg: indy,v 1.3 2000/08/17 19:54:39 cpqbld Exp $
+default xkb_keycodes "universal" {
+ minimum= 15;
+ maximum= 149;
+ include "sgi/indy(pc105)"
+ alternate <BKSL> = 91;
+ alternate <BKSL> = 100;
+ alternate <BKSL> = 101;
+};
+xkb_keycodes "pc101" {
+ minimum= 15;
+ maximum= 149;
+
+ <TLDE> = 22;
+ <AE01> = 30;
+ <AE02> = 38;
+ <AE03> = 46;
+ <AE04> = 45;
+ <AE05> = 54;
+ <AE06> = 62;
+ <AE07> = 69;
+ <AE08> = 70;
+ <AE09> = 78;
+ <AE10> = 77;
+ <AE11> = 86;
+ <AE12> = 93;
+ <BKSP> = 110;
+
+ <TAB> = 21;
+ <AD01> = 29;
+ <AD02> = 37;
+ <AD03> = 44;
+ <AD04> = 53;
+ <AD05> = 52;
+ <AD06> = 61;
+ <AD07> = 68;
+ <AD08> = 75;
+ <AD09> = 76;
+ <AD10> = 85;
+ <AD11> = 92;
+ <AD12> = 99;
+ <RTRN> = 98;
+
+ <CAPS> = 28;
+ <AC01> = 36;
+ <AC02> = 35;
+ <AC03> = 43;
+ <AC04> = 51;
+ <AC05> = 60;
+ <AC06> = 59;
+ <AC07> = 67;
+ <AC08> = 74;
+ <AC09> = 83;
+ <AC10> = 84;
+ <AC11> = 90;
+
+ <LFSH> = 26;
+ <AB01> = 34;
+ <AB02> = 42;
+ <AB03> = 41;
+ <AB04> = 50;
+ <AB05> = 58;
+ <AB06> = 57;
+ <AB07> = 66;
+ <AB08> = 73;
+ <AB09> = 81;
+ <AB10> = 82;
+ <RTSH> = 97;
+ <BKSL> = 100;
+
+ <LALT> = 33;
+ <LCTL> = 25;
+ <SPCE> = 49;
+ <RCTL> = 96;
+ <RALT> = 65;
+
+ <ESC> = 16;
+ <FK01> = 15;
+ <FK02> = 23;
+ <FK03> = 31;
+ <FK04> = 39;
+ <FK05> = 47;
+ <FK06> = 55;
+ <FK07> = 63;
+ <FK08> = 71;
+ <FK09> = 79;
+ <FK10> = 87;
+ <FK11> = 94;
+ <FK12> = 102;
+
+ <PRSC> = 95;
+ <SCLK> = 103;
+ <PAUS> = 106;
+
+ <INS> = 111;
+ <HOME> = 118;
+ <PGUP> = 119;
+ <DELE> = 108;
+ <END> = 109;
+ <PGDN> = 117;
+
+ <UP> = 107;
+ <LEFT> = 105;
+ <DOWN> = 104;
+ <RGHT> = 114;
+
+ <NMLK> = 126;
+ <KPDV> = 127;
+ <KPMU> = 134;
+ <KPSU> = 140;
+
+ <KP7> = 116;
+ <KP8> = 125;
+ <KP9> = 133;
+ <KPAD> = 132;
+
+ <KP4> = 115;
+ <KP5> = 123;
+ <KP6> = 124;
+
+ <KP1> = 113;
+ <KP2> = 122;
+ <KP3> = 130;
+ <KPEN> = 129;
+
+ <KP0> = 120;
+ <KPDL> = 121;
+
+ alias <AE00> = <TLDE>;
+ alias <AC00> = <CAPS>;
+ alias <AA00> = <LCTL>;
+ alias <AA01> = <LALT>;
+ alias <AA09> = <RALT>;
+ alias <ALGR> = <RALT>;
+ alias <AA12> = <RCTL>;
+
+ virtual indicator 1 = "L1";
+ virtual indicator 2 = "L2";
+ virtual indicator 3 = "L3";
+ virtual indicator 4 = "L4";
+ indicator 5 = "Caps Lock";
+ indicator 6 = "Num Lock";
+ indicator 7 = "Scroll Lock";
+
+};
+xkb_keycodes "pc102" {
+ <BKSL> = 91;
+ <LSGT> = 27;
+ augment "sgi/indy(pc101)"
+ maximum= 149;
+ minimum= 15;
+};
+xkb_keycodes "pc104" {
+ include "sgi/indy(pc101)"
+ minimum= 15;
+ maximum= 149;
+
+ // These key names are here to support so-called "Windows95"
+ // keyboards like the Microsoft Natural keyboard.
+ <LWIN> = 147;
+ <RWIN> = 148;
+ <MENU> = 149;
+};
+xkb_keycodes "pc105" {
+ <LSGT> = 27;
+ augment "sgi/indy(pc104)"
+ minimum= 15;
+ maximum= 149;
+};
+xkb_keycodes "jp106" {
+ <HZTG> = 22;
+ <AB11> = 89;
+ <AC12> = 91;
+ <NFER> = 141;
+ <XFER> = 142;
+ <HKTG> = 143;
+ alias <TLDE> = <HZTG>;
+ alias <AE00> = <HZTG>;
+ alias <AE13> = <BKSL>;
+ augment "sgi/indy(pc101)"
+ minimum= 15;
+ maximum= 149;
+};
+// can be combined with any other "indy" keycode
+// description to add virtual keys which can be
+// used to implement an overlay-based numeric
+// keypad.
+partial hidden xkb_keycodes "overlayKeypad" {
+ <KO7> = 17;
+ <KO8> = 18;
+ <KO9> = 19;
+ <KO6> = 146;
+ <KO5> = 145;
+ <KO4> = 144;
+ <KO1> = 136;
+ <KO2> = 137;
+ <KO3> = 138;
+ <KO0> = 135;
+ <KODL> = 139;
+};
+partial hidden xkb_keycodes "shiftLock" {
+ indicator 5 = "Shift Lock";
+};
diff --git a/data/xkbdata/keycodes/sgi/iris b/data/xkbdata/keycodes/sgi/iris
new file mode 100644
index 000000000..30375e9b7
--- /dev/null
+++ b/data/xkbdata/keycodes/sgi/iris
@@ -0,0 +1,11 @@
+// $Xorg: iris,v 1.3 2000/08/17 19:54:39 cpqbld Exp $
+default xkb_keycodes "iris" {
+ include "sgi/indigo(pc101)"
+ indicator 1 = "L1";
+ indicator 2 = "L2";
+ indicator 3 = "L3";
+ indicator 4 = "L4";
+ indicator 5 = "Caps Lock";
+ indicator 6 = "Num Lock";
+ indicator 7 = "Scroll Lock";
+};
diff --git a/data/xkbdata/keycodes/sony b/data/xkbdata/keycodes/sony
new file mode 100644
index 000000000..0e720b422
--- /dev/null
+++ b/data/xkbdata/keycodes/sony
@@ -0,0 +1,142 @@
+// $Xorg: sony,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+xkb_keycodes "nwp5461" {
+
+ <ESC> = 18;
+ <AE01> = 19;
+ <AE02> = 20;
+ <AE03> = 21;
+ <AE04> = 22;
+ <AE05> = 23;
+ <AE06> = 24;
+ <AE07> = 25;
+ <AE08> = 26;
+ <AE09> = 27;
+ <AE10> = 28;
+ <AE11> = 29;
+ <AE12> = 30;
+ <BKSL> = 31;
+ <BKSP> = 32;
+
+ <TAB> = 33;
+ <AD01> = 34;
+ <AD02> = 35;
+ <AD03> = 36;
+ <AD04> = 37;
+ <AD05> = 38;
+ <AD06> = 39;
+ <AD07> = 40;
+ <AD08> = 41;
+ <AD09> = 42;
+ <AD10> = 43;
+ <AD11> = 44;
+ <AD12> = 45;
+ <DELE> = 46;
+
+ <LCTL> = 47;
+ <AC01> = 48;
+ <AC02> = 49;
+ <AC03> = 50;
+ <AC04> = 51;
+ <AC05> = 52;
+ <AC06> = 53;
+ <AC07> = 54;
+ <AC08> = 55;
+ <AC09> = 56;
+ <AC10> = 57;
+ <AC11> = 58;
+ <TLDE> = 59;
+ <RTRN> = 60;
+
+ <LFSH> = 61;
+ <AB01> = 62;
+ <AB02> = 63;
+ <AB03> = 64;
+ <AB04> = 65;
+ <AB05> = 66;
+ <AB06> = 67;
+ <AB07> = 68;
+ <AB08> = 69;
+ <AB09> = 70;
+ <AB10> = 71;
+ <AB11> = 72;
+ <RTSH> = 73;
+
+ <LALT> = 74;
+ <CAPS> = 75;
+ <STOP> = 76;
+ <SPCE> = 77;
+ <CUT> = 78;
+ <EXEC> = 81;
+
+ <FK01> = 8;
+ <FK02> = 9;
+ <FK03> = 10;
+ <FK04> = 11;
+ <FK05> = 12;
+ <FK06> = 13;
+ <FK07> = 14;
+ <FK08> = 15;
+ <FK09> = 16;
+ <FK10> = 17;
+ <FK11> = 111;
+ <FK12> = 112;
+
+ <HELP> = 113;
+ <INS> = 114;
+ <CLR> = 115;
+ <PGUP> = 116;
+ <PGDN> = 117;
+
+ <KPTB> = 109;
+ <UP> = 95;
+ <LEFT> = 98;
+ <DOWN> = 99;
+ <RGHT> = 100;
+
+ <KPMU> = 107;
+ <KPDV> = 108;
+ <KPAD> = 89;
+
+ <KP7> = 82;
+ <KP8> = 83;
+ <KP9> = 84;
+ <KPSU> = 85;
+
+ <KP4> = 86;
+ <KP5> = 87;
+ <KP6> = 88;
+ <KPSP> = 93;
+
+ <KP1> = 90;
+ <KP2> = 91;
+ <KP3> = 92;
+ <KPEN> = 97;
+
+ <KP0> = 94;
+ <KPDC> = 96;
+};
diff --git a/data/xkbdata/keycodes/sun b/data/xkbdata/keycodes/sun
new file mode 100644
index 000000000..546efb29e
--- /dev/null
+++ b/data/xkbdata/keycodes/sun
@@ -0,0 +1,832 @@
+// $Xorg: sun,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keycodes/sun,v 3.5 2001/12/14 20:02:00 dawes Exp $
+//
+default xkb_keycodes "type4" {
+
+ minimum= 8;
+ maximum= 132;
+
+ <ESC> = 36;
+ <AE01> = 37;
+ <AE02> = 38;
+ <AE03> = 39;
+ <AE04> = 40;
+ <AE05> = 41;
+ <AE06> = 42;
+ <AE07> = 43;
+ <AE08> = 44;
+ <AE09> = 45;
+ <AE10> = 46;
+ <AE11> = 47;
+ <AE12> = 48;
+ <TLDE> = 49;
+ <BKSP> = 50;
+
+ <TAB> = 60;
+ <AD01> = 61;
+ <AD02> = 62;
+ <AD03> = 63;
+ <AD04> = 64;
+ <AD05> = 65;
+ <AD06> = 66;
+ <AD07> = 67;
+ <AD08> = 68;
+ <AD09> = 69;
+ <AD10> = 70;
+ <AD11> = 71;
+ <AD12> = 72;
+ <DELE> = 73;
+
+ <LCTL> = 83;
+ <AC01> = 84;
+ <AC02> = 85;
+ <AC03> = 86;
+ <AC04> = 87;
+ <AC05> = 88;
+ <AC06> = 89;
+ <AC07> = 90;
+ <AC08> = 91;
+ <AC09> = 92;
+ <AC10> = 93;
+ <AC11> = 94;
+ <BKSL> = 95;
+ <RTRN> = 96;
+
+ <LFSH> = 106;
+ <AB01> = 107;
+ <AB02> = 108;
+ <AB03> = 109;
+ <AB04> = 110;
+ <AB05> = 111;
+ <AB06> = 112;
+ <AB07> = 113;
+ <AB08> = 114;
+ <AB09> = 115;
+ <AB10> = 116;
+ <RTSH> = 117;
+ <LNFD> = 118;
+
+ <HELP> = 125;
+ <CAPS> = 126;
+ <LALT> = 26;
+ <LMTA> = 127;
+ <SPCE> = 128;
+ <RMTA> = 129;
+ <COMP> = 74;
+ <ALGR> = 20;
+ alias <RALT> = <ALGR>;
+
+ <FK01> = 12;
+ <FK02> = 13;
+ <FK03> = 15;
+ <FK04> = 17;
+ <FK05> = 19;
+ <FK06> = 21;
+ <FK07> = 23;
+ <FK08> = 24;
+ <FK09> = 25;
+ <FK10> = 14;
+ <FK11> = 16;
+ <FK12> = 18;
+
+ <STOP> = 8;
+ <AGAI> = 10;
+ <PROP> = 32;
+ <UNDO> = 33;
+ <FRNT> = 56;
+ <COPY> = 58;
+ <OPEN> = 79;
+ <PAST> = 80;
+ <FIND> = 102;
+ <CUT> = 104;
+
+ <PRSC> = 29;
+ <SCLK> = 30;
+ <PAUS> = 28;
+
+ <NMLK> = 105;
+ <KPEQ> = 52;
+ <KPDV> = 53;
+ <KPMU> = 54;
+ <KPSU> = 78;
+
+ <KP7> = 75;
+ <KP8> = 76;
+ <KP9> = 77;
+ <KPAD> = 132;
+
+ <KP4> = 98;
+ <KP5> = 99;
+ <KP6> = 100;
+
+ <KP1> = 119;
+ <KP2> = 120;
+ <KP3> = 121;
+ <KPEN> = 97;
+
+ <KP0> = 101;
+ <KPDL> = 57;
+ indicator 4 = "Caps Lock";
+ indicator 3 = "Compose";
+ indicator 2 = "Scroll Lock";
+ indicator 1 = "Num Lock";
+};
+
+xkb_keycodes "type5" {
+
+ minimum= 8;
+ maximum= 132;
+
+ <ESC> = 36;
+ <AE01> = 37;
+ <AE02> = 38;
+ <AE03> = 39;
+ <AE04> = 40;
+ <AE05> = 41;
+ <AE06> = 42;
+ <AE07> = 43;
+ <AE08> = 44;
+ <AE09> = 45;
+ <AE10> = 46;
+ <AE11> = 47;
+ <AE12> = 48;
+ <TLDE> = 49;
+ <BKSP> = 50;
+
+ <TAB> = 60;
+ <AD01> = 61;
+ <AD02> = 62;
+ <AD03> = 63;
+ <AD04> = 64;
+ <AD05> = 65;
+ <AD06> = 66;
+ <AD07> = 67;
+ <AD08> = 68;
+ <AD09> = 69;
+ <AD10> = 70;
+ <AD11> = 71;
+ <AD12> = 72;
+ <DELE> = 73;
+ <COMP> = 74;
+ <ALGR> = 20;
+ alias <RALT> = <ALGR>;
+
+ <LCTL> = 83;
+ <AC01> = 84;
+ <AC02> = 85;
+ <AC03> = 86;
+ <AC04> = 87;
+ <AC05> = 88;
+ <AC06> = 89;
+ <AC07> = 90;
+ <AC08> = 91;
+ <AC09> = 92;
+ <AC10> = 93;
+ <AC11> = 94;
+ <BKSL> = 95;
+ <RTRN> = 96;
+
+ <LFSH> = 106;
+ <AB01> = 107;
+ <AB02> = 108;
+ <AB03> = 109;
+ <AB04> = 110;
+ <AB05> = 111;
+ <AB06> = 112;
+ <AB07> = 113;
+ <AB08> = 114;
+ <AB09> = 115;
+ <AB10> = 116;
+ <RTSH> = 117;
+
+ <LALT> = 26;
+ <CAPS> = 126;
+ <LMTA> = 127;
+ <SPCE> = 128;
+ <RMTA> = 129;
+
+ <FK01> = 12;
+ <FK02> = 13;
+ <FK03> = 15;
+ <FK04> = 17;
+ <FK05> = 19;
+ <FK06> = 21;
+ <FK07> = 23;
+ <FK08> = 24;
+ <FK09> = 25;
+ <FK10> = 14;
+ <FK11> = 16;
+ <FK12> = 18;
+ <STOP> = 8;
+ <AGAI> = 10;
+ <PROP> = 32;
+ <UNDO> = 33;
+ <FRNT> = 56;
+ <COPY> = 58;
+ <OPEN> = 79;
+ <PAST> = 80;
+ <FIND> = 102;
+ <CUT> = 104;
+
+ <PRSC> = 29;
+ <SCLK> = 30;
+ <PAUS> = 28;
+
+ <NMLK> = 105;
+ <KPDV> = 53;
+ <KPMU> = 54;
+ <KPSU> = 78;
+
+ <KP7> = 75;
+ <KP8> = 76;
+ <KP9> = 77;
+ <KPAD> = 132;
+
+ <KP4> = 98;
+ <KP5> = 99;
+ <KP6> = 100;
+
+ <KP1> = 119;
+ <KP2> = 120;
+ <KP3> = 121;
+ <KPEN> = 97;
+
+ <KP0> = 101;
+ <KPDL> = 57;
+
+ <UP> = 27;
+ <LEFT> = 31;
+ <DOWN> = 34;
+ <RGHT> = 35;
+
+ <INS> = 51;
+ <HOME> = 59;
+ <END> = 81;
+ <PGUP> = 103;
+ <PGDN> = 130;
+ <HELP> = 125;
+
+ <MUTE> = 52;
+ <VOL-> = 9;
+ <VOL+> = 11;
+ <POWR> = 55;
+ indicator 4 = "Caps Lock";
+ indicator 3 = "Compose";
+ indicator 2 = "Scroll Lock";
+ indicator 1 = "Num Lock";
+};
+
+// Keycodes for Sun Model 320-1272 (Type 6), Sun interface.
+xkb_keycodes "type6" {
+ include "sun(type5)"
+};
+
+xkb_keycodes "type4_euro" {
+ include "sun(type4)"
+ <LSGT> = 131;
+};
+
+xkb_keycodes "type5_euro" {
+ include "sun(type5)"
+ <LSGT> = 131;
+};
+
+xkb_keycodes "type6_euro" {
+ include "sun(type6)"
+ <LSGT> = 131;
+};
+
+xkb_keycodes "type5_se" {
+
+ minimum= 8;
+ maximum= 132;
+
+ // Row G
+ <HELP> = 125;
+ //
+ <ESC> = 36;
+ //
+ <FK01> = 12;
+ <FK02> = 13;
+ <FK03> = 15;
+ <FK04> = 17;
+ //
+ <FK05> = 19;
+ <FK06> = 21;
+ <FK07> = 23;
+ <FK08> = 24;
+ //
+ <FK09> = 25;
+ <FK10> = 14;
+ <FK11> = 16;
+ <FK12> = 18;
+ //
+ <PRSC> = 29;
+ <SCLK> = 30;
+ <PAUS> = 28;
+ //
+ <MUTE> = 52;
+ <VOL-> = 9;
+ <VOL+> = 11;
+ <POWR> = 55;
+ // End Row G
+
+ // Row F
+ //
+ // End Row F
+
+ // Row E
+ <STOP> = 8;
+ <AGAI> = 10;
+ //
+ <AE00> = 49;
+ alias <TLDE> = <AE00>;
+ <AE01> = 37;
+ <AE02> = 38;
+ <AE03> = 39;
+ <AE04> = 40;
+ <AE05> = 41;
+ <AE06> = 42;
+ <AE07> = 43;
+ <AE08> = 44;
+ <AE09> = 45;
+ <AE10> = 46;
+ <AE11> = 47;
+ <AE12> = 48;
+ <BKSP> = 50;
+ //
+ <INS> = 51;
+ <HOME> = 59;
+ <PGUP> = 103;
+ //
+ <NMLK> = 105;
+ <KPDV> = 53;
+ <KPMU> = 54;
+ <KPSU> = 78;
+ //End Row E
+
+ // Row D
+ <PROP> = 32;
+ <UNDO> = 33;
+ //
+ <AD00> = 60;
+ alias <TAB> = <AD00>;
+ <AD01> = 61;
+ <AD02> = 62;
+ <AD03> = 63;
+ <AD04> = 64;
+ <AD05> = 65;
+ <AD06> = 66;
+ <AD07> = 67;
+ <AD08> = 68;
+ <AD09> = 69;
+ <AD10> = 70;
+ <AD11> = 71;
+ <AD12> = 72;
+ //
+ <DELE> = 73;
+ <END> = 81;
+ <PGDN> = 130;
+ //
+ <KP7> = 75;
+ <KP8> = 76;
+ <KP9> = 77;
+ <KPAD> = 132;
+ // End Row D
+
+ // Row C
+ <FRNT> = 56;
+ <COPY> = 58;
+ //
+ <AC00> = 126;
+ alias <CAPS> = <AC00>;
+ <AC01> = 84;
+ <AC02> = 85;
+ <AC03> = 86;
+ <AC04> = 87;
+ <AC05> = 88;
+ <AC06> = 89;
+ <AC07> = 90;
+ <AC08> = 91;
+ <AC09> = 92;
+ <AC10> = 93;
+ <AC11> = 94;
+ <AC12> = 95;
+ alias <BKSL> = <AC12>;
+ <RTRN> = 96;
+ //
+ <KP4> = 98;
+ <KP5> = 99;
+ <KP6> = 100;
+ // End Row C
+
+ // Row B
+ <OPEN> = 79;
+ <PAST> = 80;
+ //
+ <LFSH> = 106;
+ <AB00> = 131;
+ alias <LSGT> = <AB00>;
+ <AB01> = 107;
+ <AB02> = 108;
+ <AB03> = 109;
+ <AB04> = 110;
+ <AB05> = 111;
+ <AB06> = 112;
+ <AB07> = 113;
+ <AB08> = 114;
+ <AB09> = 115;
+ <AB10> = 116;
+ <RTSH> = 117;
+ //
+ <UP> = 27;
+ //
+ <KP1> = 119;
+ <KP2> = 120;
+ <KP3> = 121;
+ <KPEN> = 97;
+ // End Row B
+
+ // Row A
+ <FIND> = 102;
+ <CUT> = 104;
+ //
+ <LCTL> = 83;
+ <LALT> = 26;
+ <LMTA> = 127;
+ <SPCE> = 128;
+ <RMTA> = 129;
+ <COMP> = 74;
+ <ALGR> = 20;
+ alias <RALT> = <ALGR>;
+ //
+ <LEFT> = 31;
+ <DOWN> = 34;
+ <RGHT> = 35;
+ //
+ <KP0> = 101;
+ <KPDL> = 57;
+ // End Row A
+
+ indicator 4 = "Caps Lock";
+ indicator 3 = "Compose";
+ indicator 2 = "Scroll Lock";
+ indicator 1 = "Num Lock";
+};
+
+xkb_keycodes "type5c_se" {
+ include "sun(type5_se)"
+};
+
+xkb_keycodes "type4__se" {
+
+ minimum= 8;
+ maximum= 132;
+
+ // Row F
+ <STOP> = 8;
+ <AGAI> = 10;
+ //
+ <FK01> = 12;
+ <FK02> = 13;
+ <FK03> = 15;
+ <FK04> = 17;
+ <FK05> = 19;
+ <FK06> = 21;
+ <FK07> = 23;
+ <FK08> = 24;
+ <FK09> = 25;
+ <FK10> = 14;
+ <FK11> = 16;
+ <FK12> = 18;
+ <AF13> = 95;
+ alias <TLDE> = <AF13>;
+ <AF14> = 22;
+ <DELE> = 73;
+ //
+ <PAUS> = 28;
+ <PRSC> = 29;
+ <SCLK> = 30;
+ <NMLK> = 105;
+ // End Row F
+
+ // Row E
+ <PROP> = 32;
+ <UNDO> = 33;
+ //
+ <AE00> = 36;
+ alias <ESC> = <AE00>;
+ <AE01> = 37;
+ <AE02> = 38;
+ <AE03> = 39;
+ <AE04> = 40;
+ <AE05> = 41;
+ <AE06> = 42;
+ <AE07> = 43;
+ <AE08> = 44;
+ <AE09> = 45;
+ <AE10> = 46;
+ <AE11> = 47;
+ <AE12> = 48;
+ <BKSP> = 50;
+ //
+ <KPEQ> = 52;
+ <KPDV> = 53;
+ <KPMU> = 54;
+ <KPSU> = 78;
+ // End Row E
+
+ // Row D
+ <FRNT> = 56;
+ <COPY> = 58;
+ //
+ <AD00> = 60;
+ alias <TAB> = <AD00>;
+ <AD01> = 61;
+ <AD02> = 62;
+ <AD03> = 63;
+ <AD04> = 64;
+ <AD05> = 65;
+ <AD06> = 66;
+ <AD07> = 67;
+ <AD08> = 68;
+ <AD09> = 69;
+ <AD10> = 70;
+ <AD11> = 71;
+ <AD12> = 72;
+ //
+ <KP7> = 75;
+ <KP8> = 76;
+ <KP9> = 77;
+ <KPAD> = 132;
+ // End Row D
+
+ // Row C
+ <OPEN> = 79;
+ <PAST> = 80;
+ //
+ <AC00> = 83;
+ // alias <CAPS> = <AC00>;
+ <AC01> = 84;
+ <AC02> = 85;
+ <AC03> = 86;
+ <AC04> = 87;
+ <AC05> = 88;
+ <AC06> = 89;
+ <AC07> = 90;
+ <AC08> = 91;
+ <AC09> = 92;
+ <AC10> = 93;
+ <AC11> = 94;
+ <AC12> = 49;
+ alias <BKSL> = <AC12>;
+ <RTRN> = 96;
+ //
+ <KP4> = 98;
+ <KP5> = 99;
+ <KP6> = 100;
+ // End Row C
+
+ // Row B
+ <FIND> = 102;
+ <CUT> = 104;
+ //
+ <LFSH> = 106;
+ <AB00> = 131;
+ alias <LSGT> = <AB00>;
+ <AB01> = 107;
+ <AB02> = 108;
+ <AB03> = 109;
+ <AB04> = 110;
+ <AB05> = 111;
+ <AB06> = 112;
+ <AB07> = 113;
+ <AB08> = 114;
+ <AB09> = 115;
+ <AB10> = 116;
+ <RTSH> = 117;
+ <LNFD> = 118;
+ //
+ <KP1> = 119;
+ <KP2> = 120;
+ <KP3> = 121;
+ <KPEN> = 97;
+ // End Row B
+
+ // Row A
+ <HELP> = 125;
+ //
+ <AA00> = 126;
+ // alias <LCTL> = <AA00>;
+ <LALT> = 26;
+ <LMTA> = 127;
+ <SPCE> = 128;
+ <RMTA> = 129;
+ <COMP> = 74;
+ <ALGR> = 20;
+ alias <RALT> = <ALGR>;
+ //
+ <KP0> = 101;
+ <KPDL> = 57;
+ // End Row A
+
+ indicator 4 = "Caps Lock";
+ indicator 3 = "Compose";
+ indicator 2 = "Scroll Lock";
+ indicator 1 = "Num Lock";
+};
+
+xkb_keycodes "type4_se" {
+
+ include "sun(type4__se)"
+
+ alias <LCTL> = <AA00>;
+ alias <CAPS> = <AC00>;
+};
+
+xkb_keycodes "type4_se_swapctl" {
+
+ include "sun(type4__se)"
+
+ alias <LCTL> = <AC00>;
+ alias <CAPS> = <AA00>;
+};
+
+// Keycodes for Sun Model 320-1273 (Type 6 USB).
+xkb_keycodes "type6_usb" {
+ minimum= 8;
+ maximum= 255;
+
+ <ESC> = 9;
+ <AE01> = 10;
+ <AE02> = 11;
+ <AE03> = 12;
+ <AE04> = 13;
+ <AE05> = 14;
+ <AE06> = 15;
+ <AE07> = 16;
+ <AE08> = 17;
+ <AE09> = 18;
+ <AE10> = 19;
+ <AE11> = 20;
+ <AE12> = 21;
+ <BKSL> = 51;
+ <TLDE> = 49;
+
+ <TAB> = 23;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 36;
+ <BKSP> = 22;
+
+ <LCTL> = 37;
+ <AC01> = 38;
+ <AC02> = 39;
+ <AC03> = 40;
+ <AC04> = 41;
+ <AC05> = 42;
+ <AC06> = 43;
+ <AC07> = 44;
+ <AC08> = 45;
+ <AC09> = 46;
+ <AC10> = 47;
+ <AC11> = 48;
+
+ <LFSH> = 50;
+ <AB01> = 52;
+ <AB02> = 53;
+ <AB03> = 54;
+ <AB04> = 55;
+ <AB05> = 56;
+ <AB06> = 57;
+ <AB07> = 58;
+ <AB08> = 59;
+ <AB09> = 60;
+ <AB10> = 61;
+ <RTSH> = 62;
+
+ <CAPS> = 66;
+ <LALT> = 64;
+ <SPCE> = 65;
+ <ALGR> = 113;
+ alias <RALT> = <ALGR>;
+
+ <LMTA> = 115;
+ <RMTA> = 116;
+ <COMP> = 117;
+
+ <FK01> = 67;
+ <FK02> = 68;
+ <FK03> = 69;
+ <FK04> = 70;
+ <FK05> = 71;
+ <FK06> = 72;
+ <FK07> = 73;
+ <FK08> = 74;
+ <FK09> = 75;
+ <FK10> = 76;
+ <FK11> = 95;
+ <FK12> = 96;
+
+ <PRSC> = 111;
+ <SCLK> = 78;
+ <PAUS> = 110;
+
+ <INS> = 106;
+ <HOME> = 97;
+ <PGUP> = 99;
+ <DELE> = 107;
+ <END> = 103;
+ <PGDN> = 105;
+
+ <UP> = 98;
+ <LEFT> = 100;
+ <DOWN> = 104;
+ <RGHT> = 102;
+
+ <NMLK> = 77;
+ <KPDV> = 112;
+ <KPMU> = 63;
+ <KPSU> = 82;
+
+ <KP7> = 79;
+ <KP8> = 80;
+ <KP9> = 81;
+ <KPAD> = 86;
+
+ <KP4> = 83;
+ <KP5> = 84;
+ <KP6> = 85;
+
+ <KP1> = 87;
+ <KP2> = 88;
+ <KP3> = 89;
+ <KPEN> = 108;
+
+ <KP0> = 90;
+ <KPDL> = 91;
+
+ <STOP> = 232;
+ <AGAI> = 133;
+ <PROP> = 134;
+ <UNDO> = 135;
+ <FRNT> = 140;
+ <COPY> = 248;
+ <OPEN> = 191;
+ <PAST> = 192;
+ <FIND> = 122;
+ <CUT> = 188;
+
+ <HELP> = 245;
+
+ <MUTE> = 160;
+ <VOL-> = 174;
+ <VOL+> = 176;
+ <POWR> = 222;
+
+ indicator 1 = "Caps Lock";
+ indicator 2 = "Num Lock";
+ indicator 3 = "Scroll Lock";
+ indicator 4 = "Compose";
+};
+
+xkb_keycodes "type6_euro_usb" {
+ include "sun(type6_usb)"
+ <LSGT> = 94; // 104 ?
+};
+
diff --git a/data/xkbdata/keycodes/xfree86 b/data/xkbdata/keycodes/xfree86
new file mode 100644
index 000000000..05bd5ee71
--- /dev/null
+++ b/data/xkbdata/keycodes/xfree86
@@ -0,0 +1,413 @@
+// $XdotOrg: xc/programs/xkbcomp/keycodes/xfree86,v 1.2 2004/04/23 19:54:51 eich Exp $
+// $Xorg: xfree86,v 1.3 2000/08/17 19:54:37 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/keycodes/xfree86,v 3.28 2003/11/21 04:46:42 dawes Exp $
+
+// "standard" XFree86 codes
+// It seems that the "default" must be the first entry in the file.
+
+default xkb_keycodes "xfree86" {
+ include "xfree86(basic)"
+ <BKSL> = 51;
+ <LSGT> = 94;
+};
+
+xkb_keycodes "basic" {
+
+ minimum= 8;
+ maximum= 255;
+
+ <TLDE> = 49;
+ <AE01> = 10;
+ <AE02> = 11;
+ <AE03> = 12;
+ <AE04> = 13;
+ <AE05> = 14;
+ <AE06> = 15;
+ <AE07> = 16;
+ <AE08> = 17;
+ <AE09> = 18;
+ <AE10> = 19;
+ <AE11> = 20;
+ <AE12> = 21;
+ <BKSP> = 22;
+
+ <TAB> = 23;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 36;
+
+ <CAPS> = 66;
+ <AC01> = 38;
+ <AC02> = 39;
+ <AC03> = 40;
+ <AC04> = 41;
+ <AC05> = 42;
+ <AC06> = 43;
+ <AC07> = 44;
+ <AC08> = 45;
+ <AC09> = 46;
+ <AC10> = 47;
+ <AC11> = 48;
+
+ <LFSH> = 50;
+ <AB01> = 52;
+ <AB02> = 53;
+ <AB03> = 54;
+ <AB04> = 55;
+ <AB05> = 56;
+ <AB06> = 57;
+ <AB07> = 58;
+ <AB08> = 59;
+ <AB09> = 60;
+ <AB10> = 61;
+ <RTSH> = 62;
+
+ <LALT> = 64;
+ <LCTL> = 37;
+ <SPCE> = 65;
+ <RCTL> = 109;
+ <RALT> = 113;
+ // Microsoft keyboard extra keys
+ <LWIN> = 115;
+ <RWIN> = 116;
+ <MENU> = 117;
+
+ <ESC> = 9;
+ <FK01> = 67;
+ <FK02> = 68;
+ <FK03> = 69;
+ <FK04> = 70;
+ <FK05> = 71;
+ <FK06> = 72;
+ <FK07> = 73;
+ <FK08> = 74;
+ <FK09> = 75;
+ <FK10> = 76;
+ <FK11> = 95;
+ <FK12> = 96;
+
+ <PRSC> = 111;
+ <SYRQ> = 92;
+ <SCLK> = 78;
+ <PAUS> = 110;
+ <BRK> = 114;
+
+ <INS> = 106;
+ <HOME> = 97;
+ <PGUP> = 99;
+ <DELE> = 107;
+ <END> = 103;
+ <PGDN> = 105;
+
+ <UP> = 98;
+ <LEFT> = 100;
+ <DOWN> = 104;
+ <RGHT> = 102;
+
+ <NMLK> = 77;
+ <KPDV> = 112;
+ <KPMU> = 63;
+ <KPSU> = 82;
+
+ <KP7> = 79;
+ <KP8> = 80;
+ <KP9> = 81;
+ <KPAD> = 86;
+
+ <KP4> = 83;
+ <KP5> = 84;
+ <KP6> = 85;
+
+ <KP1> = 87;
+ <KP2> = 88;
+ <KP3> = 89;
+ <KPEN> = 108;
+
+ <KP0> = 90;
+ <KPDL> = 91;
+ <KPEQ> = 126;
+
+ <FK13> = 118;
+ <FK14> = 119;
+ <FK15> = 120;
+ <FK16> = 121;
+ <FK17> = 122;
+ <KPDC> = 123;
+
+ // Keys that are generated on Japanese keyboards
+
+ alias <HZTG> = <TLDE>; // Hankaku_Zenkaku toggle
+ <HKTG> = 208; // Hiragana_Katakana toggle
+ <AB11> = 211; // backslash/underscore
+ <XFER> = 129; // Henkan
+ <NFER> = 131; // Muhenkan
+ <AE13> = 133; // Yen
+
+ // Keys that are generated on Korean keyboards
+
+ alias <HNGL> = <FK16>; // Hangul Latin toggle
+ alias <HJCV> = <FK17>; // Hangul to Hanja conversion
+
+ // Extended keys that may be generated on "Internet" keyboards.
+ // These are not standardised, hence the meaningless names.
+ // The entries commented out are never generated because the raw codes
+ // in those positions are already used for well-defined keys.
+
+ alias <I01> = <XFER>;
+ <I02> = 130;
+ alias <I03> = <NFER>;
+ <I04> = 132;
+ alias <I05> = <AE13>;
+ <I06> = 134;
+ <I07> = 135;
+ <I08> = 136;
+ <I09> = 137;
+ <I0A> = 138;
+ <I0B> = 139;
+ <I0C> = 140;
+ <I0D> = 141;
+ <I0E> = 142;
+ <I0F> = 143;
+ <I10> = 144;
+ <I11> = 145;
+ <I12> = 146;
+ <I13> = 147;
+ <I14> = 148;
+ <I15> = 149;
+ <I16> = 150;
+ <I17> = 151;
+ <I18> = 152;
+ <I19> = 153;
+ <I1A> = 154;
+ <I1B> = 155;
+ // <I1C> = 156; <META>
+ // <I1D> = 157; <K59>
+ <I1E> = 158;
+ <I1F> = 159;
+ <I20> = 160;
+ <I21> = 161;
+ <I22> = 162;
+ <I23> = 163;
+ <I24> = 164;
+ <I25> = 165;
+ <I26> = 166;
+ <I27> = 167;
+ <I28> = 168;
+ <I29> = 169;
+ // <I2A> = 170; <K5A>
+ <I2B> = 171;
+ <I2C> = 172;
+ <I2D> = 173;
+ <I2E> = 174;
+ <I2F> = 175;
+ <I30> = 176;
+ <I31> = 177;
+ <I32> = 178;
+ <I33> = 179;
+ <I34> = 180;
+ // <I35> = 181; <K5B>
+ // <I36> = 182; <K5D>
+ // <I37> = 183; <K5E>
+ // <I38> = 184; <K5F>
+ <I39> = 185;
+ <I3A> = 186;
+ <I3B> = 187;
+ <I3C> = 188;
+ // <I3D> = 189; <K62>
+ // <I3E> = 190; <K63>
+ // <I3F> = 191; <K64>
+ // <I40> = 192; <K65>
+ // <I41> = 193; <K66>
+ <I42> = 194;
+ <I43> = 195;
+ <I44> = 196;
+ <I45> = 197;
+ // <I46> = 198; <K67>
+ // <I47> = 199; <K68>
+ // <I48> = 200; <K69>
+ // <I49> = 201; <K6A>
+ <I4A> = 202;
+ // <I4B> = 203; <K6B>
+ // <I4C> = 204; <K6C>
+ // <I4D> = 205; <K6D>
+ // <I4E> = 206; <K6E>
+ // <I4F> = 207; <K6F>
+ // <I50> = 208; <K70>
+ // <I51> = 209; <K71>
+ // <I52> = 210; <K72>
+ // <I53> = 211; <K73>
+ <I54> = 212;
+ <I55> = 213;
+ <I56> = 214;
+ <I57> = 215;
+ <I58> = 216;
+ <I59> = 217;
+ <I5A> = 218;
+ // <I5B> = 219; <K74>
+ // <I5C> = 220; <K75>
+ // <I5D> = 221; <K76>
+ <I5E> = 222;
+ <I5F> = 223;
+ <I60> = 224;
+ <I61> = 225;
+ <I62> = 226;
+ <I63> = 227;
+ <I64> = 228;
+ <I65> = 229;
+ <I66> = 230;
+ <I67> = 231;
+ <I68> = 232;
+ <I69> = 233;
+ <I6A> = 234;
+ <I6B> = 235;
+ <I6C> = 236;
+ <I6D> = 237;
+ <I6E> = 238;
+ <I6F> = 239;
+ <I70> = 240;
+ <I71> = 241;
+ <I72> = 242;
+ <I73> = 243;
+ <I74> = 244;
+ <I75> = 245;
+ <I76> = 246;
+ <I77> = 247;
+ <I78> = 248;
+ <I79> = 249;
+ <I7A> = 250;
+ <I7B> = 251;
+ <I7C> = 252;
+ <I7D> = 253;
+ <I7E> = 254;
+ <I7F> = 255;
+
+ // Codes generated for scancodes 0x59-0x5f, 0x62-0x76
+ <K59> = 157; // <I1D>
+ <K5A> = 170; // <I2A>
+ <K5B> = 181; // <I35>
+ alias <K5C> = <KPEQ>;
+ <K5D> = 182; // <I36>
+ <K5E> = 183; // <I37>
+ <K5F> = 184; // <I38>
+ <K62> = 189; // <I3D>
+ <K63> = 190; // <I3E>
+ <K64> = 191; // <I3F>
+ <K65> = 192; // <I40>
+ <K66> = 193; // <I41>
+ <K67> = 198; // <I46>
+ <K68> = 199; // <I47>
+ <K69> = 200; // <I48>
+ <K6A> = 201; // <I49>
+ <K6B> = 203; // <I4B>
+ <K6C> = 204; // <I4C>
+ <K6D> = 205; // <I4D>
+ <K6E> = 206; // <I4E>
+ <K6F> = 207; // <I4F>
+ alias <K70> = <HKTG>; // <I50>
+ <K71> = 209; // <I51>
+ <K72> = 210; // <I52>
+ alias <K73> = <AB11>; // <I53>
+ <K74> = 219; // <I5B>
+ <K75> = 220; // <I5C>
+ <K76> = 221; // <I5D>
+
+ // Solaris compatibility
+
+ alias <LMTA> = <LWIN>;
+ alias <RMTA> = <RWIN>;
+ alias <COMP> = <MENU>;
+ alias <POWR> = <I0C>;
+ alias <MUTE> = <I0D>;
+ alias <VOL-> = <I0E>;
+ alias <VOL+> = <I0F>;
+ alias <HELP> = <I10>;
+ alias <STOP> = <I11>;
+ alias <AGAI> = <I12>;
+ alias <PROP> = <I13>;
+ alias <UNDO> = <I14>;
+ alias <FRNT> = <I15>;
+ alias <COPY> = <I16>;
+ alias <OPEN> = <I17>;
+ alias <PAST> = <I18>;
+ alias <FIND> = <I19>;
+ alias <CUT> = <I1A>;
+
+ // Other codes never generated. The XFree86 ddx never generates
+ // these codes.
+ // Thus we can use them as fake keys
+ <MDSW> = 93; // <U5D>
+ <LVL3> = 124; // <U7C>
+ <ALT> = 125; // <U7D>
+ <META> = 156; // <I1C>
+ <SUPR> = 127; // <U7F>
+ <HYPR> = 128; // <U80>
+
+ indicator 1 = "Caps Lock";
+ indicator 2 = "Num Lock";
+ indicator 3 = "Scroll Lock";
+
+ alias <ALGR> = <RALT>;
+};
+
+// What keyboard is this?
+
+xkb_keycodes "102" {
+ include "xfree86(xfree86)"
+
+ // There will be warnings from xkbcomp because of multiple definitions.
+
+ <RALT> = 122;
+ <RCTL> = 123;
+
+ <PRSC> = 121;
+ <PAUS> = 118;
+
+ <INS> = 131;
+ <HOME> = 135;
+ <PGUP> = 119;
+ <DELE> = 129;
+ <END> = 130;
+ <PGDN> = 134;
+
+ <UP> = 128;
+ <LEFT> = 132;
+ <DOWN> = 120;
+ <RGHT> = 133;
+
+ <KPDV> = 125;
+
+ <KPEN> = 124;
+};
+
+
+// For japanese 106 keyboard. by tsuka(tsuka@kawalab.dnj.ynu.ac.jp)
+//
+// All of the keycodes here are now in the basic "xfree86" set.
+//
+xkb_keycodes "jp106" {
+ include "xfree86(basic)"
+ <AC12> = 51;
+};
+
+
+// For brazilian ABNT2 keyboard. by Ricardo Y. Igarashi(iga@that.com.br)
+xkb_keycodes "abnt2" {
+ include "xfree86(basic)"
+ <BKSL> = 94;
+ <AC12> = 51;
+ <KPPT> = 134;
+};
diff --git a/data/xkbdata/keycodes/xfree98 b/data/xkbdata/keycodes/xfree98
new file mode 100644
index 000000000..6d34772f9
--- /dev/null
+++ b/data/xkbdata/keycodes/xfree98
@@ -0,0 +1,155 @@
+// $Xorg: xfree98,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keycodes/xfree98,v 3.6 2001/01/17 23:45:51 dawes Exp $
+//
+default xkb_keycodes "pc98" {
+
+ minimum= 8;
+ maximum= 134;
+
+ <ESC> = 8;
+ <AE01> = 9;
+ <AE02> = 10;
+ <AE03> = 11;
+ <AE04> = 12;
+ <AE05> = 13;
+ <AE06> = 14;
+ <AE07> = 15;
+ <AE08> = 16;
+ <AE09> = 17;
+ <AE10> = 18;
+ <AE11> = 19;
+ <AE12> = 20;
+ <BKSL> = 21;
+ <BKSP> = 22;
+
+ <TAB> = 23;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 36;
+
+ <LCTL> = 124;
+ <CAPS> = 121;
+ <AC01> = 37;
+ <AC02> = 38;
+ <AC03> = 39;
+ <AC04> = 40;
+ <AC05> = 41;
+ <AC06> = 42;
+ <AC07> = 43;
+ <AC08> = 44;
+ <AC09> = 45;
+ <AC10> = 46;
+ <AC11> = 47;
+ <AC12> = 48;
+
+ <LFSH> = 120;
+ <AB01> = 49;
+ <AB02> = 50;
+ <AB03> = 51;
+ <AB04> = 52;
+ <AB05> = 53;
+ <AB06> = 54;
+ <AB07> = 55;
+ <AB08> = 56;
+ <AB09> = 57;
+ <AB10> = 58;
+ <AB11> = 59;
+
+ <ALGR> = 122;
+ <LALT> = 123;
+ <NFER> = 89;
+ <SPCE> = 60;
+ <XFER> = 61;
+
+ <BRK> = 104;
+ <PRSC> = 105;
+ <FK01> = 106;
+ <FK02> = 107;
+ <FK03> = 108;
+ <FK04> = 109;
+ <FK05> = 110;
+ <FK06> = 111;
+ <FK07> = 112;
+ <FK08> = 113;
+ <FK09> = 114;
+ <FK10> = 115;
+ <FK11> = 90;
+ <FK12> = 91;
+ <FK13> = 92;
+ <FK14> = 93;
+ <FK15> = 94;
+
+
+ <INS> = 64;
+ <DELE> = 65;
+ <PGUP> = 63;
+ <PGDN> = 62;
+ <UP> = 66;
+ <LEFT> = 67;
+ <RGHT> = 68;
+ <DOWN> = 69;
+
+ <HOME> = 70;
+ <HELP> = 71;
+
+ <KPSU> = 72;
+ <KPDV> = 73;
+
+ <KP7> = 74;
+ <KP8> = 75;
+ <KP9> = 76;
+ <KPMU> = 77;
+
+ <KP4> = 78;
+ <KP5> = 79;
+ <KP6> = 80;
+ <KPAD> = 81;
+
+ <KP1> = 82;
+ <KP2> = 83;
+ <KP3> = 84;
+ <KPEQ> = 85;
+
+ <KP0> = 86;
+ <KPSP> = 87;
+ <KPDC> = 88;
+
+ indicator 1 = "Caps Lock";
+ indicator 2 = "Kana";
+};
+
diff --git a/data/xkbdata/keymap/Makefile.am b/data/xkbdata/keymap/Makefile.am
new file mode 100644
index 000000000..48aa13840
--- /dev/null
+++ b/data/xkbdata/keymap/Makefile.am
@@ -0,0 +1,16 @@
+SUBDIRS = sun digital sgi
+
+xkbdata_keymapdir = $(datadir)/X11/xkb/keymap
+dist_xkbdata_keymap_DATA = \
+ amiga \
+ ataritt \
+ macintosh \
+ README \
+ sony \
+ xfree86 \
+ xfree98
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = keymap.dir
+
+include $(top_srcdir)/xkbrules.am
diff --git a/data/xkbdata/keymap/Makefile.in b/data/xkbdata/keymap/Makefile.in
new file mode 100644
index 000000000..905446d0f
--- /dev/null
+++ b/data/xkbdata/keymap/Makefile.in
@@ -0,0 +1,448 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Common rules for building *.dir files in all xkb subdirectories
+# Replaces Imake's MakeXkbDir() rule
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = sun digital sgi
+
+xkbdata_keymapdir = $(datadir)/X11/xkb/keymap
+dist_xkbdata_keymap_DATA = \
+ amiga \
+ ataritt \
+ macintosh \
+ README \
+ sony \
+ xfree86 \
+ xfree98
+
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = keymap.dir
+
+MOSTLYCLEANFILES = $(subdir).dir
+subdir = keymap
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_keymap_DATA) $(xkbdata_DATA)
+
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
+ ps-recursive install-info-recursive uninstall-info-recursive \
+ all-recursive install-data-recursive install-exec-recursive \
+ installdirs-recursive install-recursive uninstall-recursive \
+ check-recursive installcheck-recursive
+DIST_COMMON = README $(dist_xkbdata_keymap_DATA) $(srcdir)/Makefile.in \
+ $(top_srcdir)/xkbrules.am Makefile.am
+DIST_SUBDIRS = $(SUBDIRS)
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/xkbrules.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu keymap/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_keymapDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_keymapDATA: $(dist_xkbdata_keymap_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keymapdir)
+ @list='$(dist_xkbdata_keymap_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_keymapDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keymapdir)/$$f"; \
+ $(dist_xkbdata_keymapDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keymapdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_keymapDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_keymap_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_keymapdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_keymapdir)/$$f; \
+ done
+xkbdataDATA_INSTALL = $(INSTALL_DATA)
+install-xkbdataDATA: $(xkbdata_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdatadir)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f"; \
+ $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+uninstall-xkbdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdatadir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if (etags --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ else \
+ include_option=--include; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/..
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" \
+ distdir=../$(distdir)/$$subdir \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keymapdir) $(DESTDIR)$(xkbdatadir)
+
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_xkbdata_keymapDATA install-xkbdataDATA
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_keymapDATA uninstall-info-am \
+ uninstall-xkbdataDATA
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
+ clean-generic clean-recursive ctags ctags-recursive distclean \
+ distclean-generic distclean-recursive distclean-tags distdir \
+ dvi dvi-am dvi-recursive info info-am info-recursive install \
+ install-am install-data install-data-am install-data-recursive \
+ install-dist_xkbdata_keymapDATA install-exec install-exec-am \
+ install-exec-recursive install-info install-info-am \
+ install-info-recursive install-man install-recursive \
+ install-strip install-xkbdataDATA installcheck installcheck-am \
+ installdirs installdirs-am installdirs-recursive \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-recursive mostlyclean mostlyclean-generic \
+ mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
+ ps-recursive tags tags-recursive uninstall uninstall-am \
+ uninstall-dist_xkbdata_keymapDATA uninstall-info-am \
+ uninstall-info-recursive uninstall-recursive \
+ uninstall-xkbdataDATA
+
+
+$(subdir).dir:
+ -rm -f $@
+ $(XKBCOMP) -lfhlpR -o $@ '*'
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/keymap/README b/data/xkbdata/keymap/README
new file mode 100644
index 000000000..adef966d4
--- /dev/null
+++ b/data/xkbdata/keymap/README
@@ -0,0 +1,8 @@
+The keymap component provides a way how to set up one pre-defined keyboard
+mapping from a given set. It has been obsoleted by 'rules' component which
+is simplier and more flexible. The directory is preserved for compatibility
+reasons. Avoid using it if it is possible.
+
+
+
+/* $XFree86$ */
diff --git a/data/xkbdata/keymap/amiga b/data/xkbdata/keymap/amiga
new file mode 100644
index 000000000..d697a986b
--- /dev/null
+++ b/data/xkbdata/keymap/amiga
@@ -0,0 +1,22 @@
+// $Xorg: amiga,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/keymap/amiga,v 3.2 1997/10/26 13:25:36 dawes Exp $
+
+default xkb_keymap "usa1" {
+ xkb_keycodes { include "amiga(usa1)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "amiga(usa1)" };
+ xkb_geometry { include "amiga(usa1)" };
+};
+
+xkb_keymap "de" {
+ xkb_keycodes { include "amiga(de)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "amiga(de)" };
+ xkb_geometry { include "amiga(de)" };
+};
diff --git a/data/xkbdata/keymap/ataritt b/data/xkbdata/keymap/ataritt
new file mode 100644
index 000000000..b801ac291
--- /dev/null
+++ b/data/xkbdata/keymap/ataritt
@@ -0,0 +1,21 @@
+// $Xorg: ataritt,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/keymap/ataritt,v 3.1 1997/10/26 13:25:37 dawes Exp $
+
+default xkb_keymap "us" {
+ xkb_keycodes { include "ataritt(us)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "ataritt(us)" };
+ xkb_geometry { include "ataritt(us)" };
+};
+xkb_keymap "de" {
+ xkb_keycodes { include "ataritt(de)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "ataritt(de)" };
+ xkb_geometry { include "ataritt(de)" };
+};
diff --git a/data/xkbdata/keymap/digital/Makefile.am b/data/xkbdata/keymap/digital/Makefile.am
new file mode 100644
index 000000000..d167d8349
--- /dev/null
+++ b/data/xkbdata/keymap/digital/Makefile.am
@@ -0,0 +1,3 @@
+xkbdata_keymap_digitaldir = $(datadir)/X11/xkb/keymap/digital
+dist_xkbdata_keymap_digital_DATA = \
+ us
diff --git a/data/xkbdata/keymap/digital/Makefile.in b/data/xkbdata/keymap/digital/Makefile.in
new file mode 100644
index 000000000..4cecb34ea
--- /dev/null
+++ b/data/xkbdata/keymap/digital/Makefile.in
@@ -0,0 +1,259 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_keymap_digitaldir = $(datadir)/X11/xkb/keymap/digital
+dist_xkbdata_keymap_digital_DATA = \
+ us
+
+subdir = keymap/digital
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_keymap_digital_DATA)
+
+DIST_COMMON = $(dist_xkbdata_keymap_digital_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu keymap/digital/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_keymap_digitalDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_keymap_digitalDATA: $(dist_xkbdata_keymap_digital_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keymap_digitaldir)
+ @list='$(dist_xkbdata_keymap_digital_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_keymap_digitalDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keymap_digitaldir)/$$f"; \
+ $(dist_xkbdata_keymap_digitalDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keymap_digitaldir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_keymap_digitalDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_keymap_digital_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_keymap_digitaldir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_keymap_digitaldir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keymap_digitaldir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_keymap_digitalDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_keymap_digitalDATA \
+ uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_keymap_digitalDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_keymap_digitalDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/keymap/digital/us b/data/xkbdata/keymap/digital/us
new file mode 100644
index 000000000..00058cd82
--- /dev/null
+++ b/data/xkbdata/keymap/digital/us
@@ -0,0 +1,188 @@
+// $Xorg: us,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log: us,v
+// Revision 1.3 1996/06/18 09:14:51 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.2 1995/10/25 21:00:53 William_Walker
+// Add pc104-key support
+// [1995/10/23 15:46:24 William_Walker]
+//
+// Revision 1.1.2.6 1995/06/27 12:18:05 William_Walker
+// Add LK201 and LK450 support as well as TW and DP variants.
+// [1995/06/26 20:26:19 William_Walker]
+//
+// Revision 1.1.2.5 1995/06/05 19:23:12 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:14:04 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: us,v Revision: 1.3 (DEC) Date: 1996/02/02 14:21:15
+//
+
+// **************************************************************
+// * *
+// * Keymaps for en_US.ISO8859-1 - English for U.S. *
+// * *
+// **************************************************************
+
+xkb_keymap "lk201" {
+ xkb_keycodes { include "digital/lk(lk201)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(vt105)" };
+ xkb_geometry { description = "Digital US LK201";
+ include "digital/lk(lk201)" };
+};
+
+xkb_keymap "lk401" {
+ xkb_keycodes { include "digital/lk(lk401)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(vt108)" };
+ xkb_geometry { description = "Digital US LK401";
+ include "digital/lk(lk401)" };
+};
+
+xkb_keymap "lk411" {
+ xkb_keycodes { include "digital/pc(lk411)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(vt108)" };
+ xkb_geometry { description = "Digital US LK411";
+ include "digital/lk(lk401)" };
+};
+
+xkb_keymap "lk421" {
+ xkb_keycodes { include "digital/lk(lk421)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(unix)" };
+ xkb_geometry { description = "Digital US LK421";
+ include "digital/unix(unix)" };
+};
+
+xkb_keymap "lk441" {
+ xkb_keycodes { include "digital/lk(lk443)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(lk44x)" };
+ xkb_geometry { description = "Digital US LK441";
+ include "digital/pc(pc101)"
+ include "digital/pc(leds_alone)" };
+};
+
+xkb_keymap "lk443" {
+ xkb_keycodes { include "digital/lk(lk443)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(lk44x)" };
+ xkb_geometry { description = "Digital US LK443";
+ include "digital/pc(pc101)"
+ include "digital/pc(leds_alone)" };
+};
+
+xkb_keymap "lk44x" {
+ xkb_keycodes { include "digital/lk(lk443)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(lk44x)" };
+ xkb_geometry { description = "Digital US LK443";
+ include "digital/pc(pc101)"
+ include "digital/pc(leds_alone)" };
+};
+
+xkb_keymap "lk450" {
+ xkb_keycodes { include "digital/pc(lk450)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(vt108)" };
+ xkb_geometry { description = "Digital US LK450";
+ include "digital/lk(lk450)" };
+};
+
+xkb_keymap "pcxalaa" {
+ xkb_keycodes { include "digital/pc(pc101)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(pcxalaa)" };
+ xkb_geometry { description = "Digital US PCXAL-AA";
+ include "digital/pc(pc101)"
+ include "digital/pc(leds_alone)" };
+};
+
+xkb_keymap "pcxalfa" {
+ xkb_keycodes { include "digital/pc(pc101)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(pcxalfa)" };
+ xkb_geometry { description = "Digital US PCXAL-FA";
+ include "digital/pc(pc101)"
+ include "digital/pc(leds_on_keys)" };
+};
+
+xkb_keymap "pcxalga" {
+ xkb_keycodes { include "digital/pc(pc101)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(pcxalga)" };
+ xkb_geometry { description = "Digital US PCXAL-GA";
+ include "digital/pc(pc101)"
+ include "digital/pc(leds_alone)" };
+};
+
+xkb_keymap "pcxalka" {
+ xkb_keycodes { include "digital/pc(pc101)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(pcxalka)" };
+ xkb_geometry { description = "Digital US PCXAL-KA";
+ include "digital/pc(pc101)"
+ include "digital/pc(leds_alone)" };
+};
+
+xkb_keymap "pcxal" {
+ xkb_keycodes { include "digital/pc(pc101)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(pcxal)" };
+ xkb_geometry { description = "Digital US PCXAL";
+ include "digital/pc(pc101)"
+ include "digital/pc(leds_alone)" };
+};
+
+xkb_keymap "mnk" {
+ xkb_keycodes { include "digital/pc(pc104)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "digital/us(pc104)" };
+ xkb_geometry { include "microsoft" };
+};
diff --git a/data/xkbdata/keymap/macintosh b/data/xkbdata/keymap/macintosh
new file mode 100644
index 000000000..d230dca9e
--- /dev/null
+++ b/data/xkbdata/keymap/macintosh
@@ -0,0 +1,17 @@
+// $XConsortium: macintosh /main/11 1996/03/07 13:42:13 kaleb $
+// $XFree86: xc/programs/xkbcomp/keymap/macintosh,v 1.1 1999/05/23 05:27:51 dawes Exp $
+default xkb_keymap "macintosh" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "macintosh/us(extended)" };
+ xkb_geometry { include "macintosh" };
+};
+
+xkb_keymap "macintosh_old" {
+ xkb_keycodes { include "macintosh" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "macintosh/us(extended)" };
+ xkb_geometry { include "macintosh" };
+};
diff --git a/data/xkbdata/keymap/sgi/Makefile.am b/data/xkbdata/keymap/sgi/Makefile.am
new file mode 100644
index 000000000..7daeae9e0
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/Makefile.am
@@ -0,0 +1,29 @@
+xkbdata_keymap_sgidir = $(datadir)/X11/xkb/keymap/sgi
+dist_xkbdata_keymap_sgi_DATA = \
+ be \
+ bg \
+ ca \
+ cz \
+ cz_qwerty \
+ de \
+ de_CH \
+ dk \
+ dvorak \
+ en_US \
+ es \
+ fi \
+ fr \
+ fr_CH \
+ gb \
+ hu \
+ it \
+ jp \
+ no \
+ pl \
+ pt \
+ ru \
+ se \
+ sk \
+ sk_qwerty \
+ th \
+ us
diff --git a/data/xkbdata/keymap/sgi/Makefile.in b/data/xkbdata/keymap/sgi/Makefile.in
new file mode 100644
index 000000000..b4ddc3a17
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/Makefile.in
@@ -0,0 +1,284 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_keymap_sgidir = $(datadir)/X11/xkb/keymap/sgi
+dist_xkbdata_keymap_sgi_DATA = \
+ be \
+ bg \
+ ca \
+ cz \
+ cz_qwerty \
+ de \
+ de_CH \
+ dk \
+ dvorak \
+ en_US \
+ es \
+ fi \
+ fr \
+ fr_CH \
+ gb \
+ hu \
+ it \
+ jp \
+ no \
+ pl \
+ pt \
+ ru \
+ se \
+ sk \
+ sk_qwerty \
+ th \
+ us
+
+subdir = keymap/sgi
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_keymap_sgi_DATA)
+
+DIST_COMMON = $(dist_xkbdata_keymap_sgi_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu keymap/sgi/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_keymap_sgiDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_keymap_sgiDATA: $(dist_xkbdata_keymap_sgi_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keymap_sgidir)
+ @list='$(dist_xkbdata_keymap_sgi_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_keymap_sgiDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keymap_sgidir)/$$f"; \
+ $(dist_xkbdata_keymap_sgiDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keymap_sgidir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_keymap_sgiDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_keymap_sgi_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_keymap_sgidir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_keymap_sgidir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keymap_sgidir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_keymap_sgiDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_keymap_sgiDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_keymap_sgiDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_keymap_sgiDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/keymap/sgi/be b/data/xkbdata/keymap/sgi/be
new file mode 100644
index 000000000..ef8c3dca1
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/be
@@ -0,0 +1,34 @@
+// $Xorg: be,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+be" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+be(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+be" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+be(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/bg b/data/xkbdata/keymap/sgi/bg
new file mode 100644
index 000000000..46cd54506
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/bg
@@ -0,0 +1,19 @@
+// $Xorg: bg,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "us(pc_universal)+bg+group(shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "us(pc102)+bg+group(shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
diff --git a/data/xkbdata/keymap/sgi/ca b/data/xkbdata/keymap/sgi/ca
new file mode 100644
index 000000000..9030e1571
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/ca
@@ -0,0 +1,33 @@
+// $Xorg: ca,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+ca" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+ca(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+ca" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+ca(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
diff --git a/data/xkbdata/keymap/sgi/cz b/data/xkbdata/keymap/sgi/cz
new file mode 100644
index 000000000..b1c8598b8
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/cz
@@ -0,0 +1,21 @@
+// $Xorg: cs,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+//
+//
+//
+// $XFree86$
+
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)+cz" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc102)+cz" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/cz_qwerty b/data/xkbdata/keymap/sgi/cz_qwerty
new file mode 100644
index 000000000..a87e7d5a6
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/cz_qwerty
@@ -0,0 +1,21 @@
+// $Xorg: cs,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+//
+//
+//
+// $XFree86$
+
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)+cz_qwerty" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc102)+cz_qwerty" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/de b/data/xkbdata/keymap/sgi/de
new file mode 100644
index 000000000..1e4cfe733
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/de
@@ -0,0 +1,34 @@
+// $Xorg: de,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+de" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+de(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+de" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+de(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/de_CH b/data/xkbdata/keymap/sgi/de_CH
new file mode 100644
index 000000000..093a5b10f
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/de_CH
@@ -0,0 +1,34 @@
+// $Xorg: de_CH,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+de_CH" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+de_CH(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+de_CH" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+de_CH(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/dk b/data/xkbdata/keymap/sgi/dk
new file mode 100644
index 000000000..9eceffd1b
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/dk
@@ -0,0 +1,34 @@
+// $Xorg: dk,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+dk" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+dk(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+dk" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+dk(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/dvorak b/data/xkbdata/keymap/sgi/dvorak
new file mode 100644
index 000000000..a282cd186
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/dvorak
@@ -0,0 +1,15 @@
+// $Xorg: dvorak,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)+dvorak" };
+ xkb_geometry { include "sgi/indy(pc101)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc101)+dvorak" };
+ xkb_geometry { include "sgi/indigo(pc101)" };
+};
diff --git a/data/xkbdata/keymap/sgi/en_US b/data/xkbdata/keymap/sgi/en_US
new file mode 100644
index 000000000..446f5632a
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/en_US
@@ -0,0 +1,58 @@
+// $Xorg: en_US,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal_nodeadkeys)" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy101" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)" };
+ xkb_geometry { include "sgi/indy(pc101)" };
+};
+xkb_keymap "indy101_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal_nodeadkeys)" };
+ xkb_geometry { include "sgi/indy(pc101)" };
+};
+xkb_keymap "indy104" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)" };
+ xkb_geometry { include "microsoft(natural)" };
+};
+xkb_keymap "indy104_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal_nodeadkeys)" };
+ xkb_geometry { include "microsoft(natural)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102_nodeadkeys)" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/es b/data/xkbdata/keymap/sgi/es
new file mode 100644
index 000000000..a57750c9f
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/es
@@ -0,0 +1,34 @@
+// $Xorg: es,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+es" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+es(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+es" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+es(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/fi b/data/xkbdata/keymap/sgi/fi
new file mode 100644
index 000000000..bb0fd208e
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/fi
@@ -0,0 +1,34 @@
+// $Xorg: fi,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+fi" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+fi(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+fi" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+fi(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/fr b/data/xkbdata/keymap/sgi/fr
new file mode 100644
index 000000000..ecf615f68
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/fr
@@ -0,0 +1,34 @@
+// $Xorg: fr,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+fr" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+fr(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+fr" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+fr(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/fr_CH b/data/xkbdata/keymap/sgi/fr_CH
new file mode 100644
index 000000000..3f825e048
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/fr_CH
@@ -0,0 +1,34 @@
+// $Xorg: fr_CH,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+fr_CH" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+fr_CH(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+fr_CH" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+fr_CH(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/gb b/data/xkbdata/keymap/sgi/gb
new file mode 100644
index 000000000..5c7566ccf
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/gb
@@ -0,0 +1,34 @@
+// $Xorg: gb,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+gb" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+gb(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+gb" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+gb(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/hu b/data/xkbdata/keymap/sgi/hu
new file mode 100644
index 000000000..92d31a894
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/hu
@@ -0,0 +1,105 @@
+// $Xorg: hu,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+hu(basic)" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+hu(basic)+group(toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_shift_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+hu(basic)+group(shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_ctrl_shift_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+hu(basic)+group(ctrl_shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_ctrl_alt_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+hu(basic)+group(ctrl_alt_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_caps_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+hu(basic)+group(caps_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+hu(basic)" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+hu(basic)+group(toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_shift_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+hu(basic)+group(shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_ctrl_shift_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+hu(basic)+group(ctrl_shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_ctrl_alt_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+hu(basic)+group(ctrl_alt_toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_caps_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+hu(basic)+group(caps_toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
diff --git a/data/xkbdata/keymap/sgi/it b/data/xkbdata/keymap/sgi/it
new file mode 100644
index 000000000..17d6a1061
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/it
@@ -0,0 +1,34 @@
+// $Xorg: it,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+it" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+it(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+it" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+it(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/jp b/data/xkbdata/keymap/sgi/jp
new file mode 100644
index 000000000..c83900aed
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/jp
@@ -0,0 +1,8 @@
+// $Xorg: jp,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(jp106)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc101)+sgi/jp" };
+ xkb_geometry { include "sgi/indy(jp106)" };
+};
diff --git a/data/xkbdata/keymap/sgi/no b/data/xkbdata/keymap/sgi/no
new file mode 100644
index 000000000..ed293d212
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/no
@@ -0,0 +1,34 @@
+// $Xorg: no,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+no" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+no(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+no" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+no(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/pl b/data/xkbdata/keymap/sgi/pl
new file mode 100644
index 000000000..b75f1f3ce
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/pl
@@ -0,0 +1,29 @@
+// $Xorg: pl,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)+pl" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)+pl(nodeadkeys)" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc102)+pl" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc102)+pl(nodeadkeys)" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
diff --git a/data/xkbdata/keymap/sgi/pt b/data/xkbdata/keymap/sgi/pt
new file mode 100644
index 000000000..eda003571
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/pt
@@ -0,0 +1,34 @@
+// $Xorg: pt,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+pt" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+pt(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+pt" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+pt(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/ru b/data/xkbdata/keymap/sgi/ru
new file mode 100644
index 000000000..6a2a18978
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/ru
@@ -0,0 +1,105 @@
+// $Xorg: ru,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+ru(basic)" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+ru(basic)+group(toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_shift_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+ru(basic)+group(shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_ctrl_shift_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+ru(basic)+group(ctrl_shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_ctrl_alt_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+ru(basic)+group(ctrl_alt_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_caps_toggle" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+ru(basic)+group(caps_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+ru(basic)" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+ru(basic)+group(toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_shift_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+ru(basic)+group(shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_ctrl_shift_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+ru(basic)+group(ctrl_shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_ctrl_alt_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+ru(basic)+group(ctrl_alt_toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_caps_toggle" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102)+ru(basic)+group(caps_toggle)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
diff --git a/data/xkbdata/keymap/sgi/se b/data/xkbdata/keymap/sgi/se
new file mode 100644
index 000000000..3fe54e278
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/se
@@ -0,0 +1,34 @@
+// $Xorg: se,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc_universal)+se" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indy_nodeadkeys" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal_nodeadkeys)+se(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+se" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+xkb_keymap "indigo_nodeadkeys" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc102_nodeadkeys)+se(nodeadkeys)"
+ };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/sk b/data/xkbdata/keymap/sgi/sk
new file mode 100644
index 000000000..89bd9b52a
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/sk
@@ -0,0 +1,21 @@
+// $Xorg: cs,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+//
+//
+//
+// $XFree86$
+
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)+sk" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc102)+sk" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/sk_qwerty b/data/xkbdata/keymap/sgi/sk_qwerty
new file mode 100644
index 000000000..9094cbc37
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/sk_qwerty
@@ -0,0 +1,21 @@
+// $Xorg: cs,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+//
+//
+//
+// $XFree86$
+
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)+sk_qwerty" };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc102)+sk_qwerty" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/sgi/th b/data/xkbdata/keymap/sgi/th
new file mode 100644
index 000000000..b614913e8
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/th
@@ -0,0 +1,17 @@
+// $Xorg: th,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "en_US(pc_universal)+th+group(shift_toggle)"
+ };
+ xkb_geometry { include "sgi/indy(pc102)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc102)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc102)+th+group(shift_toggle)" };
+ xkb_geometry { include "sgi/indigo(pc102)" };
+};
diff --git a/data/xkbdata/keymap/sgi/us b/data/xkbdata/keymap/sgi/us
new file mode 100644
index 000000000..2d704ca50
--- /dev/null
+++ b/data/xkbdata/keymap/sgi/us
@@ -0,0 +1,43 @@
+// $Xorg: us,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+default xkb_keymap "indy" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)" };
+ xkb_geometry { include "sgi/indy(pc101)" };
+};
+xkb_keymap "indy101_euro" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)" };
+ xkb_geometry { include "sgi/indy(pc101)" };
+};
+xkb_keymap "indy_compose" {
+ xkb_keycodes { include "sgi/indy(universal)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc_universal)" };
+ xkb_geometry { include "sgi/indy(pc101)" };
+};
+xkb_keymap "indigo" {
+ xkb_keycodes { include "sgi/indigo(pc101)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc101)" };
+ xkb_geometry { include "sgi/indigo(pc101)" };
+};
+xkb_keymap "indigo_compose" {
+ xkb_keycodes { include "sgi/indigo(pc101)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc101compose)" };
+ xkb_geometry { include "sgi/indigo(pc101)" };
+};
+xkb_keymap "indigo101_compose" {
+ xkb_keycodes { include "sgi/indigo(pc101)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc101euro)" };
+ xkb_geometry { include "sgi/indigo(pc101)" };
+};
diff --git a/data/xkbdata/keymap/sony b/data/xkbdata/keymap/sony
new file mode 100644
index 000000000..5380c4e59
--- /dev/null
+++ b/data/xkbdata/keymap/sony
@@ -0,0 +1,33 @@
+// $Xorg: sony,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+xkb_keymap "news5000-nwp5461" {
+ xkb_keycodes { include "sony(nwp5461)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sony/us(nwp5461)" };
+ xkb_geometry { include "sony(nwp5461)" };
+};
diff --git a/data/xkbdata/keymap/sun/Makefile.am b/data/xkbdata/keymap/sun/Makefile.am
new file mode 100644
index 000000000..1ffe39768
--- /dev/null
+++ b/data/xkbdata/keymap/sun/Makefile.am
@@ -0,0 +1,12 @@
+xkbdata_keymap_sundir = $(datadir)/X11/xkb/keymap/sun
+dist_xkbdata_keymap_sun_DATA = \
+ de \
+ es \
+ fi \
+ fr \
+ no \
+ pl \
+ ru \
+ se \
+ uk \
+ us
diff --git a/data/xkbdata/keymap/sun/Makefile.in b/data/xkbdata/keymap/sun/Makefile.in
new file mode 100644
index 000000000..a541e3a89
--- /dev/null
+++ b/data/xkbdata/keymap/sun/Makefile.in
@@ -0,0 +1,267 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_keymap_sundir = $(datadir)/X11/xkb/keymap/sun
+dist_xkbdata_keymap_sun_DATA = \
+ de \
+ es \
+ fi \
+ fr \
+ no \
+ pl \
+ ru \
+ se \
+ uk \
+ us
+
+subdir = keymap/sun
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_keymap_sun_DATA)
+
+DIST_COMMON = $(dist_xkbdata_keymap_sun_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu keymap/sun/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_keymap_sunDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_keymap_sunDATA: $(dist_xkbdata_keymap_sun_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keymap_sundir)
+ @list='$(dist_xkbdata_keymap_sun_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_keymap_sunDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keymap_sundir)/$$f"; \
+ $(dist_xkbdata_keymap_sunDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_keymap_sundir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_keymap_sunDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_keymap_sun_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_keymap_sundir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_keymap_sundir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_keymap_sundir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_keymap_sunDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_keymap_sunDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_keymap_sunDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_keymap_sunDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/keymap/sun/de b/data/xkbdata/keymap/sun/de
new file mode 100644
index 000000000..0b4bd53f5
--- /dev/null
+++ b/data/xkbdata/keymap/sun/de
@@ -0,0 +1,78 @@
+// $Xorg: de,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+xkb_keymap "type4_de" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4)+iso9995-3(basic)+de"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_de_nodeadkeys" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4)+iso9995-3(nodeadkeys)+de(nodeadkeys)"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_de_openlook" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4ol)+iso9995-3(basic)+de"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+default xkb_keymap "type5_de" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun5)+iso9995-3(basic)+de"
+ };
+ xkb_geometry { include "sun(type5euro)" };
+};
+xkb_keymap "type5_de_nodeadkeys" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun5)+iso9995-3(nodeadkeys)+de(nodeadkeys)"
+ };
+ xkb_geometry { include "sun(type5euro)" };
+};
+xkb_keymap "type5_de_openlook" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)+iso9995-3+de" };
+ xkb_geometry { include "sun(type5euro)" };
+};
diff --git a/data/xkbdata/keymap/sun/es b/data/xkbdata/keymap/sun/es
new file mode 100644
index 000000000..ab29c4343
--- /dev/null
+++ b/data/xkbdata/keymap/sun/es
@@ -0,0 +1,62 @@
+// $TOG: de /main/3 1998/02/10 13:44:36 kaleb $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keymap/sun/es,v 1.2 2000/10/28 00:34:05 dawes Exp $
+//
+xkb_keymap "type4_es" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4)+iso9995-3(basic)+es"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_es_openlook" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4ol)+iso9995-3(basic)+es"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+default xkb_keymap "type5_es" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun5)+iso9995-3(basic)+es"
+ };
+ xkb_geometry { include "sun(type5euro)" };
+};
+xkb_keymap "type5_es_openlook" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)+iso9995-3+es" };
+ xkb_geometry { include "sun(type5euro)" };
+};
diff --git a/data/xkbdata/keymap/sun/fi b/data/xkbdata/keymap/sun/fi
new file mode 100644
index 000000000..3ca6003dd
--- /dev/null
+++ b/data/xkbdata/keymap/sun/fi
@@ -0,0 +1,62 @@
+// $TOG: de /main/3 1998/02/10 13:44:36 kaleb $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keymap/sun/fi,v 1.2 2000/10/28 00:34:05 dawes Exp $
+//
+xkb_keymap "type4_fi" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4)+iso9995-3(basic)+fi"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_fi_openlook" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4ol)+iso9995-3(basic)+fi"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+default xkb_keymap "type5_fi" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun5)+iso9995-3(basic)+fi"
+ };
+ xkb_geometry { include "sun(type5euro)" };
+};
+xkb_keymap "type5_fi_openlook" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)+iso9995-3+fi" };
+ xkb_geometry { include "sun(type5euro)" };
+};
diff --git a/data/xkbdata/keymap/sun/fr b/data/xkbdata/keymap/sun/fr
new file mode 100644
index 000000000..60be0d1dd
--- /dev/null
+++ b/data/xkbdata/keymap/sun/fr
@@ -0,0 +1,62 @@
+// $TOG: de /main/3 1998/02/10 13:44:36 kaleb $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keymap/sun/fr,v 1.2 2000/10/28 00:34:05 dawes Exp $
+//
+xkb_keymap "type4_fr" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4)+iso9995-3(basic)+fr"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_fr_openlook" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4ol)+iso9995-3(basic)+fr"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+default xkb_keymap "type5_fr" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun5)+iso9995-3(basic)+fr"
+ };
+ xkb_geometry { include "sun(type5euro)" };
+};
+xkb_keymap "type5_fr_openlook" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)+iso9995-3+fr" };
+ xkb_geometry { include "sun(type5euro)" };
+};
diff --git a/data/xkbdata/keymap/sun/no b/data/xkbdata/keymap/sun/no
new file mode 100644
index 000000000..d57fc49bc
--- /dev/null
+++ b/data/xkbdata/keymap/sun/no
@@ -0,0 +1,62 @@
+// $TOG: de /main/3 1998/02/10 13:44:36 kaleb $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keymap/sun/no,v 1.2 2000/10/28 00:34:05 dawes Exp $
+//
+xkb_keymap "type4_no" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4)+iso9995-3(basic)+no"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_no_openlook" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4ol)+iso9995-3(basic)+no"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+default xkb_keymap "type5_no" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun5)+iso9995-3(basic)+no"
+ };
+ xkb_geometry { include "sun(type5euro)" };
+};
+xkb_keymap "type5_no_openlook" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)+iso9995-3+no" };
+ xkb_geometry { include "sun(type5euro)" };
+};
diff --git a/data/xkbdata/keymap/sun/pl b/data/xkbdata/keymap/sun/pl
new file mode 100644
index 000000000..d672db78e
--- /dev/null
+++ b/data/xkbdata/keymap/sun/pl
@@ -0,0 +1,62 @@
+// $TOG: de /main/3 1998/02/10 13:44:36 kaleb $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keymap/sun/pl,v 1.2 2000/10/28 00:34:05 dawes Exp $
+//
+xkb_keymap "type4_pl" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4)+iso9995-3(basic)+pl"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_pl_openlook" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4ol)+iso9995-3(basic)+pl"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+default xkb_keymap "type5_pl" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun5)+iso9995-3(basic)+pl"
+ };
+ xkb_geometry { include "sun(type5euro)" };
+};
+xkb_keymap "type5_pl_openlook" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)+iso9995-3+pl" };
+ xkb_geometry { include "sun(type5euro)" };
+};
diff --git a/data/xkbdata/keymap/sun/ru b/data/xkbdata/keymap/sun/ru
new file mode 100644
index 000000000..9dead9046
--- /dev/null
+++ b/data/xkbdata/keymap/sun/ru
@@ -0,0 +1,62 @@
+// $TOG: de /main/3 1998/02/10 13:44:36 kaleb $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keymap/sun/ru,v 1.2 2000/10/28 00:34:05 dawes Exp $
+//
+xkb_keymap "type4_ru" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4)+iso9995-3(basic)+ru"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_ru_openlook" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4ol)+iso9995-3(basic)+ru"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+default xkb_keymap "type5_ru" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun5)+iso9995-3(basic)+ru"
+ };
+ xkb_geometry { include "sun(type5euro)" };
+};
+xkb_keymap "type5_ru_openlook" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)+iso9995-3+ru" };
+ xkb_geometry { include "sun(type5euro)" };
+};
diff --git a/data/xkbdata/keymap/sun/se b/data/xkbdata/keymap/sun/se
new file mode 100644
index 000000000..dd0a1670a
--- /dev/null
+++ b/data/xkbdata/keymap/sun/se
@@ -0,0 +1,56 @@
+// $XFree86: xc/programs/xkbcomp/keymap/sun/se,v 1.2 1998/12/20 09:34:42 dawes Exp $
+
+default xkb_keymap "type5c_se_fixdollar" {
+ xkb_keycodes { include "sun(type5_se)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/se(sun5)+se(fixdollar)"
+ };
+ xkb_geometry { include "sun(type5c_se)" };
+};
+xkb_keymap "type5c_se" {
+ xkb_keycodes { include "sun(type5_se)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/se(sun5)"
+ };
+ xkb_geometry { include "sun(type5c_se)" };
+};
+xkb_keymap "type5_se" {
+ xkb_keycodes { include "sun(type5_se)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/se(sun5)"
+ };
+ xkb_geometry { include "sun(type5_se)" };
+};
+xkb_keymap "type4_se_fixdollar_swapctl" {
+ xkb_keycodes { include "sun(type4_se_swapctl)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/se(sun4)+se(fixdollar)"
+ };
+ xkb_geometry { include "sun(type4_se)" };
+};
+xkb_keymap "type4_se_fixdollar" {
+ xkb_keycodes { include "sun(type4_se)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/se(sun4)+se(fixdollar)"
+ };
+ xkb_geometry { include "sun(type4_se)" };
+};
+xkb_keymap "type4_se" {
+ xkb_keycodes { include "sun(type4_se)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/se(sun4)"
+ };
+ xkb_geometry { include "sun(type4_se)" };
+};
diff --git a/data/xkbdata/keymap/sun/uk b/data/xkbdata/keymap/sun/uk
new file mode 100644
index 000000000..d99e2ff46
--- /dev/null
+++ b/data/xkbdata/keymap/sun/uk
@@ -0,0 +1,62 @@
+// $TOG: de /main/3 1998/02/10 13:44:36 kaleb $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keymap/sun/uk,v 1.2 2000/10/28 00:34:05 dawes Exp $
+//
+xkb_keymap "type4_uk" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4)+iso9995-3(basic)+uk"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_uk_openlook" {
+ xkb_keycodes { include "sun(type4_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun4ol)+iso9995-3(basic)+uk"
+ };
+ xkb_geometry { include "sun(type4)" };
+};
+default xkb_keymap "type5_uk" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols {
+ include "sun/us(sun5)+iso9995-3(basic)+uk"
+ };
+ xkb_geometry { include "sun(type5euro)" };
+};
+xkb_keymap "type5_uk_openlook" {
+ xkb_keycodes { include "sun(type5_euro)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)+iso9995-3+uk" };
+ xkb_geometry { include "sun(type5euro)" };
+};
diff --git a/data/xkbdata/keymap/sun/us b/data/xkbdata/keymap/sun/us
new file mode 100644
index 000000000..2133c21d0
--- /dev/null
+++ b/data/xkbdata/keymap/sun/us
@@ -0,0 +1,68 @@
+// $Xorg: us,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+xkb_keymap "type4_us" {
+ xkb_keycodes { include "sun(type4)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun4)" };
+ xkb_geometry { include "sun(type4)" };
+};
+xkb_keymap "type4_us_openlook" {
+ xkb_keycodes { include "sun(type4)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun4ol)" };
+ xkb_geometry { include "sun(type4)" };
+};
+default xkb_keymap "type5_us" {
+ xkb_keycodes { include "sun(type5)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5)" };
+ xkb_geometry { include "sun(type5)" };
+};
+xkb_keymap "type5_us_openlook" {
+ xkb_keycodes { include "sun(type5)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)" };
+ xkb_geometry { include "sun(type5)" };
+};
+xkb_keymap "type5_unix" {
+ xkb_keycodes { include "sun(type5)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5)" };
+ xkb_geometry { include "sun(type5unix)" };
+};
+xkb_keymap "type5_unix_openlook" {
+ xkb_keycodes { include "sun(type5)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "sun/us(sun5ol)" };
+ xkb_geometry { include "sun(type5unix)" };
+};
diff --git a/data/xkbdata/keymap/xfree86 b/data/xkbdata/keymap/xfree86
new file mode 100644
index 000000000..e1967a1b7
--- /dev/null
+++ b/data/xkbdata/keymap/xfree86
@@ -0,0 +1,362 @@
+// $XFree86: xc/programs/xkbcomp/keymap/xfree86,v 3.30 2003/04/03 16:34:49 dawes Exp $
+
+
+default xkb_keymap "us" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc105)" };
+ xkb_geometry { include "pc" };
+};
+
+// "ar" addition by Arabeyes Team, <support@arabeyes.org>
+xkb_keymap "ar" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+ar" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "be" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+be" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "bg" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+bg" };
+ xkb_geometry { include "pc(pc102)" };
+};
+// us_intl and br by Ricardo Y. Igarashi (iga@that.com.br)
+xkb_keymap "br" {
+ xkb_keycodes { include "xfree86(abnt2)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc101)+br" };
+ xkb_geometry { include "pc(abnt2)" };
+};
+// cz and sk keymaps by Kamil Toman (ktoman@email.cz)
+// are designed to replace old czechoslovakian and czsk keyboards
+// and their prog variants. Those are now obsolete and should not be used anymore.
+xkb_keymap "cz" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+cz" };
+ xkb_geometry { include "pc" };
+};
+xkb_keymap "cz_qwerty" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+cz_qwerty" };
+ xkb_geometry { include "pc" };
+};
+xkb_keymap "de" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+de" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "de_CH" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+de_CH" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "dk" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+dk" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "dvorak" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+dvorak" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "en_US" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)" };
+ xkb_geometry { include "pc" };
+};
+xkb_keymap "es" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+es" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "fr" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+fr" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "fr-latin9" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+fr-latin9" };
+ xkb_geometry { include "pc" };
+};
+xkb_keymap "fr_CA" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+ca" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "fr_CH" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+fr_CH" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "gb" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+gb" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "hr" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+hr" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "it" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+it" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "jp106" {
+ xkb_keycodes { include "xfree86(jp106)" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "jp(jp106)" };
+ xkb_geometry { include "pc(jp106)" };
+};
+xkb_keymap "lt" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+lt" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "lt_std" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+lt_std" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "lv" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+lv" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "mk" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+mk" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "mt" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+mt" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "mt_us" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+mt_us" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "no" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+no" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "pl" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+pl" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "pt" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+pt" };
+ xkb_geometry { include "pc(pc102)" };
+};
+// ro: additions by Cristian Gafton, <gafton@redhat.com>
+xkb_keymap "ro" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc101)+ro(pc101)" };
+ xkb_geometry { include "pc(pc101)" };
+};
+xkb_keymap "ro_microsoft" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+ro(pc105)" };
+ xkb_geometry { include "pc(pc105)" };
+};
+xkb_keymap "ru" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+ru" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "se_FI" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+fi" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "se_SE" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+se" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "sl" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+si" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "sl_SI" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+si" };
+ xkb_geometry { include "pc(pc102)" };
+};
+// cz and sk keymaps by Kamil Toman (ktoman@email.cz)
+// are designed to replace old czechoslovakian and czsk keyboards
+// and their prog variants. Those are now obsolete and should not be used anymore.
+xkb_keymap "sk" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+sk" };
+ xkb_geometry { include "pc" };
+};
+xkb_keymap "sk_qwerty" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+sk_qwerty" };
+ xkb_geometry { include "pc" };
+};
+// Additions by Emil Soleyman-Zomalan, <emil@nishra.com>
+xkb_keymap "syr" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+syr" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "th" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+th" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "th_tis" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+th_tis" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "th_pat" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+th_pat" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "tr" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+tr" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "uk" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+uk)" };
+ xkb_geometry { include "pc(pc102)" };
+};
+xkb_keymap "us_flexpro" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc105)" };
+ xkb_geometry { include "keytronic(FlexPro)" };
+};
+// us_intl and br by Ricardo Y. Igarashi (iga@that.com.br)
+// us_intl means standard us keyboard plus dead_keys symbols
+// these keyboards are very popular in Brazil
+xkb_keymap "us_intl" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc101)+us_intl" };
+ xkb_geometry { include "pc" };
+};
+xkb_keymap "us_microsoft" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "us(pc105)" };
+ xkb_geometry { include "microsoft" };
+};
+
+xkb_keymap "uz" {
+ xkb_keycodes { include "xfree86" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "en_US(pc105)+uz" };
+ xkb_geometry { include "pc(pc102)" };
+};
+
diff --git a/data/xkbdata/keymap/xfree98 b/data/xkbdata/keymap/xfree98
new file mode 100644
index 000000000..e78b15ced
--- /dev/null
+++ b/data/xkbdata/keymap/xfree98
@@ -0,0 +1,35 @@
+// $Xorg: xfree98,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/keymap/xfree98,v 3.6 2001/01/17 23:45:53 dawes Exp $
+
+default xkb_keymap "jp" {
+ xkb_keycodes { include "xfree98" };
+ xkb_types { include "default" };
+ xkb_compatibility { include "default" };
+ xkb_symbols { include "nec/jp(pc98)" };
+ xkb_geometry { include "nec(pc98)" };
+};
diff --git a/data/xkbdata/missing b/data/xkbdata/missing
new file mode 100644
index 000000000..fc54c64ec
--- /dev/null
+++ b/data/xkbdata/missing
@@ -0,0 +1,336 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+case "$1" in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing 0.4 - GNU automake"
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+ aclocal*)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case "$f" in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+ system. You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+ test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+ fi
+ if [ -f "$file" ]; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit 1
+ fi
+ ;;
+
+ makeinfo)
+ if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
+ # We have makeinfo, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ fi
+ touch $file
+ ;;
+
+ tar)
+ shift
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ fi
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case "$firstarg" in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case "$firstarg" in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+ system. You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/data/xkbdata/mkinstalldirs b/data/xkbdata/mkinstalldirs
new file mode 100644
index 000000000..d2d5f21b6
--- /dev/null
+++ b/data/xkbdata/mkinstalldirs
@@ -0,0 +1,111 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+errstatus=0
+dirmode=""
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+
+# process command line arguments
+while test $# -gt 0 ; do
+ case $1 in
+ -h | --help | --h*) # -h for help
+ echo "$usage" 1>&2
+ exit 0
+ ;;
+ -m) # -m PERM arg
+ shift
+ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+ dirmode=$1
+ shift
+ ;;
+ --) # stop option processing
+ shift
+ break
+ ;;
+ -*) # unknown option
+ echo "$usage" 1>&2
+ exit 1
+ ;;
+ *) # first non-opt arg
+ break
+ ;;
+ esac
+done
+
+for file
+do
+ if test -d "$file"; then
+ shift
+ else
+ break
+ fi
+done
+
+case $# in
+ 0) exit 0 ;;
+esac
+
+case $dirmode in
+ '')
+ if mkdir -p -- . 2>/dev/null; then
+ echo "mkdir -p -- $*"
+ exec mkdir -p -- "$@"
+ fi
+ ;;
+ *)
+ if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+ echo "mkdir -m $dirmode -p -- $*"
+ exec mkdir -m "$dirmode" -p -- "$@"
+ fi
+ ;;
+esac
+
+for file
+do
+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ shift
+
+ pathcomp=
+ for d
+ do
+ pathcomp="$pathcomp$d"
+ case $pathcomp in
+ -*) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ else
+ if test ! -z "$dirmode"; then
+ echo "chmod $dirmode $pathcomp"
+ lasterr=""
+ chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+ if test ! -z "$lasterr"; then
+ errstatus=$lasterr
+ fi
+ fi
+ fi
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# End:
+# mkinstalldirs ends here
diff --git a/data/xkbdata/rules/Makefile.am b/data/xkbdata/rules/Makefile.am
new file mode 100644
index 000000000..67f19ac80
--- /dev/null
+++ b/data/xkbdata/rules/Makefile.am
@@ -0,0 +1,15 @@
+xkbdata_rulesdir = $(datadir)/X11/xkb/rules
+dist_xkbdata_rules_DATA = \
+ README \
+ sgi \
+ sgi.lst \
+ sun \
+ sun.lst \
+ xfree98 \
+ xfree98.lst \
+ xkb.dtd \
+ xml2lst.pl \
+ xorg \
+ xorg-it.lst \
+ xorg.lst \
+ xorg.xml
diff --git a/data/xkbdata/rules/Makefile.in b/data/xkbdata/rules/Makefile.in
new file mode 100644
index 000000000..e781c8941
--- /dev/null
+++ b/data/xkbdata/rules/Makefile.in
@@ -0,0 +1,270 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_rulesdir = $(datadir)/X11/xkb/rules
+dist_xkbdata_rules_DATA = \
+ README \
+ sgi \
+ sgi.lst \
+ sun \
+ sun.lst \
+ xfree98 \
+ xfree98.lst \
+ xkb.dtd \
+ xml2lst.pl \
+ xorg \
+ xorg-it.lst \
+ xorg.lst \
+ xorg.xml
+
+subdir = rules
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_rules_DATA)
+
+DIST_COMMON = README $(dist_xkbdata_rules_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu rules/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_rulesDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_rulesDATA: $(dist_xkbdata_rules_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_rulesdir)
+ @list='$(dist_xkbdata_rules_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_rulesDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_rulesdir)/$$f"; \
+ $(dist_xkbdata_rulesDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_rulesdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_rulesDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_rules_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_rulesdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_rulesdir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_rulesdir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_rulesDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_rulesDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_rulesDATA install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_rulesDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/rules/README b/data/xkbdata/rules/README
new file mode 100644
index 000000000..2d992c0ad
--- /dev/null
+++ b/data/xkbdata/rules/README
@@ -0,0 +1,6 @@
+This directory lists sets of rules which can be used to obtain an exact XKB
+configuration.
+
+
+
+/* $XFree86$ */
diff --git a/data/xkbdata/rules/sgi b/data/xkbdata/rules/sgi
new file mode 100644
index 000000000..218c25bea
--- /dev/null
+++ b/data/xkbdata/rules/sgi
@@ -0,0 +1,73 @@
+// $Xorg: sgi,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+
+! option = symbols
+ grp:switch = +group(switch)
+ grp:toggle = +group(toggle)
+ grp:shift_toggle = +group(shift_toggle)
+ grp:ctrl_shift_toggle = +group(ctrl_shift_toggle)
+ grp:ctrl_alt_toggle = +group(ctrl_alt_toggle)
+ grp:caps_toggle = +group(caps_toggle)
+ ctrl:nocaps = +ctrl(nocaps)
+ ctrl:swapcaps = +ctrl(swapcaps)
+ ctrl:ctrl_ac = +ctrl(ctrl_ac)
+ ctrl:ctrl_aa = +ctrl(ctrl_aa)
+ keypad:overlay = +keypad(overlay)
+ keypad:overlay1 = +keypad(overlay)
+ keypad:overlay2 = +keypad(overlay)
+ lock:shift = +lock(shift)
+ pc104:altmeta = +pc104(altmeta)
+ pc104:compose = +pc104(compose)
+
+! option = keycodes
+ lock:shift = +sgi/indy(shiftLock)
+
+! option = keycodes compat
+ keypad:overlay = +sgi/indy(overlayKeypad) +keypad(overlay)
+ keypad:overlay1 = +sgi/indy(overlayKeypad) +keypad(overlay1)
+ keypad:overlay2 = +sgi/indy(overlayKeypad) +keypad(overlay2)
+
+! model layout = keycodes geometry
+ indy us = sgi/indy(universal) sgi/indy(pc101)
+ indy intl = sgi/indy(universal) sgi/indy(pc101)
+ indy dvorak = sgi/indy(universal) sgi/indy(pc101)
+ indigo us = sgi/indigo(pc101) sgi/indigo(pc101)
+ indigo intl = sgi/indigo(pc101) sgi/indigo(pc101)
+ indigo dvorak = sgi/indigo(pc101) sgi/indigo(pc101)
+ indy jp = sgi/indy(jp106) sgi/indy(jp106)
+
+! model = keycodes geometry
+ indy = sgi/indy(universal) sgi/indy(pc102)
+ indy101 = sgi/indy(universal) sgi/indy(pc101)
+ indy102 = sgi/indy(universal) sgi/indy(pc102)
+ indy104 = sgi/indy(universal) microsoft(natural)
+ indy105 = sgi/indy(universal) microsoft(natural)
+ indy106 = sgi/indy(jp106) sgi/indy(jp106)
+ indigo = sgi/indigo(pc102) sgi/indigo(pc102)
+ indigo102 = sgi/indigo(pc102) sgi/indigo(pc102)
+ microsoft = sgi/indy(universal) microsoft(natural)
+ kinesis = sgi/indy(universal) kinesis
+ dell101 = sgi/indy(universal) dell(dell101)
+ flexpro = sgi/indy(universal) keytronic(FlexPro)
+ omnikey101 = sgi/indy(universal) northgate(omnikey101)
+ pc101 = sgi/indy(universal) pc(pc101)
+ pc102 = sgi/indy(universal) pc(pc102)
+ jp106 = sgi/indy(jp106) pc(jp106)
+ digital101 = sgi/indy(universal) digital/pc(pc101)
+ digital102 = sgi/indy(universal) digital/pc(pc102)
+ digitalpcxaj = sgi/indy(jp106) digital/pc(pcxaj)
+
+! model variant = symbols
+ * nodeadkeys = en_US(pc_universal%_v)+%l%(v)
+
+! model layout = symbols
+ * us = us(pc_universal)
+ * jp = us(pc101)+sgi/%l%(v)
+ * intl = us(pc_universal_compose)
+ * en_US = en_US(pc_universal)
+ * * = en_US(pc_universal)+%l%(v)
+
+! layout = compat
+ jp = complete+japan
+
+! model layout = compat types
+ * * = complete complete
diff --git a/data/xkbdata/rules/sgi.lst b/data/xkbdata/rules/sgi.lst
new file mode 100644
index 000000000..2486f80ff
--- /dev/null
+++ b/data/xkbdata/rules/sgi.lst
@@ -0,0 +1,82 @@
+// $Xorg: sgi.lst,v 1.3 2000/08/17 19:54:41 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/rules/sgi.lst,v 3.6 2001/05/18 23:35:34 dawes Exp $
+
+! model
+ indy SGI O2, Indigo^2 or Indy
+ indy101 SGI O2, Indigo^2 or Indy (101-key US)
+ indy102 SGI O2, Indigo^2 or Indy (102-key European)
+ indy104 Generic 104-key PC
+ indy105 Generic 105-key PC
+ indy106 SGI O2, Indigo^2 or Indy (106-key Japanese)
+ indigo SGI Indigo
+ indigo102 SGI Indigo (102-key European)
+ dell101 Dell 101-key PC
+ flexpro Keytronic FlexPro
+ jp106 Generic 106-key Japanese PC
+ microsoft Microsoft Natural
+ omnikey101 Northgate OmniKey 101
+ pc101 Generic 101-key PC
+ pc102 Generic 102-key (European) PC
+
+! layout
+ be Belgian
+ bg Bulgarian
+ ca Canadian
+ cz Czech
+ cz_qwerty Czech (qwerty)
+ de German
+ de_CH Swiss German
+ dvorak Dvorak (US)
+ dk Danish
+ en_US US/English w/ISO9995-3
+ es Spanish
+ fi Finnish
+ fr French
+ fr_CH Swiss French
+ gb United Kingdom
+ hu Hungarian
+ it Italian
+ intl US w/Compose Key
+ jp Japanese
+ no Norwegian
+ pl Polish
+ pt Portuguese
+ ru Russian
+ se Swedish
+ sk Slovak
+ sk_qwerty Slovak (qwerty)
+ th Thai
+ us US/ASCII
+ tr Turkish
+
+! variant
+ nodeadkeys Eliminate dead keys from European keyboards
+ typewriter Cyrillic layout similar to manual typewriters
+ phonetic Cyrillic layout similar to US/ASCII layout
+
+! option
+ grp Group Shift/Lock behavior
+ grp:switch Right Alt key switches group while held down
+ grp:toggle Pressing Right Alt key toggles group
+ grp:shift_toggle Pressing both shift keys together toggles group
+ grp:ctrl_shift_toggle Pressing shift and control together toggles group
+ grp:ctrl_alt_toggle Pressing alt and control together toggles group
+ grp:caps_toggle Caps Lock key toggles group
+ ctrl Control Key Position
+ ctrl:nocaps Replace Caps Lock with another control key
+ ctrl:swapcaps Swap positions of control and Caps Lock
+ ctrl:ctrl_ac Control key is left of the 'A' key
+ ctrl:ctrl_aa Control key is at the left of the bottom row
+ keypad Specify behavior of the numeric keypad
+ keypad:overlay Use default Overlay instead of modifier for keypad
+ keypad:overlay1 Use Overlay1 instead of modifier for keypad
+ keypad:overlay2 Use Overlay2 instead of modifier for keypad
+ lock Specify behavior of the lock key
+ lock:shift Key is shift lock
+ lock:caps Key is captals lock
+ lock:group Key is group lock
+
diff --git a/data/xkbdata/rules/sun b/data/xkbdata/rules/sun
new file mode 100644
index 000000000..1af228e40
--- /dev/null
+++ b/data/xkbdata/rules/sun
@@ -0,0 +1,43 @@
+// $XFree86: xc/programs/xkbcomp/rules/sun,v 3.1 2000/05/18 23:21:43 dawes Exp $
+
+! model = keycodes geometry
+ type4 = sun(type4) sun(type4)
+ type5 = sun(type5) sun
+ type5_euro = sun(type5_euro) sun(type5euro)
+ type5_unix = sun(type5) sun(type5unix)
+ type6 = sun(type6) sun(type5) // no type6 yet
+ type6_euro = sun(type6_euro) sun(type5)
+
+! model layout = symbols
+ type4 us = sun/us(sun4)
+ type5 us = sun/us(sun5)
+ type5_unix us = sun/us(sun5)
+ type6 us = sun/us(sun6)
+ type4 en_US = sun/us(sun4)+iso9995-3(basic)
+ type5 en_US = sun/us(sun5)+iso9995-3(basic)
+ type5_unix en_US = sun/us(sun5)+iso9995-3(basic)
+ type6 en_US = sun/us(sun6)+iso9995-3(basic)
+ type4 * = sun/us(sun4)+%l%(v)
+ type5 * = sun/us(sun5)+%l%(v)
+ type5_euro * = sun/us(sun5)+%l%(v)
+ type6 * = sun/us(sun6)+%l%(v)
+ type6_euro * = sun/us(sun6)+%l%(v)
+
+! model layout = compat types
+ * * = complete complete
+
+! option = symbols
+ grp:switch = +group(switch)
+ grp:toggle = +group(toggle)
+ grp:shift_toggle = +group(shift_toggle)
+ grp:ctrl_shift_toggle = +group(ctrl_shift_toggle)
+ grp:ctrl_alt_toggle = +group(ctrl_alt_toggle)
+ grp:caps_toggle = +group(caps_toggle)
+ ctrl:nocaps = +ctrl(nocaps)
+ ctrl:swapcaps = +ctrl(swapcaps)
+ ctrl:ctrl_ac = +ctrl(ctrl_ac)
+ ctrl:ctrl_aa = +ctrl(ctrl_aa)
+ keypad:overlay = +keypad(overlay)
+ keypad:overlay1 = +keypad(overlay)
+ keypad:overlay2 = +keypad(overlay)
+ lock:shift = +lock(shift)
diff --git a/data/xkbdata/rules/sun.lst b/data/xkbdata/rules/sun.lst
new file mode 100644
index 000000000..0129f4fe4
--- /dev/null
+++ b/data/xkbdata/rules/sun.lst
@@ -0,0 +1,62 @@
+// $XFree86: xc/programs/xkbcomp/rules/sun.lst,v 3.5 2001/05/23 16:03:51 dawes Exp $
+
+! model
+ type4 Sun Type4
+ type5 Sun Type5
+ type5_euro Sun Type5 European
+ type5_unix Sun Type5 Unix
+ type6 Sun Type6
+ type6_euro Sun Type6 European
+
+! layout
+ be Belgian
+ bg Bulgarian
+ ca Canadian
+ cz Czech
+ de German
+ de_CH Swiss German
+ dvorak Dvorak (US)
+ dk Danish
+ en_US US/English w/ISO9995-3
+ es Spanish
+ fi Finnish
+ fr French
+ fr_CH Swiss French
+ gb United Kingdom
+ hu Hungarian
+ it Italian
+ intl US w/Compose Key
+ jp Japanese
+ no Norwegian
+ pl Polish
+ pt Portuguese
+ ru Russian
+ se Swedish
+ sk Slovak
+ th Thai
+ us US/ASCII
+ tr Turkish
+
+! variant
+ nodeadkeys Eliminate dead keys from European keyboards
+ typewriter Cyrillic layout similar to manual typewriters
+ phonetic Cyrillic layout similar to US/ASCII layout
+
+! option
+ grp Group Shift/Lock behavior
+ grp:switch Right Alt key switches group while held down
+ grp:toggle Pressing Right Alt key toggles group
+ grp:shift_toggle Pressing both shift keys together toggles group
+ grp:ctrl_shift_toggle Pressing shift and control together toggles group
+ grp:ctrl_alt_toggle Pressing alt and control together toggles group
+ grp:caps_toggle Caps Lock key toggles group
+ ctrl Control Key Position
+ ctrl:nocaps Replace Caps Lock with another control key
+ ctrl:swapcaps Swap positions of control and Caps Lock
+ ctrl:ctrl_ac Control key is left of the 'A' key
+ ctrl:ctrl_aa Control key is at the left of the bottom row
+ lock Specify behavior of the lock key
+ lock:shift Key is shift lock
+ lock:caps Key is captals lock
+ lock:group Key is group lock
+
diff --git a/data/xkbdata/rules/xfree98 b/data/xkbdata/rules/xfree98
new file mode 100644
index 000000000..8fda64397
--- /dev/null
+++ b/data/xkbdata/rules/xfree98
@@ -0,0 +1,29 @@
+//
+// Rules for resolving XKB components for use with XFree86
+// Copyright 1996 by Joseph Moss
+//
+// $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.5 1996/12/17 21:03:59 dawes Exp $
+//
+
+! model = keycodes geometry
+ pc98 = xfree98(pc98) nec(pc98)
+ jp106 = xfree98(jp106) pc(jp106)
+
+! model layout = symbols
+ pc98 nec/jp = nec/jp(pc98)
+ jp106 jp = jp
+
+! model layout = compat types
+ * * = complete complete
+
+! option = symbols
+ grp:switch = +group(switch)
+ grp:toggle = +group(toggle)
+ grp:shift_toggle = +group(shift_toggle)
+ grp:ctrl_shift_toggle = +group(ctrl_shift_toggle)
+ grp:ctrl_alt_toggle = +group(ctrl_alt_toggle)
+ ctrl:nocaps = +ctrl(nocaps)
+ ctrl:swapcaps = +ctrl(swapcaps)
+ ctrl:ctrl_ac = +ctrl(ctrl_ac)
+ ctrl:ctrl_aa = +ctrl(ctrl_aa)
+
diff --git a/data/xkbdata/rules/xfree98.lst b/data/xkbdata/rules/xfree98.lst
new file mode 100644
index 000000000..012c9919e
--- /dev/null
+++ b/data/xkbdata/rules/xfree98.lst
@@ -0,0 +1,30 @@
+//
+// Rules descriptions for XFree86
+// Copyright 1996 by Joseph Moss
+//
+// $XFree86: xc/programs/xkbcomp/rules/xfree86.lst,v 3.3 1996/12/18 03:30:14 dawes Exp $
+
+! model
+ pc98 PC-98 series standard
+ jp106 Japanese 106-key
+
+! layout
+ pc98 PC98
+ jp Japanese
+
+! variant
+ nodeadkeys Eliminate dead keys
+
+! option
+ grp Group Shift/Lock behavior
+ grp:switch R-Alt switches group while pressed
+ grp:toggle Right Alt key changes group
+ grp:shift_toggle Both Shift keys together change group
+ grp:ctrl_shift_toggle Control+Shift changes group
+ grp:ctrl_alt_toggle Alt+Control changes group
+ ctrl Control Key Position
+ ctrl:nocaps Make CapsLock an additional Control
+ ctrl:swapcaps Swap Control and Caps Lock
+ ctrl:ctrl_ac Control key at left of 'A'
+ ctrl:ctrl_aa Control key at bottom left
+
diff --git a/data/xkbdata/rules/xkb.dtd b/data/xkbdata/rules/xkb.dtd
new file mode 100644
index 000000000..2dc535208
--- /dev/null
+++ b/data/xkbdata/rules/xkb.dtd
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+ Description: XKB configuration file DTD
+ Author: Sergey V. Udaltsov
+
+-->
+
+<!ELEMENT xkbConfigRegistry (modelList,layoutList,optionList)>
+
+<!ELEMENT modelList (model*)>
+
+<!ELEMENT model (configItem)>
+
+<!ELEMENT layoutList (layout*)>
+
+<!ELEMENT layout (configItem,variantList?)>
+
+<!ELEMENT optionList (group*)>
+
+<!ELEMENT variantList (variant*)>
+
+<!ELEMENT variant (configItem)>
+
+<!ELEMENT group (configItem,option*)>
+<!ATTLIST group
+ allowMultipleSelection (true|false) "false">
+
+<!ELEMENT option (configItem)>
+
+<!ELEMENT configItem (name,shortDescription*,description*)>
+
+<!ELEMENT name (#PCDATA)>
+
+<!ELEMENT shortDescription (#PCDATA)>
+<!ATTLIST shortDescription
+ lang CDATA #IMPLIED>
+
+<!ELEMENT description (#PCDATA)>
+<!ATTLIST description
+ lang CDATA #IMPLIED>
diff --git a/data/xkbdata/rules/xml2lst.pl b/data/xkbdata/rules/xml2lst.pl
new file mode 100644
index 000000000..56cf0cdcd
--- /dev/null
+++ b/data/xkbdata/rules/xml2lst.pl
@@ -0,0 +1,288 @@
+#!/usr/bin/perl
+
+# converts the <rules>.xml file to the old format <rules>.lst file
+#
+# Usage:
+#
+# perl xml2lst.pl [lang] < filename.xml > filename.lst
+#
+# author Ivan Pascal
+
+if (@ARGV) {
+ $lang = shift @ARGV;
+} else {
+ $lang = '';
+}
+
+$doc = new_document( 0, '');
+parse('', $doc);
+
+($reg) = node_by_name($doc, '/xkbConfigRegistry');
+@models = node_by_name($reg, 'modelList/model/configItem');
+@layouts = node_by_name($reg, 'layoutList/layout/configItem');
+@options = node_by_name($reg, 'optionList/group/configItem');
+
+print "! model\n";
+for $i (@models) {
+ ($name) = node_by_name($i, 'name');
+ @desc = node_by_name($i, 'description');
+ $descr = with_attribute(\@desc, 'xml:lang='.$lang);
+ if (! defined $descr) {
+ $descr = with_attribute(\@desc, 'xml:lang=');
+ }
+ printf(" %-15s %s\n", text_child($name), text_child($descr));
+}
+
+print "\n! layout\n";
+for $i (@layouts) {
+ ($name) = node_by_name($i, 'name');
+ @desc = node_by_name($i, 'description');
+ $descr = with_attribute(\@desc, 'xml:lang='.$lang);
+ if (! defined $descr ) {
+ $descr = with_attribute(\@desc, 'xml:lang=');
+ }
+ printf(" %-15s %s\n", text_child($name), text_child($descr));
+}
+
+print "\n! variant\n";
+for $l (@layouts) {
+ ($lname) = node_by_name($l, 'name');
+ @variants = node_by_name($l, '../variantList/variant/configItem');
+ for $v (@variants) {
+ ($name) = node_by_name($v, 'name');
+ @desc = node_by_name($v, 'description');
+ $descr = with_attribute(\@desc, 'xml:lang='.$lang);
+ if (! defined $descr) {
+ $descr = with_attribute(\@desc, 'xml:lang=');
+ }
+ printf(" %-15s %s: %s\n",
+ text_child($name), text_child($lname), text_child($descr));
+ }
+}
+
+print "\n! options\n";
+for $g (@options) {
+ ($name) = node_by_name($g, 'name');
+ @desc = node_by_name($g, 'description');
+ $descr = with_attribute(\@desc, 'xml:lang='.$lang);
+ if (! defined $descr) {
+ $descr = with_attribute(\@desc, 'xml:lang=');
+ }
+ printf(" %-20s %s\n", text_child($name), text_child($descr));
+
+ @opts = node_by_name($g, '../option/configItem');
+ for $o (@opts) {
+ ($name) = node_by_name($o, 'name');
+ @desc = node_by_name($o, 'description');
+ $descr = with_attribute(\@desc, 'xml:lang='.$lang);
+ if (! defined $descr) {
+ $descr = with_attribute(\@desc, 'xml:lang=');
+ }
+ printf(" %-20s %s\n",
+ text_child($name), text_child($descr));
+ }
+}
+
+sub with_attribute {
+ local ($nodelist, $attrexpr) = @_;
+ local ($attr, $value) = split (/=/, $attrexpr);
+ local ($node, $attrvalue);
+ if (defined $value && $value ne '') {
+ $value =~ s/"//g;
+ foreach $node (@{$nodelist}) {
+ $attrvalue = node_attribute($node, $attr);
+ if (defined $attrvalue && $attrvalue eq $value) {
+ return $node;
+ }
+ }
+ } else {
+ foreach $node (@{$nodelist}) {
+ if (! defined node_attribute($node, $attr)) {
+ return $node;
+ }
+ }
+ }
+ undef;
+}
+
+# Subroutines
+
+sub parse {
+ local $intag = 0;
+ my (@node_stack, $parent);
+ $parent = @_[1];
+ local ($tag, $text);
+
+ while (<>) {
+ chomp;
+ @str = split /([<>])/;
+ shift @str if ($str[0] eq '' || $str[0] =~ /^[ \t]*$/);
+
+ while (scalar @str) {
+ $token = shift @str;
+ if ($token eq '<') {
+ $intag = 1;
+ if (defined $text) {
+ add_text_node($parent, $text);
+ undef $text;
+ }
+ } elsif ($token eq '>') {
+ $intag = 0;
+ if ($tag =~ /^\/(.*)/) { # close tag
+ $parent = pop @node_stack;
+ } elsif ($tag =~ /^([^\/]*)\/$/) {
+ empty_tag($parent, $1);
+ } else {
+ if (defined ($node = open_tag($parent, $tag))) {
+ push @node_stack, $parent;
+ $parent = $node;
+ }
+ }
+ undef $tag;
+ } else {
+ if ($intag == 1) {
+ if (defined $tag) {
+ $tag .= ' '. $token;
+ } else {
+ $tag = $token;
+ }
+ } else {
+ if (defined $text) {
+ $text .= "\n" . $token;
+ } else {
+ $text = $token;
+ }
+ }
+ }
+ }
+ }
+}
+
+sub new_document {
+ $doc = new_node( 0, '', 'DOCUMENT');
+ $doc->{CHILDREN} = [];
+ return $doc;
+}
+
+sub new_node {
+ local ($parent_node, $tag, $type) = @_;
+
+ my %node;
+ $node{PARENT} = $parent_node;
+ $node{TYPE} = $type;
+
+ if ($type eq 'COMMENT' || $type eq 'TEXT') {
+ $node{TEXT} = $tag;
+ $node{NAME} = $type;
+ return \%node;
+ }
+
+ local ($tname, $attr) = split(' ', $tag, 2);
+ $node{NAME} = $tname;
+
+ if (defined $attr && $attr ne '') {
+ my %attr_table;
+ local @attr_list = split ( /"/, $attr);
+ local ($name, $value);
+ while (scalar @attr_list) {
+ $name = shift @attr_list;
+ $name =~ s/[ =]//g;
+ next if ($name eq '');
+ $value = shift @attr_list;
+ $attr_table{$name} =$value;
+ }
+ $node{ATTRIBUTES} = \%attr_table;
+ }
+ return \%node;
+}
+
+sub add_node {
+ local ($parent_node, $node) = @_;
+ push @{$parent_node->{CHILDREN}}, $node;
+
+ local $tname = $node->{NAME};
+ if (defined $parent_node->{$tname}) {
+ push @{$parent_node->{$tname}}, $node
+ } else {
+ $parent_node->{$tname} = [ $node ];
+ }
+}
+
+sub empty_tag {
+ local ($parent_node, $tag) = @_;
+ local $node = new_node($parent_node, $tag, 'EMPTY');
+ add_node($parent_node, $node);
+}
+
+sub open_tag {
+ local ($parent_node, $tag) = @_;
+ local $node;
+
+ if ($tag =~ /^\?.*/ || $tag =~ /^\!.*/) {
+ $node = new_node($parent_node, $tag, 'COMMENT');
+ add_node($parent_node, $node);
+ undef; return;
+ } else {
+ $node = new_node($parent_node, $tag, 'NODE');
+ $node->{CHILDREN} = [];
+ add_node($parent_node, $node);
+ return $node;
+ }
+}
+
+sub add_text_node {
+ local ($parent_node, $text) = @_;
+ local $node = new_node($parent_node, $text, 'TEXT');
+ add_node($parent_node, $node);
+}
+
+sub node_by_name {
+ local ($node, $name) = @_;
+ local ($tagname, $path) = split(/\//, $name, 2);
+
+ my @nodelist;
+
+ if ($tagname eq '') {
+ while ($node->{PARENT} != 0) {
+ $node = $node->{PARENT};
+ }
+ sublist_by_name($node, $path, \@nodelist);
+ } else {
+ sublist_by_name($node, $name, \@nodelist);
+ }
+ return @nodelist;
+}
+
+sub sublist_by_name {
+ local ($node, $name, $res) = @_;
+ local ($tagname, $path) = split(/\//, $name, 2);
+
+ if (! defined $path) {
+ push @{$res}, (@{$node->{$tagname}});
+ return;
+ }
+
+ if ($tagname eq '..' && $node->{PARENT} != 0) {
+ $node = $node->{PARENT};
+ sublist_by_name($node, $path, $res);
+ } else {
+ local $n;
+ for $n (@{$node->{$tagname}}) {
+ sublist_by_name($n, $path, $res);
+ }
+ }
+}
+
+sub node_attribute {
+ local $node = @_[0];
+ if (defined $node->{ATTRIBUTES}) {
+ return $node->{ATTRIBUTES}{@_[1]};
+ }
+ undef;
+}
+
+sub text_child {
+ local ($node) = @_;
+ local ($child) = node_by_name($node, 'TEXT');
+ return $child->{TEXT};
+}
diff --git a/data/xkbdata/rules/xorg b/data/xkbdata/rules/xorg
new file mode 100644
index 000000000..94c2854bf
--- /dev/null
+++ b/data/xkbdata/rules/xorg
@@ -0,0 +1,1011 @@
+// $XdotOrg$
+
+//
+// Rules for resolving XKB components for use with XFree86
+// Copyright 1996 by Joseph Moss
+//
+// 2002 Modifier: Ivan Pascal The XFree86 Project
+// $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.79 2004/01/09 00:16:01 dawes Exp $
+//
+// If you want non-latin layouts implicitly include the en_US layout
+// uncomment lines below
+//! $nonlatin = am ara bg by dev el ge il \
+// ir iu kan lo mk mm ml ori ru sr syr th \
+// tj ua
+
+! $pcmodels = pc101 pc102 pc104 pc105
+! $maclaptop = ibook powerbook
+! $mac = macintosh macintosh_old ibook powerbook
+
+! $azerty = be fr
+! $qwertz = al cz de hr hu ro si sk
+
+! $inetkbds = a4techKB21 a4techKBS8 acer_tm_800 acpi airkey azonaRF2300 \
+ brother \
+ btc5113rf btc5126t btc9000 btc9000a btc9001ah btc5090\
+ cherryblue cherrybluea cherryblueb \
+ chicony chicony9885 \
+ compaqeak8 compaqik7 compaqik13 compaqik18 cymotionlinux \
+ armada presario ipaq \
+ dell inspiron dtk2000 \
+ dexxa diamond genius geniuscomfy2 \
+ ennyah_dkb1008 gyration \
+ hpi6 hp2501 hp2505 hp5181 hpxe3gc hpxe3gf hpxe4xxx hpzt11xx \
+ hp500fa hp5xx hp5185 \
+ honeywell_euroboard \
+ rapidaccess rapidaccess2 rapidaccess2a \
+ ltcd logiaccess logicdp logicdpa logicdit logicink logiciink \
+ logiinkse logiinkseusb logiitc logiik itouch logiultrax \
+ mx1998 mx2500 mx2750 \
+ microsoftinet microsoftpro microsoftprousb microsoftprooem microsoftprose \
+ microsoftoffice microsoftmult \
+ oretec \
+ propeller scorpius \
+ qtronix \
+ samsung4500 samsung4510 \
+ sk1300 sk2500 sk6200 sk7100 sp_inet \
+ sven symplon toshiba_s3000 trust trustda yahoo
+
+! model = keycodes
+ macintosh_old = macintosh
+ powerpcps2 = powerpcps2
+ pc98 = xfree98(pc98)
+ abnt2 = xfree86(abnt2)
+ jp106 = xfree86(jp106)
+ * = xfree86
+
+! layout[1] = keycodes
+ $azerty = +aliases(azerty)
+ $qwertz = +aliases(qwertz)
+ * = +aliases(qwerty)
+
+! layout = keycodes
+ $azerty = +aliases(azerty)
+ $qwertz = +aliases(qwertz)
+ * = +aliases(qwerty)
+
+! model = geometry
+ microsoft = microsoft(natural)
+ microsoftpro = microsoft(natural)
+ microsoftprousb = microsoft(natural)
+ microsoftprose = microsoft(natural)
+ dell101 = dell(dell101)
+ flexpro = keytronic(FlexPro)
+ hp6000 = hp(omnibook)
+ omnikey101 = northgate(omnikey101)
+ thinkpad = ibm/thinkpad(common)
+ $pcmodels = pc(%m)
+ jp106 = pc(jp106)
+ everex = everex(STEPnote)
+ winbook = winbook(XP5)
+ pc98 = nec(pc98)
+ abnt2 = pc(abnt2)
+ $mac = macintosh(macintosh)
+ * = pc(pc104)
+
+! model layout variant = symbols
+ $pcmodels ben basic = pc/pc(%m)+pc/in(ben)
+ * ben basic = pc/pc(pc105)+pc/in(ben)
+ $pcmodels ben probhat = pc/pc(%m)+pc/in(ben_probhat)
+ * ben probhat = pc/pc(pc105)+pc/in(ben_probhat)
+ $pcmodels dev basic = pc/pc(%m)+pc/in(deva)
+ * dev basic = pc/pc(pc105)+pc/in(deva)
+ $pcmodels dvorak gb = pc/pc(%m)+pc/gb(dvorak)
+ * dvorak gb = pc/pc(pc105)+pc/gb(dvorak)
+ $pcmodels dvorak fr = pc/pc(%m)+pc/fr(dvorak)
+ * dvorak fr = pc/pc(pc105)+pc/fr(dvorak)
+ $pcmodels dvorak no = pc/pc(%m)+pc/no(dvorak)
+ * dvorak no = pc/pc(pc105)+pc/no(dvorak)
+ $pcmodels dvorak se = pc/pc(%m)+pc/se(dvorak)
+ * dvorak se = pc/pc(pc105)+pc/se(dvorak)
+ $pcmodels dvorak basic = pc/pc(%m)+pc/us(dvorak)
+ * dvorak basic = pc/pc(pc105)+pc/us(dvorak)
+ $pcmodels dvorak pl_basic = pc/pc(%m)+pc/pl(dvorak)
+ * dvorak pl_basic = pc/pc(pc105)+pc/pl(dvorak)
+ $pcmodels dvorak pl = pc/pc(%m)+pc/pl(dvorak_quotes)
+ * dvorak pl = pc/pc(pc105)+pc/pl(dvorak_quotes)
+ $pcmodels dvorak pl_altquotes = pc/pc(%m)+pc/pl(dvorak_altquotes)
+ * dvorak pl_altquotes = pc/pc(pc105)+pc/pl(dvorak_altquotes)
+ $pcmodels dz basic = pc/pc(%m)+pc/bt(basic)
+ * dz basic = pc/pc(pc105)+pc/bt(basic)
+ $pcmodels guj basic = pc/pc(%m)+pc/in(guj)
+ * guj basic = pc/pc(pc105)+pc/in(guj)
+ $pcmodels gur basic = pc/pc(%m)+pc/in(guru)
+ * gur basic = pc/pc(pc105)+pc/in(guru)
+ $pcmodels ie laptop = pc/pc(%m)+pc/ie(basic)
+ * ie laptop = pc/pc(pc105)+pc/ie(basic)
+ $pcmodels ie CloGaelachLaptop = pc/pc(%m)+pc/ie(CloGaelach)
+ * ie CloGaelachLaptop = pc/pc(pc105)+pc/ie(CloGaelach)
+ $pcmodels iu basic = pc/pc(%m)+pc/ca(ike)
+ * iu basic = pc/pc(pc105)+pc/ca(ike)
+ $pcmodels lo basic = pc/pc(%m)+pc/la(basic)
+ * lo basic = pc/pc(pc105)+pc/la(basic)
+ $pcmodels kan basic = pc/pc(%m)+pc/in(kan)
+ * kan basic = pc/pc(pc105)+pc/in(kan)
+ $pcmodels mal basic = pc/pc(%m)+pc/in(mal)
+ * mal basic = pc/pc(pc105)+pc/in(mal)
+ $pcmodels mal mlplusnum = pc/pc(%m)+pc/in(mal)
+ * mal mlplusnum = pc/pc(pc105)+pc/in(mal)
+ $pcmodels ogham basic = pc/pc(%m)+pc/ie(ogam)
+ * ogham basic = pc/pc(pc105)+pc/ie(ogam)
+ $pcmodels ogham laptop = pc/pc(%m)+pc/ie(ogam)
+ * ogham laptop = pc/pc(pc105)+pc/ie(ogam)
+ $pcmodels ogham is434 = pc/pc(%m)+pc/ie(ogam_is434)
+ * ogham is434 = pc/pc(pc105)+pc/ie(ogam_is434)
+ $pcmodels ogham is434laptop = pc/pc(%m)+pc/ie(ogam_is434)
+ * ogham is434laptop = pc/pc(pc105)+pc/ie(ogam_is434)
+ $pcmodels ori basic = pc/pc(%m)+pc/in(ori)
+ * ori basic = pc/pc(pc105)+pc/in(ori)
+ $pcmodels sapmi basic = pc/pc(%m)+pc/no(smi)
+ * sapmi basic = pc/pc(pc105)+pc/no(smi)
+ $pcmodels sapmi nodeadkeys = pc/pc(%m)+pc/no(smi_nodeadkeys)
+ * sapmi nodeadkeys = pc/pc(pc105)+pc/no(smi_nodeadkeys)
+ $pcmodels sapmi sefi = pc/pc(%m)+pc/fi(smi)
+ * sapmi sefi = pc/pc(pc105)+pc/fi(smi)
+ $pcmodels sin phonetic-static = pc/pc(%m)+pc/in(sin_phonetic)
+ * sin phonetic-static = pc/pc(pc105)+pc/in(sin_phonetic)
+ $pcmodels syr basic = pc/pc(%m)+pc/sy(syc)
+ * syr basic = pc/pc(pc105)+pc/sy(syc)
+ $pcmodels syr phonetic = pc/pc(%m)+pc/sy(syc_phonetic)
+ * syr phonetic = pc/pc(pc105)+pc/sy(syc_phonetic)
+ $pcmodels tam INSCRIPT = pc/pc(%m)+pc/in(tam)
+ * tam INSCRIPT = pc/pc(pc105)+pc/in(tam)
+ $pcmodels tam UNI = pc/pc(%m)+pc/in(tam_unicode)
+ * tam UNI = pc/pc(pc105)+pc/in(tam_unicode)
+ $pcmodels tam TAB = pc/pc(%m)+pc/in(tam_TAB)
+ * tam TAB = pc/pc(pc105)+pc/in(tam_TAB)
+ $pcmodels tam TSCII = pc/pc(%m)+pc/in(tam_TSCII)
+ * tam TSCII = pc/pc(pc105)+pc/in(tam_TSCII)
+ $pcmodels tel basic = pc/pc(%m)+pc/in(tel)
+ * tel basic = pc/pc(pc105)+pc/in(tel)
+ $pcmodels yu basic = pc/pc(%m)+pc/srp(latin)
+ * yu basic = pc/pc(pc105)+pc/srp(latin)
+ $pcmodels yu unicode = pc/pc(%m)+pc/srp(latinunicode)
+ * yu unicode = pc/pc(pc105)+pc/srp(latinunicode)
+ $pcmodels yu yz = pc/pc(%m)+pc/srp(latinyz)
+ * yu yz = pc/pc(pc105)+pc/srp(latinyz)
+ $pcmodels yu unicodeyz = pc/pc(%m)+pc/srp(latinunicodeyz)
+ * yu unicodeyz = pc/pc(pc105)+pc/srp(latinunicodeyz)
+ $maclaptop * nodeadkeys = macintosh/us(extended)+macintosh/%l%(v)+apple(laptop_bad_switch)
+ $mac * nodeadkeys = macintosh/us(extended)+macintosh/%l%(v)
+
+! model layout = symbols
+ $pcmodels ar = pc/pc(%m)+pc/ara
+ * ar = pc/pc(pc105)+pc/ara
+ $pcmodels ben = pc/pc(%m)+pc/in(ben)
+ * ben = pc/pc(pc105)+pc/in(ben)
+ $pcmodels bs = pc/pc(%m)+pc/ba
+ * bs = pc/pc(pc105)+pc/ba
+ $pcmodels dev = pc/pc(%m)+pc/in(deva)
+ * dev = pc/pc(pc105)+pc/in(deva)
+ $pcmodels dvorak = pc/pc(%m)+pc/us(dvorak)
+ * dvorak = pc/pc(pc105)+pc/us(dvorak)
+ $pcmodels dz = pc/pc(%m)+pc/bt
+ * dz = pc/pc(pc105)+pc/bt
+ $pcmodels el = pc/pc(%m)+pc/gr
+ * el = pc/pc(pc105)+pc/gr
+ $pcmodels ge_la = pc/pc(%m)+pc/ge
+ * ge_la = pc/pc(pc105)+pc/ge
+ $pcmodels ge_ru = pc/pc(%m)+pc/ge(ru)
+ * ge_ru = pc/pc(pc105)+pc/ge(ru)
+ $pcmodels guj = pc/pc(%m)+pc/in(guj)
+ * guj = pc/pc(pc105)+pc/in(guj)
+ $pcmodels gur = pc/pc(%m)+pc/in(guru)
+ * gur = pc/pc(pc105)+pc/in(guru)
+ $pcmodels iu = pc/pc(%m)+pc/ca(ike)
+ * iu = pc/pc(pc105)+pc/ca(ike)
+ $pcmodels lo = pc/pc(%m)+pc/la
+ * lo = pc/pc(pc105)+pc/la
+ $pcmodels kan = pc/pc(%m)+pc/in(kan)
+ * kan = pc/pc(pc105)+pc/in(kan)
+ $pcmodels mi = pc/pc(%m)+pc/mao
+ * mi = pc/pc(pc105)+pc/mao
+ $pcmodels mk = pc/pc(%m)+pc/mkd
+ * mk = pc/pc(pc105)+pc/mkd
+ $pcmodels ml = pc/pc(%m)+pc/in(mal)
+ * ml = pc/pc(pc105)+pc/in(mal)
+ $pcmodels ogham = pc/pc(%m)+pc/ie(ogam)
+ * ogham = pc/pc(pc105)+pc/ie(ogam)
+ $pcmodels ori = pc/pc(%m)+pc/ie(ori)
+ * ori = pc/pc(pc105)+pc/ie(ori)
+ $pcmodels sapmi = pc/pc(%m)+pc/no(smi)
+ * sapmi = pc/pc(pc105)+pc/no(smi)
+ $pcmodels sr = pc/pc(%m)+pc/srp
+ * sr = pc/pc(pc105)+pc/srp
+ $pcmodels syr = pc/pc(%m)+pc/sy(syc)
+ * syr = pc/pc(pc105)+pc/sy(syc)
+ $pcmodels tel = pc/pc(%m)+pc/in(tel)
+ * tel = pc/pc(pc105)+pc/in(tel)
+ $pcmodels tml = pc/pc(%m)+pc/in(tam)
+ * tml = pc/pc(pc105)+pc/in(tam)
+ $pcmodels yu = pc/pc(%m)+pc/srp
+ * yu = pc/pc(pc105)+pc/srp
+ $pcmodels ben(basic) = pc/pc(%m)+pc/in(ben)
+ * ben(basic) = pc/pc(pc105)+pc/in(ben)
+ $pcmodels ben(probhat) = pc/pc(%m)+pc/in(ben_probhat)
+ * ben(probhat) = pc/pc(pc105)+pc/in(ben_probhat)
+ $pcmodels dev(basic) = pc/pc(%m)+pc/in(deva)
+ * dev(basic) = pc/pc(pc105)+pc/in(deva)
+ $pcmodels dvorak(gb) = pc/pc(%m)+pc/gb(dvorak)
+ * dvorak(gb) = pc/pc(pc105)+pc/gb(dvorak)
+ $pcmodels dvorak(fr) = pc/pc(%m)+pc/fr(dvorak)
+ * dvorak(fr) = pc/pc(pc105)+pc/fr(dvorak)
+ $pcmodels dvorak(no) = pc/pc(%m)+pc/no(dvorak)
+ * dvorak(no) = pc/pc(pc105)+pc/no(dvorak)
+ $pcmodels dvorak(se) = pc/pc(%m)+pc/se(dvorak)
+ * dvorak(se) = pc/pc(pc105)+pc/se(dvorak)
+ $pcmodels dvorak(basic) = pc/pc(%m)+pc/us(dvorak)
+ * dvorak(basic) = pc/pc(pc105)+pc/us(dvorak)
+ $pcmodels dvorak(pl_basic) = pc/pc(%m)+pc/pl(dvorak)
+ * dvorak(pl_basic) = pc/pc(pc105)+pc/pl(dvorak)
+ $pcmodels dvorak(pl) = pc/pc(%m)+pc/pl(dvorak_quotes)
+ * dvorak(pl) = pc/pc(pc105)+pc/pl(dvorak_quotes)
+ $pcmodels dvorak(pl_altquotes) = pc/pc(%m)+pc/pl(dvorak_altquotes)
+ * dvorak(pl_altquotes) = pc/pc(pc105)+pc/pl(dvorak_altquotes)
+ $pcmodels dz(basic) = pc/pc(%m)+pc/bt(basic)
+ * dz(basic) = pc/pc(pc105)+pc/bt(basic)
+ $pcmodels guj(basic) = pc/pc(%m)+pc/in(guj)
+ * guj(basic) = pc/pc(pc105)+pc/in(guj)
+ $pcmodels gur(basic) = pc/pc(%m)+pc/in(guru)
+ * gur(basic) = pc/pc(pc105)+pc/in(guru)
+ $pcmodels ie(laptop) = pc/pc(%m)+pc/ie(basic)
+ * ie(laptop) = pc/pc(pc105)+pc/ie(basic)
+ $pcmodels ie(CloGaelachLaptop) = pc/pc(%m)+pc/ie(CloGaelach)
+ * ie(CloGaelachLaptop) = pc/pc(pc105)+pc/ie(CloGaelach)
+ $pcmodels iu(basic) = pc/pc(%m)+pc/ca(ike)
+ * iu(basic) = pc/pc(pc105)+pc/ca(ike)
+ $pcmodels lo(basic) = pc/pc(%m)+pc/la(basic)
+ * lo(basic) = pc/pc(pc105)+pc/la(basic)
+ $pcmodels kan(basic) = pc/pc(%m)+pc/in(kan)
+ * kan(basic) = pc/pc(pc105)+pc/in(kan)
+ $pcmodels mal(basic) = pc/pc(%m)+pc/in(mal)
+ * mal(basic) = pc/pc(pc105)+pc/in(mal)
+ $pcmodels mal(mlplusnum) = pc/pc(%m)+pc/in(mal)
+ * mal(mlplusnum) = pc/pc(pc105)+pc/in(mal)
+ $pcmodels ogham(basic) = pc/pc(%m)+pc/ie(ogam)
+ * ogham(basic) = pc/pc(pc105)+pc/ie(ogam)
+ $pcmodels ogham(laptop) = pc/pc(%m)+pc/ie(ogam)
+ * ogham(laptop) = pc/pc(pc105)+pc/ie(ogam)
+ $pcmodels ogham(is434) = pc/pc(%m)+pc/ie(ogam_is434)
+ * ogham(is434) = pc/pc(pc105)+pc/ie(ogam_is434)
+ $pcmodels ogham(is434laptop) = pc/pc(%m)+pc/ie(ogam_is434)
+ * ogham(is434laptop) = pc/pc(pc105)+pc/ie(ogam_is434)
+ $pcmodels ori(basic) = pc/pc(%m)+pc/in(ori)
+ * ori(basic) = pc/pc(pc105)+pc/in(ori)
+ $pcmodels sapmi(basic) = pc/pc(%m)+pc/no(smi)
+ * sapmi(basic) = pc/pc(pc105)+pc/no(smi)
+ $pcmodels sapmi(nodeadkeys) = pc/pc(%m)+pc/no(smi_nodeadkeys)
+ * sapmi(nodeadkeys) = pc/pc(pc105)+pc/no(smi_nodeadkeys)
+ $pcmodels sapmi(sefi) = pc/pc(%m)+pc/fi(smi)
+ * sapmi(sefi) = pc/pc(pc105)+pc/fi(smi)
+ $pcmodels sin(phonetic-static) = pc/pc(%m)+pc/in(sin_phonetic)
+ * sin(phonetic-static) = pc/pc(pc105)+pc/in(sin_phonetic)
+ $pcmodels syr(basic) = pc/pc(%m)+pc/sy(syc)
+ * syr(basic) = pc/pc(pc105)+pc/sy(syc)
+ $pcmodels syr(phonetic) = pc/pc(%m)+pc/sy(syc_phonetic)
+ * syr(phonetic) = pc/pc(pc105)+pc/sy(syc_phonetic)
+ $pcmodels tam(INSCRIPT) = pc/pc(%m)+pc/in(tam)
+ * tam(INSCRIPT) = pc/pc(pc105)+pc/in(tam)
+ $pcmodels tam(UNI) = pc/pc(%m)+pc/in(tam_unicode)
+ * tam(UNI) = pc/pc(pc105)+pc/in(tam_unicode)
+ $pcmodels tam(TAB) = pc/pc(%m)+pc/in(tam_TAB)
+ * tam(TAB) = pc/pc(pc105)+pc/in(tam_TAB)
+ $pcmodels tam(TSCII) = pc/pc(%m)+pc/in(tam_TSCII)
+ * tam(TSCII) = pc/pc(pc105)+pc/in(tam_TSCII)
+ $pcmodels tel(basic) = pc/pc(%m)+pc/in(tel)
+ * tel(basic) = pc/pc(pc105)+pc/in(tel)
+ $pcmodels yu(basic) = pc/pc(%m)+pc/srp(latin)
+ * yu(basic) = pc/pc(pc105)+pc/srp(latin)
+ $pcmodels yu(unicode) = pc/pc(%m)+pc/srp(latinunicode)
+ * yu(unicode) = pc/pc(pc105)+pc/srp(latinunicode)
+ $pcmodels yu(yz) = pc/pc(%m)+pc/srp(latinyz)
+ * yu(yz) = pc/pc(pc105)+pc/srp(latinyz)
+ $pcmodels yu(unicodeyz) = pc/pc(%m)+pc/srp(latinunicodeyz)
+ * yu(unicodeyz) = pc/pc(pc105)+pc/srp(latinunicodeyz)
+ pc98 nec/jp = nec/jp(pc98)
+ abnt2 br = pc/pc(pc104)+pc/br
+ $maclaptop us = macintosh/us(extended)+apple(laptop_bad_switch)
+ $maclaptop en_US = macintosh/us(extended)+apple(laptop_bad_switch)
+ $maclaptop * = macintosh/us(extended)+apple(laptop_bad_switch)+macintosh/%l%(v)
+ $mac us = macintosh/us(extended)
+ $mac en_US = macintosh/us(extended)
+ $mac * = macintosh/us(extended)+macintosh/%l%(v)
+ $pcmodels intl = us(%mcompose)
+ * intl = us(pc104compose)
+ * jp = pc/pc(pc102)+pc/jp(latin)+pc/jp:2
+ $pcmodels ca = pc/pc(%m)+pc/ca(multi)+pc/ca(multi-2gr):2+group(rctrl_switch)
+ * ca = pc/pc(pc105)+pc/ca(multi)+pc/ca(multi-2gr):2+group(rctrl_switch)
+ $pcmodels $nonlatin = pc/pc(%m)+pc/us+pc/%l%(v):2
+ $pcmodels * = pc/pc(%m)+pc/%l%(v)
+ * $nonlatin = pc/pc(pc105)+pc/us+pc/%l%(v):2
+ * * = pc/pc(pc105)+pc/%l%(v)
+
+! model layout[1] = symbols
+ $pcmodels ar = pc/pc(%m)+pc/ara%(v[1])
+ * ar = pc/pc(pc105)+pc/ara%(v[1])
+ $pcmodels ben = pc/pc(%m)+pc/in(ben)%(v[1])
+ * ben = pc/pc(pc105)+pc/in(ben)%(v[1])
+ $pcmodels bs = pc/pc(%m)+pc/ba%(v[1])
+ * bs = pc/pc(pc105)+pc/ba%(v[1])
+ $pcmodels dev = pc/pc(%m)+pc/in(deva)%(v[1])
+ * dev = pc/pc(pc105)+pc/in(deva)%(v[1])
+ $pcmodels dvorak = pc/pc(%m)+pc/us(dvorak)%(v[1])
+ * dvorak = pc/pc(pc105)+pc/us(dvorak)%(v[1])
+ $pcmodels dz = pc/pc(%m)+pc/bt%(v[1])
+ * dz = pc/pc(pc105)+pc/bt%(v[1])
+ $pcmodels el = pc/pc(%m)+pc/gr%(v[1])
+ * el = pc/pc(pc105)+pc/gr%(v[1])
+ $pcmodels ge_la = pc/pc(%m)+pc/ge%(v[1])
+ * ge_la = pc/pc(pc105)+pc/ge%(v[1])
+ $pcmodels ge_ru = pc/pc(%m)+pc/ge(ru)%(v[1])
+ * ge_ru = pc/pc(pc105)+pc/ge(ru)%(v[1])
+ $pcmodels guj = pc/pc(%m)+pc/in(guj)%(v[1])
+ * guj = pc/pc(pc105)+pc/in(guj)%(v[1])
+ $pcmodels gur = pc/pc(%m)+pc/in(guru)%(v[1])
+ * gur = pc/pc(pc105)+pc/in(guru)%(v[1])
+ $pcmodels iu = pc/pc(%m)+pc/ca(ike)%(v[1])
+ * iu = pc/pc(pc105)+pc/ca(ike)%(v[1])
+ $pcmodels lo = pc/pc(%m)+pc/la%(v[1])
+ * lo = pc/pc(pc105)+pc/la%(v[1])
+ $pcmodels kan = pc/pc(%m)+pc/in(kan)%(v[1])
+ * kan = pc/pc(pc105)+pc/in(kan)%(v[1])
+ $pcmodels mi = pc/pc(%m)+pc/mao%(v[1])
+ * mi = pc/pc(pc105)+pc/mao%(v[1])
+ $pcmodels mk = pc/pc(%m)+pc/mkd%(v[1])
+ * mk = pc/pc(pc105)+pc/mkd%(v[1])
+ $pcmodels ml = pc/pc(%m)+pc/in(mal)%(v[1])
+ * ml = pc/pc(pc105)+pc/in(mal)%(v[1])
+ $pcmodels ogham = pc/pc(%m)+pc/ie(ogam)%(v[1])
+ * ogham = pc/pc(pc105)+pc/ie(ogam)%(v[1])
+ $pcmodels ori = pc/pc(%m)+pc/ie(ori)%(v[1])
+ * ori = pc/pc(pc105)+pc/ie(ori)%(v[1])
+ $pcmodels sapmi = pc/pc(%m)+pc/no(smi)%(v[1])
+ * sapmi = pc/pc(pc105)+pc/no(smi)%(v[1])
+ $pcmodels sr = pc/pc(%m)+pc/srp%(v[1])
+ * sr = pc/pc(pc105)+pc/srp%(v[1])
+ $pcmodels syr = pc/pc(%m)+pc/sy(syc)%(v[1])
+ * syr = pc/pc(pc105)+pc/sy(syc)%(v[1])
+ $pcmodels tel = pc/pc(%m)+pc/in(tel)%(v[1])
+ * tel = pc/pc(pc105)+pc/in(tel)%(v[1])
+ $pcmodels tml = pc/pc(%m)+pc/in(tam)%(v[1])
+ * tml = pc/pc(pc105)+pc/in(tam)%(v[1])
+ $pcmodels yu = pc/pc(%m)+pc/srp%(v[1])
+ * yu = pc/pc(pc105)+pc/srp%(v[1])
+ $pcmodels ben(basic) = pc/pc(%m)+pc/in(ben)
+ * ben(basic) = pc/pc(pc105)+pc/in(ben)
+ $pcmodels ben(probhat) = pc/pc(%m)+pc/in(ben_probhat)
+ * ben(probhat) = pc/pc(pc105)+pc/in(ben_probhat)
+ $pcmodels dev(basic) = pc/pc(%m)+pc/in(deva)
+ * dev(basic) = pc/pc(pc105)+pc/in(deva)
+ $pcmodels dvorak(gb) = pc/pc(%m)+pc/gb(dvorak)
+ * dvorak(gb) = pc/pc(pc105)+pc/gb(dvorak)
+ $pcmodels dvorak(fr) = pc/pc(%m)+pc/fr(dvorak)
+ * dvorak(fr) = pc/pc(pc105)+pc/fr(dvorak)
+ $pcmodels dvorak(no) = pc/pc(%m)+pc/no(dvorak)
+ * dvorak(no) = pc/pc(pc105)+pc/no(dvorak)
+ $pcmodels dvorak(se) = pc/pc(%m)+pc/se(dvorak)
+ * dvorak(se) = pc/pc(pc105)+pc/se(dvorak)
+ $pcmodels dvorak(basic) = pc/pc(%m)+pc/us(dvorak)
+ * dvorak(basic) = pc/pc(pc105)+pc/us(dvorak)
+ $pcmodels dvorak(pl_basic) = pc/pc(%m)+pc/pl(dvorak)
+ * dvorak(pl_basic) = pc/pc(pc105)+pc/pl(dvorak)
+ $pcmodels dvorak(pl) = pc/pc(%m)+pc/pl(dvorak_quotes)
+ * dvorak(pl) = pc/pc(pc105)+pc/pl(dvorak_quotes)
+ $pcmodels dvorak(pl_altquotes) = pc/pc(%m)+pc/pl(dvorak_altquotes)
+ * dvorak(pl_altquotes) = pc/pc(pc105)+pc/pl(dvorak_altquotes)
+ $pcmodels dz(basic) = pc/pc(%m)+pc/bt(basic)
+ * dz(basic) = pc/pc(pc105)+pc/bt(basic)
+ $pcmodels guj(basic) = pc/pc(%m)+pc/in(guj)
+ * guj(basic) = pc/pc(pc105)+pc/in(guj)
+ $pcmodels gur(basic) = pc/pc(%m)+pc/in(guru)
+ * gur(basic) = pc/pc(pc105)+pc/in(guru)
+ $pcmodels ie(laptop) = pc/pc(%m)+pc/ie(basic)
+ * ie(laptop) = pc/pc(pc105)+pc/ie(basic)
+ $pcmodels ie(CloGaelachLaptop) = pc/pc(%m)+pc/ie(CloGaelach)
+ * ie(CloGaelachLaptop) = pc/pc(pc105)+pc/ie(CloGaelach)
+ $pcmodels iu(basic) = pc/pc(%m)+pc/ca(ike)
+ * iu(basic) = pc/pc(pc105)+pc/ca(ike)
+ $pcmodels lo(basic) = pc/pc(%m)+pc/la(basic)
+ * lo(basic) = pc/pc(pc105)+pc/la(basic)
+ $pcmodels kan(basic) = pc/pc(%m)+pc/in(kan)
+ * kan(basic) = pc/pc(pc105)+pc/in(kan)
+ $pcmodels mal(basic) = pc/pc(%m)+pc/in(mal)
+ * mal(basic) = pc/pc(pc105)+pc/in(mal)
+ $pcmodels mal(mlplusnum) = pc/pc(%m)+pc/in(mal)
+ * mal(mlplusnum) = pc/pc(pc105)+pc/in(mal)
+ $pcmodels ogham(basic) = pc/pc(%m)+pc/ie(ogam)
+ * ogham(basic) = pc/pc(pc105)+pc/ie(ogam)
+ $pcmodels ogham(laptop) = pc/pc(%m)+pc/ie(ogam)
+ * ogham(laptop) = pc/pc(pc105)+pc/ie(ogam)
+ $pcmodels ogham(is434) = pc/pc(%m)+pc/ie(ogam_is434)
+ * ogham(is434) = pc/pc(pc105)+pc/ie(ogam_is434)
+ $pcmodels ogham(is434laptop) = pc/pc(%m)+pc/ie(ogam_is434)
+ * ogham(is434laptop) = pc/pc(pc105)+pc/ie(ogam_is434)
+ $pcmodels ori(basic) = pc/pc(%m)+pc/in(ori)
+ * ori(basic) = pc/pc(pc105)+pc/in(ori)
+ $pcmodels sapmi(basic) = pc/pc(%m)+pc/no(smi)
+ * sapmi(basic) = pc/pc(pc105)+pc/no(smi)
+ $pcmodels sapmi(nodeadkeys) = pc/pc(%m)+pc/no(smi_nodeadkeys)
+ * sapmi(nodeadkeys) = pc/pc(pc105)+pc/no(smi_nodeadkeys)
+ $pcmodels sapmi(sefi) = pc/pc(%m)+pc/fi(smi)
+ * sapmi(sefi) = pc/pc(pc105)+pc/fi(smi)
+ $pcmodels sin(phonetic-static) = pc/pc(%m)+pc/in(sin_phonetic)
+ * sin(phonetic-static) = pc/pc(pc105)+pc/in(sin_phonetic)
+ $pcmodels syr(basic) = pc/pc(%m)+pc/sy(syc)
+ * syr(basic) = pc/pc(pc105)+pc/sy(syc)
+ $pcmodels syr(phonetic) = pc/pc(%m)+pc/sy(syc_phonetic)
+ * syr(phonetic) = pc/pc(pc105)+pc/sy(syc_phonetic)
+ $pcmodels tam(INSCRIPT) = pc/pc(%m)+pc/in(tam)
+ * tam(INSCRIPT) = pc/pc(pc105)+pc/in(tam)
+ $pcmodels tam(UNI) = pc/pc(%m)+pc/in(tam_unicode)
+ * tam(UNI) = pc/pc(pc105)+pc/in(tam_unicode)
+ $pcmodels tam(TAB) = pc/pc(%m)+pc/in(tam_TAB)
+ * tam(TAB) = pc/pc(pc105)+pc/in(tam_TAB)
+ $pcmodels tam(TSCII) = pc/pc(%m)+pc/in(tam_TSCII)
+ * tam(TSCII) = pc/pc(pc105)+pc/in(tam_TSCII)
+ $pcmodels tel(basic) = pc/pc(%m)+pc/in(tel)
+ * tel(basic) = pc/pc(pc105)+pc/in(tel)
+ $pcmodels yu(basic) = pc/pc(%m)+pc/srp(latin)
+ * yu(basic) = pc/pc(pc105)+pc/srp(latin)
+ $pcmodels yu(unicode) = pc/pc(%m)+pc/srp(latinunicode)
+ * yu(unicode) = pc/pc(pc105)+pc/srp(latinunicode)
+ $pcmodels yu(yz) = pc/pc(%m)+pc/srp(latinyz)
+ * yu(yz) = pc/pc(pc105)+pc/srp(latinyz)
+ $pcmodels yu(unicodeyz) = pc/pc(%m)+pc/srp(latinunicodeyz)
+ * yu(unicodeyz) = pc/pc(pc105)+pc/srp(latinunicodeyz)
+ $pcmodels * = pc/pc(%m)+pc/%l[1]%(v[1])
+ * * = pc/pc(pc105)+pc/%l[1]%(v[1])
+
+! model layout[1] variant[1] = symbols
+ $pcmodels ben basic = pc/pc(%m)+pc/in(ben)
+ * ben basic = pc/pc(pc105)+pc/in(ben)
+ $pcmodels ben probhat = pc/pc(%m)+pc/in(ben_probhat)
+ * ben probhat = pc/pc(pc105)+pc/in(ben_probhat)
+ $pcmodels dev basic = pc/pc(%m)+pc/in(deva)
+ * dev basic = pc/pc(pc105)+pc/in(deva)
+ $pcmodels dvorak gb = pc/pc(%m)+pc/gb(dvorak)
+ * dvorak gb = pc/pc(pc105)+pc/gb(dvorak)
+ $pcmodels dvorak fr = pc/pc(%m)+pc/fr(dvorak)
+ * dvorak fr = pc/pc(pc105)+pc/fr(dvorak)
+ $pcmodels dvorak no = pc/pc(%m)+pc/no(dvorak)
+ * dvorak no = pc/pc(pc105)+pc/no(dvorak)
+ $pcmodels dvorak se = pc/pc(%m)+pc/se(dvorak)
+ * dvorak se = pc/pc(pc105)+pc/se(dvorak)
+ $pcmodels dvorak basic = pc/pc(%m)+pc/us(dvorak)
+ * dvorak basic = pc/pc(pc105)+pc/us(dvorak)
+ $pcmodels dvorak pl_basic = pc/pc(%m)+pc/pl(dvorak)
+ * dvorak pl_basic = pc/pc(pc105)+pc/pl(dvorak)
+ $pcmodels dvorak pl = pc/pc(%m)+pc/pl(dvorak_quotes)
+ * dvorak pl = pc/pc(pc105)+pc/pl(dvorak_quotes)
+ $pcmodels dvorak pl_altquotes = pc/pc(%m)+pc/pl(dvorak_altquotes)
+ * dvorak pl_altquotes = pc/pc(pc105)+pc/pl(dvorak_altquotes)
+ $pcmodels dz basic = pc/pc(%m)+pc/bt(basic)
+ * dz basic = pc/pc(pc105)+pc/bt(basic)
+ $pcmodels guj basic = pc/pc(%m)+pc/in(guj)
+ * guj basic = pc/pc(pc105)+pc/in(guj)
+ $pcmodels gur basic = pc/pc(%m)+pc/in(guru)
+ * gur basic = pc/pc(pc105)+pc/in(guru)
+ $pcmodels ie laptop = pc/pc(%m)+pc/ie(basic)
+ * ie laptop = pc/pc(pc105)+pc/ie(basic)
+ $pcmodels ie CloGaelachLaptop = pc/pc(%m)+pc/ie(CloGaelach)
+ * ie CloGaelachLaptop = pc/pc(pc105)+pc/ie(CloGaelach)
+ $pcmodels iu basic = pc/pc(%m)+pc/ca(ike)
+ * iu basic = pc/pc(pc105)+pc/ca(ike)
+ $pcmodels lo basic = pc/pc(%m)+pc/la(basic)
+ * lo basic = pc/pc(pc105)+pc/la(basic)
+ $pcmodels kan basic = pc/pc(%m)+pc/in(kan)
+ * kan basic = pc/pc(pc105)+pc/in(kan)
+ $pcmodels mal basic = pc/pc(%m)+pc/in(mal)
+ * mal basic = pc/pc(pc105)+pc/in(mal)
+ $pcmodels mal mlplusnum = pc/pc(%m)+pc/in(mal)
+ * mal mlplusnum = pc/pc(pc105)+pc/in(mal)
+ $pcmodels ogham basic = pc/pc(%m)+pc/ie(ogam)
+ * ogham basic = pc/pc(pc105)+pc/ie(ogam)
+ $pcmodels ogham laptop = pc/pc(%m)+pc/ie(ogam)
+ * ogham laptop = pc/pc(pc105)+pc/ie(ogam)
+ $pcmodels ogham is434 = pc/pc(%m)+pc/ie(ogam_is434)
+ * ogham is434 = pc/pc(pc105)+pc/ie(ogam_is434)
+ $pcmodels ogham is434laptop = pc/pc(%m)+pc/ie(ogam_is434)
+ * ogham is434laptop = pc/pc(pc105)+pc/ie(ogam_is434)
+ $pcmodels ori basic = pc/pc(%m)+pc/in(ori)
+ * ori basic = pc/pc(pc105)+pc/in(ori)
+ $pcmodels sapmi basic = pc/pc(%m)+pc/no(smi)
+ * sapmi basic = pc/pc(pc105)+pc/no(smi)
+ $pcmodels sapmi nodeadkeys = pc/pc(%m)+pc/no(smi_nodeadkeys)
+ * sapmi nodeadkeys = pc/pc(pc105)+pc/no(smi_nodeadkeys)
+ $pcmodels sapmi sefi = pc/pc(%m)+pc/fi(smi)
+ * sapmi sefi = pc/pc(pc105)+pc/fi(smi)
+ $pcmodels sin phonetic-static = pc/pc(%m)+pc/in(sin_phonetic)
+ * sin phonetic-static = pc/pc(pc105)+pc/in(sin_phonetic)
+ $pcmodels syr basic = pc/pc(%m)+pc/sy(syc)
+ * syr basic = pc/pc(pc105)+pc/sy(syc)
+ $pcmodels syr phonetic = pc/pc(%m)+pc/sy(syc_phonetic)
+ * syr phonetic = pc/pc(pc105)+pc/sy(syc_phonetic)
+ $pcmodels tam INSCRIPT = pc/pc(%m)+pc/in(tam)
+ * tam INSCRIPT = pc/pc(pc105)+pc/in(tam)
+ $pcmodels tam UNI = pc/pc(%m)+pc/in(tam_unicode)
+ * tam UNI = pc/pc(pc105)+pc/in(tam_unicode)
+ $pcmodels tam TAB = pc/pc(%m)+pc/in(tam_TAB)
+ * tam TAB = pc/pc(pc105)+pc/in(tam_TAB)
+ $pcmodels tam TSCII = pc/pc(%m)+pc/in(tam_TSCII)
+ * tam TSCII = pc/pc(pc105)+pc/in(tam_TSCII)
+ $pcmodels tel basic = pc/pc(%m)+pc/in(tel)
+ * tel basic = pc/pc(pc105)+pc/in(tel)
+ $pcmodels yu basic = pc/pc(%m)+pc/srp(latin)
+ * yu basic = pc/pc(pc105)+pc/srp(latin)
+ $pcmodels yu unicode = pc/pc(%m)+pc/srp(latinunicode)
+ * yu unicode = pc/pc(pc105)+pc/srp(latinunicode)
+ $pcmodels yu yz = pc/pc(%m)+pc/srp(latinyz)
+ * yu yz = pc/pc(pc105)+pc/srp(latinyz)
+ $pcmodels yu unicodeyz = pc/pc(%m)+pc/srp(latinunicodeyz)
+ * yu unicodeyz = pc/pc(pc105)+pc/srp(latinunicodeyz)
+
+! layout[2] = symbols
+ ar = +pc/ara%(v[2]):2
+ ben = +pc/in(ben):2
+ bs = +pc/ba%(v[2]):2
+ dev = +pc/in(deva):2
+ dvorak = +pc/us(dvorak):2
+ dz = +pc/bt%(v[2]):2
+ el = +pc/gr%(v[2]):2
+ ge_la = +pc/ge%(v[2]):2
+ ge_ru = +pc/ge(ru):2
+ guj = +pc/in(guj):2
+ gur = +pc/in(guru):2
+ iu = +pc/ca(ike):2
+ lo = +pc/la%(v[2]):2
+ kan = +pc/in(kan):2
+ mi = +pc/mao%(v[2]):2
+ mk = +pc/mkd%(v[2]):2
+ ml = +pc/in(mal):2
+ ogham = +pc/ie(ogam):2
+ ori = +pc/ie(ori):2
+ sapmi = +pc/no(smi):2
+ sr = +pc/srp%(v[2]):2
+ syr = +pc/sy(syc):2
+ tel = +pc/in(tel):2
+ tml = +pc/in(tam):2
+ yu = +pc/srp%(v[2]):2
+ ben(basic) = +pc/in(ben):2
+ ben(probhat) = +pc/in(ben_probhat):2
+ dev(basic) = +pc/in(deva):2
+ dvorak(gb) = +pc/gb(dvorak):2
+ dvorak(fr) = +pc/fr(dvorak):2
+ dvorak(no) = +pc/no(dvorak):2
+ dvorak(se) = +pc/se(dvorak):2
+ dvorak(basic) = +pc/us(dvorak):2
+ dvorak(pl_basic) = +pc/pl(dvorak):2
+ dvorak(pl) = +pc/pl(dvorak_quotes):2
+ dvorak(pl_altquotes) = +pc/pl(dvorak_altquotes):2
+ dz(basic) = +pc/bt(basic):2
+ guj(basic) = +pc/in(guj):2
+ gur(basic) = +pc/in(guru):2
+ ie(laptop) = +pc/ie(basic):2
+ ie(CloGaelachLaptop) = +pc/ie(CloGaelach):2
+ iu(basic) = +pc/ca(ike):2
+ lo(basic) = +pc/la(basic):2
+ kan(basic) = +pc/in(kan):2
+ mal(basic) = +pc/in(mal):2
+ mal(mlplusnum) = +pc/in(mal):2
+ ogham(basic) = +pc/ie(ogam):2
+ ogham(laptop) = +pc/ie(ogam):2
+ ogham(is434) = +pc/ie(ogam_is434):2
+ ogham(is434laptop) = +pc/ie(ogam_is434):2
+ ori(basic) = +pc/in(ori):2
+ sapmi(basic) = +pc/no(smi):2
+ sapmi(nodeadkeys) = +pc/no(smi_nodeadkeys):2
+ sapmi(sefi) = +pc/fi(smi):2
+ sin(phonetic-static) = +pc/in(sin_phonetic):2
+ syr(basic) = +pc/sy(syc):2
+ syr(phonetic) = +pc/sy(syc_phonetic):2
+ tam(INSCRIPT) = +pc/in(tam):2
+ tam(UNI) = +pc/in(tam_unicode):2
+ tam(TAB) = +pc/in(tam_TAB):2
+ tam(TSCII) = +pc/in(tam_TSCII):2
+ tel(basic) = +pc/in(tel):2
+ yu(basic) = +pc/srp(latin):2
+ yu(unicode) = +pc/srp(latinunicode):2
+ yu(yz) = +pc/srp(latinyz):2
+ yu(unicodeyz) = +pc/srp(latinunicodeyz):2
+ * = +pc/%l[2]%(v[2]):2
+
+! layout[3] = symbols
+ ar = +pc/ara%(v[3]):3
+ ben = +pc/in(ben)%(v[3]):3
+ bs = +pc/ba%(v[3]):3
+ dev = +pc/in(deva)%(v[3]):3
+ dvorak = +pc/us(dvorak)%(v[3]):3
+ dz = +pc/bt%(v[3]):3
+ el = +pc/gr%(v[3]):3
+ ge_la = +pc/ge%(v[3]):3
+ ge_ru = +pc/ge(ru)%(v[3]):3
+ guj = +pc/in(guj)%(v[3]):3
+ gur = +pc/in(guru)%(v[3]):3
+ iu = +pc/ca(ike)%(v[3]):3
+ lo = +pc/la%(v[3]):3
+ kan = +pc/in(kan)%(v[3]):3
+ mi = +pc/mao%(v[3]):3
+ mk = +pc/mkd%(v[3]):3
+ ml = +pc/in(mal)%(v[3]):3
+ ogham = +pc/ie(ogam)%(v[3]):3
+ ori = +pc/ie(ori)%(v[3]):3
+ sapmi = +pc/no(smi)%(v[3]):3
+ sr = +pc/srp%(v[3]):3
+ syr = +pc/sy(syc)%(v[3]):3
+ tel = +pc/in(tel)%(v[3]):3
+ tml = +pc/in(tam)%(v[3]):3
+ yu = +pc/srp%(v[3]):3
+ ben(basic) = +pc/in(ben):3
+ ben(probhat) = +pc/in(ben_probhat):3
+ dev(basic) = +pc/in(deva):3
+ dvorak(gb) = +pc/gb(dvorak):3
+ dvorak(fr) = +pc/fr(dvorak):3
+ dvorak(no) = +pc/no(dvorak):3
+ dvorak(se) = +pc/se(dvorak):3
+ dvorak(basic) = +pc/us(dvorak):3
+ dvorak(pl_basic) = +pc/pl(dvorak):3
+ dvorak(pl) = +pc/pl(dvorak_quotes):3
+ dvorak(pl_altquotes) = +pc/pl(dvorak_altquotes):3
+ dz(basic) = +pc/bt(basic):3
+ guj(basic) = +pc/in(guj):3
+ gur(basic) = +pc/in(guru):3
+ ie(laptop) = +pc/ie(basic):3
+ ie(CloGaelachLaptop) = +pc/ie(CloGaelach):3
+ iu(basic) = +pc/ca(ike):3
+ lo(basic) = +pc/la(basic):3
+ kan(basic) = +pc/in(kan):3
+ mal(basic) = +pc/in(mal):3
+ mal(mlplusnum) = +pc/in(mal):3
+ ogham(basic) = +pc/ie(ogam):3
+ ogham(laptop) = +pc/ie(ogam):3
+ ogham(is434) = +pc/ie(ogam_is434):3
+ ogham(is434laptop) = +pc/ie(ogam_is434):3
+ ori(basic) = +pc/in(ori):3
+ sapmi(basic) = +pc/no(smi):3
+ sapmi(nodeadkeys) = +pc/no(smi_nodeadkeys):3
+ sapmi(sefi) = +pc/fi(smi):3
+ sin(phonetic-static) = +pc/in(sin_phonetic):3
+ syr(basic) = +pc/sy(syc):3
+ syr(phonetic) = +pc/sy(syc_phonetic):3
+ tam(INSCRIPT) = +pc/in(tam):3
+ tam(UNI) = +pc/in(tam_unicode):3
+ tam(TAB) = +pc/in(tam_TAB):3
+ tam(TSCII) = +pc/in(tam_TSCII):3
+ tel(basic) = +pc/in(tel):3
+ yu(basic) = +pc/srp(latin):3
+ yu(unicode) = +pc/srp(latinunicode):3
+ yu(yz) = +pc/srp(latinyz):3
+ yu(unicodeyz) = +pc/srp(latinunicodeyz):3
+ * = +pc/%l[3]%(v[3]):3
+
+! layout[4] = symbols
+ ar = +pc/ara%(v[4]):4
+ ben = +pc/in(ben)%(v[4]):4
+ bs = +pc/ba%(v[4]):4
+ dev = +pc/in(deva)%(v[4]):4
+ dvorak = +pc/us(dvorak)%(v[4]):4
+ dz = +pc/bt%(v[4]):4
+ el = +pc/gr%(v[4]):4
+ ge_la = +pc/ge%(v[4]):4
+ ge_ru = +pc/ge(ru)%(v[4]):4
+ guj = +pc/in(guj)%(v[4]):4
+ gur = +pc/in(guru)%(v[4]):4
+ iu = +pc/ca(ike)%(v[4]):4
+ lo = +pc/la%(v[4]):4
+ kan = +pc/in(kan)%(v[4]):4
+ mi = +pc/mao%(v[4]):4
+ mk = +pc/mkd%(v[4]):4
+ ml = +pc/in(mal)%(v[4]):4
+ ogham = +pc/ie(ogam)%(v[4]):4
+ ori = +pc/ie(ori)%(v[4]):4
+ sapmi = +pc/no(smi)%(v[4]):4
+ sr = +pc/srp%(v[4]):4
+ syr = +pc/sy(syc)%(v[4]):4
+ tel = +pc/in(tel)%(v[4]):4
+ tml = +pc/in(tam)%(v[4]):4
+ yu = +pc/srp%(v[4]):4
+ ben(basic) = +pc/in(ben):4
+ ben(probhat) = +pc/in(ben_probhat):4
+ dev(basic) = +pc/in(deva):4
+ dvorak(gb) = +pc/gb(dvorak):4
+ dvorak(fr) = +pc/fr(dvorak):4
+ dvorak(no) = +pc/no(dvorak):4
+ dvorak(se) = +pc/se(dvorak):4
+ dvorak(basic) = +pc/us(dvorak):4
+ dvorak(pl_basic) = +pc/pl(dvorak):4
+ dvorak(pl) = +pc/pl(dvorak_quotes):4
+ dvorak(pl_altquotes) = +pc/pl(dvorak_altquotes):4
+ dz(basic) = +pc/bt(basic):4
+ guj(basic) = +pc/in(guj):4
+ gur(basic) = +pc/in(guru):4
+ ie(laptop) = +pc/ie(basic):4
+ ie(CloGaelachLaptop) = +pc/ie(CloGaelach):4
+ iu(basic) = +pc/ca(ike):4
+ lo(basic) = +pc/la(basic):4
+ kan(basic) = +pc/in(kan):4
+ mal(basic) = +pc/in(mal):4
+ mal(mlplusnum) = +pc/in(mal):4
+ ogham(basic) = +pc/ie(ogam):4
+ ogham(laptop) = +pc/ie(ogam):4
+ ogham(is434) = +pc/ie(ogam_is434):4
+ ogham(is434laptop) = +pc/ie(ogam_is434):4
+ ori(basic) = +pc/in(ori):4
+ sapmi(basic) = +pc/no(smi):4
+ sapmi(nodeadkeys) = +pc/no(smi_nodeadkeys):4
+ sapmi(sefi) = +pc/fi(smi):4
+ sin(phonetic-static) = +pc/in(sin_phonetic):4
+ syr(basic) = +pc/sy(syc):4
+ syr(phonetic) = +pc/sy(syc_phonetic):4
+ tam(INSCRIPT) = +pc/in(tam):4
+ tam(UNI) = +pc/in(tam_unicode):4
+ tam(TAB) = +pc/in(tam_TAB):4
+ tam(TSCII) = +pc/in(tam_TSCII):4
+ tel(basic) = +pc/in(tel):4
+ yu(basic) = +pc/srp(latin):4
+ yu(unicode) = +pc/srp(latinunicode):4
+ yu(yz) = +pc/srp(latinyz):4
+ yu(unicodeyz) = +pc/srp(latinunicodeyz):4
+ * = +pc/%l[4]%(v[4]):4
+
+! layout[2] variant[2] = symbols
+ ben basic = +pc/in(ben):2
+ ben probhat = +pc/in(ben_probhat):2
+ dev basic = +pc/in(deva):2
+ dvorak gb = +pc/gb(dvorak):2
+ dvorak fr = +pc/fr(dvorak):2
+ dvorak no = +pc/no(dvorak):2
+ dvorak se = +pc/se(dvorak):2
+ dvorak basic = +pc/us(dvorak):2
+ dvorak pl_basic = +pc/pl(dvorak):2
+ dvorak pl = +pc/pl(dvorak_quotes):2
+ dvorak pl_altquotes = +pc/pl(dvorak_altquotes):2
+ dz basic = +pc/bt(basic):2
+ guj basic = +pc/in(guj):2
+ gur basic = +pc/in(guru):2
+ ie laptop = +pc/ie(basic):2
+ ie CloGaelachLaptop = +pc/ie(CloGaelach):2
+ iu basic = +pc/ca(ike):2
+ lo basic = +pc/la(basic):2
+ kan basic = +pc/in(kan):2
+ mal basic = +pc/in(mal):2
+ mal mlplusnum = +pc/in(mal):2
+ ogham basic = +pc/ie(ogam):2
+ ogham laptop = +pc/ie(ogam):2
+ ogham is434 = +pc/ie(ogam_is434):2
+ ogham is434laptop = +pc/ie(ogam_is434):2
+ ori basic = +pc/in(ori):2
+ sapmi basic = +pc/no(smi):2
+ sapmi nodeadkeys = +pc/no(smi_nodeadkeys):2
+ sapmi sefi = +pc/fi(smi):2
+ sin phonetic-static = +pc/in(sin_phonetic):2
+ syr basic = +pc/sy(syc):2
+ syr phonetic = +pc/sy(syc_phonetic):2
+ tam INSCRIPT = +pc/in(tam):2
+ tam UNI = +pc/in(tam_unicode):2
+ tam TAB = +pc/in(tam_TAB):2
+ tam TSCII = +pc/in(tam_TSCII):2
+ tel basic = +pc/in(tel):2
+ yu basic = +pc/srp(latin):2
+ yu unicode = +pc/srp(latinunicode):2
+ yu yz = +pc/srp(latinyz):2
+ yu unicodeyz = +pc/srp(latinunicodeyz):2
+
+! layout[3] variant[3] = symbols
+ ben basic = +pc/in(ben):3
+ ben probhat = +pc/in(ben_probhat):3
+ dev basic = +pc/in(deva):3
+ dvorak gb = +pc/gb(dvorak):3
+ dvorak fr = +pc/fr(dvorak):3
+ dvorak no = +pc/no(dvorak):3
+ dvorak se = +pc/se(dvorak):3
+ dvorak basic = +pc/us(dvorak):3
+ dvorak pl_basic = +pc/pl(dvorak):3
+ dvorak pl = +pc/pl(dvorak_quotes):3
+ dvorak pl_altquotes = +pc/pl(dvorak_altquotes):3
+ dz basic = +pc/bt(basic):3
+ guj basic = +pc/in(guj):3
+ gur basic = +pc/in(guru):3
+ ie laptop = +pc/ie(basic):3
+ ie CloGaelachLaptop = +pc/ie(CloGaelach):3
+ iu basic = +pc/ca(ike):3
+ lo basic = +pc/la(basic):3
+ kan basic = +pc/in(kan):3
+ mal basic = +pc/in(mal):3
+ mal mlplusnum = +pc/in(mal):3
+ ogham basic = +pc/ie(ogam):3
+ ogham laptop = +pc/ie(ogam):3
+ ogham is434 = +pc/ie(ogam_is434):3
+ ogham is434laptop = +pc/ie(ogam_is434):3
+ ori basic = +pc/in(ori):3
+ sapmi basic = +pc/no(smi):3
+ sapmi nodeadkeys = +pc/no(smi_nodeadkeys):3
+ sapmi sefi = +pc/fi(smi):3
+ sin phonetic-static = +pc/in(sin_phonetic):3
+ syr basic = +pc/sy(syc):3
+ syr phonetic = +pc/sy(syc_phonetic):3
+ tam INSCRIPT = +pc/in(tam):3
+ tam UNI = +pc/in(tam_unicode):3
+ tam TAB = +pc/in(tam_TAB):3
+ tam TSCII = +pc/in(tam_TSCII):3
+ tel basic = +pc/in(tel):3
+ yu basic = +pc/srp(latin):3
+ yu unicode = +pc/srp(latinunicode):3
+ yu yz = +pc/srp(latinyz):3
+ yu unicodeyz = +pc/srp(latinunicodeyz):3
+
+! layout[4] variant[4] = symbols
+ ben basic = +pc/in(ben):4
+ ben probhat = +pc/in(ben_probhat):4
+ dev basic = +pc/in(deva):4
+ dvorak gb = +pc/gb(dvorak):4
+ dvorak fr = +pc/fr(dvorak):4
+ dvorak no = +pc/no(dvorak):4
+ dvorak se = +pc/se(dvorak):4
+ dvorak basic = +pc/us(dvorak):4
+ dvorak pl_basic = +pc/pl(dvorak):4
+ dvorak pl = +pc/pl(dvorak_quotes):4
+ dvorak pl_altquotes = +pc/pl(dvorak_altquotes):4
+ dz basic = +pc/bt(basic):4
+ guj basic = +pc/in(guj):4
+ gur basic = +pc/in(guru):4
+ ie laptop = +pc/ie(basic):4
+ ie CloGaelachLaptop = +pc/ie(CloGaelach):4
+ iu basic = +pc/ca(ike):4
+ lo basic = +pc/la(basic):4
+ kan basic = +pc/in(kan):4
+ mal basic = +pc/in(mal):4
+ mal mlplusnum = +pc/in(mal):4
+ ogham basic = +pc/ie(ogam):4
+ ogham laptop = +pc/ie(ogam):4
+ ogham is434 = +pc/ie(ogam_is434):4
+ ogham is434laptop = +pc/ie(ogam_is434):4
+ ori basic = +pc/in(ori):4
+ sapmi basic = +pc/no(smi):4
+ sapmi nodeadkeys = +pc/no(smi_nodeadkeys):4
+ sapmi sefi = +pc/fi(smi):4
+ sin phonetic-static = +pc/in(sin_phonetic):4
+ syr basic = +pc/sy(syc):4
+ syr phonetic = +pc/sy(syc_phonetic):4
+ tam INSCRIPT = +pc/in(tam):4
+ tam UNI = +pc/in(tam_unicode):4
+ tam TAB = +pc/in(tam_TAB):4
+ tam TSCII = +pc/in(tam_TSCII):4
+ tel basic = +pc/in(tel):4
+ yu basic = +pc/srp(latin):4
+ yu unicode = +pc/srp(latinunicode):4
+ yu yz = +pc/srp(latinyz):4
+ yu unicodeyz = +pc/srp(latinunicodeyz):4
+
+! model = symbols
+ $inetkbds = +inet(%m)
+
+! model layout = compat
+ pc98 nec/jp = pc98(basic)
+ * * = complete
+
+! model layout[1] = compat
+ * * = complete
+
+! model = types
+ * = complete
+
+! option = symbols
+ grp:switch = +group(switch)
+ grp:lswitch = +group(lswitch)
+ grp:win_switch = +group(win_switch)
+ grp:lwin_switch = +group(lwin_switch)
+ grp:rwin_switch = +group(rwin_switch)
+ grp:toggle = +group(toggle)
+ grp:shifts_toggle = +group(shifts_toggle)
+ grp:ctrls_toggle = +group(ctrls_toggle)
+ grp:alts_toggle = +group(alts_toggle)
+ grp:ctrl_shift_toggle = +group(ctrl_shift_toggle)
+ grp:caps_toggle = +group(caps_toggle)
+ grp:shift_caps_toggle = +group(shift_caps_toggle)
+ grp:ctrl_alt_toggle = +group(ctrl_alt_toggle)
+ grp:alt_shift_toggle = +group(alt_shift_toggle)
+ grp:menu_toggle = +group(menu_toggle)
+ grp:lwin_toggle = +group(lwin_toggle)
+ grp:rwin_toggle = +group(rwin_toggle)
+ grp:lshift_toggle = +group(lshift_toggle)
+ grp:rshift_toggle = +group(rshift_toggle)
+ grp:lctrl_toggle = +group(lctrl_toggle)
+ grp:rctrl_toggle = +group(rctrl_toggle)
+ grp:lalt_toggle = +group(lalt_toggle)
+ lv3:switch = +level3(switch)
+ lv3:ralt_switch = +level3(ralt_switch)
+ lv3:lalt_switch = +level3(lalt_switch)
+ lv3:alt_switch = +level3(alt_switch)
+ lv3:menu_switch = +level3(menu_switch)
+ lv3:win_switch = +level3(win_switch)
+ lv3:lwin_switch = +level3(lwin_switch)
+ lv3:rwin_switch = +level3(rwin_switch)
+ caps:capslock = +capslock(capslock)
+ caps:shiftlock = +capslock(shiftlock)
+ caps:grouplock = +capslock(grouplock)
+ ctrl:nocaps = +ctrl(nocaps)
+ ctrl:swapcaps = +ctrl(swapcaps)
+ ctrl:ctrl_ac = +ctrl(ctrl_ac)
+ ctrl:ctrl_aa = +ctrl(ctrl_aa)
+ ctrl:ctrl_ra = +ctrl(ctrl_ra)
+ altwin:menu = +altwin(menu)
+ altwin:meta_alt = +altwin(meta_alt)
+ altwin:meta_win = +altwin(meta_win)
+ altwin:left_meta_win = +altwin(left_meta_win)
+ altwin:super_win = +altwin(super_win)
+ altwin:hyper_win = +altwin(hyper_win)
+ altwin:alt_super_win = +altwin(alt_super_win)
+ compose:ralt = +compose(ralt)
+ compose:rwin = +compose(rwin)
+ compose:menu = +compose(menu)
+ compose:rctrl = +compose(rctrl)
+ srvrkeys:none = +srvr_ctrl(no_srvr_keys)
+ eurosign:e = +eurosign(e)
+ eurosign:5 = +eurosign(5)
+ eurosign:2 = +eurosign(2)
+ grp:switch = +group(switch)
+ grp:lswitch = +group(lswitch)
+ grp:win_switch = +group(win_switch)
+ grp:lwin_switch = +group(lwin_switch)
+ grp:rwin_switch = +group(rwin_switch)
+ grp:toggle = +group(toggle)
+ grp:shifts_toggle = +group(shifts_toggle)
+ grp:ctrls_toggle = +group(ctrls_toggle)
+ grp:alts_toggle = +group(alts_toggle)
+ grp:ctrl_shift_toggle = +group(ctrl_shift_toggle)
+ grp:caps_toggle = +group(caps_toggle)
+ grp:shift_caps_toggle = +group(shift_caps_toggle)
+ grp:ctrl_alt_toggle = +group(ctrl_alt_toggle)
+ grp:alt_shift_toggle = +group(alt_shift_toggle)
+ grp:menu_toggle = +group(menu_toggle)
+ grp:lwin_toggle = +group(lwin_toggle)
+ grp:rwin_toggle = +group(rwin_toggle)
+ grp:lshift_toggle = +group(lshift_toggle)
+ grp:rshift_toggle = +group(rshift_toggle)
+ grp:lctrl_toggle = +group(lctrl_toggle)
+ grp:rctrl_toggle = +group(rctrl_toggle)
+ grp:lalt_toggle = +group(lalt_toggle)
+ lv3:switch = +level3(switch)
+ lv3:ralt_switch = +level3(ralt_switch)
+ lv3:lalt_switch = +level3(lalt_switch)
+ lv3:alt_switch = +level3(alt_switch)
+ lv3:menu_switch = +level3(menu_switch)
+ lv3:win_switch = +level3(win_switch)
+ lv3:lwin_switch = +level3(lwin_switch)
+ lv3:rwin_switch = +level3(rwin_switch)
+ caps:capslock = +capslock(capslock)
+ caps:shiftlock = +capslock(shiftlock)
+ caps:grouplock = +capslock(grouplock)
+ ctrl:nocaps = +ctrl(nocaps)
+ ctrl:swapcaps = +ctrl(swapcaps)
+ ctrl:ctrl_ac = +ctrl(ctrl_ac)
+ ctrl:ctrl_aa = +ctrl(ctrl_aa)
+ ctrl:ctrl_ra = +ctrl(ctrl_ra)
+ altwin:menu = +altwin(menu)
+ altwin:meta_alt = +altwin(meta_alt)
+ altwin:meta_win = +altwin(meta_win)
+ altwin:left_meta_win = +altwin(left_meta_win)
+ altwin:super_win = +altwin(super_win)
+ altwin:hyper_win = +altwin(hyper_win)
+ altwin:alt_super_win = +altwin(alt_super_win)
+ compose:ralt = +compose(ralt)
+ compose:rwin = +compose(rwin)
+ compose:menu = +compose(menu)
+ compose:rctrl = +compose(rctrl)
+ srvrkeys:none = +srvr_ctrl(no_srvr_keys)
+ eurosign:e = +eurosign(e)
+ eurosign:5 = +eurosign(5)
+ eurosign:2 = +eurosign(2)
+
+! option = compat
+ grp_led:num = +lednum(group_lock)
+ grp_led:caps = +ledcaps(group_lock)
+ grp_led:scroll = +ledscroll(group_lock)
+ grp:caps_toggle = +ledcaps(group_lock)
+
+! option = types
+ caps:internal = +caps(internal)
+ caps:internal_nocancel = +caps(internal_nocancel)
+ caps:shift = +caps(shift)
+ caps:shift_nocancel = +caps(shift_nocancel)
+ numpad:microsoft = +numpad(microsoft)
diff --git a/data/xkbdata/rules/xorg-it.lst b/data/xkbdata/rules/xorg-it.lst
new file mode 100644
index 000000000..31f47b954
--- /dev/null
+++ b/data/xkbdata/rules/xorg-it.lst
@@ -0,0 +1,50 @@
+// $Xorg: xfree86-it.lst,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+//
+// Elenco dei modelli e dei lingauggi
+// Copyright 1996 by Joseph Moss
+//
+
+! model
+ microsoft Microsoft Natural
+ dell101 Dell 101-key PC
+ flexpro Keytronic FlexPro
+ omnikey101 Northgate OmniKey 101
+ pc101 101-key PC Generico
+ pc102 102-key (Intl) PC Generico
+ pc104 104-key PC Generico
+ pc105 105-key (Intl) PC Generico
+ jp106 106-key Giapponese
+ everex Everex STEPnote
+ winbook Winbook Modello XP5
+ pc98 PC-98xx Series
+
+! layout
+ us Inglese Statunitense
+ en_US U.S. Inglese + ISO9995-3
+ be Belga
+ bg Bulgaro
+ ca Canadese
+ cz Ceco
+ cz_qwerty Ceco (qwerty)
+ de Tedesco
+ de_CH Tedesco Svizzero
+ dk Danese
+ es Spagnolo
+ fi Finlandese
+ fr Francese
+ fr_CH Francese Svizzero
+ gb Regno Unito
+ hu Ungherese
+ hu_qwerty Ungherese (qwerty)
+ it Italiano
+ jp Giapponese
+ no Norvegese
+ pl Polacco
+ pt Portoghese
+ ru Russo
+ se Svedese
+ sk Slovacco
+ sk_qwerty Slovacco (qwerty)
+ th Tailandese
+ nec/jp nec/jp(pc98)
diff --git a/data/xkbdata/rules/xorg.lst b/data/xkbdata/rules/xorg.lst
new file mode 100644
index 000000000..f93a52edf
--- /dev/null
+++ b/data/xkbdata/rules/xorg.lst
@@ -0,0 +1,410 @@
+// $XdotOrg: xc/programs/xkbcomp/rules/xorg.lst,v 1.2 2004/04/23 19:54:52 eich Exp $
+// $Xorg: xfree86.lst,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+! model
+ pc101 Generic 101-key PC
+ pc102 Generic 102-key (Intl) PC
+ pc104 Generic 104-key PC
+ pc105 Generic 105-key (Intl) PC
+ dell101 Dell 101-key PC
+ everex Everex STEPnote
+ flexpro Keytronic FlexPro
+ microsoft Microsoft Natural
+ omnikey101 Northgate OmniKey 101
+ winbook Winbook Model XP5
+ jp106 Japanese 106-key
+ pc98 PC-98xx Series
+ a4techKB21 A4Tech KB-21
+ a4techKBS8 A4Tech KBS-8
+ abnt2 Brazilian ABNT2
+ airkey Acer AirKey V
+ acpi ACPI Standard
+ azonaRF2300 Azona RF2300 wireless Internet Keyboard
+ scorpius Advance Scorpius KI
+ brother Brother Internet Keyboard
+ btc5113rf BTC 5113RF Multimedia
+ btc5126t BTC 5126T
+ btc9000 BTC 9000
+ btc9000a BTC 9000A
+ btc9001ah BTC 9001AH
+ btc5090 BTC 5090
+ cherryblue Cherry Blue Line CyBo@rd
+ cherryblueb Cherry CyMotion Master XPress
+ cherrybluea Cherry Blue Line CyBo@rd (alternate option)
+ chicony Chicony Internet Keyboard
+ chicony9885 Chicony KB-9885
+ compaqeak8 Compaq Easy Access Keyboard
+ compaqik7 Compaq Internet Keyboard (7 keys)
+ compaqik13 Compaq Internet Keyboard (13 keys)
+ compaqik18 Compaq Internet Keyboard (18 keys)
+ cymotionlinux Cherry CyMotion Master Linux
+ armada Laptop/notebook Compaq (eg. Armada) Laptop Keyboard
+ presario Laptop/notebook Compaq (eg. Presario) Internet Keyboard
+ ipaq Compaq iPaq Keyboard
+ dell Dell
+ inspiron Laptop/notebook Dell Inspiron 8xxx
+ dexxa Dexxa Wireless Desktop Keyboard
+ diamond Diamond 9801 / 9802 series
+ dtk2000 DTK2000
+ ennyah_dkb1008 Ennyah DKB-1008
+ genius Genius Comfy KB-16M / Genius MM Keyboard KWD-910
+ geniuscomfy2 Genius Comfy KB-21e-Scroll
+ gyration Gyration
+ hpi6 Hewlett-Packard Internet Keyboard
+ hp2501 Hewlett-Packard SK-2501 Multimedia Keyboard
+ hp2505 Hewlett-Packard SK-2505 Internet Keyboard
+ hpxe3gc Hewlett-Packard Omnibook XE3 GC
+ hpxe3gf Hewlett-Packard Omnibook XE3 GF
+ hpxt1000 Hewlett-Packard Omnibook XT1000
+ hpzt11xx Hewlett-Packard Pavilion ZT11xx
+ hp500fa Hewlett-Packard Omnibook 500 FA
+ hp5xx Hewlett-Packard Omnibook 5xx
+ hp6000 Hewlett-Packard Omnibook 6000/6100
+ honeywell_euroboard Honeywell Euroboard
+ rapidaccess IBM Rapid Access
+ rapidaccess2 IBM Rapid Access II
+ rapidaccess2a IBM Rapid Access II (alternate option)
+ thinkpad IBM ThinkPad 560Z/600/600E/A22E
+ logiaccess Logitech Access Keyboard
+ ltcd Logitech Cordless Desktop
+ logicdit Logitech Cordless Desktop iTouch
+ logicdp Logitech Cordless Desktop Pro
+ logicdpa Logitech Cordless Desktop Pro (alternate option)
+ logicdpa2 Logitech Cordless Desktop Pro (alternate option2)
+ logicdo Logitech Cordless Desktop Optical
+ logicfn Logitech Cordless Freedom/Desktop Navigator
+ logicdn Logitech Cordless Desktop Navigator
+ logidak Logitech Deluxe Access Keyboard
+ logiitc Logitech iTouch Cordless Keyboard (model Y-RB6)
+ logiik Logitech Internet Keyboard
+ itouch Logitech iTouch
+ logiitc Logitech iTouch Cordless Keyboard (model Y-RB6)
+ logiik Logitech Internet Keyboard
+ logiink Logitech Internet Navigator Keyboard
+ itouchin Logitech iTouch keyboard Internet Navigator
+ logiultrax Logitech Ultra-X Keyboard
+ mx1998 Memorex MX1998
+ mx2500 Memorex MX2500 EZ-Access Keyboard
+ mx2750 Memorex MX2750
+ microsoftinet Microsoft Internet Keyboard
+ microsoftpro Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro
+ microsoftprousb Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro
+ microsoftprooem Microsoft Natural Keyboard Pro OEM
+ microsoftprose Microsoft Internet Keyboard Pro, Swedish
+ microsoftoffice Microsoft Office Keyboard
+ microsoftmult Microsoft Wireless Multimedia Keyboard 1.0A
+ oretec Oretec MCK-800 MM/Internet keyboard
+ propeller Propeller Voyager (KTEZ-1000)
+ qtronix QTronix Scorpius 98N+
+ samsung4500 Samsung SDM 4500P
+ samsung4510 Samsung SDM 4510P
+ sk1300 SK-1300
+ sk2500 SK-2500
+ sk6200 SK-6200
+ sk7100 SK-7100
+ sp_inet Super Power Multimedia Keyboard
+ sven SVEN Ergonomic 2500
+ symplon Symplon PaceBook (tablet PC)
+ toshiba_s3000 Toshiba Satellite S3000
+ trust Trust Wireless Keyboard Classic
+ trustda Trust Direct Access Keyboard
+ yahoo Yahoo! Internet Keyboard
+ macintosh Macintosh
+ macintosh_old Macintosh Old
+ powerpcps2 PowerPC PS/2
+ acer_tm_800 Acer TravelMate 800
+
+! layout
+ us U.S. English
+ ara Arabic
+ al Albania
+ am Armenia
+ az Azerbaijan
+ by Belarus
+ be Belgium
+ bd Bangladesh
+ in India
+ ba Bosnia and Herzegovina
+ br Brazil
+ bg Bulgaria
+ mm Myanmar
+ ca Canada
+ hr Croatia
+ cz Czechia
+ dk Denmark
+ nl Netherlands
+ bt Bhutan
+ ee Estonia
+ ir Iran
+ fo Faroe Islands
+ fi Finland
+ fr France
+ ge Georgia
+ de Germany
+ gr Greece
+ hu Hungary
+ is Iceland
+ il Israel
+ it Italy
+ jp Japan
+ kg Kyrgyzstan
+ la Laos
+ latam Latin American
+ lt Lithuania
+ lv Latvia
+ mao Maori
+ mkd Macedonian
+ mt Malta
+ mn Mongolia
+ no Norway
+ pl Poland
+ pt Portugal
+ ro Romania
+ ru Russia
+ srp Serbian
+ si Slovenia
+ sk Slovakia
+ es Spain
+ se Sweden
+ ch Switzerland
+ sy Syria
+ tj Tajikistan
+ lk Sri Lanka
+ th Thailand
+ tr Turkish
+ ua Ukraine
+ gb United Kingdom
+ uz Uzbekistan
+ vn Vietnam
+ nec_vndr/jp PC-98xx Series
+ ie Ireland
+ pk Pakistan
+
+! variant
+ intl us: International (with dead keys)
+ alt-intl us: Alternative international (former us_intl)
+ dvorak us: Dvorak
+ rus us: Russian phonetic
+ azerty ara: azerty
+ azerty_digits ara: azerty/digits
+ digits ara: digits
+ qwerty ara: qwerty
+ qwerty_digits ara: qwerty/digits
+ phonetic am: Phonetic
+ cyrillic az: Cyrillic
+ winkeys by: Winkeys
+ iso-alternate be: ISO Alternate
+ nodeadkeys be: Eliminate dead keys
+ sundeadkeys be: Sun dead keys
+ probhat bd: Probhat
+ ben in: Bengali
+ ben_probhat in: Bengali Probhat
+ guj in: Gujarati
+ guru in: Gurmukhi
+ kan in: Kannada
+ mal in: Malayalam
+ ori in: Oriya
+ tam_unicode in: Tamil Unicode
+ tam_TAB in: Tamil TAB Typewriter
+ tam_TSCII in: Tamil TSCII Typewriter
+ tam in: Tamil
+ tel in: Telugu
+ urd in: Urdu
+ nodeadkeys br: Eliminate dead keys
+ phonetic bg: Phonetic
+ fr-dvorak ca: French Dvorak
+ fr-legacy ca: French (legacy)
+ multi ca: Multilingual
+ multi-2gr ca: Multilingual, second part
+ ike ca: Inuktitut
+ us hr: US keyboard with Croatian letters
+ bksl cz: With &lt;\|&gt; key
+ qwerty cz: qwerty
+ qwerty_bksl cz: qwerty, extended Backslash
+ nodeadkeys dk: Eliminate dead keys
+ nodeadkeys ee: Eliminate dead keys
+ nodeadkeys fo: Eliminate dead keys
+ nodeadkeys fi: Eliminate dead keys
+ smi fi: Northern Saami
+ nodeadkeys fr: Eliminate dead keys
+ sundeadkeys fr: Sun dead keys
+ latin9 fr: Alternative
+ latin9_nodeadkeys fr: Alternative, eliminate dead keys
+ latin9_sundeadkeys fr: Alternative, Sun dead keys
+ dvorak fr: Dvorak
+ ru ge: Russian
+ deadacute de: Dead acute
+ deadgraveacute de: Dead grave acute
+ nodeadkeys de: Eliminate dead keys
+ ro de: Romanian keyboard with German letters
+ ro_nodeadkeys de: Romanian keyboard with German letters, eliminate dead keys
+ dvorak de: Dvorak
+ extended gr: Extended
+ nodeadkeys gr: Eliminate dead keys
+ polytonic gr: Polytonic
+ standard hu: Standard
+ nodeadkeys hu: Eliminate dead keys
+ qwerty hu: qwerty
+ 101_qwertz_comma_dead hu: 101/qwertz/comma/Dead keys
+ 101_qwertz_comma_nodead hu: 101/qwertz/comma/Eliminate dead keys
+ 101_qwertz_dot_dead hu: 101/qwertz/dot/Dead keys
+ 101_qwertz_dot_nodead hu: 101/qwertz/dot/Eliminate dead keys
+ 101_qwerty_comma_dead hu: 101/qwerty/comma/Dead keys
+ 101_qwerty_comma_nodead hu: 101/qwerty/comma/Eliminate dead keys
+ 101_qwerty_dot_dead hu: 101/qwerty/dot/Dead keys
+ 101_qwerty_dot_nodead hu: 101/qwerty/dot/Eliminate dead keys
+ 102_qwertz_comma_dead hu: 102/qwertz/comma/Dead keys
+ 102_qwertz_comma_nodead hu: 102/qwertz/comma/Eliminate dead keys
+ 102_qwertz_dot_dead hu: 102/qwertz/dot/Dead keys
+ 102_qwertz_dot_nodead hu: 102/qwertz/dot/Eliminate dead keys
+ 102_qwerty_comma_dead hu: 102/qwerty/comma/Dead keys
+ 102_qwerty_comma_nodead hu: 102/qwerty/comma/Eliminate dead keys
+ 102_qwerty_dot_dead hu: 102/qwerty/dot/Dead keys
+ 102_qwerty_dot_nodead hu: 102/qwerty/dot/Eliminate dead keys
+ Sundeadkeys is: Sun dead keys
+ nodeadkeys is: Eliminate dead keys
+ lyx il: lyx
+ si1452 il: si1452
+ phonetic il: Phonetic
+ nodeadkeys it: Eliminate dead keys
+ nodeadkeys latam: Eliminate dead keys
+ sundeadkeys latam: Sun dead keys
+ std lt: "Standard"
+ us lt: US keyboard with Lithuanian letters
+ apostrophe lv: Apostrophe (') variant
+ tilde lv: Tilde (~) variant
+ fkey lv: F-letter (F) variant
+ nodeadkeys mkd: Eliminate dead keys
+ us mt: US keyboard with Maltian letters
+ nodeadkeys no: Eliminate dead keys
+ dvorak no: Dvorak
+ smi no: Northern Saami
+ smi_nodeadkeys no: Northern Saami, eliminate dead keys
+ qwertz pl: qwertz
+ dvorak pl: Dvorak
+ dvorak_quotes pl: Dvorak, Polish quotes on quotemark key
+ dvorak_altquotes pl: Dvorak, Polish quotes on key "1/!"
+ nodeadkeys pt: Eliminate dead keys
+ sundeadkeys pt: Sun dead keys
+ us ro: US keyboard with Romanian letters
+ de ro: Romanian keyboard with German letters
+ phonetic ru: Phonetic
+ typewriter ru: Typewriter
+ winkeys ru: Winkeys
+ yz srp: Z and ZHE swapped
+ latin srp: Latin
+ latinunicode srp: Latin Unicode
+ latinyz srp: Latin qwerty
+ latinunicodeyz srp: Latin Unicode qwerty
+ alternatequotes srp: With guillemots
+ latinalternatequotes srp: Latin with guillemots
+ bksl sk: Extended Backslash
+ qwerty sk: qwerty
+ qwerty_bksl sk: qwerty, extended Backslash
+ nodeadkeys es: Eliminate dead keys
+ sundeadkeys es: Sun dead keys
+ dvorak es: Dvorak
+ nodeadkeys se: Eliminate dead keys
+ dvorak se: Dvorak
+ rus se: Russian phonetic
+ rus_nodeadkeys se: Russian phonetic, eliminate dead keys
+ smi se: Northern Saami
+ de_nodeadkeys ch: German, eliminate dead keys
+ de_sundeadkeys ch: German, Sun dead keys
+ fr ch: French
+ fr_nodeadkeys ch: French, eliminate dead keys
+ fr_sundeadkeys ch: French, Sun dead keys
+ syc sy: Syriac
+ syc_phonetic sy: Syriac phonetic
+ tam_unicode lk: Tamil Unicode
+ tam_TAB lk: Tamil TAB Typewriter
+ tam_TSCII lk: Tamil TSCII Typewriter
+ sin_phonetic lk: Sinhala phonetic
+ tis th: TIS-820.2538
+ pat th: Pattachote
+ f tr: (F)
+ alt tr: Alt-Q
+ phonetic ua: Phonetic
+ typewriter ua: Typewriter
+ winkeys ua: Winkeys
+ rstu ua: Standard RSTU
+ rstu_ru ua: Standard RSTU on Russian layout
+ intl gb: International (with dead keys)
+ dvorak gb: Dvorak
+ CloGaelach ie: CloGaelach
+ UnicodeExpert ie: UnicodeExpert
+ ogam ie: Ogham
+ ogam_is434 ie: Ogham IS434
+
+! option
+ grp Group Shift/Lock behavior
+ grp:switch R-Alt switches group while pressed.
+ grp:lswitch Left Alt key switches group while pressed.
+ grp:lwin_switch Left Win-key switches group while pressed.
+ grp:rwin_switch Right Win-key switches group while pressed.
+ grp:win_switch Both Win-keys switch group while pressed.
+ grp:rctrl_switch Right Ctrl key switches group while pressed.
+ grp:toggle Right Alt key changes group.
+ grp:lalt_toggle Left Alt key changes group.
+ grp:caps_toggle CapsLock key changes group.
+ grp:shift_caps_toggle Shift+CapsLock changes group.
+ grp:shifts_toggle Both Shift keys together change group.
+ grp:alts_toggle Both Alt keys together change group.
+ grp:ctrls_toggle Both Ctrl keys together change group.
+ grp:ctrl_shift_toggle Control+Shift changes group.
+ grp:ctrl_alt_toggle Alt+Control changes group.
+ grp:alt_shift_toggle Alt+Shift changes group.
+ grp:menu_toggle Menu key changes group.
+ grp:lwin_toggle Left Win-key changes group.
+ grp:rwin_toggle Right Win-key changes group.
+ grp:lshift_toggle Left Shift key changes group.
+ grp:rshift_toggle Right Shift key changes group.
+ grp:lctrl_toggle Left Ctrl key changes group.
+ grp:rctrl_toggle Right Ctrl key changes group.
+ lv3 Third level choosers
+ lv3:switch Press Right Control to choose 3rd level.
+ lv3:menu_switch Press Menu key to choose 3rd level.
+ lv3:win_switch Press any of Win-keys to choose 3rd level.
+ lv3:lwin_switch Press Left Win-key to choose 3rd level.
+ lv3:rwin_switch Press Right Win-key to choose 3rd level.
+ lv3:alt_switch Press any of Alt keys to choose 3rd level.
+ lv3:lalt_switch Press Left Alt key to choose 3rd level.
+ lv3:ralt_switch Press Right Alt key to choose 3rd level.
+ ctrl Control key position
+ ctrl:nocaps Make CapsLock an additional Control.
+ ctrl:swapcaps Swap Control and CapsLock.
+ ctrl:ctrl_ac Control key at left of 'A'
+ ctrl:ctrl_aa Control key at bottom left
+ ctrl:ctrl_ra Right Control key works as Right Alt.
+ grp_led Use keyboard LED to show alternative group.
+ grp_led:num NumLock LED shows alternative group.
+ grp_led:caps CapsLock LED shows alternative group.
+ grp_led:scroll ScrollLock LED shows alternative group.
+ caps CapsLock key behavior
+ caps:internal CapsLock uses internal capitalization. Shift cancels CapsLock.
+ caps:internal_nocancel CapsLock uses internal capitalization. Shift doesn't cancel CapsLock.
+ caps:shift CapsLock acts as Shift with locking. Shift cancels CapsLock.
+ caps:shift_nocancel CapsLock acts as Shift with locking. Shift doesn't cancel CapsLock.
+ caps:shift_lock CapsLock just locks the Shift modifier.
+ caps:capslock CapsLock toggles normal capitalization of alphabetic characters.
+ caps:shiftlock CapsLock toggles Shift so all keys are affected.
+ altwin Alt/Win key behavior
+ altwin:menu Add the standard behavior to Menu key.
+ altwin:meta_alt Alt and Meta are on the Alt keys (default).
+ altwin:meta_win Meta is mapped to the Win-keys.
+ altwin:left_meta_win Meta is mapped to the left Win-key.
+ altwin:super_win Super is mapped to the Win-keys (default).
+ altwin:hyper_win Hyper is mapped to the Win-keys.
+ altwin:alt_super_win Alt is mapped to the right Win-key and Super to Menu.
+ Compose key Compose key position
+ compose:ralt Right Alt is Compose.
+ compose:rwin Right Win-key is Compose.
+ compose:menu Menu is Compose.
+ compose:rctrl Right Ctrl is Compose.
+ compat Miscellaneous compatibility options
+ numpad:microsoft Shift with numpad keys works as in MS Windows.
+ srvrkeys:none Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server.
+ eurosign Adding the EuroSign to certain keys
+ eurosign:e Add the EuroSign to the E key.
+ eurosign:5 Add the EuroSign to the 5 key.
+ eurosign:2 Add the EuroSign to the 2 key.
diff --git a/data/xkbdata/rules/xorg.xml b/data/xkbdata/rules/xorg.xml
new file mode 100644
index 000000000..f6820767b
--- /dev/null
+++ b/data/xkbdata/rules/xorg.xml
@@ -0,0 +1,7913 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
+<xkbConfigRegistry>
+ <modelList>
+ <model>
+ <configItem>
+ <name>pc101</name>
+ <description>Generic 101-key PC</description>
+ <description xml:lang="af">Generies 101-sleutel PC</description>
+ <description xml:lang="az">Generic 101-key PC</description>
+ <description xml:lang="bg">Стандартна 101 клавишна PC клавиатура</description>
+ <description xml:lang="cs">Obecné PC 101 kláves</description>
+ <description xml:lang="da">Generisk 101-taster PC</description>
+ <description xml:lang="el">Τυπικός Ηλεκ. Υπολογιστής 101-πλήκτÏων</description>
+ <description xml:lang="en_GB">Generic 101-key PC</description>
+ <description xml:lang="fr">clavier Generic 101-key PC</description>
+ <description xml:lang="hu">általános 101 gombos PC</description>
+ <description xml:lang="nl">Algemeen 101-toetsen PC</description>
+ <description xml:lang="ru">Обычный 101-клавишный PC</description>
+ <description xml:lang="rw">Urufunguzo</description>
+ <description xml:lang="sk">Všeobecná PC 101 kláves</description>
+ <description xml:lang="sq">Generic 101-key PC</description>
+ <description xml:lang="sr">Обична Ñа 101 таÑтером</description>
+ <description xml:lang="sv">Allmän 101-tangenters PC</description>
+ <description xml:lang="tr">Soysal 101 tuÅŸlu PC</description>
+ <description xml:lang="uk">Звичайна 101-клавішна Ð´Ð»Ñ ÐŸÐš</description>
+ <description xml:lang="vi">PC chung 101 phím</description>
+ <description xml:lang="zh_CN">通用 101 键电脑</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>pc102</name>
+ <description>Generic 102-key (Intl) PC</description>
+ <description xml:lang="af">Generies 102-sleutel (Intl) PC</description>
+ <description xml:lang="az">Generic 102-key (Intl) PC</description>
+ <description xml:lang="bg">Стандартна 102 клавишна PC клавиатура</description>
+ <description xml:lang="cs">Obecné PC 102 kláves (mez.)</description>
+ <description xml:lang="da">Generisk 102-taster (Intl) PC</description>
+ <description xml:lang="el">Τυπικός Ηλεκ. Υπολογιστής 102-πλήκτÏων (Διεθνές)</description>
+ <description xml:lang="en_GB">Generic 102-key (Intl) PC</description>
+ <description xml:lang="fr">clavier Generic 102-key (Intl) PC</description>
+ <description xml:lang="hu">általános 102 gombos (nemzetközi) PC</description>
+ <description xml:lang="nl">Algemeen 102-toetsen (internationaal) PC</description>
+ <description xml:lang="ru">Обычный 102-клавишный PC</description>
+ <description xml:lang="rw">Urufunguzo</description>
+ <description xml:lang="sk">Všeobecná PC 102 kláves (medz.)</description>
+ <description xml:lang="sq">Generic 102-key (Intl) PC</description>
+ <description xml:lang="sr">Обична Ñа 102 таÑтера (међунар.)</description>
+ <description xml:lang="sv">Allmän 102-tangenters (internationell) PC</description>
+ <description xml:lang="tr">Soysal 102 tuşlu (Uluslararası) PC</description>
+ <description xml:lang="uk">Звичайна 102-клавішна Ð´Ð»Ñ ÐŸÐš</description>
+ <description xml:lang="vi">PC chung 102 phím (Intl)</description>
+ <description xml:lang="zh_CN">通用 102 键(国际)电脑</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>pc104</name>
+ <description>Generic 104-key PC</description>
+ <description xml:lang="af">Generies 104-sleutel PC</description>
+ <description xml:lang="az">Generic 104-key PC</description>
+ <description xml:lang="bg">Стандартна 104 клавишна PC клавиатура</description>
+ <description xml:lang="cs">Obecné PC 104 kláves</description>
+ <description xml:lang="da">Generisk 104-taster PC</description>
+ <description xml:lang="el">Τυπικός Ηλεκ. Υπολογιστής 104-πλήκτÏων</description>
+ <description xml:lang="en_GB">Generic 104-key PC</description>
+ <description xml:lang="fr">clavier Generic 104-key PC</description>
+ <description xml:lang="hu">általános 104 gombos PC</description>
+ <description xml:lang="nl">Algemeen 104-toetsen PC</description>
+ <description xml:lang="ru">Обычный 104-клавишный PC</description>
+ <description xml:lang="rw">Urufunguzo</description>
+ <description xml:lang="sk">Všeobecná PC 104 kláves</description>
+ <description xml:lang="sq">Generic 104-key PC</description>
+ <description xml:lang="sr">Обична Ñа 104 таÑтера</description>
+ <description xml:lang="sv">Allmän 104-tangenters PC</description>
+ <description xml:lang="tr">Soysal 104 tuÅŸlu PC</description>
+ <description xml:lang="uk">Звичайна 104-клавішна Ð´Ð»Ñ ÐŸÐš</description>
+ <description xml:lang="vi">PC chung 104 phím</description>
+ <description xml:lang="zh_CN">通用 104 键电脑</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>pc105</name>
+ <description>Generic 105-key (Intl) PC</description>
+ <description xml:lang="af">Generies 105-sleutel (Intl) PC</description>
+ <description xml:lang="az">Generic 105-key (Intl) PC</description>
+ <description xml:lang="bg">Стандартна 105 клавишна PC клавиатура</description>
+ <description xml:lang="cs">Obecné PC 105 kláves (mez.)</description>
+ <description xml:lang="da">Generisk 105-taster (Intl) PC</description>
+ <description xml:lang="el">Τυπικός Ηλεκ. Υπολογιστής 105-πλήκτÏων (Διεθνές)</description>
+ <description xml:lang="en_GB">Generic 105-key (Intl) PC</description>
+ <description xml:lang="fr">clavier Generic 105-key (Intl) PC</description>
+ <description xml:lang="hu">általános 105 gombos (nemzetközi) PC</description>
+ <description xml:lang="nl">Algemeen 105-toetsen (internationaal) PC</description>
+ <description xml:lang="ru">Обычный 105-клавишный (инт.) РС</description>
+ <description xml:lang="rw">Urufunguzo</description>
+ <description xml:lang="sk">Všeobecná 105-kláv. (medzinár.) PC</description>
+ <description xml:lang="sq">Generic 105-key (Intl) PC</description>
+ <description xml:lang="sr">Обична Ñа 105 таÑтера (међунар.)</description>
+ <description xml:lang="sv">Allmän 105-tangenters (internationell) PC</description>
+ <description xml:lang="tr">Soysal 105 tuşlu (uluslararası) PC</description>
+ <description xml:lang="uk">Звичайна 105-клавішна Ð´Ð»Ñ ÐŸÐš</description>
+ <description xml:lang="vi">PC chung 105 phím (Intl)</description>
+ <description xml:lang="zh_CN">通用 105 键(国际)电脑</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dell101</name>
+ <description>Dell 101-key PC</description>
+ <description xml:lang="af">Dell 101-key PC</description>
+ <description xml:lang="az">Dell 101-key PC</description>
+ <description xml:lang="bg">101 клавишна PC клавиатура на Dell</description>
+ <description xml:lang="cs">Dell PC 101 kláves</description>
+ <description xml:lang="da">Dell 101-taster PC</description>
+ <description xml:lang="en_GB">Dell 101-key PC</description>
+ <description xml:lang="fr">clavier Dell 101-key PC</description>
+ <description xml:lang="hu">Dell 101-key PC</description>
+ <description xml:lang="nl">Dell 101-toetsen PC</description>
+ <description xml:lang="ru">Dell 101-клавишный PC</description>
+ <description xml:lang="rw">Urufunguzo</description>
+ <description xml:lang="sk">DELL PC 101 kláves</description>
+ <description xml:lang="sq">Dell 101-key PC</description>
+ <description xml:lang="sr">Dell 101-таÑтер PC</description>
+ <description xml:lang="sv">Dell 101-tangenters PC</description>
+ <description xml:lang="tr">Dell 101 tuÅŸlu PC</description>
+ <description xml:lang="uk">Dell 101-клавішна Ð´Ð»Ñ ÐŸÐš</description>
+ <description xml:lang="vi">Dell PC 101 phím</description>
+ <description xml:lang="zh_CN">Dell 101 键电脑</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>everex</name>
+ <description>Everex STEPnote</description>
+ <description xml:lang="af">Everex STEPnote</description>
+ <description xml:lang="az">Everex STEPnote</description>
+ <description xml:lang="bg">Everex STEPnote</description>
+ <description xml:lang="cs">Everex STEPnote</description>
+ <description xml:lang="da">Everex STEPnote</description>
+ <description xml:lang="en_GB">Everex STEPnote</description>
+ <description xml:lang="fr">Everex STEPnote</description>
+ <description xml:lang="hu">Everex STEPnote</description>
+ <description xml:lang="nl">Everex STEPnote</description>
+ <description xml:lang="ru">Everex STEPnote</description>
+ <description xml:lang="sk">Everex STEPnote</description>
+ <description xml:lang="sq">Everex STEPnote</description>
+ <description xml:lang="sr">Everex STEPnote</description>
+ <description xml:lang="sv">Everex STEPnote</description>
+ <description xml:lang="tr">Everex STEPnote</description>
+ <description xml:lang="uk">Everex STEPnote</description>
+ <description xml:lang="vi">Everex STEPnote</description>
+ <description xml:lang="zh_CN">Everex STEPnote</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>flexpro</name>
+ <description>Keytronic FlexPro</description>
+ <description xml:lang="af">Keytronic FlexPro</description>
+ <description xml:lang="az">Keytronic FlexPro</description>
+ <description xml:lang="bg">Keytronic FlexPro</description>
+ <description xml:lang="cs">Keytronic FlexPro</description>
+ <description xml:lang="da">Keytronic FlexPro</description>
+ <description xml:lang="en_GB">Keytronic FlexPro</description>
+ <description xml:lang="fr">Keytronic FlexPro</description>
+ <description xml:lang="hu">Keytronic FlexPro</description>
+ <description xml:lang="nl">Keytronic FlexPro</description>
+ <description xml:lang="ru">Keytronic FlexPro</description>
+ <description xml:lang="sk">Keytronic FlexPro</description>
+ <description xml:lang="sq">Keytronic FlexPro</description>
+ <description xml:lang="sr">Keytronic FlexPro</description>
+ <description xml:lang="sv">Keytronic FlexPro</description>
+ <description xml:lang="tr">Keytronic FlexPro</description>
+ <description xml:lang="uk">Keytronic FlexPro</description>
+ <description xml:lang="vi">Keytronic FlexPro</description>
+ <description xml:lang="zh_CN">Keytronic FlexPro</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoft</name>
+ <description>Microsoft Natural</description>
+ <description xml:lang="af">Microsoft Natuurlik</description>
+ <description xml:lang="az">Microsoft Natural</description>
+ <description xml:lang="bg">Microsoft Natural</description>
+ <description xml:lang="cs">Microsoft Natural</description>
+ <description xml:lang="da">Microsoft Natural</description>
+ <description xml:lang="en_GB">Microsoft Natural</description>
+ <description xml:lang="fr">Microsoft Natural</description>
+ <description xml:lang="hu">Microsoft Natural</description>
+ <description xml:lang="nl">Microsoft Natural</description>
+ <description xml:lang="ru">Microsoft Natural</description>
+ <description xml:lang="sk">Microsoft Natural</description>
+ <description xml:lang="sq">Microsoft Natural</description>
+ <description xml:lang="sr">МикроÑофт Ðатурал</description>
+ <description xml:lang="sv">Microsoft Natural</description>
+ <description xml:lang="tr">Microsoft Basit</description>
+ <description xml:lang="uk">Microsoft Natural</description>
+ <description xml:lang="vi">Microsoft Natural</description>
+ <description xml:lang="zh_CN">微软自然键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>omnikey101</name>
+ <description>Northgate OmniKey 101</description>
+ <description xml:lang="af">Northgate OmniKey 101</description>
+ <description xml:lang="az">Northgate OmniKey 101</description>
+ <description xml:lang="bg">Northgate OmniKey 101</description>
+ <description xml:lang="cs">Northgate OmniKey 101</description>
+ <description xml:lang="da">Northgate OmniKey 101</description>
+ <description xml:lang="en_GB">Northgate OmniKey 101</description>
+ <description xml:lang="fr">Northgate OmniKey 101</description>
+ <description xml:lang="hu">Northgate OmniKey 101</description>
+ <description xml:lang="nl">Northgate OmniKey 101</description>
+ <description xml:lang="ru">Northgate OmniKey 101</description>
+ <description xml:lang="sk">Northgate OmniKey 101</description>
+ <description xml:lang="sq">Northgate OmniKey 101</description>
+ <description xml:lang="sr">Northgate OmniKey 101</description>
+ <description xml:lang="sv">Northgate OmniKey 101</description>
+ <description xml:lang="tr">Northgate OmniKey 101</description>
+ <description xml:lang="uk">Northgate OmniKey 101</description>
+ <description xml:lang="vi">Northgate OmniKey 101</description>
+ <description xml:lang="zh_CN">Northgate OmniKey 101</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>winbook</name>
+ <description>Winbook Model XP5</description>
+ <description xml:lang="af">Winbook Model XP5</description>
+ <description xml:lang="az">Winbook Model XP5</description>
+ <description xml:lang="bg">Winbook Model XP5</description>
+ <description xml:lang="cs">Winbook Model XP5</description>
+ <description xml:lang="da">Winbook Model XP5</description>
+ <description xml:lang="en_GB">Winbook Model XP5</description>
+ <description xml:lang="fr">Winbook Model XP5</description>
+ <description xml:lang="hu">Winbook Model XP5</description>
+ <description xml:lang="nl">Winbook Model XP5</description>
+ <description xml:lang="ru">Winbook Model XP5</description>
+ <description xml:lang="sk">Winbook Model XP5</description>
+ <description xml:lang="sq">Winbook Model XP5</description>
+ <description xml:lang="sr">Winbook Model XP5</description>
+ <description xml:lang="sv">Winbook Model XP5</description>
+ <description xml:lang="tr">Winbook Model XP5</description>
+ <description xml:lang="uk">Winbook Model XP5</description>
+ <description xml:lang="vi">Winbook kiểu mẫu XP5</description>
+ <description xml:lang="zh_CN">Winbook Model XP5</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>jp106</name>
+ <description>Japanese 106-key</description>
+ <description xml:lang="af">Japanees 106-sleutel</description>
+ <description xml:lang="az">Yaponca 106-düymə</description>
+ <description xml:lang="bg">ÑпонÑка 106 клавишна</description>
+ <description xml:lang="cs">Japonské 106 kláves</description>
+ <description xml:lang="da">Japansk 106-taster</description>
+ <description xml:lang="en_GB">Japanese 106-key</description>
+ <description xml:lang="fr">Japanese 106-clés</description>
+ <description xml:lang="hu">japán 106 gombos</description>
+ <description xml:lang="nl">Japans 106-toetsen</description>
+ <description xml:lang="ru">ЯпонÑÐºÐ°Ñ 106-клавишнаÑ</description>
+ <description xml:lang="rw">Urufunguzo</description>
+ <description xml:lang="sk">Japonskáé106 kláves</description>
+ <description xml:lang="sq">Japoneze 106-pulsantë</description>
+ <description xml:lang="sr">јапанÑки Ñа 106 таÑтера</description>
+ <description xml:lang="sv">Japansk 106-tangenters</description>
+ <description xml:lang="tr">Japonca 106 tuÅŸlu</description>
+ <description xml:lang="uk">ЯпонÑька 106-клавішна</description>
+ <description xml:lang="vi">Nhật bản 106 phím</description>
+ <description xml:lang="zh_CN">日语 106 键</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>pc98</name>
+ <description>PC-98xx Series</description>
+ <description xml:lang="af">PC-98xx Reeks</description>
+ <description xml:lang="az">PC-98xx Seriyaları</description>
+ <description xml:lang="bg">PC-98xx Ñерии</description>
+ <description xml:lang="cs">PC-98xx řada</description>
+ <description xml:lang="da">PC-98xx-serien</description>
+ <description xml:lang="en_GB">PC-98xx Series</description>
+ <description xml:lang="fr">PC-98xx Series</description>
+ <description xml:lang="hu">PC-98xx Series</description>
+ <description xml:lang="nl">PC-98xx serie</description>
+ <description xml:lang="ru">PC-98xx</description>
+ <description xml:lang="sk">Séria PC-98xx</description>
+ <description xml:lang="sq">Seritë PC-98xx</description>
+ <description xml:lang="sr">PC-98xx Ñерија</description>
+ <description xml:lang="sv">PC-98xx-serien</description>
+ <description xml:lang="tr">PC-98xx Serisi</description>
+ <description xml:lang="uk">Моделі PC-98xx</description>
+ <description xml:lang="vi">Sê ri PC-98xx</description>
+ <description xml:lang="zh_CN">PC-98xx 系列</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>a4techKB21</name>
+ <description>A4Tech KB-21</description>
+ <description xml:lang="en_GB">A4Tech KB-21</description>
+ <description xml:lang="nl">A4Tech KB-21</description>
+ <description xml:lang="ru">A4Tech KB-21</description>
+ <description xml:lang="rw">21</description>
+ <description xml:lang="vi">A4Tech KB-21</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>a4techKBS8</name>
+ <description>A4Tech KBS-8</description>
+ <description xml:lang="en_GB">A4Tech KBS-8</description>
+ <description xml:lang="nl">A4Tech KBS-8</description>
+ <description xml:lang="ru">A4Tech KBS-8</description>
+ <description xml:lang="rw">8</description>
+ <description xml:lang="vi">A4Tech KBS-8</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>abnt2</name>
+ <description>Brazilian ABNT2</description>
+ <description xml:lang="af">Braziliaans ABNT2</description>
+ <description xml:lang="az">Brazilya düzülüşü ABNT2</description>
+ <description xml:lang="bg">бразилÑка ABNT2</description>
+ <description xml:lang="cs">Brazilské ABNT2</description>
+ <description xml:lang="da">Brasiliansk ABNT2</description>
+ <description xml:lang="en_GB">Brazilian ABNT2</description>
+ <description xml:lang="fr">Brézilien ABNT2</description>
+ <description xml:lang="hu">brazil ABNT2</description>
+ <description xml:lang="nl">Braziliaans ABNT2</description>
+ <description xml:lang="ru">ABNT2</description>
+ <description xml:lang="sk">Brazílska ABNT2</description>
+ <description xml:lang="sq">Braziliane ABNT2</description>
+ <description xml:lang="sr">бразилÑки ABNT2</description>
+ <description xml:lang="sv">Brasiliansk ABNT2</description>
+ <description xml:lang="tr">Brazilya dili ABNT2</description>
+ <description xml:lang="uk">БразильÑька ABTN2</description>
+ <description xml:lang="vi">ABNT2 của Bra-zil</description>
+ <description xml:lang="zh_CN">巴西 ABNT2</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>airkey</name>
+ <description>Acer AirKey V</description>
+ <description xml:lang="af">Acer AirKey V</description>
+ <description xml:lang="az">Acer AirKey V</description>
+ <description xml:lang="cs">Acer AirKey V</description>
+ <description xml:lang="da">Acer AirKey V</description>
+ <description xml:lang="en_GB">Acer AirKey V</description>
+ <description xml:lang="fr">Acer AirKey V</description>
+ <description xml:lang="hu">Acer AirKey V</description>
+ <description xml:lang="nl">Acer AirKey V</description>
+ <description xml:lang="ru">Acer AirKey V</description>
+ <description xml:lang="rw">V</description>
+ <description xml:lang="sk">Acer AirKey V</description>
+ <description xml:lang="sq">Acer AirKey V</description>
+ <description xml:lang="sr">Acer AirKey V</description>
+ <description xml:lang="sv">Acer AirKey V</description>
+ <description xml:lang="tr">Acer AirKey V</description>
+ <description xml:lang="uk">Acer AirKey V</description>
+ <description xml:lang="vi">Acer AirKey V</description>
+ <description xml:lang="zh_CN">Acer AirKey V</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>acpi</name>
+ <description>ACPI Standard</description>
+ <description xml:lang="af">ACPI Standaard</description>
+ <description xml:lang="az">ACPI Standartı</description>
+ <description xml:lang="cs">Standard ACPI</description>
+ <description xml:lang="da">ACPI-standard</description>
+ <description xml:lang="en_GB">ACPI Standard</description>
+ <description xml:lang="fr">norme ACPI</description>
+ <description xml:lang="hu">ACPI szabvány</description>
+ <description xml:lang="nl">ACPI standaard</description>
+ <description xml:lang="ru">Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ ACPI</description>
+ <description xml:lang="sk">Å tandard ACPI</description>
+ <description xml:lang="sq">ACPI Standart</description>
+ <description xml:lang="sr">ACPI Ñтандард</description>
+ <description xml:lang="sv">ACPI-standard</description>
+ <description xml:lang="tr">ACPI Standardı</description>
+ <description xml:lang="uk">Типова ACPI</description>
+ <description xml:lang="vi">ACPI Tiêu chuẩn</description>
+ <description xml:lang="zh_CN">ACPI 标准</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>azonaRF2300</name>
+ <description>Azona RF2300 wireless Internet Keyboard</description>
+ <description xml:lang="en_GB">Azona RF2300 wireless Internet Keyboard</description>
+ <description xml:lang="nl">Azona RF2300 draadloos internettoetsenbord</description>
+ <description xml:lang="ru">Azona RF2300 wireless Internet Keyboard</description>
+ <description xml:lang="vi">Bàn phím không dây Internet Azona RF2300</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>scorpius</name>
+ <description>Advance Scorpius KI</description>
+ <description xml:lang="af">Advance Scorpius KI</description>
+ <description xml:lang="az">Advance Scorpius KI</description>
+ <description xml:lang="cs">Advance Scorpius KI</description>
+ <description xml:lang="da">Advance Scorpius KI</description>
+ <description xml:lang="en_GB">Advance Scorpius KI</description>
+ <description xml:lang="fr">Advance Scorpius KI</description>
+ <description xml:lang="hu">Advance Scorpius KI</description>
+ <description xml:lang="nl">Advance Scorpius KI</description>
+ <description xml:lang="ru">Advance Scorpius KI</description>
+ <description xml:lang="sk">Advance Scorpius KI</description>
+ <description xml:lang="sq">Advance Scorpius KI</description>
+ <description xml:lang="sr">Ðапредни Шкорпион КИ</description>
+ <description xml:lang="sv">Advance Scorpius KI</description>
+ <description xml:lang="tr">Advance Scorpius KI</description>
+ <description xml:lang="uk">Advance Scorpius KI</description>
+ <description xml:lang="vi">Nâng cao Scorpius KI</description>
+ <description xml:lang="zh_CN">高级 Scorpius KI</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>brother</name>
+ <description>Brother Internet Keyboard</description>
+ <description xml:lang="af">Brother Internetsleutelbord</description>
+ <description xml:lang="az">Brother Internet Keyboard</description>
+ <description xml:lang="bg">Logitech Интернет клавиатура</description>
+ <description xml:lang="cs">Brother Internet Keyboard</description>
+ <description xml:lang="da">Brother Internet Keyboard</description>
+ <description xml:lang="en_GB">Brother Internet Keyboard</description>
+ <description xml:lang="fr">clavier Brother Internet</description>
+ <description xml:lang="hu">Brother Internet Keyboard</description>
+ <description xml:lang="nl">Brother internet toetsenbord</description>
+ <description xml:lang="ru">Brother Internet Keyboard</description>
+ <description xml:lang="sk">Brother Internet Keyboard</description>
+ <description xml:lang="sq">Tastiera Internet Brother</description>
+ <description xml:lang="sr">Brother Интернет таÑтатура</description>
+ <description xml:lang="sv">Brother Internettangentbord</description>
+ <description xml:lang="tr">Brother Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Brother Internet Keyboard</description>
+ <description xml:lang="vi">Bàn phím Internet Brother</description>
+ <description xml:lang="zh_CN">Brother 网际键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc5113rf</name>
+ <description>BTC 5113RF Multimedia</description>
+ <description xml:lang="af">BTC 5113RF Multimedia</description>
+ <description xml:lang="az">BTC 5113RF Multimedia</description>
+ <description xml:lang="cs">BTC 5113RF Multimedia</description>
+ <description xml:lang="da">BTC 5113RF-multimedie</description>
+ <description xml:lang="en_GB">BTC 5113RF Multimedia</description>
+ <description xml:lang="fr">BTC 5113RF Multimedia</description>
+ <description xml:lang="hu">BTC 5113RF Multimedia</description>
+ <description xml:lang="nl">BTC 5113RF multimedia</description>
+ <description xml:lang="ru">BTC 5113RF Multimedia</description>
+ <description xml:lang="sk">BTC 5113RF Multimedia</description>
+ <description xml:lang="sq">BTC 5113RF Multimedia</description>
+ <description xml:lang="sr">BTC 5113RF мултимедијална</description>
+ <description xml:lang="sv">BTC 5113RF Multimedia</description>
+ <description xml:lang="tr">BTC 5113RF Çokluortam</description>
+ <description xml:lang="uk">BTC 5113RF мультимедіÑ</description>
+ <description xml:lang="vi">BTC 5113RF Phim nhạc</description>
+ <description xml:lang="zh_CN">BTC 5113RF 多媒体</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc5126t</name>
+ <description>BTC 5126T</description>
+ <description xml:lang="af">BTC 5126T</description>
+ <description xml:lang="az">BTC 5126T</description>
+ <description xml:lang="cs">BTC 5126T</description>
+ <description xml:lang="da">BTC 5126T</description>
+ <description xml:lang="en_GB">BTC 5126T</description>
+ <description xml:lang="fr">BTC 5126T</description>
+ <description xml:lang="hu">BTC 5126T</description>
+ <description xml:lang="nl">BTC 5126T</description>
+ <description xml:lang="ru">BTC 5126T</description>
+ <description xml:lang="sk">BTC 5126T</description>
+ <description xml:lang="sq">BTC 5126T</description>
+ <description xml:lang="sr">BTC 5126T</description>
+ <description xml:lang="sv">BTC 5126T</description>
+ <description xml:lang="tr">BTC 5126T</description>
+ <description xml:lang="uk">BTC 5126T</description>
+ <description xml:lang="vi">BTC 5126T</description>
+ <description xml:lang="zh_CN">BTC 5126T</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc9000</name>
+ <description>BTC 9000</description>
+ <description xml:lang="af">BTC 9000</description>
+ <description xml:lang="az">BTC 9000</description>
+ <description xml:lang="cs">BTC 9000</description>
+ <description xml:lang="da">BTC 9000</description>
+ <description xml:lang="en_GB">BTC 9000</description>
+ <description xml:lang="fr">BTC 9000</description>
+ <description xml:lang="hu">BTC 9000</description>
+ <description xml:lang="nl">BTC 9000</description>
+ <description xml:lang="ru">BTC 9000</description>
+ <description xml:lang="sk">BTC 9000</description>
+ <description xml:lang="sq">BTC 9000</description>
+ <description xml:lang="sr">BTC 9000</description>
+ <description xml:lang="sv">BTC 9000</description>
+ <description xml:lang="tr">BTC 9000</description>
+ <description xml:lang="uk">BTC 9000</description>
+ <description xml:lang="vi">BTC 9000</description>
+ <description xml:lang="zh_CN">BTC 9000</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc9000a</name>
+ <description>BTC 9000A</description>
+ <description xml:lang="af">BTC 9000A</description>
+ <description xml:lang="az">BTC 9000A</description>
+ <description xml:lang="cs">BTC 9000A</description>
+ <description xml:lang="da">BTC 9000A</description>
+ <description xml:lang="en_GB">BTC 9000A</description>
+ <description xml:lang="fr">BTC 9000A</description>
+ <description xml:lang="hu">BTC 9000A</description>
+ <description xml:lang="nl">BTC 9000A</description>
+ <description xml:lang="ru">BTC 9000A</description>
+ <description xml:lang="sk">BTC 9000A</description>
+ <description xml:lang="sq">BTC 9000A</description>
+ <description xml:lang="sr">BTC 9000A</description>
+ <description xml:lang="sv">BTC 9000A</description>
+ <description xml:lang="tr">BTC 9000A</description>
+ <description xml:lang="uk">BTC 9000A</description>
+ <description xml:lang="vi">BTC 9000A</description>
+ <description xml:lang="zh_CN">BTC 9000A</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc9001ah</name>
+ <description>BTC 9001AH</description>
+ <description xml:lang="af">BTC 9001AH</description>
+ <description xml:lang="az">BTC 9001AH</description>
+ <description xml:lang="cs">BTC 9001AH</description>
+ <description xml:lang="da">BTC 9001AH</description>
+ <description xml:lang="en_GB">BTC 9001AH</description>
+ <description xml:lang="fr">BTC 9001AH</description>
+ <description xml:lang="hu">BTC 9001AH</description>
+ <description xml:lang="nl">BTC 9001AH</description>
+ <description xml:lang="ru">BTC·9001AH</description>
+ <description xml:lang="sk">BTC 9001AH</description>
+ <description xml:lang="sq">BTC 9001AH</description>
+ <description xml:lang="sr">BTC 9001AH</description>
+ <description xml:lang="sv">BTC 9001AH</description>
+ <description xml:lang="tr">BTC 9001AH</description>
+ <description xml:lang="uk">BTC 9001AH</description>
+ <description xml:lang="vi">BTC 9001AH</description>
+ <description xml:lang="zh_CN">BTC 9001AH</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>btc5090</name>
+ <description>BTC 5090</description>
+ <description xml:lang="af">BTC 5090</description>
+ <description xml:lang="az">BTC 5090</description>
+ <description xml:lang="cs">BTC 5090</description>
+ <description xml:lang="da">BTC 5090</description>
+ <description xml:lang="en_GB">BTC 5090</description>
+ <description xml:lang="fr">BTC 5090</description>
+ <description xml:lang="hu">BTC 5090</description>
+ <description xml:lang="nl">BTC 5090</description>
+ <description xml:lang="ru">BTC 5090</description>
+ <description xml:lang="sk">BTC 5090</description>
+ <description xml:lang="sq">BTC 5090</description>
+ <description xml:lang="sr">BTC 5090</description>
+ <description xml:lang="sv">BTC 5090</description>
+ <description xml:lang="tr">BTC 5090</description>
+ <description xml:lang="uk">BTC 5090</description>
+ <description xml:lang="vi">BTC 5090</description>
+ <description xml:lang="zh_CN">BTC 5090</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cherryblue</name>
+ <description>Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="af">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="az">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="cs">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="da">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="en_GB">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="fr">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="hu">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="nl">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="ru">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="sk">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="sq">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="sr">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="sv">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="tr">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="uk">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="vi">Cherry Blue Line CyBo@rd</description>
+ <description xml:lang="zh_CN">Cherry Blue Line CyBo@rd</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cherryblueb</name>
+ <description>Cherry CyMotion Master XPress</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cherrybluea</name>
+ <description>Cherry Blue Line CyBo@rd (alternate option)</description>
+ <description xml:lang="af">Cherry Blue Line CyBo@rd (alternatief)</description>
+ <description xml:lang="az">Cherry Blue Line CyBo@rd (alternate option)</description>
+ <description xml:lang="cs">Cherry Blue Line CyBo@rd (alternativní volba)</description>
+ <description xml:lang="da">Cherry Blue Line CyBo@rd (alternativ)</description>
+ <description xml:lang="en_GB">Cherry Blue Line CyBo@rd (alternate option)</description>
+ <description xml:lang="fr">Cherry Blue Line CyBo@rd (option alternative)</description>
+ <description xml:lang="hu">Cherry Blue Line CyBo@rd (másik lehetőség)</description>
+ <description xml:lang="nl">Cherry Blue Line CyBo@rd (alternatieve optie)</description>
+ <description xml:lang="ru">Cherry Blue Line CyBo@rd (альтернативный вариант)</description>
+ <description xml:lang="rw">Ihitamo</description>
+ <description xml:lang="sk">Cherry Blue Line CyBo@rd (alternatívna voľba)</description>
+ <description xml:lang="sq">Cherry Blue Line CyBo@rd (opcioni alterno)</description>
+ <description xml:lang="sr">Cherry Blue Line CyBo@rd (друга могућноÑÑ‚)</description>
+ <description xml:lang="sv">Cherry Blue Line CyBo@rd (alternativ)</description>
+ <description xml:lang="tr">Cherry Blue Line CyBo@rd (diğer seçenek)</description>
+ <description xml:lang="uk">Cherry Blue Line CyBo@rd (альтернативний варіант)</description>
+ <description xml:lang="vi">Cherry Blue Line CyBo@rd (luân phiên tùy chá»n)</description>
+ <description xml:lang="zh_CN">Cherry Blue Line CyBo@rd (替代选项)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>chicony</name>
+ <description>Chicony Internet Keyboard</description>
+ <description xml:lang="af">Chicony Internetsleutelbord</description>
+ <description xml:lang="az">Chicony Internet Keyboard</description>
+ <description xml:lang="bg">Интернет клавиатура на Chicony</description>
+ <description xml:lang="cs">Chicony Internet Keyboard</description>
+ <description xml:lang="da">Chicony Internet Keyboard</description>
+ <description xml:lang="en_GB">Chicony Internet Keyboard</description>
+ <description xml:lang="fr">clavier Chicony Internet</description>
+ <description xml:lang="hu">Chicony Internet Keyboard</description>
+ <description xml:lang="nl">Chicony internet toetsenbord</description>
+ <description xml:lang="ru">Chicony Internet Keyboard</description>
+ <description xml:lang="sk">Chicony Internet Keyboard</description>
+ <description xml:lang="sq">Tastiera Internet Chicony</description>
+ <description xml:lang="sr">Chicony Интернет таÑтатура</description>
+ <description xml:lang="sv">Chicony Internettangentbord</description>
+ <description xml:lang="tr">Chicony Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Інтернет-клавіатура Chicony</description>
+ <description xml:lang="vi">Bàn phím Internet Chicony</description>
+ <description xml:lang="zh_CN">Chicony Internet 键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>chicony9885</name>
+ <description>Chicony KB-9885</description>
+ <description xml:lang="af">Chicony KB-9885</description>
+ <description xml:lang="az">Chicony KB-9885</description>
+ <description xml:lang="cs">Chicony KB-9885</description>
+ <description xml:lang="da">Chicony KB-9885</description>
+ <description xml:lang="en_GB">Chicony KB-9885</description>
+ <description xml:lang="fr">Chicony KB-9885</description>
+ <description xml:lang="hu">Chicony KB-9885</description>
+ <description xml:lang="nl">Chicony KB-9885</description>
+ <description xml:lang="ru">Chicony KB-9885</description>
+ <description xml:lang="sk">Chicony KB-9885</description>
+ <description xml:lang="sq">Chicony KB-9885</description>
+ <description xml:lang="sr">Chicony KB-9885</description>
+ <description xml:lang="sv">Chicony KB-9885</description>
+ <description xml:lang="tr">Chicony KB-9885</description>
+ <description xml:lang="uk">Chicony KB-9885</description>
+ <description xml:lang="vi">Chicony KB-9885</description>
+ <description xml:lang="zh_CN">Chicony KB-9885</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>compaqeak8</name>
+ <description>Compaq Easy Access Keyboard</description>
+ <description xml:lang="af">Compaq Easy Access Keyboard</description>
+ <description xml:lang="az">Compaq Easy Access Keyboard</description>
+ <description xml:lang="cs">Compaq Easy Access Keyboard</description>
+ <description xml:lang="da">Compaq Easy Access Keyboard</description>
+ <description xml:lang="en_GB">Compaq Easy Access Keyboard</description>
+ <description xml:lang="fr">clavier Compaq Easy Access</description>
+ <description xml:lang="hu">Compaq Easy Access Keyboard</description>
+ <description xml:lang="nl">Compaq Easy Access toetsenbord</description>
+ <description xml:lang="ru">Compaq Easy Access Keyboard</description>
+ <description xml:lang="sk">Compaq Easy Access Keyboard</description>
+ <description xml:lang="sq">Tastiera Compaq Easy Access</description>
+ <description xml:lang="sr">Compaq таÑтатура за лак приÑтуп</description>
+ <description xml:lang="sv">Compaq Easy Access-tangentbord</description>
+ <description xml:lang="tr">Compaq Kolay EriÅŸim Klavyesi</description>
+ <description xml:lang="uk">Compaq Easy Access Keyboard</description>
+ <description xml:lang="vi">Bàn phím Truy cập Dễ dàng của Compaq</description>
+ <description xml:lang="zh_CN">Compaq Easy Access 键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>compaqik7</name>
+ <description>Compaq Internet Keyboard (7 keys)</description>
+ <description xml:lang="af">Compaq Internet Keyboard (7 sleutels)</description>
+ <description xml:lang="az">Compaq Internet Keyboard (7 düymə)</description>
+ <description xml:lang="bg">Интернет клавиатура на Chicony</description>
+ <description xml:lang="cs">Compaq Internet Keyboard (7 kláves)</description>
+ <description xml:lang="da">Compaq Internet Keyboard (7 taster)</description>
+ <description xml:lang="en_GB">Compaq Internet Keyboard (7 keys)</description>
+ <description xml:lang="fr">clavier Compaq Internet (7 clés)</description>
+ <description xml:lang="hu">Compaq Internet Keyboard (7 gombos)</description>
+ <description xml:lang="nl">Compaq internet toetsenbord (7 toetsen)</description>
+ <description xml:lang="ru">Compaq Internet Keyboard (7 клавиш)</description>
+ <description xml:lang="rw">7 Utubuto</description>
+ <description xml:lang="sk">Compaq Internet Keyboard (7 kláves)</description>
+ <description xml:lang="sq">Tastiera Internet Compaq (7 pulsante)</description>
+ <description xml:lang="sr">Compaq Интернет таÑтатура (7 таÑтера)</description>
+ <description xml:lang="sv">Compaq Internettangentbord (7 tangenter)</description>
+ <description xml:lang="tr">Örütbağ Klavyesi (7 tuşlu)</description>
+ <description xml:lang="uk">Compaq Internet Keyboard (7 клавіш)</description>
+ <description xml:lang="vi">Bàn phím Internet Compaq (7 phím)</description>
+ <description xml:lang="zh_CN">Compaq 网际键盘(7键)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>compaqik13</name>
+ <description>Compaq Internet Keyboard (13 keys)</description>
+ <description xml:lang="af">Compaq Internet Keyboard (13 sleutels)</description>
+ <description xml:lang="az">Compaq Internet Keyboard (13 düymə)</description>
+ <description xml:lang="bg">Интернет клавиатура на Chicony</description>
+ <description xml:lang="cs">Compaq Internet Keyboard (13 kláves)</description>
+ <description xml:lang="da">Compaq Internet Keyboard (13 taster)</description>
+ <description xml:lang="en_GB">Compaq Internet Keyboard (13 keys)</description>
+ <description xml:lang="fr">clavier Compaq Internet (13 clés)</description>
+ <description xml:lang="hu">Compaq Internet Keyboard (13 gombos)</description>
+ <description xml:lang="nl">Compaq internet toetsenbord (13 toetsen)</description>
+ <description xml:lang="ru">Compaq Internet Keyboard (13 клавиш)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Compaq Internet Keyboard (13 kláves)</description>
+ <description xml:lang="sq">Tatiera Internet Compaq (13 pulsante)</description>
+ <description xml:lang="sr">Compaq Интернет таÑтатура (13 таÑтера)</description>
+ <description xml:lang="sv">Compaq Internettangentbord (13 tangenter)</description>
+ <description xml:lang="tr">Compaq Örütbağ Klavyesi (13 tuşlu)</description>
+ <description xml:lang="uk">Compaq Internet Keyboard (13 клавіш)</description>
+ <description xml:lang="vi">Bàn phím Internet Compaq (13 phím)</description>
+ <description xml:lang="zh_CN">Compaq 网际键盘(13键)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>compaqik18</name>
+ <description>Compaq Internet Keyboard (18 keys)</description>
+ <description xml:lang="af">Compaq Internet Keyboard (18 sleutels)</description>
+ <description xml:lang="az">Compaq Internet Keyboard (18 düymə)</description>
+ <description xml:lang="bg">Интернет клавиатура на Chicony</description>
+ <description xml:lang="cs">Compaq Internet Keyboard (18 kláves)</description>
+ <description xml:lang="da">Compaq Internet Keyboard (18 taster)</description>
+ <description xml:lang="en_GB">Compaq Internet Keyboard (18 keys)</description>
+ <description xml:lang="fr">clavier Compaq Internet (18 clés)</description>
+ <description xml:lang="hu">Compaq Internet Keyboard (18 gombos)</description>
+ <description xml:lang="nl">Compaq internet toetsenbord (18 toetsen)</description>
+ <description xml:lang="ru">Compaq Internet Keyboard (18 клавиш)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Compaq Internet Keyboard (18 kláves)</description>
+ <description xml:lang="sq">Tastiera Internet Compaq (18 pulsante)</description>
+ <description xml:lang="sr">Compaq Интернет таÑтатура (18 таÑтера)</description>
+ <description xml:lang="sv">Compaq Internettangentbord (18 tangenter)</description>
+ <description xml:lang="tr">Compaq Örütbağ Klavyesi (18 tuşlu)</description>
+ <description xml:lang="uk">Compaq Internet Keyboard (18 клавіш)</description>
+ <description xml:lang="vi">Bàn phím Internet Compaq (18 phím)</description>
+ <description xml:lang="zh_CN">Compaq 网际键盘(18键)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>cymotionlinux</name>
+ <description>Cherry CyMotion Master Linux</description>
+ <description xml:lang="ru">Cherry CyMotion Master Linux</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>armada</name>
+ <description>Laptop/notebook Compaq (eg. Armada) Laptop Keyboard</description>
+ <description xml:lang="af">Laptop/notebook Compaq (eg. Armada) Laptop Keyboard</description>
+ <description xml:lang="az">Laptop/notebook Compaq (məs. Armada) Laptop Klaviaturası</description>
+ <description xml:lang="cs">Laptop/notebook Compaq (napÅ™. Armada) Laptop Keyboard</description>
+ <description xml:lang="da">Bærbar Compaq (fx Armada) Laptop Keyboard</description>
+ <description xml:lang="en_GB">Laptop/notebook Compaq (eg. Armada) Laptop Keyboard</description>
+ <description xml:lang="fr">clavier Laptop/notebook Compaq (ie. Armada) Laptop</description>
+ <description xml:lang="hu">Laptop/notebook Compaq (pl. Armada) Laptop Keyboard</description>
+ <description xml:lang="nl">Laptop/notebook Compaq (bijv. Armada) laptop toetsenbord</description>
+ <description xml:lang="ru">Клавиатура Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð¾Ð² Compaq (например Armada)</description>
+ <description xml:lang="sk">Laptop/notebook Compaq (napr. Armada) Laptop Keyboard</description>
+ <description xml:lang="sq">Tastierë laptop për Laptop/notebook Compaq (p.sh. Armada)</description>
+ <description xml:lang="sr">ТаÑтатуре преноÑних рачунара из Compaq-а (нпр. Armada)</description>
+ <description xml:lang="sv">Laptop-tangentbord för bärbar Compaq-dator (t.ex. Armada)</description>
+ <description xml:lang="tr">Laptop/notebook Compaq (örn. Armada) Dizüstü Klavyesi</description>
+ <description xml:lang="uk">Клавіатура Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿'ютерів Compaq (напр., Armada)</description>
+ <description xml:lang="vi">Bàn phím nhá» gá»n cho máy xách tay/notebook Compaq (ví dụ Armada)</description>
+ <description xml:lang="zh_CN">便æº/笔记本 Compaq(如 Armada)便æºé”®ç›˜</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>presario</name>
+ <description>Laptop/notebook Compaq (eg. Presario) Internet Keyboard</description>
+ <description xml:lang="af">Laptop/notebook Compaq (eg. Presario) Internet Keyboard</description>
+ <description xml:lang="az">Laptop/notebook Compaq (məs. Presario) İnternet Klaviaturası</description>
+ <description xml:lang="cs">Laptop/notebook Compaq (napÅ™. Presario) Internet Keyboard</description>
+ <description xml:lang="da">Bærbar Compaq (fx Presario) Internet Keyboard</description>
+ <description xml:lang="en_GB">Laptop/notebook Compaq (eg. Presario) Internet Keyboard</description>
+ <description xml:lang="fr">clavier Laptop/notebook Compaq (ie. Presario) Internet</description>
+ <description xml:lang="hu">Laptop/notebook Compaq (pl. Presario) Internet Keyboard</description>
+ <description xml:lang="nl">Laptop/notebook Compaq (bijv. Presario) internet toetsenbord</description>
+ <description xml:lang="ru">"Интернет" клавиатура Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð¾Ð² Compaq (например Presario)</description>
+ <description xml:lang="sk">Laptop/notebook Compaq (napr. Presario) Internet Keyboard</description>
+ <description xml:lang="sq">Tastierë për Internet për Laptop/notebook Compaq (p.sh. Presario)</description>
+ <description xml:lang="sr">ТаÑтатуре преноÑних рачунара из Compaq-а (нпр. Presario)</description>
+ <description xml:lang="sv">Internettangentbord för bärbar Compaq-dator (t.ex. Presario)</description>
+ <description xml:lang="tr">Laptop/notebook Compaq (örn. Presario) Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Інтернет-клавіатура Ð´Ð»Ñ Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐºÑ–Ð² Compaq (напр., Presario)</description>
+ <description xml:lang="vi">Bàn phím Internet cho máy xách tay/notebook Compaq (ví dụ Presario)</description>
+ <description xml:lang="zh_CN">便æº/笔记本 Compaq(如自由人)网际键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>ipaq</name>
+ <description>Compaq iPaq Keyboard</description>
+ <description xml:lang="af">Compaq iPaq Keyboard</description>
+ <description xml:lang="az">Compaq iPaq Keyboard</description>
+ <description xml:lang="cs">Compaq iPaq Keyboard</description>
+ <description xml:lang="da">Compaq iPaq Keyboard</description>
+ <description xml:lang="en_GB">Compaq iPaq Keyboard</description>
+ <description xml:lang="fr">clavier Compaq iPaq</description>
+ <description xml:lang="hu">Compaq iPaq Keyboard</description>
+ <description xml:lang="nl">Compaq iPaq toetsenbord</description>
+ <description xml:lang="ru">Compaq iPaq Keyboard</description>
+ <description xml:lang="sk">Compaq iPaq Keyboard</description>
+ <description xml:lang="sq">Tastiera Compaq iPaq</description>
+ <description xml:lang="sr">Compaq iPaq таÑтатура</description>
+ <description xml:lang="sv">Compaq iPaq-tangentbord</description>
+ <description xml:lang="tr">Compaq iPaq Klavyesi</description>
+ <description xml:lang="uk">Compaq iPaq Keyboard</description>
+ <description xml:lang="vi">Bàn phím iPaq Compaq</description>
+ <description xml:lang="zh_CN">Compaq iPaq 键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dell</name>
+ <description>Dell</description>
+ <description xml:lang="af">Dell</description>
+ <description xml:lang="az">Dell</description>
+ <description xml:lang="cs">Dell</description>
+ <description xml:lang="da">Dell</description>
+ <description xml:lang="en_GB">Dell</description>
+ <description xml:lang="fr">Dell</description>
+ <description xml:lang="hu">Dell</description>
+ <description xml:lang="nl">Dell</description>
+ <description xml:lang="ru">Dell</description>
+ <description xml:lang="sk">Dell</description>
+ <description xml:lang="sq">Dell</description>
+ <description xml:lang="sr">Dell</description>
+ <description xml:lang="sv">Dell</description>
+ <description xml:lang="tr">Dell</description>
+ <description xml:lang="uk">Dell</description>
+ <description xml:lang="vi">Dell</description>
+ <description xml:lang="zh_CN">Dell</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>inspiron</name>
+ <description>Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="af">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="az">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="cs">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="da">Bærbar Dell Inspiron 8xxx</description>
+ <description xml:lang="en_GB">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="fr">clavier Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="hu">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="nl">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="ru">ÐаÑтольнаÑ/Ð¿Ð¾Ñ€Ñ‚Ð°Ñ‚Ð¸Ð²Ð½Ð°Ñ Ð´Ð»Ñ Dell Inspiron 8xxx</description>
+ <description xml:lang="sk">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="sq">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="sr">ТаÑтатуре преноÑних рачунара Dell Inspiron 8xxx</description>
+ <description xml:lang="sv">Bärbar Dell Inspiron 8xxx</description>
+ <description xml:lang="tr">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="uk">Ð”Ð»Ñ Ð½Ð¾ÑƒÑ‚Ð±ÑƒÐºÑ–Ð² Dell Inspiron 8xxx</description>
+ <description xml:lang="vi">Laptop/notebook Dell Inspiron 8xxx</description>
+ <description xml:lang="zh_CN">便æº/笔记本 Dell Inspiron 8xxx</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dexxa</name>
+ <description>Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="af">Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="az">Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="cs">Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="da">Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="en_GB">Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="fr">clavier Dexxa Wireless Desktop</description>
+ <description xml:lang="hu">Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="nl">Dexxa Wireless Desktop toetsenbord</description>
+ <description xml:lang="ru">Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="sk">Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="sq">Tastierë Dexxa Wireless Desktop</description>
+ <description xml:lang="sr">Dexxa бежична таÑтатура</description>
+ <description xml:lang="sv">Dexxa trådlöst skrivbordstangentbord</description>
+ <description xml:lang="tr">Dexxa Kablosuz Masaüstü Klavyesi</description>
+ <description xml:lang="uk">Dexxa Wireless Desktop Keyboard</description>
+ <description xml:lang="vi">Bàn phím Không dây Dexxa cho Desktop</description>
+ <description xml:lang="zh_CN">Dexxa 无线桌é¢é”®ç›˜</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>diamond</name>
+ <description>Diamond 9801 / 9802 series</description>
+ <description xml:lang="af">Diamond 9801 / 9802 series</description>
+ <description xml:lang="az">Diamond 9801 / 9802 seryaları</description>
+ <description xml:lang="cs">Diamond řada 9801 / 9802</description>
+ <description xml:lang="da">Diamond 9801 / 9802-serien</description>
+ <description xml:lang="en_GB">Diamond 9801 / 9802 series</description>
+ <description xml:lang="fr">clavier Diamond 9801 / 9802 series</description>
+ <description xml:lang="hu">Diamond 9801 / 9802 series</description>
+ <description xml:lang="nl">Diamond 9801 / 9802 serie</description>
+ <description xml:lang="ru">Модели Diamond 9801/9802</description>
+ <description xml:lang="rw">Ibyiciro</description>
+ <description xml:lang="sk">Diamond séria 9801 / 9802</description>
+ <description xml:lang="sq">Seritë Diamond 9801 / 9802</description>
+ <description xml:lang="sr">Diamond 9801 / 9802 Ñерија</description>
+ <description xml:lang="sv">Diamond 9801/9802-serien</description>
+ <description xml:lang="tr">Diamond 9801 / 9802 serileri</description>
+ <description xml:lang="uk">Моделі Diamond 9801/9802</description>
+ <description xml:lang="vi">Sê ri Diamond 9801 / 9802</description>
+ <description xml:lang="zh_CN">Diamond 9801 / 9802 系列</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>dtk2000</name>
+ <description>DTK2000</description>
+ <description xml:lang="en_GB">DTK2000</description>
+ <description xml:lang="nl">DTK2000</description>
+ <description xml:lang="ru">DTK2000</description>
+ <description xml:lang="vi">DTK2000</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>ennyah_dkb1008</name>
+ <description>Ennyah DKB-1008</description>
+ <description xml:lang="af">Ennyah DKB-1008</description>
+ <description xml:lang="az">Ennyah DKB-1008</description>
+ <description xml:lang="cs">Ennyah DKB-1008</description>
+ <description xml:lang="da">Ennyah DKB-1008</description>
+ <description xml:lang="en_GB">Ennyah DKB-1008</description>
+ <description xml:lang="fr">Ennyah DKB-1008</description>
+ <description xml:lang="hu">Ennyah DKB-1008</description>
+ <description xml:lang="nl">Ennyah DKB-1008</description>
+ <description xml:lang="ru">Ennyah DKB-1008</description>
+ <description xml:lang="sk">Ennyah DKB-1008</description>
+ <description xml:lang="sq">Ennyah DKB-1008</description>
+ <description xml:lang="sr">Ennyah DKB-1008</description>
+ <description xml:lang="sv">Ennyah DKB-1008</description>
+ <description xml:lang="tr">Ennyah DKB-1008</description>
+ <description xml:lang="uk">Ennyah DKB-1008</description>
+ <description xml:lang="vi">Ennyah DKB-1008</description>
+ <description xml:lang="zh_CN">Ennyah DKB-1008</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>genius</name>
+ <description>Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="af">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="az">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="cs">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="da">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="en_GB">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="fr">clavier Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="hu">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="nl">Genius Comfy KB-16M / Genius MM toetsenbord KWD-910</description>
+ <description xml:lang="ru">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="sk">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="sq">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="sr">Genius Comfy KB-16M / Genius ММ таÑтатура KWD-910</description>
+ <description xml:lang="sv">Genius Comfy KB-16M / Genius MM-tangentbord KWD-910</description>
+ <description xml:lang="tr">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="uk">Genius Comfy KB-16M / Genius MM Keyboard KWD-910</description>
+ <description xml:lang="vi">Genius Tiện lợi KB-16M / Bàn phím Genius MM KWD-910</description>
+ <description xml:lang="zh_CN">通用 Comfy KB-16M / Genius MM 键盘 KWD-910</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>geniuscomfy2</name>
+ <description>Genius Comfy KB-21e-Scroll</description>
+ <description xml:lang="en_GB">Genius Comfy KB-21e-Scroll</description>
+ <description xml:lang="nl">Genius Comfy KB-21e-Scroll</description>
+ <description xml:lang="ru">Genius Comfy KB-21e-Scroll</description>
+ <description xml:lang="vi">Genius Comfy KB-21e-Scroll</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>gyration</name>
+ <description>Gyration</description>
+ <description xml:lang="en_GB">Gyration</description>
+ <description xml:lang="nl">Kroatisch</description>
+ <description xml:lang="ru">Гирашн</description>
+ <description xml:lang="vi">Sự chuyển hồi</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpi6</name>
+ <description>Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="af">Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="az">Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="bg">Интернет клавиатура на Dell</description>
+ <description xml:lang="cs">Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="da">Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="en_GB">Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="fr">clavier Hewlett-Packard Internet</description>
+ <description xml:lang="hu">Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="nl">Hewlett-Packard internet toetsenbord</description>
+ <description xml:lang="ru">Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="sk">Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="sq">Tastierë për Internet Hewlett-Packard</description>
+ <description xml:lang="sr">Hewlett-Packard Интернет таÑтатура</description>
+ <description xml:lang="sv">Hewlett-Packard Internettangentbord</description>
+ <description xml:lang="tr">Hewlett-Packard Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Hewlett-Packard Internet Keyboard</description>
+ <description xml:lang="vi">Bàn phím Internet Hewlett-Packard</description>
+ <description xml:lang="zh_CN">惠普网际键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hp2501</name>
+ <description>Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="af">Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="az">Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="cs">Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="da">Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="en_GB">Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="fr">clavier Hewlett-Packard SK-2501 Multimedia</description>
+ <description xml:lang="hu">Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="nl">Hewlett-Packard SK-2501 multimedia toetsenbord</description>
+ <description xml:lang="ru">Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="sk">Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="sq">Tastierë multimediale Hewlett-Packard SK-2501</description>
+ <description xml:lang="sr">Hewlett-Packard SK-2501 мултимедијална таÑтатура</description>
+ <description xml:lang="sv">Hewlett-Packard SK-2501 multimediatangentbord</description>
+ <description xml:lang="tr">Hewlett-Packard SK-2501 Çokluortam Klavyesi</description>
+ <description xml:lang="uk">Hewlett-Packard SK-2501 Multimedia Keyboard</description>
+ <description xml:lang="vi">Bàn phím phim nhạc Hewlett-Packard SK-2501</description>
+ <description xml:lang="zh_CN">惠普 SK-2501 多媒体键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hp2505</name>
+ <description>Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="af">Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="az">Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="bg">Интернет клавиатура на Dell</description>
+ <description xml:lang="cs">Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="da">Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="en_GB">Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="fr">clavier Hewlett-Packard SK-2505 Internet</description>
+ <description xml:lang="hu">Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="nl">Hewlett-Packard SK-2505 internet toetsenbord</description>
+ <description xml:lang="ru">Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="sk">Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="sq">Tastierë për Internet Hewlett-Packard SK-2505</description>
+ <description xml:lang="sr">Hewlett-Packard SK-2505 Интернет таÑтатура</description>
+ <description xml:lang="sv">Hewlett-Packard SK-2505 Internettangentbord</description>
+ <description xml:lang="tr">Hewlett-Packard SK-2505 Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Hewlett-Packard SK-2505 Internet Keyboard</description>
+ <description xml:lang="vi">Bàn phím Internet Hewlett-Packard SK-2505</description>
+ <description xml:lang="zh_CN">惠普 SK-2505 网际键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpxe3gc</name>
+ <description>Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="af">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="az">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="cs">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="da">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="en_GB">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="fr">clavier Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="hu">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="nl">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="ru">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="sk">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="sq">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="sr">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="sv">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="tr">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="uk">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="vi">Hewlett-Packard Omnibook XE3 GC</description>
+ <description xml:lang="zh_CN">惠普 Omnibook XE3 GC</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpxe3gf</name>
+ <description>Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="af">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="az">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="cs">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="da">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="en_GB">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="fr">clavier Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="hu">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="nl">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="ru">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="sk">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="sq">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="sr">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="sv">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="tr">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="uk">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="vi">Hewlett-Packard Omnibook XE3 GF</description>
+ <description xml:lang="zh_CN">惠普 Omnibook XE3 CF</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpxt1000</name>
+ <description>Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="af">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="az">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="cs">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="da">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="en_GB">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="fr">clavier Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="hu">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="nl">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="ru">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="sk">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="sq">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="sr">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="sv">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="tr">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="uk">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="vi">Hewlett-Packard Omnibook XT1000</description>
+ <description xml:lang="zh_CN">惠普 Omnibook XT1000</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hpzt11xx</name>
+ <description>Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="af">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="az">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="cs">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="da">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="en_GB">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="fr">clavier Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="hu">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="nl">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="ru">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="sk">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="sq">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="sr">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="sv">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="tr">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="uk">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="vi">Hewlett-Packard Pavilion ZT11xx</description>
+ <description xml:lang="zh_CN">惠普 Pavilion ZT11xx</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hp500fa</name>
+ <description>Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="af">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="az">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="cs">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="da">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="en_GB">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="fr">clavier Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="hu">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="nl">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="ru">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="rw">500</description>
+ <description xml:lang="sk">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="sq">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="sr">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="sv">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="tr">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="uk">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="vi">Hewlett-Packard Omnibook 500 FA</description>
+ <description xml:lang="zh_CN">惠普 Omnibook 500 FA</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hp5xx</name>
+ <description>Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="af">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="az">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="bg">Интернет клавиатура на Dell</description>
+ <description xml:lang="cs">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="da">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="en_GB">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="fr">clavier Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="hu">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="nl">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="ru">Hewlett-Packard·Omnibook·5xx</description>
+ <description xml:lang="sk">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="sq">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="sr">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="sv">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="tr">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="uk">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="vi">Hewlett-Packard Omnibook 5xx</description>
+ <description xml:lang="zh_CN">惠普 Omnibook 5xx</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>hp6000</name>
+ <description>Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="af">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="az">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="cs">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="da">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="en_GB">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="fr">clavier Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="hu">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="nl">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="ru">Hewlett-Packard·Omnibook·6000/6100</description>
+ <description xml:lang="sk">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="sq">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="sr">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="sv">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="tr">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="uk">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="vi">Hewlett-Packard Omnibook 6000/6100</description>
+ <description xml:lang="zh_CN">惠普 Omnibook 6000/6100</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>honeywell_euroboard</name>
+ <description>Honeywell Euroboard</description>
+ <description xml:lang="af">Honeywell Euroboard</description>
+ <description xml:lang="az">Honeywell Euroboard</description>
+ <description xml:lang="cs">Honeywell Euroboard</description>
+ <description xml:lang="da">Honeywell Euroboard</description>
+ <description xml:lang="en_GB">Honeywell Euroboard</description>
+ <description xml:lang="fr">Honeywell Euroboard</description>
+ <description xml:lang="hu">Honeywell Euroboard</description>
+ <description xml:lang="nl">Honeywell Euroboard</description>
+ <description xml:lang="ru">Honeywell Euroboard</description>
+ <description xml:lang="sk">Honeywell Euroboard</description>
+ <description xml:lang="sq">Honeywell Euroboard</description>
+ <description xml:lang="sr">Honeywell Euroboard</description>
+ <description xml:lang="sv">Honeywell Euroboard</description>
+ <description xml:lang="tr">Honeywell Euroboard</description>
+ <description xml:lang="uk">Honeywell Euroboard</description>
+ <description xml:lang="vi">Honeywell Euroboard</description>
+ <description xml:lang="zh_CN">Honeywell 欧洲键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>rapidaccess</name>
+ <description>IBM Rapid Access</description>
+ <description xml:lang="af">IBM Rapid Access</description>
+ <description xml:lang="az">IBM Rapid Access</description>
+ <description xml:lang="bg">IBM Rapid Access</description>
+ <description xml:lang="cs">IBM Rapid Access</description>
+ <description xml:lang="da">IBM Rapid Access</description>
+ <description xml:lang="en_GB">IBM Rapid Access</description>
+ <description xml:lang="fr">clavier IBM Rapid Access</description>
+ <description xml:lang="hu">IBM Rapid Access</description>
+ <description xml:lang="nl">IBM Rapid Access</description>
+ <description xml:lang="ru">IBM Rapid Access</description>
+ <description xml:lang="sk">IBM Rapid Access</description>
+ <description xml:lang="sq">IBM Rapid Access</description>
+ <description xml:lang="sr">IBM Rapid Access</description>
+ <description xml:lang="sv">IBM Rapid Access</description>
+ <description xml:lang="tr">IBM Hızlı Erişim</description>
+ <description xml:lang="uk">IBM Rapid Access</description>
+ <description xml:lang="vi">Truy cập nhanh IBM</description>
+ <description xml:lang="zh_CN">IBM Rapid Access</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>rapidaccess2</name>
+ <description>IBM Rapid Access II</description>
+ <description xml:lang="af">IBM Rapid Access II</description>
+ <description xml:lang="az">IBM Rapid Access II</description>
+ <description xml:lang="bg">IBM Rapid Access II</description>
+ <description xml:lang="cs">IBM Rapid Access II</description>
+ <description xml:lang="da">IBM Rapid Access II</description>
+ <description xml:lang="en_GB">IBM Rapid Access II</description>
+ <description xml:lang="fr">clavier IBM Rapid Access II</description>
+ <description xml:lang="hu">IBM Rapid Access II</description>
+ <description xml:lang="nl">IBM Rapid Access II</description>
+ <description xml:lang="ru">IBM Rapid Access II</description>
+ <description xml:lang="sk">IBM Rapid Access II</description>
+ <description xml:lang="sq">IBM Rapid Access II</description>
+ <description xml:lang="sr">IBM Rapid Access II</description>
+ <description xml:lang="sv">IBM Rapid Access II</description>
+ <description xml:lang="tr">IBM Hızlı Erişim II</description>
+ <description xml:lang="uk">IBM Rapid Access II</description>
+ <description xml:lang="vi">Truy cập nhanh IBM II</description>
+ <description xml:lang="zh_CN">IBM Rapid Access II</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>rapidaccess2a</name>
+ <description>IBM Rapid Access II (alternate option)</description>
+ <description xml:lang="af">IBM Rapid Access II (alternate option)</description>
+ <description xml:lang="az">IBM Rapid Access II (alternate option)</description>
+ <description xml:lang="bg">IBM Rapid Access II</description>
+ <description xml:lang="cs">IBM Rapid Access II (alternativní volba)</description>
+ <description xml:lang="da">IBM Rapid Access II (alternativ)</description>
+ <description xml:lang="en_GB">IBM Rapid Access II (alternate option)</description>
+ <description xml:lang="fr">clavier IBM Rapid Access II (option alternative)</description>
+ <description xml:lang="hu">IBM Rapid Access II (másik lehetőség)</description>
+ <description xml:lang="nl">IBM Rapid Access II (alternatieve optie)</description>
+ <description xml:lang="ru">IBM Rapid Access II (альтернативный вариант)</description>
+ <description xml:lang="rw">Ihitamo</description>
+ <description xml:lang="sk">IBM Rapid Access II (alternatívna voľba)</description>
+ <description xml:lang="sq">IBM Rapid Access II (opcioni alternativ)</description>
+ <description xml:lang="sr">IBM Rapid Access II (друга могућноÑÑ‚)</description>
+ <description xml:lang="sv">IBM Rapid Access II (alternativ)</description>
+ <description xml:lang="tr">IBM Hızlı Erişim II (diğer seçenek)</description>
+ <description xml:lang="uk">IBM Rapid Access II (альтернативний варіант)</description>
+ <description xml:lang="vi">Truy cập nhanh IBM II (luân phiên tùy chá»n)</description>
+ <description xml:lang="zh_CN">IBM Rapid Access II(替代选项)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>thinkpad</name>
+ <description>IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="af">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="az">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="cs">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="da">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="en_GB">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="fr">clavier IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="hu">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="nl">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="ru">IBM·ThinkPad·560Z/600/600E/A22E</description>
+ <description xml:lang="rw">600</description>
+ <description xml:lang="sk">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="sq">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="sr">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="sv">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="tr">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="uk">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="vi">IBM ThinkPad 560Z/600/600E/A22E</description>
+ <description xml:lang="zh_CN">IBM ThinkPad 560Z/600/600E/A22E</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiaccess</name>
+ <description>Logitech Access Keyboard</description>
+ <description xml:lang="en_GB">Logitech Access Keyboard</description>
+ <description xml:lang="nl">Logitech Access toetsenbord</description>
+ <description xml:lang="ru">Logitech Access Keyboard</description>
+ <description xml:lang="vi">Bàn phím Truy cập Logitech</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>ltcd</name>
+ <description>Logitech Cordless Desktop</description>
+ <description xml:lang="af">Logitech Cordless Desktop</description>
+ <description xml:lang="az">Logitech Cordless Desktop</description>
+ <description xml:lang="bg">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="cs">Logitech Cordless Desktop</description>
+ <description xml:lang="da">Logitech Cordless Desktop</description>
+ <description xml:lang="en_GB">Logitech Cordless Desktop</description>
+ <description xml:lang="fr">Logitech Cordless Desktop</description>
+ <description xml:lang="hu">Logitech Cordless Desktop</description>
+ <description xml:lang="nl">Logitech Cordless Desktop</description>
+ <description xml:lang="ru">Logitech Cordless Desktop</description>
+ <description xml:lang="sk">Logitech Cordless Desktop</description>
+ <description xml:lang="sq">Logitech Cordless Desktop</description>
+ <description xml:lang="sr">Logitech Cordless Desktop</description>
+ <description xml:lang="sv">Logitech Cordless Desktop</description>
+ <description xml:lang="tr">Logitech Kablosuz Masaüstü</description>
+ <description xml:lang="uk">Logitech Cordless Desktop</description>
+ <description xml:lang="vi">Logitech Cordless Desktop</description>
+ <description xml:lang="zh_CN">罗技无影手</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicdit</name>
+ <description>Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="af">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="az">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="bg">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="cs">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="da">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="en_GB">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="fr">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="hu">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="nl">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="ru">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="sk">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="sq">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="sr">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="sv">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="tr">Logitech Kablosuz Masaüstü iTouch</description>
+ <description xml:lang="uk">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="vi">Logitech Cordless Desktop iTouch</description>
+ <description xml:lang="zh_CN">罗技网际无影手</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicdp</name>
+ <description>Logitech Cordless Desktop Pro</description>
+ <description xml:lang="af">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="az">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="bg">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="cs">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="da">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="en_GB">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="fr">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="hu">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="nl">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="ru">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="sk">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="sq">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="sr">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="sv">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="tr">Logitech Kablosuz Masaüstü Pro</description>
+ <description xml:lang="uk">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="vi">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="zh_CN">罗技无影手高级版</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicdpa</name>
+ <description>Logitech Cordless Desktop Pro (alternate option)</description>
+ <description xml:lang="af">Logitech Cordless Desktop Pro (alternatiewe opsie)</description>
+ <description xml:lang="az">Logitech Cordless Desktop Pro (alternate option)</description>
+ <description xml:lang="bg">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="cs">Logitech Cordless Desktop Pro (alternativní volba)</description>
+ <description xml:lang="da">Logitech Cordless Desktop Pro (alternativ)</description>
+ <description xml:lang="en_GB">Logitech Cordless Desktop Pro (alternate option)</description>
+ <description xml:lang="fr">Logitech Cordless Desktop Pro (option alternative)</description>
+ <description xml:lang="hu">Logitech Cordless Desktop Pro (másik lehetőség)</description>
+ <description xml:lang="nl">Logitech Cordless Desktop Pro (alternatieve optie)</description>
+ <description xml:lang="ru">Logitech Cordless Desktop Pro (альтернативный вариант)</description>
+ <description xml:lang="rw">Ihitamo</description>
+ <description xml:lang="sk">Logitech Cordless Desktop Pro (alternatívna voľba)</description>
+ <description xml:lang="sq">Logitech Cordless Desktop Pro (opcioni alternativ)</description>
+ <description xml:lang="sr">Logitech Cordless Desktop Pro (додатна могућноÑÑ‚)</description>
+ <description xml:lang="sv">Logitech Cordless Desktop Pro (alternativ)</description>
+ <description xml:lang="tr">Logitech Kablosuz Masaüstü Pro (diğer seçenek)</description>
+ <description xml:lang="uk">Logitech Cordless Desktop Pro (альтернативний варіант)</description>
+ <description xml:lang="vi">Logitech Cordless Desktop Pro (luân phiên tùy chá»n)</description>
+ <description xml:lang="zh_CN">罗技无影手高级版(替代选项)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicdpa2</name>
+ <description>Logitech Cordless Desktop Pro (alternate option2)</description>
+ <description xml:lang="af">Logitech Cordless Desktop Pro (alternatiewe opsie2)</description>
+ <description xml:lang="az">Logitech Cordless Desktop Pro (alternate option2)</description>
+ <description xml:lang="bg">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="cs">Logitech Cordless Desktop Pro (alternativní volba 2)</description>
+ <description xml:lang="da">Logitech Cordless Desktop Pro (alternativ 2)</description>
+ <description xml:lang="en_GB">Logitech Cordless Desktop Pro (alternate option2)</description>
+ <description xml:lang="fr">Logitech Cordless Desktop Pro (option2 alternative)</description>
+ <description xml:lang="hu">Logitech Cordless Desktop Pro (harmadik lehetőség)</description>
+ <description xml:lang="nl">Logitech Cordless Desktop Pro (alternatieve optie2)</description>
+ <description xml:lang="ru">Logitech Cordless Desktop Pro (альтернативный вариант 2)</description>
+ <description xml:lang="sk">Logitech Cordless Desktop Pro (alternatívna voľba2)</description>
+ <description xml:lang="sq">Logitech Cordless Desktop Pro (opcioni i dytë alternativ)</description>
+ <description xml:lang="sr">Logitech Cordless Desktop Pro (додатна могућноÑÑ‚ 2)</description>
+ <description xml:lang="sv">Logitech Cordless Desktop Pro (alternativ2)</description>
+ <description xml:lang="tr">Logitech Kablosuz Masaüstü Pro (diğer 2. seçenek)</description>
+ <description xml:lang="uk">Logitech Cordless Desktop Pro (альтернативний варіант 2)</description>
+ <description xml:lang="vi">Logitech Cordless Desktop Pro (luân phiên tùy chá»n2)</description>
+ <description xml:lang="zh_CN">罗技无影手高级版(替代选项)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicdo</name>
+ <description>Logitech Cordless Desktop Optical</description>
+ <description xml:lang="af">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="az">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="bg">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="cs">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="da">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="en_GB">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="fr">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="hu">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="nl">Logitech Cordless Desktop Optisch</description>
+ <description xml:lang="ru">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="sk">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="sq">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="sr">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="sv">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="tr">Logitech Kablosuz Masaüstü Optik</description>
+ <description xml:lang="uk">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="vi">Logitech Cordless Desktop Optical</description>
+ <description xml:lang="zh_CN">罗技无影手光学组åˆ</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicfn</name>
+ <description>Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="af">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="az">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="bg">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="cs">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="da">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="en_GB">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="fr">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="hu">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="nl">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="ru">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="sk">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="sq">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="sr">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="sv">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="tr">Logitech Kablosuz Özgür/Masaüstü Tarayıcı</description>
+ <description xml:lang="uk">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="vi">Logitech Cordless Freedom/Desktop Navigator</description>
+ <description xml:lang="zh_CN">罗技æžå…‰æ— å½±æ‰‹ç»„åˆ/æ¡Œé¢å¯¼èˆªå™¨</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logicdn</name>
+ <description>Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="af">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="az">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="bg">Logitech Cordless Desktop Pro</description>
+ <description xml:lang="cs">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="da">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="en_GB">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="fr">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="hu">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="nl">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="ru">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="sk">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="sq">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="sr">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="sv">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="tr">Logitech Kablosuz Masaüstü Tarayıcı</description>
+ <description xml:lang="uk">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="vi">Logitech Cordless Desktop Navigator</description>
+ <description xml:lang="zh_CN">罗技无影手桌é¢å¯¼èˆªå™¨</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logidak</name>
+ <description>Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="af">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="az">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="bg">Logitech Интернет клавиатура</description>
+ <description xml:lang="cs">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="da">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="en_GB">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="fr">clavier Logitech Deluxe Access</description>
+ <description xml:lang="hu">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="nl">Logitech Deluxe Access toetsenbord</description>
+ <description xml:lang="ru">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="sk">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="sq">Tastierë Logitech Deluxe Access</description>
+ <description xml:lang="sr">Logitech Deluxe Access таÑтатура</description>
+ <description xml:lang="sv">Logitech Deluxe Access-tangentbord</description>
+ <description xml:lang="tr">Logitech Deluxe EriÅŸim Klavyesi</description>
+ <description xml:lang="uk">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="vi">Logitech Deluxe Access Keyboard</description>
+ <description xml:lang="zh_CN">罗技强手键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiitc</name>
+ <description>Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="af">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="az">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="cs">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="da">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="en_GB">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="fr">clavier Logitech iTouch Cordless (model Y-RB6)</description>
+ <description xml:lang="hu">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="nl">Logitech iTouch draadloos toetsenbord (model Y-RB6)</description>
+ <description xml:lang="ru">Logitech iTouch Cordless Keyboard (модель Y-RB6)</description>
+ <description xml:lang="rw">Urugero</description>
+ <description xml:lang="sk">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="sq">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="sr">Logitech iTouch Cordless таÑтатура (модел Y-RB6)</description>
+ <description xml:lang="sv">Logitech iTouch Cordless Keyboard (modell Y-RB6)</description>
+ <description xml:lang="tr">Logitech iTouch Kablosuz Klavyesi (model Y-RB6)</description>
+ <description xml:lang="uk">Logitech iTouch Cordless Keyboard (модель Y-RB6)</description>
+ <description xml:lang="vi">Bàn phím Không dây Logitech iTouch (mẫu mã Y-RB6)</description>
+ <description xml:lang="zh_CN">罗技 iTouch 无影手键盘(åž‹å· Y-RB6)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiik</name>
+ <description>Logitech Internet Keyboard</description>
+ <description xml:lang="af">Logitech Internet Keyboard</description>
+ <description xml:lang="az">Logitech Internet Keyboard</description>
+ <description xml:lang="bg">Logitech Интернет клавиатура</description>
+ <description xml:lang="cs">Logitech Internet Keyboard</description>
+ <description xml:lang="da">Logitech Internet Keyboard</description>
+ <description xml:lang="en_GB">Logitech Internet Keyboard</description>
+ <description xml:lang="fr">clavier Logitech Internet</description>
+ <description xml:lang="hu">Logitech Internet Keyboard</description>
+ <description xml:lang="nl">Logitech internet toetsenbord</description>
+ <description xml:lang="ru">Logitech Internet Keyboard</description>
+ <description xml:lang="sk">Logitech Internet Keyboard</description>
+ <description xml:lang="sq">Tastierë për Internet Logitech</description>
+ <description xml:lang="sr">Logitech Интернет таÑтатура</description>
+ <description xml:lang="sv">Logitech Internettangentbord</description>
+ <description xml:lang="tr">Logitech Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Logitech Internet Keyboard</description>
+ <description xml:lang="vi">Bàn phím Internet Logitech</description>
+ <description xml:lang="zh_CN">罗技网际键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>itouch</name>
+ <description>Logitech iTouch</description>
+ <description xml:lang="af">Logitech iTouch</description>
+ <description xml:lang="az">Logitech iTouch</description>
+ <description xml:lang="bg">Logitech iTouch</description>
+ <description xml:lang="cs">Logitech iTouch</description>
+ <description xml:lang="da">Logitech iTouch</description>
+ <description xml:lang="en_GB">Logitech iTouch</description>
+ <description xml:lang="fr">Logitech iTouch</description>
+ <description xml:lang="hu">Logitech iTouch</description>
+ <description xml:lang="nl">Logitech iTouch</description>
+ <description xml:lang="ru">Logitech iTouch</description>
+ <description xml:lang="sk">Logitech iTouch</description>
+ <description xml:lang="sq">Logitech iTouch</description>
+ <description xml:lang="sr">Logitech iTouch</description>
+ <description xml:lang="sv">Logitech iTouch</description>
+ <description xml:lang="tr">Logitech iTouch</description>
+ <description xml:lang="uk">Logitech iTouch</description>
+ <description xml:lang="vi">Logitech iTouch</description>
+ <description xml:lang="zh_CN">罗技 iTouch</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiitc</name>
+ <description>Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="af">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="az">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="cs">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="da">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="en_GB">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="fr">clavier Logitech iTouch Cordless (model Y-RB6)</description>
+ <description xml:lang="hu">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="nl">Logitech iTouch draadloos toetsenbord (model Y-RB6)</description>
+ <description xml:lang="ru">Logitech iTouch Cordless Keyboard (модель Y-RB6)</description>
+ <description xml:lang="rw">Urugero</description>
+ <description xml:lang="sk">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="sq">Logitech iTouch Cordless Keyboard (model Y-RB6)</description>
+ <description xml:lang="sr">Logitech iTouch Cordless таÑтатура (модел Y-RB6)</description>
+ <description xml:lang="sv">Logitech iTouch Cordless Keyboard (modell Y-RB6)</description>
+ <description xml:lang="tr">Logitech iTouch Kablosuz Klavyesi (model Y-RB6)</description>
+ <description xml:lang="uk">Logitech iTouch Cordless Keyboard (модель Y-RB6)</description>
+ <description xml:lang="vi">Bàn phím Không dây Logitech iTouch (mẫu mã Y-RB6)</description>
+ <description xml:lang="zh_CN">罗技 iTouch 无影手键盘(åž‹å· Y-RB6)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiik</name>
+ <description>Logitech Internet Keyboard</description>
+ <description xml:lang="af">Logitech Internet Keyboard</description>
+ <description xml:lang="az">Logitech Internet Keyboard</description>
+ <description xml:lang="bg">Logitech Интернет клавиатура</description>
+ <description xml:lang="cs">Logitech Internet Keyboard</description>
+ <description xml:lang="da">Logitech Internet Keyboard</description>
+ <description xml:lang="en_GB">Logitech Internet Keyboard</description>
+ <description xml:lang="fr">clavier Logitech Internet</description>
+ <description xml:lang="hu">Logitech Internet Keyboard</description>
+ <description xml:lang="nl">Logitech internet toetsenbord</description>
+ <description xml:lang="ru">Logitech Internet Keyboard</description>
+ <description xml:lang="sk">Logitech Internet Keyboard</description>
+ <description xml:lang="sq">Tastierë për Internet Logitech</description>
+ <description xml:lang="sr">Logitech Интернет таÑтатура</description>
+ <description xml:lang="sv">Logitech Internettangentbord</description>
+ <description xml:lang="tr">Logitech Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Logitech Internet Keyboard</description>
+ <description xml:lang="vi">Bàn phím Internet Logitech</description>
+ <description xml:lang="zh_CN">罗技网际键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiink</name>
+ <description>Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="af">Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="az">Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="bg">Logitech клавиатура за Интернет навигациÑ</description>
+ <description xml:lang="cs">Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="da">Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="en_GB">Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="fr">clavier Logitech Internet Navigator</description>
+ <description xml:lang="hu">Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="nl">Logitech Internet Navigator toetsenbord</description>
+ <description xml:lang="ru">Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="sk">Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="sq">Tastierë Logitech Internet Navigator</description>
+ <description xml:lang="sr">Logitech Интернет навигатор таÑтатура</description>
+ <description xml:lang="sv">Logitech Internet Navigator-tangentbord</description>
+ <description xml:lang="tr">Logitech Örütbağ Tarayıcı Klavyesi</description>
+ <description xml:lang="uk">Logitech Internet Navigator Keyboard</description>
+ <description xml:lang="vi">Bàn phím Logitech Internet Navigator</description>
+ <description xml:lang="zh_CN">罗技网际导航键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>itouchin</name>
+ <description>Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="af">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="az">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="bg">Logitech клавиатура за Интернет навигациÑ</description>
+ <description xml:lang="cs">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="da">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="en_GB">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="fr">clavier Logitech iTouch Internet Navigator</description>
+ <description xml:lang="hu">Logitech iTouch Keyboard Internet Navigator</description>
+ <description xml:lang="nl">Logitech iTouch toetsenbord Internet Navigator</description>
+ <description xml:lang="ru">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="rw">Mwandikisho</description>
+ <description xml:lang="sk">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="sq">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="sr">Logitech iTouch таÑтатура Интернет навигатор</description>
+ <description xml:lang="sv">Logitech iTouch-tangentbord Internet Navigator</description>
+ <description xml:lang="tr">Logitech iTouch klavyesi Örütbağ Tarayıcı</description>
+ <description xml:lang="uk">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="vi">Logitech iTouch keyboard Internet Navigator</description>
+ <description xml:lang="zh_CN">罗技 iTouch 键盘网际导航器</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>logiultrax</name>
+ <description>Logitech Ultra-X Keyboard</description>
+ <description xml:lang="ru">Logitech Ultra-X Keyboard</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>mx1998</name>
+ <description>Memorex MX1998</description>
+ <description xml:lang="af">Memorex MX1998</description>
+ <description xml:lang="az">Memorex MX1998</description>
+ <description xml:lang="cs">Memorex MX1998</description>
+ <description xml:lang="da">Memorex MX1998</description>
+ <description xml:lang="en_GB">Memorex MX1998</description>
+ <description xml:lang="fr">Memorex MX1998</description>
+ <description xml:lang="hu">Memorex MX1998</description>
+ <description xml:lang="nl">Memorex MX1998</description>
+ <description xml:lang="ru">Memorex MX1998</description>
+ <description xml:lang="sk">Memorex MX1998</description>
+ <description xml:lang="sq">Memorex MX1998</description>
+ <description xml:lang="sr">Memorex MX1998</description>
+ <description xml:lang="sv">Memorex MX1998</description>
+ <description xml:lang="tr">Memorex MX1998</description>
+ <description xml:lang="uk">Memorex MX1998</description>
+ <description xml:lang="vi">Memorex MX1998</description>
+ <description xml:lang="zh_CN">Memorex MX1998</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>mx2500</name>
+ <description>Memorex MX2500 EZ-Access Keyboard</description>
+ <description xml:lang="af">Memorex MX2500 EZ-Access Keyboard</description>
+ <description xml:lang="az">Memorex MX2500 EZ-Access Keyboard</description>
+ <description xml:lang="cs">Memorex MX2500 EZ-Access Keyboard</description>
+ <description xml:lang="da">Memorex MX2500 EZ-Access Keyboard</description>
+ <description xml:lang="en_GB">Memorex MX2500 EZ-Access Keyboard</description>
+ <description xml:lang="fr">clavier Memorex MX2500 EZ-Access</description>
+ <description xml:lang="hu">Memorex MX2500 EZ-Access billentyűzet</description>
+ <description xml:lang="nl">Memorex MX2500 EZ-Access toetsenbord</description>
+ <description xml:lang="ru">Memorex MX2500 EZ-Access Keyboard</description>
+ <description xml:lang="sk">Memorex MX2500 EZ-Access Keyboard</description>
+ <description xml:lang="sq">Tastierë Memorex MX2500 EZ-Access</description>
+ <description xml:lang="sr">Memorex MX2500 EZ-Access таÑтатура</description>
+ <description xml:lang="sv">Memorex MX2500 EZ-Access-tangentbord</description>
+ <description xml:lang="tr">Memorex MX2500 EZ EriÅŸim Klavyesi</description>
+ <description xml:lang="uk">Memorex MX2500 EZ-Access Keyboard</description>
+ <description xml:lang="vi">Bàn phím Memorex MX2500 EZ-Access</description>
+ <description xml:lang="zh_CN">Memorex MX2500 EZ-Access 键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>mx2750</name>
+ <description>Memorex MX2750</description>
+ <description xml:lang="af">Memorex MX2750</description>
+ <description xml:lang="az">Memorex MX2750</description>
+ <description xml:lang="cs">Memorex MX2750</description>
+ <description xml:lang="da">Memorex MX2750</description>
+ <description xml:lang="en_GB">Memorex MX2750</description>
+ <description xml:lang="fr">Memorex MX2750</description>
+ <description xml:lang="hu">Memorex MX2750</description>
+ <description xml:lang="nl">Memorex MX2750</description>
+ <description xml:lang="ru">Memorex MX2750</description>
+ <description xml:lang="sk">Memorex MX2750</description>
+ <description xml:lang="sq">Memorex MX2750</description>
+ <description xml:lang="sr">Memorex MX2750</description>
+ <description xml:lang="sv">Memorex MX2750</description>
+ <description xml:lang="tr">Memorex MX2750</description>
+ <description xml:lang="uk">Memorex MX2750</description>
+ <description xml:lang="vi">Memorex MX2750</description>
+ <description xml:lang="zh_CN">Memorex MX2750</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftinet</name>
+ <description>Microsoft Internet Keyboard</description>
+ <description xml:lang="af">Microsoft Internetsleutelbord</description>
+ <description xml:lang="az">Microsoft Internet Keyboard</description>
+ <description xml:lang="bg">Интернет клавиатура на Chicony</description>
+ <description xml:lang="cs">Microsoft Internet Keyboard</description>
+ <description xml:lang="da">Microsoft Internet Keyboard</description>
+ <description xml:lang="en_GB">Microsoft Internet Keyboard</description>
+ <description xml:lang="fr">clavier Microsoft Internet</description>
+ <description xml:lang="hu">Microsoft Internet Keyboard</description>
+ <description xml:lang="nl">Microsoft internet toetsenbord</description>
+ <description xml:lang="ru">Microsoft Internet Keyboard</description>
+ <description xml:lang="sk">Microsoft Internet Keyboard</description>
+ <description xml:lang="sq">Tastierë Microsoft Internet</description>
+ <description xml:lang="sr">МикроÑофтова Интернет таÑтатура</description>
+ <description xml:lang="sv">Microsoft Internet Keyboard</description>
+ <description xml:lang="tr">Microsoft Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Microsoft Internet Keyboard</description>
+ <description xml:lang="vi">Bàn phím Internet Microsoft</description>
+ <description xml:lang="zh_CN">微软网际键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftpro</name>
+ <description>Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="af">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="az">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="cs">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="da">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="en_GB">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="fr">clavier Microsoft Natural Pro / Microsoft Internet Pro</description>
+ <description xml:lang="hu">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="nl">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="ru">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="sk">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="sq">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="sr">МикроÑофт Ðатурал таÑтатура Про / МикроÑофт Интернет таÑтатура Про </description>
+ <description xml:lang="sv">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="tr">Microsoft Basit Klavye Pro / Microsoft Örütbağ Klavyesi Pro</description>
+ <description xml:lang="uk">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="vi">Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="zh_CN">微软自然键盘增强版/微软网际键盘增强版</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftprousb</name>
+ <description>Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="en_GB">Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="nl">Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="ru">Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</description>
+ <description xml:lang="vi">Microsoft Natural Keyboard Pro USB / Microsoft Internet Keyboard Pro</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftprooem</name>
+ <description>Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="af">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="az">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="bg">Microsoft Natural Pro</description>
+ <description xml:lang="cs">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="da">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="en_GB">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="fr">clavier Microsoft Natural Pro OEM</description>
+ <description xml:lang="hu">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="nl">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="ru">Microsoft·Natural·Keyboard·Pro·OEM</description>
+ <description xml:lang="sk">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="sq">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="sr">МикроÑофт Ðатурал таÑтатура Про ОЕМ</description>
+ <description xml:lang="sv">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="tr">Microsoft Basit Klavye Pro OEM</description>
+ <description xml:lang="uk">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="vi">Microsoft Natural Keyboard Pro OEM</description>
+ <description xml:lang="zh_CN">微软自然键盘增强版 OEM</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftprose</name>
+ <description>Microsoft Internet Keyboard Pro, Swedish</description>
+ <description xml:lang="af">Microsoft Internet Keyboard Pro, Sweeds</description>
+ <description xml:lang="az">Microsoft Internet Keyboard Pro, Swedish</description>
+ <description xml:lang="bg">Интернет клавиатура на Chicony</description>
+ <description xml:lang="cs">Microsoft Internet Keyboard Pro, Švédská</description>
+ <description xml:lang="da">Microsoft Internet Keyboard Pro, svensk</description>
+ <description xml:lang="en_GB">Microsoft Internet Keyboard Pro, Swedish</description>
+ <description xml:lang="fr">clavier Microsoft Internet Pro, Suédois</description>
+ <description xml:lang="hu">Microsoft Internet Keyboard Pro, svéd</description>
+ <description xml:lang="nl">Microsoft Internet Keyboard Pro, Zweeds</description>
+ <description xml:lang="ru">Microsoft Internet Keyboard Pro, шведÑкаÑ</description>
+ <description xml:lang="sk">Microsoft Internet Keyboard Pro, Švédska</description>
+ <description xml:lang="sq">Microsoft Internet Keyboard Pro, Suedeze</description>
+ <description xml:lang="sr">МикроÑофтова Интернет Про таÑтатура, шведÑки</description>
+ <description xml:lang="sv">Microsoft Internet Keyboard Pro, svensk</description>
+ <description xml:lang="tr">Microsoft Örütbağ Klavyesi Pro, İsveçce</description>
+ <description xml:lang="uk">Microsoft Internet Keyboard Pro, шведÑька</description>
+ <description xml:lang="vi">Bàn phím Internet Microsoft Pro, Thụy Äiển</description>
+ <description xml:lang="zh_CN">微软网际键盘增强版,瑞典</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftoffice</name>
+ <description>Microsoft Office Keyboard</description>
+ <description xml:lang="af">Microsoft Office sleutelbord</description>
+ <description xml:lang="az">Microsoft Office Keyboard</description>
+ <description xml:lang="cs">Microsoft Office Keyboard</description>
+ <description xml:lang="da">Microsoft Office Keyboard</description>
+ <description xml:lang="en_GB">Microsoft Office Keyboard</description>
+ <description xml:lang="fr">clavier Microsoft Office</description>
+ <description xml:lang="hu">Microsoft Office billentyűzet</description>
+ <description xml:lang="nl">Microsoft Office toetsenbord</description>
+ <description xml:lang="ru">Microsoft Office Keyboard</description>
+ <description xml:lang="sk">Microsoft Office Keyboard</description>
+ <description xml:lang="sq">Tastierë Microsoft Office</description>
+ <description xml:lang="sr">МикроÑофтова канцеларијÑка таÑтатура</description>
+ <description xml:lang="sv">Microsoft Office-tangentbord</description>
+ <description xml:lang="tr">Microsoft Ofis Klavyesi</description>
+ <description xml:lang="uk">Microsoft Office Keyboard</description>
+ <description xml:lang="vi">Bàn phím Văn phòng Microsoft</description>
+ <description xml:lang="zh_CN">微软 Office 键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>microsoftmult</name>
+ <description>Microsoft Wireless Multimedia Keyboard 1.0A</description>
+ <description xml:lang="en_GB">Microsoft Wireless Multimedia Keyboard 1.0A</description>
+ <description xml:lang="nl">Microsoft draadloos multimediatoetsenbord 1.0A</description>
+ <description xml:lang="ru">Microsoft Wireless Multimedia Keyboard 1.0A</description>
+ <description xml:lang="rw">1.</description>
+ <description xml:lang="vi">Microsoft Wireless Multimedia Keyboard 1.0A</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>oretec</name>
+ <description>Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="af">Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="az">Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="bg">Logitech Интернет клавиатура</description>
+ <description xml:lang="cs">Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="da">Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="en_GB">Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="fr">Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="hu">Oretec MCK-800 MM/Internet billentyűzet</description>
+ <description xml:lang="nl">Oretec MCK-800 MM/Internet toetsenbord</description>
+ <description xml:lang="ru">Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="rw">Mwandikisho</description>
+ <description xml:lang="sk">Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="sq">Tastierë Oretec MCK-800 MM/Internet</description>
+ <description xml:lang="sr">Oretec MCK-800 ММ/Интернет таÑтатура</description>
+ <description xml:lang="sv">Oretec MCK-800 MM/Internet-tangentbord</description>
+ <description xml:lang="tr">Oretec MCK-800 MM/Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Oretec MCK-800 MM/Internet keyboard</description>
+ <description xml:lang="vi">Bàn phím Oretec MCK-800 MM/Internet</description>
+ <description xml:lang="zh_CN">Oretec MCK-800 MM/网际键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>propeller</name>
+ <description>Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="af">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="az">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="cs">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="da">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="en_GB">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="fr">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="hu">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="nl">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="ru">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="rw">1000</description>
+ <description xml:lang="sk">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="sq">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="sr">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="sv">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="tr">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="uk">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="vi">Propeller Voyager (KTEZ-1000)</description>
+ <description xml:lang="zh_CN">Propeller Voyager (KTEZ-1000)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>qtronix</name>
+ <description>QTronix Scorpius 98N+</description>
+ <description xml:lang="af">QTronix Scorpius 98N+</description>
+ <description xml:lang="az">QTronix Scorpius 98N+</description>
+ <description xml:lang="cs">QTronix Scorpius 98N+</description>
+ <description xml:lang="da">QTronix Scorpius 98N+</description>
+ <description xml:lang="en_GB">QTronix Scorpius 98N+</description>
+ <description xml:lang="fr">QTronix Scorpius 98N+</description>
+ <description xml:lang="hu">QTronix Scorpius 98N+</description>
+ <description xml:lang="nl">QTronix Scorpius 98N+</description>
+ <description xml:lang="ru">QTronix Scorpius 98N+</description>
+ <description xml:lang="sk">QTronix Scorpius 98N+</description>
+ <description xml:lang="sq">QTronix Scorpius 98N+</description>
+ <description xml:lang="sr">QTronix Scorpius 98N+</description>
+ <description xml:lang="sv">QTronix Scorpius 98N+</description>
+ <description xml:lang="tr">QTronix Scorpius 98N+</description>
+ <description xml:lang="uk">QTronix Scorpius 98N+</description>
+ <description xml:lang="vi">QTronix Scorpius 98N+</description>
+ <description xml:lang="zh_CN">QTronix Scorpius 98N+</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>samsung4500</name>
+ <description>Samsung SDM 4500P</description>
+ <description xml:lang="af">Samsung SDM 4500P</description>
+ <description xml:lang="az">Samsung SDM 4500P</description>
+ <description xml:lang="cs">Samsung SDM 4500P</description>
+ <description xml:lang="da">Samsung SDM 4500P</description>
+ <description xml:lang="en_GB">Samsung SDM 4500P</description>
+ <description xml:lang="fr">Samsung SDM 4500P</description>
+ <description xml:lang="hu">Samsung SDM 4500P</description>
+ <description xml:lang="nl">Samsung SDM 4500P</description>
+ <description xml:lang="ru">Samsung SDM 4500P</description>
+ <description xml:lang="sk">Samsung SDM 4500P</description>
+ <description xml:lang="sq">Samsung SDM 4500P</description>
+ <description xml:lang="sr">Samsung SDM 4500P</description>
+ <description xml:lang="sv">Samsung SDM 4500P</description>
+ <description xml:lang="tr">Samsung SDM 4500P</description>
+ <description xml:lang="uk">Samsung SDM 4500P</description>
+ <description xml:lang="vi">Samsung SDM 4500P</description>
+ <description xml:lang="zh_CN">三星 SDM 4500P</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>samsung4510</name>
+ <description>Samsung SDM 4510P</description>
+ <description xml:lang="af">Samsung SDM 4510P</description>
+ <description xml:lang="az">Samsung SDM 4510P</description>
+ <description xml:lang="cs">Samsung SDM 4510P</description>
+ <description xml:lang="da">Samsung SDM 4510P</description>
+ <description xml:lang="en_GB">Samsung SDM 4510P</description>
+ <description xml:lang="fr">Samsung SDM 4510P</description>
+ <description xml:lang="hu">Samsung SDM 4510P</description>
+ <description xml:lang="nl">Samsung SDM 4510P</description>
+ <description xml:lang="ru">Samsung SDM 4510P</description>
+ <description xml:lang="sk">Samsung SDM 4510P</description>
+ <description xml:lang="sq">Samsung SDM 4510P</description>
+ <description xml:lang="sr">Samsung SDM 4510P</description>
+ <description xml:lang="sv">Samsung SDM 4510P</description>
+ <description xml:lang="tr">Samsung SDM 4510P</description>
+ <description xml:lang="uk">Samsung SDM 4510P</description>
+ <description xml:lang="vi">Samsung SDM 4510P</description>
+ <description xml:lang="zh_CN">三星 SDM 4510P</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sk1300</name>
+ <description>SK-1300</description>
+ <description xml:lang="af">SK-1300</description>
+ <description xml:lang="az">SK-1300</description>
+ <description xml:lang="cs">SK-1300</description>
+ <description xml:lang="da">SK-1300</description>
+ <description xml:lang="en_GB">SK-1300</description>
+ <description xml:lang="fr">SK-1300</description>
+ <description xml:lang="hu">SK-1300</description>
+ <description xml:lang="nl">SK-1300</description>
+ <description xml:lang="ru">SK-1300</description>
+ <description xml:lang="sk">SK-1300</description>
+ <description xml:lang="sq">SK-1300</description>
+ <description xml:lang="sr">SK-1300</description>
+ <description xml:lang="sv">SK-1300</description>
+ <description xml:lang="tr">SK-1300</description>
+ <description xml:lang="uk">SK-1300</description>
+ <description xml:lang="vi">SK-1300</description>
+ <description xml:lang="zh_CN">SK-1300</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sk2500</name>
+ <description>SK-2500</description>
+ <description xml:lang="af">SK-2500</description>
+ <description xml:lang="az">SK-2500</description>
+ <description xml:lang="cs">SK-2500</description>
+ <description xml:lang="da">SK-2500</description>
+ <description xml:lang="en_GB">SK-2500</description>
+ <description xml:lang="fr">SK-2500</description>
+ <description xml:lang="hu">SK-2500</description>
+ <description xml:lang="nl">SK-2500</description>
+ <description xml:lang="ru">SK-2500</description>
+ <description xml:lang="sk">SK-2500</description>
+ <description xml:lang="sq">SK-2500</description>
+ <description xml:lang="sr">SK-2500</description>
+ <description xml:lang="sv">SK-2500</description>
+ <description xml:lang="tr">SK-2500</description>
+ <description xml:lang="uk">SK-2500</description>
+ <description xml:lang="vi">SK-2500</description>
+ <description xml:lang="zh_CN">SK-2500</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sk6200</name>
+ <description>SK-6200</description>
+ <description xml:lang="af">SK-6200</description>
+ <description xml:lang="az">SK-6200</description>
+ <description xml:lang="cs">SK-6200</description>
+ <description xml:lang="da">SK-6200</description>
+ <description xml:lang="en_GB">SK-6200</description>
+ <description xml:lang="fr">SK-6200</description>
+ <description xml:lang="hu">SK-6200</description>
+ <description xml:lang="nl">SK-6200</description>
+ <description xml:lang="ru">SK-6200</description>
+ <description xml:lang="sk">SK-6200</description>
+ <description xml:lang="sq">SK-6200</description>
+ <description xml:lang="sr">SK-6200</description>
+ <description xml:lang="sv">SK-6200</description>
+ <description xml:lang="tr">SK-6200</description>
+ <description xml:lang="uk">SK-6200</description>
+ <description xml:lang="vi">SK-6200</description>
+ <description xml:lang="zh_CN">SK-6200</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sk7100</name>
+ <description>SK-7100</description>
+ <description xml:lang="af">SK-7100</description>
+ <description xml:lang="az">SK-7100</description>
+ <description xml:lang="cs">SK-7100</description>
+ <description xml:lang="da">SK-7100</description>
+ <description xml:lang="en_GB">SK-7100</description>
+ <description xml:lang="fr">SK-7100</description>
+ <description xml:lang="hu">SK-7100</description>
+ <description xml:lang="nl">SK-7100</description>
+ <description xml:lang="ru">SK-7100</description>
+ <description xml:lang="sk">SK-7100</description>
+ <description xml:lang="sq">SK-7100</description>
+ <description xml:lang="sr">SK-7100</description>
+ <description xml:lang="sv">SK-7100</description>
+ <description xml:lang="tr">SK-7100</description>
+ <description xml:lang="uk">SK-7100</description>
+ <description xml:lang="vi">SK-7100</description>
+ <description xml:lang="zh_CN">SK-7100</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sp_inet</name>
+ <description>Super Power Multimedia Keyboard</description>
+ <description xml:lang="en_GB">Super Power Multimedia Keyboard</description>
+ <description xml:lang="nl">Super Power multimediatoetsenbord</description>
+ <description xml:lang="ru">Super Power Multimedia Keyboard</description>
+ <description xml:lang="vi">Bàn phím Phim nhạc Siêu Năng Lực</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>sven</name>
+ <description>SVEN Ergonomic 2500</description>
+ <description xml:lang="af">SVEN Ergonomic 2500</description>
+ <description xml:lang="az">SVEN Ergonomic 2500</description>
+ <description xml:lang="cs">SVEN Ergonomic 2500</description>
+ <description xml:lang="da">SVEN Ergonomic 2500</description>
+ <description xml:lang="en_GB">SVEN Ergonomic 2500</description>
+ <description xml:lang="fr">SVEN Ergonomic 2500</description>
+ <description xml:lang="hu">SVEN Ergonomic 2500</description>
+ <description xml:lang="nl">SVEN Ergonomic 2500</description>
+ <description xml:lang="ru">SVEN Ergonomic 2500</description>
+ <description xml:lang="sk">SVEN Ergonomic 2500</description>
+ <description xml:lang="sq">SVEN Ergonomic 2500</description>
+ <description xml:lang="sr">SVEN ергономÑка 2500</description>
+ <description xml:lang="sv">SVEN Ergonomic 2500</description>
+ <description xml:lang="tr">SVEN Ergonomik 2500</description>
+ <description xml:lang="uk">SVEN Ergonomic 2500</description>
+ <description xml:lang="vi">SVEN Ergonomic 2500</description>
+ <description xml:lang="zh_CN">SVEN Ergonomic 2500</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>symplon</name>
+ <description>Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="af">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="az">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="cs">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="da">Symplon PaceBook (tablet-pc)</description>
+ <description xml:lang="en_GB">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="fr">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="hu">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="nl">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="ru">Symplon PaceBook (карманный ПК)</description>
+ <description xml:lang="sk">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="sq">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="sr">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="sv">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="tr">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="uk">Symplon PaceBook (переноÑний ПК)</description>
+ <description xml:lang="vi">Symplon PaceBook (tablet PC)</description>
+ <description xml:lang="zh_CN">Symplon PaceBook(å¹³æ¿ç”µè„‘)</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>toshiba_s3000</name>
+ <description>Toshiba Satellite S3000</description>
+ <description xml:lang="af">Toshiba Satellite S3000</description>
+ <description xml:lang="az">Toshiba Satellite S3000</description>
+ <description xml:lang="cs">Toshiba Satellite S3000</description>
+ <description xml:lang="da">Toshiba Satellite S3000</description>
+ <description xml:lang="en_GB">Toshiba Satellite S3000</description>
+ <description xml:lang="fr">Toshiba Satellite S3000</description>
+ <description xml:lang="hu">Toshiba Satellite S3000</description>
+ <description xml:lang="nl">Toshiba Satellite S3000</description>
+ <description xml:lang="ru">Toshiba Satellite S3000</description>
+ <description xml:lang="sk">Toshiba Satellite S3000</description>
+ <description xml:lang="sq">Toshiba Satellite S3000</description>
+ <description xml:lang="sr">Toshiba Satellite S3000</description>
+ <description xml:lang="sv">Toshiba Satellite S3000</description>
+ <description xml:lang="tr">Toshiba Satellite S3000</description>
+ <description xml:lang="uk">Toshiba Satellite S3000</description>
+ <description xml:lang="vi">Toshiba Satellite S3000</description>
+ <description xml:lang="zh_CN">ä¸œèŠ Satellite S3000</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>trust</name>
+ <description>Trust Wireless Keyboard Classic</description>
+ <description xml:lang="af">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="az">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="cs">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="da">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="en_GB">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="fr">clavier classique Trust Wireless</description>
+ <description xml:lang="hu">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="nl">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="ru">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="sk">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="sq">Tastierë klasike Trust Wireless</description>
+ <description xml:lang="sr">Trust клаÑична бежична таÑтатура</description>
+ <description xml:lang="sv">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="tr">Trust Kablosuz Klasik Klavye</description>
+ <description xml:lang="uk">Trust Wireless Keyboard Classic</description>
+ <description xml:lang="vi">Bàn Phím Cổ điển Không dây Tin tưởng</description>
+ <description xml:lang="zh_CN">Trust 无线ç»å…¸é”®ç›˜</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>trustda</name>
+ <description>Trust Direct Access Keyboard</description>
+ <description xml:lang="af">Trust Direct Access Keyboard</description>
+ <description xml:lang="az">Trust Direct Access Keyboard</description>
+ <description xml:lang="cs">Trust Direct Access Keyboard</description>
+ <description xml:lang="da">Trust Direct Access Keyboard</description>
+ <description xml:lang="en_GB">Trust Direct Access Keyboard</description>
+ <description xml:lang="fr">clavier Trust Direct Access</description>
+ <description xml:lang="hu">Trust Direct Access billentyűzet</description>
+ <description xml:lang="nl">Trust Direct Access toetsenbord</description>
+ <description xml:lang="ru">Trust Direct Access Keyboard</description>
+ <description xml:lang="sk">Trust Direct Access Keyboard</description>
+ <description xml:lang="sq">Tastierë Trust Direct Access</description>
+ <description xml:lang="sr">Trust Direct Access таÑтатура</description>
+ <description xml:lang="sv">Trust Direct Access-tangentbord</description>
+ <description xml:lang="tr">Trust DoÄŸrudan EriÅŸimli Klavye</description>
+ <description xml:lang="uk">Trust Direct Access Keyboard</description>
+ <description xml:lang="vi">Bàn phím Truy cập Thẳng Tin tưởng</description>
+ <description xml:lang="zh_CN">Trust Direct Access 键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>yahoo</name>
+ <description>Yahoo! Internet Keyboard</description>
+ <description xml:lang="af">Yahoo! Internetsleutelbord</description>
+ <description xml:lang="az">Yahoo! Internet Keyboard</description>
+ <description xml:lang="bg">Интернет клавиатура на Chicony</description>
+ <description xml:lang="cs">Yahoo! Internet Keyboard</description>
+ <description xml:lang="da">Yahoo! Internet Keyboard</description>
+ <description xml:lang="en_GB">Yahoo! Internet Keyboard</description>
+ <description xml:lang="fr">clavier Yahoo! Internet</description>
+ <description xml:lang="hu">Yahoo! Internet billentyűzet</description>
+ <description xml:lang="nl">Yahoo! internet toetsenbord</description>
+ <description xml:lang="ru">Yahoo! Internet Keyboard</description>
+ <description xml:lang="sk">Yahoo! Internet Keyboard</description>
+ <description xml:lang="sq">Tastierë Yahoo! Internet</description>
+ <description xml:lang="sr">Yahoo! Интернет таÑтатура</description>
+ <description xml:lang="sv">Yahoo! Internettangentbord</description>
+ <description xml:lang="tr">Yahoo! Örütbağ Klavyesi</description>
+ <description xml:lang="uk">Yahoo! Internet Keyboard</description>
+ <description xml:lang="vi">Bàn phím Internet Yahoo! </description>
+ <description xml:lang="zh_CN">雅虎网际键盘</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>macintosh</name>
+ <description>Macintosh</description>
+ <description xml:lang="af">Macintosh</description>
+ <description xml:lang="az">Macintosh</description>
+ <description xml:lang="cs">Macintosh</description>
+ <description xml:lang="da">Macintosh</description>
+ <description xml:lang="en_GB">Macintosh</description>
+ <description xml:lang="fr">Macintosh</description>
+ <description xml:lang="hu">Macintosh</description>
+ <description xml:lang="nl">Macintosh</description>
+ <description xml:lang="ru">Macintosh</description>
+ <description xml:lang="rw">masinitoshi</description>
+ <description xml:lang="sk">Macintosh</description>
+ <description xml:lang="sq">Macintosh</description>
+ <description xml:lang="sr">Мекинтош</description>
+ <description xml:lang="sv">Macintosh</description>
+ <description xml:lang="tr">Macintosh</description>
+ <description xml:lang="uk">Macintosh</description>
+ <description xml:lang="vi">Macintosh</description>
+ <description xml:lang="zh_CN">Macintosh</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>macintosh_old</name>
+ <description>Macintosh Old</description>
+ <description xml:lang="af">Macintosh (oud)</description>
+ <description xml:lang="az">Macintosh Old</description>
+ <description xml:lang="cs">Macintosh staré</description>
+ <description xml:lang="da">Macintosh gammel</description>
+ <description xml:lang="en_GB">Macintosh Old</description>
+ <description xml:lang="fr">Macintosh ancien</description>
+ <description xml:lang="hu">Macintosh Old</description>
+ <description xml:lang="nl">Macintosh oud</description>
+ <description xml:lang="ru">Старый Macintosh</description>
+ <description xml:lang="sk">Macintosh staré</description>
+ <description xml:lang="sq">Macintosh i vjetër</description>
+ <description xml:lang="sr">Стари Мекинтош</description>
+ <description xml:lang="sv">Macintosh gammal</description>
+ <description xml:lang="tr">Eski Macintosh</description>
+ <description xml:lang="uk">Старий Macintosh</description>
+ <description xml:lang="vi">Macintosh CÅ©</description>
+ <description xml:lang="zh_CN">Macintosh 旧产å“</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>powerpcps2</name>
+ <description>PowerPC PS/2</description>
+ <description xml:lang="af">PowerPC PS/2</description>
+ <description xml:lang="az">PowerPC PS/2</description>
+ <description xml:lang="cs">PowerPC PS/2</description>
+ <description xml:lang="da">PowerPC PS/2</description>
+ <description xml:lang="en_GB">PowerPC PS/2</description>
+ <description xml:lang="fr">PowerPC PS/2</description>
+ <description xml:lang="hu">PowerPC PS/2</description>
+ <description xml:lang="nl">PowerPC PS/2</description>
+ <description xml:lang="ru">PowerPC PS/2</description>
+ <description xml:lang="rw">2.</description>
+ <description xml:lang="sk">PowerPC PS/2</description>
+ <description xml:lang="sq">PowerPC PS/2</description>
+ <description xml:lang="sr">PowerPC PS/2</description>
+ <description xml:lang="sv">PowerPC PS/2</description>
+ <description xml:lang="tr">PowerPC PS/2</description>
+ <description xml:lang="uk">PowerPC PS/2</description>
+ <description xml:lang="vi">PowerPC PS/2</description>
+ <description xml:lang="zh_CN">PowerPC PS/2</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
+ <name>acer_tm_800</name>
+ <description>Acer TravelMate 800</description>
+ <description xml:lang="en_GB">Acer TravelMate 800</description>
+ <description xml:lang="ru">Acer TravelMate 800</description>
+ </configItem>
+ </model>
+ </modelList>
+ <layoutList>
+ <layout>
+ <configItem>
+ <name>us</name>
+ <shortDescription>USA</shortDescription>
+ <shortDescription xml:lang="af">VSA</shortDescription>
+ <shortDescription xml:lang="az">ABÅž</shortDescription>
+ <shortDescription xml:lang="cs">USA</shortDescription>
+ <shortDescription xml:lang="da">USA</shortDescription>
+ <shortDescription xml:lang="el">ΗΠΑ</shortDescription>
+ <shortDescription xml:lang="en_GB">USA</shortDescription>
+ <shortDescription xml:lang="fr">USA</shortDescription>
+ <shortDescription xml:lang="hu">USA</shortDescription>
+ <shortDescription xml:lang="nl">USA</shortDescription>
+ <shortDescription xml:lang="ru">СШÐ</shortDescription>
+ <shortDescription xml:lang="rw">Amerika</shortDescription>
+ <shortDescription xml:lang="sk">USA</shortDescription>
+ <shortDescription xml:lang="sq">USA</shortDescription>
+ <shortDescription xml:lang="sr">СÐД</shortDescription>
+ <shortDescription xml:lang="sv">USA</shortDescription>
+ <shortDescription xml:lang="tr">ABD</shortDescription>
+ <shortDescription xml:lang="uk">СШÐ</shortDescription>
+ <shortDescription xml:lang="vi">Mỹ</shortDescription>
+ <shortDescription xml:lang="zh_CN">USA</shortDescription>
+ <description>U.S. English</description>
+ <description xml:lang="af">VSA Engels</description>
+ <description xml:lang="az">A.B.Ş. İngiliscəsi</description>
+ <description xml:lang="bg">американÑка английÑка</description>
+ <description xml:lang="cs">Anglické (US)</description>
+ <description xml:lang="da">U.S. Engelsk</description>
+ <description xml:lang="el">Αγγλικά ΗΠΑ</description>
+ <description xml:lang="en_GB">U.S. English</description>
+ <description xml:lang="fr">Anglais U.S.</description>
+ <description xml:lang="hu">amerikai angol</description>
+ <description xml:lang="nl">Amerikaans-Engels</description>
+ <description xml:lang="ru">ÐнглийÑÐºÐ°Ñ (СШÐ)</description>
+ <description xml:lang="rw">U.</description>
+ <description xml:lang="sk">U.S.A. anglické</description>
+ <description xml:lang="sq">U.S. Anglisht</description>
+ <description xml:lang="sr">амерички енглеÑки</description>
+ <description xml:lang="sv">Engelskamerikansk</description>
+ <description xml:lang="tr">Amerikan ingilizcesi</description>
+ <description xml:lang="uk">ÐнглійÑька (СШÐ)</description>
+ <description xml:lang="vi">Anh Mỹ</description>
+ <description xml:lang="zh_CN">美国英语</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>intl</name>
+ <description>International (with dead keys)</description>
+ <description xml:lang="en_GB">International (with dead keys)</description>
+ <description xml:lang="nl">Internationaal (met dode toetsen)</description>
+ <description xml:lang="ru">МеждународнаÑ, Ñо Ñпец. клавишами (dead keys)</description>
+ <description xml:lang="rw">Na: Utubuto</description>
+ <description xml:lang="vi">Quốc tế (với phím chết)</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>alt-intl</name>
+ <description>Alternative international (former us_intl)</description>
+ <description xml:lang="en_GB">Alternative international (former us_intl)</description>
+ <description xml:lang="nl">Alternatief internationaal (voormalig us_intl)</description>
+ <description xml:lang="ru">ÐÐ»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð½Ð°Ñ Ð¼ÐµÐ¶Ð´ÑƒÐ½Ð°Ñ€Ð¾Ð´Ð½Ð°Ñ (Ð±Ñ‹Ð²ÑˆÐ°Ñ us_intl)</description>
+ <description xml:lang="rw">Mpuzamahanga</description>
+ <description xml:lang="vi">Quốc tế tương đương (cũ us_intl)</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <description>Dvorak</description>
+ <description xml:lang="af">Dvorak</description>
+ <description xml:lang="az">Dvorak</description>
+ <description xml:lang="bg">Дворак</description>
+ <description xml:lang="cs">Dvorak</description>
+ <description xml:lang="da">Dvorak</description>
+ <description xml:lang="en_GB">Dvorak</description>
+ <description xml:lang="fr">Dvorak</description>
+ <description xml:lang="hu">Dvorak-féle</description>
+ <description xml:lang="nl">Dvorak</description>
+ <description xml:lang="ru">Дворак</description>
+ <description xml:lang="sk">Dvorak</description>
+ <description xml:lang="sq">Dvorak</description>
+ <description xml:lang="sr">дворак</description>
+ <description xml:lang="sv">Dvorak</description>
+ <description xml:lang="tr">Dvorak</description>
+ <description xml:lang="uk">Дворак</description>
+ <description xml:lang="vi">Dvorak</description>
+ <description xml:lang="zh_CN">Dvorak</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rus</name>
+ <description>Russian phonetic</description>
+ <description xml:lang="ru">РуÑÑÐºÐ°Ñ Ñ„Ð¾Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑкаÑ</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ara</name>
+ <shortDescription>Ara</shortDescription>
+ <shortDescription xml:lang="el">ΑÏα</shortDescription>
+ <shortDescription xml:lang="en_GB">Ara</shortDescription>
+ <shortDescription xml:lang="nl">Fra</shortDescription>
+ <shortDescription xml:lang="ru">Ðра</shortDescription>
+ <shortDescription xml:lang="vi">Ara</shortDescription>
+ <description>Arabic</description>
+ <description xml:lang="af">Arabies</description>
+ <description xml:lang="az">ÆrÉ™bcÉ™</description>
+ <description xml:lang="bg">арабÑка</description>
+ <description xml:lang="cs">Arabské</description>
+ <description xml:lang="da">Arabisk</description>
+ <description xml:lang="el">ΑÏαβικό</description>
+ <description xml:lang="en_GB">Arabic</description>
+ <description xml:lang="fr">Arabe</description>
+ <description xml:lang="hu">arab</description>
+ <description xml:lang="nl">Arabisch</description>
+ <description xml:lang="ru">ÐрабÑкаÑ</description>
+ <description xml:lang="rw">Icyarabu</description>
+ <description xml:lang="sk">Arabsky</description>
+ <description xml:lang="sq">Arabe</description>
+ <description xml:lang="sr">арапÑки</description>
+ <description xml:lang="sv">Arabisk</description>
+ <description xml:lang="tr">Arapça</description>
+ <description xml:lang="uk">ÐрабÑька</description>
+ <description xml:lang="vi">Ả Rập</description>
+ <description xml:lang="zh_CN">阿拉伯</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>azerty</name>
+ <description>azerty</description>
+ <description xml:lang="af">azerty</description>
+ <description xml:lang="az">azerty</description>
+ <description xml:lang="cs">azerty</description>
+ <description xml:lang="da">azerty</description>
+ <description xml:lang="en_GB">azerty</description>
+ <description xml:lang="fr">azerty</description>
+ <description xml:lang="hu">azerty</description>
+ <description xml:lang="nl">azerty</description>
+ <description xml:lang="ru">azerty</description>
+ <description xml:lang="sk">azerty</description>
+ <description xml:lang="sq">azerty</description>
+ <description xml:lang="sr">azerty</description>
+ <description xml:lang="sv">azerty</description>
+ <description xml:lang="tr">azerty</description>
+ <description xml:lang="uk">azerty</description>
+ <description xml:lang="vi">azerty</description>
+ <description xml:lang="zh_CN">azerty</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>azerty_digits</name>
+ <description>azerty/digits</description>
+ <description xml:lang="af">azerty/syfers</description>
+ <description xml:lang="az">azerty/ədədlər</description>
+ <description xml:lang="cs">azerty/Äíslice</description>
+ <description xml:lang="da">azerty/cifre</description>
+ <description xml:lang="en_GB">azerty/digits</description>
+ <description xml:lang="fr">azerty/chiffres</description>
+ <description xml:lang="hu">azerty/számjegyek</description>
+ <description xml:lang="nl">azerty/cijfers</description>
+ <description xml:lang="ru">azerty/цифры</description>
+ <description xml:lang="sk">azerty/Äíslice</description>
+ <description xml:lang="sq">azerty/digits</description>
+ <description xml:lang="sr">azerty/цифре</description>
+ <description xml:lang="sv">azerty/siffror</description>
+ <description xml:lang="tr">azerty/rakamlar</description>
+ <description xml:lang="uk">azerty/цифри</description>
+ <description xml:lang="vi">azerty/chữ số</description>
+ <description xml:lang="zh_CN">azerty/æ•°å­—</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>digits</name>
+ <description>digits</description>
+ <description xml:lang="af">syfers</description>
+ <description xml:lang="az">ədədlər</description>
+ <description xml:lang="cs">Äíslice</description>
+ <description xml:lang="da">cifre</description>
+ <description xml:lang="en_GB">digits</description>
+ <description xml:lang="fr">chiffres</description>
+ <description xml:lang="hu">számjegyek</description>
+ <description xml:lang="nl">cijfers</description>
+ <description xml:lang="ru">цифры</description>
+ <description xml:lang="sk">Äíslice</description>
+ <description xml:lang="sq">numra</description>
+ <description xml:lang="sr">цифре</description>
+ <description xml:lang="sv">siffror</description>
+ <description xml:lang="tr">rakamlar</description>
+ <description xml:lang="uk">цифри</description>
+ <description xml:lang="vi">chữ số</description>
+ <description xml:lang="zh_CN">æ•°å­—</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty</name>
+ <description>qwerty</description>
+ <description xml:lang="af">qwerty</description>
+ <description xml:lang="az">qwerty</description>
+ <description xml:lang="bg">чешка (qwerty)</description>
+ <description xml:lang="cs">qwerty</description>
+ <description xml:lang="da">qwerty</description>
+ <description xml:lang="en_GB">qwerty</description>
+ <description xml:lang="fr">qwerty</description>
+ <description xml:lang="hu">qwerty</description>
+ <description xml:lang="nl">qwerty</description>
+ <description xml:lang="ru">qwerty</description>
+ <description xml:lang="sk">qwerty</description>
+ <description xml:lang="sq">qwerty</description>
+ <description xml:lang="sr">qwerty</description>
+ <description xml:lang="sv">qwerty</description>
+ <description xml:lang="tr">qwerty</description>
+ <description xml:lang="uk">qwerty</description>
+ <description xml:lang="vi">qwerty</description>
+ <description xml:lang="zh_CN">qwerty</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty_digits</name>
+ <description>qwerty/digits</description>
+ <description xml:lang="af">qwerty/syfers</description>
+ <description xml:lang="az">qwerty/ədədlər</description>
+ <description xml:lang="cs">qwerty/Äíslice</description>
+ <description xml:lang="da">qwerty/cifre</description>
+ <description xml:lang="en_GB">qwerty/digits</description>
+ <description xml:lang="fr">qwerty/chiffres</description>
+ <description xml:lang="hu">qwerty/számjegyek</description>
+ <description xml:lang="nl">qwerty/cijfers</description>
+ <description xml:lang="ru">qwerty/цифры</description>
+ <description xml:lang="sk">qwerty/Äíslice</description>
+ <description xml:lang="sq">qwerty/numra</description>
+ <description xml:lang="sr">qwerty/цифре</description>
+ <description xml:lang="sv">qwerty/siffror</description>
+ <description xml:lang="tr">qwerty/rakamlar</description>
+ <description xml:lang="uk">qwerty/цифри</description>
+ <description xml:lang="vi">qwerty/chữ số</description>
+ <description xml:lang="zh_CN">qwerty/digits</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>al</name>
+ <shortDescription>Alb</shortDescription>
+ <shortDescription xml:lang="af">Alb</shortDescription>
+ <shortDescription xml:lang="az">Alb</shortDescription>
+ <shortDescription xml:lang="cs">Alb</shortDescription>
+ <shortDescription xml:lang="da">Alb</shortDescription>
+ <shortDescription xml:lang="en_GB">Alb</shortDescription>
+ <shortDescription xml:lang="fr">Alb</shortDescription>
+ <shortDescription xml:lang="hu">Alb</shortDescription>
+ <shortDescription xml:lang="nl">Alb</shortDescription>
+ <shortDescription xml:lang="ru">Ðлб</shortDescription>
+ <shortDescription xml:lang="sk">Alb</shortDescription>
+ <shortDescription xml:lang="sq">Alb</shortDescription>
+ <shortDescription xml:lang="sr">алб</shortDescription>
+ <shortDescription xml:lang="sv">Alb</shortDescription>
+ <shortDescription xml:lang="tr">Arn</shortDescription>
+ <shortDescription xml:lang="uk">Ðлб</shortDescription>
+ <shortDescription xml:lang="vi">Alb</shortDescription>
+ <shortDescription xml:lang="zh_CN">Alb</shortDescription>
+ <description>Albania</description>
+ <description xml:lang="en_GB">Albania</description>
+ <description xml:lang="nl">Albanië</description>
+ <description xml:lang="ru">ÐлбаниÑ</description>
+ <description xml:lang="rw">Alubaniya</description>
+ <description xml:lang="vi">Al-ba-ni-a</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>am</name>
+ <shortDescription>Arm</shortDescription>
+ <shortDescription xml:lang="af">Arm</shortDescription>
+ <shortDescription xml:lang="az">Erm</shortDescription>
+ <shortDescription xml:lang="bg">арабÑка</shortDescription>
+ <shortDescription xml:lang="cs">Arm</shortDescription>
+ <shortDescription xml:lang="da">Arm</shortDescription>
+ <shortDescription xml:lang="el">ΑÏμ</shortDescription>
+ <shortDescription xml:lang="en_GB">Arm</shortDescription>
+ <shortDescription xml:lang="fr">Arm</shortDescription>
+ <shortDescription xml:lang="hu">Arm</shortDescription>
+ <shortDescription xml:lang="nl">Arm</shortDescription>
+ <shortDescription xml:lang="ru">Ðрм</shortDescription>
+ <shortDescription xml:lang="sk">Arm</shortDescription>
+ <shortDescription xml:lang="sq">Arm</shortDescription>
+ <shortDescription xml:lang="sr">јрм</shortDescription>
+ <shortDescription xml:lang="sv">Arm</shortDescription>
+ <shortDescription xml:lang="tr">Erm</shortDescription>
+ <shortDescription xml:lang="uk">Вірм</shortDescription>
+ <shortDescription xml:lang="vi">Arm</shortDescription>
+ <shortDescription xml:lang="zh_CN">Arm</shortDescription>
+ <description>Armenia</description>
+ <description xml:lang="en_GB">Armenia</description>
+ <description xml:lang="nl">Armenië</description>
+ <description xml:lang="ru">ÐрмениÑ</description>
+ <description xml:lang="rw">Arumeniya</description>
+ <description xml:lang="vi">Ãc-mê-ni</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <description>Phonetic</description>
+ <description xml:lang="af">Foneties</description>
+ <description xml:lang="az">Fonetik</description>
+ <description xml:lang="cs">Fonetické</description>
+ <description xml:lang="da">Fonetisk</description>
+ <description xml:lang="el">Φωνητικά</description>
+ <description xml:lang="en_GB">Phonetic</description>
+ <description xml:lang="fr">Phonétique</description>
+ <description xml:lang="hu">fonetikus</description>
+ <description xml:lang="nl">Fonetisch</description>
+ <description xml:lang="ru">ФонетичеÑкаÑ</description>
+ <description xml:lang="rw">Nyigamvugo:</description>
+ <description xml:lang="sk">Fonetické</description>
+ <description xml:lang="sq">Phonetic</description>
+ <description xml:lang="sr">фонетÑки</description>
+ <description xml:lang="sv">Fonetisk</description>
+ <description xml:lang="tr">Fonetik</description>
+ <description xml:lang="uk">Фонетична</description>
+ <description xml:lang="vi">Ngữ âm</description>
+ <description xml:lang="zh_CN">Phonetic</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>az</name>
+ <shortDescription>Aze</shortDescription>
+ <shortDescription xml:lang="af">Aze</shortDescription>
+ <shortDescription xml:lang="az">AzÉ™</shortDescription>
+ <shortDescription xml:lang="cs">Aze</shortDescription>
+ <shortDescription xml:lang="da">Ase</shortDescription>
+ <shortDescription xml:lang="el">Αζε</shortDescription>
+ <shortDescription xml:lang="en_GB">Aze</shortDescription>
+ <shortDescription xml:lang="fr">Aze</shortDescription>
+ <shortDescription xml:lang="hu">Aze</shortDescription>
+ <shortDescription xml:lang="nl">Aze</shortDescription>
+ <shortDescription xml:lang="ru">Ðзер</shortDescription>
+ <shortDescription xml:lang="sk">Aze</shortDescription>
+ <shortDescription xml:lang="sq">Aze</shortDescription>
+ <shortDescription xml:lang="sr">азб</shortDescription>
+ <shortDescription xml:lang="sv">Aze</shortDescription>
+ <shortDescription xml:lang="tr">Aze</shortDescription>
+ <shortDescription xml:lang="uk">Ðзер</shortDescription>
+ <shortDescription xml:lang="vi">Aze</shortDescription>
+ <shortDescription xml:lang="zh_CN">Aze</shortDescription>
+ <description>Azerbaijan</description>
+ <description xml:lang="en_GB">Azerbaijan</description>
+ <description xml:lang="nl">Azerbeidzjan</description>
+ <description xml:lang="ru">Ðзербайджан</description>
+ <description xml:lang="rw">Azeribayijani</description>
+ <description xml:lang="vi">A-zéc-bai-gian</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>cyrillic</name>
+ <description>Cyrillic</description>
+ <description xml:lang="af">Kirrillies</description>
+ <description xml:lang="az">Kiril</description>
+ <description xml:lang="cs">Cyrilika</description>
+ <description xml:lang="da">Kyrillisk</description>
+ <description xml:lang="el">ΚυÏιλλικά</description>
+ <description xml:lang="en_GB">Cyrillic</description>
+ <description xml:lang="fr">Cérillique</description>
+ <description xml:lang="hu">cirill</description>
+ <description xml:lang="nl">Cyrillisch</description>
+ <description xml:lang="ru">КирилличеÑкаÑ</description>
+ <description xml:lang="rw">Nyasilike</description>
+ <description xml:lang="sk">Cyrilika</description>
+ <description xml:lang="sq">Cyrillic</description>
+ <description xml:lang="sr">ћирилични</description>
+ <description xml:lang="sv">Kyrillisk</description>
+ <description xml:lang="tr">Kril</description>
+ <description xml:lang="uk">Кирилична</description>
+ <description xml:lang="vi">Cyrillic</description>
+ <description xml:lang="zh_CN">西里尔</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>by</name>
+ <shortDescription>Blr</shortDescription>
+ <shortDescription xml:lang="af">Blr</shortDescription>
+ <shortDescription xml:lang="az">Blr</shortDescription>
+ <shortDescription xml:lang="cs">Běl</shortDescription>
+ <shortDescription xml:lang="da">Blr</shortDescription>
+ <shortDescription xml:lang="en_GB">Blr</shortDescription>
+ <shortDescription xml:lang="fr">Blr</shortDescription>
+ <shortDescription xml:lang="hu">Blr</shortDescription>
+ <shortDescription xml:lang="nl">Blr</shortDescription>
+ <shortDescription xml:lang="ru">Бел</shortDescription>
+ <shortDescription xml:lang="sk">Blr</shortDescription>
+ <shortDescription xml:lang="sq">Blr</shortDescription>
+ <shortDescription xml:lang="sr">блр</shortDescription>
+ <shortDescription xml:lang="sv">Blr</shortDescription>
+ <shortDescription xml:lang="tr">Blr</shortDescription>
+ <shortDescription xml:lang="uk">Біл</shortDescription>
+ <shortDescription xml:lang="vi">Blr</shortDescription>
+ <shortDescription xml:lang="zh_CN">Blr</shortDescription>
+ <description>Belarus</description>
+ <description xml:lang="en_GB">Belarus</description>
+ <description xml:lang="nl">Wit-Rusland</description>
+ <description xml:lang="ru">БеларуÑÑŒ</description>
+ <description xml:lang="rw">Belarusi</description>
+ <description xml:lang="vi">Bê-la-rút</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>winkeys</name>
+ <description>Winkeys</description>
+ <description xml:lang="af">Winkeys</description>
+ <description xml:lang="az">Winkeys</description>
+ <description xml:lang="cs">Winkeys</description>
+ <description xml:lang="da">Win-taster</description>
+ <description xml:lang="en_GB">Winkeys</description>
+ <description xml:lang="fr">Winkeys</description>
+ <description xml:lang="hu">Winkeys</description>
+ <description xml:lang="nl">Win-toetsen</description>
+ <description xml:lang="ru">Клавиатура Windows</description>
+ <description xml:lang="sk">Win klávesy</description>
+ <description xml:lang="sq">Winkeys</description>
+ <description xml:lang="sr">Windows таÑтери</description>
+ <description xml:lang="sv">Wintangenter</description>
+ <description xml:lang="tr">Win tuşları</description>
+ <description xml:lang="uk">Розкладка Windows</description>
+ <description xml:lang="vi">Phím Win</description>
+ <description xml:lang="zh_CN">Winkeys</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>be</name>
+ <shortDescription>Bel</shortDescription>
+ <shortDescription xml:lang="af">Bel</shortDescription>
+ <shortDescription xml:lang="az">Bel</shortDescription>
+ <shortDescription xml:lang="cs">Bel</shortDescription>
+ <shortDescription xml:lang="da">Bel</shortDescription>
+ <shortDescription xml:lang="el">Λευ</shortDescription>
+ <shortDescription xml:lang="en_GB">Bel</shortDescription>
+ <shortDescription xml:lang="fr">Bel</shortDescription>
+ <shortDescription xml:lang="hu">Bel</shortDescription>
+ <shortDescription xml:lang="nl">Bel</shortDescription>
+ <shortDescription xml:lang="ru">Бельг</shortDescription>
+ <shortDescription xml:lang="sk">Bel</shortDescription>
+ <shortDescription xml:lang="sq">Bel</shortDescription>
+ <shortDescription xml:lang="sr">блг</shortDescription>
+ <shortDescription xml:lang="sv">Bel</shortDescription>
+ <shortDescription xml:lang="tr">Bel</shortDescription>
+ <shortDescription xml:lang="uk">Бельг</shortDescription>
+ <shortDescription xml:lang="vi">Bel</shortDescription>
+ <shortDescription xml:lang="zh_CN">Bel</shortDescription>
+ <description>Belgium</description>
+ <description xml:lang="en_GB">Belgium</description>
+ <description xml:lang="nl">België</description>
+ <description xml:lang="ru">БельгиÑ</description>
+ <description xml:lang="rw">Ububiligi</description>
+ <description xml:lang="vi">Bỉ</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>iso-alternate</name>
+ <description>ISO Alternate</description>
+ <description xml:lang="af">ISO Alternatief</description>
+ <description xml:lang="az">ISO Alternate</description>
+ <description xml:lang="cs">ISO alternativní</description>
+ <description xml:lang="da">ISO-alternativ</description>
+ <description xml:lang="en_GB">ISO Alternate</description>
+ <description xml:lang="fr">ISO alternative</description>
+ <description xml:lang="hu">ISO Alternate</description>
+ <description xml:lang="nl">ISO alternatief</description>
+ <description xml:lang="ru">Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ISO</description>
+ <description xml:lang="sk">ISO alternatívne</description>
+ <description xml:lang="sq">ISO Alternative</description>
+ <description xml:lang="sr">Додатни ИСО</description>
+ <description xml:lang="sv">ISO-alternativ</description>
+ <description xml:lang="tr">ISO diÄŸer</description>
+ <description xml:lang="uk">Додаткова ISO</description>
+ <description xml:lang="vi">ISO Xen kẽ</description>
+ <description xml:lang="zh_CN">ISO 替代</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <description>Sun dead keys</description>
+ <description xml:lang="af">Sun (dooie sleutels)</description>
+ <description xml:lang="az">Sun ölü düymələr</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Mrtvé klávesy Sun</description>
+ <description xml:lang="da">Sun døde taster</description>
+ <description xml:lang="en_GB">Sun dead keys</description>
+ <description xml:lang="fr">clés mortes Sun</description>
+ <description xml:lang="hu">Sun halott billentyűk</description>
+ <description xml:lang="nl">Sun dode toetsen</description>
+ <description xml:lang="ru">Специальные клавиши (dead keys) Sun</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Mŕtve klávesy Sun</description>
+ <description xml:lang="sq">Pulsantë të vdekur Sun</description>
+ <description xml:lang="sr">Sun-ови акценти</description>
+ <description xml:lang="sv">Sun stumma tangenter</description>
+ <description xml:lang="tr">Sun ölü tuşlar</description>
+ <description xml:lang="uk">Спеціальні клавіші (dead keys) Sun</description>
+ <description xml:lang="vi">Phím chết Sun</description>
+ <description xml:lang="zh_CN">Sun 死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>bd</name>
+ <shortDescription>Ban</shortDescription>
+ <shortDescription xml:lang="ru">Бан</shortDescription>
+ <description>Bangladesh</description>
+ <description xml:lang="ru">Бангладеш</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>probhat</name>
+ <description>Probhat</description>
+ <description xml:lang="en_GB">Probhat</description>
+ <description xml:lang="nl">Prt</description>
+ <description xml:lang="ru">Пробат</description>
+ <description xml:lang="vi">Probhat</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>in</name>
+ <shortDescription>Ind</shortDescription>
+ <shortDescription xml:lang="ru">Инд</shortDescription>
+ <description>India</description>
+ <description xml:lang="ru">ИндиÑ</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>ben</name>
+ <description>Bengali</description>
+ <description xml:lang="af">Bengaals</description>
+ <description xml:lang="az">Benqalca</description>
+ <description xml:lang="bg">бенгалÑка</description>
+ <description xml:lang="cs">Bengálské</description>
+ <description xml:lang="da">Bengali</description>
+ <description xml:lang="en_GB">Bengali</description>
+ <description xml:lang="fr">Bengali</description>
+ <description xml:lang="hu">bengáli</description>
+ <description xml:lang="nl">Bengaals</description>
+ <description xml:lang="ru">БенгальÑкаÑ</description>
+ <description xml:lang="rw">Bengali</description>
+ <description xml:lang="sk">Bengálska</description>
+ <description xml:lang="sq">Bengali</description>
+ <description xml:lang="sr">бенгалÑки</description>
+ <description xml:lang="sv">Bengalisk</description>
+ <description xml:lang="tr">Bengalce</description>
+ <description xml:lang="uk">БенгальÑька</description>
+ <description xml:lang="vi">Băng-gan</description>
+ <description xml:lang="zh_CN">孟加拉</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ben_probhat</name>
+ <description>Bengali Probhat</description>
+ <description xml:lang="ru">БенгальÑÐºÐ°Ñ ÐŸÑ€Ð¾Ð±Ð°Ñ‚</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>guj</name>
+ <description>Gujarati</description>
+ <description xml:lang="af">Gujarati</description>
+ <description xml:lang="az">GujaraticÉ™</description>
+ <description xml:lang="bg">гуджарати</description>
+ <description xml:lang="cs">Gujarati</description>
+ <description xml:lang="da">Gujarati</description>
+ <description xml:lang="en_GB">Gujarati</description>
+ <description xml:lang="fr">Gujarati</description>
+ <description xml:lang="hu">gudzsarati</description>
+ <description xml:lang="nl">Gujarati</description>
+ <description xml:lang="ru">Гуджарати</description>
+ <description xml:lang="rw">Gujarati</description>
+ <description xml:lang="sk">Gudžarati</description>
+ <description xml:lang="sq">Gujarati</description>
+ <description xml:lang="sr">гујарати</description>
+ <description xml:lang="sv">Gujaratisk</description>
+ <description xml:lang="tr">Batı Hint dili</description>
+ <description xml:lang="uk">ГуÑраті</description>
+ <description xml:lang="vi">Gujarati</description>
+ <description xml:lang="zh_CN">å¤å‰æ‹‰ç‰¹</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>guru</name>
+ <description>Gurmukhi</description>
+ <description xml:lang="af">Gurmukhi</description>
+ <description xml:lang="az">Gurmukhi</description>
+ <description xml:lang="bg">гурмуки</description>
+ <description xml:lang="cs">Gurmukhi</description>
+ <description xml:lang="da">Gurmukhi</description>
+ <description xml:lang="en_GB">Gurmukhi</description>
+ <description xml:lang="fr">Gurmukhi</description>
+ <description xml:lang="hu">gurmukhi</description>
+ <description xml:lang="nl">Gurmukhi</description>
+ <description xml:lang="ru">Гурмукхи</description>
+ <description xml:lang="rw">Gurumuki</description>
+ <description xml:lang="sk">Gurmuchské</description>
+ <description xml:lang="sq">Gurmukhi</description>
+ <description xml:lang="sr">гурмуки</description>
+ <description xml:lang="sv">Gurmukhisk</description>
+ <description xml:lang="tr">Gurmukhi</description>
+ <description xml:lang="uk">Гурмукхі</description>
+ <description xml:lang="vi">Gurmukhi</description>
+ <description xml:lang="zh_CN">æ—é®æ™®</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>kan</name>
+ <description>Kannada</description>
+ <description xml:lang="af">Kannada</description>
+ <description xml:lang="az">Kannada</description>
+ <description xml:lang="bg">канадÑка</description>
+ <description xml:lang="cs">Kannadské</description>
+ <description xml:lang="da">Kannada</description>
+ <description xml:lang="en_GB">Kannada</description>
+ <description xml:lang="fr">Kannada</description>
+ <description xml:lang="hu">kannada</description>
+ <description xml:lang="nl">Kannada</description>
+ <description xml:lang="ru">Каннада</description>
+ <description xml:lang="rw">Kannada</description>
+ <description xml:lang="sk">Kannadské</description>
+ <description xml:lang="sq">Kanadeze</description>
+ <description xml:lang="sr">канада (јужна индија)</description>
+ <description xml:lang="sv">Kannada</description>
+ <description xml:lang="tr">Güney Hint dili</description>
+ <description xml:lang="uk">КанадÑька</description>
+ <description xml:lang="vi">Kannada</description>
+ <description xml:lang="zh_CN">埃纳德</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>mal</name>
+ <description>Malayalam</description>
+ <description xml:lang="af">Malayalam</description>
+ <description xml:lang="az">Malayalamca</description>
+ <description xml:lang="cs">Malajské</description>
+ <description xml:lang="da">Malayalam</description>
+ <description xml:lang="en_GB">Malayalam</description>
+ <description xml:lang="fr">Malayalam</description>
+ <description xml:lang="hu">malajalam</description>
+ <description xml:lang="nl">Malayalamees</description>
+ <description xml:lang="ru">Малайaлам</description>
+ <description xml:lang="rw">Malayalamu</description>
+ <description xml:lang="sk">Malajalamské</description>
+ <description xml:lang="sq">Malayalam</description>
+ <description xml:lang="sr">малајамÑки</description>
+ <description xml:lang="sv">Malayalam</description>
+ <description xml:lang="tr">Malayalam dili</description>
+ <description xml:lang="uk">МалайÑька</description>
+ <description xml:lang="vi">Malayalam</description>
+ <description xml:lang="zh_CN">马æ¥è¥¿äºš</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ori</name>
+ <description>Oriya</description>
+ <description xml:lang="af">Oriya</description>
+ <description xml:lang="az">Oriya</description>
+ <description xml:lang="cs">Oriya</description>
+ <description xml:lang="da">Oriya</description>
+ <description xml:lang="en_GB">Oriya</description>
+ <description xml:lang="fr">Oriya</description>
+ <description xml:lang="hu">orija</description>
+ <description xml:lang="nl">Oriya</description>
+ <description xml:lang="ru">ОрийÑ</description>
+ <description xml:lang="rw">Oriya</description>
+ <description xml:lang="sk">Oriya</description>
+ <description xml:lang="sq">Oriya</description>
+ <description xml:lang="sr">орија</description>
+ <description xml:lang="sv">Oriya</description>
+ <description xml:lang="tr">Orissa dili</description>
+ <description xml:lang="uk">ОріÑ</description>
+ <description xml:lang="vi">Oriya</description>
+ <description xml:lang="zh_CN">Oriya</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_unicode</name>
+ <description>Tamil Unicode</description>
+ <description xml:lang="ru">ТамильÑÐºÐ°Ñ Unicode</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_TAB</name>
+ <description>Tamil TAB Typewriter</description>
+ <description xml:lang="ru">ТамильÑÐºÐ°Ñ "ÐŸÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½ÐºÐ°" TAB</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_TSCII</name>
+ <description>Tamil TSCII Typewriter</description>
+ <description xml:lang="ru">ТамильÑÐºÐ°Ñ "ÐŸÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½ÐºÐ°" TSCII</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam</name>
+ <description>Tamil</description>
+ <description xml:lang="af">Tamilees</description>
+ <description xml:lang="az">TamilcÉ™</description>
+ <description xml:lang="bg">тамилÑка</description>
+ <description xml:lang="cs">Tamilské</description>
+ <description xml:lang="da">Tamil</description>
+ <description xml:lang="el">Ταμίλ</description>
+ <description xml:lang="en_GB">Tamil</description>
+ <description xml:lang="fr">Tamoul</description>
+ <description xml:lang="hu">tamil</description>
+ <description xml:lang="nl">Tamil</description>
+ <description xml:lang="ru">ТамильÑкаÑ</description>
+ <description xml:lang="rw">Tamili</description>
+ <description xml:lang="sk">Tamilské</description>
+ <description xml:lang="sq">Tamil</description>
+ <description xml:lang="sr">тамил</description>
+ <description xml:lang="sv">Tamilsk</description>
+ <description xml:lang="tr">Tamil dili</description>
+ <description xml:lang="uk">ТамільÑька</description>
+ <description xml:lang="vi">Tamil</description>
+ <description xml:lang="zh_CN">泰米尔</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tel</name>
+ <description>Telugu</description>
+ <description xml:lang="af">Telugu</description>
+ <description xml:lang="az">Telugu</description>
+ <description xml:lang="cs">Telugu</description>
+ <description xml:lang="da">Telugu</description>
+ <description xml:lang="el">ΤελοÏγκου</description>
+ <description xml:lang="en_GB">Telugu</description>
+ <description xml:lang="fr">Telugu</description>
+ <description xml:lang="hu">telugu</description>
+ <description xml:lang="nl">Telugu</description>
+ <description xml:lang="ru">Телугу</description>
+ <description xml:lang="rw">Tegulu</description>
+ <description xml:lang="sk">Telugské</description>
+ <description xml:lang="sq">Telugu</description>
+ <description xml:lang="sr">телугу</description>
+ <description xml:lang="sv">Telugo</description>
+ <description xml:lang="tr">Telugu dili</description>
+ <description xml:lang="uk">Телугу</description>
+ <description xml:lang="vi">Telugu</description>
+ <description xml:lang="zh_CN">æ³°å¢å›º</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>urd</name>
+ <description>Urdu</description>
+ <description xml:lang="el">ΟÏÏντου</description>
+ <description xml:lang="en_GB">Urdu</description>
+ <description xml:lang="nl">Urdu</description>
+ <description xml:lang="ru">Урду</description>
+ <description xml:lang="rw">Urudu</description>
+ <description xml:lang="vi">Ur-du</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ba</name>
+ <shortDescription>Bih</shortDescription>
+ <shortDescription xml:lang="af">Bih</shortDescription>
+ <shortDescription xml:lang="az">Bih</shortDescription>
+ <shortDescription xml:lang="cs">Bos</shortDescription>
+ <shortDescription xml:lang="da">Bih</shortDescription>
+ <shortDescription xml:lang="en_GB">Bih</shortDescription>
+ <shortDescription xml:lang="fr">Bih</shortDescription>
+ <shortDescription xml:lang="hu">Bih</shortDescription>
+ <shortDescription xml:lang="nl">Bih</shortDescription>
+ <shortDescription xml:lang="ru">БоÑн</shortDescription>
+ <shortDescription xml:lang="sk">Bih</shortDescription>
+ <shortDescription xml:lang="sq">Bih</shortDescription>
+ <shortDescription xml:lang="sr">боÑ</shortDescription>
+ <shortDescription xml:lang="sv">Bih</shortDescription>
+ <shortDescription xml:lang="tr">Bih</shortDescription>
+ <shortDescription xml:lang="uk">БоÑн</shortDescription>
+ <shortDescription xml:lang="vi">Bih</shortDescription>
+ <shortDescription xml:lang="zh_CN">Bih</shortDescription>
+ <description>Bosnia and Herzegovina</description>
+ <description xml:lang="en_GB">Bosnia and Herzegovina</description>
+ <description xml:lang="nl">Bosnië-Hercegovina</description>
+ <description xml:lang="ru">БоÑÐ½Ð¸Ñ Ð¸ Герцеговина</description>
+ <description xml:lang="rw">Bosiniya na Herizegovina</description>
+ <description xml:lang="vi">Bosnia và Herzegovina</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>br</name>
+ <shortDescription>Bra</shortDescription>
+ <shortDescription xml:lang="af">Bra</shortDescription>
+ <shortDescription xml:lang="az">Bra</shortDescription>
+ <shortDescription xml:lang="cs">Bra</shortDescription>
+ <shortDescription xml:lang="da">Bra</shortDescription>
+ <shortDescription xml:lang="en_GB">Bra</shortDescription>
+ <shortDescription xml:lang="fr">Bra</shortDescription>
+ <shortDescription xml:lang="hu">Bra</shortDescription>
+ <shortDescription xml:lang="nl">Bra</shortDescription>
+ <shortDescription xml:lang="ru">Браз</shortDescription>
+ <shortDescription xml:lang="sk">Bra</shortDescription>
+ <shortDescription xml:lang="sq">Bra</shortDescription>
+ <shortDescription xml:lang="sr">бра</shortDescription>
+ <shortDescription xml:lang="sv">Bra</shortDescription>
+ <shortDescription xml:lang="tr">Bra</shortDescription>
+ <shortDescription xml:lang="uk">Браз</shortDescription>
+ <shortDescription xml:lang="vi">Bra</shortDescription>
+ <shortDescription xml:lang="zh_CN">Bra</shortDescription>
+ <description>Brazil</description>
+ <description xml:lang="en_GB">Brazil</description>
+ <description xml:lang="nl">Brazilië</description>
+ <description xml:lang="ru">БразилиÑ</description>
+ <description xml:lang="rw">Burezile</description>
+ <description xml:lang="vi">Bra-zil</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>bg</name>
+ <shortDescription>Bgr</shortDescription>
+ <shortDescription xml:lang="af">Bgr</shortDescription>
+ <shortDescription xml:lang="az">Bgr</shortDescription>
+ <shortDescription xml:lang="cs">Bul</shortDescription>
+ <shortDescription xml:lang="da">Bgr</shortDescription>
+ <shortDescription xml:lang="en_GB">Bgr</shortDescription>
+ <shortDescription xml:lang="fr">Bgr</shortDescription>
+ <shortDescription xml:lang="hu">Bgr</shortDescription>
+ <shortDescription xml:lang="nl">Bgr</shortDescription>
+ <shortDescription xml:lang="ru">Болг</shortDescription>
+ <shortDescription xml:lang="sk">Bgr</shortDescription>
+ <shortDescription xml:lang="sq">Bgr</shortDescription>
+ <shortDescription xml:lang="sr">буг</shortDescription>
+ <shortDescription xml:lang="sv">Bgr</shortDescription>
+ <shortDescription xml:lang="tr">Bgr</shortDescription>
+ <shortDescription xml:lang="uk">Болг</shortDescription>
+ <shortDescription xml:lang="vi">Bgr</shortDescription>
+ <shortDescription xml:lang="zh_CN">Bgr</shortDescription>
+ <description>Bulgaria</description>
+ <description xml:lang="en_GB">Bulgaria</description>
+ <description xml:lang="nl">Bulgarije</description>
+ <description xml:lang="ru">БолгариÑ</description>
+ <description xml:lang="rw">Buligariya</description>
+ <description xml:lang="vi">Bun-ga-ri</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <description>Phonetic</description>
+ <description xml:lang="af">Foneties</description>
+ <description xml:lang="az">Fonetik</description>
+ <description xml:lang="cs">Fonetické</description>
+ <description xml:lang="da">Fonetisk</description>
+ <description xml:lang="el">Φωνητικά</description>
+ <description xml:lang="en_GB">Phonetic</description>
+ <description xml:lang="fr">Phonétique</description>
+ <description xml:lang="hu">fonetikus</description>
+ <description xml:lang="nl">Fonetisch</description>
+ <description xml:lang="ru">ФонетичеÑкаÑ</description>
+ <description xml:lang="rw">Nyigamvugo:</description>
+ <description xml:lang="sk">Fonetické</description>
+ <description xml:lang="sq">Phonetic</description>
+ <description xml:lang="sr">фонетÑки</description>
+ <description xml:lang="sv">Fonetisk</description>
+ <description xml:lang="tr">Fonetik</description>
+ <description xml:lang="uk">Фонетична</description>
+ <description xml:lang="vi">Ngữ âm</description>
+ <description xml:lang="zh_CN">Phonetic</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mm</name>
+ <shortDescription>Mmr</shortDescription>
+ <shortDescription xml:lang="af">Mmr</shortDescription>
+ <shortDescription xml:lang="az">Mmr</shortDescription>
+ <shortDescription xml:lang="cs">Mmr</shortDescription>
+ <shortDescription xml:lang="da">Mmr</shortDescription>
+ <shortDescription xml:lang="en_GB">Mmr</shortDescription>
+ <shortDescription xml:lang="fr">Mmr</shortDescription>
+ <shortDescription xml:lang="hu">Mmr</shortDescription>
+ <shortDescription xml:lang="nl">Mmr</shortDescription>
+ <shortDescription xml:lang="ru">МьÑнм</shortDescription>
+ <shortDescription xml:lang="sk">Mmr</shortDescription>
+ <shortDescription xml:lang="sq">Mmr</shortDescription>
+ <shortDescription xml:lang="sr">ммр</shortDescription>
+ <shortDescription xml:lang="sv">Mmr</shortDescription>
+ <shortDescription xml:lang="tr">Mmr</shortDescription>
+ <shortDescription xml:lang="uk">МьÑнм</shortDescription>
+ <shortDescription xml:lang="vi">Mmr</shortDescription>
+ <shortDescription xml:lang="zh_CN">Mmr</shortDescription>
+ <description>Myanmar</description>
+ <description xml:lang="en_GB">Myanmar</description>
+ <description xml:lang="nl">Myanmar</description>
+ <description xml:lang="ru">МьÑнмар</description>
+ <description xml:lang="rw">Myanmar</description>
+ <description xml:lang="vi">Myanmar</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ca</name>
+ <shortDescription>Can</shortDescription>
+ <shortDescription xml:lang="af">Kan</shortDescription>
+ <shortDescription xml:lang="az">Kan</shortDescription>
+ <shortDescription xml:lang="cs">Kan</shortDescription>
+ <shortDescription xml:lang="da">Can</shortDescription>
+ <shortDescription xml:lang="el">Καν</shortDescription>
+ <shortDescription xml:lang="en_GB">Can</shortDescription>
+ <shortDescription xml:lang="fr">Can</shortDescription>
+ <shortDescription xml:lang="hu">Can</shortDescription>
+ <shortDescription xml:lang="nl">Can</shortDescription>
+ <shortDescription xml:lang="ru">Кан</shortDescription>
+ <shortDescription xml:lang="sk">Can</shortDescription>
+ <shortDescription xml:lang="sq">Can</shortDescription>
+ <shortDescription xml:lang="sr">кан</shortDescription>
+ <shortDescription xml:lang="sv">Can</shortDescription>
+ <shortDescription xml:lang="tr">Kan</shortDescription>
+ <shortDescription xml:lang="uk">Кан</shortDescription>
+ <shortDescription xml:lang="vi">Can</shortDescription>
+ <shortDescription xml:lang="zh_CN">Can</shortDescription>
+ <description>Canada</description>
+ <description xml:lang="en_GB">Canada</description>
+ <description xml:lang="nl">Canada</description>
+ <description xml:lang="ru">Канада</description>
+ <description xml:lang="rw">Kanada</description>
+ <description xml:lang="vi">Ca-na-da</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>fr-dvorak</name>
+ <description>French Dvorak</description>
+ <description xml:lang="en_GB">French Dvorak</description>
+ <description xml:lang="nl">Frans-Dvorak</description>
+ <description xml:lang="ru">ФранцузÑÐºÐ°Ñ Dvorak</description>
+ <description xml:lang="vi">Pháp Dvorak</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fr-legacy</name>
+ <description>French (legacy)</description>
+ <description xml:lang="en_GB">French (legacy)</description>
+ <description xml:lang="nl">Frans (oud)</description>
+ <description xml:lang="ru">ФранцузÑÐºÐ°Ñ (унаÑледованнаÑ)</description>
+ <description xml:lang="vi">Pháp (di sản)</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>multi</name>
+ <description>Multilingual</description>
+ <description xml:lang="en_GB">Multilingual</description>
+ <description xml:lang="nl">Meertalig</description>
+ <description xml:lang="ru">МногоÑзычнаÑ</description>
+ <description xml:lang="vi">Äa ngôn ngữ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>multi-2gr</name>
+ <description>Multilingual, second part</description>
+ <description xml:lang="en_GB">Multilingual, second part</description>
+ <description xml:lang="nl">Meertalig, tweede deel</description>
+ <description xml:lang="ru">МногоÑзычнаÑ, Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñ‡Ð°ÑÑ‚ÑŒ</description>
+ <description xml:lang="rw">ISEGONDA</description>
+ <description xml:lang="vi">Äa ngôn ngữ, phần hai</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ike</name>
+ <description>Inuktitut</description>
+ <description xml:lang="af">Inuktitut</description>
+ <description xml:lang="az">Ä°nuktitut</description>
+ <description xml:lang="bg">еÑкимоÑка</description>
+ <description xml:lang="cs">Inuitské</description>
+ <description xml:lang="da">Inuktitut</description>
+ <description xml:lang="en_GB">Inuktitut</description>
+ <description xml:lang="fr">Inuktitut</description>
+ <description xml:lang="hu">inuktitut</description>
+ <description xml:lang="nl">Inuktitut</description>
+ <description xml:lang="ru">ИннуитÑкаÑ</description>
+ <description xml:lang="rw">Ikinukititutu</description>
+ <description xml:lang="sk">Inuktitutské</description>
+ <description xml:lang="sq">Inuktitut</description>
+ <description xml:lang="sr">инуктитут</description>
+ <description xml:lang="sv">Inuktitut</description>
+ <description xml:lang="tr">Inuktitut</description>
+ <description xml:lang="uk">ІннуітÑька</description>
+ <description xml:lang="vi">Inuktitut</description>
+ <description xml:lang="zh_CN">因纽特</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>hr</name>
+ <shortDescription>Hrv</shortDescription>
+ <shortDescription xml:lang="af">Hrv</shortDescription>
+ <shortDescription xml:lang="az">Xrv</shortDescription>
+ <shortDescription xml:lang="cs">Chor</shortDescription>
+ <shortDescription xml:lang="da">Hrv</shortDescription>
+ <shortDescription xml:lang="en_GB">Hrv</shortDescription>
+ <shortDescription xml:lang="fr">Hrv</shortDescription>
+ <shortDescription xml:lang="hu">Hrv</shortDescription>
+ <shortDescription xml:lang="nl">Hrv</shortDescription>
+ <shortDescription xml:lang="ru">Хорв</shortDescription>
+ <shortDescription xml:lang="sk">Chor</shortDescription>
+ <shortDescription xml:lang="sq">Hrv</shortDescription>
+ <shortDescription xml:lang="sr">хрв</shortDescription>
+ <shortDescription xml:lang="sv">Hrv</shortDescription>
+ <shortDescription xml:lang="tr">Hrv</shortDescription>
+ <shortDescription xml:lang="uk">Хорв</shortDescription>
+ <shortDescription xml:lang="vi">Hrv</shortDescription>
+ <shortDescription xml:lang="zh_CN">Hrv</shortDescription>
+ <description>Croatia</description>
+ <description xml:lang="en_GB">Croatia</description>
+ <description xml:lang="nl">Kroatië</description>
+ <description xml:lang="ru">ХорватиÑ</description>
+ <description xml:lang="rw">Korowatiya</description>
+ <description xml:lang="vi">Croátia</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <description>US keyboard with Croatian letters</description>
+ <description xml:lang="en_GB">US keyboard with Croatian letters</description>
+ <description xml:lang="nl">Amerikaans toetsenbord met Kroatische letters</description>
+ <description xml:lang="ru">Клавиатура Ð¡Ð¨Ð Ñ Ñ…Ð¾Ñ€Ð²Ð°Ñ‚Ñкими буквами</description>
+ <description xml:lang="rw">Mwandikisho Na:</description>
+ <description xml:lang="vi">Bàn phím Mỹ với các chữ cái Croát-chi-a</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>cz</name>
+ <shortDescription>Cze</shortDescription>
+ <shortDescription xml:lang="af">Cze</shortDescription>
+ <shortDescription xml:lang="az">Çex</shortDescription>
+ <shortDescription xml:lang="bg">чехшка</shortDescription>
+ <shortDescription xml:lang="cs">ÄŒes</shortDescription>
+ <shortDescription xml:lang="da">Tje</shortDescription>
+ <shortDescription xml:lang="el">Τσε</shortDescription>
+ <shortDescription xml:lang="en_GB">Cze</shortDescription>
+ <shortDescription xml:lang="fr">Cze</shortDescription>
+ <shortDescription xml:lang="hu">Cze</shortDescription>
+ <shortDescription xml:lang="nl">Cze</shortDescription>
+ <shortDescription xml:lang="ru">Чех</shortDescription>
+ <shortDescription xml:lang="sk">ÄŒes</shortDescription>
+ <shortDescription xml:lang="sq">Cze</shortDescription>
+ <shortDescription xml:lang="sr">чеш</shortDescription>
+ <shortDescription xml:lang="sv">Cze</shortDescription>
+ <shortDescription xml:lang="tr">Çek</shortDescription>
+ <shortDescription xml:lang="uk">ЧеÑ</shortDescription>
+ <shortDescription xml:lang="vi">Séc</shortDescription>
+ <shortDescription xml:lang="zh_CN">Cze</shortDescription>
+ <description>Czechia</description>
+ <description xml:lang="en_GB">Czechia</description>
+ <description xml:lang="nl">Tsjechië</description>
+ <description xml:lang="ru">ЧехиÑ</description>
+ <description xml:lang="vi">Czechia</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>bksl</name>
+ <description>With &lt;\|&gt; key</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty</name>
+ <description>qwerty</description>
+ <description xml:lang="af">qwerty</description>
+ <description xml:lang="az">qwerty</description>
+ <description xml:lang="bg">чешка (qwerty)</description>
+ <description xml:lang="cs">qwerty</description>
+ <description xml:lang="da">qwerty</description>
+ <description xml:lang="en_GB">qwerty</description>
+ <description xml:lang="fr">qwerty</description>
+ <description xml:lang="hu">qwerty</description>
+ <description xml:lang="nl">qwerty</description>
+ <description xml:lang="ru">qwerty</description>
+ <description xml:lang="sk">qwerty</description>
+ <description xml:lang="sq">qwerty</description>
+ <description xml:lang="sr">qwerty</description>
+ <description xml:lang="sv">qwerty</description>
+ <description xml:lang="tr">qwerty</description>
+ <description xml:lang="uk">qwerty</description>
+ <description xml:lang="vi">qwerty</description>
+ <description xml:lang="zh_CN">qwerty</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty_bksl</name>
+ <description>qwerty, extended Backslash</description>
+ <description xml:lang="en_GB">qwerty, extended Backslash</description>
+ <description xml:lang="nl">qwerty, uitgebreide backslash</description>
+ <description xml:lang="ru">qwerty, раÑширенные функции Backslash</description>
+ <description xml:lang="rw">Byongerewe...</description>
+ <description xml:lang="vi">qwerty, Gạch ngược mở rộng</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>dk</name>
+ <shortDescription>Dnk</shortDescription>
+ <shortDescription xml:lang="af">Dnk</shortDescription>
+ <shortDescription xml:lang="az">Dnk</shortDescription>
+ <shortDescription xml:lang="cs">Dán</shortDescription>
+ <shortDescription xml:lang="da">Dnk</shortDescription>
+ <shortDescription xml:lang="en_GB">Dnk</shortDescription>
+ <shortDescription xml:lang="fr">Dnk</shortDescription>
+ <shortDescription xml:lang="hu">Dnk</shortDescription>
+ <shortDescription xml:lang="nl">Dnk</shortDescription>
+ <shortDescription xml:lang="ru">Дат</shortDescription>
+ <shortDescription xml:lang="sk">Dán</shortDescription>
+ <shortDescription xml:lang="sq">Dnk</shortDescription>
+ <shortDescription xml:lang="sr">дан</shortDescription>
+ <shortDescription xml:lang="sv">Dnk</shortDescription>
+ <shortDescription xml:lang="tr">Dnk</shortDescription>
+ <shortDescription xml:lang="uk">Дат</shortDescription>
+ <shortDescription xml:lang="vi">Dnk</shortDescription>
+ <shortDescription xml:lang="zh_CN">Dnk</shortDescription>
+ <description>Denmark</description>
+ <description xml:lang="en_GB">Denmark</description>
+ <description xml:lang="nl">Denemarken</description>
+ <description xml:lang="ru">ДаниÑ</description>
+ <description xml:lang="rw">Danimarike</description>
+ <description xml:lang="vi">Äan Mạch</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>nl</name>
+ <shortDescription>Nld</shortDescription>
+ <shortDescription xml:lang="af">Nld</shortDescription>
+ <shortDescription xml:lang="az">Nld</shortDescription>
+ <shortDescription xml:lang="cs">Nld</shortDescription>
+ <shortDescription xml:lang="da">Hollandsk</shortDescription>
+ <shortDescription xml:lang="en_GB">Nld</shortDescription>
+ <shortDescription xml:lang="fr">Nld</shortDescription>
+ <shortDescription xml:lang="hu">Nld</shortDescription>
+ <shortDescription xml:lang="nl">Nld</shortDescription>
+ <shortDescription xml:lang="ru">Флам</shortDescription>
+ <shortDescription xml:lang="sk">Nld</shortDescription>
+ <shortDescription xml:lang="sq">Nld</shortDescription>
+ <shortDescription xml:lang="sr">хол</shortDescription>
+ <shortDescription xml:lang="sv">Nld</shortDescription>
+ <shortDescription xml:lang="tr">Hol</shortDescription>
+ <shortDescription xml:lang="uk">Флам</shortDescription>
+ <shortDescription xml:lang="vi">Nld</shortDescription>
+ <shortDescription xml:lang="zh_CN">Nld</shortDescription>
+ <description>Netherlands</description>
+ <description xml:lang="en_GB">Netherlands</description>
+ <description xml:lang="nl">Nederland</description>
+ <description xml:lang="ru">Ðидерланды</description>
+ <description xml:lang="rw">Nederilande</description>
+ <description xml:lang="vi">Hà Lan</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>bt</name>
+ <shortDescription>Bhu</shortDescription>
+ <shortDescription xml:lang="ru">Бут</shortDescription>
+ <description>Bhutan</description>
+ <description xml:lang="ru">Бутан</description>
+ </configItem>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ee</name>
+ <shortDescription>Est</shortDescription>
+ <shortDescription xml:lang="af">Est</shortDescription>
+ <shortDescription xml:lang="az">Est</shortDescription>
+ <shortDescription xml:lang="cs">Est</shortDescription>
+ <shortDescription xml:lang="da">Est</shortDescription>
+ <shortDescription xml:lang="en_GB">Est</shortDescription>
+ <shortDescription xml:lang="fr">Est</shortDescription>
+ <shortDescription xml:lang="hu">Est</shortDescription>
+ <shortDescription xml:lang="nl">Est</shortDescription>
+ <shortDescription xml:lang="ru">ЭÑÑ‚</shortDescription>
+ <shortDescription xml:lang="sk">Est</shortDescription>
+ <shortDescription xml:lang="sq">Est</shortDescription>
+ <shortDescription xml:lang="sr">еÑÑ‚</shortDescription>
+ <shortDescription xml:lang="sv">Est</shortDescription>
+ <shortDescription xml:lang="tr">Est</shortDescription>
+ <shortDescription xml:lang="uk">ЕÑÑ‚</shortDescription>
+ <shortDescription xml:lang="vi">Est</shortDescription>
+ <shortDescription xml:lang="zh_CN">Est</shortDescription>
+ <description>Estonia</description>
+ <description xml:lang="en_GB">Estonia</description>
+ <description xml:lang="nl">Estland</description>
+ <description xml:lang="ru">ЭÑтониÑ</description>
+ <description xml:lang="rw">Esitoniya</description>
+ <description xml:lang="vi">Ex-tô-nhia</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ir</name>
+ <shortDescription>Irn</shortDescription>
+ <shortDescription xml:lang="af">Irn</shortDescription>
+ <shortDescription xml:lang="az">Ä°rn</shortDescription>
+ <shortDescription xml:lang="cs">Irn</shortDescription>
+ <shortDescription xml:lang="da">Irn</shortDescription>
+ <shortDescription xml:lang="en_GB">Irn</shortDescription>
+ <shortDescription xml:lang="fr">Irn</shortDescription>
+ <shortDescription xml:lang="hu">Irn</shortDescription>
+ <shortDescription xml:lang="nl">Irn</shortDescription>
+ <shortDescription xml:lang="ru">ПерÑ</shortDescription>
+ <shortDescription xml:lang="sk">Irn</shortDescription>
+ <shortDescription xml:lang="sq">Irn</shortDescription>
+ <shortDescription xml:lang="sr">ирн</shortDescription>
+ <shortDescription xml:lang="sv">Irn</shortDescription>
+ <shortDescription xml:lang="tr">Irn</shortDescription>
+ <shortDescription xml:lang="uk">ПерÑ</shortDescription>
+ <shortDescription xml:lang="vi">Irn</shortDescription>
+ <shortDescription xml:lang="zh_CN">Irn</shortDescription>
+ <description>Iran</description>
+ <description xml:lang="en_GB">Iran</description>
+ <description xml:lang="nl">Iran</description>
+ <description xml:lang="ru">Иран</description>
+ <description xml:lang="vi">Iran</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>fo</name>
+ <shortDescription>Fao</shortDescription>
+ <shortDescription xml:lang="af">Fao</shortDescription>
+ <shortDescription xml:lang="az">Fao</shortDescription>
+ <shortDescription xml:lang="cs">Fao</shortDescription>
+ <shortDescription xml:lang="da">Fær</shortDescription>
+ <shortDescription xml:lang="en_GB">Fao</shortDescription>
+ <shortDescription xml:lang="fr">Fao</shortDescription>
+ <shortDescription xml:lang="hu">Fao</shortDescription>
+ <shortDescription xml:lang="nl">Fao</shortDescription>
+ <shortDescription xml:lang="ru">Фар</shortDescription>
+ <shortDescription xml:lang="sk">Fao</shortDescription>
+ <shortDescription xml:lang="sq">Fao</shortDescription>
+ <shortDescription xml:lang="sr">фар</shortDescription>
+ <shortDescription xml:lang="sv">Fao</shortDescription>
+ <shortDescription xml:lang="tr">Fao</shortDescription>
+ <shortDescription xml:lang="uk">Фарер</shortDescription>
+ <shortDescription xml:lang="vi">Fao</shortDescription>
+ <shortDescription xml:lang="zh_CN">Fao</shortDescription>
+ <description>Faroe Islands</description>
+ <description xml:lang="en_GB">Faroe Islands</description>
+ <description xml:lang="nl">Faröer-eilanden</description>
+ <description xml:lang="ru">ОÑтрова Фаро</description>
+ <description xml:lang="rw">Ibirwa bya Farowe</description>
+ <description xml:lang="vi">Faroe Islands</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>fi</name>
+ <shortDescription>Fin</shortDescription>
+ <shortDescription xml:lang="af">Fin</shortDescription>
+ <shortDescription xml:lang="az">Fin</shortDescription>
+ <shortDescription xml:lang="cs">Fin</shortDescription>
+ <shortDescription xml:lang="da">Fin</shortDescription>
+ <shortDescription xml:lang="el">Φιν</shortDescription>
+ <shortDescription xml:lang="en_GB">Fin</shortDescription>
+ <shortDescription xml:lang="fr">Fin</shortDescription>
+ <shortDescription xml:lang="hu">Fin</shortDescription>
+ <shortDescription xml:lang="nl">Fin</shortDescription>
+ <shortDescription xml:lang="ru">Фин</shortDescription>
+ <shortDescription xml:lang="sk">Fín</shortDescription>
+ <shortDescription xml:lang="sq">Fin</shortDescription>
+ <shortDescription xml:lang="sr">фин</shortDescription>
+ <shortDescription xml:lang="sv">Fin</shortDescription>
+ <shortDescription xml:lang="tr">Fin</shortDescription>
+ <shortDescription xml:lang="uk">Фін</shortDescription>
+ <shortDescription xml:lang="vi">Fin</shortDescription>
+ <shortDescription xml:lang="zh_CN">Fin</shortDescription>
+ <description>Finland</description>
+ <description xml:lang="en_GB">Finland</description>
+ <description xml:lang="nl">Finland</description>
+ <description xml:lang="ru">ФинлÑндиÑ</description>
+ <description xml:lang="rw">Finilande</description>
+ <description xml:lang="vi">Phần Lan</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>smi</name>
+ <description>Northern Saami</description>
+ <description xml:lang="en_GB">Northern Saami</description>
+ <description xml:lang="nl">Noord-Lapland</description>
+ <description xml:lang="ru">Ð¡ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¡Ð°Ð°Ð¼ÑкаÑ</description>
+ <description xml:lang="rw">Sami y'Amajyaruguru</description>
+ <description xml:lang="vi">Bắc Saami</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>fr</name>
+ <shortDescription>Fra</shortDescription>
+ <shortDescription xml:lang="af">Fra</shortDescription>
+ <shortDescription xml:lang="az">Fra</shortDescription>
+ <shortDescription xml:lang="cs">Fra</shortDescription>
+ <shortDescription xml:lang="da">Fra</shortDescription>
+ <shortDescription xml:lang="el">Γαλ</shortDescription>
+ <shortDescription xml:lang="en_GB">Fra</shortDescription>
+ <shortDescription xml:lang="fr">Fra</shortDescription>
+ <shortDescription xml:lang="hu">Fra</shortDescription>
+ <shortDescription xml:lang="nl">Fra</shortDescription>
+ <shortDescription xml:lang="ru">Фр</shortDescription>
+ <shortDescription xml:lang="sk">Fra</shortDescription>
+ <shortDescription xml:lang="sq">Fra</shortDescription>
+ <shortDescription xml:lang="sr">фра</shortDescription>
+ <shortDescription xml:lang="sv">Fra</shortDescription>
+ <shortDescription xml:lang="tr">Fra</shortDescription>
+ <shortDescription xml:lang="uk">Фра</shortDescription>
+ <shortDescription xml:lang="vi">Fra</shortDescription>
+ <shortDescription xml:lang="zh_CN">Fra</shortDescription>
+ <description>France</description>
+ <description xml:lang="en_GB">France</description>
+ <description xml:lang="nl">Frankrijk</description>
+ <description xml:lang="ru">ФранциÑ</description>
+ <description xml:lang="rw">Ubufaransa</description>
+ <description xml:lang="vi">Pháp</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <description>Sun dead keys</description>
+ <description xml:lang="af">Sun (dooie sleutels)</description>
+ <description xml:lang="az">Sun ölü düymələr</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Mrtvé klávesy Sun</description>
+ <description xml:lang="da">Sun døde taster</description>
+ <description xml:lang="en_GB">Sun dead keys</description>
+ <description xml:lang="fr">clés mortes Sun</description>
+ <description xml:lang="hu">Sun halott billentyűk</description>
+ <description xml:lang="nl">Sun dode toetsen</description>
+ <description xml:lang="ru">Специальные клавиши (dead keys) Sun</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Mŕtve klávesy Sun</description>
+ <description xml:lang="sq">Pulsantë të vdekur Sun</description>
+ <description xml:lang="sr">Sun-ови акценти</description>
+ <description xml:lang="sv">Sun stumma tangenter</description>
+ <description xml:lang="tr">Sun ölü tuşlar</description>
+ <description xml:lang="uk">Спеціальні клавіші (dead keys) Sun</description>
+ <description xml:lang="vi">Phím chết Sun</description>
+ <description xml:lang="zh_CN">Sun 死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latin9</name>
+ <description>Alternative</description>
+ <description xml:lang="el">Ενναλακτικό</description>
+ <description xml:lang="en_GB">Alternative</description>
+ <description xml:lang="nl">Alternatief</description>
+ <description xml:lang="ru">ÐльтернативнаÑ</description>
+ <description xml:lang="vi">TÆ°Æ¡ng Ä‘Æ°Æ¡ng</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latin9_nodeadkeys</name>
+ <description>Alternative, eliminate dead keys</description>
+ <description xml:lang="en_GB">Alternative, eliminate dead keys</description>
+ <description xml:lang="nl">Alternatief, zonder dode toetsen</description>
+ <description xml:lang="ru">ÐльтернативнаÑ, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="vi">Tương đương, phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latin9_sundeadkeys</name>
+ <description>Alternative, Sun dead keys</description>
+ <description xml:lang="en_GB">Alternative, Sun dead keys</description>
+ <description xml:lang="nl">Alternatief, Sun-dode toetsen</description>
+ <description xml:lang="ru">ÐльтернативнаÑ, Ñпециальные клавиши (dead keys) Sun</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="vi">Tương đương, phím chết Sun</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <description>Dvorak</description>
+ <description xml:lang="af">Dvorak</description>
+ <description xml:lang="az">Dvorak</description>
+ <description xml:lang="bg">Дворак</description>
+ <description xml:lang="cs">Dvorak</description>
+ <description xml:lang="da">Dvorak</description>
+ <description xml:lang="en_GB">Dvorak</description>
+ <description xml:lang="fr">Dvorak</description>
+ <description xml:lang="hu">Dvorak-féle</description>
+ <description xml:lang="nl">Dvorak</description>
+ <description xml:lang="ru">Дворак</description>
+ <description xml:lang="sk">Dvorak</description>
+ <description xml:lang="sq">Dvorak</description>
+ <description xml:lang="sr">дворак</description>
+ <description xml:lang="sv">Dvorak</description>
+ <description xml:lang="tr">Dvorak</description>
+ <description xml:lang="uk">Дворак</description>
+ <description xml:lang="vi">Dvorak</description>
+ <description xml:lang="zh_CN">Dvorak</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ge</name>
+ <shortDescription>Geo</shortDescription>
+ <shortDescription xml:lang="af">Geo</shortDescription>
+ <shortDescription xml:lang="az">Gür</shortDescription>
+ <shortDescription xml:lang="cs">Gru</shortDescription>
+ <shortDescription xml:lang="da">Geo</shortDescription>
+ <shortDescription xml:lang="en_GB">Geo</shortDescription>
+ <shortDescription xml:lang="fr">Geo</shortDescription>
+ <shortDescription xml:lang="hu">Geo</shortDescription>
+ <shortDescription xml:lang="nl">Geo</shortDescription>
+ <shortDescription xml:lang="ru">Груз</shortDescription>
+ <shortDescription xml:lang="sk">Gru</shortDescription>
+ <shortDescription xml:lang="sq">Geo</shortDescription>
+ <shortDescription xml:lang="sr">гру</shortDescription>
+ <shortDescription xml:lang="sv">Geo</shortDescription>
+ <shortDescription xml:lang="tr">Geo</shortDescription>
+ <shortDescription xml:lang="uk">Груз</shortDescription>
+ <shortDescription xml:lang="vi">Geo</shortDescription>
+ <shortDescription xml:lang="zh_CN">Geo</shortDescription>
+ <description>Georgia</description>
+ <description xml:lang="en_GB">Georgia</description>
+ <description xml:lang="nl">Georgië</description>
+ <description xml:lang="ru">ГрузиÑ</description>
+ <description xml:lang="rw">Geworigiya</description>
+ <description xml:lang="vi">Georgia</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>ru</name>
+ <description>Russian</description>
+ <description xml:lang="af">Russies</description>
+ <description xml:lang="az">Rusca</description>
+ <description xml:lang="bg">руÑка</description>
+ <description xml:lang="cs">Ruské</description>
+ <description xml:lang="da">Russisk</description>
+ <description xml:lang="el">Ρωσσικά</description>
+ <description xml:lang="en_GB">Russian</description>
+ <description xml:lang="fr">Russe</description>
+ <description xml:lang="hu">orosz</description>
+ <description xml:lang="nl">Russisch</description>
+ <description xml:lang="ru">РуÑÑкаÑ</description>
+ <description xml:lang="rw">Ikirusiya</description>
+ <description xml:lang="sk">Ruské</description>
+ <description xml:lang="sq">Rusisht</description>
+ <description xml:lang="sr">руÑки</description>
+ <description xml:lang="sv">Rysk</description>
+ <description xml:lang="tr">Rusça</description>
+ <description xml:lang="uk">РоÑійÑька</description>
+ <description xml:lang="vi">Nga</description>
+ <description xml:lang="zh_CN">俄语</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>de</name>
+ <shortDescription>Deu</shortDescription>
+ <shortDescription xml:lang="af">Deu</shortDescription>
+ <shortDescription xml:lang="az">Deu</shortDescription>
+ <shortDescription xml:lang="cs">Něm</shortDescription>
+ <shortDescription xml:lang="da">Tys</shortDescription>
+ <shortDescription xml:lang="en_GB">Deu</shortDescription>
+ <shortDescription xml:lang="fr">Deu</shortDescription>
+ <shortDescription xml:lang="hu">Deu</shortDescription>
+ <shortDescription xml:lang="nl">Deu</shortDescription>
+ <shortDescription xml:lang="ru">Ðем</shortDescription>
+ <shortDescription xml:lang="sk">Nem</shortDescription>
+ <shortDescription xml:lang="sq">Deu</shortDescription>
+ <shortDescription xml:lang="sr">нем</shortDescription>
+ <shortDescription xml:lang="sv">Deu</shortDescription>
+ <shortDescription xml:lang="tr">Alm</shortDescription>
+ <shortDescription xml:lang="uk">Ðім</shortDescription>
+ <shortDescription xml:lang="vi">Deu</shortDescription>
+ <shortDescription xml:lang="zh_CN">Deu</shortDescription>
+ <description>Germany</description>
+ <description xml:lang="en_GB">Germany</description>
+ <description xml:lang="nl">Duitsland</description>
+ <description xml:lang="ru">ГерманиÑ</description>
+ <description xml:lang="rw">Ubudage</description>
+ <description xml:lang="vi">Äức</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>deadacute</name>
+ <description>Dead acute</description>
+ <description xml:lang="af">Dooie akuutaksent</description>
+ <description xml:lang="az">Dead acute</description>
+ <description xml:lang="cs">Mrtvá Äárka</description>
+ <description xml:lang="da">Død accent</description>
+ <description xml:lang="en_GB">Dead acute</description>
+ <description xml:lang="fr">clé morte d'accent aigu</description>
+ <description xml:lang="hu">Halott vessző (´) ékezet</description>
+ <description xml:lang="nl">Dood acutus</description>
+ <description xml:lang="ru">Спец. Ñимвол Dead acute</description>
+ <description xml:lang="sk">MÅ•tva Äiarka</description>
+ <description xml:lang="sq">Fund kritik</description>
+ <description xml:lang="sr">ÐкутÑки акценат</description>
+ <description xml:lang="sv">Stum akut accent</description>
+ <description xml:lang="tr">Ölü acute (´)</description>
+ <description xml:lang="uk">Спец. Ñимвол Dead acute</description>
+ <description xml:lang="vi">Chết sâu</description>
+ <description xml:lang="zh_CN">Dead acute</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>deadgraveacute</name>
+ <description>Dead grave acute</description>
+ <description xml:lang="af">Dooie gravisaksent</description>
+ <description xml:lang="az">Dead grave acute</description>
+ <description xml:lang="cs">Mrtvá opaÄná Äárka</description>
+ <description xml:lang="da">Død accent grave</description>
+ <description xml:lang="en_GB">Dead grave acute</description>
+ <description xml:lang="fr">clé morte d'accent grave</description>
+ <description xml:lang="hu">Halott grave (`) ékezet</description>
+ <description xml:lang="nl">Dood gravis-acutus</description>
+ <description xml:lang="ru">Спец. Ñимвол Dead grave acute</description>
+ <description xml:lang="sk">MÅ•tva opaÄná Äiarka</description>
+ <description xml:lang="sq">Fund kritik serioz</description>
+ <description xml:lang="sr">Ð“Ñ€Ð°Ð²Ð¸Ñ Ð°ÐºÑƒÑ‚Ñки акценат</description>
+ <description xml:lang="sv">Stum grav och akut accent</description>
+ <description xml:lang="tr">Ölü grave acute (`)</description>
+ <description xml:lang="uk">Спец. Ñимвол Dead grave acute</description>
+ <description xml:lang="vi">Chết non sâu</description>
+ <description xml:lang="zh_CN">Dead grave acute</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ro</name>
+ <description>Romanian keyboard with German letters</description>
+ <description xml:lang="en_GB">Romanian keyboard with German letters</description>
+ <description xml:lang="nl">Roemeens toetsenbord met Duitse letters</description>
+ <description xml:lang="ru">РумынÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ð° Ñ Ð½ÐµÐ¼ÐµÑ†ÐºÐ¸Ð¼Ð¸ буквами</description>
+ <description xml:lang="rw">Mwandikisho Na:</description>
+ <description xml:lang="vi">Bàn phím Rô-ma-ni vá»›i các chữ cái Äức</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ro_nodeadkeys</name>
+ <description>Romanian keyboard with German letters, eliminate dead keys</description>
+ <description xml:lang="en_GB">Romanian keyboard with German letters, eliminate dead keys</description>
+ <description xml:lang="nl">Roemeens toetsenbord met Duitse letters, zonder dode toetsen</description>
+ <description xml:lang="rw">Mwandikisho Na: Utubuto</description>
+ <description xml:lang="vi">Bàn phím Rô-ma-ni vá»›i các chữ cái Äức, các phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <description>Dvorak</description>
+ <description xml:lang="af">Dvorak</description>
+ <description xml:lang="az">Dvorak</description>
+ <description xml:lang="bg">Дворак</description>
+ <description xml:lang="cs">Dvorak</description>
+ <description xml:lang="da">Dvorak</description>
+ <description xml:lang="en_GB">Dvorak</description>
+ <description xml:lang="fr">Dvorak</description>
+ <description xml:lang="hu">Dvorak-féle</description>
+ <description xml:lang="nl">Dvorak</description>
+ <description xml:lang="ru">Дворак</description>
+ <description xml:lang="sk">Dvorak</description>
+ <description xml:lang="sq">Dvorak</description>
+ <description xml:lang="sr">дворак</description>
+ <description xml:lang="sv">Dvorak</description>
+ <description xml:lang="tr">Dvorak</description>
+ <description xml:lang="uk">Дворак</description>
+ <description xml:lang="vi">Dvorak</description>
+ <description xml:lang="zh_CN">Dvorak</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>gr</name>
+ <shortDescription>Gre</shortDescription>
+ <shortDescription xml:lang="el">Ελλ</shortDescription>
+ <shortDescription xml:lang="en_GB">Gre</shortDescription>
+ <shortDescription xml:lang="nl">Grieks</shortDescription>
+ <shortDescription xml:lang="ru">Гре</shortDescription>
+ <shortDescription xml:lang="vi">Gre</shortDescription>
+ <description>Greece</description>
+ <description xml:lang="en_GB">Greece</description>
+ <description xml:lang="nl">Griekenland</description>
+ <description xml:lang="ru">ГрециÑ</description>
+ <description xml:lang="rw">Ikigereki</description>
+ <description xml:lang="vi">Hy Lạp</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>extended</name>
+ <description>Extended</description>
+ <description xml:lang="af">Uitgebreide</description>
+ <description xml:lang="az">Uzadılmış</description>
+ <description xml:lang="cs">Rozšířené</description>
+ <description xml:lang="da">Udvidet</description>
+ <description xml:lang="en_GB">Extended</description>
+ <description xml:lang="fr">Étendue</description>
+ <description xml:lang="hu">Kibővített</description>
+ <description xml:lang="nl">Uitgebreid</description>
+ <description xml:lang="ru">РаÑширеннаÑ</description>
+ <description xml:lang="rw">cya/byagutse</description>
+ <description xml:lang="sk">Rozšírené</description>
+ <description xml:lang="sq">E zgjeruar</description>
+ <description xml:lang="sr">Проширено</description>
+ <description xml:lang="sv">Utökad</description>
+ <description xml:lang="tr">GeliÅŸmiÅŸ</description>
+ <description xml:lang="uk">Розширена</description>
+ <description xml:lang="vi">Mở rộng</description>
+ <description xml:lang="zh_CN">扩展</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>polytonic</name>
+ <description>Polytonic</description>
+ <description xml:lang="af">Polytonic</description>
+ <description xml:lang="az">Politonik</description>
+ <description xml:lang="cs">Polytónické</description>
+ <description xml:lang="da">Polytonisk</description>
+ <description xml:lang="el">Πολυτονικά</description>
+ <description xml:lang="en_GB">Polytonic</description>
+ <description xml:lang="fr">Polytonique</description>
+ <description xml:lang="hu">Polytonic</description>
+ <description xml:lang="nl">Polytonisch</description>
+ <description xml:lang="ru">ПолифоничеÑкаÑ</description>
+ <description xml:lang="sk">Polytónické</description>
+ <description xml:lang="sq">Polytonic</description>
+ <description xml:lang="sr">вишезвучни</description>
+ <description xml:lang="sv">Polytonic</description>
+ <description xml:lang="tr">Politonik</description>
+ <description xml:lang="uk">Поліфонічна</description>
+ <description xml:lang="vi">Nhiá»u âm</description>
+ <description xml:lang="zh_CN">Polytonic</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>hu</name>
+ <shortDescription>Hun</shortDescription>
+ <shortDescription xml:lang="af">Hun</shortDescription>
+ <shortDescription xml:lang="az">Mac</shortDescription>
+ <shortDescription xml:lang="cs">MaÄ</shortDescription>
+ <shortDescription xml:lang="da">Ung</shortDescription>
+ <shortDescription xml:lang="en_GB">Hun</shortDescription>
+ <shortDescription xml:lang="fr">Hun</shortDescription>
+ <shortDescription xml:lang="hu">Hun</shortDescription>
+ <shortDescription xml:lang="nl">Hun</shortDescription>
+ <shortDescription xml:lang="ru">Венг</shortDescription>
+ <shortDescription xml:lang="sk">MaÄ</shortDescription>
+ <shortDescription xml:lang="sq">Hun</shortDescription>
+ <shortDescription xml:lang="sr">мађ</shortDescription>
+ <shortDescription xml:lang="sv">Hun</shortDescription>
+ <shortDescription xml:lang="tr">Mcr</shortDescription>
+ <shortDescription xml:lang="uk">Уго</shortDescription>
+ <shortDescription xml:lang="vi">Hun</shortDescription>
+ <shortDescription xml:lang="zh_CN">Hun</shortDescription>
+ <description>Hungary</description>
+ <description xml:lang="en_GB">Hungary</description>
+ <description xml:lang="nl">Hongarije</description>
+ <description xml:lang="ru">ВенгриÑ</description>
+ <description xml:lang="rw">Hongiriya</description>
+ <description xml:lang="vi">Hungary</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>standard</name>
+ <description>Standard</description>
+ <description xml:lang="af">Standaard</description>
+ <description xml:lang="az">Standart</description>
+ <description xml:lang="cs">Standardní</description>
+ <description xml:lang="da">Standard</description>
+ <description xml:lang="el">Εξ οÏισμοÏ</description>
+ <description xml:lang="en_GB">Standard</description>
+ <description xml:lang="fr">Standard</description>
+ <description xml:lang="hu">Szabványos</description>
+ <description xml:lang="nl">Standaard</description>
+ <description xml:lang="ru">СтандартнаÑ</description>
+ <description xml:lang="rw">gisanzwe/kimenyerewe</description>
+ <description xml:lang="sk">Štandardné</description>
+ <description xml:lang="sq">Standart</description>
+ <description xml:lang="sr">Ñтандардна</description>
+ <description xml:lang="sv">Standard</description>
+ <description xml:lang="tr">Standart</description>
+ <description xml:lang="uk">Стандартна</description>
+ <description xml:lang="vi">Tiêu chuẩn</description>
+ <description xml:lang="zh_CN">标准</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty</name>
+ <description>qwerty</description>
+ <description xml:lang="af">qwerty</description>
+ <description xml:lang="az">qwerty</description>
+ <description xml:lang="bg">чешка (qwerty)</description>
+ <description xml:lang="cs">qwerty</description>
+ <description xml:lang="da">qwerty</description>
+ <description xml:lang="en_GB">qwerty</description>
+ <description xml:lang="fr">qwerty</description>
+ <description xml:lang="hu">qwerty</description>
+ <description xml:lang="nl">qwerty</description>
+ <description xml:lang="ru">qwerty</description>
+ <description xml:lang="sk">qwerty</description>
+ <description xml:lang="sq">qwerty</description>
+ <description xml:lang="sr">qwerty</description>
+ <description xml:lang="sv">qwerty</description>
+ <description xml:lang="tr">qwerty</description>
+ <description xml:lang="uk">qwerty</description>
+ <description xml:lang="vi">qwerty</description>
+ <description xml:lang="zh_CN">qwerty</description>
+ </configItem>
+ </variant>
+
+ <!-- 101 keys -->
+ <variant>
+ <configItem>
+ <name>101_qwertz_comma_dead</name>
+ <description>101/qwertz/comma/Dead keys</description>
+ <description xml:lang="en_GB">101/qwertz/comma/Dead keys</description>
+ <description xml:lang="nl">101/qwertz/komma/Dode toetsen</description>
+ <description xml:lang="ru">pc101, qwertz, запÑтаÑ, Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akitso Utubuto</description>
+ <description xml:lang="vi">101/qwertz/dấu phẩy/Phím chết</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwertz_comma_nodead</name>
+ <description>101/qwertz/comma/Eliminate dead keys</description>
+ <description xml:lang="en_GB">101/qwertz/comma/Eliminate dead keys</description>
+ <description xml:lang="nl">101/qwertz/komma/Dode toetsen verwijderen</description>
+ <description xml:lang="ru">pc101, qwertz, запÑтаÑ, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akitso Utubuto</description>
+ <description xml:lang="vi">101/qwertz/dấu phẩy/Phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwertz_dot_dead</name>
+ <description>101/qwertz/dot/Dead keys</description>
+ <description xml:lang="en_GB">101/qwertz/dot/Dead keys</description>
+ <description xml:lang="nl">101/qwertz/punt/Dode toetsen</description>
+ <description xml:lang="ru">pc101, qwertz, точка, Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akadomo Utubuto</description>
+ <description xml:lang="vi">101/qwertz/dấu chấm/Phím chết</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwertz_dot_nodead</name>
+ <description>101/qwertz/dot/Eliminate dead keys</description>
+ <description xml:lang="en_GB">101/qwertz/dot/Eliminate dead keys</description>
+ <description xml:lang="nl">101/qwertz/punt/Dode toetsen verwijderen</description>
+ <description xml:lang="ru">pc101, qwertz, точка, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akadomo Utubuto</description>
+ <description xml:lang="vi">101/qwertz/dấu chấm/Phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwerty_comma_dead</name>
+ <description>101/qwerty/comma/Dead keys</description>
+ <description xml:lang="en_GB">101/qwerty/comma/Dead keys</description>
+ <description xml:lang="nl">101/qwerty/komma/Dode toetsen</description>
+ <description xml:lang="ru">pc101, qwerty, запÑтаÑ, Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akitso Utubuto</description>
+ <description xml:lang="vi">101/qwerty/dấu phẩy/Phím chết</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwerty_comma_nodead</name>
+ <description>101/qwerty/comma/Eliminate dead keys</description>
+ <description xml:lang="en_GB">101/qwerty/comma/Eliminate dead keys</description>
+ <description xml:lang="nl">101/qwerty/komma/Dode toetsen verwijderen</description>
+ <description xml:lang="ru">pc101, qwerty, запÑтаÑ, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akitso Utubuto</description>
+ <description xml:lang="vi">101/qwerty/dấu phẩy/Phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwerty_dot_dead</name>
+ <description>101/qwerty/dot/Dead keys</description>
+ <description xml:lang="en_GB">101/qwerty/dot/Dead keys</description>
+ <description xml:lang="nl">101/qwerty/punt/Dode toetsen</description>
+ <description xml:lang="ru">pc101, qwerty, точка, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akadomo Utubuto</description>
+ <description xml:lang="vi">101/qwerty/dấu chấm/Phím chết</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>101_qwerty_dot_nodead</name>
+ <description>101/qwerty/dot/Eliminate dead keys</description>
+ <description xml:lang="en_GB">101/qwerty/dot/Eliminate dead keys</description>
+ <description xml:lang="nl">101/qwerty/punt/Dode toetsen verwijderen</description>
+ <description xml:lang="ru">pc101, qwerty, точка, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akadomo Utubuto</description>
+ <description xml:lang="vi">101/qwerty/dấu chấm/Phím chết loại trừ</description>
+ </configItem>
+ </variant>
+
+
+ <!-- 102 keys -->
+ <variant>
+ <configItem>
+ <name>102_qwertz_comma_dead</name>
+ <description>102/qwertz/comma/Dead keys</description>
+ <description xml:lang="en_GB">102/qwertz/comma/Dead keys</description>
+ <description xml:lang="nl">102/qwertz/komma/Dode toetsen</description>
+ <description xml:lang="ru">pc102, qwertz, запÑтаÑ, Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akitso Utubuto</description>
+ <description xml:lang="vi">102/qwertz/dấu phẩy/Phím chết</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwertz_comma_nodead</name>
+ <description>102/qwertz/comma/Eliminate dead keys</description>
+ <description xml:lang="en_GB">102/qwertz/comma/Eliminate dead keys</description>
+ <description xml:lang="nl">102/qwertz/komma/Dode toetsen verwijderen</description>
+ <description xml:lang="ru">pc102, qwertz, запÑтаÑ, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akitso Utubuto</description>
+ <description xml:lang="vi">102/qwertz/dấu phẩy/Phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwertz_dot_dead</name>
+ <description>102/qwertz/dot/Dead keys</description>
+ <description xml:lang="en_GB">102/qwertz/dot/Dead keys</description>
+ <description xml:lang="nl">102/qwertz/punt/Dode toetsen</description>
+ <description xml:lang="ru">pc102, qwertz, точка, Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akadomo Utubuto</description>
+ <description xml:lang="vi">102/qwertz/dấu chấm/Phím chết</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwertz_dot_nodead</name>
+ <description>102/qwertz/dot/Eliminate dead keys</description>
+ <description xml:lang="en_GB">102/qwertz/dot/Eliminate dead keys</description>
+ <description xml:lang="nl">102/qwertz/punt/Dode toetsen verwijderen</description>
+ <description xml:lang="ru">pc102, qwertz, точка, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akadomo Utubuto</description>
+ <description xml:lang="vi">102/qwertz/dấu chấm/Phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwerty_comma_dead</name>
+ <description>102/qwerty/comma/Dead keys</description>
+ <description xml:lang="en_GB">102/qwerty/comma/Dead keys</description>
+ <description xml:lang="nl">102/qwerty/komma/Dode toetsen</description>
+ <description xml:lang="ru">pc102, qwerty, запÑтаÑ, Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akitso Utubuto</description>
+ <description xml:lang="vi">102/qwerty/dấu phẩy/Phím chết</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwerty_comma_nodead</name>
+ <description>102/qwerty/comma/Eliminate dead keys</description>
+ <description xml:lang="en_GB">102/qwerty/comma/Eliminate dead keys</description>
+ <description xml:lang="nl">102/qwerty/komma/Dode toetsen verwijderen</description>
+ <description xml:lang="ru">pc102, qwerty, запÑтаÑ, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akitso Utubuto</description>
+ <description xml:lang="vi">102/qwerty/dấu phẩy/Phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwerty_dot_dead</name>
+ <description>102/qwerty/dot/Dead keys</description>
+ <description xml:lang="en_GB">102/qwerty/dot/Dead keys</description>
+ <description xml:lang="nl">102/qwerty/punt/Dode toetsen</description>
+ <description xml:lang="ru">pc102, qwerty, точка, Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akadomo Utubuto</description>
+ <description xml:lang="vi">102/qwerty/dấu chấm/Phím chết</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>102_qwerty_dot_nodead</name>
+ <description>102/qwerty/dot/Eliminate dead keys</description>
+ <description xml:lang="en_GB">102/qwerty/dot/Eliminate dead keys</description>
+ <description xml:lang="nl">102/qwerty/punt/Dode toetsen verwijderen</description>
+ <description xml:lang="ru">pc102, qwerty, точка, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Akadomo Utubuto</description>
+ <description xml:lang="vi">102/qwerty/dấu chấm/Phím chết loại trừ</description>
+ </configItem>
+ </variant>
+
+
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>is</name>
+ <shortDescription>Isl</shortDescription>
+ <shortDescription xml:lang="af">Isl</shortDescription>
+ <shortDescription xml:lang="az">Ä°sl</shortDescription>
+ <shortDescription xml:lang="cs">Isl</shortDescription>
+ <shortDescription xml:lang="da">Isl</shortDescription>
+ <shortDescription xml:lang="en_GB">Isl</shortDescription>
+ <shortDescription xml:lang="fr">Isl</shortDescription>
+ <shortDescription xml:lang="hu">Isl</shortDescription>
+ <shortDescription xml:lang="nl">Isl</shortDescription>
+ <shortDescription xml:lang="ru">ИÑл</shortDescription>
+ <shortDescription xml:lang="sk">Isl</shortDescription>
+ <shortDescription xml:lang="sq">Isl</shortDescription>
+ <shortDescription xml:lang="sr">иÑл</shortDescription>
+ <shortDescription xml:lang="sv">Isl</shortDescription>
+ <shortDescription xml:lang="tr">Izl</shortDescription>
+ <shortDescription xml:lang="uk">ІÑл</shortDescription>
+ <shortDescription xml:lang="vi">Isl</shortDescription>
+ <shortDescription xml:lang="zh_CN">Isl</shortDescription>
+ <description>Iceland</description>
+ <description xml:lang="en_GB">Iceland</description>
+ <description xml:lang="nl">IJsland</description>
+ <description xml:lang="ru">ИÑландиÑ</description>
+ <description xml:lang="rw">Isilande</description>
+ <description xml:lang="vi">Iceland</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>Sundeadkeys</name>
+ <description>Sun dead keys</description>
+ <description xml:lang="af">Sun (dooie sleutels)</description>
+ <description xml:lang="az">Sun ölü düymələr</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Mrtvé klávesy Sun</description>
+ <description xml:lang="da">Sun døde taster</description>
+ <description xml:lang="en_GB">Sun dead keys</description>
+ <description xml:lang="fr">clés mortes Sun</description>
+ <description xml:lang="hu">Sun halott billentyűk</description>
+ <description xml:lang="nl">Sun dode toetsen</description>
+ <description xml:lang="ru">Специальные клавиши (dead keys) Sun</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Mŕtve klávesy Sun</description>
+ <description xml:lang="sq">Pulsantë të vdekur Sun</description>
+ <description xml:lang="sr">Sun-ови акценти</description>
+ <description xml:lang="sv">Sun stumma tangenter</description>
+ <description xml:lang="tr">Sun ölü tuşlar</description>
+ <description xml:lang="uk">Спеціальні клавіші (dead keys) Sun</description>
+ <description xml:lang="vi">Phím chết Sun</description>
+ <description xml:lang="zh_CN">Sun 死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>il</name>
+ <shortDescription>Isr</shortDescription>
+ <shortDescription xml:lang="af">Isr</shortDescription>
+ <shortDescription xml:lang="az">Ä°sr</shortDescription>
+ <shortDescription xml:lang="cs">Izr</shortDescription>
+ <shortDescription xml:lang="da">Isr</shortDescription>
+ <shortDescription xml:lang="en_GB">Isr</shortDescription>
+ <shortDescription xml:lang="fr">Isr</shortDescription>
+ <shortDescription xml:lang="hu">Isr</shortDescription>
+ <shortDescription xml:lang="nl">Isr</shortDescription>
+ <shortDescription xml:lang="ru">Ивр</shortDescription>
+ <shortDescription xml:lang="sk">Izr</shortDescription>
+ <shortDescription xml:lang="sq">Isr</shortDescription>
+ <shortDescription xml:lang="sr">изр</shortDescription>
+ <shortDescription xml:lang="sv">Isr</shortDescription>
+ <shortDescription xml:lang="tr">Ä°br</shortDescription>
+ <shortDescription xml:lang="uk">Івр</shortDescription>
+ <shortDescription xml:lang="vi">Isr</shortDescription>
+ <shortDescription xml:lang="zh_CN">Isr</shortDescription>
+ <description>Israel</description>
+ <description xml:lang="en_GB">Israel</description>
+ <description xml:lang="nl">Israël</description>
+ <description xml:lang="ru">Израиль</description>
+ <description xml:lang="rw">Isirayeli</description>
+ <description xml:lang="vi">Israel</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>lyx</name>
+ <description>lyx</description>
+ <description xml:lang="af">lyx</description>
+ <description xml:lang="az">lyx</description>
+ <description xml:lang="cs">lyx</description>
+ <description xml:lang="da">lyx</description>
+ <description xml:lang="en_GB">lyx</description>
+ <description xml:lang="fr">lyx</description>
+ <description xml:lang="hu">lyx</description>
+ <description xml:lang="nl">lyx</description>
+ <description xml:lang="ru">lyx</description>
+ <description xml:lang="sk">lyx</description>
+ <description xml:lang="sq">lyx</description>
+ <description xml:lang="sr">lyx</description>
+ <description xml:lang="sv">lyx</description>
+ <description xml:lang="tr">lyx</description>
+ <description xml:lang="uk">lyx</description>
+ <description xml:lang="vi">lyx</description>
+ <description xml:lang="zh_CN">lyx</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>si1452</name>
+ <description>si1452</description>
+ <description xml:lang="af">si1452</description>
+ <description xml:lang="az">si1452</description>
+ <description xml:lang="cs">si1452</description>
+ <description xml:lang="da">si1452</description>
+ <description xml:lang="en_GB">si1452</description>
+ <description xml:lang="fr">si1452</description>
+ <description xml:lang="hu">si1452</description>
+ <description xml:lang="nl">si1452</description>
+ <description xml:lang="ru">si1452</description>
+ <description xml:lang="sk">si1452</description>
+ <description xml:lang="sq">si1452</description>
+ <description xml:lang="sr">si1452</description>
+ <description xml:lang="sv">si1452</description>
+ <description xml:lang="tr">si1452</description>
+ <description xml:lang="uk">si1452</description>
+ <description xml:lang="vi">si1452</description>
+ <description xml:lang="zh_CN">si1452</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <description>Phonetic</description>
+ <description xml:lang="af">Foneties</description>
+ <description xml:lang="az">Fonetik</description>
+ <description xml:lang="cs">Fonetické</description>
+ <description xml:lang="da">Fonetisk</description>
+ <description xml:lang="el">Φωνητικά</description>
+ <description xml:lang="en_GB">Phonetic</description>
+ <description xml:lang="fr">Phonétique</description>
+ <description xml:lang="hu">fonetikus</description>
+ <description xml:lang="nl">Fonetisch</description>
+ <description xml:lang="ru">ФонетичеÑкаÑ</description>
+ <description xml:lang="rw">Nyigamvugo:</description>
+ <description xml:lang="sk">Fonetické</description>
+ <description xml:lang="sq">Phonetic</description>
+ <description xml:lang="sr">фонетÑки</description>
+ <description xml:lang="sv">Fonetisk</description>
+ <description xml:lang="tr">Fonetik</description>
+ <description xml:lang="uk">Фонетична</description>
+ <description xml:lang="vi">Ngữ âm</description>
+ <description xml:lang="zh_CN">Phonetic</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>it</name>
+ <shortDescription>Ita</shortDescription>
+ <shortDescription xml:lang="af">Ita</shortDescription>
+ <shortDescription xml:lang="az">Ä°ta</shortDescription>
+ <shortDescription xml:lang="cs">Ita</shortDescription>
+ <shortDescription xml:lang="da">Ita</shortDescription>
+ <shortDescription xml:lang="en_GB">Ita</shortDescription>
+ <shortDescription xml:lang="fr">Ita</shortDescription>
+ <shortDescription xml:lang="hu">Ita</shortDescription>
+ <shortDescription xml:lang="nl">Ita</shortDescription>
+ <shortDescription xml:lang="ru">Ит</shortDescription>
+ <shortDescription xml:lang="sk">Tal</shortDescription>
+ <shortDescription xml:lang="sq">Ita</shortDescription>
+ <shortDescription xml:lang="sr">ита</shortDescription>
+ <shortDescription xml:lang="sv">Ita</shortDescription>
+ <shortDescription xml:lang="tr">Ä°ta</shortDescription>
+ <shortDescription xml:lang="uk">Іта</shortDescription>
+ <shortDescription xml:lang="vi">Ita</shortDescription>
+ <shortDescription xml:lang="zh_CN">Ita</shortDescription>
+ <description>Italy</description>
+ <description xml:lang="en_GB">Italy</description>
+ <description xml:lang="nl">Italië</description>
+ <description xml:lang="ru">ИталиÑ</description>
+ <description xml:lang="rw">Ubutariyani</description>
+ <description xml:lang="vi">Italy</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>jp</name>
+ <shortDescription>Jpn</shortDescription>
+ <shortDescription xml:lang="af">Jpn</shortDescription>
+ <shortDescription xml:lang="az">Ypn</shortDescription>
+ <shortDescription xml:lang="cs">Jap</shortDescription>
+ <shortDescription xml:lang="da">Jpn</shortDescription>
+ <shortDescription xml:lang="el">Ιαπ</shortDescription>
+ <shortDescription xml:lang="en_GB">Jpn</shortDescription>
+ <shortDescription xml:lang="fr">Jpn</shortDescription>
+ <shortDescription xml:lang="hu">Jpn</shortDescription>
+ <shortDescription xml:lang="nl">Jpn</shortDescription>
+ <shortDescription xml:lang="ru">Яп</shortDescription>
+ <shortDescription xml:lang="sk">Jpn</shortDescription>
+ <shortDescription xml:lang="sq">Jpn</shortDescription>
+ <shortDescription xml:lang="sr">јпн</shortDescription>
+ <shortDescription xml:lang="sv">Jpn</shortDescription>
+ <shortDescription xml:lang="tr">Jpn</shortDescription>
+ <shortDescription xml:lang="uk">Япо</shortDescription>
+ <shortDescription xml:lang="vi">Jpn</shortDescription>
+ <shortDescription xml:lang="zh_CN">Jpn</shortDescription>
+ <description>Japan</description>
+ <description xml:lang="en_GB">Japan</description>
+ <description xml:lang="nl">Japan</description>
+ <description xml:lang="ru">ЯпониÑ</description>
+ <description xml:lang="rw">Ubuyapani</description>
+ <description xml:lang="vi">Nhật Bản</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>kg</name>
+ <shortDescription>Kyr</shortDescription>
+ <shortDescription xml:lang="en_GB">Kyr</shortDescription>
+ <shortDescription xml:lang="nl">Syr</shortDescription>
+ <shortDescription xml:lang="ru">Кыр</shortDescription>
+ <shortDescription xml:lang="vi">Kyr</shortDescription>
+ <description>Kyrgyzstan</description>
+ <description xml:lang="en_GB">Kyrgyzstan</description>
+ <description xml:lang="nl">Kirgizië</description>
+ <description xml:lang="ru">КыргызÑтан</description>
+ <description xml:lang="rw">Kirigizasitani</description>
+ <description xml:lang="vi">Kyrgyzstan</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>la</name>
+ <shortDescription>Lao</shortDescription>
+ <shortDescription xml:lang="en_GB">Lao</shortDescription>
+ <shortDescription xml:lang="nl">Mal</shortDescription>
+ <shortDescription xml:lang="ru">Лао</shortDescription>
+ <shortDescription xml:lang="rw">Lawo</shortDescription>
+ <shortDescription xml:lang="vi">Lào</shortDescription>
+ <description>Laos</description>
+ <description xml:lang="en_GB">Laos</description>
+ <description xml:lang="nl">Laos</description>
+ <description xml:lang="ru">ЛаоÑ</description>
+ <description xml:lang="vi">Lào</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>latam</name>
+ <shortDescription>LAm</shortDescription>
+ <shortDescription xml:lang="af">LAm</shortDescription>
+ <shortDescription xml:lang="az">LAm</shortDescription>
+ <shortDescription xml:lang="cs">LAm</shortDescription>
+ <shortDescription xml:lang="da">LAm</shortDescription>
+ <shortDescription xml:lang="en_GB">LAm</shortDescription>
+ <shortDescription xml:lang="fr">LAm</shortDescription>
+ <shortDescription xml:lang="hu">LAm</shortDescription>
+ <shortDescription xml:lang="nl">LAm</shortDescription>
+ <shortDescription xml:lang="ru">ЛатÐм</shortDescription>
+ <shortDescription xml:lang="sk">LAm</shortDescription>
+ <shortDescription xml:lang="sq">LAm</shortDescription>
+ <shortDescription xml:lang="sr">ЈÐм</shortDescription>
+ <shortDescription xml:lang="sv">LAm</shortDescription>
+ <shortDescription xml:lang="tr">LAm</shortDescription>
+ <shortDescription xml:lang="uk">ЛатÐм</shortDescription>
+ <shortDescription xml:lang="vi">LAm</shortDescription>
+ <shortDescription xml:lang="zh_CN">LAm</shortDescription>
+ <description>Latin American</description>
+ <description xml:lang="en_GB">Latin American</description>
+ <description xml:lang="nl">Latijns-Amerika</description>
+ <description xml:lang="ru">ЛатиноамериканÑкаÑ</description>
+ <description xml:lang="vi">La tinh Mỹ</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <description>Sun dead keys</description>
+ <description xml:lang="af">Sun (dooie sleutels)</description>
+ <description xml:lang="az">Sun ölü düymələr</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Mrtvé klávesy Sun</description>
+ <description xml:lang="da">Sun døde taster</description>
+ <description xml:lang="en_GB">Sun dead keys</description>
+ <description xml:lang="fr">clés mortes Sun</description>
+ <description xml:lang="hu">Sun halott billentyűk</description>
+ <description xml:lang="nl">Sun dode toetsen</description>
+ <description xml:lang="ru">Специальные клавиши (dead keys) Sun</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Mŕtve klávesy Sun</description>
+ <description xml:lang="sq">Pulsantë të vdekur Sun</description>
+ <description xml:lang="sr">Sun-ови акценти</description>
+ <description xml:lang="sv">Sun stumma tangenter</description>
+ <description xml:lang="tr">Sun ölü tuşlar</description>
+ <description xml:lang="uk">Спеціальні клавіші (dead keys) Sun</description>
+ <description xml:lang="vi">Phím chết Sun</description>
+ <description xml:lang="zh_CN">Sun 死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>lt</name>
+ <shortDescription>Ltu</shortDescription>
+ <shortDescription xml:lang="af">Ltu</shortDescription>
+ <shortDescription xml:lang="az">Ltu</shortDescription>
+ <shortDescription xml:lang="cs">Lit</shortDescription>
+ <shortDescription xml:lang="da">Lit</shortDescription>
+ <shortDescription xml:lang="en_GB">Ltu</shortDescription>
+ <shortDescription xml:lang="fr">Ltu</shortDescription>
+ <shortDescription xml:lang="hu">Ltu</shortDescription>
+ <shortDescription xml:lang="nl">Ltu</shortDescription>
+ <shortDescription xml:lang="ru">Лит</shortDescription>
+ <shortDescription xml:lang="sk">Lit</shortDescription>
+ <shortDescription xml:lang="sq">Ltu</shortDescription>
+ <shortDescription xml:lang="sr">лтв</shortDescription>
+ <shortDescription xml:lang="sv">Ltu</shortDescription>
+ <shortDescription xml:lang="tr">Ltu</shortDescription>
+ <shortDescription xml:lang="uk">Лит</shortDescription>
+ <shortDescription xml:lang="vi">Ltu</shortDescription>
+ <shortDescription xml:lang="zh_CN">Ltu</shortDescription>
+ <description>Lithuania</description>
+ <description xml:lang="en_GB">Lithuania</description>
+ <description xml:lang="nl">Litouwen</description>
+ <description xml:lang="ru">Литва</description>
+ <description xml:lang="rw">Lituwaniya</description>
+ <description xml:lang="vi">Li-tu-a-ni</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>std</name>
+ <description>"Standard"</description>
+ <description xml:lang="el">"Εξ οÏισμοÏ"</description>
+ <description xml:lang="en_GB">"Standard"</description>
+ <description xml:lang="nl">"Standaard"</description>
+ <description xml:lang="ru">"СтандартнаÑ"</description>
+ <description xml:lang="rw">"Bisanzwe-</description>
+ <description xml:lang="vi">"Tiêu chuẩn"</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <description>US keyboard with Lithuanian letters</description>
+ <description xml:lang="en_GB">US keyboard with Lithuanian letters</description>
+ <description xml:lang="nl">Amerikaans toetsenbord met Litouwse letters</description>
+ <description xml:lang="ru">Клавиатура Ð¡Ð¨Ð Ñ Ð»Ð¸Ñ‚Ð¾Ð²Ñкими буквами</description>
+ <description xml:lang="rw">Mwandikisho Na:</description>
+ <description xml:lang="vi">Bàn phím Mỹ với các chữ cái Li-tu-a-nia</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>lv</name>
+ <shortDescription>Lva</shortDescription>
+ <shortDescription xml:lang="af">Lva</shortDescription>
+ <shortDescription xml:lang="az">Lva</shortDescription>
+ <shortDescription xml:lang="cs">Lot</shortDescription>
+ <shortDescription xml:lang="da">Let</shortDescription>
+ <shortDescription xml:lang="en_GB">Lva</shortDescription>
+ <shortDescription xml:lang="fr">Lva</shortDescription>
+ <shortDescription xml:lang="hu">Lva</shortDescription>
+ <shortDescription xml:lang="nl">Lva</shortDescription>
+ <shortDescription xml:lang="ru">Латв</shortDescription>
+ <shortDescription xml:lang="sk">Lot</shortDescription>
+ <shortDescription xml:lang="sq">Lva</shortDescription>
+ <shortDescription xml:lang="sr">лет</shortDescription>
+ <shortDescription xml:lang="sv">Lva</shortDescription>
+ <shortDescription xml:lang="tr">Lva</shortDescription>
+ <shortDescription xml:lang="uk">Латв</shortDescription>
+ <shortDescription xml:lang="vi">Lva</shortDescription>
+ <shortDescription xml:lang="zh_CN">Lva</shortDescription>
+ <description>Latvia</description>
+ <description xml:lang="en_GB">Latvia</description>
+ <description xml:lang="nl">Letland</description>
+ <description xml:lang="ru">ЛатвиÑ</description>
+ <description xml:lang="rw">Lativiya</description>
+ <description xml:lang="vi">Lát-via</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>apostrophe</name>
+ <description>Apostrophe (') variant</description>
+ <description xml:lang="en_GB">Apostrophe (') variant</description>
+ <description xml:lang="ru">Вариант Ñ Ð°Ð¿Ð¾Ñтрофом (')</description>
+ <description xml:lang="vi">Phương án hô ngữ (')</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tilde</name>
+ <description>Tilde (~) variant</description>
+ <description xml:lang="en_GB">Tilde (~) variant</description>
+ <description xml:lang="ru">Вариант Ñ Ñ‚Ð¸Ð»ÑŒÐ´Ð¾Ð¹ (~)</description>
+ <description xml:lang="vi">Phương án dấu sóng (~)</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fkey</name>
+ <description>F-letter (F) variant</description>
+ <description xml:lang="en_GB">F-letter (F) variant</description>
+ <description xml:lang="nl">F-letter (F) variant</description>
+ <description xml:lang="ru">Вариант Ñ F</description>
+ <description xml:lang="rw">Ibaruwa...</description>
+ <description xml:lang="vi">Phương án chữ cái F (F)</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mao</name>
+ <shortDescription>Mao</shortDescription>
+ <shortDescription xml:lang="en_GB">Mao</shortDescription>
+ <shortDescription xml:lang="nl">Mal</shortDescription>
+ <shortDescription xml:lang="ru">Мао</shortDescription>
+ <shortDescription xml:lang="vi">Mao</shortDescription>
+ <description>Maori</description>
+ <description xml:lang="en_GB">Maori</description>
+ <description xml:lang="nl">Maori</description>
+ <description xml:lang="ru">Маори</description>
+ <description xml:lang="rw">Ikimawori</description>
+ <description xml:lang="vi">Maori</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mkd</name>
+ <shortDescription>Mkd</shortDescription>
+ <shortDescription xml:lang="af">Mkd</shortDescription>
+ <shortDescription xml:lang="az">Mkd</shortDescription>
+ <shortDescription xml:lang="cs">Mak</shortDescription>
+ <shortDescription xml:lang="da">Mkd</shortDescription>
+ <shortDescription xml:lang="en_GB">Mkd</shortDescription>
+ <shortDescription xml:lang="fr">Mkd</shortDescription>
+ <shortDescription xml:lang="hu">Mkd</shortDescription>
+ <shortDescription xml:lang="nl">Mkd</shortDescription>
+ <shortDescription xml:lang="ru">Мак</shortDescription>
+ <shortDescription xml:lang="sk">Mak</shortDescription>
+ <shortDescription xml:lang="sq">Mkd</shortDescription>
+ <shortDescription xml:lang="sr">мак</shortDescription>
+ <shortDescription xml:lang="sv">Mkd</shortDescription>
+ <shortDescription xml:lang="tr">Mkd</shortDescription>
+ <shortDescription xml:lang="uk">Мкд</shortDescription>
+ <shortDescription xml:lang="vi">Mkd</shortDescription>
+ <shortDescription xml:lang="zh_CN">Mkd</shortDescription>
+ <description>Macedonian</description>
+ <description xml:lang="af">Masedonies</description>
+ <description xml:lang="az">Makedonca</description>
+ <description xml:lang="bg">македонÑка</description>
+ <description xml:lang="cs">Makedonské</description>
+ <description xml:lang="da">Makedonsk</description>
+ <description xml:lang="el">ΦυÏομιακά</description>
+ <description xml:lang="en_GB">Macedonian</description>
+ <description xml:lang="fr">Macédonien</description>
+ <description xml:lang="hu">macedón</description>
+ <description xml:lang="nl">Macedonisch</description>
+ <description xml:lang="ru">МакедонÑкаÑ</description>
+ <description xml:lang="rw">Nyamasedoniya</description>
+ <description xml:lang="sk">Macedónske</description>
+ <description xml:lang="sq">Maqedonisht</description>
+ <description xml:lang="sr">македонÑки</description>
+ <description xml:lang="sv">Makedonsk</description>
+ <description xml:lang="tr">Makedonya dili</description>
+ <description xml:lang="uk">МакедонÑька</description>
+ <description xml:lang="vi">Mác-kê-đô-nhia</description>
+ <description xml:lang="zh_CN">马其顿</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mt</name>
+ <shortDescription>Mlt</shortDescription>
+ <shortDescription xml:lang="af">Mlt</shortDescription>
+ <shortDescription xml:lang="az">Mlt</shortDescription>
+ <shortDescription xml:lang="cs">Mlt</shortDescription>
+ <shortDescription xml:lang="da">Mlt</shortDescription>
+ <shortDescription xml:lang="en_GB">Mlt</shortDescription>
+ <shortDescription xml:lang="fr">Mlt</shortDescription>
+ <shortDescription xml:lang="hu">Mlt</shortDescription>
+ <shortDescription xml:lang="nl">Mlt</shortDescription>
+ <shortDescription xml:lang="ru">Мальт</shortDescription>
+ <shortDescription xml:lang="sk">Mlt</shortDescription>
+ <shortDescription xml:lang="sq">Mlt</shortDescription>
+ <shortDescription xml:lang="sr">мал</shortDescription>
+ <shortDescription xml:lang="sv">Mlt</shortDescription>
+ <shortDescription xml:lang="tr">Mlt</shortDescription>
+ <shortDescription xml:lang="uk">Мальт</shortDescription>
+ <shortDescription xml:lang="vi">Mlt</shortDescription>
+ <shortDescription xml:lang="zh_CN">Mlt</shortDescription>
+ <description>Malta</description>
+ <description xml:lang="en_GB">Malta</description>
+ <description xml:lang="nl">Malta</description>
+ <description xml:lang="ru">Мальта</description>
+ <description xml:lang="rw">Malita</description>
+ <description xml:lang="vi">Malta</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <description>US keyboard with Maltian letters</description>
+ <description xml:lang="en_GB">US keyboard with Maltian letters</description>
+ <description xml:lang="nl">Amerikaans toetsenbord met Roemeense letters</description>
+ <description xml:lang="ru">Клавиатура Ð¡Ð¨Ð Ñ Ð¼Ð°Ð»ÑŒÑ‚Ð¸Ð¹Ñкими буквами</description>
+ <description xml:lang="rw">Mwandikisho Na:</description>
+ <description xml:lang="vi">Bàn phím Mỹ với các chữ cái Mal-chi-a</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>mn</name>
+ <shortDescription>Mng</shortDescription>
+ <shortDescription xml:lang="af">Mng</shortDescription>
+ <shortDescription xml:lang="az">Mng</shortDescription>
+ <shortDescription xml:lang="cs">Mng</shortDescription>
+ <shortDescription xml:lang="da">Mng</shortDescription>
+ <shortDescription xml:lang="en_GB">Mng</shortDescription>
+ <shortDescription xml:lang="fr">Mng</shortDescription>
+ <shortDescription xml:lang="hu">Mng</shortDescription>
+ <shortDescription xml:lang="nl">Mng</shortDescription>
+ <shortDescription xml:lang="ru">Монг</shortDescription>
+ <shortDescription xml:lang="sk">Mng</shortDescription>
+ <shortDescription xml:lang="sq">Mng</shortDescription>
+ <shortDescription xml:lang="sr">мон</shortDescription>
+ <shortDescription xml:lang="sv">Mng</shortDescription>
+ <shortDescription xml:lang="tr">MoÄŸ</shortDescription>
+ <shortDescription xml:lang="uk">Монг</shortDescription>
+ <shortDescription xml:lang="vi">Mng</shortDescription>
+ <shortDescription xml:lang="zh_CN">Mng</shortDescription>
+ <description>Mongolia</description>
+ <description xml:lang="en_GB">Mongolia</description>
+ <description xml:lang="nl">Mongolië</description>
+ <description xml:lang="ru">МонголиÑ</description>
+ <description xml:lang="rw">Mongoliya</description>
+ <description xml:lang="vi">Mông cổ</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>no</name>
+ <shortDescription>Nor</shortDescription>
+ <shortDescription xml:lang="af">Nor</shortDescription>
+ <shortDescription xml:lang="az">Nor</shortDescription>
+ <shortDescription xml:lang="cs">Nor</shortDescription>
+ <shortDescription xml:lang="da">Nor</shortDescription>
+ <shortDescription xml:lang="en_GB">Nor</shortDescription>
+ <shortDescription xml:lang="fr">Nor</shortDescription>
+ <shortDescription xml:lang="hu">Nor</shortDescription>
+ <shortDescription xml:lang="nl">Nor</shortDescription>
+ <shortDescription xml:lang="ru">Ðор</shortDescription>
+ <shortDescription xml:lang="sk">Nor</shortDescription>
+ <shortDescription xml:lang="sq">Nor</shortDescription>
+ <shortDescription xml:lang="sr">нор</shortDescription>
+ <shortDescription xml:lang="sv">Nor</shortDescription>
+ <shortDescription xml:lang="tr">Nor</shortDescription>
+ <shortDescription xml:lang="uk">Ðор</shortDescription>
+ <shortDescription xml:lang="vi">Nor</shortDescription>
+ <shortDescription xml:lang="zh_CN">Nor</shortDescription>
+ <description>Norway</description>
+ <description xml:lang="en_GB">Norway</description>
+ <description xml:lang="nl">Noorwegen</description>
+ <description xml:lang="ru">ÐорвегиÑ</description>
+ <description xml:lang="rw">Noruveje</description>
+ <description xml:lang="vi">Na Uy</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <description>Dvorak</description>
+ <description xml:lang="af">Dvorak</description>
+ <description xml:lang="az">Dvorak</description>
+ <description xml:lang="bg">Дворак</description>
+ <description xml:lang="cs">Dvorak</description>
+ <description xml:lang="da">Dvorak</description>
+ <description xml:lang="en_GB">Dvorak</description>
+ <description xml:lang="fr">Dvorak</description>
+ <description xml:lang="hu">Dvorak-féle</description>
+ <description xml:lang="nl">Dvorak</description>
+ <description xml:lang="ru">Дворак</description>
+ <description xml:lang="sk">Dvorak</description>
+ <description xml:lang="sq">Dvorak</description>
+ <description xml:lang="sr">дворак</description>
+ <description xml:lang="sv">Dvorak</description>
+ <description xml:lang="tr">Dvorak</description>
+ <description xml:lang="uk">Дворак</description>
+ <description xml:lang="vi">Dvorak</description>
+ <description xml:lang="zh_CN">Dvorak</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>smi</name>
+ <description>Northern Saami</description>
+ <description xml:lang="en_GB">Northern Saami</description>
+ <description xml:lang="nl">Noord-Lapland</description>
+ <description xml:lang="ru">Ð¡ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¡Ð°Ð°Ð¼ÑкаÑ</description>
+ <description xml:lang="rw">Sami y'Amajyaruguru</description>
+ <description xml:lang="vi">Bắc Saami</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>smi_nodeadkeys</name>
+ <description>Northern Saami, eliminate dead keys</description>
+ <description xml:lang="ru">Ð¡ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¡Ð°Ð°Ð¼ÑкаÑ, иÑключить Ñпециальные клавиши (dead keys)</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>pl</name>
+ <shortDescription>Pol</shortDescription>
+ <shortDescription xml:lang="af">Pol</shortDescription>
+ <shortDescription xml:lang="az">Pol</shortDescription>
+ <shortDescription xml:lang="bg">полÑка</shortDescription>
+ <shortDescription xml:lang="cs">Pol</shortDescription>
+ <shortDescription xml:lang="da">Pol</shortDescription>
+ <shortDescription xml:lang="el">Πολ</shortDescription>
+ <shortDescription xml:lang="en_GB">Pol</shortDescription>
+ <shortDescription xml:lang="fr">Pol</shortDescription>
+ <shortDescription xml:lang="hu">Pol</shortDescription>
+ <shortDescription xml:lang="nl">Pol</shortDescription>
+ <shortDescription xml:lang="ru">ПольÑк</shortDescription>
+ <shortDescription xml:lang="sk">Pol</shortDescription>
+ <shortDescription xml:lang="sq">Pol</shortDescription>
+ <shortDescription xml:lang="sr">пољ</shortDescription>
+ <shortDescription xml:lang="sv">Pol</shortDescription>
+ <shortDescription xml:lang="tr">Pol</shortDescription>
+ <shortDescription xml:lang="uk">Пол</shortDescription>
+ <shortDescription xml:lang="vi">Pol</shortDescription>
+ <shortDescription xml:lang="zh_CN">Pol</shortDescription>
+ <description>Poland</description>
+ <description xml:lang="en_GB">Poland</description>
+ <description xml:lang="nl">Polen</description>
+ <description xml:lang="ru">Польша</description>
+ <description xml:lang="rw">Polonye</description>
+ <description xml:lang="vi">Phần Lan</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>qwertz</name>
+ <description>qwertz</description>
+ <description xml:lang="en_GB">qwertz</description>
+ <description xml:lang="nl">qwertz</description>
+ <description xml:lang="ru">qwertz</description>
+ <description xml:lang="vi">qwertz</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <description>Dvorak</description>
+ <description xml:lang="af">Dvorak</description>
+ <description xml:lang="az">Dvorak</description>
+ <description xml:lang="bg">Дворак</description>
+ <description xml:lang="cs">Dvorak</description>
+ <description xml:lang="da">Dvorak</description>
+ <description xml:lang="en_GB">Dvorak</description>
+ <description xml:lang="fr">Dvorak</description>
+ <description xml:lang="hu">Dvorak-féle</description>
+ <description xml:lang="nl">Dvorak</description>
+ <description xml:lang="ru">Дворак</description>
+ <description xml:lang="sk">Dvorak</description>
+ <description xml:lang="sq">Dvorak</description>
+ <description xml:lang="sr">дворак</description>
+ <description xml:lang="sv">Dvorak</description>
+ <description xml:lang="tr">Dvorak</description>
+ <description xml:lang="uk">Дворак</description>
+ <description xml:lang="vi">Dvorak</description>
+ <description xml:lang="zh_CN">Dvorak</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak_quotes</name>
+ <description>Dvorak, Polish quotes on quotemark key</description>
+ <description xml:lang="en_GB">Dvorak, Polish quotes on quotemark key</description>
+ <description xml:lang="ru">Dvorak, польÑкие кавычки на клавишах Ñ ÐºÐ°Ð²Ñ‹Ñ‡ÐºÐ°Ð¼Ð¸</description>
+ <description xml:lang="rw">ku Urufunguzo</description>
+ <description xml:lang="vi">Dvorak, dấu ngoặc Polish trên phím đánh dấu ngoặc</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak_altquotes</name>
+ <description>Dvorak, Polish quotes on key "1/!"</description>
+ <description xml:lang="en_GB">Dvorak, Polish quotes on key "1/!"</description>
+ <description xml:lang="ru">Dvorak, польÑкие кавычки на клавише "1/!"</description>
+ <description xml:lang="rw">ku Urufunguzo 1.</description>
+ <description xml:lang="vi">Dvorak, dấu ngoặc Polish trên phím "1/!"</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>pt</name>
+ <shortDescription>Prt</shortDescription>
+ <shortDescription xml:lang="af">Prt</shortDescription>
+ <shortDescription xml:lang="az">Prt</shortDescription>
+ <shortDescription xml:lang="cs">Prt</shortDescription>
+ <shortDescription xml:lang="da">Prt</shortDescription>
+ <shortDescription xml:lang="en_GB">Prt</shortDescription>
+ <shortDescription xml:lang="fr">Prt</shortDescription>
+ <shortDescription xml:lang="hu">Prt</shortDescription>
+ <shortDescription xml:lang="nl">Prt</shortDescription>
+ <shortDescription xml:lang="ru">Порт</shortDescription>
+ <shortDescription xml:lang="sk">Prt</shortDescription>
+ <shortDescription xml:lang="sq">Prt</shortDescription>
+ <shortDescription xml:lang="sr">прт</shortDescription>
+ <shortDescription xml:lang="sv">Prt</shortDescription>
+ <shortDescription xml:lang="tr">Prt</shortDescription>
+ <shortDescription xml:lang="uk">Порт</shortDescription>
+ <shortDescription xml:lang="vi">Prt</shortDescription>
+ <shortDescription xml:lang="zh_CN">Prt</shortDescription>
+ <description>Portugal</description>
+ <description xml:lang="en_GB">Portugal</description>
+ <description xml:lang="nl">Portugal</description>
+ <description xml:lang="ru">ПортугалиÑ</description>
+ <description xml:lang="rw">Porutigali</description>
+ <description xml:lang="vi">Bồ Äào Nha</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <description>Sun dead keys</description>
+ <description xml:lang="af">Sun (dooie sleutels)</description>
+ <description xml:lang="az">Sun ölü düymələr</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Mrtvé klávesy Sun</description>
+ <description xml:lang="da">Sun døde taster</description>
+ <description xml:lang="en_GB">Sun dead keys</description>
+ <description xml:lang="fr">clés mortes Sun</description>
+ <description xml:lang="hu">Sun halott billentyűk</description>
+ <description xml:lang="nl">Sun dode toetsen</description>
+ <description xml:lang="ru">Специальные клавиши (dead keys) Sun</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Mŕtve klávesy Sun</description>
+ <description xml:lang="sq">Pulsantë të vdekur Sun</description>
+ <description xml:lang="sr">Sun-ови акценти</description>
+ <description xml:lang="sv">Sun stumma tangenter</description>
+ <description xml:lang="tr">Sun ölü tuşlar</description>
+ <description xml:lang="uk">Спеціальні клавіші (dead keys) Sun</description>
+ <description xml:lang="vi">Phím chết Sun</description>
+ <description xml:lang="zh_CN">Sun 死键</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ro</name>
+ <shortDescription>Rou</shortDescription>
+ <shortDescription xml:lang="af">Rou</shortDescription>
+ <shortDescription xml:lang="az">Rou</shortDescription>
+ <shortDescription xml:lang="cs">Rum</shortDescription>
+ <shortDescription xml:lang="da">Rum</shortDescription>
+ <shortDescription xml:lang="en_GB">Rou</shortDescription>
+ <shortDescription xml:lang="fr">Rou</shortDescription>
+ <shortDescription xml:lang="hu">Rou</shortDescription>
+ <shortDescription xml:lang="nl">Rou</shortDescription>
+ <shortDescription xml:lang="ru">Рум</shortDescription>
+ <shortDescription xml:lang="sk">Rum</shortDescription>
+ <shortDescription xml:lang="sq">Rou</shortDescription>
+ <shortDescription xml:lang="sr">рум</shortDescription>
+ <shortDescription xml:lang="sv">Rou</shortDescription>
+ <shortDescription xml:lang="tr">Rou</shortDescription>
+ <shortDescription xml:lang="uk">Рум</shortDescription>
+ <shortDescription xml:lang="vi">Rou</shortDescription>
+ <shortDescription xml:lang="zh_CN">Rou</shortDescription>
+ <description>Romania</description>
+ <description xml:lang="en_GB">Romania</description>
+ <description xml:lang="nl">Roemenië</description>
+ <description xml:lang="ru">РумыниÑ</description>
+ <description xml:lang="rw">Romaniya</description>
+ <description xml:lang="vi">Rô-ma-ni</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>us</name>
+ <description>US keyboard with Romanian letters</description>
+ <description xml:lang="af">VSA sleutelbord met Romeense letters</description>
+ <description xml:lang="az">Roman hərfli ABŞ klaviaturası</description>
+ <description xml:lang="cs">Americká klávesnice s rumunskými písmeny</description>
+ <description xml:lang="da">US-tastatur med rumænske bogstaver</description>
+ <description xml:lang="en_GB">US keyboard with Romanian letters</description>
+ <description xml:lang="fr">clavier US avec lettres roumaines</description>
+ <description xml:lang="hu">US billentyűzet román betűkkel</description>
+ <description xml:lang="nl">Amerikaans toetsenbord met Roemeense letters</description>
+ <description xml:lang="ru">Клавиатура Ð¡Ð¨Ð Ñ Ñ€ÑƒÐ¼Ñ‹Ð½Ñкими буквами</description>
+ <description xml:lang="rw">Mwandikisho Na:</description>
+ <description xml:lang="sk">Americká klávesnica s rumunskými písmami</description>
+ <description xml:lang="sq">Tastierë US me gërma Romane</description>
+ <description xml:lang="sr">Ðмеричка таÑтатура Ñа румунÑким Ñловима</description>
+ <description xml:lang="sv">USA-tangentbord med rumänska bokstäver</description>
+ <description xml:lang="tr">Romen harfleriyle amerikan klavyesi</description>
+ <description xml:lang="uk">Клавіатура СШРз румунÑькими буквами</description>
+ <description xml:lang="vi">Bàn phím Mỹ với các chữ cái Ro-ma-ni</description>
+ <description xml:lang="zh_CN">美国键盘,带罗马尼亚字符</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>de</name>
+ <description>Romanian keyboard with German letters</description>
+ <description xml:lang="en_GB">Romanian keyboard with German letters</description>
+ <description xml:lang="nl">Roemeens toetsenbord met Duitse letters</description>
+ <description xml:lang="ru">РумынÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ð° Ñ Ð½ÐµÐ¼ÐµÑ†ÐºÐ¸Ð¼Ð¸ буквами</description>
+ <description xml:lang="rw">Mwandikisho Na:</description>
+ <description xml:lang="vi">Bàn phím Rô-ma-ni vá»›i các chữ cái Äức</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ru</name>
+ <shortDescription>Rus</shortDescription>
+ <shortDescription xml:lang="af">Rus</shortDescription>
+ <shortDescription xml:lang="az">Rus</shortDescription>
+ <shortDescription xml:lang="cs">Rus</shortDescription>
+ <shortDescription xml:lang="da">Rus</shortDescription>
+ <shortDescription xml:lang="el">Ρωσ</shortDescription>
+ <shortDescription xml:lang="en_GB">Rus</shortDescription>
+ <shortDescription xml:lang="fr">Rus</shortDescription>
+ <shortDescription xml:lang="hu">Rus</shortDescription>
+ <shortDescription xml:lang="nl">Rus</shortDescription>
+ <shortDescription xml:lang="ru">РуÑ</shortDescription>
+ <shortDescription xml:lang="sk">Rus</shortDescription>
+ <shortDescription xml:lang="sq">Rus</shortDescription>
+ <shortDescription xml:lang="sr">руÑ</shortDescription>
+ <shortDescription xml:lang="sv">Rus</shortDescription>
+ <shortDescription xml:lang="tr">Rus</shortDescription>
+ <shortDescription xml:lang="uk">РоÑ</shortDescription>
+ <shortDescription xml:lang="vi">Nga</shortDescription>
+ <shortDescription xml:lang="zh_CN">Rus</shortDescription>
+ <description>Russia</description>
+ <description xml:lang="en_GB">Russia</description>
+ <description xml:lang="nl">Rusland</description>
+ <description xml:lang="ru">РоÑÑиÑ</description>
+ <description xml:lang="vi">Nga</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <description>Phonetic</description>
+ <description xml:lang="af">Foneties</description>
+ <description xml:lang="az">Fonetik</description>
+ <description xml:lang="cs">Fonetické</description>
+ <description xml:lang="da">Fonetisk</description>
+ <description xml:lang="el">Φωνητικά</description>
+ <description xml:lang="en_GB">Phonetic</description>
+ <description xml:lang="fr">Phonétique</description>
+ <description xml:lang="hu">fonetikus</description>
+ <description xml:lang="nl">Fonetisch</description>
+ <description xml:lang="ru">ФонетичеÑкаÑ</description>
+ <description xml:lang="rw">Nyigamvugo:</description>
+ <description xml:lang="sk">Fonetické</description>
+ <description xml:lang="sq">Phonetic</description>
+ <description xml:lang="sr">фонетÑки</description>
+ <description xml:lang="sv">Fonetisk</description>
+ <description xml:lang="tr">Fonetik</description>
+ <description xml:lang="uk">Фонетична</description>
+ <description xml:lang="vi">Ngữ âm</description>
+ <description xml:lang="zh_CN">Phonetic</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>typewriter</name>
+ <description>Typewriter</description>
+ <description xml:lang="ru">ÐŸÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½ÐºÐ°</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>winkeys</name>
+ <description>Winkeys</description>
+ <description xml:lang="af">Winkeys</description>
+ <description xml:lang="az">Winkeys</description>
+ <description xml:lang="cs">Winkeys</description>
+ <description xml:lang="da">Win-taster</description>
+ <description xml:lang="en_GB">Winkeys</description>
+ <description xml:lang="fr">Winkeys</description>
+ <description xml:lang="hu">Winkeys</description>
+ <description xml:lang="nl">Win-toetsen</description>
+ <description xml:lang="ru">Клавиатура Windows</description>
+ <description xml:lang="sk">Win klávesy</description>
+ <description xml:lang="sq">Winkeys</description>
+ <description xml:lang="sr">Windows таÑтери</description>
+ <description xml:lang="sv">Wintangenter</description>
+ <description xml:lang="tr">Win tuşları</description>
+ <description xml:lang="uk">Розкладка Windows</description>
+ <description xml:lang="vi">Phím Win</description>
+ <description xml:lang="zh_CN">Winkeys</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>srp</name>
+ <shortDescription>Srp</shortDescription>
+ <shortDescription xml:lang="en_GB">Srp</shortDescription>
+ <shortDescription xml:lang="nl">Syr</shortDescription>
+ <shortDescription xml:lang="ru">Срб</shortDescription>
+ <shortDescription xml:lang="vi">Srp</shortDescription>
+ <description>Serbian</description>
+ <description xml:lang="af">Serbies</description>
+ <description xml:lang="az">ServcÉ™</description>
+ <description xml:lang="bg">ÑръбÑка</description>
+ <description xml:lang="cs">Srbské</description>
+ <description xml:lang="da">Serbisk</description>
+ <description xml:lang="en_GB">Serbian</description>
+ <description xml:lang="fr">Serbe</description>
+ <description xml:lang="hu">szerb</description>
+ <description xml:lang="nl">Servisch</description>
+ <description xml:lang="ru">СербÑкаÑ</description>
+ <description xml:lang="rw">Ikinyaseribiya</description>
+ <description xml:lang="sk">Srbské</description>
+ <description xml:lang="sq">Sërbisht</description>
+ <description xml:lang="sr">ÑрпÑки</description>
+ <description xml:lang="sv">Serbisk</description>
+ <description xml:lang="tr">Sırpça</description>
+ <description xml:lang="uk">СербÑька</description>
+ <description xml:lang="vi">Séc-bia</description>
+ <description xml:lang="zh_CN">塞尔维亚</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>yz</name>
+ <description>Z and ZHE swapped</description>
+ <description xml:lang="en_GB">Z and ZHE swapped</description>
+ <description xml:lang="nl">Z en ZHE verwisseld</description>
+ <description xml:lang="ru">З и Ж переÑтавлены</description>
+ <description xml:lang="rw">Na</description>
+ <description xml:lang="vi">Äổi chá»— Z và ZHE</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latin</name>
+ <description>Latin</description>
+ <description xml:lang="af">Latyns</description>
+ <description xml:lang="az">Latın</description>
+ <description xml:lang="bg">латвийÑка</description>
+ <description xml:lang="cs">Latinské</description>
+ <description xml:lang="da">Latin</description>
+ <description xml:lang="en_GB">Latin</description>
+ <description xml:lang="fr">Latin</description>
+ <description xml:lang="hu">latin</description>
+ <description xml:lang="nl">Latijn</description>
+ <description xml:lang="ru">ЛатинÑкаÑ</description>
+ <description xml:lang="rw">Ikiratini</description>
+ <description xml:lang="sk">Latinské</description>
+ <description xml:lang="sq">Latinishte</description>
+ <description xml:lang="sr">латинични</description>
+ <description xml:lang="sv">Latin</description>
+ <description xml:lang="tr">Latin</description>
+ <description xml:lang="uk">ЛатинÑька</description>
+ <description xml:lang="vi">La tinh</description>
+ <description xml:lang="zh_CN">拉ä¸</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinunicode</name>
+ <description>Latin Unicode</description>
+ <description xml:lang="en_GB">Latin Unicode</description>
+ <description xml:lang="nl">Latijns-Unicode</description>
+ <description xml:lang="ru">ЛатинÑÐºÐ°Ñ Unicode</description>
+ <description xml:lang="vi">La tinh Unicode</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinyz</name>
+ <description>Latin qwerty</description>
+ <description xml:lang="en_GB">Latin qwerty</description>
+ <description xml:lang="nl">Latijns qwerty</description>
+ <description xml:lang="ru">ЛатинÑÐºÐ°Ñ qwerty</description>
+ <description xml:lang="vi">La tinh qwerty</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinunicodeyz</name>
+ <description>Latin Unicode qwerty</description>
+ <description xml:lang="en_GB">Latin Unicode qwerty</description>
+ <description xml:lang="nl">Latijns-Unicode qwerty</description>
+ <description xml:lang="ru">ЛатинÑÐºÐ°Ñ Unicode qwerty</description>
+ <description xml:lang="vi">La tinh Unicode qwerty</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>alternatequotes</name>
+ <description>With guillemots</description>
+ <description xml:lang="en_GB">With guillemots</description>
+ <description xml:lang="ru">С guillemots</description>
+ <description xml:lang="vi">Vá»›i chim guillemot</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>latinalternatequotes</name>
+ <description>Latin with guillemots</description>
+ <description xml:lang="en_GB">Latin with guillemots</description>
+ <description xml:lang="ru">ЛатинÑÐºÐ°Ñ Ñ guillemots</description>
+ <description xml:lang="rw">Na:</description>
+ <description xml:lang="vi">La tinh vá»›i chim guillemot</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>si</name>
+ <shortDescription>Svn</shortDescription>
+ <shortDescription xml:lang="af">Svn</shortDescription>
+ <shortDescription xml:lang="az">Svn</shortDescription>
+ <shortDescription xml:lang="cs">Svn</shortDescription>
+ <shortDescription xml:lang="da">Svn</shortDescription>
+ <shortDescription xml:lang="en_GB">Svn</shortDescription>
+ <shortDescription xml:lang="fr">Svn</shortDescription>
+ <shortDescription xml:lang="hu">Svn</shortDescription>
+ <shortDescription xml:lang="nl">Svn</shortDescription>
+ <shortDescription xml:lang="ru">Cловен</shortDescription>
+ <shortDescription xml:lang="sk">Svn</shortDescription>
+ <shortDescription xml:lang="sq">Svn</shortDescription>
+ <shortDescription xml:lang="sr">Ñло</shortDescription>
+ <shortDescription xml:lang="sv">Svn</shortDescription>
+ <shortDescription xml:lang="tr">Svn</shortDescription>
+ <shortDescription xml:lang="uk">Словен</shortDescription>
+ <shortDescription xml:lang="vi">Svn</shortDescription>
+ <shortDescription xml:lang="zh_CN">Svn</shortDescription>
+ <description>Slovenia</description>
+ <description xml:lang="en_GB">Slovenia</description>
+ <description xml:lang="nl">Slovenië</description>
+ <description xml:lang="ru">СловениÑ</description>
+ <description xml:lang="rw">Siloveniya</description>
+ <description xml:lang="vi">Slovenia</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>sk</name>
+ <shortDescription>Svk</shortDescription>
+ <shortDescription xml:lang="af">Svk</shortDescription>
+ <shortDescription xml:lang="az">Svk</shortDescription>
+ <shortDescription xml:lang="bg">Ñловашка</shortDescription>
+ <shortDescription xml:lang="cs">Svk</shortDescription>
+ <shortDescription xml:lang="da">Svk</shortDescription>
+ <shortDescription xml:lang="en_GB">Svk</shortDescription>
+ <shortDescription xml:lang="fr">Svk</shortDescription>
+ <shortDescription xml:lang="hu">Svk</shortDescription>
+ <shortDescription xml:lang="nl">Svk</shortDescription>
+ <shortDescription xml:lang="ru">Слов</shortDescription>
+ <shortDescription xml:lang="sk">Svk</shortDescription>
+ <shortDescription xml:lang="sq">Svk</shortDescription>
+ <shortDescription xml:lang="sr">Ñлк</shortDescription>
+ <shortDescription xml:lang="sv">Svk</shortDescription>
+ <shortDescription xml:lang="tr">Svk</shortDescription>
+ <shortDescription xml:lang="uk">Слов</shortDescription>
+ <shortDescription xml:lang="vi">Svk</shortDescription>
+ <shortDescription xml:lang="zh_CN">Svk</shortDescription>
+ <description>Slovakia</description>
+ <description xml:lang="en_GB">Slovakia</description>
+ <description xml:lang="nl">Slowakije</description>
+ <description xml:lang="ru">СловакиÑ</description>
+ <description xml:lang="rw">Silovakiya</description>
+ <description xml:lang="vi">Slovakia</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>bksl</name>
+ <description>Extended Backslash</description>
+ <description xml:lang="en_GB">Extended Backslash</description>
+ <description xml:lang="nl">Uitgebreide backslash</description>
+ <description xml:lang="ru">РаÑширенные функции Backslash</description>
+ <description xml:lang="vi">Gạch chéo ngược Mở rộng</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty</name>
+ <description>qwerty</description>
+ <description xml:lang="af">qwerty</description>
+ <description xml:lang="az">qwerty</description>
+ <description xml:lang="bg">чешка (qwerty)</description>
+ <description xml:lang="cs">qwerty</description>
+ <description xml:lang="da">qwerty</description>
+ <description xml:lang="en_GB">qwerty</description>
+ <description xml:lang="fr">qwerty</description>
+ <description xml:lang="hu">qwerty</description>
+ <description xml:lang="nl">qwerty</description>
+ <description xml:lang="ru">qwerty</description>
+ <description xml:lang="sk">qwerty</description>
+ <description xml:lang="sq">qwerty</description>
+ <description xml:lang="sr">qwerty</description>
+ <description xml:lang="sv">qwerty</description>
+ <description xml:lang="tr">qwerty</description>
+ <description xml:lang="uk">qwerty</description>
+ <description xml:lang="vi">qwerty</description>
+ <description xml:lang="zh_CN">qwerty</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>qwerty_bksl</name>
+ <description>qwerty, extended Backslash</description>
+ <description xml:lang="en_GB">qwerty, extended Backslash</description>
+ <description xml:lang="nl">qwerty, uitgebreide backslash</description>
+ <description xml:lang="ru">qwerty, раÑширенные функции Backslash</description>
+ <description xml:lang="rw">Byongerewe...</description>
+ <description xml:lang="vi">qwerty, Gạch ngược mở rộng</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>es</name>
+ <shortDescription>Esp</shortDescription>
+ <shortDescription xml:lang="af">Esp</shortDescription>
+ <shortDescription xml:lang="az">Ä°sp</shortDescription>
+ <shortDescription xml:lang="cs">Å pa</shortDescription>
+ <shortDescription xml:lang="da">Esp</shortDescription>
+ <shortDescription xml:lang="en_GB">Esp</shortDescription>
+ <shortDescription xml:lang="fr">Esp</shortDescription>
+ <shortDescription xml:lang="hu">Esp</shortDescription>
+ <shortDescription xml:lang="nl">Esp</shortDescription>
+ <shortDescription xml:lang="ru">ИÑп</shortDescription>
+ <shortDescription xml:lang="sk">Å pa</shortDescription>
+ <shortDescription xml:lang="sq">Esp</shortDescription>
+ <shortDescription xml:lang="sr">шпа</shortDescription>
+ <shortDescription xml:lang="sv">Esp</shortDescription>
+ <shortDescription xml:lang="tr">Ä°sp</shortDescription>
+ <shortDescription xml:lang="uk">ІÑп</shortDescription>
+ <shortDescription xml:lang="vi">Esp</shortDescription>
+ <shortDescription xml:lang="zh_CN">Esp</shortDescription>
+ <description>Spain</description>
+ <description xml:lang="en_GB">Spain</description>
+ <description xml:lang="nl">Spanje</description>
+ <description xml:lang="ru">ИÑпаниÑ</description>
+ <description xml:lang="rw">Esipanye</description>
+ <description xml:lang="vi">Tây Ban Nha</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sundeadkeys</name>
+ <description>Sun dead keys</description>
+ <description xml:lang="af">Sun (dooie sleutels)</description>
+ <description xml:lang="az">Sun ölü düymələr</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Mrtvé klávesy Sun</description>
+ <description xml:lang="da">Sun døde taster</description>
+ <description xml:lang="en_GB">Sun dead keys</description>
+ <description xml:lang="fr">clés mortes Sun</description>
+ <description xml:lang="hu">Sun halott billentyűk</description>
+ <description xml:lang="nl">Sun dode toetsen</description>
+ <description xml:lang="ru">Специальные клавиши (dead keys) Sun</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Mŕtve klávesy Sun</description>
+ <description xml:lang="sq">Pulsantë të vdekur Sun</description>
+ <description xml:lang="sr">Sun-ови акценти</description>
+ <description xml:lang="sv">Sun stumma tangenter</description>
+ <description xml:lang="tr">Sun ölü tuşlar</description>
+ <description xml:lang="uk">Спеціальні клавіші (dead keys) Sun</description>
+ <description xml:lang="vi">Phím chết Sun</description>
+ <description xml:lang="zh_CN">Sun 死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <description>Dvorak</description>
+ <description xml:lang="af">Dvorak</description>
+ <description xml:lang="az">Dvorak</description>
+ <description xml:lang="bg">Дворак</description>
+ <description xml:lang="cs">Dvorak</description>
+ <description xml:lang="da">Dvorak</description>
+ <description xml:lang="en_GB">Dvorak</description>
+ <description xml:lang="fr">Dvorak</description>
+ <description xml:lang="hu">Dvorak-féle</description>
+ <description xml:lang="nl">Dvorak</description>
+ <description xml:lang="ru">Дворак</description>
+ <description xml:lang="sk">Dvorak</description>
+ <description xml:lang="sq">Dvorak</description>
+ <description xml:lang="sr">дворак</description>
+ <description xml:lang="sv">Dvorak</description>
+ <description xml:lang="tr">Dvorak</description>
+ <description xml:lang="uk">Дворак</description>
+ <description xml:lang="vi">Dvorak</description>
+ <description xml:lang="zh_CN">Dvorak</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>se</name>
+ <shortDescription>Swe</shortDescription>
+ <shortDescription xml:lang="af">Swe</shortDescription>
+ <shortDescription xml:lang="az">Swe</shortDescription>
+ <shortDescription xml:lang="cs">Švé</shortDescription>
+ <shortDescription xml:lang="da">Sve</shortDescription>
+ <shortDescription xml:lang="el">Σου</shortDescription>
+ <shortDescription xml:lang="en_GB">Swe</shortDescription>
+ <shortDescription xml:lang="fr">Sué</shortDescription>
+ <shortDescription xml:lang="hu">Swe</shortDescription>
+ <shortDescription xml:lang="nl">Swe</shortDescription>
+ <shortDescription xml:lang="ru">Швед</shortDescription>
+ <shortDescription xml:lang="sk">Swe</shortDescription>
+ <shortDescription xml:lang="sq">Swe</shortDescription>
+ <shortDescription xml:lang="sr">шве</shortDescription>
+ <shortDescription xml:lang="sv">Swe</shortDescription>
+ <shortDescription xml:lang="tr">Ä°sve</shortDescription>
+ <shortDescription xml:lang="uk">Швед</shortDescription>
+ <shortDescription xml:lang="vi">Swe</shortDescription>
+ <shortDescription xml:lang="zh_CN">Swe</shortDescription>
+ <description>Sweden</description>
+ <description xml:lang="en_GB">Sweden</description>
+ <description xml:lang="nl">Zweden</description>
+ <description xml:lang="ru">ШвециÑ</description>
+ <description xml:lang="rw">Suwede</description>
+ <description xml:lang="vi">Thụy Äiển</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>nodeadkeys</name>
+ <description>Eliminate dead keys</description>
+ <description xml:lang="af">Elimineer dooie sleutels</description>
+ <description xml:lang="az">Ölü düymələri sayma</description>
+ <description xml:lang="bg">Изключи Ñпециалните клавиши (dead keys)</description>
+ <description xml:lang="cs">Eliminovat mrtvé klávesy</description>
+ <description xml:lang="da">Slå døde taster fra</description>
+ <description xml:lang="el">ΧωÏίς νεκÏά πλήκτÏα</description>
+ <description xml:lang="en_GB">Eliminate dead keys</description>
+ <description xml:lang="fr">éliminer des clés mortes</description>
+ <description xml:lang="hu">Halott billentyűk tiltása</description>
+ <description xml:lang="nl">Dode toetsen niet doen</description>
+ <description xml:lang="ru">ИÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="sk">Eliminovať mrtvé kláves</description>
+ <description xml:lang="sq">Elemino pulsantët e vdekur</description>
+ <description xml:lang="sr">Уклони акценте</description>
+ <description xml:lang="sv">Eliminera stumma tangenter</description>
+ <description xml:lang="tr">Ölü tuşları normal yapar</description>
+ <description xml:lang="uk">Вилучити Ñпеціальні клавіші (dead keys)</description>
+ <description xml:lang="vi">Phím chết loại trừ</description>
+ <description xml:lang="zh_CN">除去死键</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <description>Dvorak</description>
+ <description xml:lang="af">Dvorak</description>
+ <description xml:lang="az">Dvorak</description>
+ <description xml:lang="bg">Дворак</description>
+ <description xml:lang="cs">Dvorak</description>
+ <description xml:lang="da">Dvorak</description>
+ <description xml:lang="en_GB">Dvorak</description>
+ <description xml:lang="fr">Dvorak</description>
+ <description xml:lang="hu">Dvorak-féle</description>
+ <description xml:lang="nl">Dvorak</description>
+ <description xml:lang="ru">Дворак</description>
+ <description xml:lang="sk">Dvorak</description>
+ <description xml:lang="sq">Dvorak</description>
+ <description xml:lang="sr">дворак</description>
+ <description xml:lang="sv">Dvorak</description>
+ <description xml:lang="tr">Dvorak</description>
+ <description xml:lang="uk">Дворак</description>
+ <description xml:lang="vi">Dvorak</description>
+ <description xml:lang="zh_CN">Dvorak</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rus</name>
+ <description>Russian phonetic</description>
+ <description xml:lang="ru">РуÑÑÐºÐ°Ñ Ñ„Ð¾Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑкаÑ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rus_nodeadkeys</name>
+ <description>Russian phonetic, eliminate dead keys</description>
+ <description xml:lang="ru">РуÑÑÐºÐ°Ñ Ñ„Ð¾Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑкаÑ, иÑключить Ñпециальные клавиши (dead keys)</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>smi</name>
+ <description>Northern Saami</description>
+ <description xml:lang="en_GB">Northern Saami</description>
+ <description xml:lang="nl">Noord-Lapland</description>
+ <description xml:lang="ru">Ð¡ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¡Ð°Ð°Ð¼ÑкаÑ</description>
+ <description xml:lang="rw">Sami y'Amajyaruguru</description>
+ <description xml:lang="vi">Bắc Saami</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ch</name>
+ <shortDescription>Che</shortDescription>
+ <shortDescription xml:lang="en_GB">Che</shortDescription>
+ <shortDescription xml:lang="nl">Cze</shortDescription>
+ <shortDescription xml:lang="ru">Швейц.</shortDescription>
+ <shortDescription xml:lang="vi">Che</shortDescription>
+ <description>Switzerland</description>
+ <description xml:lang="en_GB">Switzerland</description>
+ <description xml:lang="nl">Zwitserland</description>
+ <description xml:lang="ru">ШвейцариÑ</description>
+ <description xml:lang="rw">Ubusuwisi</description>
+ <description xml:lang="vi">Thụy Sĩ</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>de_nodeadkeys</name>
+ <description>German, eliminate dead keys</description>
+ <description xml:lang="en_GB">German, eliminate dead keys</description>
+ <description xml:lang="nl">Duits, zonder dode toetsen</description>
+ <description xml:lang="ru">ÐемецкаÑ, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="vi">Äức, phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>de_sundeadkeys</name>
+ <description>German, Sun dead keys</description>
+ <description xml:lang="en_GB">German, Sun dead keys</description>
+ <description xml:lang="nl">Duits, Sun-dode toetsen</description>
+ <description xml:lang="ru">ÐемецкаÑ, Ñпециальные клавиши (dead keys) Sun</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="vi">Äức, phím chết Sun</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fr</name>
+ <description>French</description>
+ <description xml:lang="af">Frans</description>
+ <description xml:lang="az">Fransızca</description>
+ <description xml:lang="bg">френÑка</description>
+ <description xml:lang="cs">Francouzské</description>
+ <description xml:lang="da">Fransk</description>
+ <description xml:lang="el">Γαλλικά</description>
+ <description xml:lang="en_GB">French</description>
+ <description xml:lang="fr">Français</description>
+ <description xml:lang="hu">francia</description>
+ <description xml:lang="nl">Frans</description>
+ <description xml:lang="ru">ФранцузÑкаÑ</description>
+ <description xml:lang="rw">Igifaransa</description>
+ <description xml:lang="sk">Francúzske</description>
+ <description xml:lang="sq">Frengjisht</description>
+ <description xml:lang="sr">француÑки</description>
+ <description xml:lang="sv">Fransk</description>
+ <description xml:lang="tr">Fransızca</description>
+ <description xml:lang="uk">Французька</description>
+ <description xml:lang="vi">Pháp</description>
+ <description xml:lang="zh_CN">法语</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fr_nodeadkeys</name>
+ <description>French, eliminate dead keys</description>
+ <description xml:lang="en_GB">French, eliminate dead keys</description>
+ <description xml:lang="nl">Frans, zonder dode toetsen</description>
+ <description xml:lang="ru">ФранцузÑкаÑ, иÑключить Ñпециальные клавиши (dead keys)</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="vi">Pháp, phím chết loại trừ</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>fr_sundeadkeys</name>
+ <description>French, Sun dead keys</description>
+ <description xml:lang="en_GB">French, Sun dead keys</description>
+ <description xml:lang="nl">Frans, Sun-dode toetsen</description>
+ <description xml:lang="ru">ФранцузÑкаÑ, Ñпециальные клавиши (dead keys) Sun</description>
+ <description xml:lang="rw">Utubuto</description>
+ <description xml:lang="vi">Pháp, phím chết Sun</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>sy</name>
+ <shortDescription>Syr</shortDescription>
+ <shortDescription xml:lang="af">Syr</shortDescription>
+ <shortDescription xml:lang="az">Syr</shortDescription>
+ <shortDescription xml:lang="bg">ÑръбÑка</shortDescription>
+ <shortDescription xml:lang="cs">Syr</shortDescription>
+ <shortDescription xml:lang="da">Syr</shortDescription>
+ <shortDescription xml:lang="el">ΣυÏ</shortDescription>
+ <shortDescription xml:lang="en_GB">Syr</shortDescription>
+ <shortDescription xml:lang="fr">Syr</shortDescription>
+ <shortDescription xml:lang="hu">Syr</shortDescription>
+ <shortDescription xml:lang="nl">Syr</shortDescription>
+ <shortDescription xml:lang="ru">ÐÑÑ</shortDescription>
+ <shortDescription xml:lang="sk">Syr</shortDescription>
+ <shortDescription xml:lang="sq">Syr</shortDescription>
+ <shortDescription xml:lang="sr">Ñир</shortDescription>
+ <shortDescription xml:lang="sv">Syr</shortDescription>
+ <shortDescription xml:lang="tr">Sur</shortDescription>
+ <shortDescription xml:lang="uk">Сир</shortDescription>
+ <shortDescription xml:lang="vi">Syr</shortDescription>
+ <shortDescription xml:lang="zh_CN">Syr</shortDescription>
+ <description>Syria</description>
+ <description xml:lang="ru">СирийÑкаÑ</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>syc</name>
+ <description>Syriac</description>
+ <description xml:lang="af">Siries</description>
+ <description xml:lang="az">Syriac</description>
+ <description xml:lang="bg">ÑръбÑка</description>
+ <description xml:lang="cs">Syrské</description>
+ <description xml:lang="da">Syrisk</description>
+ <description xml:lang="el">ΣυÏιακά</description>
+ <description xml:lang="en_GB">Syriac</description>
+ <description xml:lang="fr">Syriac</description>
+ <description xml:lang="hu">szír</description>
+ <description xml:lang="nl">Syrisch</description>
+ <description xml:lang="ru">СирийÑкаÑ</description>
+ <description xml:lang="rw">Syriac</description>
+ <description xml:lang="sk">Syrské</description>
+ <description xml:lang="sq">Siriane</description>
+ <description xml:lang="sr">ÑиријÑки</description>
+ <description xml:lang="sv">Syrisk</description>
+ <description xml:lang="tr">Suriye dili</description>
+ <description xml:lang="uk">СирійÑька</description>
+ <description xml:lang="vi">Syriac</description>
+ <description xml:lang="zh_CN">å™åˆ©äºš</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>syc_phonetic</name>
+ <description>Syriac phonetic</description>
+ <description xml:lang="ru">СирийÑÐºÐ°Ñ Ñ„Ð¾Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑкаÑ</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>tj</name>
+ <shortDescription>Tjk</shortDescription>
+ <shortDescription xml:lang="af">Tjk</shortDescription>
+ <shortDescription xml:lang="az">Tac</shortDescription>
+ <shortDescription xml:lang="bg">таджикÑка</shortDescription>
+ <shortDescription xml:lang="cs">Tjk</shortDescription>
+ <shortDescription xml:lang="da">Tjk</shortDescription>
+ <shortDescription xml:lang="en_GB">Tjk</shortDescription>
+ <shortDescription xml:lang="fr">Tjk</shortDescription>
+ <shortDescription xml:lang="hu">Tjk</shortDescription>
+ <shortDescription xml:lang="nl">Tjk</shortDescription>
+ <shortDescription xml:lang="ru">Тадж</shortDescription>
+ <shortDescription xml:lang="sk">Tjk</shortDescription>
+ <shortDescription xml:lang="sq">Tjk</shortDescription>
+ <shortDescription xml:lang="sr">тџк</shortDescription>
+ <shortDescription xml:lang="sv">Tjk</shortDescription>
+ <shortDescription xml:lang="tr">Tck</shortDescription>
+ <shortDescription xml:lang="uk">Тдж</shortDescription>
+ <shortDescription xml:lang="vi">Tjk</shortDescription>
+ <shortDescription xml:lang="zh_CN">Tjk</shortDescription>
+ <description>Tajikistan</description>
+ <description xml:lang="en_GB">Tajikistan</description>
+ <description xml:lang="nl">Tadzjikistan</description>
+ <description xml:lang="ru">ТаджикиÑтан</description>
+ <description xml:lang="rw">Tajikisitani</description>
+ <description xml:lang="vi">Ta-zi-kix-tan</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>lk</name>
+ <shortDescription>SrL</shortDescription>
+ <shortDescription xml:lang="ru">ШрЛ</shortDescription>
+ <description>Sri Lanka</description>
+ <description xml:lang="ru">Шри Ланка</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>tam_unicode</name>
+ <description>Tamil Unicode</description>
+ <description xml:lang="ru">ТамильÑÐºÐ°Ñ Unicode</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_TAB</name>
+ <description>Tamil TAB Typewriter</description>
+ <description xml:lang="ru">ТамильÑÐºÐ°Ñ "ÐŸÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½ÐºÐ°" TAB</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>tam_TSCII</name>
+ <description>Tamil TSCII Typewriter</description>
+ <description xml:lang="ru">ТамильÑÐºÐ°Ñ "ÐŸÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½ÐºÐ°" TSCII</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>sin_phonetic</name>
+ <description>Sinhala phonetic</description>
+ <description xml:lang="ru">Синхала фонетичеÑкаÑ</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>th</name>
+ <shortDescription>Tha</shortDescription>
+ <shortDescription xml:lang="af">Tha</shortDescription>
+ <shortDescription xml:lang="az">Tay</shortDescription>
+ <shortDescription xml:lang="bg">тайландÑка</shortDescription>
+ <shortDescription xml:lang="cs">Tha</shortDescription>
+ <shortDescription xml:lang="da">Tha</shortDescription>
+ <shortDescription xml:lang="en_GB">Tha</shortDescription>
+ <shortDescription xml:lang="fr">Tha</shortDescription>
+ <shortDescription xml:lang="hu">Tha</shortDescription>
+ <shortDescription xml:lang="nl">Tha</shortDescription>
+ <shortDescription xml:lang="ru">Таи</shortDescription>
+ <shortDescription xml:lang="sk">Tha</shortDescription>
+ <shortDescription xml:lang="sq">Tha</shortDescription>
+ <shortDescription xml:lang="sr">тај</shortDescription>
+ <shortDescription xml:lang="sv">Tha</shortDescription>
+ <shortDescription xml:lang="tr">Tha</shortDescription>
+ <shortDescription xml:lang="uk">Тай</shortDescription>
+ <shortDescription xml:lang="vi">Tha</shortDescription>
+ <shortDescription xml:lang="zh_CN">Tha</shortDescription>
+ <description>Thailand</description>
+ <description xml:lang="en_GB">Thailand</description>
+ <description xml:lang="nl">Thaïland</description>
+ <description xml:lang="ru">Таиланд</description>
+ <description xml:lang="rw">Tayilande</description>
+ <description xml:lang="vi">Thái Lan</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>tis</name>
+ <description>TIS-820.2538</description>
+ <description xml:lang="en_GB">TIS-820.2538</description>
+ <description xml:lang="nl">TIS-820.2538</description>
+ <description xml:lang="ru">TIS-820.2538</description>
+ <description xml:lang="vi">TIS-820.2538</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>pat</name>
+ <description>Pattachote</description>
+ <description xml:lang="en_GB">Pattachote</description>
+ <description xml:lang="nl">Pattachote</description>
+ <description xml:lang="ru">Паттачот</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>tr</name>
+ <shortDescription>Tur</shortDescription>
+ <shortDescription xml:lang="af">Tur</shortDescription>
+ <shortDescription xml:lang="az">Tür</shortDescription>
+ <shortDescription xml:lang="cs">Tur</shortDescription>
+ <shortDescription xml:lang="da">Tyr</shortDescription>
+ <shortDescription xml:lang="el">Του</shortDescription>
+ <shortDescription xml:lang="en_GB">Tur</shortDescription>
+ <shortDescription xml:lang="fr">Tur</shortDescription>
+ <shortDescription xml:lang="hu">Tur</shortDescription>
+ <shortDescription xml:lang="nl">Tur</shortDescription>
+ <shortDescription xml:lang="ru">Тур</shortDescription>
+ <shortDescription xml:lang="sk">Tur</shortDescription>
+ <shortDescription xml:lang="sq">Tur</shortDescription>
+ <shortDescription xml:lang="sr">тур</shortDescription>
+ <shortDescription xml:lang="sv">Tur</shortDescription>
+ <shortDescription xml:lang="tr">Trk</shortDescription>
+ <shortDescription xml:lang="uk">Тур</shortDescription>
+ <shortDescription xml:lang="vi">Tur</shortDescription>
+ <shortDescription xml:lang="zh_CN">Tur</shortDescription>
+ <description>Turkish </description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>f</name>
+ <description>(F)</description>
+ <description xml:lang="en_GB">(F)</description>
+ <description xml:lang="nl">(F)</description>
+ <description xml:lang="ru">(F)</description>
+ <description xml:lang="vi">(F)</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>alt</name>
+ <description>Alt-Q</description>
+ <description xml:lang="el">Alt-Q</description>
+ <description xml:lang="en_GB">Alt-Q</description>
+ <description xml:lang="nl">Alt-Q</description>
+ <description xml:lang="ru">Alt-Q</description>
+ <description xml:lang="vi">Alt-Q</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ua</name>
+ <shortDescription>Ukr</shortDescription>
+ <shortDescription xml:lang="af">Ukr</shortDescription>
+ <shortDescription xml:lang="az">Ukr</shortDescription>
+ <shortDescription xml:lang="cs">Ukr</shortDescription>
+ <shortDescription xml:lang="da">Ukr</shortDescription>
+ <shortDescription xml:lang="el">Ουκ</shortDescription>
+ <shortDescription xml:lang="en_GB">Ukr</shortDescription>
+ <shortDescription xml:lang="fr">Ukr</shortDescription>
+ <shortDescription xml:lang="hu">Ukr</shortDescription>
+ <shortDescription xml:lang="nl">Ukr</shortDescription>
+ <shortDescription xml:lang="ru">Укр</shortDescription>
+ <shortDescription xml:lang="sk">Ukr</shortDescription>
+ <shortDescription xml:lang="sq">Ukr</shortDescription>
+ <shortDescription xml:lang="sr">укр</shortDescription>
+ <shortDescription xml:lang="sv">Ukr</shortDescription>
+ <shortDescription xml:lang="tr">Ukr</shortDescription>
+ <shortDescription xml:lang="uk">Укр</shortDescription>
+ <shortDescription xml:lang="vi">Ukr</shortDescription>
+ <shortDescription xml:lang="zh_CN">Ukr</shortDescription>
+ <description>Ukraine</description>
+ <description xml:lang="en_GB">Ukraine</description>
+ <description xml:lang="nl">Oekraïne</description>
+ <description xml:lang="ru">Украина</description>
+ <description xml:lang="rw">Ikerene</description>
+ <description xml:lang="vi">U-cra-in</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>phonetic</name>
+ <description>Phonetic</description>
+ <description xml:lang="af">Foneties</description>
+ <description xml:lang="az">Fonetik</description>
+ <description xml:lang="cs">Fonetické</description>
+ <description xml:lang="da">Fonetisk</description>
+ <description xml:lang="el">Φωνητικά</description>
+ <description xml:lang="en_GB">Phonetic</description>
+ <description xml:lang="fr">Phonétique</description>
+ <description xml:lang="hu">fonetikus</description>
+ <description xml:lang="nl">Fonetisch</description>
+ <description xml:lang="ru">ФонетичеÑкаÑ</description>
+ <description xml:lang="rw">Nyigamvugo:</description>
+ <description xml:lang="sk">Fonetické</description>
+ <description xml:lang="sq">Phonetic</description>
+ <description xml:lang="sr">фонетÑки</description>
+ <description xml:lang="sv">Fonetisk</description>
+ <description xml:lang="tr">Fonetik</description>
+ <description xml:lang="uk">Фонетична</description>
+ <description xml:lang="vi">Ngữ âm</description>
+ <description xml:lang="zh_CN">Phonetic</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>typewriter</name>
+ <description>Typewriter</description>
+ <description xml:lang="ru">ÐŸÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½ÐºÐ°</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>winkeys</name>
+ <description>Winkeys</description>
+ <description xml:lang="af">Winkeys</description>
+ <description xml:lang="az">Winkeys</description>
+ <description xml:lang="cs">Winkeys</description>
+ <description xml:lang="da">Win-taster</description>
+ <description xml:lang="en_GB">Winkeys</description>
+ <description xml:lang="fr">Winkeys</description>
+ <description xml:lang="hu">Winkeys</description>
+ <description xml:lang="nl">Win-toetsen</description>
+ <description xml:lang="ru">Клавиатура Windows</description>
+ <description xml:lang="sk">Win klávesy</description>
+ <description xml:lang="sq">Winkeys</description>
+ <description xml:lang="sr">Windows таÑтери</description>
+ <description xml:lang="sv">Wintangenter</description>
+ <description xml:lang="tr">Win tuşları</description>
+ <description xml:lang="uk">Розкладка Windows</description>
+ <description xml:lang="vi">Phím Win</description>
+ <description xml:lang="zh_CN">Winkeys</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rstu</name>
+<!-- RSTU 2019-91 -->
+ <description>Standard RSTU</description>
+ <description xml:lang="ru">Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ RSTU</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>rstu_ru</name>
+<!-- RSTU 2019-91 -->
+ <description>Standard RSTU on Russian layout</description>
+ <description xml:lang="ru">Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ RSTU, руÑÑкаÑ</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>gb</name>
+ <shortDescription>GBr</shortDescription>
+ <shortDescription xml:lang="af">GBr</shortDescription>
+ <shortDescription xml:lang="az">GBr</shortDescription>
+ <shortDescription xml:lang="cs">VBr</shortDescription>
+ <shortDescription xml:lang="da">GBr</shortDescription>
+ <shortDescription xml:lang="en_GB">GBr</shortDescription>
+ <shortDescription xml:lang="fr">GBr</shortDescription>
+ <shortDescription xml:lang="hu">GBr</shortDescription>
+ <shortDescription xml:lang="nl">GBr</shortDescription>
+ <shortDescription xml:lang="ru">Брит</shortDescription>
+ <shortDescription xml:lang="sk">VBr</shortDescription>
+ <shortDescription xml:lang="sq">GBr</shortDescription>
+ <shortDescription xml:lang="sr">вбр</shortDescription>
+ <shortDescription xml:lang="sv">GBr</shortDescription>
+ <shortDescription xml:lang="tr">GBr</shortDescription>
+ <shortDescription xml:lang="uk">Брит</shortDescription>
+ <shortDescription xml:lang="vi">GBr</shortDescription>
+ <shortDescription xml:lang="zh_CN">GBr</shortDescription>
+ <description>United Kingdom</description>
+ <description xml:lang="af">Vereenigde Koninkryk</description>
+ <description xml:lang="az">Birləşik Krallıq</description>
+ <description xml:lang="bg">британÑка</description>
+ <description xml:lang="cs">Spojené království</description>
+ <description xml:lang="da">United Kingdom</description>
+ <description xml:lang="el">Ηνωμένο Βασίλειο</description>
+ <description xml:lang="en_GB">United Kingdom</description>
+ <description xml:lang="fr">Royaume Uni</description>
+ <description xml:lang="hu">brit angol</description>
+ <description xml:lang="nl">Verenigd Koninkrijk</description>
+ <description xml:lang="ru">ÐнглийÑÐºÐ°Ñ (ВеликобританиÑ)</description>
+ <description xml:lang="rw">Ubwongereza (UK)</description>
+ <description xml:lang="sk">Spojené kráľovstvo</description>
+ <description xml:lang="sq">Mbretëria e Bashkuar</description>
+ <description xml:lang="sr">Велика Британија</description>
+ <description xml:lang="sv">Storbritannien</description>
+ <description xml:lang="tr">Ä°ngiltere</description>
+ <description xml:lang="uk">ÐнглійÑька (ВеликобританіÑ)</description>
+ <description xml:lang="vi">Vương Quốc Anh</description>
+ <description xml:lang="zh_CN">英国</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>intl</name>
+ <description>International (with dead keys)</description>
+ <description xml:lang="en_GB">International (with dead keys)</description>
+ <description xml:lang="nl">Internationaal (met dode toetsen)</description>
+ <description xml:lang="ru">МеждународнаÑ, Ñо Ñпец. клавишами (dead keys)</description>
+ <description xml:lang="rw">Na: Utubuto</description>
+ <description xml:lang="vi">Quốc tế (với phím chết)</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <description>Dvorak</description>
+ <description xml:lang="af">Dvorak</description>
+ <description xml:lang="az">Dvorak</description>
+ <description xml:lang="bg">Дворак</description>
+ <description xml:lang="cs">Dvorak</description>
+ <description xml:lang="da">Dvorak</description>
+ <description xml:lang="en_GB">Dvorak</description>
+ <description xml:lang="fr">Dvorak</description>
+ <description xml:lang="hu">Dvorak-féle</description>
+ <description xml:lang="nl">Dvorak</description>
+ <description xml:lang="ru">Дворак</description>
+ <description xml:lang="sk">Dvorak</description>
+ <description xml:lang="sq">Dvorak</description>
+ <description xml:lang="sr">дворак</description>
+ <description xml:lang="sv">Dvorak</description>
+ <description xml:lang="tr">Dvorak</description>
+ <description xml:lang="uk">Дворак</description>
+ <description xml:lang="vi">Dvorak</description>
+ <description xml:lang="zh_CN">Dvorak</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>uz</name>
+ <shortDescription>Uzb</shortDescription>
+ <shortDescription xml:lang="af">Uzb</shortDescription>
+ <shortDescription xml:lang="az">Özb</shortDescription>
+ <shortDescription xml:lang="cs">Uzb</shortDescription>
+ <shortDescription xml:lang="da">Uzb</shortDescription>
+ <shortDescription xml:lang="en_GB">Uzb</shortDescription>
+ <shortDescription xml:lang="fr">Uzb</shortDescription>
+ <shortDescription xml:lang="hu">Uzb</shortDescription>
+ <shortDescription xml:lang="nl">Uzb</shortDescription>
+ <shortDescription xml:lang="ru">Узб</shortDescription>
+ <shortDescription xml:lang="sk">Uzb</shortDescription>
+ <shortDescription xml:lang="sq">Uzb</shortDescription>
+ <shortDescription xml:lang="sr">узб</shortDescription>
+ <shortDescription xml:lang="sv">Uzb</shortDescription>
+ <shortDescription xml:lang="tr">Özb</shortDescription>
+ <shortDescription xml:lang="uk">Узб</shortDescription>
+ <shortDescription xml:lang="vi">Uzb</shortDescription>
+ <shortDescription xml:lang="zh_CN">Uzb</shortDescription>
+ <description>Uzbekistan</description>
+ <description xml:lang="en_GB">Uzbekistan</description>
+ <description xml:lang="nl">Oezbekistan</description>
+ <description xml:lang="ru">УзбекиÑтан</description>
+ <description xml:lang="rw">Uzubekisitani</description>
+ <description xml:lang="vi">Uz-bê-kix-tan</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>vn</name>
+ <shortDescription>Vnm</shortDescription>
+ <shortDescription xml:lang="af">Vnm</shortDescription>
+ <shortDescription xml:lang="az">Vye</shortDescription>
+ <shortDescription xml:lang="cs">Vnm</shortDescription>
+ <shortDescription xml:lang="da">Vnm</shortDescription>
+ <shortDescription xml:lang="en_GB">Vnm</shortDescription>
+ <shortDescription xml:lang="fr">Vnm</shortDescription>
+ <shortDescription xml:lang="hu">Vnm</shortDescription>
+ <shortDescription xml:lang="nl">Vnm</shortDescription>
+ <shortDescription xml:lang="ru">Вьет</shortDescription>
+ <shortDescription xml:lang="sk">Vnm</shortDescription>
+ <shortDescription xml:lang="sq">Vnm</shortDescription>
+ <shortDescription xml:lang="sr">вјт</shortDescription>
+ <shortDescription xml:lang="sv">Vnm</shortDescription>
+ <shortDescription xml:lang="tr">Vnm</shortDescription>
+ <shortDescription xml:lang="uk">Вьет</shortDescription>
+ <shortDescription xml:lang="vi">Vnm</shortDescription>
+ <shortDescription xml:lang="zh_CN">Vnm</shortDescription>
+ <description>Vietnam</description>
+ <description xml:lang="en_GB">Vietnam</description>
+ <description xml:lang="nl">Viëtnam</description>
+ <description xml:lang="ru">Вьетнам</description>
+ <description xml:lang="rw">Viyetinamu</description>
+ <description xml:lang="vi">Việt nam</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>nec_vndr/jp</name>
+ <shortDescription>Jpn</shortDescription>
+ <shortDescription xml:lang="af">Jpn</shortDescription>
+ <shortDescription xml:lang="az">Ypn</shortDescription>
+ <shortDescription xml:lang="cs">Jap</shortDescription>
+ <shortDescription xml:lang="da">Jpn</shortDescription>
+ <shortDescription xml:lang="el">Ιαπ</shortDescription>
+ <shortDescription xml:lang="en_GB">Jpn</shortDescription>
+ <shortDescription xml:lang="fr">Jpn</shortDescription>
+ <shortDescription xml:lang="hu">Jpn</shortDescription>
+ <shortDescription xml:lang="nl">Jpn</shortDescription>
+ <shortDescription xml:lang="ru">Яп</shortDescription>
+ <shortDescription xml:lang="sk">Jpn</shortDescription>
+ <shortDescription xml:lang="sq">Jpn</shortDescription>
+ <shortDescription xml:lang="sr">јпн</shortDescription>
+ <shortDescription xml:lang="sv">Jpn</shortDescription>
+ <shortDescription xml:lang="tr">Jpn</shortDescription>
+ <shortDescription xml:lang="uk">Япо</shortDescription>
+ <shortDescription xml:lang="vi">Jpn</shortDescription>
+ <shortDescription xml:lang="zh_CN">Jpn</shortDescription>
+ <description>PC-98xx Series</description>
+ <description xml:lang="af">PC-98xx Reeks</description>
+ <description xml:lang="az">PC-98xx Seriyaları</description>
+ <description xml:lang="bg">PC-98xx Ñерии</description>
+ <description xml:lang="cs">PC-98xx řada</description>
+ <description xml:lang="da">PC-98xx-serien</description>
+ <description xml:lang="en_GB">PC-98xx Series</description>
+ <description xml:lang="fr">PC-98xx Series</description>
+ <description xml:lang="hu">PC-98xx Series</description>
+ <description xml:lang="nl">PC-98xx serie</description>
+ <description xml:lang="ru">PC-98xx</description>
+ <description xml:lang="sk">Séria PC-98xx</description>
+ <description xml:lang="sq">Seritë PC-98xx</description>
+ <description xml:lang="sr">PC-98xx Ñерија</description>
+ <description xml:lang="sv">PC-98xx-serien</description>
+ <description xml:lang="tr">PC-98xx Serisi</description>
+ <description xml:lang="uk">Моделі PC-98xx</description>
+ <description xml:lang="vi">Sê ri PC-98xx</description>
+ <description xml:lang="zh_CN">PC-98xx 系列</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <layout>
+ <configItem>
+ <name>ie</name>
+ <shortDescription>Irl</shortDescription>
+ <shortDescription xml:lang="af">Irl</shortDescription>
+ <shortDescription xml:lang="az">Ä°rl</shortDescription>
+ <shortDescription xml:lang="cs">Irs</shortDescription>
+ <shortDescription xml:lang="da">Irl</shortDescription>
+ <shortDescription xml:lang="en_GB">Irl</shortDescription>
+ <shortDescription xml:lang="fr">Irl</shortDescription>
+ <shortDescription xml:lang="hu">Irl</shortDescription>
+ <shortDescription xml:lang="nl">Irl</shortDescription>
+ <shortDescription xml:lang="ru">Ирл</shortDescription>
+ <shortDescription xml:lang="sk">Irs</shortDescription>
+ <shortDescription xml:lang="sq">Irl</shortDescription>
+ <shortDescription xml:lang="sr">ирÑ</shortDescription>
+ <shortDescription xml:lang="sv">Irl</shortDescription>
+ <shortDescription xml:lang="tr">Ä°rl</shortDescription>
+ <shortDescription xml:lang="uk">Ірл</shortDescription>
+ <shortDescription xml:lang="vi">Irl</shortDescription>
+ <shortDescription xml:lang="zh_CN">Irl</shortDescription>
+ <description>Ireland</description>
+ <description xml:lang="en_GB">Ireland</description>
+ <description xml:lang="nl">Ierland</description>
+ <description xml:lang="ru">ИрландиÑ</description>
+ <description xml:lang="rw">Irilande</description>
+ <description xml:lang="vi">Ireland</description>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>CloGaelach</name>
+ <description>CloGaelach</description>
+ <description xml:lang="af">CloGaelach</description>
+ <description xml:lang="az">CloGaelach</description>
+ <description xml:lang="cs">CloGaelach</description>
+ <description xml:lang="da">CloGaelach</description>
+ <description xml:lang="en_GB">CloGaelach</description>
+ <description xml:lang="fr">CloGaelach</description>
+ <description xml:lang="hu">CloGaelach</description>
+ <description xml:lang="nl">CloGaelach</description>
+ <description xml:lang="ru">CloGaelach</description>
+ <description xml:lang="sk">CloGaelach</description>
+ <description xml:lang="sq">CloGaelach</description>
+ <description xml:lang="sr">CloGaelach</description>
+ <description xml:lang="sv">CloGaelach</description>
+ <description xml:lang="tr">CloGaelach</description>
+ <description xml:lang="uk">CloGaelach</description>
+ <description xml:lang="vi">CloGaelach</description>
+ <description xml:lang="zh_CN">CloGaelach</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>UnicodeExpert</name>
+ <description>UnicodeExpert</description>
+ <description xml:lang="af">UnicodeExpert</description>
+ <description xml:lang="az">UnicodeExpert</description>
+ <description xml:lang="cs">UnicodeExpert</description>
+ <description xml:lang="da">UnicodeExpert</description>
+ <description xml:lang="en_GB">UnicodeExpert</description>
+ <description xml:lang="fr">UnicodeExpert</description>
+ <description xml:lang="hu">UnicodeExpert</description>
+ <description xml:lang="nl">UnicodeExpert</description>
+ <description xml:lang="ru">UnicodeExpert</description>
+ <description xml:lang="sk">UnicodeExpert</description>
+ <description xml:lang="sq">EkspertUnicode</description>
+ <description xml:lang="sr">Стручна за Уникод</description>
+ <description xml:lang="sv">UnicodeExpert</description>
+ <description xml:lang="tr">Unicode Uzman</description>
+ <description xml:lang="uk">UnicodeExpert</description>
+ <description xml:lang="vi">Unicode Chuyên môn</description>
+ <description xml:lang="zh_CN">UnicodeExpert</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ogam</name>
+ <description>Ogham</description>
+ <description xml:lang="af">Ogham</description>
+ <description xml:lang="az">Ogham</description>
+ <description xml:lang="cs">Oghamské</description>
+ <description xml:lang="da">Ogham</description>
+ <description xml:lang="en_GB">Ogham</description>
+ <description xml:lang="fr">Ogham</description>
+ <description xml:lang="hu">ogham</description>
+ <description xml:lang="nl">Oghamees</description>
+ <description xml:lang="ru">Огхам (древнеирланÑкаÑ)</description>
+ <description xml:lang="rw">Ogham</description>
+ <description xml:lang="sk">Oghamské</description>
+ <description xml:lang="sq">Ogham</description>
+ <description xml:lang="sr">огам</description>
+ <description xml:lang="sv">Ogham</description>
+ <description xml:lang="tr">Ogham</description>
+ <description xml:lang="uk">Огхам (давньоірландÑька)</description>
+ <description xml:lang="vi">Ogham</description>
+ <description xml:lang="zh_CN">欧甘</description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ogam_is434</name>
+ <description>Ogham IS434</description>
+ <description xml:lang="ru">Огхам IS434</description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>pk</name>
+ <shortDescription>Pak</shortDescription>
+ <shortDescription xml:lang="ru">Пак</shortDescription>
+ <description>Pakistan</description>
+ <description xml:lang="ru">ПакиÑтан</description>
+ </configItem>
+ <variantList/>
+ </layout>
+ <!-- <layout>
+ <configItem>
+ <name>div</name>
+ <shortDescription>Div</shortDescription>
+ <shortDescription xml:lang="ru">Див</shortDescription>
+ <description>Dhivehi</description>
+ <description xml:lang="ru">Дивехи</description>
+ </configItem>
+ <variantList/>
+ </layout> -->
+ </layoutList>
+ <optionList>
+ <group allowMultipleSelection="true">
+ <!-- The key combination used to switch between groups -->
+ <configItem>
+ <name>grp</name>
+ <description>Group Shift/Lock behavior</description>
+ <description xml:lang="af">Groep Shift/Lock gedrag</description>
+ <description xml:lang="az">Shift/Lock Qrupu Davranışı</description>
+ <description xml:lang="bg">Функции на клавишите Shift/Lock</description>
+ <description xml:lang="cs">Chování skupiny Shift/Lock</description>
+ <description xml:lang="da">Gruppeskift/-lås-opførsel</description>
+ <description xml:lang="en_GB">Group Shift/Lock behaviour</description>
+ <description xml:lang="fr">comportement de groupe Shitf/Lock</description>
+ <description xml:lang="hu">Csoportváltás és -zárolás</description>
+ <description xml:lang="nl">Groepgedrag Shift/Lock</description>
+ <description xml:lang="ru">Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ñмены раÑкладки</description>
+ <description xml:lang="rw">imyitwarire</description>
+ <description xml:lang="sk">Zoskupiť chovanie Shift/Lock</description>
+ <description xml:lang="sq">Sjellja e grupit Shift/Lock</description>
+ <description xml:lang="sr">Понашање измене/избора групе</description>
+ <description xml:lang="sv">Gruppbeteende för Skift/Lock</description>
+ <description xml:lang="tr">Shift/Lock Grubu davranışı</description>
+ <description xml:lang="uk">Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð·Ð¼Ñ–Ð½Ð¸ групи</description>
+ <description xml:lang="vi">Äặc Ä‘iểm của nhóm Shift/Lock</description>
+ <description xml:lang="zh_CN">组切æ¢/é”定行为</description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>grp:switch</name>
+ <description>R-Alt switches group while pressed.</description>
+ <description xml:lang="en_GB">R-Alt switches group while pressed.</description>
+ <description xml:lang="nl">Rechter Alt schakelt groep bij indrukken.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Alt переключает группу на Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ.</description>
+ <description xml:lang="rw">Itsinda</description>
+ <description xml:lang="vi">R-Alt thay đổi ngôn ngữ nhập vào khi được nhấn.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lswitch</name>
+ <description>Left Alt key switches group while pressed.</description>
+ <description xml:lang="en_GB">Left Alt key switches group while pressed.</description>
+ <description xml:lang="nl">Linker Alt-toets schakelt groep bij indrukken.</description>
+ <description xml:lang="ru">Ð›ÐµÐ²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Alt переключает группу на Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ.</description>
+ <description xml:lang="rw">Urufunguzo Itsinda</description>
+ <description xml:lang="vi">Phím Alt bên trái chuyển đổi ngôn ngữ khi được nhấn.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lwin_switch</name>
+ <description>Left Win-key switches group while pressed.</description>
+ <description xml:lang="en_GB">Left Win-key switches group while pressed.</description>
+ <description xml:lang="nl">Linker Win-toets schakelt groep bij indrukken.</description>
+ <description xml:lang="ru">Ð›ÐµÐ²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Win переключает группу на Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ.</description>
+ <description xml:lang="rw">Urufunguzo Itsinda</description>
+ <description xml:lang="vi">Phím Win bên trái chuyển đổi ngôn ngữ khi được nhấn.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rwin_switch</name>
+ <description>Right Win-key switches group while pressed.</description>
+ <description xml:lang="en_GB">Right Win-key switches group while pressed.</description>
+ <description xml:lang="nl">Rechter Win-toets schakelt groep bij indrukken.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Win переключает группу на Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ.</description>
+ <description xml:lang="rw">Urufunguzo Itsinda</description>
+ <description xml:lang="vi">Phím Alt bên phải thay đổi ngôn ngữ nhập vào khi được nhấn.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:win_switch</name>
+ <description>Both Win-keys switch group while pressed.</description>
+ <description xml:lang="en_GB">Both Win-keys switch group while pressed.</description>
+ <description xml:lang="nl">Beide Win-toetsen schakelen groep bij indrukken.</description>
+ <description xml:lang="ru">Две клавиши Win переключает группу на Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ.</description>
+ <description xml:lang="rw">Utubuto Hindura Itsinda</description>
+ <description xml:lang="vi">Cả hai phím Win chuyển ngôn ngữ nhập khi nhấn.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rctrl_switch</name>
+ <description>Right Ctrl key switches group while pressed.</description>
+ <description xml:lang="en_GB">Right Ctrl key switches group while pressed.</description>
+ <description xml:lang="nl">Rechter Ctrl-toets schakelt groep bij indrukken.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Ctrl переключает группу на Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ.</description>
+ <description xml:lang="rw">Urufunguzo Itsinda</description>
+ <description xml:lang="vi">Ctrl bên phải thay đổi ngôn ngữ nhập vào khi được nhấn.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:toggle</name>
+ <description>Right Alt key changes group.</description>
+ <description xml:lang="en_GB">Right Alt key changes group.</description>
+ <description xml:lang="nl">Rechter Alt-toets verandert groep.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Alt менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím Alt bên phải thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lalt_toggle</name>
+ <description>Left Alt key changes group.</description>
+ <description xml:lang="en_GB">Left Alt key changes group.</description>
+ <description xml:lang="nl">Linker Alt-toets verandert groep.</description>
+ <description xml:lang="ru">Ð›ÐµÐ²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Alt менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím Alt bên trái thay đổi ngôn ngữ nhập vào.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:caps_toggle</name>
+ <description>CapsLock key changes group.</description>
+ <description xml:lang="en_GB">Caps Lock key changes group.</description>
+ <description xml:lang="nl">CapsLock-toets verandert groep.</description>
+ <description xml:lang="ru">Клавиша CapsLock менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím CapsLock thay đổi nhóm.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:shift_caps_toggle</name>
+ <description>Shift+CapsLock changes group.</description>
+ <description xml:lang="en_GB">Shift+Caps Lock changes group.</description>
+ <description xml:lang="nl">Shift+CapsLock verandert groep.</description>
+ <description xml:lang="ru">Клавиши Shift и Caps Lock, нажатые вмеÑте, менÑÑŽÑ‚ группу.</description>
+ <description xml:lang="rw">Amahinduka Itsinda</description>
+ <description xml:lang="vi">Shift+CapsLock thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:shifts_toggle</name>
+ <description>Both Shift keys together change group.</description>
+ <description xml:lang="en_GB">Both Shift keys together change group.</description>
+ <description xml:lang="nl">Beide Shift-toetsen samen veranderen groep.</description>
+ <description xml:lang="ru">Две клавиши Shift вмеÑте менÑÑŽÑ‚ группу.</description>
+ <description xml:lang="rw">Utubuto Guhindura&gt;&gt; Itsinda</description>
+ <description xml:lang="vi">Nhấn đồng thá»i hai phím Shift thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:alts_toggle</name>
+ <description>Both Alt keys together change group.</description>
+ <description xml:lang="en_GB">Both Alt keys together change group.</description>
+ <description xml:lang="nl">Beide Alt-toetsen samen veranderen groep.</description>
+ <description xml:lang="ru">Две клавиши Alt вмеÑте менÑÑŽÑ‚ группу.</description>
+ <description xml:lang="rw">Utubuto Guhindura&gt;&gt; Itsinda</description>
+ <description xml:lang="vi">Nhấn đồng thá»i hai phím Alt thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:ctrls_toggle</name>
+ <description>Both Ctrl keys together change group.</description>
+ <description xml:lang="en_GB">Both Ctrl keys together change group.</description>
+ <description xml:lang="nl">Beide Ctrl-toetsen samen veranderen groep.</description>
+ <description xml:lang="ru">Две клавиши Ctrl вмеÑте менÑÑŽÑ‚ группу.</description>
+ <description xml:lang="rw">Utubuto Guhindura&gt;&gt; Itsinda</description>
+ <description xml:lang="vi">Nhấn đồng thá»i hai phím Ctrl thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:ctrl_shift_toggle</name>
+ <description>Control+Shift changes group.</description>
+ <description xml:lang="el">Το Control+Shift αλλάζει ομάδα.</description>
+ <description xml:lang="en_GB">Control+Shift changes group.</description>
+ <description xml:lang="nl">Control+Shift verandert groep.</description>
+ <description xml:lang="ru">Control+Shift менÑÑŽÑ‚ группу.</description>
+ <description xml:lang="rw">Amahinduka Itsinda</description>
+ <description xml:lang="vi">Control+Shift thay đổi ngôn ngữ nhập vào.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:ctrl_alt_toggle</name>
+ <description>Alt+Control changes group.</description>
+ <description xml:lang="el">Το Alt+Control αλλάζει ομάδα.</description>
+ <description xml:lang="en_GB">Alt+Control changes group.</description>
+ <description xml:lang="nl">Alt+Control verandert groep.</description>
+ <description xml:lang="ru">Alt+Control менÑÑŽÑ‚ группу.</description>
+ <description xml:lang="rw">Amahinduka Itsinda</description>
+ <description xml:lang="vi">Alt+Control thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:alt_shift_toggle</name>
+ <description>Alt+Shift changes group.</description>
+ <description xml:lang="el">Το Alt+Shift αλλάζει ομάδα.</description>
+ <description xml:lang="en_GB">Alt+Shift changes group.</description>
+ <description xml:lang="nl">Alt+Shift verandert groep.</description>
+ <description xml:lang="ru">Alt+Shift менÑÑŽÑ‚ группу.</description>
+ <description xml:lang="rw">Amahinduka Itsinda</description>
+ <description xml:lang="vi">Alt+Shift thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:menu_toggle</name>
+ <description>Menu key changes group.</description>
+ <description xml:lang="en_GB">Menu key changes group.</description>
+ <description xml:lang="nl">Menu-toets verandert groep.</description>
+ <description xml:lang="ru">Клавиша Menu менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím Menu thay đổi ngôn ngữ nhập vào.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lwin_toggle</name>
+ <description>Left Win-key changes group.</description>
+ <description xml:lang="en_GB">Left Win-key changes group.</description>
+ <description xml:lang="nl">Linker Win-toets verandert groep.</description>
+ <description xml:lang="ru">Ð›ÐµÐ²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Win менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím Win bên trái thay đổi ngôn ngữ nhập vào.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rwin_toggle</name>
+ <description>Right Win-key changes group.</description>
+ <description xml:lang="en_GB">Right Win-key changes group.</description>
+ <description xml:lang="nl">Rechter Win-toets verandert groep.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Win менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím Win bên phải thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lshift_toggle</name>
+ <description>Left Shift key changes group.</description>
+ <description xml:lang="en_GB">Left Shift key changes group.</description>
+ <description xml:lang="nl">Linker Shift-toets verandert groep.</description>
+ <description xml:lang="ru">Ð›ÐµÐ²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Shift менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím Shift bên trái thay đổi ngôn ngữ nhập vào.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rshift_toggle</name>
+ <description>Right Shift key changes group.</description>
+ <description xml:lang="en_GB">Right Shift key changes group.</description>
+ <description xml:lang="nl">Rechter Shift-toets verandert groep.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Shift менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím Shift bên phải thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:lctrl_toggle</name>
+ <description>Left Ctrl key changes group.</description>
+ <description xml:lang="en_GB">Left Ctrl key changes group.</description>
+ <description xml:lang="nl">Linker Ctrl-toets verandert groep.</description>
+ <description xml:lang="ru">Ð›ÐµÐ²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Ctrl менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím Ctrl bên trái thay đổi ngôn ngữ nhập vào.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp:rctrl_toggle</name>
+ <description>Right Ctrl key changes group.</description>
+ <description xml:lang="en_GB">Right Ctrl key changes group.</description>
+ <description xml:lang="nl">Rechter Ctrl-toets verandert groep.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Ctrl менÑет группу.</description>
+ <description xml:lang="rw">Urufunguzo Amahinduka Itsinda</description>
+ <description xml:lang="vi">Phím Ctrl bên phải thay đổi ngôn ngữ nhập.</description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <!-- The key combination used to choose the 3rd (and 4th, together with Shift)
+ level of symbols -->
+ <configItem>
+ <name>lv3</name>
+ <description>Third level choosers</description>
+ <description xml:lang="af">Derdevlak kiesers</description>
+ <description xml:lang="az">Üçüncü səviyyə seçicilər</description>
+ <description xml:lang="bg">Избор на третата група</description>
+ <description xml:lang="cs">Výběr třetí úrovně</description>
+ <description xml:lang="da">Tredje niveaus vælgere</description>
+ <description xml:lang="en_GB">Third level choosers</description>
+ <description xml:lang="fr">sélecteur du 3e niveau</description>
+ <description xml:lang="hu">Harmadik szintű választók</description>
+ <description xml:lang="nl">Derde niveau kiezers</description>
+ <description xml:lang="ru">Выбор 3-го уровнÑ</description>
+ <description xml:lang="rw">urwego</description>
+ <description xml:lang="sk">Výber tretej úrovne</description>
+ <description xml:lang="sq">Zgjedhësit e nivelit të tretë</description>
+ <description xml:lang="sr">Избор трећег нивоа</description>
+ <description xml:lang="sv">Tredjenivåsväljare</description>
+ <description xml:lang="tr">3. seviye seçiciler</description>
+ <description xml:lang="uk">Вибір 3-го рівнÑ</description>
+ <description xml:lang="vi">Trình chá»n ngôn ngữ thứ ba</description>
+ <description xml:lang="zh_CN">第三级选择</description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>lv3:switch</name>
+ <description>Press Right Control to choose 3rd level.</description>
+ <description xml:lang="en_GB">Press Right Control to choose 3rd level.</description>
+ <description xml:lang="nl">Druk op de rechter Control-toets op het 3e niveau te kiezen.</description>
+ <description xml:lang="ru">Выбор 3-го ÑƒÑ€Ð¾Ð²Ð½Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ правой клавиши Control.</description>
+ <description xml:lang="rw">Kuri Guhitamo urwego</description>
+ <description xml:lang="vi">Nhấn phím Control bên phải để chá»n ngôn ngữ thứ 3.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:menu_switch</name>
+ <description>Press Menu key to choose 3rd level.</description>
+ <description xml:lang="en_GB">Press Menu key to choose 3rd level.</description>
+ <description xml:lang="nl">Druk op de Menu-toets om het 3e niveau te kiezen.</description>
+ <description xml:lang="ru">Выбор 3-го ÑƒÑ€Ð¾Ð²Ð½Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ клавиши Menu.</description>
+ <description xml:lang="rw">Urufunguzo Kuri Guhitamo urwego</description>
+ <description xml:lang="vi">Nhấn phím Menu để chá»n ngôn ngữ thứ 3.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:win_switch</name>
+ <description>Press any of Win-keys to choose 3rd level.</description>
+ <description xml:lang="en_GB">Press any of Win-keys to choose 3rd level.</description>
+ <description xml:lang="nl">Druk op een Win-toets om het 3e niveau te kiezen.</description>
+ <description xml:lang="ru">Выбор 3-го ÑƒÑ€Ð¾Ð²Ð½Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ любой клавиши Win.</description>
+ <description xml:lang="rw">Bya Utubuto Kuri Guhitamo urwego</description>
+ <description xml:lang="vi">Nhấn phím Win bất kỳ để chá»n ngôn ngữ thứ 3.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:lwin_switch</name>
+ <description>Press Left Win-key to choose 3rd level.</description>
+ <description xml:lang="en_GB">Press Left Win-key to choose 3rd level.</description>
+ <description xml:lang="nl">Druk op de linker Win-toets om het 3e niveau te kiezen.</description>
+ <description xml:lang="ru">Выбор 3-го ÑƒÑ€Ð¾Ð²Ð½Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ левой клавиши Win.</description>
+ <description xml:lang="rw">Urufunguzo Kuri Guhitamo urwego</description>
+ <description xml:lang="vi">Nhấn phím Win bên trái để chá»n ngôn ngữ thứ 3.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:rwin_switch</name>
+ <description>Press Right Win-key to choose 3rd level.</description>
+ <description xml:lang="en_GB">Press Right Win-key to choose 3rd level.</description>
+ <description xml:lang="nl">Druk op de rechter Win-toets om het 3e niveau te kiezen.</description>
+ <description xml:lang="ru">Выбор 3-го ÑƒÑ€Ð¾Ð²Ð½Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ правой клавиши Win.</description>
+ <description xml:lang="rw">Urufunguzo Kuri Guhitamo urwego</description>
+ <description xml:lang="vi">Nhấn phím Win bên phải để chá»n ngôn ngữ thứ 3.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:alt_switch</name>
+ <description>Press any of Alt keys to choose 3rd level.</description>
+ <description xml:lang="en_GB">Press any of Alt keys to choose 3rd level.</description>
+ <description xml:lang="nl">Druk op een Alt-toets om het 3e niveau te kiezen.</description>
+ <description xml:lang="ru">Выбор 3-го ÑƒÑ€Ð¾Ð²Ð½Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ любой клавиши Alt.</description>
+ <description xml:lang="rw">Bya Utubuto Kuri Guhitamo urwego</description>
+ <description xml:lang="vi">Nhấn phím Alt bất kỳ để chá»n ngôn ngữ thứ 3.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:lalt_switch</name>
+ <description>Press Left Alt key to choose 3rd level.</description>
+ <description xml:lang="en_GB">Press Left Alt key to choose 3rd level.</description>
+ <description xml:lang="nl">Druk op de linker Alt-toets om het 3e niveau te kiezen.</description>
+ <description xml:lang="ru">Выбор 3-го ÑƒÑ€Ð¾Ð²Ð½Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ левой клавиши Alt.</description>
+ <description xml:lang="rw">Urufunguzo Kuri Guhitamo urwego</description>
+ <description xml:lang="vi">Nhấn phím Alt bên trái để chá»n ngôn ngữ thứ 3.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>lv3:ralt_switch</name>
+ <description>Press Right Alt key to choose 3rd level.</description>
+ <description xml:lang="en_GB">Press Right Alt key to choose 3rd level.</description>
+ <description xml:lang="nl">Druk op de rechter Win-toets om het 3e niveau te kiezen.</description>
+ <description xml:lang="ru">Выбор 3-го ÑƒÑ€Ð¾Ð²Ð½Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ правой клавиши Alt.</description>
+ <description xml:lang="rw">Urufunguzo Kuri Guhitamo urwego</description>
+ <description xml:lang="vi">Nhấn phím Alt bên phải để chá»n ngôn ngữ thứ 3.</description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="false">
+ <!-- Tweaking the position of the "Ctrl" key -->
+ <configItem>
+ <name>ctrl</name>
+ <description>Control key position</description>
+ <description xml:lang="ru">Положение клавиши Control</description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>ctrl:nocaps</name>
+ <description>Make CapsLock an additional Control.</description>
+ <description xml:lang="en_GB">Make Caps Lock an additional Control.</description>
+ <description xml:lang="nl">Van CapsLock een extra Control maken.</description>
+ <description xml:lang="ru">ИÑпользовать CapsLock как дополнительную клавишу Control.</description>
+ <description xml:lang="vi">Dùng CapsLock làm một Control bổ sung.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:swapcaps</name>
+ <description>Swap Control and CapsLock.</description>
+ <description xml:lang="en_GB">Swap Control and Caps Lock.</description>
+ <description xml:lang="nl">Control en CapsLock verwisselen.</description>
+ <description xml:lang="ru">ПоменÑÑ‚ÑŒ меÑтами клавиши Control и CapsLock.</description>
+ <description xml:lang="rw">Na</description>
+ <description xml:lang="vi">Trao đổi Control và CapsLock.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:ctrl_ac</name>
+ <description>Control key at left of 'A'</description>
+ <description xml:lang="af">Kontrolesleutel links van 'A'</description>
+ <description xml:lang="az">Control düyməsi 'A' hərfinin solunda</description>
+ <description xml:lang="bg">Control е влÑво от 'A'</description>
+ <description xml:lang="cs">Klávesa Control nalevo od 'A'</description>
+ <description xml:lang="da">Ctrl-tast til venstre for 'A'</description>
+ <description xml:lang="el">ΠλήκτÏο Control στα αÏιστεÏά του 'Α'</description>
+ <description xml:lang="en_GB">Control key at left of 'A'</description>
+ <description xml:lang="fr">clé de contrône à la gauche du « A »</description>
+ <description xml:lang="hu">A Ctrl billentyű az 'A' betűtől jobbra van</description>
+ <description xml:lang="nl">Control-toets links van 'A'</description>
+ <description xml:lang="ru">Клавиша Control Ñлева от 'Ф'</description>
+ <description xml:lang="rw">Urufunguzo ku Ibumoso: Bya</description>
+ <description xml:lang="sk">Kláves Control naľavo od 'A'</description>
+ <description xml:lang="sq">Pulsanti Control në të majtë të 'A'</description>
+ <description xml:lang="sr">ТаÑтер Control је у лево од „Ð“</description>
+ <description xml:lang="sv">Control-tangenten till vänster om "A"</description>
+ <description xml:lang="tr">Control tuÅŸu, 'A' tuÅŸunu solunda</description>
+ <description xml:lang="uk">Клавіша Control зліва від 'Ф'</description>
+ <description xml:lang="vi">Phím Control ở bên trái của 'A'</description>
+ <description xml:lang="zh_CN">Ctrl 键在“Aâ€å·¦ä¾§</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:ctrl_aa</name>
+ <description>Control key at bottom left</description>
+ <description xml:lang="af">Kontrolesleutel links onder</description>
+ <description xml:lang="az">Control düyməsi sol altda</description>
+ <description xml:lang="bg">Control е долу влÑво</description>
+ <description xml:lang="cs">Klávesa Control vlevo dole</description>
+ <description xml:lang="da">Ctrl-tast nederst til venstre</description>
+ <description xml:lang="el">ΠλήκτÏο Control κάτω αÏιστεÏά</description>
+ <description xml:lang="en_GB">Control key at bottom left</description>
+ <description xml:lang="fr">clé de contrôle au bas à gauche</description>
+ <description xml:lang="hu">A Ctrl billentyű a bal alsó sarokban van</description>
+ <description xml:lang="nl">Control-toets linksonder</description>
+ <description xml:lang="ru">Клавиша Control Ñнизу Ñлева</description>
+ <description xml:lang="rw">Urufunguzo ku Hasi: Ibumoso:</description>
+ <description xml:lang="sk">Kláves Control vľavo dole</description>
+ <description xml:lang="sq">Pulsanti Control sipër majtas</description>
+ <description xml:lang="sr">ТаÑтер Control је у дну лево</description>
+ <description xml:lang="sv">Control-tangenten nere till vänster</description>
+ <description xml:lang="tr">Control tuÅŸu, alt solda</description>
+ <description xml:lang="uk">Клавіша Control знизу зліва</description>
+ <description xml:lang="vi">Phím Control ở phía dưới bên trái</description>
+ <description xml:lang="zh_CN">Ctrl 键在左下角</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>ctrl:ctrl_ra</name>
+ <description>Right Control key works as Right Alt.</description>
+ <description xml:lang="en_GB">Right Control key works as Right Alt.</description>
+ <description xml:lang="nl">Rechter Control-toets werkt als rechter Alt.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Control работает как Ð¿Ñ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Alt.</description>
+ <description xml:lang="rw">Urufunguzo Nka</description>
+ <description xml:lang="vi">Control bên phải làm việc như Alt bên phải.</description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <!-- Using startard LEDs to indicate the alternative (not first) group(s) -->
+ <configItem>
+ <name>grp_led</name>
+ <description>Use keyboard LED to show alternative group.</description>
+ <description xml:lang="en_GB">Use keyboard LED to show alternative group.</description>
+ <description xml:lang="nl">Toetsenbord LED gebruiken om alternatieve groep te tonen.</description>
+ <description xml:lang="ru">ИÑпользование клавиатурных индикаторов Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿. групп.</description>
+ <description xml:lang="rw">Mwandikisho Kuri Garagaza Itsinda</description>
+ <description xml:lang="vi">Sử dụng đèn bàn phím để chỉ ra ngôn ngữ tương đương.</description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>grp_led:num</name>
+ <description>NumLock LED shows alternative group.</description>
+ <description xml:lang="en_GB">Num Lock LED shows alternative group.</description>
+ <description xml:lang="nl">NumLock LED toont alternatieve groep.</description>
+ <description xml:lang="ru">Индикатор NumLock отображает доп. группу.</description>
+ <description xml:lang="rw">Itsinda</description>
+ <description xml:lang="vi">Äèn NumLock cho biết ngôn ngữ tÆ°Æ¡ng Ä‘Æ°Æ¡ng.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp_led:caps</name>
+ <description>CapsLock LED shows alternative group.</description>
+ <description xml:lang="en_GB">Caps Lock LED shows alternative group.</description>
+ <description xml:lang="nl">CapsLock LED toont alternatieve groep.</description>
+ <description xml:lang="ru">Индикатор CapsLock отображает доп. группу.</description>
+ <description xml:lang="rw">Itsinda</description>
+ <description xml:lang="vi">Äèn CapsLock cho biết ngôn ngữ nhập tÆ°Æ¡ng Ä‘Æ°Æ¡ng.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>grp_led:scroll</name>
+ <description>ScrollLock LED shows alternative group.</description>
+ <description xml:lang="en_GB">Scroll Lock LED shows alternative group.</description>
+ <description xml:lang="nl">ScrollLock LED toont alternatieve groep.</description>
+ <description xml:lang="ru">Индикатор ScrollLock отображает доп. группу.</description>
+ <description xml:lang="rw">Itsinda</description>
+ <description xml:lang="vi">Äèn ScrollLock cho biết ngôn ngữ tÆ°Æ¡ng Ä‘Æ°Æ¡ng.</description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="false">
+ <!-- CapsLock tweaks.
+ "Internal" capitalization means capitalization using some internal tables.
+ Otherwise "as Shift" - means using next group. -->
+ <configItem>
+ <name>caps</name>
+ <description>CapsLock key behavior</description>
+ <description xml:lang="af">CapsLock-sleutelgedrag</description>
+ <description xml:lang="az">CapsLock düyməsinin davranışı</description>
+ <description xml:lang="bg">Поведение на Caps Lock</description>
+ <description xml:lang="cs">Chování klávesy CapsLock</description>
+ <description xml:lang="da">Opførsel for Caps Lock-tast</description>
+ <description xml:lang="el">ΣυμπεÏιφοÏά πλήκτÏου Κλείδωμα Κεφαλαίων</description>
+ <description xml:lang="en_GB">Caps Lock key behaviour</description>
+ <description xml:lang="fr">comportement de la clé Capslock</description>
+ <description xml:lang="hu">A Caps Lock használati módja</description>
+ <description xml:lang="nl">CapsLock-toets gedrag</description>
+ <description xml:lang="ru">Клавиша Caps Lock</description>
+ <description xml:lang="rw">Urufunguzo imyitwarire</description>
+ <description xml:lang="sk">Chovanie klávesa Caps Lock</description>
+ <description xml:lang="sq">Sjellja e pulsantit CapsLock</description>
+ <description xml:lang="sr">Понашање Caps Lock таÑтера</description>
+ <description xml:lang="sv">Beteende för Caps Lock-tangenten</description>
+ <description xml:lang="tr">CapsLock tuşunun davranışı</description>
+ <description xml:lang="uk">Клавіша Caps Lock</description>
+ <description xml:lang="vi">Äặc Ä‘iểm của phím CapsLock</description>
+ <description xml:lang="zh_CN">CapsLock 键行为</description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>caps:internal</name>
+ <description>CapsLock uses internal capitalization. Shift cancels CapsLock.</description>
+ <description xml:lang="en_GB">Caps Lock uses internal capitalisation. Shift cancels Caps Lock.</description>
+ <description xml:lang="nl">CapsLock gebruikt interne conversie naar hoofdletters. Shift heft CapsLock op.</description>
+ <description xml:lang="ru">Включает внутреннюю капитализацию. Shift отменÑет CapsLock.</description>
+ <description xml:lang="rw">By'imbere</description>
+ <description xml:lang="vi">CapsLock sử dụng viết hoa nội bộ. Shift dừng CapsLock.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:internal_nocancel</name>
+ <description>CapsLock uses internal capitalization. Shift doesn't cancel CapsLock.</description>
+ <description xml:lang="en_GB">Caps Lock uses internal capitalisation. Shift doesn't cancel Caps Lock.</description>
+ <description xml:lang="nl">CapsLock gebruikt interne conversie naar hoofdletters. Shift heft CapsLock niet op.</description>
+ <description xml:lang="ru">Включает внутреннюю капитализацию. Shift не отменÑет CapsLock.</description>
+ <description xml:lang="rw">By'imbere Kureka</description>
+ <description xml:lang="vi">CapsLock sử dụng viết hoa nội bộ. Shift không dừng CapsLock.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:shift</name>
+ <description>CapsLock acts as Shift with locking. Shift cancels CapsLock.</description>
+ <description xml:lang="en_GB">Caps Lock acts as Shift with locking. Shift cancels Caps Lock.</description>
+ <description xml:lang="nl">CapsLock werkt als Shift met blokkering, Shift heft CapsLock op.</description>
+ <description xml:lang="ru">ДейÑтвует как Shift Ñ Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ¾Ð¹. Shift отменÑет CapsLock.</description>
+ <description xml:lang="rw">Nka Na:</description>
+ <description xml:lang="vi">CapsLock hoạt động như Shift với việc khóa. Shift dừng CapsLock.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:shift_nocancel</name>
+ <description>CapsLock acts as Shift with locking. Shift doesn't cancel CapsLock.</description>
+ <description xml:lang="en_GB">Caps Lock acts as Shift with locking. Shift doesn't cancel Caps Lock.</description>
+ <description xml:lang="nl">CapsLock werkt als Shift met blokkering. Shift heft CapsLock niet op.</description>
+ <description xml:lang="ru">ДейÑтвует как Shift Ñ Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ¾Ð¹. Shift не отменÑет CapsLock.</description>
+ <description xml:lang="rw">Nka Na: Kureka</description>
+ <description xml:lang="vi">CapsLock hoạt động như Shift với việc khóa. Shift không dừng CapsLock.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:shift_lock</name>
+ <description>CapsLock just locks the Shift modifier.</description>
+ <description xml:lang="en_GB">Caps Lock just locks the Shift modifier.</description>
+ <description xml:lang="nl">CapsLock blokkeert slechts de Shift-toets.</description>
+ <description xml:lang="ru">ПроÑто блокирует модификатор Shift.</description>
+ <description xml:lang="rw">i</description>
+ <description xml:lang="vi">CapsLock khóa tính năng của Shift.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:capslock</name>
+ <description>CapsLock toggles normal capitalization of alphabetic characters.</description>
+ <description xml:lang="en_GB">Caps Lock toggles normal capitalisation of alphabetic characters.</description>
+ <description xml:lang="nl">CapsLock bepaalt hoofdletters/kleine letters bij alfabetische tekens.</description>
+ <description xml:lang="ru">Включает обычную капитализацию Ñимволов алфавита.</description>
+ <description xml:lang="rw">Bisanzwe Bya Inyuguti</description>
+ <description xml:lang="vi">CapsLock bật tắt viết hoa thông thÆ°á»ng của các ký tá»± chữ cái.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>caps:shiftlock</name>
+ <description>CapsLock toggles Shift so all keys are affected.</description>
+ <description xml:lang="en_GB">Caps Lock toggles Shift so all keys are affected.</description>
+ <description xml:lang="nl">CapsLock verwisselt Shift zodat het alle toetsen beïnvloedt.</description>
+ <description xml:lang="ru">Включает Shift, отноÑитÑÑ ÐºÐ¾ вÑем клавишам.</description>
+ <description xml:lang="rw">Byose Utubuto</description>
+ <description xml:lang="vi">CapsLock bật tắt Shift vì thế má»i phím Ä‘á»u bị ảnh hưởng.</description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="false">
+ <!-- Using special PC keys (Win, Menu) to work as standard X keys (Super, Hyper, etc.) -->
+ <configItem>
+ <name>altwin</name>
+ <description>Alt/Win key behavior</description>
+ <description xml:lang="af">Alt/Win-sleutel gedrag</description>
+ <description xml:lang="az">Alt/Win düyməsinin davranışları</description>
+ <description xml:lang="bg">ФункциÑта на Alt/Win</description>
+ <description xml:lang="cs">Chování klávesy Alt/Win</description>
+ <description xml:lang="da">Alt/Win-tasteopførsel</description>
+ <description xml:lang="el">ΣυμπεÏιφοÏά πλήκτÏου Alt/Win</description>
+ <description xml:lang="en_GB">Alt/Win key behaviour</description>
+ <description xml:lang="fr">comportement de la clé Alt/Win</description>
+ <description xml:lang="hu">Az Alt/Win billentyűk viselkedése</description>
+ <description xml:lang="nl">Alt/Win-toets gedrag</description>
+ <description xml:lang="ru">Клавиши Alt/Win</description>
+ <description xml:lang="rw">Urufunguzo imyitwarire</description>
+ <description xml:lang="sk">Chovanie klávesu Alt/Win</description>
+ <description xml:lang="sq">Sjellja e pulsantit Alt/Win</description>
+ <description xml:lang="sr">Понашање Alt/Win таÑтера</description>
+ <description xml:lang="sv">Alt/Win-tangentbeteende</description>
+ <description xml:lang="tr">Alt/Win tuşu davranışı</description>
+ <description xml:lang="uk">Клавіші Alt/Win</description>
+ <description xml:lang="vi">Các làm việc của Alt/Win</description>
+ <description xml:lang="zh_CN">Alt/Win 键行为</description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>altwin:menu</name>
+ <description>Add the standard behavior to Menu key.</description>
+ <description xml:lang="af">Voeg by die standaardgedrag by die Kieslyssleutel.</description>
+ <description xml:lang="az">Menyu düyməsinə standart davranış əlavə et.</description>
+ <description xml:lang="bg">Ð”Ð¾Ð±Ð°Ð²Ñ Ñтандартното поведение на клавиша Menu.</description>
+ <description xml:lang="cs">Přidá standardní chování ke klávese Menu.</description>
+ <description xml:lang="da">Tilføj standardopførslen til menutasten.</description>
+ <description xml:lang="en_GB">Add the standard behaviour to Menu key.</description>
+ <description xml:lang="fr">Ajouter le comportement standard au menu de clés</description>
+ <description xml:lang="hu">A standard funkcionalitás hozzáadása a Menü gombhoz.</description>
+ <description xml:lang="nl">Het standaard gedrag toevoegen aan Menu-toets.</description>
+ <description xml:lang="ru">Добавить Ñтандартную функцию клавиши Menu</description>
+ <description xml:lang="rw">i Bisanzwe imyitwarire Kuri Urufunguzo</description>
+ <description xml:lang="sk">Pridať štandardné chovanie klávesu Ponuka.</description>
+ <description xml:lang="sq">Shto sjelljen standarte tek Menu key.</description>
+ <description xml:lang="sr">Додај обично понашање Menu таÑтеру.</description>
+ <description xml:lang="sv">Lägg till standardbeteendet till Meny-tangenten.</description>
+ <description xml:lang="tr">Menü tuşuna standart işlevini ekler.</description>
+ <description xml:lang="uk">Ðадає клавіші Menu типову функцію.</description>
+ <description xml:lang="vi">Thêm tính năng cơ bản vào phím Menu.</description>
+ <description xml:lang="zh_CN">将标准行为添加到èœå•é”®ã€‚</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:meta_alt</name>
+ <description>Alt and Meta are on the Alt keys (default).</description>
+ <description xml:lang="en_GB">Alt and Meta are on the Alt keys (default).</description>
+ <description xml:lang="nl">Alt en Meta zijn op de Als-toetsen (standaard).</description>
+ <description xml:lang="ru">Alt и Meta на клавишах Alt (по умолчанию).</description>
+ <description xml:lang="rw">Na ku i Utubuto Mburabuzi</description>
+ <description xml:lang="vi">Alt và Meta trên phím các Alt (mặc định).</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:meta_win</name>
+ <description>Meta is mapped to the Win-keys.</description>
+ <description xml:lang="af">Meta is verbind aan die Win-sleutels.</description>
+ <description xml:lang="az">Meta Win düymələrinə xəritələnib.</description>
+ <description xml:lang="bg">Win клавишите фунцкионират като Meta</description>
+ <description xml:lang="cs">Meta je mapována na klávesy Win.</description>
+ <description xml:lang="da">Meta ligger på Win-tasterne.</description>
+ <description xml:lang="en_GB">Meta is mapped to the Win-keys.</description>
+ <description xml:lang="fr">Méta est mappé sur les Win-Keys</description>
+ <description xml:lang="hu">A Meta a Win billentyűkhöz van rendelve.</description>
+ <description xml:lang="nl">Meta wordt afgebeeld op de Win-toetsen.</description>
+ <description xml:lang="ru">Мета ÑоответÑтвует клавишам Win</description>
+ <description xml:lang="rw">ni Kuri i Utubuto</description>
+ <description xml:lang="sk">Meta je mapovaný na Win-klávesy.</description>
+ <description xml:lang="sq">Meta është vendosur tek pulsantët Win. </description>
+ <description xml:lang="sr">Meta је мапиран на Windows таÑтере.</description>
+ <description xml:lang="sv">Meta är mappat till Win-tangenterna.</description>
+ <description xml:lang="tr">Meta, Win tuşları ile eşleştirilir.</description>
+ <description xml:lang="uk">Клавіша Meta відповідає клавішам Win</description>
+ <description xml:lang="vi">Meta được gắn với các phím Win.</description>
+ <description xml:lang="zh_CN">Meta 被映射到 Windows 键。</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:left_meta_win</name>
+ <description>Meta is mapped to the left Win-key.</description>
+ <description xml:lang="af">Meta is verbind aan die linkerkantste Win-sleutel.</description>
+ <description xml:lang="az">Meta sol Win düyməsinə xəritələnib.</description>
+ <description xml:lang="bg">ЛевиÑÑ‚ Win клавиш функционира като Meta</description>
+ <description xml:lang="cs">Meta je mapována na levou klávesu Win.</description>
+ <description xml:lang="da">Meta ligger på venstre Win-tast.</description>
+ <description xml:lang="en_GB">Meta is mapped to the left Win-key.</description>
+ <description xml:lang="fr">Méta est mappé à la clé gauche Win-key</description>
+ <description xml:lang="hu">A Meta a bal Win billentyűhöz van rendelve.</description>
+ <description xml:lang="nl">Meta wordt afgebeeld op de linker Win-toets.</description>
+ <description xml:lang="ru">Meta ÑоответÑтвует левой клавише Win</description>
+ <description xml:lang="rw">ni Kuri i Ibumoso: Urufunguzo</description>
+ <description xml:lang="sk">Meta je mapovaný na ľavý Win-kláves.</description>
+ <description xml:lang="sq">Meta është vendosur tek pulsanti i majtë Win.</description>
+ <description xml:lang="sr">Meta је мапиран на леви Windows таÑтер.</description>
+ <description xml:lang="sv">Meta är mappat till vänster Win-tangent.</description>
+ <description xml:lang="tr">Meta, soldaki Win tuÅŸu ile eÅŸleÅŸtirilir.</description>
+ <description xml:lang="uk">Клавіша Meta відповідає лівій клавіші Win</description>
+ <description xml:lang="vi">Meta được gắn với phím Win bên trái.</description>
+ <description xml:lang="zh_CN">Meta 被映射到左 Windows 键。</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:super_win</name>
+ <description>Super is mapped to the Win-keys (default).</description>
+ <description xml:lang="af">Super is verbind aan die Win-sleutels (verstek).</description>
+ <description xml:lang="az">Super Win düymələrinə xəritələnib (ön qurğulu).</description>
+ <description xml:lang="bg">Win клавишите функционират като Super</description>
+ <description xml:lang="cs">Super je mapováno na klávesy Win (výchozí).</description>
+ <description xml:lang="da">Super ligger på Win-tasterne (standard).</description>
+ <description xml:lang="en_GB">Super is mapped to the Win-keys (default).</description>
+ <description xml:lang="fr">Super est mappé au clés Win-keys (par défaut).</description>
+ <description xml:lang="hu">A Super billentyű a Win billentyűkhöz van rendelve (ez az alapértelmezés).</description>
+ <description xml:lang="nl">Super wordt afgebeeld op de Win-toetsen (standaard).</description>
+ <description xml:lang="ru">Super ÑоответÑтвует клавишам Win (по умолчанию)</description>
+ <description xml:lang="rw">ni Kuri i Utubuto Mburabuzi</description>
+ <description xml:lang="sk">Super je mapovaný na Win-klávesy (štandardné).</description>
+ <description xml:lang="sq">Super është vendosur tek pulsantët Win (e prezgjedhur).</description>
+ <description xml:lang="sr">Super је мапиран на Windows таÑтере (подразумевано).</description>
+ <description xml:lang="sv">Super är mappat till Win-tangenterna (standard).</description>
+ <description xml:lang="tr">Super, Win tuşlarına eşlenir (öntanımlı).</description>
+ <description xml:lang="uk">Super відповідає клавішам Win (типово).</description>
+ <description xml:lang="vi">Super được ánh xạ tới các phím Win (mặc định).</description>
+ <description xml:lang="zh_CN">Super 被映射到 Windows 键(默认)。</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:hyper_win</name>
+ <description>Hyper is mapped to the Win-keys.</description>
+ <description xml:lang="af">Hiper is verbind aan die Win-sleutels.</description>
+ <description xml:lang="az">Hyper Win düymələrinə xəritələnib.</description>
+ <description xml:lang="bg">Hyper ÑъответÑтва на клавишите Win</description>
+ <description xml:lang="cs">Hyper je mapována na klávesy Win.</description>
+ <description xml:lang="da">Hyper ligger på Win-tasterne.</description>
+ <description xml:lang="en_GB">Hyper is mapped to the Win-keys.</description>
+ <description xml:lang="fr">Hyper est mappé aux clés Win-keys.</description>
+ <description xml:lang="hu">A Hyper a Win billentyűkhöz van rendelve.</description>
+ <description xml:lang="nl">Hyper wordt afgebeeld naar de Win-toetsen.</description>
+ <description xml:lang="ru">Hyper ÑоответÑтвует клавишам Win</description>
+ <description xml:lang="rw">ni Kuri i Utubuto</description>
+ <description xml:lang="sk">Hyper je mapovaný na Win-klávesy.</description>
+ <description xml:lang="sq">Hyper është vendosur tek pulsantët Win.</description>
+ <description xml:lang="sr">Hyper је мапиран на Win таÑтере.</description>
+ <description xml:lang="sv">Hyper är mappat till Win-tangenterna.</description>
+ <description xml:lang="tr">Hyper, Win tuşlarına eşlenir.</description>
+ <description xml:lang="uk">Hyper відповідає клавішам Win</description>
+ <description xml:lang="vi">Hyper được gắn tới các phím Win.</description>
+ <description xml:lang="zh_CN">Hyper 被映射到 Windows 键。</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>altwin:alt_super_win</name>
+ <description>Alt is mapped to the right Win-key and Super to Menu.</description>
+ <description xml:lang="en_GB">Alt is mapped to the right Win-key and Super to Menu.</description>
+ <description xml:lang="nl">Alt wordt afgebeeld op de rechter Win-toets en Super op Menu.</description>
+ <description xml:lang="ru">Alt ÑоответÑтвует правой клавише Win, а Super - Menu.</description>
+ <description xml:lang="rw">ni Kuri i Iburyo: Urufunguzo Na Kuri</description>
+ <description xml:lang="vi">Ãnh xạ Alt sang phím Win bên phải và Super sang Menu.</description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <!-- Tweaking the position of the "Compose" key: mapping to existing PC keys -->
+ <configItem>
+ <name>Compose key</name>
+ <description>Compose key position</description>
+ <description xml:lang="ru">Положение клавиши Control</description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>compose:ralt</name>
+ <description>Right Alt is Compose.</description>
+ <description xml:lang="en_GB">Right Alt is Compose.</description>
+ <description xml:lang="nl">Rechter Alt is samenstellingstoets.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Alt ÑоответÑтвует клавише Alt.</description>
+ <description xml:lang="rw">ni</description>
+ <description xml:lang="vi">Alt bên phải là Soạn thảo.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:rwin</name>
+ <description>Right Win-key is Compose.</description>
+ <description xml:lang="en_GB">Right Win-key is Compose.</description>
+ <description xml:lang="nl">Rechter Win-toets is samenstellingstoets.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Win ÑоответÑтвует клавише Compose.</description>
+ <description xml:lang="rw">Urufunguzo ni</description>
+ <description xml:lang="vi">Phím Win bên phải là Soạn thảo.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:menu</name>
+ <description>Menu is Compose.</description>
+ <description xml:lang="en_GB">Menu is Compose.</description>
+ <description xml:lang="nl">Menu is samenstellingstoets.</description>
+ <description xml:lang="ru">Клавиша Menu ÑоответÑтвует клавише Compose.</description>
+ <description xml:lang="rw">ni</description>
+ <description xml:lang="vi">Menu là Soạn thảo.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>compose:rctrl</name>
+ <description>Right Ctrl is Compose.</description>
+ <description xml:lang="en_GB">Right Ctrl is Compose.</description>
+ <description xml:lang="nl">Rechter Ctrl is samenstellingstoets.</description>
+ <description xml:lang="ru">ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° Ctrl ÑоответÑтвует клавише Compose.</description>
+ <description xml:lang="rw">ni</description>
+ <description xml:lang="vi">Ctrl bên phải là Soạn thảo.</description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <configItem>
+ <name>compat</name>
+ <description>Miscellaneous compatibility options</description>
+ <description xml:lang="af">Verskeie versoenbaarheid-opsies</description>
+ <description xml:lang="az">Müxtəlif yetişmə qabiliyyəti seçimləri</description>
+ <description xml:lang="cs">DodateÄné volby pro kompatibilitu</description>
+ <description xml:lang="da">Diverse kompatibilitetsvalg</description>
+ <description xml:lang="en_GB">Miscellaneous compatibility options</description>
+ <description xml:lang="fr">diverses options de compatibilité</description>
+ <description xml:lang="hu">Egyéb kompatibilitási beállítások</description>
+ <description xml:lang="nl">Overige compatibiliteitsopties</description>
+ <description xml:lang="ru">Разные параметры ÑовмеÑтимоÑти</description>
+ <description xml:lang="rw">Bihuye neza Amahitamo</description>
+ <description xml:lang="sk">DodatoÄné voľby pre kompatibilitu</description>
+ <description xml:lang="sq">Opcione të ndryshme kompatibiliteti</description>
+ <description xml:lang="sr">Разне могућноÑти за ÑаглаÑноÑÑ‚</description>
+ <description xml:lang="sv">Diverse kompatibilitetsalternativ</description>
+ <description xml:lang="tr">Çeşitli uyumluluk seçenekleri</description>
+ <description xml:lang="uk">Різна параметри ÑуміÑноÑÑ‚Ñ–</description>
+ <description xml:lang="vi">Tùy chá»n tÆ°Æ¡ng thích khác</description>
+ <description xml:lang="zh_CN">其它兼容选项</description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>numpad:microsoft</name>
+ <description>Shift with numpad keys works as in MS Windows.</description>
+ <description xml:lang="en_GB">Shift with numpad keys works as in MS Windows.</description>
+ <description xml:lang="nl">Shift met cijferblok-toetsen werkt zoals in MS Windows.</description>
+ <description xml:lang="rw">Na: Utubuto Nka in</description>
+ <description xml:lang="vi">Shift với các phím của bàn phím số làm việc như trong MS Windows.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>srvrkeys:none</name>
+ <description>Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server.</description>
+ <description xml:lang="af">Spesiale sleutels (Ctrl+Alt+&lt;sleutel&gt;) word hanteer in 'n bediener.</description>
+ <description xml:lang="az">Xüsusi düymələr (Ctrl+Alt+&lt;düyməsi&gt;) verici tərəfindən idarə edilsin.</description>
+ <description xml:lang="cs">Speciální klávesy (Ctrl+Alt+&lt;key&gt;) zpracovány v serveru.</description>
+ <description xml:lang="da">Specialtaster (Ctrl+Alt+&lt;key&gt;) håndteret i en server.</description>
+ <description xml:lang="en_GB">Special keys (Ctrl+Alt+&lt;key&gt;) handled in a server.</description>
+ <description xml:lang="fr">les spéciales (Ctrl+Alt+&lt;clé&gt;) sont traitées par le serveur.</description>
+ <description xml:lang="hu">Speciális billentyűk (Ctrl+Alt+&lt;key&gt;), amelyeket a kiszolgáló kezel.</description>
+ <description xml:lang="nl">Speciale toetsen (Ctrl+Alt+&lt;toets&gt;) afgehandeld in een server.</description>
+ <description xml:lang="ru">Специальные клавиши (Ctrl+Alt+&lt;клв&gt;)·обрабатываютÑÑ Ñервером.</description>
+ <description xml:lang="rw">Utubuto in a Seriveri</description>
+ <description xml:lang="sk">Špeciálne klávesy (Ctrl+Alt+&lt;key&gt;) spracované na serveru.</description>
+ <description xml:lang="sq">Çelsa specialë (Ctrl+Alt+&lt;çelsi&gt;) të manazhuar në një server.</description>
+ <description xml:lang="sr">Ðарочити таÑтери (Ctrl+Alt+&lt;таÑтер&gt;) које обрађује Ñервер.</description>
+ <description xml:lang="sv">Specialtangenter (Ctrl+Alt+&lt;tangent&gt;) hanteras i en server.</description>
+ <description xml:lang="tr">Bir sunucuda elde edilen özel tuşlar (Ctrl+Alt+&lt;tuş&gt;)</description>
+ <description xml:lang="uk">Спеціальні клавіші (Ctrl+Alt+&lt;key&gt;) оброблÑÑŽÑ‚ÑŒÑÑ Ð½Ð° Ñервері.</description>
+ <description xml:lang="vi">Äiá»u khiển các phím đặt biệt (Ctrl+Alt+&lt;key&gt;) trên má»™t máy chủ.</description>
+ <description xml:lang="zh_CN">æœåŠ¡å™¨å¤„ç†çš„特殊键 (Ctrl+Alt+&lt;key&gt;)。</description>
+ </configItem>
+ </option>
+ </group>
+ <group allowMultipleSelection="true">
+ <!-- Special shortcuts for the Euro character -->
+ <configItem>
+ <name>eurosign</name>
+ <description>Adding the EuroSign to certain keys</description>
+ <description xml:lang="en_GB">Adding the Euro sign to certain keys</description>
+ <description xml:lang="nl">Euro-teken aan bepaalde toetsen toevoegen</description>
+ <description xml:lang="ru">Добавить знак Евро к некоторым клавишам</description>
+ <description xml:lang="rw">i Kuri Utubuto</description>
+ <description xml:lang="vi">Thêm ký hiệu đồng Euro vào các phím chắc chắn</description>
+ </configItem>
+ <option>
+ <configItem>
+ <name>eurosign:e</name>
+ <description>Add the EuroSign to the E key.</description>
+ <description xml:lang="en_GB">Add the Euro sign to the E key.</description>
+ <description xml:lang="nl">Euro-teken toevoegen aan E-toets.</description>
+ <description xml:lang="ru">Добавить знак Евро к клавише E.</description>
+ <description xml:lang="rw">i Kuri i E Urufunguzo</description>
+ <description xml:lang="vi">Thêm ký hiệu đồng Euro vào phím E.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>eurosign:5</name>
+ <description>Add the EuroSign to the 5 key.</description>
+ <description xml:lang="en_GB">Add the Euro sign to the 5 key.</description>
+ <description xml:lang="nl">Euro-teken toevoegen aan 5-toets.</description>
+ <description xml:lang="ru">Добавить знак Евро к клавише 5.</description>
+ <description xml:lang="rw">i Kuri i 5 Urufunguzo</description>
+ <description xml:lang="vi">Thêm ký hiệu đồng Euro vào phím 5.</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>eurosign:2</name>
+ <description>Add the EuroSign to the 2 key.</description>
+ <description xml:lang="en_GB">Add the Euro sign to the 2 key.</description>
+ <description xml:lang="nl">Euro-teken toevoegen aan 2-toets.</description>
+ <description xml:lang="ru">Добавить знак Евро к клавише 2.</description>
+ <description xml:lang="rw">i Kuri i 2. Urufunguzo</description>
+ <description xml:lang="vi">Thêm ký hiệu đồng Euro vào phím 2.</description>
+ </configItem>
+ </option>
+ </group>
+ </optionList>
+</xkbConfigRegistry>
diff --git a/data/xkbdata/semantics/Makefile.am b/data/xkbdata/semantics/Makefile.am
new file mode 100644
index 000000000..fe8640f7f
--- /dev/null
+++ b/data/xkbdata/semantics/Makefile.am
@@ -0,0 +1,6 @@
+xkbdata_semanticsdir = $(datadir)/X11/xkb/semantics
+dist_xkbdata_semantics_DATA = \
+ basic \
+ complete \
+ default \
+ xtest
diff --git a/data/xkbdata/semantics/Makefile.in b/data/xkbdata/semantics/Makefile.in
new file mode 100644
index 000000000..400fdd5b5
--- /dev/null
+++ b/data/xkbdata/semantics/Makefile.in
@@ -0,0 +1,261 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_semanticsdir = $(datadir)/X11/xkb/semantics
+dist_xkbdata_semantics_DATA = \
+ basic \
+ complete \
+ default \
+ xtest
+
+subdir = semantics
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_semantics_DATA)
+
+DIST_COMMON = $(dist_xkbdata_semantics_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu semantics/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_semanticsDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_semanticsDATA: $(dist_xkbdata_semantics_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_semanticsdir)
+ @list='$(dist_xkbdata_semantics_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_semanticsDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_semanticsdir)/$$f"; \
+ $(dist_xkbdata_semanticsDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_semanticsdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_semanticsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_semantics_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_semanticsdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_semanticsdir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_semanticsdir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_semanticsDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_semanticsDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_semanticsDATA install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_semanticsDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/semantics/basic b/data/xkbdata/semantics/basic
new file mode 100644
index 000000000..014e9ca68
--- /dev/null
+++ b/data/xkbdata/semantics/basic
@@ -0,0 +1,7 @@
+// $Xorg: basic,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+default xkb_semantics "basic" {
+
+xkb_types { include "basic" };
+xkb_compatibility { include "basic" };
+
+};
diff --git a/data/xkbdata/semantics/complete b/data/xkbdata/semantics/complete
new file mode 100644
index 000000000..df1632e29
--- /dev/null
+++ b/data/xkbdata/semantics/complete
@@ -0,0 +1,7 @@
+// $Xorg: complete,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+default xkb_semantics "complete" {
+
+xkb_types { include "complete" };
+xkb_compatibility { include "complete" };
+
+};
diff --git a/data/xkbdata/semantics/default b/data/xkbdata/semantics/default
new file mode 100644
index 000000000..42e755e3c
--- /dev/null
+++ b/data/xkbdata/semantics/default
@@ -0,0 +1,7 @@
+// $Xorg: default,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+default xkb_semantics "default" {
+
+xkb_types { include "default" };
+xkb_compatibility { include "default" };
+
+};
diff --git a/data/xkbdata/semantics/xtest b/data/xkbdata/semantics/xtest
new file mode 100644
index 000000000..d221fe5b4
--- /dev/null
+++ b/data/xkbdata/semantics/xtest
@@ -0,0 +1,7 @@
+// $Xorg: xtest,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+default xkb_semantics "xtest" {
+
+xkb_types { include "basic" };
+xkb_compatibility { include "xtest" };
+
+};
diff --git a/data/xkbdata/symbols/Makefile.am b/data/xkbdata/symbols/Makefile.am
new file mode 100644
index 000000000..e7b8eacff
--- /dev/null
+++ b/data/xkbdata/symbols/Makefile.am
@@ -0,0 +1,122 @@
+SUBDIRS = pc macintosh sun fujitsu nec digital hp sgi sony xfree68
+
+xkbdata_symbolsdir = $(datadir)/X11/xkb/symbols
+dist_xkbdata_symbols_DATA = \
+ al \
+ altwin \
+ am \
+ apple \
+ ar \
+ az \
+ be \
+ ben \
+ bg \
+ br \
+ bs \
+ by \
+ ca \
+ ca_enhanced \
+ capslock \
+ compose \
+ ctrl \
+ cz \
+ cz_qwerty \
+ czsk \
+ de \
+ de_CH \
+ dev \
+ dk \
+ dvorak \
+ ee \
+ el \
+ en_US \
+ es \
+ eurosign \
+ fi \
+ fo \
+ fr \
+ fr_CH \
+ gb \
+ ge_la \
+ ge_ru \
+ group \
+ guj \
+ gur \
+ hr \
+ hr_US \
+ hu \
+ hu_qwerty \
+ hu_US \
+ ie \
+ il \
+ il_phonetic \
+ inet \
+ ir \
+ is \
+ iso9995-3 \
+ it \
+ iu \
+ jp \
+ kan \
+ keypad \
+ la \
+ level3 \
+ lo \
+ lock \
+ lt \
+ lt_a \
+ lt_p \
+ lt_std \
+ lv \
+ mk \
+ ml \
+ mm \
+ mn \
+ mt \
+ mt_us \
+ nl \
+ no \
+ ogham \
+ ori \
+ pc104 \
+ pl \
+ pl2 \
+ pt \
+ ralt \
+ README \
+ ro \
+ ro2 \
+ ru \
+ sapmi \
+ se \
+ se_FI \
+ se_NO \
+ se_SE \
+ si \
+ sk \
+ sk_qwerty \
+ sr \
+ srvr_ctrl \
+ syr \
+ syr_phonetic \
+ tel \
+ th \
+ th_pat \
+ th_tis \
+ tj \
+ tml \
+ tr \
+ tr_f \
+ ua \
+ us \
+ us_group2 \
+ us_group3 \
+ us_intl \
+ uz \
+ vn \
+ yu
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = symbols.dir
+
+include $(top_srcdir)/xkbrules.am
diff --git a/data/xkbdata/symbols/Makefile.in b/data/xkbdata/symbols/Makefile.in
new file mode 100644
index 000000000..87d270071
--- /dev/null
+++ b/data/xkbdata/symbols/Makefile.in
@@ -0,0 +1,554 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Common rules for building *.dir files in all xkb subdirectories
+# Replaces Imake's MakeXkbDir() rule
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = pc macintosh sun fujitsu nec digital hp sgi sony xfree68
+
+xkbdata_symbolsdir = $(datadir)/X11/xkb/symbols
+dist_xkbdata_symbols_DATA = \
+ al \
+ altwin \
+ am \
+ apple \
+ ar \
+ az \
+ be \
+ ben \
+ bg \
+ br \
+ bs \
+ by \
+ ca \
+ ca_enhanced \
+ capslock \
+ compose \
+ ctrl \
+ cz \
+ cz_qwerty \
+ czsk \
+ de \
+ de_CH \
+ dev \
+ dk \
+ dvorak \
+ ee \
+ el \
+ en_US \
+ es \
+ eurosign \
+ fi \
+ fo \
+ fr \
+ fr_CH \
+ gb \
+ ge_la \
+ ge_ru \
+ group \
+ guj \
+ gur \
+ hr \
+ hr_US \
+ hu \
+ hu_qwerty \
+ hu_US \
+ ie \
+ il \
+ il_phonetic \
+ inet \
+ ir \
+ is \
+ iso9995-3 \
+ it \
+ iu \
+ jp \
+ kan \
+ keypad \
+ la \
+ level3 \
+ lo \
+ lock \
+ lt \
+ lt_a \
+ lt_p \
+ lt_std \
+ lv \
+ mk \
+ ml \
+ mm \
+ mn \
+ mt \
+ mt_us \
+ nl \
+ no \
+ ogham \
+ ori \
+ pc104 \
+ pl \
+ pl2 \
+ pt \
+ ralt \
+ README \
+ ro \
+ ro2 \
+ ru \
+ sapmi \
+ se \
+ se_FI \
+ se_NO \
+ se_SE \
+ si \
+ sk \
+ sk_qwerty \
+ sr \
+ srvr_ctrl \
+ syr \
+ syr_phonetic \
+ tel \
+ th \
+ th_pat \
+ th_tis \
+ tj \
+ tml \
+ tr \
+ tr_f \
+ ua \
+ us \
+ us_group2 \
+ us_group3 \
+ us_intl \
+ uz \
+ vn \
+ yu
+
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = symbols.dir
+
+MOSTLYCLEANFILES = $(subdir).dir
+subdir = symbols
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_DATA) $(xkbdata_DATA)
+
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
+ ps-recursive install-info-recursive uninstall-info-recursive \
+ all-recursive install-data-recursive install-exec-recursive \
+ installdirs-recursive install-recursive uninstall-recursive \
+ check-recursive installcheck-recursive
+DIST_COMMON = README $(dist_xkbdata_symbols_DATA) $(srcdir)/Makefile.in \
+ $(top_srcdir)/xkbrules.am Makefile.am
+DIST_SUBDIRS = $(SUBDIRS)
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/xkbrules.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbolsDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbolsDATA: $(dist_xkbdata_symbols_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbolsdir)
+ @list='$(dist_xkbdata_symbols_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbolsDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbolsdir)/$$f"; \
+ $(dist_xkbdata_symbolsDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbolsdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbolsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbolsdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbolsdir)/$$f; \
+ done
+xkbdataDATA_INSTALL = $(INSTALL_DATA)
+install-xkbdataDATA: $(xkbdata_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdatadir)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f"; \
+ $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+uninstall-xkbdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdatadir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $$MAKEFLAGS; amf=$$2; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if (etags --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ else \
+ include_option=--include; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/..
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" \
+ distdir=../$(distdir)/$$subdir \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbolsdir) $(DESTDIR)$(xkbdatadir)
+
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbolsDATA install-xkbdataDATA
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbolsDATA uninstall-info-am \
+ uninstall-xkbdataDATA
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
+ clean-generic clean-recursive ctags ctags-recursive distclean \
+ distclean-generic distclean-recursive distclean-tags distdir \
+ dvi dvi-am dvi-recursive info info-am info-recursive install \
+ install-am install-data install-data-am install-data-recursive \
+ install-dist_xkbdata_symbolsDATA install-exec install-exec-am \
+ install-exec-recursive install-info install-info-am \
+ install-info-recursive install-man install-recursive \
+ install-strip install-xkbdataDATA installcheck installcheck-am \
+ installdirs installdirs-am installdirs-recursive \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-recursive mostlyclean mostlyclean-generic \
+ mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
+ ps-recursive tags tags-recursive uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbolsDATA uninstall-info-am \
+ uninstall-info-recursive uninstall-recursive \
+ uninstall-xkbdataDATA
+
+
+$(subdir).dir:
+ -rm -f $@
+ $(XKBCOMP) -lfhlpR -o $@ '*'
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/README b/data/xkbdata/symbols/README
new file mode 100644
index 000000000..4718d7599
--- /dev/null
+++ b/data/xkbdata/symbols/README
@@ -0,0 +1,8 @@
+The symbols component of a keyboard mapping specifies primarily the symbols
+bound to each keyboard key. It affects the symbols symbolic name, a key symbol
+mapping for each key, the keyboard modifier mapping, and the symbolic names for
+the keyboard symbol groups.
+
+
+
+/* $XFree86$ */
diff --git a/data/xkbdata/symbols/al b/data/xkbdata/symbols/al
new file mode 100644
index 000000000..8d819a137
--- /dev/null
+++ b/data/xkbdata/symbols/al
@@ -0,0 +1,108 @@
+
+// albanian keyboard layout
+// done by Pablo Saratxaga <pablo@mandrakesoft.com>
+//
+// it seems the grave on AltGr-7 is not a dead key, I put a dead_grave
+// in AltGr-Shift-7 for convenience
+
+partial hidden alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Albanian";
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [ backslash, bar ] };
+ key <AE01> { [ 1, exclam ],
+ [ asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ dead_caron ] };
+ key <AE03> { [ 3, numbersign ],
+ [ dead_circumflex ] };
+ key <AE04> { [ 4, dollar ],
+ [ dead_breve ] };
+ key <AE05> { [ 5, percent ],
+ [ dead_abovering ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ dead_ogonek ] };
+ key <AE07> { [ 7, ampersand ],
+ [ grave, dead_grave ] };
+ key <AE08> { [ 8, asterisk ],
+ [ dead_abovedot ] };
+ key <AE09> { [ 9, parenleft ],
+ [ dead_acute ] };
+ key <AE10> { [ 0, parenright ],
+ [ dead_doubleacute ] };
+ key <AE11> { [ minus, underscore ],
+ [ dead_diaeresis ] };
+ key <AE12> { [ equal, plus ],
+ [ dead_cedilla ] };
+
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ ccedilla, Ccedilla ],
+ [ division ] };
+ key <AD12> { [ at, apostrophe ],
+ [ multiply ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ],
+ [ dstroke ] };
+ key <AC03> { [ d, D ],
+ [ Dstroke ] };
+ key <AC04> { [ f, F ],
+ [ bracketleft ] };
+ key <AC05> { [ g, G ],
+ [ bracketright ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ],
+ [ lstroke ] };
+ key <AC09> { [ l, L ],
+ [ Lstroke ] };
+ key <AC10> { [ ediaeresis, Ediaeresis ],
+ [ dollar ] };
+ key <AC11> { [ bracketleft, braceleft ],
+ [ ssharp ] };
+ key <BKSL> { [ bracketright, braceright ],
+ [ currency ] };
+
+ key <AB01> { [ y, Y ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ],
+ [ at ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB07> { [ m, M ],
+ [ section ] };
+ key <AB08> { [ comma, semicolon ],
+ [ less ] };
+ key <AB09> { [ period, colon ],
+ [ greater ] };
+ key <AB10> { [ slash, question ] };
+
+ key <RALT> { [ Mode_switch ] };
+ key <RWIN> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+
+};
+
diff --git a/data/xkbdata/symbols/altwin b/data/xkbdata/symbols/altwin
new file mode 100644
index 000000000..3ecd29f88
--- /dev/null
+++ b/data/xkbdata/symbols/altwin
@@ -0,0 +1,59 @@
+// $XdotOrg: xc/programs/xkbcomp/symbols/altwin,v 1.5 2003/12/03 14:09:08 pascal Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/altwin,v 1.4 2001/10/10 19:18:32 herrb Exp $
+
+partial modifier_keys
+xkb_symbols "meta_alt" {
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+// modifier_map Mod4 {};
+};
+
+partial modifier_keys
+xkb_symbols "meta_win" {
+ key <LALT> { [ Alt_L, Alt_L ] };
+ key <RALT> { [ Alt_R, Alt_R ] };
+ key <LWIN> { [ Meta_L ] };
+ key <RWIN> { [ Meta_R ] };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod4 { <META>, Meta_L, Meta_R };
+};
+
+partial modifier_keys
+xkb_symbols "left_meta_win" {
+ key <LALT> { [ Alt_L, Alt_L ] };
+ key <LWIN> { [ Meta_L ] };
+ modifier_map Mod1 { Alt_L };
+ modifier_map Mod4 { <META>, Meta_L };
+};
+
+partial modifier_keys
+xkb_symbols "super_win" {
+ key <LWIN> { [ Super_L ] };
+ key <RWIN> { [ Super_R ] };
+ modifier_map Mod4 { Super_L, Super_R };
+};
+
+partial modifier_keys
+xkb_symbols "hyper_win" {
+ key <LWIN> { [ Hyper_L ] };
+ key <RWIN> { [ Hyper_R ] };
+ modifier_map Mod4 { Hyper_L, Hyper_R };
+};
+
+// Use Menu for the menu key
+partial modifier_keys
+xkb_symbols "menu" {
+ key <MENU> { [ Menu ] };
+};
+
+// Layout for Tux key caps with additional right Alt key
+partial modifier_keys
+xkb_symbols "alt_super_win" {
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RWIN> { [ Alt_R, Meta_R ] };
+ key <LWIN> { [ Super_L ] };
+ key <MENU> { [ Super_R ] };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod4 { Super_L, Super_R };
+};
diff --git a/data/xkbdata/symbols/am b/data/xkbdata/symbols/am
new file mode 100644
index 000000000..bd870a83f
--- /dev/null
+++ b/data/xkbdata/symbols/am
@@ -0,0 +1,183 @@
+// $XConsortium: am /main/3 1997/12/18 12:40:12 rch $
+//
+// $XFree86: xc/programs/xkbcomp/symbols/am,v 1.4 2002/06/04 22:50:58 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Armenian keyboard
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Armenian";
+
+ // Alphanumeric section
+ key <TLDE> { [ ], [ 0x100055d, 0x100055c ] };
+ key <LSGT> { [ ], [ question, 0x100058a ] };
+ key <BKSL> { [ ], [ guillemotright, guillemotleft ] };
+
+ key <AE01> { [ ], [ 0x1000586, 0x1000556 ] };
+ key <AE02> { [ ], [ 0x1000571, 0x1000541 ] };
+ key <AE03> { [ ], [ 0x1002013, 0x1002014 ] };
+ key <AE04> { [ ], [ comma, dollar ] };
+ key <AE05> { [ ], [ 0x1000589, 0x1002026 ] };
+ key <AE06> { [ ], [ 0x100055e, percent ] };
+ key <AE07> { [ ], [ period, 0x1000587 ] };
+ key <AE08> { [ ], [ 0x100055b, 0x10002bc ] };
+ key <AE09> { [ ], [ parenright, parenleft ] };
+ key <AE10> { [ ], [ 0x1000585, 0x1000555 ] };
+ key <AE11> { [ ], [ 0x1000567, 0x1000537 ] };
+ key <AE12> { [ ], [ 0x1000572, 0x1000542 ] };
+
+ key <AD01> { [ ], [ 0x1000573, 0x1000543 ] };
+ key <AD02> { [ ], [ 0x1000583, 0x1000553 ] };
+ key <AD03> { [ ], [ 0x1000562, 0x1000532 ] };
+ key <AD04> { [ ], [ 0x100057d, 0x100054d ] };
+ key <AD05> { [ ], [ 0x1000574, 0x1000544 ] };
+ key <AD06> { [ ], [ 0x1000578, 0x1000548 ] };
+ key <AD07> { [ ], [ 0x1000582, 0x1000552 ] };
+ key <AD08> { [ ], [ 0x100056f, 0x100053f ] };
+ key <AD09> { [ ], [ 0x1000568, 0x1000538 ] };
+ key <AD10> { [ ], [ 0x1000569, 0x1000539 ] };
+ key <AD11> { [ ], [ 0x100056e, 0x100053e ] };
+ key <AD12> { [ ], [ 0x1000581, 0x1000551 ] };
+
+ key <AC01> { [ ], [ 0x100057b, 0x100054b ] };
+ key <AC02> { [ ], [ 0x100057e, 0x100054e ] };
+ key <AC03> { [ ], [ 0x1000563, 0x1000533 ] };
+ key <AC04> { [ ], [ 0x1000565, 0x1000535 ] };
+ key <AC05> { [ ], [ 0x1000561, 0x1000531 ] };
+ key <AC06> { [ ], [ 0x1000576, 0x1000546 ] };
+ key <AC07> { [ ], [ 0x100056b, 0x100053b ] };
+ key <AC08> { [ ], [ 0x100057f, 0x100054f ] };
+ key <AC09> { [ ], [ 0x1000570, 0x1000540 ] };
+ key <AC10> { [ ], [ 0x100057a, 0x100054a ] };
+ key <AC11> { [ ], [ 0x1000580, 0x1000550 ] };
+
+ key <AB01> { [ ], [ 0x100056a, 0x100053a ] };
+ key <AB02> { [ ], [ 0x1000564, 0x1000534 ] };
+ key <AB03> { [ ], [ 0x1000579, 0x1000549 ] };
+ key <AB04> { [ ], [ 0x1000575, 0x1000545 ] };
+ key <AB05> { [ ], [ 0x1000566, 0x1000536 ] };
+ key <AB06> { [ ], [ 0x100056c, 0x100053c ] };
+ key <AB07> { [ ], [ 0x1000584, 0x1000554 ] };
+ key <AB08> { [ ], [ 0x100056d, 0x100053d ] };
+ key <AB09> { [ ], [ 0x1000577, 0x1000547 ] };
+ key <AB10> { [ ], [ 0x100057c, 0x100054c ] };
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "old" {
+ include "am(basic)"
+
+ key <BKSL> { [ ], [ 0x1002026, 0x1000587 ] };
+
+ key <AE01> { [ ], [ 0x1000573, 0x1000543 ] };
+ key <AE02> { [ ], [ 0x100057b, 0x100054b ] };
+ key <AE03> { [ ], [ 0x100056a, 0x100053a ] };
+ key <AE04> { [ ], [ 0x1000571, 0x1000541 ] };
+ key <AE05> { [ ], [ 0x1000575, 0x1000545 ] };
+ key <AE06> { [ ], [ 0x100057c, 0x100054c ] };
+ key <AE07> { [ ], [ 0x1000580, 0x1000550 ] };
+ key <AE08> { [ ], [ 0x1000581, 0x1000551 ] };
+ key <AE09> { [ ], [ 0x1000567, 0x1000537 ] };
+ key <AE10> { [ ], [ 0x1000572, 0x1000542 ] };
+ key <AE11> { [ ], [ 0x1002013, 0x1002014 ] };
+ key <AE12> { [ ], [ parenleft, parenright] };
+
+ key <AD01> { [ ], [ 0x1000583, 0x1000553 ] };
+ key <AD02> { [ ], [ 0x1000562, 0x1000532 ] };
+ key <AD03> { [ ], [ 0x100057d, 0x100054d ] };
+ key <AD04> { [ ], [ 0x1000574, 0x1000544 ] };
+ key <AD05> { [ ], [ 0x1000578, 0x1000548 ] };
+ key <AD06> { [ ], [ 0x1000582, 0x1000552 ] };
+ key <AD07> { [ ], [ 0x100056f, 0x100053f ] };
+ key <AD08> { [ ], [ 0x1000568, 0x1000538 ] };
+ key <AD09> { [ ], [ 0x1000569, 0x1000539 ] };
+ key <AD10> { [ ], [ 0x100056e, 0x100053e ] };
+ key <AD11> { [ ], [ 0x1000585, 0x1000555 ] };
+ key <AD12> { [ ], [ 0x1000586, 0x1000556 ] };
+
+ key <AC01> { [ ], [ 0x100057e, 0x100054e ] };
+ key <AC02> { [ ], [ 0x1000563, 0x1000533 ] };
+ key <AC03> { [ ], [ 0x1000565, 0x1000535 ] };
+ key <AC04> { [ ], [ 0x1000561, 0x1000531 ] };
+ key <AC05> { [ ], [ 0x1000576, 0x1000546 ] };
+ key <AC06> { [ ], [ 0x100056b, 0x100053b ] };
+ key <AC07> { [ ], [ 0x100057f, 0x100054f ] };
+ key <AC08> { [ ], [ 0x1000570, 0x1000540 ] };
+ key <AC09> { [ ], [ 0x100057a, 0x100054a ] };
+ key <AC10> { [ ], [ 0x1000589, 0x100058a ] };
+ key <AC11> { [ ], [ 0x100055b, 0x10002bc ] };
+
+ key <AB01> { [ ], [ 0x1000564, 0x1000534 ] };
+ key <AB02> { [ ], [ 0x1000579, 0x1000549 ] };
+ key <AB03> { [ ], [ 0x1000566, 0x1000536 ] };
+ key <AB04> { [ ], [ 0x100056c, 0x100053c ] };
+ key <AB05> { [ ], [ 0x1000584, 0x1000554 ] };
+ key <AB06> { [ ], [ 0x100056d, 0x100053d ] };
+ key <AB07> { [ ], [ 0x1000577, 0x1000547 ] };
+ key <AB08> { [ ], [ comma, guillemotleft ] };
+ key <AB09> { [ ], [ period, guillemotright ] };
+ key <AB10> { [ ], [ 0x100055e, 0x100055e ] };
+
+};
+
+xkb_symbols "phonetic" {
+ include "am(old)"
+
+ key <BKSL> { [ ], [ 0x1000577, 0x1000547 ] };
+
+ key <AE01> { [ ], [ 0x1000567, 0x1000537 ] };
+ key <AE02> { [ ], [ 0x1000569, 0x1000539 ] };
+ key <AE03> { [ ], [ 0x1000583, 0x1000553 ] };
+ key <AE05> { [ ], [ 0x100057b, 0x100054b ] };
+ key <AE06> { [ ], [ parenright, parenleft ] };
+ key <AE07> { [ ], [ 0x1000587, percent ] };
+ key <AE08> { [ ], [ 0x100057c, 0x100054c ] };
+ key <AE09> { [ ], [ 0x1000579, 0x1000549 ] };
+ key <AE10> { [ ], [ 0x1000573, 0x1000543 ] };
+ key <AE12> { [ ], [ 0x100056a, 0x100053a ] };
+
+ key <AD01> { [ ], [ 0x1000584, 0x1000554 ] };
+ key <AD02> { [ ], [ 0x1000578, 0x1000548 ] };
+ key <AD03> { [ ], [ 0x1000565, 0x1000535 ] };
+ key <AD04> { [ ], [ 0x1000580, 0x1000550 ] };
+ key <AD05> { [ ], [ 0x100057f, 0x100054f ] };
+ key <AD06> { [ ], [ 0x1000568, 0x1000538 ] };
+ key <AD07> { [ ], [ 0x1000582, 0x1000552 ] };
+ key <AD08> { [ ], [ 0x100056b, 0x100053b ] };
+ key <AD09> { [ ], [ 0x1000585, 0x1000555 ] };
+ key <AD10> { [ ], [ 0x100057a, 0x100054a ] };
+ key <AD11> { [ ], [ 0x100056d, 0x100053d ] };
+ key <AD12> { [ ], [ 0x100056e, 0x100053e ] };
+
+ key <AC01> { [ ], [ 0x1000561, 0x1000531 ] };
+ key <AC02> { [ ], [ 0x100057d, 0x100054d ] };
+ key <AC03> { [ ], [ 0x1000564, 0x1000534 ] };
+ key <AC04> { [ ], [ 0x1000586, 0x1000556 ] };
+ key <AC05> { [ ], [ 0x1000563, 0x1000533 ] };
+ key <AC06> { [ ], [ 0x1000570, 0x1000540 ] };
+ key <AC07> { [ ], [ 0x1000575, 0x1000545 ] };
+ key <AC08> { [ ], [ 0x100056f, 0x100053f ] };
+ key <AC09> { [ ], [ 0x100056c, 0x100053c ] };
+ key <AC10> { [ ], [ 0x1000589, 0x1002026 ] };
+
+ key <AB01> { [ ], [ 0x1000566, 0x1000536 ] };
+ key <AB02> { [ ], [ 0x1000572, 0x1000542 ] };
+ key <AB03> { [ ], [ 0x1000581, 0x1000551 ] };
+ key <AB04> { [ ], [ 0x100057e, 0x100054e ] };
+ key <AB05> { [ ], [ 0x1000562, 0x1000532 ] };
+ key <AB06> { [ ], [ 0x1000576, 0x1000546 ] };
+ key <AB07> { [ ], [ 0x1000574, 0x1000544 ] };
+ key <AB10> { [ ], [ slash , 0x100055e ] };
+
+};
+
+
diff --git a/data/xkbdata/symbols/apple b/data/xkbdata/symbols/apple
new file mode 100644
index 000000000..439d1207f
--- /dev/null
+++ b/data/xkbdata/symbols/apple
@@ -0,0 +1,60 @@
+//
+// Keyboard modification for Apple keyboards
+//
+// $XFree86: $
+
+partial default modifier_keys
+xkb_symbols "extended" {
+
+ key <KPEQ> { [ KP_Equal ] };
+
+// The key in the PC's Insert position is sometimes engraved Help (at least
+// in Switzerland and Great Britain), with Insert sometimes above. But in the
+// US and Canada, it remains Insert. So this should probably be an XkbOption,
+// but I have to do more research.
+// Perhaps Help should be the primary symbol with Insert in the 1st shift-level
+// key <INS> { [ Help, Insert ] };
+// The keys next to F12, labeled F13, F14, & F15 generate codes that XFree86
+// claims not to generate. I think they should be equivalent to the PC keys
+// Print Screen / SysRq, Scroll Lock, and Pause. Linux kernel bug?
+// key <PRSC> { [ F13 ] }; // should be keycode 93 or
+// key <FK13> { [ F13 ] }; // should be keycode 118
+// key <SCLK> { [ F14 ] }; // should be keycode 123 or
+// key <FK14> { [ F14 ] }; // should be keycode 119
+// key <PAUS> { [ F15 ] }; // should be keycode 127 or
+// key <FK15> { [ F15 ] }; // should be keycode 120
+};
+
+partial modifier_keys
+xkb_symbols "laptop" {
+
+ include "apple(extended)"
+
+ // The real numlock key on the iBook (shared with F5) works internally to
+ // the keyboard. It illuminates the Num_Lock led and locks the fn-key to
+ // type only the keypad keys on the letter keys (U=4, I=5, O=6, P=*, etc.).
+ // The key in the Num_lock position is engraved with Clear.
+ override key <NMLK> { [ Clear ] };
+ // The key engraved Delete sends BKSP. To get Delete, use Shift-Delete
+ override key <BKSP> { [ BackSpace, Delete ] };
+ // These keyboards only generate a <RALT> when pressing fn+Alt. This makes
+ // it impossible to get to the third shift level on keys that are on
+ // the fn-keypad, so use the Enter key (right of <SPC>) for Mode_switch,
+ // and use fn+Enter (Apple's code for Menu) for KP_Enter.
+ replace key <KPEN> { [ ISO_Level3_Shift ] };
+ modifier_map Mod2 { ISO_Level3_Shift };
+ // Linux kernel bug with Menu on macs means this doesn't work yet
+// replace key <MENU> { [ KP_Enter ] }; // should be keycode 117
+};
+
+partial modifier_keys
+xkb_symbols "laptop_bad_switch" {
+ include "apple(laptop)"
+
+ // Before XFree86 4.3, most keymaps were configured to generate the
+ // third-level shift from the second group as opposed to the third-level
+ // of the first group. These keymaps require this mapping to work as
+ // expected.
+ replace key <KPEN> { [ Mode_switch ] };
+ modifier_map Mod2 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/ar b/data/xkbdata/symbols/ar
new file mode 100644
index 000000000..932e6ed40
--- /dev/null
+++ b/data/xkbdata/symbols/ar
@@ -0,0 +1,146 @@
+// $XConsortium: th /main/3 1996/08/31 12:20:18 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/ar,v 1.1 2001/11/21 22:28:52 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Arabic";
+
+// NOTES:
+//
+// there is also combined shadda diacritis in AltGr position of simple
+// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan
+// should a third state be added to Group2 ?
+//
+
+ key <TLDE> { [ ], [ Arabic_thal, Arabic_shadda ] };
+ key <AE01> { [ ], [ 1, exclam ] };
+ key <AE02> { [ ], [ 2, at ] };
+ key <AE03> { [ ], [ 3, numbersign ] };
+ key <AE04> { [ ], [ 4, dollar ] };
+ key <AE05> { [ ], [ 5, percent ] };
+ key <AE06> { [ ], [ 6, asciicircum ] };
+ key <AE07> { [ ], [ 7, ampersand ] };
+ key <AE08> { [ ], [ 8, asterisk ] };
+ key <AE09> { [ ], [ 9, parenleft ] };
+ key <AE10> { [ ], [ 0, parenright ] };
+ key <AE11> { [ ], [ minus, underscore ] };
+ key <AE12> { [ ], [ equal, plus ] };
+
+ key <AD01> { [ ], [ Arabic_dad, Arabic_fatha ] };
+ key <AD02> { [ ], [ Arabic_sad, Arabic_fathatan ] };
+ key <AD03> { [ ], [ Arabic_theh, Arabic_damma ] };
+ key <AD04> { [ ], [ Arabic_qaf, Arabic_dammatan ] };
+ key <AD05> { [ ], [ Arabic_feh, 0x100fef9 ] };
+ key <AD06> { [ ], [ Arabic_ghain, Arabic_hamzaunderalef ] };
+ key <AD07> { [ ], [ Arabic_ain, grave ] };
+ key <AD08> { [ ], [ Arabic_ha, division ] };
+ key <AD09> { [ ], [ Arabic_khah, multiply ] };
+ key <AD10> { [ ], [ Arabic_hah, Arabic_semicolon ] };
+ key <AD11> { [ ], [ Arabic_jeem, braceleft ] };
+ key <AD12> { [ ], [ Arabic_dal, braceright ] };
+
+ key <AC01> { [ ], [ Arabic_sheen, backslash ] };
+ key <AC02> { [ ], [ Arabic_seen, S ] };
+ key <AC03> { [ ], [ Arabic_yeh, bracketleft ] };
+ key <AC04> { [ ], [ Arabic_beh, bracketright ] };
+ key <AC05> { [ ], [ Arabic_lam, 0x100fef7 ] };
+ key <AC06> { [ ], [ Arabic_alef, Arabic_hamzaonalef ] };
+ key <AC07> { [ ], [ Arabic_teh, Arabic_tatweel ] };
+ key <AC08> { [ ], [ Arabic_noon, Arabic_comma ] };
+ key <AC09> { [ ], [ Arabic_meem, slash ] };
+ key <AC10> { [ ], [ Arabic_kaf, colon ] };
+ key <AC11> { [ ], [ Arabic_tah, quotedbl ] };
+ key <BKSL> { [ ], [ less, greater ] };
+
+ key <LSGT> { [ ], [ bar, brokenbar ] };
+ key <AB01> { [ ], [Arabic_hamzaonyeh, asciitilde ] };
+ key <AB02> { [ ], [ Arabic_hamza, Arabic_sukun ] };
+ key <AB03> { [ ], [Arabic_hamzaonwaw, Arabic_kasra ] };
+ key <AB04> { [ ], [ Arabic_ra, Arabic_kasratan ] };
+ key <AB05> { [ ], [ 0x100fefb, 0x100fef5 ] };
+ key <AB06> { [ ], [Arabic_alefmaksura, Arabic_maddaonalef ] };
+ key <AB07> { [ ], [Arabic_tehmarbuta, apostrophe ] };
+ key <AB08> { [ ], [ Arabic_waw, comma ] };
+ key <AB09> { [ ], [ Arabic_zain, period ] };
+ key <AB10> { [ ], [ Arabic_zah, Arabic_question_mark ] };
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+ include "ar(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty" {
+ include "ar(basic)"
+
+ // the north african arabic keyboard differs from the middle east one
+ // by the numeric row; it follows French keyboard style
+ //
+ // PROBLEM: some chars are inaccessible: ! @ # $ % ^ *
+ // should they go elsewhere? replace " ' that are now in double ?
+ // also, dead_circumflex and dead_diaeresis from French keyboard
+ // as well as ugrave are missing, which questions the utility of the
+ // other accentuated latin letters. Maybe this is useful only with
+ // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ?
+
+ key <AE01> { [ ], [ ampersand, 1 ] };
+ key <AE02> { [ ], [ eacute, 2 ] };
+ key <AE03> { [ ], [ quotedbl, 3 ] };
+ key <AE04> { [ ], [ apostrophe, 4 ] };
+ key <AE05> { [ ], [ parenleft, 5 ] };
+ key <AE06> { [ ], [ minus, 6 ] };
+ key <AE07> { [ ], [ egrave, 7 ] };
+ key <AE08> { [ ], [ underscore, 8 ] };
+ key <AE09> { [ ], [ ccedilla, 9 ] };
+ key <AE10> { [ ], [ agrave, 0 ] };
+ key <AE11> { [ ], [ parenright, degree ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "digits" {
+ include "ar(basic)"
+
+ // use arabic script digits
+
+ key <AE01> { [ ], [ 0x1000661, exclam ] };
+ key <AE02> { [ ], [ 0x1000662, at ] };
+ key <AE03> { [ ], [ 0x1000663, numbersign ] };
+ key <AE04> { [ ], [ 0x1000664, dollar ] };
+ key <AE05> { [ ], [ 0x1000665, percent ] };
+ key <AE06> { [ ], [ 0x1000666, asciicircum ] };
+ key <AE07> { [ ], [ 0x1000667, ampersand ] };
+ key <AE08> { [ ], [ 0x1000668, asterisk ] };
+ key <AE09> { [ ], [ 0x1000669, parenleft ] };
+ key <AE10> { [ ], [ 0x1000660, parenright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty_digits" {
+ include "ar(digits)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty_digits" {
+ include "ar(azerty)"
+
+ key <AE01> { [ ], [ ampersand, 0x1000661 ] };
+ key <AE02> { [ ], [ eacute, 0x1000662 ] };
+ key <AE03> { [ ], [ quotedbl, 0x1000663 ] };
+ key <AE04> { [ ], [ apostrophe, 0x1000664 ] };
+ key <AE05> { [ ], [ parenleft, 0x1000665 ] };
+ key <AE06> { [ ], [ minus, 0x1000666 ] };
+ key <AE07> { [ ], [ egrave, 0x1000667 ] };
+ key <AE08> { [ ], [ underscore, 0x1000668 ] };
+ key <AE09> { [ ], [ ccedilla, 0x1000669 ] };
+ key <AE10> { [ ], [ agrave, 0x1000660 ] };
+};
+
diff --git a/data/xkbdata/symbols/az b/data/xkbdata/symbols/az
new file mode 100644
index 000000000..7bf7236ef
--- /dev/null
+++ b/data/xkbdata/symbols/az
@@ -0,0 +1,213 @@
+// $TOG: us /main/12 1997/06/14 06:37:07 kaleb $
+
+//
+// symbols definition for a very simple Azerbaidjani keyboard layout.
+
+// $XFree86: xc/programs/xkbcomp/symbols/az,v 1.1 2000/10/27 18:31:08 dawes Exp $
+// both latin and cyrillic layouts are available.
+// the cyrillic layout uses the corresponding latin letters in group2;
+// so it is useful to type in latin for people accostumed to cyrillic layout
+//
+// 2001 - Pablo Saratxaga <pablo@mandrakesoft.com>
+
+partial hidden alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Azeri";
+
+ key <TLDE> {[ grave, asciitilde ],
+ [ dead_grave, dead_tilde ]};
+ key <AE01> {[ 1, exclam ]};
+ key <AE02> {[ 2, quotedbl ],
+ [ at ]};
+ key <AE03> {[ 3, apostrophe ],
+ [ numbersign ]};
+ key <AE04> {[ 4, semicolon ],
+ [ dollar ]};
+ key <AE05> {[ 5, percent ],
+ [ sterling ]};
+ key <AE06> {[ 6, colon ],
+ [ EuroSign, periodcentered ]};
+ key <AE07> {[ 7, question ],
+ [ ampersand ]};
+ key <AE08> {[ 8, asterisk ],
+ [ asciicircum, dead_circumflex ]};
+ key <AE09> {[ 9, parenleft ]};
+ key <AE10> {[ 0, parenright ],
+ [ section ]};
+ key <AE11> {[ minus, underscore ],
+ [ hyphen, emdash ]};
+ key <AE12> {[ equal, plus ]};
+
+ key <AD01> {[ q, Q ]};
+ key <AD02> {[ udiaeresis, Udiaeresis ],
+ [ w, W ]};
+ key <AD03> {[ e, E ]};
+ key <AD04> {[ r, R ],
+ [ registered ]};
+ key <AD05> {[ t, T ],
+ [ brokenbar ]};
+ key <AD06> {[ y, Y ]};
+ key <AD07> {[ u, U ]};
+ key <AD08> {[ i, Iabovedot ]};
+ key <AD09> {[ o, O ]};
+ key <AD10> {[ p, P ]};
+ key <AD11> {[ odiaeresis, Odiaeresis ],
+ [ bracketleft, braceleft ]};
+ key <AD12> {[ gbreve, Gbreve ],
+ [ bracketright, braceright ]};
+
+ key <AC01> {[ a, A ]};
+ key <AC02> {[ s, S ]};
+ key <AC03> {[ d, D ]};
+ key <AC04> {[ f, F ]};
+ key <AC05> {[ g, G ]};
+ key <AC06> {[ h, H ]};
+ key <AC07> {[ j, J ]};
+ key <AC08> {[ k, K ]};
+ key <AC09> {[ l, L ]};
+ key <AC10> {[ idotless, I ]};
+ key <AC11> {[ 0x1000259, 0x100018f ]};
+ key <BKSL> {[ backslash, slash ]};
+
+ key <LSGT> {[ less, greater ],
+ [ bar ]};
+ key <AB01> {[ z, z ]};
+ key <AB02> {[ x, X ]};
+ key <AB03> {[ c, C ],
+ [ copyright, division ]};
+ key <AB04> {[ v, V ]};
+ key <AB05> {[ b, B ]};
+ key <AB06> {[ n, N ]};
+ key <AB07> {[ m, M ],
+ [ periodcentered, currency ]};
+ key <AB08> {[ ccedilla, Ccedilla ]};
+ key <AB09> {[ scedilla, Scedilla ]};
+ key <AB10> {[ period, comma ]};
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin" {
+ include "az(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cyrillic" {
+
+ name[Group1]= "Cyrillic";
+ name[Group2]= "Latin";
+
+ key <TLDE> {[ grave, asciitilde ],
+ [ w, W ]};
+ key <AE01> {[ 1, exclam ]};
+ key <AE02> {[ 2, quotedbl ],
+ [ at ]};
+ key <AE03> {[ 3, numbersign ],
+ [ apostrophe ]};
+ key <AE04> {[ 4, semicolon ],
+ [ dollar ]};
+ key <AE05> {[ 5, percent ]};
+ key <AE06> {[ 6, colon ],
+ [ asciicircum ]};
+ key <AE07> {[ 7, question ],
+ [ ampersand ]};
+ key <AE08> {[ 8, asterisk ],
+ [ braceleft ]};
+ key <AE09> {[ 9, parenleft ],
+ [ bracketleft ]};
+ key <AE10> {[ 0, parenright ],
+ [ bracketright ]};
+ key <AE11> {[ minus, underscore ],
+ [ braceright ]};
+ key <AE12> {[ equal, plus ]};
+
+ key <AD01> {[ Cyrillic_je, Cyrillic_JE ],
+ [ y, Y ]};
+ key <AD02> {[ 0x10004af, 0x10004ae ],
+ [ udiaeresis, Udiaeresis ]};
+ key <AD03> {[ Cyrillic_u, Cyrillic_U ],
+ [ u, U ]};
+ key <AD04> {[ Cyrillic_ka, Cyrillic_KA ],
+ [ k, K ]};
+ key <AD05> {[ Cyrillic_ie, Cyrillic_IE ],
+ [ e, E ]};
+ key <AD06> {[ Cyrillic_en, Cyrillic_EN ],
+ [ n, N ]};
+ key <AD07> {[ Cyrillic_ghe, Cyrillic_GHE ],
+ [ q, Q ]};
+ key <AD08> {[ Cyrillic_sha, Cyrillic_SHA ],
+ [ scedilla, Scedilla ]};
+ key <AD09> {[ 0x10004bb, 0x10004ba ],
+ [ h, H ]};
+ key <AD10> {[ Cyrillic_ze, Cyrillic_ZE ],
+ [ z, Z ]};
+ key <AD11> {[ Cyrillic_ha, Cyrillic_HA ],
+ [ x, X ]};
+ key <AD12> {[ 0x10004b9, 0x10004b8 ],
+ [ c, C ]};
+
+ key <AC01> {[ Cyrillic_ef, Cyrillic_EF ],
+ [ f, F ]};
+ key <AC02> {[ Cyrillic_yeru, Cyrillic_YERU ],
+ [ idotless, I ]};
+ key <AC03> {[ Cyrillic_ve, Cyrillic_VE ],
+ [ v, V ]};
+ key <AC04> {[ Cyrillic_a, Cyrillic_A ],
+ [ a, A ]};
+ key <AC05> {[ Cyrillic_pe, Cyrillic_PE ],
+ [ p, P ]};
+ key <AC06> {[ Cyrillic_er, Cyrillic_ER ],
+ [ r, R ]};
+ key <AC07> {[ Cyrillic_o, Cyrillic_O ],
+ [ o, O ]};
+ key <AC08> {[ Cyrillic_el, Cyrillic_EL ],
+ [ l, L ]};
+ key <AC09> {[ Cyrillic_de, Cyrillic_DE ],
+ [ d, D ]};
+ key <AC10> {[ Cyrillic_zhe, Cyrillic_ZHE ],
+ [ j, J ]};
+ key <AC11> {[ 0x100049d, 0x100049c ],
+ [ g, G ]};
+ key <BKSL> {[ backslash, slash ]};
+
+ key <LSGT> {[ less, greater ],
+ [ bar ]};
+ key <AB01> {[ 0x10004d9, 0x10004d8 ],
+ [ 0x1000259, 0x100018f ]};
+ key <AB02> {[ Cyrillic_che, Cyrillic_CHE ],
+ [ ccedilla, Ccedilla ]};
+ key <AB03> {[ Cyrillic_es, Cyrillic_ES ],
+ [ s, S ]};
+ key <AB04> {[ Cyrillic_em, Cyrillic_EM ],
+ [ m, M ]};
+ key <AB05> {[ Cyrillic_i, Cyrillic_I ],
+ [ i, Iabovedot ]};
+ key <AB06> {[ Cyrillic_te, Cyrillic_TE ],
+ [ t, T ]};
+ key <AB07> {[ 0x1000493, 0x1000492 ],
+ [ gbreve, Gbreve ]};
+ key <AB08> {[ Cyrillic_be, Cyrillic_BE ],
+ [ b, B ]};
+ key <AB09> {[ 0x10004e9, 0x10004e8 ],
+ [ odiaeresis, Odiaeresis ]};
+ key <AB10> {[ period, comma ],
+ [ slash, question ]};
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/be b/data/xkbdata/symbols/be
new file mode 100644
index 000000000..579249974
--- /dev/null
+++ b/data/xkbdata/symbols/be
@@ -0,0 +1,121 @@
+// $Xorg: be,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/be,v 3.4 2000/10/27 18:31:08 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Belgian keyboard
+
+ name[Group1]= "Belgian";
+
+ key <TLDE> { [ twosuperior, threesuperior ] };
+ key <AE01> { [ ampersand, 1 ],
+ [ bar ] };
+ key <AE02> { [ eacute, 2 ],
+ [ at ] };
+ key <AE03> { [ quotedbl, 3 ],
+ [ numbersign ] };
+ key <AE04> { [ apostrophe, 4 ] };
+ key <AE05> { [ parenleft, 5 ] };
+ key <AE06> { [ section, 6 ],
+ [ asciicircum ] };
+ key <AE07> { [ egrave, 7 ] };
+ key <AE08> { [ exclam, 8 ] };
+ key <AE09> { [ ccedilla, 9 ],
+ [ braceleft, plusminus ] };
+ key <AE10> { [ agrave, 0 ],
+ [ braceright, degree ] };
+ key <AE11> { [ parenright, degree ] };
+ key <AE12> { [ minus, underscore ] };
+ key <AD01> { [ a, A ] };
+ key <AD02> { [ z, Z ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+ key <AD11> { [ dead_circumflex, dead_diaeresis ],
+ [ bracketleft ] };
+ key <AD12> { [ dollar, asterisk ],
+ [ bracketright ] };
+ key <AC01> { [ q, Q ] };
+ key <AC10> { [ m, M ] };
+ key <AC11> { [ ugrave, percent ],
+ [ dead_acute ] };
+ key <BKSL> { [ mu, sterling ],
+ [ dead_grave ] };
+ key <LSGT> { [ less, greater ],
+ [ backslash ] };
+ key <AB01> { [ w, W ] };
+ key <AB07> { [ comma, question ],
+ [ dead_cedilla ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ equal, plus ],
+ [ dead_tilde ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "iso-alternate" {
+ include "be(basic)"
+ replace key <AD01> {[ a, A ],
+ [ ae, AE ] };
+ replace key <AD02> {[ z, Z ],
+ [ guillemotleft, less ] };
+ replace key <AC01> {[ q, Q ],
+ [ at, Greek_OMEGA ] };
+ replace key <AC10> {[ m, M ],
+ [ mu, masculine ] };
+ replace key <AB01> {[ w, W ],
+ [ lstroke, Lstroke ] };
+ replace key <AB07> {[ comma, question ],
+ [ dead_cedilla, dead_doubleacute ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // Use the Sun dead keys
+ include "be(basic)"
+ key <AD11> { [ SunFA_Circum, SunFA_Diaeresis ],
+ [ bracketleft ] };
+ key <AC11> { [ ugrave, percent ],
+ [ SunFA_Acute ] };
+ key <BKSL> { [ mu, sterling ],
+ [ SunFA_Grave ] };
+ key <AB07> { [ comma, question ],
+ [ SunFA_Cedilla ] };
+ key <AB10> { [ equal, plus ],
+ [ SunFA_Tilde ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ // Use the Sun dead keys
+ include "be(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Eliminates dead keys from the basic Belgian layout
+ include "be(basic)"
+ key <AD11> { [ asciicircum, diaeresis ],
+ [ bracketleft ] };
+ key <AC11> { [ ugrave, percent ],
+ [ quoteright ] };
+ key <BKSL> { [ mu, sterling ],
+ [ quoteleft ] };
+ key <AB10> { [ equal, plus ],
+ [ asciitilde ] };
+};
diff --git a/data/xkbdata/symbols/ben b/data/xkbdata/symbols/ben
new file mode 100644
index 000000000..f768e2a6a
--- /dev/null
+++ b/data/xkbdata/symbols/ben
@@ -0,0 +1,141 @@
+// $XConsortium: th /main/3 1996/08/31 12:20:18 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/ben,v 1.1 2001/11/21 22:28:52 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Bengali";
+ key <TLDE> { [], [ ] };
+
+ // Mainly numbers.
+ key <AE01> { [], [ 0x10009E7 ] };
+ key <AE02> { [], [ 0x10009E8 ] };
+ key <AE03> { [], [ 0x10009E9 ] };
+ key <AE04> { [], [ 0x10009EA ] };
+ key <AE05> { [], [ 0x10009EB ] };
+ key <AE06> { [], [ 0x10009EC ] };
+ key <AE07> { [], [ 0x10009ED ] };
+ key <AE08> { [], [ 0x10009EE ] };
+ key <AE09> { [], [ 0x10009EF, parenleft ] };
+ key <AE10> { [], [ 0x10009E6, parenright ] };
+ key <AE11> { [], [ minus, 0x1000983 ] };
+ key <AE12> { [], [ 0x100098B, 0x10009C3 ] };
+
+// Mainly long vowels
+
+ key <AD01> { [], [ 0x10009CC, 0x1000994 ] };
+ key <AD02> { [], [ 0x10009C8, 0x1000990 ] };
+ key <AD03> { [], [ 0x10009BE, 0x1000986 ] };
+ key <AD04> { [], [ 0x10009C0, 0x1000988 ] };
+ key <AD05> { [], [ 0x10009C2, 0x100098A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [], [ 0x10009AC, 0x10009AD ] };
+ key <AD07> { [], [ 0x10009B9, 0x1000999 ] };
+ key <AD08> { [], [ 0x1000997, 0x1000998 ] };
+ key <AD09> { [], [ 0x10009A6, 0x10009A7 ] };
+ key <AD10> { [], [ 0x100099C, 0x100099D ] };
+ key <AD11> { [], [ 0x10009A1, 0x10009A2 ] };
+ key <AD12> { [], [ 0x10009BC, 0x100099E ] };
+
+// Mainly short vowels
+ key <AC01> { [], [ 0x10009CB, 0x1000993 ] };
+ key <AC02> { [], [ 0x10009C7, 0x100098F ] };
+ key <AC03> { [], [ 0x10009CD, 0x1000985 ] };
+ key <AC04> { [], [ 0x10009BF, 0x1000987 ] };
+ key <AC05> { [], [ 0x10009C1, 0x1000989 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [], [ 0x10009AA, 0x10009AB ] };
+ key <AC07> { [], [ 0x10009B0, 0x10009DD ] };
+ key <AC08> { [], [ 0x1000995, 0x1000996 ] };
+ key <AC09> { [], [ 0x10009A4, 0x10009A5 ] };
+ key <AC10> { [], [ 0x100099A, 0x100099B ] };
+ key <AC11> { [], [ 0x100099F, 0x10009A0 ] };
+ key <BKSL> { [], [ backslash, bar ] };
+
+ key <AB01> { [], [ z, Z ] };
+ key <AB02> { [], [ 0x1000982, 0x1000981 ] };
+ key <AB03> { [], [ 0x10009AE, 0x10009A3 ] };
+ key <AB04> { [], [ 0x10009A8, 0x10009A8 ] };
+ key <AB05> { [], [ 0x10009AC, 0x10009AC ] };
+ key <AB06> { [], [ 0x10009B2, 0x10009B2 ] };
+ key <AB07> { [], [ 0x10009B8, 0x10009B6 ] };
+ key <AB08> { [], [ comma, 0x10009B7 ] };
+ key <AB09> { [], [ period, 0x1000964 ] };
+ key <AB10> { [], [ 0x10009DF, 0x10009AF ] };
+};
+
+xkb_symbols "probhat" {
+ name[Group2]= "Bengali";
+ key <ESC> { [], [ Escape ] };
+
+// numbers
+ key <TLDE> { [], [ quoteleft, asciitilde ] };
+ key <AE01> { [], [ 0x10009E7, exclam ] };
+ key <AE02> { [], [ 0x10009E8, at ] };
+ key <AE03> { [], [ 0x10009E9, numbersign ] };
+ key <AE04> { [], [ 0x10009EA, 0x10009F3 ] };
+ key <AE05> { [], [ 0x10009EB, percent ] };
+ key <AE06> { [], [ 0x10009EC, asciicircum ] };
+ key <AE07> { [], [ 0x10009ED, 0x100099E ] };
+ key <AE08> { [], [ 0x10009EE, asterisk ] };
+ key <AE09> { [], [ 0x10009EF, parenleft ] };
+ key <AE10> { [], [ 0x10009E6, parenright ] };
+ key <AE11> { [], [ minus, 0x1000983 ] };
+ key <AE12> { [], [ 0x100098B, 0x10009C3 ] };
+ key <BKSP> { [], [ BackSpace ] };
+
+// tab, q to ]
+ key <TAB> { [], [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [], [ 0x10009A6, 0x10009A7 ] };
+ key <AD02> { [], [ 0x10009C2, 0x100098A ] };
+ key <AD03> { [], [ 0x10009C0, 0x1000988 ] };
+ key <AD04> { [], [ 0x10009B0, 0x10009DC ] };
+ key <AD05> { [], [ 0x100099F, 0x10009A0 ] };
+ key <AD06> { [], [ 0x100098F, 0x1000990 ] };
+ key <AD07> { [], [ 0x10009C1, 0x1000989 ] };
+ key <AD08> { [], [ 0x10009BF, 0x1000987 ] };
+ key <AD09> { [], [ 0x1000993, 0x1000994 ] };
+ key <AD10> { [], [ 0x10009AA, 0x10009AB ] };
+ key <AD11> { [], [ 0x10009C7, 0x10009C8 ] };
+ key <AD12> { [], [ 0x10009CB, 0x10009CC ] };
+ key <RTRN> { [], [ Return ] };
+
+// caps, a to '
+// key <CAPS> { [], [ Caps_Lock ] };
+ key <AC01> { [], [ 0x10009BE, 0x1000985 ] };
+ key <AC02> { [], [ 0x10009B8, 0x10009B7 ] };
+ key <AC03> { [], [ 0x10009A1, 0x10009A2 ] };
+ key <AC04> { [], [ 0x10009A4, 0x10009A5 ] };
+ key <AC05> { [], [ 0x1000997, 0x1000998 ] };
+ key <AC06> { [], [ 0x10009B9, 0x1000983 ] };
+ key <AC07> { [], [ 0x100099C, 0x100099D ] };
+ key <AC08> { [], [ 0x1000995, 0x1000996 ] };
+ key <AC09> { [], [ 0x10009B2, 0x1000982 ] };
+ key <AC10> { [], [ semicolon, colon ] };
+ key <AC11> { [], [ quoteright, quotedbl ] };
+
+// shift, z to /
+// key <LFSH> { [], [ Shift_L ] };
+ key <AB01> { [], [ 0x10009DF, 0x10009AF ] };
+ key <AB02> { [], [ 0x10009B6, 0x10009DD ] };
+ key <AB03> { [], [ 0x100099A, 0x100099B ] };
+ key <AB04> { [], [ 0x1000986, 0x100098B ] };
+ key <AB05> { [], [ 0x10009AC, 0x10009AD ] };
+ key <AB06> { [], [ 0x10009A8, 0x10009A3 ] };
+ key <AB07> { [], [ 0x10009AE, 0x1000999 ] };
+ key <AB08> { [], [ comma, 0x10009C3 ] };
+ key <AB09> { [], [ period, 0x1000981 ] };
+ key <AB10> { [], [ 0x10009CD, question ] };
+ key <BKSL> { [], [ backslash, bar ] };
+
+// key <LCTL> { [], [ Control_L ] };
+// key <SPCE> { [], [ space ] };
+
+// modifier_map Shift { Shift_L };
+// modifier_map Lock { Caps_Lock };
+// modifier_map Control{ Control_L };
+
+};
+
diff --git a/data/xkbdata/symbols/bg b/data/xkbdata/symbols/bg
new file mode 100644
index 000000000..2156982e2
--- /dev/null
+++ b/data/xkbdata/symbols/bg
@@ -0,0 +1,515 @@
+// $Xorg: ca,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+//////////////////////////////////////////////////////////////////////////
+// Copyright (C) 1999, 2000 by Anton Zinoviev <anton@lml.bas.bg>
+//
+// This software may be used, modified, copied, distributed, and sold,
+// in both source and binary form provided that the above copyright
+// and these terms are retained. Under no circumstances is the author
+// responsible for the proper functioning of this software, nor does
+// the author assume any responsibility for damages incurred with its
+// use.
+//
+//////////////////////////////////////////////////////////////////////////
+
+// $XFree86: xc/programs/xkbcomp/symbols/bg,v 3.2 2000/11/06 19:24:10 dawes Exp $
+
+// Version 1.6r1
+
+// Thanks to Ivan Pascal <pascal@tsu.ru> for improvements in this file.
+
+partial alphanumeric_keys
+xkb_symbols "bds_enhanced" {
+
+ // Describes the differences between a very simple en_US keyboard
+ // and a very simple Bulgarian keyboard with publishing symbols in
+ // the third level.
+
+ name[Group1]= "Latin";
+ name[Group2]= "Cyrillic";
+
+ key.type = "THREE_LEVEL";
+
+ key <TLDE> {[ quoteleft, asciitilde, degree ],
+ [ parenleft, parenright, degree ]};
+ key <AE01> {[ 1, exclam, multiply ],
+ [ 1, exclam, multiply ]};
+ key <AE02> {[ 2, at, division ],
+ [ 2, question, division ]};
+ key <AE03> {[ 3, numbersign, plusminus ],
+ [ 3, plus, plusminus ]};
+ key <AE04> {[ 4, dollar, notsign ],
+ [ 4, quotedbl, notsign ]};
+ // I want here per mille sign, but it is not defined X keysym.
+ key <AE05> {[ 5, percent, NoSymbol ],
+ [ 5, percent, NoSymbol ]};
+ key <AE06> {[ 6, asciicircum, notequal ],
+ [ 6, equal, notequal ]};
+ key <AE07> {[ 7, ampersand, ampersand ],
+ [ 7, colon, ampersand ]};
+ key <AE08> {[ 8, asterisk, asterisk ],
+ [ 8, slash, asterisk ]};
+ key <AE09> {[ 9, parenleft, bracketleft ],
+ [ 9, emdash, bracketleft ]};
+ key <AE10> {[ 0, parenright, bracketright ],
+ [ 0, numerosign, bracketright ]};
+ key <AE11> {[ minus, underscore, X ],
+ [ minus, I, X ]};
+ key <AE12> {[ equal, plus, L ],
+ [ period, V, L ]};
+
+ key <AD01> {[ q, Q, apostrophe ],
+ [ comma, Cyrillic_yeru, apostrophe ]};
+ key <AD02> {[ w, W, grave ],
+ [ Cyrillic_u, Cyrillic_U, grave ]};
+ key <AD03> {[ e, E, EuroSign ],
+ [ Cyrillic_ie, Cyrillic_IE, EuroSign ]};
+ key <AD04> {[ r, R, registered ],
+ [ Cyrillic_i, Cyrillic_I, registered ]};
+ key <AD05> {[ t, T, trademark ],
+ [ Cyrillic_sha, Cyrillic_SHA, trademark ]};
+ key <AD06> {[ y, Y, yen ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA, yen ]};
+ key <AD07> {[ u, U, doublelowquotemark ],
+ [ Cyrillic_ka, Cyrillic_KA, doublelowquotemark ]};
+ key <AD08> {[ i, I, leftdoublequotemark ],
+ [ Cyrillic_es, Cyrillic_ES, leftdoublequotemark ]};
+ key <AD09> {[ o, O, rightdoublequotemark ],
+ [ Cyrillic_de, Cyrillic_DE, rightdoublequotemark ]};
+ // I want here `P' in a circle, but it is not defined X keysym.
+ key <AD10> {[ p, P, NoSymbol ],
+ [ Cyrillic_ze, Cyrillic_ZE, NoSymbol ]};
+ key <AD11> {[ bracketleft, braceleft, braceleft ],
+ [ Cyrillic_tse, Cyrillic_TSE, braceleft ]};
+ key <AD12> {[ bracketright, braceright, braceright ],
+ [ semicolon, section, braceright ]};
+
+ key <AC01> {[ a, A, mu ],
+ [ Cyrillic_softsign, Cyrillic_SOFTSIGN, mu ]};
+ key <AC02> {[ s, S, sterling ],
+ [ Cyrillic_ya, Cyrillic_YA, sterling ]};
+ key <AC03> {[ d, D, dollar ],
+ [ Cyrillic_a, Cyrillic_A, dollar ]};
+ key <AC04> {[ f, F, cent ],
+ [ Cyrillic_o, Cyrillic_O, cent ]};
+ key <AC05> {[ g, G, Cyrillic_yeru ],
+ [ Cyrillic_zhe, Cyrillic_ZHE, Cyrillic_yeru ]};
+ key <AC06> {[ h, H, Cyrillic_YERU ],
+ [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_YERU ]};
+ key <AC07> {[ j, J, Cyrillic_e ],
+ [ Cyrillic_te, Cyrillic_TE, Cyrillic_e ]};
+ key <AC08> {[ k, K, Cyrillic_E ],
+ [ Cyrillic_en, Cyrillic_EN, Cyrillic_E ]};
+ key <AC09> {[ l, L, numerosign ],
+ [ Cyrillic_ve, Cyrillic_VE, numerosign ]};
+ key <AC10> {[ semicolon, colon, section ],
+ [ Cyrillic_em, Cyrillic_EM, section ]};
+ key <AC11> {[ quoteright, quotedbl, ellipsis ],
+ [ Cyrillic_che, Cyrillic_CHE, ellipsis ]};
+ key <BKSL> {[ backslash, bar, bar ],
+ [ apostrophe, Cyrillic_YERU, bar ]};
+
+ key <LSGT> {[ less, greater, NoSymbol ],
+ [ less, greater, NoSymbol ]};
+ key <AB01> {[ z, Z, emdash ],
+ [ Cyrillic_yu, Cyrillic_YU, emdash ]};
+ key <AB02> {[ x, X, endash ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI, endash ]};
+ key <AB03> {[ c, C, copyright ],
+ [ Cyrillic_hardsign, Cyrillic_HARDSIGN, copyright ]};
+ key <AB04> {[ v, V, NoSymbol ],
+ [ Cyrillic_e, Cyrillic_E, NoSymbol ]};
+ key <AB05> {[ b, B, NoSymbol ],
+ [ Cyrillic_ef, Cyrillic_EF, NoSymbol ]};
+ key <AB06> {[ n, N, less ],
+ [ Cyrillic_ha, Cyrillic_HA, less ]};
+ key <AB07> {[ m, M, greater ],
+ [ Cyrillic_pe, Cyrillic_PE, greater ]};
+ key <AB08> {[ comma, less, guillemotleft ],
+ [ Cyrillic_er, Cyrillic_ER, guillemotleft ]};
+ key <AB09> {[ period, greater, guillemotright ],
+ [ Cyrillic_el, Cyrillic_EL, guillemotright ]};
+ key <AB10> {[ slash, question, backslash ],
+ [ Cyrillic_be, Cyrillic_BE, backslash ]};
+
+ // End alphanumeric section
+
+ key <SPCE> {[ space, space, nobreakspace ]};
+ key <RALT> { type="TWO_LEVEL",[ Alt_R, Meta_R ]};
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic_enhanced" {
+
+ // Describes the differences between a very simple en_US keyboard
+ // and a very simple Bulgarian phonetic keyboard with publishing
+ // symbols in the third level.
+
+ name[Group1]= "Latin";
+ name[Group2]= "Cyrillic";
+
+ key.type = "THREE_LEVEL";
+
+ key <TLDE> {[ quoteleft, asciitilde, degree ],
+ [ Cyrillic_che, Cyrillic_CHE, degree ]};
+ key <AE01> {[ 1, exclam, multiply ],
+ [ 1, exclam, multiply ]};
+ key <AE02> {[ 2, at, division ],
+ [ 2, at, division ]};
+ key <AE03> {[ 3, numbersign, plusminus ],
+ [ 3, numbersign, plusminus ]};
+ key <AE04> {[ 4, dollar, notsign ],
+ [ 4, dollar, notsign ]};
+ // I want here per mille sign, but it is not defined X keysym.
+ key <AE05> {[ 5, percent, NoSymbol ],
+ [ 5, percent, NoSymbol ]};
+ key <AE06> {[ 6, asciicircum, notequal ],
+ [ 6, asciicircum, notequal ]};
+ key <AE07> {[ 7, ampersand, ampersand ],
+ [ 7, ampersand, ampersand ]};
+ key <AE08> {[ 8, asterisk, asterisk ],
+ [ 8, asterisk, asterisk ]};
+ key <AE09> {[ 9, parenleft, bracketleft ],
+ [ 9, parenleft, bracketleft ]};
+ key <AE10> {[ 0, parenright, bracketright ],
+ [ 0, parenright, bracketright ]};
+ key <AE11> {[ minus, underscore, X ],
+ [ minus, underscore, X ]};
+ key <AE12> {[ equal, plus, L ],
+ [ equal, plus, L ]};
+
+ key <AD01> {[ q, Q, apostrophe ],
+ [ Cyrillic_ya, Cyrillic_YA, apostrophe ]};
+ key <AD02> {[ w, W, grave ],
+ [ Cyrillic_ve, Cyrillic_VE, grave ]};
+ key <AD03> {[ e, E, EuroSign ],
+ [ Cyrillic_ie, Cyrillic_IE, EuroSign ]};
+ key <AD04> {[ r, R, registered ],
+ [ Cyrillic_er, Cyrillic_ER, registered ]};
+ key <AD05> {[ t, T, trademark ],
+ [ Cyrillic_te, Cyrillic_TE, trademark ]};
+ key <AD06> {[ y, Y, yen ],
+ [ Cyrillic_hardsign, Cyrillic_HARDSIGN, yen ]};
+ key <AD07> {[ u, U, doublelowquotemark ],
+ [ Cyrillic_u, Cyrillic_U, doublelowquotemark ]};
+ key <AD08> {[ i, I, leftdoublequotemark ],
+ [ Cyrillic_i, Cyrillic_I, leftdoublequotemark ]};
+ key <AD09> {[ o, O, rightdoublequotemark ],
+ [ Cyrillic_o, Cyrillic_O, rightdoublequotemark ]};
+ // I want here `P' in a circle, but it is not defined X keysym.
+ key <AD10> {[ p, P, NoSymbol ],
+ [ Cyrillic_pe, Cyrillic_PE, NoSymbol ]};
+ key <AD11> {[ bracketleft, braceleft, braceleft ],
+ [ Cyrillic_sha, Cyrillic_SHA, braceleft ]};
+ key <AD12> {[ bracketright, braceright, braceright ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA, braceright ]};
+
+ key <AC01> {[ a, A, mu ],
+ [ Cyrillic_a, Cyrillic_A, mu ]};
+ key <AC02> {[ s, S, sterling ],
+ [ Cyrillic_es, Cyrillic_ES, sterling ]};
+ key <AC03> {[ d, D, dollar ],
+ [ Cyrillic_de, Cyrillic_DE, dollar ]};
+ key <AC04> {[ f, F, cent ],
+ [ Cyrillic_ef, Cyrillic_EF, cent ]};
+ key <AC05> {[ g, G, Cyrillic_yeru ],
+ [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_yeru ]};
+ key <AC06> {[ h, H, Cyrillic_YERU ],
+ [ Cyrillic_ha, Cyrillic_HA, Cyrillic_YERU ]};
+ key <AC07> {[ j, J, Cyrillic_e ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_e ]};
+ key <AC08> {[ k, K, Cyrillic_E ],
+ [ Cyrillic_ka, Cyrillic_KA, Cyrillic_E ]};
+ key <AC09> {[ l, L, numerosign ],
+ [ Cyrillic_el, Cyrillic_EL, numerosign ]};
+ key <AC10> {[ semicolon, colon, section ],
+ [ semicolon, colon, section ]};
+ key <AC11> {[ quoteright, quotedbl, ellipsis ],
+ [ quoteright, quotedbl, ellipsis ]};
+ key <BKSL> {[ backslash, bar, bar ],
+ [ Cyrillic_yu, Cyrillic_YU, bar ]};
+
+ key <LSGT> {[ less, greater, NoSymbol ],
+ [ less, greater, NoSymbol ]};
+ key <AB01> {[ z, Z, emdash ],
+ [ Cyrillic_ze, Cyrillic_ZE, emdash ]};
+ key <AB02> {[ x, X, endash ],
+ [ Cyrillic_softsign, Cyrillic_SOFTSIGN, endash ]};
+ key <AB03> {[ c, C, copyright ],
+ [ Cyrillic_tse, Cyrillic_TSE, copyright ]};
+ key <AB04> {[ v, V, NoSymbol ],
+ [ Cyrillic_zhe, Cyrillic_ZHE, NoSymbol ]};
+ key <AB05> {[ b, B, NoSymbol ],
+ [ Cyrillic_be, Cyrillic_BE, NoSymbol ]};
+ key <AB06> {[ n, N, less ],
+ [ Cyrillic_en, Cyrillic_EN, less ]};
+ key <AB07> {[ m, M, greater ],
+ [ Cyrillic_em, Cyrillic_EM, greater ]};
+ key <AB08> {[ comma, less, guillemotleft ],
+ [ comma, less, guillemotleft ]};
+ key <AB09> {[ period, greater, guillemotright ],
+ [ period, greater, guillemotright ]};
+ key <AB10> {[ slash, question, backslash ],
+ [ slash, question, backslash ]};
+
+ // End alphanumeric section
+
+ key <SPCE> {[ space, space, nobreakspace ]};
+ key <RALT> { type="TWO_LEVEL",[ Alt_R, Meta_R ]};
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial default alphanumeric_keys
+xkb_symbols "bds" {
+
+ // Describes the differences between a very simple en_US keyboard
+ // and a very simple Bulgarian keyboard.
+
+ name[Group1]= "Latin";
+ name[Group2]= "Cyrillic";
+
+ key <TLDE> { [ quoteleft, asciitilde ],
+ [ parenleft, parenright ] };
+ key <AE01> { [ 1, exclam ],
+ [ 1, exclam ] };
+ key <AE02> { [ 2, at ],
+ [ 2, question ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, plus ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, quotedbl ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, equal ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, colon ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, slash ] };
+ key <AE09> { [ 9, parenleft ],
+ [ 9, emdash ] };
+ key <AE10> { [ 0, parenright ],
+ [ 0, numerosign ] };
+ key <AE11> { [ minus, underscore ],
+ [ minus, I ] };
+ key <AE12> { [ equal, plus ],
+ [ period, V ] };
+
+ key <AD01> { [ q, Q ],
+ [ comma, Cyrillic_yeru ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_u, Cyrillic_U ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_i, Cyrillic_I ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD08> { [ i, I ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AD09> { [ o, O ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AD10> { [ p, P ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ semicolon, section ] };
+
+ key <AC01> { [ a, A ],
+ [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AC02> { [ s, S ],
+ [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC10> { [ semicolon, colon ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC11> { [ quoteright, quotedbl ],
+ [ Cyrillic_che, Cyrillic_CHE ] };
+ key <BKSL> { [ backslash, bar ],
+ [ apostrophe, Cyrillic_YERU ] };
+
+ key <LSGT> { [ less, greater ],
+ [ less, greater ] };
+ key <AB01> { [ z, Z ],
+ [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB02> { [ x, X ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_e, Cyrillic_E ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AB07> { [ m, M ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AB08> { [ comma, less ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AB09> { [ period, greater ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AB10> { [ slash, question ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+
+ // End alphanumeric section
+
+ key <RALT> { [ Alt_R, Meta_R ] };
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+
+ // Describes the differences between a very simple en_US keyboard
+ // and a very simple Bulgarian phonetic keyboard.
+
+ name[Group1]= "Latin";
+ name[Group2]= "Cyrillic";
+
+ key <TLDE> { [ quoteleft, asciitilde ],
+ [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AE01> { [ 1, exclam ],
+ [ 1, exclam ] };
+ key <AE02> { [ 2, at ],
+ [ 2, at ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, dollar ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ],
+ [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ],
+ [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ],
+ [ minus, underscore ] };
+ key <AE12> { [ equal, plus ],
+ [ equal, plus ] };
+
+ key <AD01> { [ q, Q ],
+ [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_u, Cyrillic_U ] };
+ key <AD08> { [ i, I ],
+ [ Cyrillic_i, Cyrillic_I ] };
+ key <AD09> { [ o, O ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AD10> { [ p, P ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <AC01> { [ a, A ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AC02> { [ s, S ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ semicolon, colon ],
+ [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ],
+ [ quoteright, quotedbl ] };
+ key <BKSL> { [ backslash, bar ],
+ [ Cyrillic_yu, Cyrillic_YU ] };
+
+ key <LSGT> { [ less, greater ],
+ [ less, greater ] };
+ key <AB01> { [ z, Z ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AB02> { [ x, X ],
+ [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB07> { [ m, M ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB08> { [ comma, less ],
+ [ comma, less ] };
+ key <AB09> { [ period, greater ],
+ [ period, greater ] };
+ key <AB10> { [ slash, question ],
+ [ slash, question ] };
+
+ // End alphanumeric section
+
+ key <RALT> { [ Alt_R, Meta_R ] };
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/br b/data/xkbdata/symbols/br
new file mode 100644
index 000000000..22706c48e
--- /dev/null
+++ b/data/xkbdata/symbols/br
@@ -0,0 +1,95 @@
+//
+// $XFree86: xc/programs/xkbcomp/symbols/br,v 1.3 2000/10/27 18:31:08 dawes Exp $
+//
+partial default alphanumeric_keys
+xkb_symbols "abnt2" {
+
+ // Describes the differences between a very simple us
+ // keyboard and a very simple Brasilian ABNT2 keybaord
+ // by Ricardo Y. Igarashi (iga@that.com.br)
+ // Adds suport for dead-keys in I18N applications
+ // by Conectiva (http://www.conectiva.com.br)
+
+ name[Group1]= "Brazilian";
+
+ key <TLDE> { [ apostrophe, quotedbl ] };
+ key <AE01> { [ 1, exclam ],
+ [ onesuperior, exclamdown ] };
+ key <AE02> { [ 2, at ],
+ [ twosuperior, onehalf ] };
+ key <AE03> { [ 3, numbersign ],
+ [ threesuperior, threequarters ] };
+ key <AE04> { [ 4, dollar ],
+ [ sterling, onequarter ] };
+ key <AE05> { [ 5, percent ],
+ [ cent ] };
+ key <AE06> { [ 6, dead_diaeresis ],
+ [ notsign, diaeresis ] };
+ key <AE07> { [ 7, ampersand ],
+ [ braceleft ] };
+ key <AE08> { [ 8, asterisk ],
+ [ bracketleft ] };
+ key <AE09> { [ 9, parenleft ],
+ [ bracketright ] };
+ key <AE10> { [ 0, parenright ],
+ [ braceright ] };
+ key <AE11> { [ minus, underscore ],
+ [ backslash ] };
+ key <AE12> { [ equal, plus ],
+ [ section ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD04> { [ r, R ],
+ [ registered ] };
+ key <AD11> { [ dead_acute, dead_grave ],
+ [ acute, grave ] };
+ key <AD12> { [ bracketleft, braceleft ],
+ [ ordfeminine ] };
+ key <AC10> { [ ccedilla, Ccedilla ] };
+ key <AC11> { [ dead_tilde, dead_circumflex ],
+ [ asciitilde, asciicircum ] };
+ key <AC12> { [ bracketright, braceright ],
+ [ masculine ] };
+ key <AB03> { [ c, C ],
+ [ copyright ] };
+ key <AB07> { [ m, M ],
+ [ mu ] };
+ key <BKSL> { [ backslash, bar ] };
+ key <AB10> { [ semicolon, colon ] };
+// ABNT-2 keyboard has this special key
+ key <AB11> { [ slash, question ],
+ [ degree, questiondown ] };
+
+ key <KPPT> { [ KP_Decimal ] };
+ key <KPDL> { [ KP_Delete, comma ] };
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ key <RALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "br(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "br(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "br(abnt2)" // for consistent naming
+ key <AE06> { [ 6, diaeresis ],
+ [ notsign ] };
+ key <AD11> { [ apostrophe, grave ] };
+ key <AC11> { [ asciitilde, asciicircum ] };
+};
+
diff --git a/data/xkbdata/symbols/bs b/data/xkbdata/symbols/bs
new file mode 100644
index 000000000..b59b06900
--- /dev/null
+++ b/data/xkbdata/symbols/bs
@@ -0,0 +1,91 @@
+// Bosnian keyboards
+// Amila Akagic, <bono@linux.org.ba>
+// Zadnja promjena: 07.05.2002.
+// $XFree86$
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Alphanumeric section
+ name[Group1]= "Bosnian";
+ key <TLDE> { [ dead_cedilla, dead_diaeresis ] };
+ key <AE01> { [ 1, exclam ],
+ [ asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ dead_caron, caron ] };
+ key <AE03> { [ 3, numbersign ],
+ [ asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, dollar ],
+ [ dead_breve, breve ] };
+ key <AE05> { [ 5, percent ],
+ [ degree, dead_abovering ] };
+ key <AE06> { [ 6, ampersand ],
+ [ dead_ogonek, ogonek ] };
+ key <AE07> { [ 7, slash ],
+ [ quoteleft, dead_grave ] };
+ key <AE08> { [ 8, parenleft ],
+ [ dead_abovedot, abovedot ] };
+ key <AE09> { [ 9, parenright ],
+ [ dead_acute, quoteright ] };
+ key <AE10> { [ 0, equal ],
+ [ dead_doubleacute, doubleacute ] };
+ key <AE11> { [ apostrophe, question ],
+ [ dead_diaeresis, diaeresis ] };
+ key <AE12> { [ plus, asterisk ],
+ [ dead_cedilla, cedilla ] };
+
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ scaron, Scaron ],
+ [ division ] };
+ key <AD12> { [ dstroke, Dstroke ],
+ [ multiply, dead_macron ] };
+ key <AC04> { [ f, F ],
+ [ bracketleft ] };
+ key <AC05> { [ g, G ],
+ [ bracketright ] };
+ key <AC08> { [ k, K ],
+ [ lstroke ] };
+ key <AC09> { [ l, L ],
+ [ Lstroke ] };
+ key <AC10> { [ ccaron, Ccaron ] };
+ key <AC11> { [ cacute, Cacute ],
+ [ ssharp ] };
+
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+ key <AB01> { [ y, Y ] };
+ key <AB04> { [ v, V ],
+ [ at ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB07> { [ m, M ],
+ [ section ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ],
+ [ periodcentered ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ zcaron, Zcaron ],
+ [ currency ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+
diff --git a/data/xkbdata/symbols/by b/data/xkbdata/symbols/by
new file mode 100644
index 000000000..60d86ba4d
--- /dev/null
+++ b/data/xkbdata/symbols/by
@@ -0,0 +1,142 @@
+//
+// belarusian standard keyboard
+// Alexander Mikhailian <mikhailian@altern.org>
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Belarusian keybaord
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Belarusian";
+
+ key <TLDE> { [ grave, asciitilde ],
+ [ Cyrillic_io, Cyrillic_IO ] };
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ] };
+ key <AD01> { [ q, Q ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AE01> { [ 1, exclam ],
+ [ 1, exclam ] };
+ key <AB01> { [ z, Z ],
+ [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AC02> { [ s, S ],
+ [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC01> { [ a, A ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AE02> { [ 2, at ],
+ [ 2, quotedbl ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB02> { [ x, X ],
+ [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_u, Cyrillic_U ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, semicolon ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numbersign ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ b, B ],
+ [ Ukrainian_i, Ukrainian_I ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, colon ] };
+ key <AB07> { [ m, M ],
+ [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, question ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, asterisk ] };
+ key <AB08> { [ comma, less ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AD08> { [ i, I ],
+ [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ o, O ],
+ [ Byelorussian_shortu, Byelorussian_SHORTU ] };
+ key <AE10> { [ 0, parenright ],
+ [ 0, parenright ] };
+ key <AE09> { [ 9, parenleft ],
+ [ 9, parenleft ] };
+ key <AB09> { [ period, greater ],
+ [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB10> { [ slash, question ],
+ [ period, comma ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ semicolon, colon ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AD10> { [ p, P ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AE11> { [ minus, underscore ],
+ [ minus, underscore ] };
+ key <AC11> { [ apostrophe, quotedbl ],
+ [ Cyrillic_e, Cyrillic_E ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AE12> { [ equal, plus ],
+ [ equal, plus ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ apostrophe, apostrophe ] };
+ key <BKSL> { [ backslash, bar ],
+ [ slash, bar ] };
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "winkeys" {
+ include "by(basic)"
+ key <AE04> { [ 4, dollar ],
+ [ 4, semicolon ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numbersign ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, colon ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, question ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, asterisk ] };
+ key <AB10> { [ slash, question ],
+ [ period, comma ] };
+ key <BKSL> { [ backslash, bar ],
+ [ slash, bar ] };
+};
+
diff --git a/data/xkbdata/symbols/ca b/data/xkbdata/symbols/ca
new file mode 100644
index 000000000..935a51e31
--- /dev/null
+++ b/data/xkbdata/symbols/ca
@@ -0,0 +1,275 @@
+// $Xorg: ca,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/ca,v 3.7 2001/01/17 23:45:57 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Canadian keyboard
+ // This layout conforms to the CAN/CSA-Z243.200-92 standard
+
+ name[Group1]= "Canadian";
+
+ // Alphanumeric section
+ // CAN/CSA-Z243.200-92 calls this key "AE00"
+ key <TLDE> {
+ type[Group1]= "THREE_LEVEL",
+ symbols[Group1]= [ slash, backslash, bar ],
+// The standard calls for a soft hyphen, but X doesn't declare
+// a keysym for soft_hyphen.
+// symbols[Group2]= [ NoSymbol, soft_hyphen ]
+ symbols[Group2]= [ NoSymbol, hyphen ]
+ };
+ key <AE04> { [ 4, dollar ],
+ [onequarter, currency ] };
+ key <AE06> { [ 6, question ],
+ [threequarters, fiveeighths ] };
+ key <AE07> {
+ type[Group1]= "THREE_LEVEL",
+ symbols[Group1]= [ 7, ampersand, braceleft ],
+ symbols[Group2]= [ 7, seveneighths ]
+ };
+ key <AE08> {
+ type[Group1]= "THREE_LEVEL",
+ symbols[Group1]= [ 8, asterisk, braceright ],
+ symbols[Group2]= [ 8, trademark ]
+ };
+ key <AE09> {
+ type[Group1]= "THREE_LEVEL",
+ symbols[Group1]= [ 9, parenleft, bracketleft ],
+ symbols[Group2]= [ 9, plusminus ]
+ };
+ key <AE10> {
+ type[Group1]="THREE_LEVEL",
+ type[Group2]="THREE_LEVEL",
+ symbols[Group1]= [ 0, parenright, bracketright ],
+ symbols[Group2]= [ 0, parenright, bracketright ]
+ };
+ key <AE11> {
+ symbols[Group1]= [ minus, underscore ],
+ symbols[Group2]= [ minus, questiondown ]
+ };
+ key <AE12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ equal, plus, notsign ],
+ symbols[Group2]= [ dead_cedilla, dead_ogonek ]
+ };
+// once again, CAN/CSA-Z243-200.0 defines a key for which there is no
+// symbol.
+// key <AD03> { [ e, E ],
+// [ oe, OE ] };
+ key <AD11> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[ dead_circumflex, dead_diaeresis, dead_grave ],
+ symbols[Group2]=[ NoSymbol, dead_abovering ]
+ };
+ key <AD12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[ ccedilla, Ccedilla, asciitilde ],
+ symbols[Group2]=[ dead_tilde, dead_macron ]
+ };
+ key <AC03> { [ d, D ],
+ [ eth, Dstroke ] };
+// CAN/CSA-Z243.200-92 calls for ij and IJ ligatures on group two of
+// this key, but X doesn't define keysyms for them. Put them here but
+// comment them out.
+// key <AC07> { [ j, J ],
+// [ ij, IJ ] };
+ key <AC08> { [ k, K ],
+ [ kra ] };
+ key <AC10> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ semicolon, colon, degree ],
+ symbols[Group2]= [ dead_acute, dead_doubleacute ]
+ };
+ key <AC11> { [ egrave, Egrave ],
+ [ NoSymbol, dead_caron ] };
+// CAN/CSA-Z243.200-92 calls this key C12 on "47-key" keyboards
+// or D13 on "48-key" keyboards.
+ key <BKSL> { [ agrave, Agrave ],
+ [ NoSymbol, dead_breve ] };
+ key <LSGT> { [ ugrave, Ugrave ],
+ [ ugrave, brokenbar ] };
+ key <AB01> {
+ type="THREE_LEVEL",
+ symbols[Group1]= [ z, Z, guillemotleft ],
+ symbols[Group2]= [ z, Z, guillemotleft ]
+ };
+ key <AB02> {
+ type="THREE_LEVEL",
+ symbols[Group1]= [ x, X, guillemotright ],
+ symbols[Group2]= [ x, X, guillemotright ]
+ };
+ key <AB04> { [ v, V ],
+ [leftdoublequotemark,leftsinglequotemark] };
+ key <AB05> { [ b, B ],
+ [rightdoublequotemark,rightsinglequotemark] };
+// Neither apostrophen (apostrophe followed by n) or musical note
+// are legal keysyms. Leave the definition here until they get
+// defined, but comment it out for now.
+// key <AB06> { [ n, N ],
+// [ apostrophen, musicnote ] };
+ key <AB08> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ comma, apostrophe, less ],
+ symbols[Group2]= [ horizconnector, multiply ]
+ };
+ key <AB09> {
+ type[Group1]= "THREE_LEVEL",
+ symbols[Group1]= [ period, quotedbl, greater ],
+ symbols[Group2]= [ periodcentered, division ]
+ };
+ key <AB10> { [ eacute, Eacute ],
+ [ NoSymbol, dead_abovedot ] };
+ key <RCTL> { [ ISO_Level3_Shift ] };
+
+ modifier_map Mod5 { <RCTL> };
+
+};
+partial alphanumeric_keys
+xkb_symbols "alternate" {
+ include "ca(basic)"
+ key <TLDE> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[slash, backslash,bar],
+ symbols[Group2]=[dead_diaeresis ]
+ };
+ key <AE07> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[7, ampersand,braceleft],
+ symbols[Group2]=[seveneighths ]
+ };
+ key <AE08> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[8, asterisk,braceright],
+ symbols[Group2]=[trademark ]
+ };
+ key <AE09> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[9, parenleft,bracketleft],
+ symbols[Group2]=[plusminus ]
+ };
+ key <AE10> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[0, parenright,bracketright],
+ symbols[Group2]=[ ]
+ };
+ key <AE12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[equal, plus,notsign],
+ symbols[Group2]=[dead_cedilla,dead_ogonek]
+ };
+ key <AD11> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[dead_circumflex,dead_diaeresis,dead_grave],
+ symbols[Group2]=[dead_abovering]
+ };
+ key <AD12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[ccedilla,Ccedilla,asciitilde],
+ symbols[Group2]=[dead_tilde,dead_macron]
+ };
+ key <AC10> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[semicolon,colon,degree],
+ symbols[Group2]=[dead_acute,dead_doubleacute]
+ };
+ key <AB01> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[z,Z,guillemotleft],
+ symbols[Group2]=[ ]
+ };
+ key <AB02> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[x,X,guillemotright],
+ symbols[Group2]=[ ]
+ };
+ key <AB08> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[comma,apostrophe,less],
+ symbols[Group2]=[horizconnector,multiply]
+ };
+ key <AB09> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[period,quotedbl,greater],
+ symbols[Group2]=[periodcentered,division]
+ };
+ key <SPCE> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[space,space,nobreakspace]
+ };
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "ca(basic)"
+ key <AE12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ equal, plus, notsign ],
+ symbols[Group2]= [ SunFA_Cedilla, dead_ogonek ]
+ };
+ key <AD11> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[ SunFA_Circum, SunFA_Diaeresis, SunFA_Grave ],
+ symbols[Group2]=[ NoSymbol, dead_abovering ]
+ };
+ key <AD12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[ ccedilla, Ccedilla, asciitilde ],
+ symbols[Group2]=[ SunFA_Tilde, dead_macron ]
+ };
+ key <AC10> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ semicolon, colon, degree ],
+ symbols[Group2]= [ SunFA_Acute, dead_doubleacute ]
+ };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "ca(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "ca(basic)"
+ key <AE12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ equal, plus, notsign ],
+ symbols[Group2]= [ cedilla, ogonek ]
+ };
+ key <AD11> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[ asciicircum, diaeresis, grave ],
+ symbols[Group2]=[ NoSymbol, degree ]
+ };
+ key <AD12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]=[ ccedilla, Ccedilla, asciitilde ],
+ symbols[Group2]=[ asciitilde, macron ]
+ };
+ key <AC10> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ semicolon, colon, degree ],
+ symbols[Group2]= [ acute, doubleacute ]
+ };
+ key <AC11> { [ egrave, Egrave ],
+ [ NoSymbol, caron ] };
+ key <BKSL> { [ agrave, Agrave ],
+ [ NoSymbol, breve ] };
+
+};
+
diff --git a/data/xkbdata/symbols/ca_enhanced b/data/xkbdata/symbols/ca_enhanced
new file mode 100644
index 000000000..a27a68854
--- /dev/null
+++ b/data/xkbdata/symbols/ca_enhanced
@@ -0,0 +1,185 @@
+// This file was inspired by XFree86 version 3.3.2
+// as distributed with RedHat Linux 5.1
+// This file was created by Eric Moreau, 1998-09-27
+// I am reachable at eric_moreau@compuserve.com
+//
+// $XFree86$
+//
+// Those are intened to be modifications to the symbols
+// defined by /usr/X11R6/lib/X11/xkb/symbols/ca
+//
+// Most of the french canadian keyboards availables on PCs
+// are mapped like this.
+// Note that I remaped the ISO9995-3 keyboard but took
+// care of not loosing symbols.
+
+partial alphanumeric_keys
+xkb_symbols "basic" {
+ include "ca(basic)"
+ key <TLDE> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ numbersign, bar, backslash ],
+ symbols[Group2]= [ backslash, exclamdown ]
+ };
+ key <AE01> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 1, exclam, plusminus ],
+ symbols[Group2]= [ plusminus, onesuperior ]
+ };
+ key <AE02> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 2, quotedbl, at ],
+ symbols[Group2]= [ at, oneeighth ]
+ };
+ key <AE03> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 3, slash, sterling ],
+ symbols[Group2]= [ sterling ]
+ };
+ key <AE04> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 4, dollar, cent ],
+ symbols[Group2]= [ cent ]
+ };
+ key <AE05> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 5, percent, currency ],
+ symbols[Group2]= [ currency, threeeighths ]
+ };
+ key <AE06> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 6, question, notsign ],
+ symbols[Group2]= [ notsign, fiveeighths ]
+ };
+ key <AE07> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 7, ampersand, brokenbar ],
+ symbols[Group2]= [ brokenbar, seveneighths ]
+ };
+ key <AE08> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 8, asterisk, twosuperior ],
+ symbols[Group2]= [ twosuperior, trademark ]
+ };
+ key <AE09> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 9, parenleft, threesuperior ],
+ symbols[Group2]= [ threesuperior ]
+ };
+ key <AE10> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ 0, parenright, onequarter ],
+ symbols[Group2]= [ onequarter ]
+ };
+ key <AE11> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ minus, underscore, onehalf ],
+ symbols[Group2]= [ onehalf, questiondown ]
+ };
+ key <AE12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ equal, plus, threequarters ],
+ symbols[Group2]= [ threequarters, dead_ogonek ]
+ };
+
+ key <AD01> {
+ symbols[Group1]= [ q, Q ],
+ symbols[Group2]= [ oslash, Ooblique ]
+ };
+ key <AD04> {
+ symbols[Group1]= [ r, R ],
+ symbols[Group2]= [ thorn, Thorn ]
+ };
+ key <AD09> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ o, O, section ],
+ symbols[Group2]= [ section, Greek_OMEGA ]
+ };
+ key <AD10> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ p, P, paragraph ],
+ symbols[Group2]= [ paragraph, registered ]
+ };
+ key <AD11> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ dead_circumflex, dead_circumflex, bracketleft ],
+ symbols[Group2]= [ bracketleft, dead_abovering ]
+ };
+ key <AD12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ dead_cedilla, dead_diaeresis, bracketright ],
+ symbols[Group2]= [ bracketright, horizconnector ]
+ };
+
+ key <AC10> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ semicolon, colon, asciitilde ],
+ symbols[Group2]= [ asciitilde, dead_doubleacute ]
+ };
+ key <AC11> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ dead_grave, dead_grave, braceleft ],
+ symbols[Group2]= [ braceleft, dead_caron ]
+ };
+
+ key <AB01> {
+ symbols[Group1]= [ z, Z ],
+ symbols[Group2]= [ dead_belowdot, dead_abovedot ]
+ };
+ key <AB07> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ m, M, mu ],
+ symbols[Group2]= [ mu, masculine ]
+ };
+ key <AB08> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ comma, quoteright, horizconnector ],
+ symbols[Group2]= [ dead_macron, multiply ]
+ };
+ key <AB09> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ period, period, periodcentered ],
+ symbols[Group2]= [ periodcentered, division ]
+ };
+ key <AB10> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ eacute, Eacute, dead_acute ],
+ symbols[Group2]= [ dead_acute ]
+ };
+ key <BKSL> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ less, greater, braceright ],
+ symbols[Group2]= [ braceright, dead_breve ]
+ };
+
+ key <LSGT> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ guillemotleft, guillemotright, degree ],
+ symbols[Group2]= [ degree ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "ca_enhanced(basic)"
+ key <AD11> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ SunFA_Circum, SunFA_Circum, bracketleft ],
+ symbols[Group2]= [ bracketleft, dead_abovering ]
+ };
+ key <AD12> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ SunFA_Cedilla, SunFA_Diaeresis, bracketright ],
+ symbols[Group2]= [ bracketright, horizconnector ]
+ };
+ key <AC11> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1]= [ SunFA_Grave, SunFA_Grave, braceleft ],
+ symbols[Group2]= [ braceleft, dead_caron ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "ca_enhanced(Sundeadkeys)"
+};
diff --git a/data/xkbdata/symbols/capslock b/data/xkbdata/symbols/capslock
new file mode 100644
index 000000000..bbd5414d2
--- /dev/null
+++ b/data/xkbdata/symbols/capslock
@@ -0,0 +1,20 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/capslock,v 1.3 2004/10/09 17:31:42 svu Exp $
+
+default partial hidden modifier_keys
+xkb_symbols "capslock" {
+ key <CAPS> { [ Caps_Lock ] };
+ modifier_map Lock { Caps_Lock };
+};
+
+partial hidden modifier_keys
+xkb_symbols "shiftlock" {
+ key <CAPS> { [ Shift_Lock ] };
+ modifier_map Shift { Shift_Lock };
+};
+
+partial hidden modifier_keys
+xkb_symbols "grouplock" {
+ key <CAPS> { [ ISO_Next_Group, Caps_Lock ] };
+};
+
diff --git a/data/xkbdata/symbols/compose b/data/xkbdata/symbols/compose
new file mode 100644
index 000000000..e70a8adf4
--- /dev/null
+++ b/data/xkbdata/symbols/compose
@@ -0,0 +1,24 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/compose,v 1.4 2005/07/30 23:29:11 svu Exp $
+
+// $XFree86: xc/programs/xkbcomp/symbols/compose,v 1.1 2001/08/17 16:31:25 dawes Exp $
+
+partial modifier_keys
+xkb_symbols "ralt" {
+ key <RALT> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "rwin" {
+ key <RWIN> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "menu" {
+ key <MENU> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
+
+partial modifier_keys
+xkb_symbols "rctrl" {
+ key <RCTL> { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] };
+};
diff --git a/data/xkbdata/symbols/ctrl b/data/xkbdata/symbols/ctrl
new file mode 100644
index 000000000..393df7fe1
--- /dev/null
+++ b/data/xkbdata/symbols/ctrl
@@ -0,0 +1,39 @@
+// $XFree86$
+//
+// eliminate the caps lock key completely (replace with control)
+partial modifier_keys
+xkb_symbols "nocaps" {
+ key <CAPS> { symbols[Group1]= [ Control_L ] };
+ modifier_map Control { <CAPS>, <LCTL> };
+};
+
+// swap the caps lock key with the left control key
+partial modifier_keys
+xkb_symbols "swapcaps" {
+ key <CAPS> { symbols[Group1]= [ Control_L ] };
+ key <LCTL> { symbols[Group1]= [ Caps_Lock ] };
+};
+
+// moves the control key to the middle row and the caps lock
+// to the bottom row. Only works if the geometry or keycodes
+// file has defined appropriate aliases for the keys in question.
+partial modifier_keys
+xkb_symbols "ctrl_ac" {
+ key <AC00> { symbols[Group1]= [ Control_L ] };
+ key <AA00> { symbols[Group1]= [ Caps_Lock ] };
+};
+
+// Moves the control key to the bottom row and the caps lock
+// to the middle row. Only works if the geometry or keycodes
+// file has defined appropriate aliases for the keys in question.
+partial modifier_keys
+xkb_symbols "ctrl_aa" {
+ key <AA00> { symbols[Group1]= [ Control_L ] };
+ key <AC00> { symbols[Group1]= [ Caps_Lock ] };
+};
+
+// Right Ctrl works as Right Alt
+partial modifier_keys
+xkb_symbols "ctrl_ra" {
+ key <RCTL> { symbols[Group1]= [ Alt_R ] };
+};
diff --git a/data/xkbdata/symbols/cz b/data/xkbdata/symbols/cz
new file mode 100644
index 000000000..bc610096b
--- /dev/null
+++ b/data/xkbdata/symbols/cz
@@ -0,0 +1,147 @@
+// $XFree86: xc/programs/xkbcomp/symbols/cz,v 1.1 2001/05/18 23:35:35 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Czech keyboard
+ // This layout conforms to a new cz compromise standard designed
+ // to satisfy most unix, windows and mac users.
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ // Switching to US added by Jan Holesovsky <kendy@suse.cz>, 2001
+
+ include "us_group2(basic)"
+ include "group(shift_toggle)"
+
+ name[Group1]= "Czech";
+
+ key.type = "FOUR_LEVEL";
+
+ key <TLDE> { [ semicolon, dead_abovering,
+ grave, asciitilde ] };
+ key <AE01> { [ plus, 1,
+ exclam, dead_tilde ] };
+ key <AE02> { [ ecaron, 2,
+ at, dead_caron ] };
+ key <AE03> { [ scaron, 3,
+ numbersign, dead_circumflex ] };
+ key <AE04> { [ ccaron, 4,
+ dollar, dead_breve ] };
+ key <AE05> { [ rcaron, 5,
+ percent, dead_abovering ] };
+ key <AE06> { [ zcaron, 6,
+ asciicircum, dead_ogonek ] };
+ key <AE07> { [ yacute, 7,
+ ampersand, dead_grave ] };
+ key <AE08> { [ aacute, 8,
+ asterisk, dead_abovedot ] };
+ key <AE09> { [ iacute, 9,
+ braceleft, dead_acute ] };
+ key <AE10> { [ eacute, 0,
+ braceright, dead_doubleacute ] };
+ key <AE11> { [ equal, percent,
+ NoSymbol, dead_diaeresis ] };
+ key <AE12> { [ dead_acute, dead_caron,
+ dead_macron, dead_cedilla ] };
+
+ key <AD01> { [ q, Q,
+ backslash, NoSymbol ] };
+ key <AD02> { [ w, W,
+ bar, Nosymbol ] };
+ key <AD03> { [ e, E,
+ EuroSign, NoSymbol ] };
+ key <AD04> { [ r, R,
+ NoSymbol, NoSymbol ] };
+ key <AD05> { [ t, T,
+ NoSymbol, NoSymbol ] };
+ key <AD06> { [ z, Z,
+ NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U,
+ NoSymbol, NoSymbol ] };
+ key <AD08> { [ i, I,
+ NoSymbol, NoSymbol ] };
+ key <AD09> { [ o, O,
+ NoSymbol, NoSymbol ] };
+ key <AD10> { [ p, P,
+ NoSymbol, NoSymbol ] };
+
+ key <AD11> { [ uacute, slash,
+ bracketleft, division ] };
+ key <AD12> { [ parenright, parenleft,
+ bracketright, multiply ] };
+
+ key <AC01> { [ a, A,
+ asciitilde, NoSymbol ] };
+ key <AC02> { [ s, S,
+ dstroke, NoSymbol ] };
+ key <AC03> { [ d, D,
+ Dstroke, NoSymbol ] };
+ key <AC04> { [ f, F,
+ bracketleft, NoSymbol ] };
+ key <AC05> { [ g, G,
+ bracketright, NoSymbol ] };
+ key <AC06> { [ h, H,
+ grave, NoSymbol ] };
+ key <AC07> { [ j, J,
+ apostrophe, NoSymbol ] };
+ key <AC08> { [ k, K,
+ lstroke, NoSymbol ] };
+ key <AC09> { [ l, L,
+ Lstroke, NoSymbol ] };
+
+ key <AC10> { [ uring, quotedbl,
+ dollar, NoSymbol ] };
+ key <AC11> { [ section, exclam,
+ apostrophe, ssharp ] };
+ key <AC12> { [ EuroSign, dead_diaeresis,
+ NoSymbol, NoSymbol ] };
+ key <BKSL> { [ dead_diaeresis, apostrophe,
+ backslash, bar ] };
+
+ key <LSGT> { [ backslash, bar,
+ slash, NoSymbol ] };
+ key <AB01> { [ y, Y,
+ degree, NoSymbol ] };
+ key <AB02> { [ x, X,
+ numbersign, Nosymbol ] };
+ key <AB03> { [ c, C,
+ ampersand, NoSymbol ] };
+ key <AB04> { [ v, V,
+ at, NoSymbol ] };
+ key <AB05> { [ b, B,
+ braceleft, NoSymbol ] };
+ key <AB06> { [ n, N,
+ braceright, NoSymbol ] };
+ key <AB07> { [ m, M,
+ asciicircum, NoSymbol ] };
+ key <AB08> { [ comma, question,
+ less, NoSymbol ] };
+ key <AB09> { [ period, colon,
+ greater, NoSymbol ] };
+ key <AB10> { [ minus, underscore,
+ asterisk, NoSymbol ] };
+
+ key <SPCE> { [ space, space,
+ nobreakspace, nobreakspace ] };
+
+// KP_Separator should produce a comma as KP_Decimal produces a "."
+// independent of the locale selected.
+ key <KPDL> { type="FOUR_LEVEL_KEYPAD", [ KP_Delete, KP_Separator,
+ KP_Delete, KP_Decimal],
+ // hack a decimal dot into the second (US) group
+ // Martin Vidner <mvidner@suse.cz>
+ [ KP_Delete, KP_Decimal,
+ KP_Delete, KP_Separator] };
+
+ key <RALT> { type="TWO_LEVEL", [ ISO_Level3_Shift, ISO_Level3_Shift ] };
+ modifier_map Mod5 { <RALT> };
+
+};
+
+ // Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "bksl" {
+ include "cz(basic)"
+ key <BKSL> { [ backslash, bar,
+ slash, NoSymbol ] };
+};
diff --git a/data/xkbdata/symbols/cz_qwerty b/data/xkbdata/symbols/cz_qwerty
new file mode 100644
index 000000000..1c33ebfbe
--- /dev/null
+++ b/data/xkbdata/symbols/cz_qwerty
@@ -0,0 +1,16 @@
+// $XFree86: xc/programs/xkbcomp/symbols/cz_qwerty,v 1.1 2001/05/18 23:35:35 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // This layout should work exactly as a cz with the exception
+ // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "cz(basic)"
+
+ key <AB01> { [ z, Z,
+ degree, NoSymbol ] };
+ key <AD06> { [ y, Y,
+ NoSymbol, NoSymbol ] };
+};
diff --git a/data/xkbdata/symbols/czsk b/data/xkbdata/symbols/czsk
new file mode 100644
index 000000000..ae079cd86
--- /dev/null
+++ b/data/xkbdata/symbols/czsk
@@ -0,0 +1,730 @@
+// Czech and Slovak keyboard symbols for XKB and PC keyboard
+//
+// (C) 1997,1999 Stanislav Meduna, stano@eunet.sk
+// (C) 2000 Kamil Toman, ktoman@email.cz
+//
+// Permission is granted to anyone to use, distribute and modify
+// this file in any way, provided that the above copyright notice
+// is left intact and the author of the modification summarizes
+// the changes in this header.
+//
+// This file is distributed without any expressed or implied warranty.
+//
+// $XFree86: xc/programs/xkbcomp/symbols/czsk,v 1.8 2002/11/20 04:49:03 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "us_sk_qwerty" {
+ Name[Group1] = "US/ASCII";
+ Name[Group2] = "Slovak";
+
+ include "czsk(def_qwerty)"
+ include "czsk(def_us_sk)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "us_sk_qwertz" {
+ Name[Group1] = "US/ASCII";
+ Name[Group2] = "Slovak";
+
+ include "czsk(def_us_qwertz)"
+ include "czsk(def_us_sk)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "sk_us_qwerty" {
+ Name[Group1] = "Slovak";
+ Name[Group2] = "US/ASCII";
+
+ include "czsk(def_qwerty)"
+ include "czsk(def_sk_us)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "sk_us_qwertz" {
+ Name[Group1] = "Slovak";
+ Name[Group2] = "US/ASCII";
+
+ include "czsk(def_qwertz_us)"
+ include "czsk(def_sk_us)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "us_sk_prog" {
+ Name[Group1] = "US/ASCII";
+ Name[Group2] = "Slovak";
+
+ include "czsk(def_basic)"
+ include "czsk(def_qwerty)"
+ include "czsk(def_us_sk_prog)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "sk_us_prog" {
+ Name[Group1] = "Slovak";
+ Name[Group2] = "US/ASCII";
+
+ include "czsk(def_basic)"
+ include "czsk(def_qwerty)"
+ include "czsk(def_sk_us_prog)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "us_cz_qwerty" {
+ Name[Group1] = "US/ASCII";
+ Name[Group2] = "Czech";
+
+ include "czsk(def_qwerty)"
+ include "czsk(def_us_cz)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "us_cz_qwertz" {
+ Name[Group1] = "US/ASCII";
+ Name[Group2] = "Czech";
+
+ include "czsk(def_us_qwertz)"
+ include "czsk(def_us_cz)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cz_us_qwerty" {
+ Name[Group1] = "Czech";
+ Name[Group2] = "US/ASCII";
+
+ include "czsk(def_qwerty)"
+ include "czsk(def_cz_us)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cz_us_qwertz" {
+ Name[Group1] = "Czech";
+ Name[Group2] = "US/ASCII";
+
+ include "czsk(def_qwertz_us)"
+ include "czsk(def_cz_us)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "us_cz_prog" {
+ Name[Group1] = "US/ASCII";
+ Name[Group2] = "Czech";
+
+ include "czsk(def_basic)"
+ include "czsk(def_qwerty)"
+ include "czsk(def_us_cz_prog)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cz_us_prog" {
+ Name[Group1] = "Czech";
+ Name[Group2] = "US/ASCII";
+
+ include "czsk(def_basic)"
+ include "czsk(def_qwerty)"
+ include "czsk(def_cz_us_prog)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_us_sk" {
+ include "czsk(def_basic)"
+ include "czsk(def_us_czsk)"
+ include "czsk(def_us_sk_prog)"
+ include "czsk(def_us_sk_rp)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_sk_us" {
+ include "czsk(def_basic)"
+ include "czsk(def_czsk_us)"
+ include "czsk(def_sk_us_prog)"
+ include "czsk(def_sk_us_rp)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_us_cz" {
+ include "czsk(def_basic)"
+ include "czsk(def_us_czsk)"
+ include "czsk(def_us_cz_prog)"
+ include "czsk(def_us_cz_rp)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_cz_us" {
+ include "czsk(def_basic)"
+ include "czsk(def_czsk_us)"
+ include "czsk(def_cz_us_prog)"
+ include "czsk(def_cz_us_rp)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_basic" {
+
+ include "group(shift_toggle)"
+ include "srvr_ctrl(xfree86)"
+
+ // Alphanumeric keys identical to US
+ key <ESC> { [ Escape ],
+ [ Escape ] };
+
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ BackSpace, Terminate_Server ]
+ };
+
+ key <TLDE> { [ grave, asciitilde ],
+ [ grave, asciitilde ] };
+
+
+ key <TAB> { [ Tab, ISO_Left_Tab ],
+ [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ],
+ [ q, Q ] };
+ key <AD02> { [ w, W ],
+ [ w, W ] };
+ key <AD03> { [ e, E ],
+ [ e, E ] };
+ key <AD04> { [ r, R ],
+ [ r, R ] };
+ key <AD05> { [ t, T ],
+ [ t, T ] };
+ key <AD07> { [ u, U ],
+ [ u, U ] };
+ key <AD08> { [ i, I ],
+ [ i, I ] };
+ key <AD09> { [ o, O ],
+ [ o, O ] };
+ key <AD10> { [ p, P ],
+ [ p, P ] };
+ key <RTRN> { [ Return ],
+ [ Return ] };
+
+ key <CAPS> { [ Caps_Lock ],
+ [ Caps_Lock ] };
+ key <AC01> { [ a, A ],
+ [ a, A ] };
+ key <AC02> { [ s, S ],
+ [ s, S ] };
+ key <AC03> { [ d, D ],
+ [ d, D ] };
+ key <AC04> { [ f, F ],
+ [ f, F ] };
+ key <AC05> { [ g, G ],
+ [ g, G ] };
+ key <AC06> { [ h, H ],
+ [ h, H ] };
+ key <AC07> { [ j, J ],
+ [ j, J ] };
+ key <AC08> { [ k, K ],
+ [ k, K ] };
+ key <AC09> { [ l, L ],
+ [ l, L ] };
+
+ key <LFSH> { [ Shift_L ],
+ [ Shift_L ] };
+ key <AB02> { [ x, X ],
+ [ x, X ] };
+ key <AB03> { [ c, C ],
+ [ c, C ] };
+ key <AB04> { [ v, V ],
+ [ v, V ] };
+ key <AB05> { [ b, B ],
+ [ b, B ] };
+ key <AB06> { [ n, N ],
+ [ n, N ] };
+ key <AB07> { [ m, M ],
+ [ m, M ] };
+ key <BKSL> { [ backslash, bar ],
+ [ backslash, bar ] };
+
+ key <LCTL> { [ Control_L ],
+ [ Control_L ] };
+ key <SPCE> { [ space ],
+ [ space ] };
+
+ key <LSGT> { [ less, greater ],
+ [ less, greater ] };
+
+ key <LALT> { [ Alt_L ],
+ [ Meta_L ] };
+ key <LWIN> { [ Meta_L ],
+ [ Meta_L ] };
+ key <RWIN> { [ Meta_R ],
+ [ Meta_R ] };
+ key <MENU> { [ Menu ],
+ [ Menu ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod3 { Mode_switch };
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ],
+ [ F1 ] };
+ key <FK02> { [ F2 ],
+ [ F2 ] };
+ key <FK03> { [ F3 ],
+ [ F3 ] };
+ key <FK04> { [ F4 ],
+ [ F4 ] };
+ key <FK05> { [ F5 ],
+ [ F5 ] };
+ key <FK06> { [ F6 ],
+ [ F6 ] };
+ key <FK07> { [ F7 ],
+ [ F7 ] };
+ key <FK08> { [ F8 ],
+ [ F8 ] };
+ key <FK09> { [ F9 ],
+ [ F9 ] };
+ key <FK10> { [ F10 ],
+ [ F10 ] };
+ key <FK11> { [ F11 ],
+ [ F11 ] };
+ key <FK12> { [ F12 ],
+ [ F12 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+
+ key <PAUS> { [ Multi_key ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+ key <SCLK> { [ ISO_Next_Group, ISO_Next_Group ] };
+
+ // Gray keys
+
+ key <INS> { [ Insert ],
+ [ Insert ] };
+ key <HOME> { [ Home ],
+ [ Home ] };
+ key <PGUP> { [ Prior ],
+ [ Prior ] };
+ key <DELE> { [ Delete ],
+ [ Delete ] };
+ key <END> { [ End ],
+ [ End ] };
+ key <PGDN> { [ Next ],
+ [ Next ] };
+
+ // Cursor keys
+ key <UP> { [ Up ],
+ [ Up ] };
+ key <LEFT> { [ Left ],
+ [ Left ] };
+ key <DOWN> { [ Down ],
+ [ Down ] };
+ key <RGHT> { [ Right ],
+ [ Right ] };
+
+
+ // Keypad keys
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ],
+ [ Num_Lock, Pointer_EnableKeys ]};
+ key <KPDV> { [ KP_Divide ],
+ [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ],
+ [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ],
+ [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ],
+ [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ],
+ [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ],
+ [ KP_Prior, KP_9 ] };
+ key <KPAD> { [ KP_Add ],
+ [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ],
+ [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_Begin, KP_5 ],
+ [ KP_Begin, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ],
+ [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ],
+ [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ],
+ [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ],
+ [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ],
+ [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ],
+ [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ],
+ [ KP_Delete, KP_Decimal ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_czsk_us" {
+ key <AE11> {
+ [ equal, percent ],
+ [ minus, underscore ]
+ };
+ key <AD11> {
+ [ uacute, slash ],
+ [ bracketleft, braceleft ]
+ };
+ key <AC11> {
+ [ section, exclam ],
+ [ apostrophe, quotedbl ]
+ };
+ key <AB08> {
+ [ comma, question ],
+ [ comma, less ]
+ };
+ key <AB09> {
+ [ period, colon ],
+ [ period, greater ]
+ };
+ key <AB10> {
+ [ minus, underscore ],
+ [ slash, question ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_us_czsk" {
+ key <AE11> {
+ [ minus, underscore ],
+ [ equal, percent ]
+ };
+ key <AD11> {
+ [ bracketleft, braceleft ],
+ [ uacute, slash ]
+ };
+ key <AC11> {
+ [ apostrophe, quotedbl ],
+ [ section, exclam ]
+ };
+ key <AB08> {
+ [ comma, less ],
+ [ comma, question ]
+ };
+ key <AB09> {
+ [ period, greater ],
+ [ period, colon ]
+ };
+ key <AB10> {
+ [ slash, question ],
+ [ minus, underscore ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_sk_us_rp" {
+ key <AC10> {
+ [ ocircumflex, quotedbl ],
+ [ semicolon, colon ]
+ };
+ key <AD12> {
+ [ adiaeresis, parenleft ],
+ [ bracketright, braceright ]
+ };
+ key <BKSL> {
+ [ ncaron, parenright ],
+ [ backslash, bar ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_cz_us_rp" {
+ key <AC10> {
+ [ uring, quotedbl ],
+ [ semicolon, colon ]
+ };
+ key <AD12> {
+ [ parenright, parenleft ],
+ [ bracketright, braceright ]
+ };
+ key <BKSL> {
+ [ backslash, bar ],
+ [ backslash, bar ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_us_sk_rp" {
+ key <AC10> {
+ [ semicolon, colon ],
+ [ ocircumflex, quotedbl ]
+ };
+ key <AD12> {
+ [ bracketright, braceright ],
+ [ adiaeresis, parenleft ]
+ };
+ key <BKSL> {
+ [ backslash, bar ],
+ [ ncaron, parenright ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_us_cz_rp" {
+ key <AC10> {
+ [ semicolon, colon ],
+ [ uring, quotedbl ]
+ };
+ key <AD12> {
+ [ bracketright, braceright ],
+ [ parenright, parenleft ]
+ };
+ key <BKSL> {
+ [ backslash, bar ],
+ [ backslash, bar ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_qwertz_us" {
+ key <AD06> {
+ [ z, Z ],
+ [ y, Y ]
+ };
+ key <AB01> {
+ [ y, Y ],
+ [ z, Z ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_us_qwertz" {
+ key <AD06> {
+ [ y, Y ],
+ [ z, Z ]
+ };
+ key <AB01> {
+ [ z, Z ],
+ [ y, Y ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_qwerty" {
+ key <AD06> {
+ [ y, Y ],
+ [ y, Y ]
+ };
+ key <AB01> {
+ [ z, Z ],
+ [ z, Z ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_us_sk_prog" {
+ key <TLDE> {
+ [ grave, asciitilde ],
+ [ dead_diaeresis, semicolon ]
+ };
+ key <AE01> {
+ [ 1, exclam ],
+ [ plus, 1 ]
+ };
+ key <AE02> {
+ [ 2, at ],
+ [ lcaron, 2 ]
+ };
+ key <AE03> {
+ [ 3, numbersign ],
+ [ scaron, 3 ]
+ };
+ key <AE04> {
+ [ 4, dollar ],
+ [ ccaron, 4 ]
+ };
+ key <AE05> {
+ [ 5, percent ],
+ [ tcaron, 5 ]
+ };
+ key <AE06> {
+ [ 6, asciicircum ],
+ [ zcaron, 6 ]
+ };
+ key <AE07> {
+ [ 7, ampersand ],
+ [ yacute, 7 ]
+ };
+ key <AE08> {
+ [ 8, asterisk ],
+ [ aacute, 8 ]
+ };
+ key <AE09> {
+ [ 9, parenleft ],
+ [ iacute, 9 ]
+ };
+ key <AE10> {
+ [ 0, parenright ],
+ [ eacute, 0 ]
+ };
+ key <AE12> {
+ [ equal, plus ],
+ [ dead_acute, dead_caron ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_us_cz_prog" {
+ key <TLDE> {
+ [ grave, asciitilde ],
+ [ dead_diaeresis, semicolon ]
+ };
+ key <AE01> {
+ [ 1, exclam ],
+ [ plus, 1 ]
+ };
+ key <AE02> {
+ [ 2, at ],
+ [ ecaron, 2 ]
+ };
+ key <AE03> {
+ [ 3, numbersign ],
+ [ scaron, 3 ]
+ };
+ key <AE04> {
+ [ 4, dollar ],
+ [ ccaron, 4 ]
+ };
+ key <AE05> {
+ [ 5, percent ],
+ [ rcaron, 5 ]
+ };
+ key <AE06> {
+ [ 6, asciicircum ],
+ [ zcaron, 6 ]
+ };
+ key <AE07> {
+ [ 7, ampersand ],
+ [ yacute, 7 ]
+ };
+ key <AE08> {
+ [ 8, asterisk ],
+ [ aacute, 8 ]
+ };
+ key <AE09> {
+ [ 9, parenleft ],
+ [ iacute, 9 ]
+ };
+ key <AE10> {
+ [ 0, parenright ],
+ [ eacute, 0 ]
+ };
+ key <AE12> {
+ [ equal, plus ],
+ [ dead_acute, dead_caron ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_sk_us_prog" {
+ key <TLDE> {
+ [ dead_diaeresis, semicolon ],
+ [ grave, asciitilde ]
+ };
+ key <AE01> {
+ [ plus, 1 ],
+ [ 1, exclam ]
+ };
+ key <AE02> {
+ [ lcaron, 2 ],
+ [ 2, at ]
+ };
+ key <AE03> {
+ [ scaron, 3 ],
+ [ 3, numbersign ]
+ };
+ key <AE04> {
+ [ ccaron, 4 ],
+ [ 4, dollar ]
+ };
+ key <AE05> {
+ [ tcaron, 5 ],
+ [ 5, percent ]
+ };
+ key <AE06> {
+ [ zcaron, 6 ],
+ [ 6, asciicircum ]
+ };
+ key <AE07> {
+ [ yacute, 7 ],
+ [ 7, ampersand ]
+ };
+ key <AE08> {
+ [ aacute, 8 ],
+ [ 8, asterisk ]
+ };
+ key <AE09> {
+ [ iacute, 9 ],
+ [ 9, parenleft ]
+ };
+ key <AE10> {
+ [ eacute, 0 ],
+ [ 0, parenright ]
+ };
+ key <AE12> {
+ [ dead_acute, dead_caron ],
+ [ equal, plus ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "def_cz_us_prog" {
+ key <TLDE> {
+ [ dead_diaeresis, semicolon ],
+ [ grave, asciitilde ]
+ };
+ key <AE01> {
+ [ plus, 1 ],
+ [ 1, exclam ]
+ };
+ key <AE02> {
+ [ ecaron, 2 ],
+ [ 2, at ]
+ };
+ key <AE03> {
+ [ scaron, 3 ],
+ [ 3, numbersign ]
+ };
+ key <AE04> {
+ [ ccaron, 4 ],
+ [ 4, dollar ]
+ };
+ key <AE05> {
+ [ rcaron, 5 ],
+ [ 5, percent ]
+ };
+ key <AE06> {
+ [ zcaron, 6 ],
+ [ 6, asciicircum ]
+ };
+ key <AE07> {
+ [ yacute, 7 ],
+ [ 7, ampersand ]
+ };
+ key <AE08> {
+ [ aacute, 8 ],
+ [ 8, asterisk ]
+ };
+ key <AE09> {
+ [ iacute, 9 ],
+ [ 9, parenleft ]
+ };
+ key <AE10> {
+ [ eacute, 0 ],
+ [ 0, parenright ]
+ };
+ key <AE12> {
+ [ dead_acute, dead_caron ],
+ [ equal, plus ]
+ };
+};
diff --git a/data/xkbdata/symbols/de b/data/xkbdata/symbols/de
new file mode 100644
index 000000000..ec3bf9ddc
--- /dev/null
+++ b/data/xkbdata/symbols/de
@@ -0,0 +1,173 @@
+// $Xorg: de,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/de,v 3.14 2003/09/08 13:12:37 pascal Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple German keyboard
+
+ // Alphanumeric section
+ name[Group1]= "German";
+ key <TLDE> { [ dead_circumflex, degree ],
+ [ notsign ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ twosuperior ] };
+ key <AE03> { [ 3, section ],
+ [ threesuperior,sterling ] };
+ key <AE04> { [ 4, dollar ],
+ [ onequarter, currency ] };
+ key <AE05> { [ 5, percent ],
+ [ onehalf ] };
+ key <AE06> { [ 6, ampersand ],
+ [ threequarters ] };
+ key <AE07> { [ 7, slash ],
+ [ braceleft ] };
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, plusminus ] };
+ key <AE10> { [ 0, equal ],
+ [ braceright, degree ] };
+ key <AE11> { [ ssharp, question ],
+ [ backslash, questiondown ] };
+ key <AE12> { [ dead_acute, dead_grave ],
+ [ dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ q, Q ],
+ [ at ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ],
+ [ dead_diaeresis ] };
+ key <AD12> { [ plus, asterisk ],
+ [ dead_tilde, dead_macron ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ dead_doubleacute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ dead_circumflex ] };
+
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+ key <AB01> { [ y, Y ],
+ [ guillemotleft,less ] };
+ key <AB07> { [ m, M ],
+ [ mu ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ],
+ [ periodcentered, division ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ numbersign, apostrophe ],
+ [ dead_grave ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+
+ // End alphanumeric section, begin "Keypad"
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ // modify the default German layout to not have any dead keys
+ include "de(basic)"
+ key <TLDE> { [ asciicircum, degree ],
+ [ notsign ] };
+ key <AE12> { [ apostrophe, grave ],
+ [ cedilla ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ],
+ [ diaeresis ] };
+ key <AD12> { [ plus, asterisk ],
+ [ asciitilde, macron ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ doubleacute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ asciicircum ] };
+
+ key <BKSL> { [ numbersign, apostrophe ],
+ [ grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "deadgraveacute" {
+ // modify the default German layout to have only acute and grave
+ // as dead keys (tilde and circumflex are needed as spacing characters
+ // in many programming languages)
+ include "de(basic)"
+ key <TLDE> { [ asciicircum, degree ],
+ [ notsign ] };
+ key <AD12> { [ plus, asterisk ],
+ [ asciitilde, dead_macron ] };
+ key <BKSL> { [ numbersign, apostrophe ],
+ [ grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "deadacute" {
+ // modify the default German layout to have only acute as
+ // dead keys (ASCII grave, tilde and circumflex are needed as
+ // spacing characters in many programming languages and text formatters)
+ include "de(deadgraveacute)"
+ key <AE12> { [ dead_acute, grave ],
+ [ dead_cedilla, dead_ogonek ] };
+ key <BKSL> { [ numbersign, apostrophe ],
+ [ dead_grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "de_ro" {
+ // add romanian-specific characters to the basic German layout.
+ // Romanian symbols are accessible with combination of <AltGr> and
+ // 'a', 's', 't', 'i', 'ä (&auml)' (+<Shift> for capital letters).
+ // To view romanian specific symbols, add "export LC_CTYPE=ro_RO"
+ // or "export LC_CTYPE=de_DE.utf8" to your .profile.
+
+ include "de(basic)"
+
+ name[Group1]="Romanian for German keyboard";
+
+ key <AD05> { [ t, T ],
+ [ tcedilla, Tcedilla ] };
+ key <AD08> { [ i, I ],
+ [ icircumflex, Icircumflex ] };
+ key <AC01> { [ a, A ],
+ [ acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S ],
+ [ scedilla, Scedilla ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ abreve, Abreve ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "de_ro_nodeadkeys" {
+ // add romanian-specific characters to the "nodeadkeys" German layout.
+ // Read the comment for de_ro !
+
+ include "de(nodeadkeys)"
+
+ key <AD05> { [ t, T ],
+ [ tcedilla, Tcedilla ] };
+ key <AD08> { [ i, I ],
+ [ icircumflex, Icircumflex ] };
+ key <AC01> { [ a, A ],
+ [ acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S ],
+ [ scedilla, Scedilla ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ abreve, Abreve ] };
+};
diff --git a/data/xkbdata/symbols/de_CH b/data/xkbdata/symbols/de_CH
new file mode 100644
index 000000000..614658714
--- /dev/null
+++ b/data/xkbdata/symbols/de_CH
@@ -0,0 +1,94 @@
+// $Xorg: de_CH,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/de_CH,v 3.4 2000/01/21 01:12:27 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Swiss keyboard
+
+ // Alphanumeric section
+ name[Group1]= "Swiss German";
+ key <TLDE> { [ section, degree ] };
+ key <AE01> { [ 1, plus ],
+ [ bar, exclamdown ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at, oneeighth ] };
+ key <AE03> { [ 3, asterisk ],
+ [ numbersign ] };
+ key <AE04> { [ 4, ccedilla ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, ampersand ],
+ [ notsign ] };
+ key <AE07> { [ 7, slash ],
+ [ brokenbar ] };
+ key <AE08> { [ 8, parenleft ],
+ [ cent ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ apostrophe, question ],
+ [ dead_acute ] };
+ key <AE12> { [ dead_circumflex, dead_grave ],
+ [ dead_tilde ] };
+
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD06> { [ z, Z ] };
+ key <AD11> { [ udiaeresis, egrave ],
+ [ bracketleft ] };
+ key <AD12> { [ dead_diaeresis, exclam ],
+ [ bracketright ] };
+
+ key <AC10> { [ odiaeresis, eacute ] };
+ key <AC11> { [ adiaeresis, agrave ],
+ [ braceleft ] };
+ key <BKSL> { [ dollar, sterling ],
+ [ braceright ] };
+
+ key <LSGT> { [ less, greater ],
+ [ backslash, brokenbar ] };
+ key <AB01> { [ y, Y ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ // End alphanumeric section, begin "Keypad"
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+};
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ // modify the default Swiss German layout to use Sun dead keys
+ include "de_CH(basic)"
+ key <AE11> { [ apostrophe, question ],
+ [ SunFA_Acute ] };
+ key <AE12> { [ SunFA_Circum, SunFA_Grave ],
+ [ SunFA_Tilde ] };
+ key <AD12> { [ SunFA_Diaeresis, exclam ],
+ [ bracketright ] };
+};
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "de_CH(Sundeadkeys)"
+};
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ // modify the default Swiss German layout not to have any dead keys
+ include "de_CH(basic)"
+ key <AE11> { [ apostrophe, question ],
+ [ acute ] };
+ key <AE12> { [ asciicircum, grave ],
+ [ asciitilde ] };
+ key <AD12> { [ diaeresis, exclam ],
+ [ bracketright ] };
+};
diff --git a/data/xkbdata/symbols/dev b/data/xkbdata/symbols/dev
new file mode 100644
index 000000000..e8e847be8
--- /dev/null
+++ b/data/xkbdata/symbols/dev
@@ -0,0 +1,67 @@
+// $XConsortium: th /main/3 1996/08/31 12:20:18 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/th,v 3.1.2.1 1997/07/19 13:28:20 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Hindi";
+ key <TLDE> { [], [ 0x100094A, 0x1000912 ] };
+
+ // Mainly numbers.
+ key <AE01> { [], [ 0x1000967, 0x100090D ] };
+ key <AE02> { [], [ 0x1000968, 0x1000945 ] };
+ key <AE03> { [], [ 0x1000969 ] };
+ key <AE04> { [], [ 0x100096A ] };
+ key <AE05> { [], [ 0x100096B ] };
+ key <AE06> { [], [ 0x100096C ] };
+ key <AE07> { [], [ 0x100096D ] };
+ key <AE08> { [], [ 0x100096e ] };
+ key <AE09> { [], [ 0x100096F, parenleft ] };
+ key <AE10> { [], [ 0x1000966, parenright ] };
+ key <AE11> { [], [ 0x1000903 ] };
+ key <AE12> { [], [ 0x1000943, 0x100090B ] };
+
+// Mainly long vowels
+
+ key <AD01> { [], [ 0x100094C, 0x1000914 ] };
+ key <AD02> { [], [ 0x1000948, 0x1000910 ] };
+ key <AD03> { [], [ 0x100093E, 0x1000906 ] };
+ key <AD04> { [], [ 0x1000940, 0x1000908 ] };
+ key <AD05> { [], [ 0x1000942, 0x100090A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [], [ 0x100092C, 0x100092D ] };
+ key <AD07> { [], [ 0x1000939, 0x1000919 ] };
+ key <AD08> { [], [ 0x1000917, 0x1000918 ] };
+ key <AD09> { [], [ 0x1000926, 0x1000927 ] };
+ key <AD10> { [], [ 0x100091C, 0x100091D ] };
+ key <AD11> { [], [ 0x1000921, 0x1000922 ] };
+ key <AD12> { [], [ 0x100093C, 0x100091E ] };
+
+// Mainly short vowels
+ key <AC01> { [], [ 0x100094B, 0x1000913 ] };
+ key <AC02> { [], [ 0x1000947, 0x100090F ] };
+ key <AC03> { [], [ 0x100094D, 0x1000905 ] };
+ key <AC04> { [], [ 0x100093F, 0x1000907 ] };
+ key <AC05> { [], [ 0x1000941, 0x1000909 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [], [ 0x100092A, 0x100092B ] };
+ key <AC07> { [], [ 0x1000930, 0x1000931 ] };
+ key <AC08> { [], [ 0x1000915, 0x1000916 ] };
+ key <AC09> { [], [ 0x1000924, 0x1000925 ] };
+ key <AC10> { [], [ 0x100091A, 0x100091B ] };
+ key <AC11> { [], [ 0x100091F, 0x1000920 ] };
+ key <BKSL> { [], [ 0x1000949, 0x1000911 ] };
+
+ key <AB01> { [], [ 0x1000946, 0x100090E ] };
+ key <AB02> { [], [ 0x1000902, 0x1000901 ] };
+ key <AB03> { [], [ 0x100092E, 0x1000923 ] };
+ key <AB04> { [], [ 0x1000928, 0x1000929 ] };
+ key <AB05> { [], [ 0x1000935, 0x1000934 ] };
+ key <AB06> { [], [ 0x1000932, 0x1000933 ] };
+ key <AB07> { [], [ 0x1000938, 0x1000936 ] };
+ key <AB08> { [], [ comma, 0x1000937 ] };
+ key <AB09> { [], [ period, 0x1000964 ] };
+ key <AB10> { [], [ 0x100092F, question ] };
+};
diff --git a/data/xkbdata/symbols/digital/Makefile.am b/data/xkbdata/symbols/digital/Makefile.am
new file mode 100644
index 000000000..cd9533de9
--- /dev/null
+++ b/data/xkbdata/symbols/digital/Makefile.am
@@ -0,0 +1,6 @@
+xkbdata_symbols_digitaldir = $(datadir)/X11/xkb/symbols/digital
+dist_xkbdata_symbols_digital_DATA = \
+ lk \
+ pc \
+ us \
+ vt
diff --git a/data/xkbdata/symbols/digital/Makefile.in b/data/xkbdata/symbols/digital/Makefile.in
new file mode 100644
index 000000000..683bb69b8
--- /dev/null
+++ b/data/xkbdata/symbols/digital/Makefile.in
@@ -0,0 +1,262 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_digitaldir = $(datadir)/X11/xkb/symbols/digital
+dist_xkbdata_symbols_digital_DATA = \
+ lk \
+ pc \
+ us \
+ vt
+
+subdir = symbols/digital
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_digital_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_digital_DATA) \
+ $(srcdir)/Makefile.in Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/digital/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_digitalDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_digitalDATA: $(dist_xkbdata_symbols_digital_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_digitaldir)
+ @list='$(dist_xkbdata_symbols_digital_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_digitalDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_digitaldir)/$$f"; \
+ $(dist_xkbdata_symbols_digitalDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_digitaldir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_digitalDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_digital_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_digitaldir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_digitaldir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_digitaldir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_digitalDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_digitalDATA \
+ uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_digitalDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_digitalDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/digital/lk b/data/xkbdata/symbols/digital/lk
new file mode 100644
index 000000000..e5732a30c
--- /dev/null
+++ b/data/xkbdata/symbols/digital/lk
@@ -0,0 +1,131 @@
+// $Xorg: lk,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log: lk,v
+// Revision 1.2 1996/06/18 09:10:09 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.2.2 1995/03/10 17:16:52 William_Walker
+// Rename to avoid name conflicts with XKB stuff
+// [1995/03/10 17:10:33 William_Walker]
+//
+// Revision 1.1.2.2 1994/10/31 15:22:00 William_Walker
+// New experimental version.
+// [1994/10/31 14:48:37 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: lk,v Revision: 1.2 (DEC) Date: 1996/01/24 12:14:58
+//
+// Symbols common to all the LK-style keyboards.
+//
+default xkb_symbols "common" {
+
+ // Modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control { Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod3 { Scroll_Lock };
+
+ // Additional alphanumeric keys
+ key <LSGT> { [ less, greater ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
+
+ // "Function" keys
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ Escape, F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ F13 ] };
+ key <FK14> { [ F14 ] };
+ key <FK17> { [ F17 ] };
+ key <FK18> { [ F18 ] };
+ key <FK19> { [ F19 ] };
+ key <FK20> { [ F20 ] };
+
+ // "Editing" keys
+ key <HELP> { [ Help ] };
+ key <DO> { [ Menu ] };
+ key <FIND> { [ Find ] };
+ key <INS> { [ Insert ] };
+ key <DELE> { [ Delete ] };
+ key <SELE> { [ Select ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // "Keypad" keys
+ key <KPF1> {
+ type= "SHIFT+ALT",
+ symbols[Group1]=[ KP_F1,Pointer_EnableKeys ]
+ };
+ key <KPF2> { [ KP_F2 ] };
+ key <KPF3> { [ KP_F3 ] };
+ key <KPF4> { [ KP_F4 ] };
+
+ key <KPCO> { [ KP_Separator ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KPDL> { [ KP_Decimal ] };
+};
+
+xkb_symbols "lk401" {
+ include "symbols/digital/lk(common)"
+ key <RALT> { [ Alt_R, Meta_R ] };
+ key <LCMP> { [ Multi_key ] };
+ key <RCMP> { [ Multi_key ] };
+};
diff --git a/data/xkbdata/symbols/digital/pc b/data/xkbdata/symbols/digital/pc
new file mode 100644
index 000000000..c6cc777d7
--- /dev/null
+++ b/data/xkbdata/symbols/digital/pc
@@ -0,0 +1,176 @@
+// $Xorg: pc,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log
+// Revision 1.2 1996/06/18 09:10:12 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.4 1995/12/19 19:55:58 William_Walker
+// Update to XKB 0.65
+// [1995/12/17 02:37:07 William_Walker]
+//
+// Revision 1.1.6.3 1995/10/25 21:01:09 William_Walker
+// Make sure we use DIN 2137 and VT510 Spec for Group Semantics
+// [1995/10/23 15:49:03 William_Walker]
+//
+// Revision 1.1.6.2 1995/08/07 17:40:40 William_Walker
+// Upgrade XKB to protocol 0.62 (dual submit from decx11)
+// [1995/08/06 14:06:32 William_Walker]
+//
+// Revision 1.1.2.7 1995/08/05 15:25:57 William_Walker
+// Sync up with Erik's pool.
+// [1995/08/03 20:17:15 William_Walker]
+//
+// Revision 1.1.2.6 1995/06/27 12:18:25 William_Walker
+// Add LK201 and LK450 support as well as TW and DP variants.
+// [1995/06/26 20:29:52 William_Walker]
+//
+// Revision 1.1.2.5 1995/06/08 17:10:28 William_Walker
+// Make RALT default to Mode_switch
+// [1995/06/08 17:08:50 William_Walker]
+//
+// Revision 1.1.2.4 1995/06/05 19:24:14 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:17:03 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: pc Revision: /main/4 (DEC) Date: 1996/01/24 12:15:02
+//
+
+// **************************************************************
+// * *
+// * The symbols common to all Extended PC layouts. *
+// * *
+// **************************************************************
+xkb_symbols "pc" {
+
+ // Modifier mappings
+ //
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control { Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Num_Lock };
+ modifier_map Mod5 { Scroll_Lock };
+
+ // Common keys
+ //
+ key <BKSP> { [ BackSpace, Delete ] };
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <RTRN> { [ Return ] };
+ key <LFSH> { [ Shift_L ] };
+ key <RTSH> { [ Shift_R ] };
+ key <LCTL> { [ Control_L ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <SPCE> { [ space ] };
+ key <RALT> { [ Mode_switch ] };
+ key <RCTL> { [ Control_R ] };
+
+ // "Function" keys
+ //
+ key <ESC> { [ Escape ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_BREAK",
+ symbols[Group1]= [ Pause, Break ]
+ };
+
+ // "Editing" keys
+ //
+ key <INS> { [ Insert ] };
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // "Keypad" keys
+ //
+ key <NMLK> {
+ type= "SHIFT+ALT",
+ symbols[Group1]= [ Num_Lock,Pointer_EnableKeys]
+ };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+
+ // Key to support Lock-Down Modifier descriptions for R5
+ //
+ key <LDM> { [ NoSymbol ] };
+};
+
+xkb_symbols "pc104" {
+ include "digital/pc(pc)"
+
+ replace key <LALT> { [ Alt_L ] };
+ key <LWIN> { [ Meta_L ] };
+ key <RWIN> { [ Meta_R ] };
+ key <MENU> { [ Menu ] };
+};
diff --git a/data/xkbdata/symbols/digital/us b/data/xkbdata/symbols/digital/us
new file mode 100644
index 000000000..21636aa60
--- /dev/null
+++ b/data/xkbdata/symbols/digital/us
@@ -0,0 +1,212 @@
+// $Xorg: us,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log
+// Revision 1.2 1996/06/18 09:10:16 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.3 1995/12/19 19:56:37 William_Walker
+// Update to XKB 0.65
+// [1995/12/17 02:37:44 William_Walker]
+//
+// Revision 1.1.6.2 1995/10/25 21:01:25 William_Walker
+// Add pc104-key support
+// [1995/10/23 15:46:27 William_Walker]
+//
+// Revision 1.1.2.7 1995/06/27 12:18:40 William_Walker
+// Add LK201 and LK450 support as well as TW and DP variants.
+// [1995/06/26 20:30:33 William_Walker]
+//
+// Revision 1.1.2.6 1995/06/09 20:55:20 William_Walker
+// Add VT105 layout support and ISO group support
+// [1995/06/09 20:43:05 William_Walker]
+//
+// Revision 1.1.2.5 1995/06/08 21:05:49 William_Walker
+// Use ISO_Next_Group instead of grouplock
+// [1995/06/08 21:03:56 William_Walker]
+//
+// Revision 1.1.2.4 1995/06/05 19:25:00 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:17:54 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: us Revision: /main/4 (DEC) Date: 1996/01/24 12:15:05
+//
+
+// **************************************************************
+// * *
+// * Symbols for en_US.ISO8859-1 - English for U.S. *
+// * *
+// **************************************************************
+
+xkb_symbols "us" {
+
+ key <AE00> { [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+};
+
+// **************************************************************
+// * *
+// * The VT105 layouts *
+// * *
+// * NOTES: The typewriter (TW) and dataprocessing (DP) keys *
+// * for the VT108 layout are identical for the US. *
+// * *
+// **************************************************************
+xkb_symbols "vt105-tw" {
+ include "digital/us(us)"
+ include "digital/vt(vt105)"
+ override key <AE03> {
+ symbols[Group1]= [ 3, numbersign ],
+ symbols[Group2]= [ sterling ]
+ };
+ key <AB00> { [ less, greater ] };
+};
+
+xkb_symbols "vt105-dp" { include "digital/us(vt105-tw)" };
+xkb_symbols "vt105" { include "digital/us(vt105-tw)" };
+
+// **************************************************************
+// * *
+// * The VT108 layouts - based upon the LK401-AA *
+// * *
+// * NOTES: The typewriter (TW) and dataprocessing (DP) keys *
+// * for the VT108 layout are identical for the US. *
+// * *
+// **************************************************************
+xkb_symbols "vt108-tw" {
+ include "digital/us(us)"
+ include "digital/vt(vt108)"
+ replace key <LCMP> { [ Multi_key ] };
+ override key <AE03> {
+ symbols[Group1]= [ 3, numbersign ],
+ symbols[Group2]= [ sterling ]
+ };
+ key <AB00> { [ less, greater ] };
+};
+
+xkb_symbols "vt108-dp" { include "digital/us(vt108-tw)" };
+xkb_symbols "vt108" { include "digital/us(vt108-tw)" };
+
+// **************************************************************
+// * *
+// * The "unix" layouts - based upon the LK421-AA *
+// * *
+// * NOTES: The "unix" keyboard emits the same keycodes as the *
+// * LK401, but is a shorter keyboard that uses an *
+// * "extend" key. To make life easier, we map <AE00> *
+// * to Escape so users do not have to press Extend+F11 *
+// * to get Escape. *
+// * *
+// **************************************************************
+xkb_symbols "unix" {
+ include "digital/us(vt108)"
+ override key <AE00> { [ Escape ] };
+ override key <AB00> { [ grave, asciitilde ] };
+};
+
+// **************************************************************
+// * *
+// * The "pcxal" layouts *
+// * *
+// * NOTES: The pcxal layouts are pretty much standardized for *
+// * the US and use a 101-key keyboard. *
+// * *
+// **************************************************************
+xkb_symbols "pcxalga" {
+ include "digital/pc(pc)"
+ include "digital/us(us)"
+ replace key <RALT> { [ Alt_R, Meta_R ] };
+};
+
+xkb_symbols "pcxal" { include "digital/us(pcxalga)" };
+xkb_symbols "pcxalaa" { include "digital/us(pcxalga)" };
+xkb_symbols "pcxalfa" { include "digital/us(pcxalga)" };
+xkb_symbols "pcxalka" { include "digital/us(pcxalga)" };
+xkb_symbols "lk44x" { include "digital/us(pcxalga)" };
+
+// **************************************************************
+// * *
+// * The "pc104" layouts. *
+// * *
+// **************************************************************
+xkb_symbols "pc104" {
+ include "digital/pc(pc104)"
+ include "digital/us(us)"
+ replace key <RALT> { [ Alt_R ] };
+};
diff --git a/data/xkbdata/symbols/digital/vt b/data/xkbdata/symbols/digital/vt
new file mode 100644
index 000000000..62257abf4
--- /dev/null
+++ b/data/xkbdata/symbols/digital/vt
@@ -0,0 +1,159 @@
+// $Xorg: vt,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+//
+//Copyright (c) 1996 Digital Equipment Corporation
+//
+//Permission is hereby granted, free of charge, to any person obtaining
+//a copy of this software and associated documentation files (the
+//"Software"), to deal in the Software without restriction, including
+//without limitation the rights to use, copy, modify, merge, publish,
+//distribute, sublicense, and sell copies of the Software, and to
+//permit persons to whom the Software is furnished to do so, subject to
+//the following conditions:
+//
+//The above copyright notice and this permission notice shall be included
+//in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+//OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM,
+//DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+//OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+//THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of the Digital Equipment
+//Corporation shall not be used in advertising or otherwise to promote
+//the sale, use or other dealings in this Software without prior written
+//authorization from Digital Equipment Corporation.
+//
+// HISTORY
+// Log
+// Revision 1.2 1996/06/18 09:10:19 erik
+// use flags correctly, assorted cleanups and consortium fixes
+//
+// Revision 1.1.6.2 1995/12/19 19:56:39 William_Walker
+// Update to XKB 0.65
+// [1995/12/17 02:37:47 William_Walker]
+//
+// Revision 1.1.2.5 1995/07/11 21:20:50 William_Walker
+// Make RALT act as RALT
+// [1995/07/11 21:18:28 William_Walker]
+//
+// Revision 1.1.2.4 1995/06/27 12:18:41 William_Walker
+// Add LK201 and LK450 support as well as TW and DP variants.
+// [1995/06/26 20:30:37 William_Walker]
+//
+// Revision 1.1.2.3 1995/06/09 20:55:21 William_Walker
+// Add VT105 layout support and ISO group support
+// [1995/06/09 20:43:09 William_Walker]
+//
+// Revision 1.1.2.2 1995/06/05 19:25:04 William_Walker
+// New file. I love keymaps.
+// [1995/06/05 18:17:58 William_Walker]
+//
+// EndLog
+//
+// @(#)RCSfile: vt Revision: /main/3 (DEC) Date: 1996/01/24 12:15:08
+//
+xkb_symbols "vt105" {
+
+ // Modifier mappings
+ //
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control { Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod3 { Mode_switch };
+
+ // Common keys
+ //
+ key <BKSP> { [ Delete ] };
+ key <TAB> { [ Tab ] };
+ key <RTRN> { [ Return ] };
+ key <LCTL> { [ Control_L ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <LFSH> { [ Shift_L ] };
+ key <RTSH> { [ Shift_R ] };
+ key <LCMP> { [ Alt_L, Meta_L ] };
+ key <SPCE> { [ space ] };
+
+ // "Function" keys
+ //
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ Escape, F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ F13 ] };
+ key <FK14> { [ F14 ] };
+ key <FK17> { [ F17 ] };
+ key <FK18> { [ F18 ] };
+ key <FK19> { [ F19 ] };
+ key <FK20> { [ F20 ] };
+
+ // "Editing" keys
+ //
+ key <HELP> { [ Help ] };
+ key <DO> { [ Menu ] };
+ key <FIND> { [ Find ] };
+ key <INS> { [ Insert ] };
+ key <DELE> { [ apLineDel ] };
+ key <SELE> { [ Select ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // "Keypad" keys
+ //
+ key <KPF1> {
+ type= "SHIFT+ALT",
+ symbols[Group1]= [ KP_F1,Pointer_EnableKeys ]
+ };
+ key <KPF2> { [ KP_F2 ] };
+ key <KPF3> { [ KP_F3 ] };
+ key <KPF4> { [ KP_F4 ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPCO> { [ KP_Separator ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KPDL> { [ KP_Decimal ] };
+
+ // Key to support Lock-Down Modifier descriptions for R5
+ //
+ key <LDM> { [ NoSymbol ] };
+};
+
+xkb_symbols "vt108" {
+
+ include "digital/vt(vt105)"
+
+ replace key <LCMP> { [ Mode_switch ] };
+
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ key <RCMP> { [ Multi_key ] };
+};
diff --git a/data/xkbdata/symbols/dk b/data/xkbdata/symbols/dk
new file mode 100644
index 000000000..c4c0bf2e5
--- /dev/null
+++ b/data/xkbdata/symbols/dk
@@ -0,0 +1,116 @@
+// $Xorg: dk,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/dk,v 3.6 2001/01/17 23:45:58 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Danish keyboard with dead key support
+ // and all of ISO-8859-1 characters available.
+
+ name[Group1]= "Danish";
+
+ key <TLDE> { [ onehalf, section ],
+ [ threequarters, paragraph ]};
+ key <LSGT> { [ less, greater ],
+ [ backslash, notsign ]};
+ key <SPCE> { [ space, space ],
+ [ nobreakspace, nobreakspace ]};
+ key <AE01> { [ 1, exclam ],
+ [ exclamdown, onesuperior ]};
+ key <AE02> { [ 2, quotedbl ],
+ [ at, twosuperior ]};
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, threesuperior ]};
+ key <AE04> { [ 4, currency ],
+ [ dollar, onequarter ]};
+ key <AE05> { [ 5, percent ],
+ [ NoSymbol, cent ]};
+ key <AE06> { [ 6, ampersand ],
+ [ yen, NoSymbol ]};
+ key <AE07> { [ 7, slash ],
+ [ braceleft, division ]};
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, guillemotleft ]};
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, guillemotright ]};
+ key <AE10> { [ 0, equal ],
+ [ braceright, degree ]};
+ key <AB08> { [ comma, semicolon ],
+ [ dead_cedilla, dead_ogonek ]};
+ key <AB09> { [ period, colon ],
+ [ periodcentered, dead_abovedot ]};
+ key <AB03> { [ c, C ],
+ [ copyright, NoSymbol ]};
+ key <AB10> { [ minus, underscore ],
+ [ hyphen, macron ]};
+ key <AC01> { [ a, A ],
+ [ ordfeminine, masculine ]};
+ key <AC03> { [ d, D ],
+ [ eth, ETH ]};
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ]};
+ key <AD04> { [ r, R ],
+ [ registered, NoSymbol ]};
+ key <AD05> { [ t, T ],
+ [ thorn, THORN ]};
+ key <AD08> { [ i, I ],
+ [ NoSymbol, NoSymbol ]};
+ key <AD09> { [ o, O ],
+ [ oe, OE ]};
+ key <AC10> { [ ae, AE ]};
+ key <AE11> { [ plus, question ],
+ [ plusminus, questiondown ]};
+ key <AC11> { [ oslash, Ooblique ]};
+ key <BKSL> { [ apostrophe, asterisk ],
+ [dead_doubleacute, multiply ]};
+ key <AD11> { [ aring, Aring ]};
+ key <AE12> { [ dead_acute, dead_grave ],
+ [ bar, brokenbar ]};
+ key <AD12> { [ dead_diaeresis, dead_circumflex ],
+ [ dead_tilde, dead_caron ]};
+
+
+ // End alphanumeric section, begin "Keypad"
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ // For naming consistency
+ include "dk(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ // For naming consistency
+ include "dk(Sundeadkeys)"
+};
+
+partial default alphanumeric_keys
+xkb_symbols "full" {
+ include "iso9995-3(full)"
+ include "dk(basic)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "dk(basic)"
+ key <AE12> { [ acute, grave ],
+ [ bar, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum ],
+ [ asciitilde, dead_macron ] };
+};
diff --git a/data/xkbdata/symbols/dvorak b/data/xkbdata/symbols/dvorak
new file mode 100644
index 000000000..2db3fbc1e
--- /dev/null
+++ b/data/xkbdata/symbols/dvorak
@@ -0,0 +1,351 @@
+// $XdotOrg: xc/programs/xkbcomp/symbols/dvorak,v 1.2 2004/04/23 19:54:52 eich Exp $
+// $Xorg: dvorak,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+// symbols definition for a very simple dvorak layout.
+// It has basically the alphanumeric keys, punctuation,
+// one shift key, one control key and caps lock. It
+// uses the punctuation keys configurations common on PC
+// keyboards (e.g. key <ABO9> is { [ period greater ] })
+
+// $XFree86: xc/programs/xkbcomp/symbols/dvorak,v 3.10 2003/08/08 06:27:09 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "srvr_ctrl(xfree86)"
+
+ name[Group1]= "Dvorak";
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [ grave, asciitilde ],
+ [ dead_grave, dead_tilde ] };
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ dead_circumflex, dead_circumflex ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ],
+ [ dead_grave ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ bracketleft, braceleft ] };
+ key <AE12> { [ bracketright, braceright ],
+ [ dead_tilde ] };
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ BackSpace, Terminate_Server ]
+ };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ apostrophe, quotedbl ],
+ [ dead_acute, dead_diaeresis ] };
+ key <AD02> { [ comma, less ],
+ [ dead_cedilla, dead_caron ] };
+ key <AD03> { [ period, greater ],
+ [ dead_abovedot, periodcentered ] };
+ key <AD04> { [ p, P ] };
+ key <AD05> { [ y, Y ] };
+ key <AD06> { [ f, F ] };
+ key <AD07> { [ g, G ] };
+ key <AD08> { [ c, C ] };
+ key <AD09> { [ r, R ] };
+ key <AD10> { [ l, L ] };
+ key <AD11> { [ slash, question ] };
+ key <AD12> { [ equal, plus ] };
+ key <RTRN> { [ Return ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ o, O ] };
+ key <AC03> { [ e, E ] };
+ key <AC04> { [ u, U ] };
+ key <AC05> { [ i, I ] };
+ key <AC06> { [ d, D ] };
+ key <AC07> { [ h, H ] };
+ key <AC08> { [ t, T ] };
+ key <AC09> { [ n, N ] };
+ key <AC10> { [ s, S ] };
+ key <AC11> { [ minus, underscore ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ semicolon, colon ],
+ [ dead_ogonek, dead_doubleacute ] };
+ key <AB02> { [ q, Q ] };
+ key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K ] };
+ key <AB05> { [ x, X ] };
+ key <AB06> { [ b, B ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ w, W ] };
+ key <AB09> { [ v, V ] };
+ key <AB10> { [ z, Z ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <SPCE> { [ space ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+};
+
+// Norwegian Dvorak
+partial alphanumeric_keys
+xkb_symbols "no" {
+ include "dvorak(basic)"
+
+ key <TLDE> { [ bar, section ],
+ [ brokenbar, paragraph ] };
+
+ key <AE01> { [ 1, exclam ],
+ [ exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at, twosuperior ] };
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, threesuperior ] };
+ key <AE04> { [ 4, dollar ],
+ [ currency, onequarter ] };
+ key <AE05> { [ 5, percent ],
+ [ onehalf, onehalf ] };
+ key <AE06> { [ 6, ampersand ],
+ [ threequarters, threequarters ] };
+ key <AE07> { [ 7, slash ],
+ [ braceleft, division ] };
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ bracketright ] };
+ key <AE10> { [ 0, equal ],
+ [ braceright ] };
+ key <AE11> { [ plus, question ],
+ [ plusminus, questiondown ] };
+ key <AE12> { [ backslash, grave ],
+ [ dead_acute, dead_grave ] };
+
+ key <AD01> { [ aring, Aring ],
+ [ braceright, bracketright ] };
+ key <AD02> { [ comma, semicolon ],
+ [ dead_cedilla, cedilla ] };
+ key <AD03> { [ period, colon ],
+ [ periodcentered ] };
+ key <AD04> { [ p, P ],
+ [ thorn, THORN ] };
+ key <AD05> { [ y, Y ],
+ [ yen ] };
+ key <AD06> { [ f, F ],
+ [ ordfeminine ] };
+ key <AD08> { [ c, C ],
+ [ ccedilla, copyright ] };
+ key <AD09> { [ r, R ],
+ [ registered ] };
+ key <AD11> { [ apostrophe, asterisk ],
+ [ dead_circumflex, acute ] };
+ key <AD12> { [ asciitilde, asciicircum ],
+ [ dead_diaeresis, dead_tilde ] };
+
+ key <AC03> { [ e, E ],
+ [ EuroSign, cent ] };
+ key <AC05> { [ i, I ],
+ [ idotless, Iabovedot ] };
+ key <AC06> { [ d, D ],
+ [ eth, ETH ] };
+ key <AC10> { [ s, S ],
+ [ ssharp ] };
+ key <AC11> { [ minus, underscore ],
+ [ hyphen, diaeresis ] };
+
+ key <AB01> { [ ae, AE ],
+ [ braceleft, bracketleft ] };
+ key <AB05> { [ x, X ],
+ [ multiply ] };
+ key <AB07> { [ m, M ],
+ [ mu ] };
+ key <BKSL> { [ less, greater ],
+ [ guillemotleft, guillemotright ] };
+
+ key <SPCE> { [ space, space ],
+ [ nobreakspace, nobreakspace ] };
+
+ key <LSGT> { [ oslash, Ooblique ],
+ [ bar, backslash ] };
+
+};
+
+// Swedish Dvorak
+partial alphanumeric_keys
+xkb_symbols "se" {
+ include "dvorak(no)"
+
+ key <TLDE> { [ section, onehalf ] };
+
+ key <AE04> { [ 4, currency ],
+ [ dollar, onequarter ] };
+ key <AE11> { [ plus, question ],
+ [ backslash, questiondown ] };
+ key <AE12> { [ dead_acute, dead_grave ],
+ [ backslash, grave ] };
+
+ key <AD01> { [ odiaeresis, Odiaeresis ],
+ [ braceright, bracketright ] };
+ key <AD02> { [ aring, Aring ] };
+ key <AD03> { [ adiaeresis, Adiaeresis ] };
+ key <AD11> { [ q, Q ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex],
+ [ dead_tilde, asciicircum ] };
+
+ key <AB01> { [ comma, semicolon ],
+ [ dead_cedilla, cedilla ] };
+ key <AB02> { [ period, colon ],
+ [ periodcentered ] };
+
+ key <BKSL> { [ less, greater ],
+ [ bar, brokenbar ] };
+
+ key <LSGT> { [ apostrophe, asterisk ],
+ [ bar, backslash ] };
+
+};
+// Swedish Dvorak alias
+partial alphanumeric_keys
+xkb_symbols "sv" {
+ include "dvorak(se)"
+};
+
+
+// Dvorak (UK) keymap (by odaen) allowing the usage of
+// the £ and ? key and swapping the @ and " keys.
+
+partial alphanumeric_keys
+xkb_symbols "gb" {
+ include "dvorak(basic)"
+
+ key <BKSL> { [ numbersign, asciitilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ twosuperior, NoSymbol ] };
+ key <AE03> { [ 3, sterling ],
+ [ threesuperior, NoSymbol ] };
+ key <AE04> { [ 4, dollar ],
+ [ EuroSign, NoSymbol ] };
+ key <LSGT> { [ backslash, bar ] };
+ key <AD01> { [ apostrophe, at ] };
+};
+
+// Keymap Dvorak pour le Français
+// par Josselin Mouette <josselin.mouette@ens-lyon.org>.
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "fr" {
+
+ include "dvorak(basic)"
+
+ name[Group1]= "French dvorak";
+
+ key <TLDE> { [ oe, OE ],
+ [ ae, AE ] };
+ key <AE01> { [ slash, 1 ],
+ [ ampersand, onesuperior ] };
+ key <AE02> { [ plus, 2 ],
+ [ asciitilde, twosuperior ] };
+ key <AE03> { [ minus, 3 ],
+ [ numbersign, threesuperior ] };
+ key <AE04> { [ asterisk, 4 ],
+ [ less, guillemotleft ] };
+ key <AE05> { [ equal, 5 ],
+ [ greater, guillemotright ] };
+ key <AE06> { [ backslash, 6 ],
+ [ at, notsign ] };
+ key <AE07> { [ parenleft, 7 ],
+ [ dead_circumflex, multiply ] };
+ key <AE08> { [ grave, 8 ],
+ [ dead_grave, division ] };
+ key <AE09> { [ parenright, 9 ],
+ [ asciicircum, plusminus ] };
+ key <AE10> { [ quotedbl, 0 ],
+ [ dead_diaeresis, dead_diaeresis ] };
+ key <AE11> { [ bracketleft, braceleft ],
+ [ bar, degree ] };
+ key <AE12> { [ bracketright, braceright ],
+ [ percent ] };
+
+ key <AD01> { [ colon, question ],
+ [ question, questiondown ] };
+ key <AD02> { [ agrave, Agrave ],
+ [ aring, Aring ] };
+ key <AD03> { [ eacute, Eacute ],
+ [ EuroSign, cent ] };
+ key <AD04> { [ g, G ],
+ [ oslash, Ooblique ] };
+ key <AD05> { [ period, exclam ],
+ [ periodcentered, exclamdown ] };
+ key <AD06> { [ h, H ],
+ [ eth, ETH ] };
+ key <AD07> { [ v, V ] };
+ key <AD08> { [ c, C ],
+ [ copyright, registered ] };
+ key <AD09> { [ m, M ],
+ [ mu, mu ] };
+ key <AD10> { [ k, K ],
+ [ dollar, dollar ] };
+ key <AD11> { [ egrave, Egrave ],
+ [ sterling, sterling ] };
+ key <AD12> { [ z, Z ],
+ [ yen ] };
+
+ key <AC01> { [ o, O ],
+ [ ocircumflex, Ocircumflex ] };
+ key <AC02> { [ a, A ],
+ [ acircumflex, Acircumflex ] };
+ key <AC03> { [ u, U ],
+ [ ucircumflex, Ucircumflex ] };
+ key <AC04> { [ e, E ],
+ [ ecircumflex, Ecircumflex ] };
+ key <AC05> { [ b, B ],
+ [ ssharp ] };
+ key <AC06> { [ f, F ] };
+ key <AC07> { [ s, S ] };
+ key <AC08> { [ t, T ],
+ [ thorn, THORN ] };
+ key <AC09> { [ n, N ],
+ [ ntilde, Ntilde ] };
+ key <AC10> { [ d, D ],
+ [ section ] };
+ key <AC11> { [ w, W ],
+ [ paragraph ] };
+ key <BKSL> { [ ugrave, Ugrave ],
+ [ masculine, ordfeminine ] };
+
+ key <LSGT> { [ ccedilla, Ccedilla ],
+ [ ccedilla, Ccedilla ] };
+ key <AB01> { [ apostrophe, underscore ],
+ [ dead_acute, macron ] };
+ key <AB02> { [ q, Q ],
+ [ guillemotleft, guillemotleft ] };
+ key <AB03> { [ comma, semicolon ],
+ [ guillemotright, guillemotright ] };
+ key <AB04> { [ i, I ],
+ [ icircumflex, Icircumflex ] };
+ key <AB05> { [ y, Y ],
+ [ ydiaeresis, Ydiaeresis ] };
+ key <AB06> { [ x, X ],
+ [ ediaeresis, Ediaeresis ] };
+ key <AB07> { [ r, R ],
+ [ udiaeresis, Udiaeresis ] };
+ key <AB08> { [ l, L ],
+ [ adiaeresis, Adiaeresis ] };
+ key <AB09> { [ p, P ],
+ [ odiaeresis, Odiaeresis ] };
+ key <AB10> { [ j, J ],
+ [ idiaeresis, Idiaeresis ] };
+
+ key <SPCE> { [ space, space ],
+ [ nobreakspace, nobreakspace ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+};
+
diff --git a/data/xkbdata/symbols/ee b/data/xkbdata/symbols/ee
new file mode 100644
index 000000000..dfdf7a86d
--- /dev/null
+++ b/data/xkbdata/symbols/ee
@@ -0,0 +1,83 @@
+// $XFree86: xc/programs/xkbcomp/symbols/ee,v 1.2 2000/10/27 18:31:08 dawes Exp $
+// Estonian XKB-keymap by Ville Hallik <ville@linux.ee>
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Estonian keyboard
+ // This layout conforms to both EVS8:1993 and EVS8:2000 standards
+
+ name[Group1]= "Estonian";
+
+ key <TLDE> { [ dead_caron, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at ] };
+ key <AE03> { [ 3, numbersign ],
+ [ sterling ] };
+ key <AE04> { [ 4, currency ],
+ [ dollar ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ],
+ [ braceleft ] };
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ bracketright ] };
+ key <AE10> { [ 0, equal ],
+ [ braceright ] };
+ key <AE11> { [ plus, question ],
+ [ backslash ] };
+ key <AE12> { [ dead_acute, dead_grave ],
+ [ quoteleft, quoteright ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ] };
+ key <AD12> { [ otilde, Otilde ],
+ [ section ] };
+ key <AC02> { [ s, S ],
+ [ scaron, Scaron ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ asciicircum ] };
+ key <AB01> { [ z, Z ],
+ [ zcaron, Zcaron ] };
+ key <AB08> { [ comma, semicolon ],
+ [ less ] };
+ key <AB09> { [ period, colon ],
+ [ greater ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ apostrophe, asterisk ],
+ [ onehalf ] };
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "ee(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "ee(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Estonian layout to eliminate all dead keys
+
+ include "ee(basic)"
+ key <TLDE> { [ asciicircum, asciitilde ] };
+ key <AE12> { [ apostrophe, grave ] };
+};
diff --git a/data/xkbdata/symbols/el b/data/xkbdata/symbols/el
new file mode 100644
index 000000000..5e23319fa
--- /dev/null
+++ b/data/xkbdata/symbols/el
@@ -0,0 +1,145 @@
+// $XFree86$
+//
+// Hellenic keyboard map for XFree86
+// Original version:
+// Kostas Gewrgiou <gewrgiou@imbc.gr>
+// Heavily modified by:
+// Vasilis Vasaitis <vvas@hal.csd.auth.gr>
+
+default partial alphanumeric_keys alternate_group
+xkb_symbols "basic" {
+
+ include "el(bare)"
+
+ key <TLDE> { [], [ grave, asciitilde ] };
+ key <AE01> { [], [ 1, exclam ] };
+ key <AE02> { [], [ 2, at ] };
+ key <AE03> { [], [ 3, numbersign ] };
+ key <AE04> { [], [ 4, dollar ] };
+ key <AE05> { [], [ 5, percent ] };
+ key <AE06> { [], [ 6, asciicircum ] };
+ key <AE07> { [], [ 7, ampersand ] };
+ key <AE08> { [], [ 8, asterisk ] };
+ key <AE09> { [], [ 9, parenleft ] };
+ key <AE10> { [], [ 0, parenright ] };
+ key <AE11> { [], [ minus, underscore ] };
+ key <AE12> { [], [ equal, plus ] };
+
+ key <AD11> { [], [ bracketleft, braceleft ] };
+ key <AD12> { [], [ bracketright, braceright ] };
+
+ key <AC11> { [], [ apostrophe, quotedbl ] };
+
+ key <AB08> { [], [ comma, less ] };
+ key <AB09> { [], [ period, greater ] };
+ key <AB10> { [], [ slash, question ] };
+ key <BKSL> { [], [ backslash, bar ] };
+
+};
+
+hidden partial alphanumeric_keys alternate_group
+xkb_symbols "bare" {
+
+ name[Group2] = "ISO8859-7";
+
+ key <AD01> { [], [ semicolon, colon ] };
+ key <AD02> { [], [ Greek_finalsmallsigma, Greek_SIGMA ] };
+ key <AD03> { [], [ Greek_epsilon, Greek_EPSILON ] };
+ key <AD04> { [], [ Greek_rho, Greek_RHO ] };
+ key <AD05> { [], [ Greek_tau, Greek_TAU ] };
+ key <AD06> { [], [ Greek_upsilon, Greek_UPSILON ] };
+ key <AD07> { [], [ Greek_theta, Greek_THETA ] };
+ key <AD08> { [], [ Greek_iota, Greek_IOTA ] };
+ key <AD09> { [], [ Greek_omicron, Greek_OMICRON ] };
+ key <AD10> { [], [ Greek_pi, Greek_PI ] };
+
+ key <AC01> { [], [ Greek_alpha, Greek_ALPHA ] };
+ key <AC02> { [], [ Greek_sigma, Greek_SIGMA ] };
+ key <AC03> { [], [ Greek_delta, Greek_DELTA ] };
+ key <AC04> { [], [ Greek_phi, Greek_PHI ] };
+ key <AC05> { [], [ Greek_gamma, Greek_GAMMA ] };
+ key <AC06> { [], [ Greek_eta, Greek_ETA ] };
+ key <AC07> { [], [ Greek_xi, Greek_XI ] };
+ key <AC08> { [], [ Greek_kappa, Greek_KAPPA ] };
+ key <AC09> { [], [ Greek_lamda, Greek_LAMDA ] };
+ key <AC10> { [], [ dead_acute, dead_diaeresis ] };
+
+ key <AB01> { [], [ Greek_zeta, Greek_ZETA ] };
+ key <AB02> { [], [ Greek_chi, Greek_CHI ] };
+ key <AB03> { [], [ Greek_psi, Greek_PSI ] };
+ key <AB04> { [], [ Greek_omega, Greek_OMEGA ] };
+ key <AB05> { [], [ Greek_beta, Greek_BETA ] };
+ key <AB06> { [], [ Greek_nu, Greek_NU ] };
+ key <AB07> { [], [ Greek_mu, Greek_MU ] };
+
+ key <LSGT> { [], [ guillemotleft, guillemotright ] };
+
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "extended" {
+
+ include "el(basic)"
+
+ key.type = "THREE_LEVEL";
+
+ key <AE05> { [ 5, percent, EuroSign ],
+ [ 5, percent, EuroSign ] };
+
+ key <AD01> { [], [ semicolon, colon, periodcentered ] };
+
+ key <AD03> { [ e, E, EuroSign ],
+ [ Greek_epsilon, Greek_EPSILON, EuroSign ] };
+
+ key <AC10> { [ semicolon, colon, periodcentered ] };
+
+ key <AB08> { [ comma, less, guillemotleft ],
+ [ comma, less, guillemotleft ] };
+
+ key <AB09> { [ period, greater, guillemotright ],
+ [ period, greater, guillemotright ] };
+
+ key <RALT> { [ ISO_Level3_Shift ] };
+
+ modifier_map Mod5 { ISO_Level3_Shift };
+
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "polytonic" {
+
+ include "el(extended)"
+
+ key.type = "THREE_LEVEL";
+
+ key <AD11> { [], [ dead_tilde, dead_diaeresis, dead_macron ] };
+ key <AD12> { [], [ dead_iota, VoidSymbol, dead_breve ] };
+
+ key <AC10> { [], [ dead_acute, dead_horn ] };
+ key <AC11> { [], [ dead_grave, dead_ogonek ] };
+
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "Sundeadkeys" {
+
+ include "el(basic)"
+
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "sundeadkeys" {
+
+ include "el(Sundeadkeys)"
+
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "nodeadkeys" {
+
+ include "el(basic)"
+
+ key <AC10> { [], [ semicolon, colon ] };
+
+};
+
diff --git a/data/xkbdata/symbols/en_US b/data/xkbdata/symbols/en_US
new file mode 100644
index 000000000..db1bf1cfc
--- /dev/null
+++ b/data/xkbdata/symbols/en_US
@@ -0,0 +1,126 @@
+// $Xorg: en_US,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+// $XFree86$
+
+partial hidden alphanumeric_keys
+xkb_symbols "basic" {
+ include "us(basic)"
+ include "iso9995-3(basic)"
+};
+default
+xkb_symbols "pc101" {
+ include "us(pc101)"
+
+ replace key <RALT> { [ Mode_switch, Multi_key ] };
+
+ include "iso9995-3(basic101)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+xkb_symbols "pc102" {
+ include "us(pc102)"
+
+ replace key <RALT> { [ Mode_switch, Multi_key ] };
+
+ include "iso9995-3(basic)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+xkb_symbols "pc104" {
+ include "us(pc104)"
+
+ replace key <RALT> { [ Mode_switch ] };
+ replace key <RWIN> { [ Multi_key ] };
+
+ include "iso9995-3(basic101)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+xkb_symbols "pc105" {
+ include "us(pc105)"
+
+ replace key <RALT> { [ Mode_switch ] };
+ replace key <RWIN> { [ Multi_key ] };
+
+ include "iso9995-3(basic)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+xkb_symbols "pc_universal" {
+ include "us(pc_universal)"
+
+ replace key <RALT> { [ Mode_switch ] };
+ replace key <RWIN> { [ Multi_key ] };
+
+ include "iso9995-3(basic)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "sun4" {
+ include "us(sun4)"
+ include "iso9995-3(basic)"
+};
+xkb_symbols "sun5" {
+ include "us(sun5)"
+ include "iso9995-3(basic)"
+};
+xkb_symbols "pc101_nodeadkeys" {
+ include "us(pc101)"
+
+ replace key <RALT> { [ Mode_switch, Multi_key ] };
+
+ include "iso9995-3(nodeadkeys101)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+xkb_symbols "pc102_nodeadkeys" {
+ include "us(pc102)"
+
+ replace key <RALT> { [ Mode_switch, Multi_key ] };
+
+ include "iso9995-3(nodeadkeys)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "pc104_nodeadkeys" {
+ include "us(pc104)"
+
+ replace key <RALT> { [ Mode_switch ] };
+ replace key <RWIN> { [ Multi_key ] };
+
+ include "iso9995-3(nodeadkeys101)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "pc105_nodeadkeys" {
+ include "us(pc105)"
+
+ replace key <RALT> { [ Mode_switch ] };
+ replace key <RWIN> { [ Multi_key ] };
+
+ include "iso9995-3(nodeadkeys101)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "pc_universal_nodeadkeys" {
+ include "us(pc_universal)"
+
+ replace key <RALT> { [ Mode_switch ] };
+ replace key <RWIN> { [ Multi_key ] };
+
+ include "iso9995-3(nodeadkeys101)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "sun4_nodeadkeys" {
+ include "us(sun4)"
+ include "iso9995-3(nodeadkeys)"
+};
+xkb_symbols "sun5_nodeadkeys" {
+ include "us(sun5)"
+ include "iso9995-3(nodeadkeys)"
+};
diff --git a/data/xkbdata/symbols/es b/data/xkbdata/symbols/es
new file mode 100644
index 000000000..99c8c6f2e
--- /dev/null
+++ b/data/xkbdata/symbols/es
@@ -0,0 +1,91 @@
+// $Xorg: es,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+
+
+// Modified for a real Spanish Keyboard by Jon Tombs
+// $XFree86: xc/programs/xkbcomp/symbols/es,v 3.4 2000/10/27 18:31:08 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Spanish keybaord
+
+ name[Group1]= "Spanish";
+
+ key <TLDE> { [ masculine, ordfeminine ],
+ [ backslash, backslash ] };
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ] };
+ key <AE01> { [ 1, exclam ],
+ [ bar, exclamdown ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at, oneeighth ] };
+ key <AE03> { [ 3, periodcentered ],
+ [ numbersign, sterling ] };
+ key <AE04> { [ 4, dollar ],
+ [ asciitilde, dollar ] };
+ key <AE06> { [ 6, ampersand ],
+ [ notsign, fiveeighths ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ ntilde, Ntilde ],
+ [ asciitilde,dead_doubleacute ] };
+ key <AE11> { [ apostrophe, question ] };
+ key <AC11> { [ dead_acute, dead_diaeresis ],
+ [ braceleft, braceleft ] };
+ key <BKSL> { [ ccedilla, Ccedilla ],
+ [ braceright, dead_breve ] };
+ key <AD11> { [ dead_grave, dead_circumflex ],
+ [ bracketleft, dead_abovering ] };
+ key <AE12> { [ exclamdown, questiondown ],
+ [ asciitilde, asciitilde ] };
+ key <AD12> { [ plus, asterisk ],
+ [ bracketright, dead_macron ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "es(basic)"
+
+ key <AC11> { [ SunFA_Acute, SunFA_Diaeresis ],
+ [ braceleft, braceleft ] };
+ key <AD11> { [ SunFA_Grave, SunFA_Circum ],
+ [ bracketleft, dead_abovering ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "es(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "es(basic)"
+
+ key <AC10> { [ ntilde, Ntilde ],
+ [ asciitilde, doubleacute ] };
+ key <AC11> { [ acute, diaeresis ],
+ [ braceleft, braceleft ] };
+ key <BKSL> { [ ccedilla, Ccedilla ],
+ [ braceright, breve ] };
+ key <AD11> { [ grave, asciicircum ],
+ [ bracketleft, degree ] };
+ key <AD12> { [ plus, asterisk ],
+ [ bracketright, macron ] };
+};
diff --git a/data/xkbdata/symbols/eurosign b/data/xkbdata/symbols/eurosign
new file mode 100644
index 000000000..9b67c7222
--- /dev/null
+++ b/data/xkbdata/symbols/eurosign
@@ -0,0 +1,20 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/eurosign,v 1.2 2004/10/09 17:35:01 svu Exp $
+
+// Most keyboards have the EuroSign engraved on the E key
+partial
+xkb_symbols "e" {
+ key <AD03> { [ NoSymbol, NoSymbol, EuroSign ] };
+};
+
+// Many keyboards have the EuroSign engraved on the 5 key
+partial
+xkb_symbols "5" {
+ key <AE05> { [ NoSymbol, NoSymbol, EuroSign ] };
+};
+
+// Many Apple keyboards have the EuroSign engraved on the 2 key
+partial
+xkb_symbols "2" {
+ key <AE02> { [ NoSymbol, NoSymbol, EuroSign ] };
+};
diff --git a/data/xkbdata/symbols/fi b/data/xkbdata/symbols/fi
new file mode 100644
index 000000000..ac4b504ee
--- /dev/null
+++ b/data/xkbdata/symbols/fi
@@ -0,0 +1,122 @@
+// $Xorg: fi,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+// $XFree86: xc/programs/xkbcomp/symbols/fi,v 3.9 2002/12/19 01:07:54 dawes Exp $
+
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Finnish keyboard with dead key support
+ // and all of ISO-8859-1 and ISO-8859-15 characters available.
+
+ name[Group1]= "Finnish";
+
+ key <TLDE> { [ section, onehalf ],
+ [ onequarter, threequarters ]};
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ]};
+ // AltGr+<SPCE> is pressed accidentally too often after AltGr+<LSGT>,
+ // hence AltGr+<SPCE> produces now space, not nobreakspace.
+ key <SPCE> { [ space, space ],
+ [ space, nobreakspace ]};
+ key <AE01> { [ 1, exclam ],
+ [ exclamdown, onesuperior ]};
+ key <AE02> { [ 2, quotedbl ],
+ [ at, twosuperior ]};
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, threesuperior ]};
+ key <AE04> { [ 4, currency ],
+ [ dollar, cent ]};
+ key <AE05> { [ 5, percent ],
+ [ EuroSign, masculine ]};
+ key <AE06> { [ 6, ampersand ],
+ [ yen, ordfeminine ]};
+ key <AE07> { [ 7, slash ],
+ [ braceleft, plusminus ]};
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, guillemotleft ]};
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, guillemotright ]};
+ key <AE10> { [ 0, equal ],
+ [ braceright, degree ]};
+ key <AB08> { [ comma, semicolon ],
+ [ dead_cedilla, dead_ogonek ]};
+ key <AB09> { [ period, colon ],
+ [ periodcentered, notsign ]};
+ key <AB01> { [ z, Z ],
+ [ zcaron, Zcaron ]};
+ key <AB02> { [ x, X ],
+ [ multiply, division ]};
+ key <AB03> { [ c, C ],
+ [ copyright, cent ]};
+ key <AB05> { [ b, B ],
+ [ ssharp, NoSymbol ]};
+ key <AB06> { [ n, N ],
+ [ ntilde, Ntilde ]};
+ key <AB07> { [ m, M ],
+ [ mu, NoSymbol ]};
+ key <AB10> { [ minus, underscore ],
+ [ hyphen, macron ]};
+ key <AC02> { [ s, S ],
+ [ scaron, Scaron ]};
+ key <AC03> { [ d, D ],
+ [ eth, ETH ]};
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ]};
+ key <AD04> { [ r, R ],
+ [ registered, NoSymbol ]};
+ key <AD05> { [ t, T ],
+ [ thorn, THORN ]};
+ key <AD10> { [ p, P ],
+ [ paragraph, NoSymbol ]};
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ oslash, Ooblique ]};
+ key <AE11> { [ plus, question ],
+ [ backslash, questiondown ]};
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ ae, AE ]};
+ key <BKSL> { [ apostrophe, asterisk ],
+ [ NoSymbol, NoSymbol ]};
+ key <AD11> { [ aring, Aring ],
+ [ oe, OE ]};
+ key <AE12> { [ dead_acute, dead_grave ],
+ [ NoSymbol, NoSymbol ]};
+ key <AD12> { [ dead_diaeresis, dead_circumflex ],
+ [ dead_tilde, dead_caron ]};
+
+ // End alphanumeric section, begin "Keypad"
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ // End "Keypad" section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control { Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "fi(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "fi(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ // Modifies the basic Finnish layout to eliminate all dead keys
+
+ include "fi(basic)" // for consistent naming
+
+ key <AB08> { [ comma, semicolon ],
+ [ cedilla, ogonek ]};
+ key <AE12> { [ acute, grave ],
+ [ NoSymbol, NoSymbol ]};
+ key <AD12> { [ diaeresis, asciicircum ],
+ [ asciitilde, caron ]};
+};
diff --git a/data/xkbdata/symbols/fo b/data/xkbdata/symbols/fo
new file mode 100644
index 000000000..15297abbd
--- /dev/null
+++ b/data/xkbdata/symbols/fo
@@ -0,0 +1,91 @@
+// $XFree86$
+
+partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Faroese keyboard with dead key support
+ // and all of ISO-8859-1 characters available.
+
+ name[Group1]= "Faroese";
+
+ key <TLDE> { [ onehalf, section ],
+ [ threequarters, paragraph ]};
+ key <LSGT> { [ less, greater ],
+ [ backslash, notsign ]};
+ key <SPCE> { [ space, space ],
+ [ nobreakspace, nobreakspace ]};
+ key <AE01> { [ 1, exclam ],
+ [ exclamdown, onesuperior ]};
+ key <AE02> { [ 2, quotedbl ],
+ [ at, twosuperior ]};
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, threesuperior ]};
+ key <AE04> { [ 4, currency ],
+ [ dollar, onequarter ]};
+ key <AE05> { [ 5, percent ],
+ [ NoSymbol, cent ]};
+ key <AE06> { [ 6, ampersand ],
+ [ yen, NoSymbol ]};
+ key <AE07> { [ 7, slash ],
+ [ braceleft, division ]};
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, guillemotleft ]};
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, guillemotright ]};
+ key <AE10> { [ 0, equal ],
+ [ braceright, degree ]};
+ key <AB08> { [ comma, semicolon ],
+ [ dead_cedilla, dead_ogonek ]};
+ key <AB09> { [ period, colon ],
+ [ periodcentered, dead_abovedot ]};
+ key <AB03> { [ c, C ],
+ [ copyright, NoSymbol ]};
+ key <AB10> { [ minus, underscore ],
+ [ hyphen, macron ]};
+ key <AC01> { [ a, A ],
+ [ ordfeminine, masculine ]};
+ key <AC03> { [ d, D ],
+ [ eth, ETH ]};
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ]};
+ key <AD04> { [ r, R ],
+ [ registered, NoSymbol ]};
+ key <AD05> { [ t, T ],
+ [ thorn, THORN ]};
+ key <AD08> { [ i, I ],
+ [ NoSymbol, NoSymbol ]};
+ key <AD09> { [ o, O ],
+ [ oe, OE ]};
+ key <AC10> { [ ae, AE ]};
+ key <AE11> { [ plus, question ],
+ [ plusminus, questiondown ]};
+ key <AC11> { [ oslash, Ooblique ]};
+ key <BKSL> { [ apostrophe, asterisk ],
+ [dead_doubleacute, multiply ]};
+ key <AD11> { [ aring, Aring ],
+ [ dead_diaeresis, dead_circumflex ]};
+ key <AE12> { [ dead_acute, dead_grave ],
+ [ bar, brokenbar ]};
+ key <AD12> { [ eth, ETH ],
+ [ dead_tilde, dead_caron ]};
+
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "fo(basic)"
+ key <AE12> { [ acute, grave ],
+ [ bar, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum ],
+ [ asciitilde, macron ] };
+};
diff --git a/data/xkbdata/symbols/fr b/data/xkbdata/symbols/fr
new file mode 100644
index 000000000..bc4a46341
--- /dev/null
+++ b/data/xkbdata/symbols/fr
@@ -0,0 +1,101 @@
+// $Xorg: fr,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/fr,v 3.5 2000/10/27 18:31:09 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple French keybaord
+
+ name[Group1]= "French";
+ key <TLDE> { [ twosuperior ] };
+ key <AE01> { [ ampersand, 1 ],
+ [ onesuperior, exclamdown ] };
+ key <AE02> { [ eacute, 2 ],
+ [ asciitilde, oneeighth ] };
+ key <AE03> { [ quotedbl, 3 ],
+ [ numbersign, sterling ] };
+ key <AE04> { [ apostrophe, 4 ],
+ [ braceleft, dollar ] };
+ key <AE05> { [ parenleft, 5 ],
+ [ bracketleft, threeeighths ] };
+ key <AE06> { [ minus, 6 ],
+ [ bar, fiveeighths ] };
+ key <AE07> { [ egrave, 7 ],
+ [ grave, seveneighths ] };
+ key <AE08> { [ underscore, 8 ],
+ [ backslash, trademark ] };
+ key <AE09> { [ ccedilla, 9 ],
+ [ asciicircum, plusminus ] };
+ key <AE10> { [ agrave, 0 ],
+ [ at, degree ] };
+ key <AE11> { [ parenright, degree ],
+ [ bracketright, questiondown ] };
+ key <AE12> { [ equal, plus ],
+ [ braceright, dead_ogonek ] };
+ key <AD01> { [ a, A ],
+ [ ae, AE ] };
+ key <AD02> { [ z, Z ],
+ [ guillemotleft, less ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+ key <AD11> { [ dead_circumflex, dead_diaeresis ] };
+ key <AD12> { [ dollar, sterling ],
+ [ currency, dead_macron ] };
+ key <AC01> { [ q, Q ],
+ [ at, Greek_OMEGA ] };
+ key <AC10> { [ m, M ],
+ [ mu, masculine ] };
+ key <AC11> { [ ugrave, percent ] };
+ key <LSGT> { [ less, greater ] };
+ key <AB01> { [ w, W ],
+ [ lstroke, Lstroke ] };
+ key <AB07> { [ comma, question ],
+ [ dead_acute, dead_doubleacute ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ exclam, section ] };
+ key <BKSL> { [ asterisk, mu ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // Modifies the basic French layout to use the Sun dead keys
+
+ include "fr(basic)"
+ key <AD11> { [ SunFA_Circum, SunFA_Diaeresis ] };
+ key <AB07> { [ comma, question ],
+ [ SunFA_Acute,dead_doubleacute ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "fr(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic French layout to eliminate all dead keys
+
+ include "fr(basic)"
+ key <AE12> { [ equal, plus ],
+ [ braceright, ogonek ] };
+ key <AD11> { [ asciicircum, diaeresis ] };
+ key <AD12> { [ dollar, sterling ],
+ [ currency, macron ] };
+ key <AB07> { [ comma, question ],
+ [ acute, doubleacute ] };
+};
diff --git a/data/xkbdata/symbols/fr_CH b/data/xkbdata/symbols/fr_CH
new file mode 100644
index 000000000..f6e92b471
--- /dev/null
+++ b/data/xkbdata/symbols/fr_CH
@@ -0,0 +1,57 @@
+// $Xorg: fr_CH,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/fr_CH,v 3.4 2000/01/21 01:12:27 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Swiss/French keybaord
+
+ include "de_CH(basic)"
+ name[Group1]= "Swiss French";
+
+ override key <AD11> {
+ [ egrave, udiaeresis ],
+ [ bracketleft ]
+ };
+ override key <AC10> {
+ [ eacute, odiaeresis ]
+ };
+ override key <AC11> {
+ [ agrave, adiaeresis ],
+ [ braceleft ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ // modify the default Swiss French layout to use Sun dead keys
+ include "fr_CH(basic)"
+ key <AE11> { [ apostrophe, question ],
+ [ SunFA_Acute ] };
+ key <AE12> { [ SunFA_Circum, SunFA_Grave ],
+ [ SunFA_Tilde ] };
+ key <AD12> { [ SunFA_Diaeresis, exclam ],
+ [ bracketright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "fr_CH(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ // modify the default Swiss French layout not to have any dead keys
+ include "fr_CH(basic)"
+ key <AE11> { [ apostrophe, question ],
+ [ acute ] };
+ key <AE12> { [ asciicircum, grave ],
+ [ asciitilde ] };
+ key <AD12> { [ diaeresis, exclam ],
+ [ bracketright ] };
+};
diff --git a/data/xkbdata/symbols/fujitsu/Makefile.am b/data/xkbdata/symbols/fujitsu/Makefile.am
new file mode 100644
index 000000000..73dff2870
--- /dev/null
+++ b/data/xkbdata/symbols/fujitsu/Makefile.am
@@ -0,0 +1,4 @@
+xkbdata_symbols_fujitsudir = $(datadir)/X11/xkb/symbols/fujitsu
+dist_xkbdata_symbols_fujitsu_DATA = \
+ jp \
+ us
diff --git a/data/xkbdata/symbols/fujitsu/Makefile.in b/data/xkbdata/symbols/fujitsu/Makefile.in
new file mode 100644
index 000000000..c891321a2
--- /dev/null
+++ b/data/xkbdata/symbols/fujitsu/Makefile.in
@@ -0,0 +1,260 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_fujitsudir = $(datadir)/X11/xkb/symbols/fujitsu
+dist_xkbdata_symbols_fujitsu_DATA = \
+ jp \
+ us
+
+subdir = symbols/fujitsu
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_fujitsu_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_fujitsu_DATA) \
+ $(srcdir)/Makefile.in Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/fujitsu/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_fujitsuDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_fujitsuDATA: $(dist_xkbdata_symbols_fujitsu_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_fujitsudir)
+ @list='$(dist_xkbdata_symbols_fujitsu_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_fujitsuDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_fujitsudir)/$$f"; \
+ $(dist_xkbdata_symbols_fujitsuDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_fujitsudir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_fujitsuDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_fujitsu_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_fujitsudir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_fujitsudir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_fujitsudir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_fujitsuDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_fujitsuDATA \
+ uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_fujitsuDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_fujitsuDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/fujitsu/jp b/data/xkbdata/symbols/fujitsu/jp
new file mode 100644
index 000000000..bc578ae7b
--- /dev/null
+++ b/data/xkbdata/symbols/fujitsu/jp
@@ -0,0 +1,88 @@
+// $Xorg: jp,v 1.4 2001/02/09 02:05:52 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// Japanese layout for a Fujitsu 140 key keyboard
+
+xkb_symbols {
+ override "fujitsu/us"
+ augment key <AE01> { [], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ augment key <AE05> { [], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ replace key <AE10> { [ 0 ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, asciitilde ], [ kana_HE ] };
+ key <BKSL> { [ backslash, bar ], [ prolongedsound] };
+ augment key <AD01> { [], [ kana_TA ] };
+ augment key <AD02> { [], [ kana_TE ] };
+ augment key <AD03> { [], [ kana_I, kana_i ] };
+ augment key <AD04> { [], [ kana_SU ] };
+ augment key <AD05> { [], [ kana_KA ] };
+ augment key <AD06> { [], [ kana_N ] };
+ augment key <AD07> { [], [ kana_NA ] };
+ augment key <AD08> { [], [ kana_NI ] };
+ augment key <AD09> { [], [ kana_RA ] };
+ augment key <AD10> { [], [ kana_SE ] };
+ key <AD11> { [ at, grave ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ augment key <AC01> { [], [ kana_CHI ] };
+ augment key <AC02> { [], [ kana_TO ] };
+ augment key <AC03> { [], [ kana_SHI ] };
+ augment key <AC04> { [], [ kana_HA ] };
+ augment key <AC05> { [], [ kana_KI ] };
+ augment key <AC06> { [], [ kana_KU ] };
+ augment key <AC07> { [], [ kana_MA ] };
+ augment key <AC08> { [], [ kana_NO ] };
+ augment key <AC09> { [], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <TLDE> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+ augment key <AB01> { [], [ kana_TSU, kana_tsu ] };
+ augment key <AB02> { [], [ kana_SA ] };
+ augment key <AB03> { [], [ kana_SO ] };
+ augment key <AB04> { [], [ kana_HI ] };
+ augment key <AB05> { [], [ kana_KO ] };
+ augment key <AB06> { [], [ kana_MI ] };
+ augment key <AB07> { [], [ kana_MO ] };
+ augment key <AB08> { [], [ kana_NE, kana_comma ] };
+ augment key <AB09> { [], [ kana_RU, kana_fullstop ] };
+ augment key <AB10> { [], [ kana_ME, kana_conjunctive ] };
+ key <AB11> { [ underscore ], [ kana_RO ] };
+ key <UNK0> { [ Select ] };
+ key <UNK1> { [ Massyo ] };
+ key <UNK2> { [ Touroku ] };
+ key <UNK3> { [ Zenkaku_Hankaku ] };
+ key <UNK4> { [ Eisu_Shift ] };
+ key <UNK5> { [ Mode_switch ] };
+ key <UNK6> { [ Cancel ] };
+ key <UNK7> { [ Muhenkan ] };
+ key <UNK8> { [ Henkan ] };
+};
diff --git a/data/xkbdata/symbols/fujitsu/us b/data/xkbdata/symbols/fujitsu/us
new file mode 100644
index 000000000..e81be028d
--- /dev/null
+++ b/data/xkbdata/symbols/fujitsu/us
@@ -0,0 +1,145 @@
+// $Xorg: us,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// US/ASCII layout for a Fujitsu 138 key keyboard
+xkb_symbols {
+ include "us(basic)"
+
+ // A few alphanumeric keys are different
+ key <TLDE> { [ grave, asciitilde ] };
+ key <BKSP> { [ BackSpace ] };
+ key <BKSL> { [ backslash, bar ] };
+ key <AB11> { [ ] };
+
+ key <RTSH> { [ Shift_R ] };
+
+ key <LALT> { [ Alt_L ] };
+ key <RALT> { [ Alt_R ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <LNFD> { [ Linefeed ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <BREA> { [ Break ] };
+ key <PRSC> { [ Print ] };
+ key <KNJI> { [ Kanji ] };
+ key <PAUS> { [ Pause ] };
+
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ F13 ] };
+ key <FK14> { [ F14 ] };
+ key <FK15> { [ F15 ] };
+ key <FK16> { [ F16 ] };
+ key <FK17> { [ F17 ] };
+ key <FK18> { [ F18 ] };
+ key <FK19> { [ F19 ] };
+ key <FK20> { [ F20 ] };
+ key <FK21> { [ F21 ] };
+ key <FK22> { [ F22 ] };
+ key <FK23> { [ F23 ] };
+ key <FK24> { [ F24 ] };
+ key <FK25> { [ F25 ] };
+ key <FK26> { [ F26 ] };
+ key <FK27> { [ F27 ] };
+ key <FK28> { [ F28 ] };
+ key <FK29> { [ F29 ] };
+ key <FK30> { [ F30 ] };
+ key <FK31> { [ F31 ] };
+ key <FK32> { [ F32 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <UNDO> { [ Undo ] };
+ key <COPY> { [ F33 ] };
+ key <PAST> { [ F34 ] };
+ key <CUT> { [ F35 ] };
+ key <HELP> { [ Help ] };
+ // End "Editing" section
+
+ // Begin "Cursor" section
+ key <UNK0> { [ ] };
+ key <UNK1> { [ ] };
+ key <UNK2> { [ ] };
+ key <PGUP> { [ Prior ] };
+ key <HOME> { [ Home ] };
+ key <PGDN> { [ Next ] };
+ key <UNK3> { [ ] };
+ key <DEL> { [ Delete ] };
+ key <INS> { [ Insert ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+ key <EXEC> { [ Execute ] };
+ // End "Cursor" section
+
+ // Begin "Keypad" section
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPAD> { [ KP_Add ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPEQ> { [ KP_Equal ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPDC> { [ KP_Decimal ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KP00> { [ KP_0 ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Mode_switch };
+ modifier_map Mod3 { Alt_L };
+ modifier_map Mod4 { Num_Lock };
+ modifier_map Mod5 { F13, F18, F20 };
+};
+
diff --git a/data/xkbdata/symbols/gb b/data/xkbdata/symbols/gb
new file mode 100644
index 000000000..5c74619c1
--- /dev/null
+++ b/data/xkbdata/symbols/gb
@@ -0,0 +1,134 @@
+// $Xorg: gb,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/gb,v 3.6 2003/10/04 10:25:13 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard layout defined by
+ // the SVR4 European Language Supplement and sometimes also
+ // known as the IBM 166 layout.
+
+
+ name[Group1]= "Great Britain";
+
+ key <TLDE> { [ grave, notsign ],
+ [ bar, bar ] };
+ key <LSGT> { [ backslash, bar ],
+ [ bar, brokenbar ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, sterling ] };
+ key <AE04> { [ 4, dollar ],
+ [ EuroSign ] };
+ key <AC11> { [ apostrophe, at ] };
+ key <BKSL> { [ numbersign, asciitilde ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "ibm168" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard
+ // Based on the IBM 168
+
+ name[Group1]= "Great Britain";
+
+ key <TLDE> { [ backslash, bar ] };
+ key <LSGT> { [ brokenbar, horizconnector ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ twosuperior, twosuperior ] };
+ key <AE03> { [ 3, sterling ],
+ [ threesuperior, threesuperior ] };
+ key <AE05> { [ 5, percent ],
+ [ onehalf, onehalf ] };
+ key <AE07> { [ 7 ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ plusminus, plusminus ] };
+ key <AE10> { [ 0, numbersign ],
+ [ degree, degree ] };
+ key <AE11> { [ minus, equal ] };
+ key <AE12> { [ notsign, underscore ] };
+ key <AD11> { [ at, grave ] };
+ key <AD12> { [ bracketleft, braceleft ],
+ [ asciitilde, asciitilde ] };
+ key <AC10> { [ semicolon, plus ] };
+ key <AC11> { [ colon, periodcentered ],
+ [ caret, caret ] };
+ key <AB07> { [ m, M ],
+ [ mu, mu ] };
+ key <BKSL> { [ bracketright, braceright ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "gb(basic)" // for naming consistency
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "gb(Sundeadkeys)" // for naming consistency
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "gb(basic)" // for naming consistency
+};
+
+partial default alphanumeric_keys
+xkb_symbols "intl" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard layout with
+ // dead keys. By Phil Jones (philjones1@blueyonder.co.uk)
+
+ // Includes the following keys:
+ // dead_grave
+ // dead_acute
+ // dead_circumflex
+ // dead_tilde
+ // dead_diaeresis
+
+ include "gb(basic)"
+
+ key <AE02> { [ 2, dead_diaeresis ],
+ [ twosuperior, onehalf ] };
+ key <AE03> { [ 3, sterling ],
+ [ threesuperior, onethird ] };
+ key <AE04> { [ 4, dollar ],
+ [ EuroSign, onequarter ] };
+ key <AE06> { [ 6, dead_circumflex ],
+ [ NoSymbol, onesixth ] };
+
+ key <AC11> { [ dead_acute, at ],
+ [ apostrophe, bar ] };
+ key <TLDE> { [ dead_grave, notsign ],
+ [ bar, bar ] };
+
+ key <BKSL> { [ numbersign, dead_tilde ],
+ [ bar, bar ] };
+ key <LSGT> { [ backslash, bar ],
+ [ bar, bar ] };
+};
diff --git a/data/xkbdata/symbols/ge_la b/data/xkbdata/symbols/ge_la
new file mode 100644
index 000000000..9f02b2adb
--- /dev/null
+++ b/data/xkbdata/symbols/ge_la
@@ -0,0 +1,71 @@
+// ge_la (Georgian "latin layout")
+
+// From the comments of the xmodmap file:
+//
+// Georgian keyboard map, in the so called "latin" layout.
+// 1999, Pablo Saratxaga <srtxg@chanae.alphanet.ch>
+//
+// Georgian mode is toggled by Right_Ctrl key and shifted by AltGr key.
+// uppercase in georgian mode gives the lower case ascii, this can be useful
+// to type whithout switching mode.
+//
+// the layout has been copied from
+// http://members.tripod.com/~beso/html/L-K-COD.HTM
+// with some few changes it is:
+//
+// `~ 1!1! 2@2@ 3 3 4$4$ 5% 6^6^ 7&7& 8*8* 9(9( 0)0) -_-_ =+=+ \|\| BackSp
+// Tab qQქq wWწჭ eEეe rRრr tTტღ yYყთ uUუu iIიi oOáƒo Ppპp [{[{ ]}]}
+// CapsLock aAáƒa sSსშ dDდd fFფf gGგg hHჰh jJჯჟ kKკk lLლl ;:;: '"'" Return
+// Shift «» zZზძ xXხx cCცჩ vVვv bBბb nNნn mMმm ,<,< .>.> /?/? Shift
+// Ctrl Alt Space Space Space NonBreakingSpace  ModeShift ModeLock
+//
+// the chars ჱჲჳჴჵჶ are not mapped...
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Georgian "latin layout" keyboard
+
+ name[Group2]= "Georgian";
+
+ key <AD01> {[], [ 0x010010e5, q ] };
+ key <AD02> {[], [ 0x010010ec, 0x010010ed ] };
+ key <AD03> {[], [ 0x010010d4, e ] };
+ key <AD04> {[], [ 0x010010e0, 0x010010e6 ] };
+ key <AD05> {[], [ 0x010010e2, 0x010010d7 ] };
+ key <AD06> {[], [ 0x010010e7, y ] };
+ key <AD07> {[], [ 0x010010e3, u ] };
+ key <AD08> {[], [ 0x010010d8, i ] };
+ key <AD09> {[], [ 0x010010dd, o ] };
+ key <AD10> {[], [ 0x010010de, p ] };
+ key <AD11> {[], [ bracketleft, braceleft ] };
+ key <AD12> {[], [ bracketright, braceright ] };
+
+ key <AC01> {[], [ 0x010010d0, a ] };
+ key <AC02> {[], [ 0x010010e1, 0x010010e8 ] };
+ key <AC03> {[], [ 0x010010d3, d ] };
+ key <AC04> {[], [ 0x010010e4, f ] };
+ key <AC05> {[], [ 0x010010d2, g ] };
+ key <AC06> {[], [ 0x010010f0, h ] };
+ key <AC07> {[], [ 0x010010ef, 0x010010df ] };
+ key <AC08> {[], [ 0x010010d9, k ] };
+ key <AC09> {[], [ 0x010010da, l ] };
+ key <AC10> {[], [ semicolon, colon ] };
+ key <AC11> {[], [ apostrophe, quotedbl ] };
+ key <BKSL> {[], [ backslash, bar ] };
+
+ key <LSGT> {[], [ guillemotleft,guillemotright ] };
+ key <AB01> {[], [ 0x010010d6, 0x010010eb ] };
+ key <AB02> {[], [ 0x010010ee, x ] };
+ key <AB03> {[], [ 0x010010ea, 0x010010e9 ] };
+ key <AB04> {[], [ 0x010010d5, v ] };
+ key <AB05> {[], [ 0x010010d1, b ] };
+ key <AB06> {[], [ 0x010010dc, n ] };
+ key <AB07> {[], [ 0x010010db, m ] };
+ key <AB08> {[], [ comma, less ] };
+ key <AB09> {[], [ period, greater ] };
+ key <AB10> {[], [ slash, question ] };
+
+};
diff --git a/data/xkbdata/symbols/ge_ru b/data/xkbdata/symbols/ge_ru
new file mode 100644
index 000000000..fba021e19
--- /dev/null
+++ b/data/xkbdata/symbols/ge_ru
@@ -0,0 +1,83 @@
+// ge_ru (Georgian "russian layout")
+
+// From the comments of the xmodmap file:
+//
+// Georgian keyboard map, in the so called "russian" layout.
+// 1999, Pablo Saratxaga <srtxg@chanae.alphanet.ch>
+//
+// Georgian mode is toggled by Right_Ctrl key and shifted by AltGr key.
+// uppercase in georgian mode gives the lower case ascii, this can be useful
+// to type whithout switching mode.
+//
+// the layout has been copied from
+// http://members.tripod.com/~beso/html/RU-K-COD.HTM
+// with some few changes it is:
+//
+// `~^~ 1!1! 2@2 3 3 4$4; 5%5: 6^6, 7&7. 8*8* 9(9( 0)0) -_-_ =+ | \| BackSp
+// Tab qQღq wWცw eEუe rRკr tTეt yYნy uUგu iIშi oOწp [{ხ[ ]}ჯ]
+// CapsLock aAფa sSთs dDვd fFáƒf gGპg hHრh jJáƒj kKლk lLდ; ;:ჟ: '"ძ% Return
+// Shift «» zZჭz xXჩx cCსc vVმv bBიb nNტn mMქm ,<ბ< .>ყ> /?ჰ? Shift
+// Ctrl Alt Space Space Space NonBreakingSpace  ModeShift ModeLock
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Georgian "russian layout" keyboard
+
+ name[Group2]= "Georgian";
+
+ key <TLDE> {[], [ asciicircum, asciitilde ] };
+ key <AE01> {[], [ 1, exclam ] };
+ key <AE02> {[], [ 2, at ] }; // 2 0xeb
+ key <AE03> {[], [ 3, numbersign ] }; // 3 0xec
+ key <AE04> {[], [ 4, semicolon ] };
+ key <AE05> {[], [ 5, colon ] };
+ key <AE06> {[], [ 6, comma ] };
+ key <AE07> {[], [ 7, period ] };
+ key <AE08> {[], [ 8, asterisk ] };
+ key <AE09> {[], [ 9, parenleft ] };
+ key <AE10> {[], [ 0, parenright ] };
+ key <AE11> {[], [ minus, underscore ] };
+ key <AE12> {[], [ numbersign, bar ] };
+
+ key <AD01> {[], [ 0x010010e6, q ] };
+ key <AD02> {[], [ 0x010010ea, w ] };
+ key <AD03> {[], [ 0x010010e3, e ] };
+ key <AD04> {[], [ 0x010010d9, r ] };
+ key <AD05> {[], [ 0x010010d4, t ] };
+ key <AD06> {[], [ 0x010010dc, y ] };
+ key <AD07> {[], [ 0x010010d2, u ] };
+ key <AD08> {[], [ 0x010010e8, i ] };
+ key <AD09> {[], [ 0x010010ec, o ] };
+ key <AD10> {[], [ 0x010010d6, p ] };
+ key <AD11> {[], [ 0x010010ee, bracketleft ] };
+ key <AD12> {[], [ 0x010010ef, bracketright ] };
+
+ key <AC01> {[], [ 0x010010e4, a ] };
+ key <AC02> {[], [ 0x010010d7, s ] };
+ key <AC03> {[], [ 0x010010d5, d ] };
+ key <AC04> {[], [ 0x010010d0, f ] };
+ key <AC05> {[], [ 0x010010de, g ] };
+ key <AC06> {[], [ 0x010010e0, h ] };
+ key <AC07> {[], [ 0x010010dd, j ] };
+ key <AC08> {[], [ 0x010010da, k ] };
+ key <AC09> {[], [ 0x010010d3, l ] };
+ key <AC10> {[], [ 0x010010df, semicolon ] };
+ key <AC11> {[], [ 0x010010eb, percent ] };
+ key <BKSL> {[], [ backslash, bar ] }; // 0xe9 0xea
+
+ key <LSGT> {[], [ guillemotleft,guillemotright ] }; // 0xab 0xbb 0xe7 0xe8
+ key <AB01> {[], [ 0x010010ed, z ] };
+ key <AB02> {[], [ 0x010010e9, x ] };
+ key <AB03> {[], [ 0x010010e1, c ] };
+ key <AB04> {[], [ 0x010010db, v ] };
+ key <AB05> {[], [ 0x010010d8, b ] };
+ key <AB06> {[], [ 0x010010e2, n ] };
+ key <AB07> {[], [ 0x010010e5, m ] };
+ key <AB08> {[], [ 0x010010d1, less ] };
+ key <AB09> {[], [ 0x010010e7, greater ] };
+ key <AB10> {[], [ 0x010010f0, question ] };
+
+};
diff --git a/data/xkbdata/symbols/group b/data/xkbdata/symbols/group
new file mode 100644
index 000000000..288dc5e6e
--- /dev/null
+++ b/data/xkbdata/symbols/group
@@ -0,0 +1,296 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/group,v 1.6 2004/09/16 00:11:27 svu Exp $
+// $Xorg: group,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+// using the group(switch) map, the right alt key temporarily chooses
+// the second keyboard group (until it is released).
+//
+// $XFree86: xc/programs/xkbcomp/symbols/group,v 3.9 2003/12/30 13:26:25 pascal Exp $
+partial modifier_keys
+xkb_symbols "switch" {
+ key <RALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+// using the group(lswitch) map, the left alt key temporarily chooses
+// the second keyboard group (until it is released).
+//
+partial modifier_keys
+xkb_symbols "lswitch" {
+ key <LALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+
+// using the group(win_switch) map, both Windows'logo keys temporarily
+// choose the second keyboard group (until release). If you use this
+// map, you would declare you keyboard as pc101 or pc102 instead of
+// pc104 or pc105.
+partial modifier_keys
+xkb_symbols "win_switch" {
+ key <LWIN> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+ key <RWIN> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+// using the group(lwin_switch) map, the left Windows' logo key
+// temporarily chooses the second keyboard group (until it is
+// released). If you use this map, you would declare you keyboard as
+// pc101 or pc102 instead of pc104 or pc105.
+partial modifier_keys
+xkb_symbols "lwin_switch" {
+ key <LWIN> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+// using the group(rwin_switch) map, the right Windows' logo key
+// temporarily chooses the second keyboard group (until it is
+// released). If you use this map, you would declare you keyboard as
+// pc101 or pc102 instead of pc104 or pc105.
+partial modifier_keys
+xkb_symbols "rwin_switch" {
+ key <RWIN> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
+
+// Right Ctrl key temporary chooses the second keyboard group.
+// Needed mainly for Canadian keyboard
+partial modifier_keys
+xkb_symbols "rctrl_switch" {
+ key <RCTL> {
+ symbols[Group1]= [ Mode_switch ]
+ };
+};
+
+// using the group(toggle) map, pressing the right alt key switches to
+// the next sequential group (until the next explicit group change).
+partial modifier_keys
+xkb_symbols "toggle" {
+ virtual_modifiers AltGr;
+ key <RALT> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// using the group(shifts_toggle) map, pressing both shift keys together
+// locks the next or previous sequential keyboard group
+// (depending on which shift is pressed first - right or left,
+// correspongingly)
+partial modifier_keys
+xkb_symbols "shifts_toggle" {
+ key <LFSH> { [ Shift_L, ISO_Prev_Group ] };
+ key <RTSH> { [ Shift_R, ISO_Next_Group ] };
+};
+
+// using the group(ctrl_shift_toggle) map, pressing:
+// Control_L+Shift_L locks the previous group
+// Control_R+Shift_R locks the next group
+// If you have two groups and group wrap is enabled, the effect is
+// indistinguishable.
+partial modifier_keys
+xkb_symbols "ctrl_shift_toggle" {
+ key <LFSH> {
+ type="PC_BREAK",
+ symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
+ };
+ key <RTSH> {
+ type="PC_BREAK",
+ symbols[Group1]= [ Shift_R, ISO_Next_Group ]
+ };
+ key <LCTL> { [ Control_L, ISO_Prev_Group ] };
+ key <RCTL> { [ Control_R, ISO_Next_Group ] };
+};
+
+// using the group(caps_toggle) map, pressing:
+// Caps Lock toggles groups
+// Shift+Caps Lock toggles caps lock
+partial modifier_keys
+xkb_symbols "caps_toggle" {
+ include "capslock(grouplock)"
+};
+
+// using the group(shift_caps_toggle) map, pressing:
+// Shift+Caps Lock toggles group
+partial modifier_keys
+xkb_symbols "shift_caps_toggle" {
+ key <CAPS> { [ Caps_Lock, ISO_Next_Group ] };
+};
+
+// using the group(ctrl_alt_toggle) map, pressing:
+// Control_L+Alt_L locks the previous group
+// Control_R+Alt_R locks the next group
+// If you have two groups and group wrap is enabled, the effect is
+// indistinguishable.
+partial modifier_keys
+xkb_symbols "ctrl_alt_toggle" {
+ virtual_modifiers Alt;
+ key <LALT> {
+ type="PC_BREAK",
+ symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
+ virtualMods= Alt
+ };
+ key <RALT> {
+ type="PC_BREAK",
+ symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ virtualMods= Alt
+ };
+ key <LCTL> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Control_L, ISO_Prev_Group ]
+ };
+ key <RCTL> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Control_R, ISO_Next_Group ]
+ };
+};
+
+// using the group(alt_shift_toggle) map, pressing:
+// Shift_L+Alt_L locks the previous group
+// Shift_R+Alt_R locks the next group
+// If you have two groups and group wrap is enabled, the effect is
+// indistinguishable.
+partial modifier_keys
+xkb_symbols "alt_shift_toggle" {
+ virtual_modifiers Alt;
+ key <LALT> {
+ symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
+ virtualMods= Alt
+ };
+ key <RALT> {
+ symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ virtualMods= Alt
+ };
+ key <LFSH> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
+ };
+ key <RTSH> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Shift_R, ISO_Next_Group ]
+ };
+};
+
+// using the group(menu_toggle) map, pressing:
+// Menu key toggles groups
+// Shift+Menu acts as Menu
+partial modifier_keys
+xkb_symbols "menu_toggle" {
+ key <MENU> { [ ISO_Next_Group, Menu ] };
+};
+
+// using the group(lwin_toggle) map, pressing the left Windows' logo key
+// toggles groups. If you use this map, you would declare you keyboard
+// as pc101 or pc102 instead of pc104 or pc105.
+partial modifier_keys
+xkb_symbols "lwin_toggle" {
+ virtual_modifiers AltGr;
+ key <LWIN> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Next_Group ]
+ };
+};
+
+// using the group(rwin_toggle) map, pressing the right Windows' logo key
+// toggles groups. If you use this map, you would declare you keyboard
+// as pc101 or pc102 instead of pc104 or pc105.
+partial modifier_keys
+xkb_symbols "rwin_toggle" {
+ virtual_modifiers AltGr;
+ key <RWIN> {
+ virtualMods= AltGr,
+ symbols[Group1] = [ ISO_Next_Group ]
+ };
+};
+
+// Both Ctrls pressed together toggle group
+partial modifier_keys
+xkb_symbols "ctrls_toggle" {
+ virtual_modifiers AltGr;
+ key <LCTL> {
+ type="PC_BREAK",
+ symbols[Group1]= [ NoSymbol, ISO_Prev_Group ]
+ };
+ key <RCTL> {
+ type="PC_BREAK",
+ symbols[Group1]= [ NoSymbol, ISO_Next_Group ]
+ };
+};
+
+// Both Alts pressed together toggle group
+partial modifier_keys
+xkb_symbols "alts_toggle" {
+ virtual_modifiers AltGr;
+ key <LALT> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
+ virtualMods= Alt
+ };
+ key <RALT> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
+ virtualMods= Alt
+ };
+};
+
+// Left Shift key toggles group
+partial modifier_keys
+xkb_symbols "lshift_toggle" {
+ virtual_modifiers AltGr;
+ key <LFSH> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// Right Shift key toggles group
+partial modifier_keys
+xkb_symbols "rshift_toggle" {
+ virtual_modifiers AltGr;
+ key <RTSH> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// Left Alt key toggles group
+partial modifier_keys
+xkb_symbols "lalt_toggle" {
+ virtual_modifiers AltGr;
+ key <LALT> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// Left Ctrl key toggles group
+partial modifier_keys
+xkb_symbols "lctrl_toggle" {
+ virtual_modifiers AltGr;
+ key <LCTL> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
+
+// Right Ctrl key toggles group
+partial modifier_keys
+xkb_symbols "rctrl_toggle" {
+ virtual_modifiers AltGr;
+ key <RCTL> {
+ symbols[Group1]= [ ISO_Next_Group ],
+ virtualMods= AltGr
+ };
+};
diff --git a/data/xkbdata/symbols/guj b/data/xkbdata/symbols/guj
new file mode 100644
index 000000000..1e91a80c8
--- /dev/null
+++ b/data/xkbdata/symbols/guj
@@ -0,0 +1,67 @@
+// $XConsortium: th /main/3 1996/08/31 12:20:18 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/th,v 3.1.2.1 1997/07/19 13:28:20 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Gujarati";
+ key <TLDE> { [], [ ] };
+
+ // Mainly numbers.
+ key <AE01> { [], [ 0x1000AE7, 0x1000A8D ] };
+ key <AE02> { [], [ 0x1000AE8, 0x1000AC5 ] };
+ key <AE03> { [], [ 0x1000AE9 ] };
+ key <AE04> { [], [ 0x1000AEA ] };
+ key <AE05> { [], [ 0x1000AEB ] };
+ key <AE06> { [], [ 0x1000AEC ] };
+ key <AE07> { [], [ 0x1000AED ] };
+ key <AE08> { [], [ 0x1000AEE ] };
+ key <AE09> { [], [ 0x1000AEF, parenleft ] };
+ key <AE10> { [], [ 0x1000AE6, parenright ] };
+ key <AE11> { [], [ minus, 0x1000A83 ] };
+ key <AE12> { [], [ 0x1000A8B, 0x1000AC3 ] };
+
+// Mainly long vowels
+
+ key <AD01> { [], [ 0x1000ACC, 0x1000A94 ] };
+ key <AD02> { [], [ 0x1000AC8, 0x1000A90 ] };
+ key <AD03> { [], [ 0x1000ABE, 0x1000A86 ] };
+ key <AD04> { [], [ 0x1000AC0, 0x1000A88 ] };
+ key <AD05> { [], [ 0x1000AC2, 0x1000A8A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [], [ 0x1000AAC, 0x1000AAD ] };
+ key <AD07> { [], [ 0x1000AB9, 0x1000A99 ] };
+ key <AD08> { [], [ 0x1000A97, 0x1000A98 ] };
+ key <AD09> { [], [ 0x1000AA6, 0x1000AA7 ] };
+ key <AD10> { [], [ 0x1000A9C, 0x1000A9D ] };
+ key <AD11> { [], [ 0x1000AA1, 0x1000AA2 ] };
+ key <AD12> { [], [ 0x1000ABC, 0x1000A9E ] };
+
+// Mainly short vowels
+ key <AC01> { [], [ 0x1000ACB, 0x1000A93 ] };
+ key <AC02> { [], [ 0x1000AC7, 0x1000A8F ] };
+ key <AC03> { [], [ 0x1000ACD, 0x1000A85 ] };
+ key <AC04> { [], [ 0x1000ABF, 0x1000A87 ] };
+ key <AC05> { [], [ 0x1000AC1, 0x1000A89 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [], [ 0x1000AAA, 0x1000AAB ] };
+ key <AC07> { [], [ 0x1000AB0, guj_rra ] };
+ key <AC08> { [], [ 0x1000A95, 0x1000A96 ] };
+ key <AC09> { [], [ 0x1000AA4, 0x1000AA5 ] };
+ key <AC10> { [], [ 0x1000A9A, 0x1000A9B ] };
+ key <AC11> { [], [ 0x1000A9F, 0x1000AA0 ] };
+ key <BKSL> { [], [ 0x1000AC9, 0x1000A91 ] };
+
+ key <AB01> { [], [ z , Z ] };
+ key <AB02> { [], [ 0x1000A82, 0x1000A81 ] };
+ key <AB03> { [], [ 0x1000AAE, 0x1000AA3 ] };
+ key <AB04> { [], [ 0x1000AA8, guj_nnna ] };
+ key <AB05> { [], [ 0x1000AB5, guj_llla ] };
+ key <AB06> { [], [ 0x1000AB2, 0x1000AB3 ] };
+ key <AB07> { [], [ 0x1000AB8, 0x1000AB6 ] };
+ key <AB08> { [], [ comma, 0x1000AB7 ] };
+ key <AB09> { [], [ period, 0x1000964 ] };
+ key <AB10> { [], [ 0x1000AAF, question ] };
+};
diff --git a/data/xkbdata/symbols/gur b/data/xkbdata/symbols/gur
new file mode 100644
index 000000000..69eb5a84a
--- /dev/null
+++ b/data/xkbdata/symbols/gur
@@ -0,0 +1,67 @@
+// $XConsortium: th /main/3 1996/08/31 12:20:18 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/th,v 3.1.2.1 1997/07/19 13:28:20 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Gurmukhi";
+ key <TLDE> { [], [ ] };
+
+ // Mainly numbers.
+ key <AE01> { [], [ 0x1000A67 ] };
+ key <AE02> { [], [ 0x1000A68 ] };
+ key <AE03> { [], [ 0x1000A69 ] };
+ key <AE04> { [], [ 0x1000A6A ] };
+ key <AE05> { [], [ 0x1000A6B ] };
+ key <AE06> { [], [ 0x1000A6C ] };
+ key <AE07> { [], [ 0x1000A6D ] };
+ key <AE08> { [], [ 0x1000A6e ] };
+ key <AE09> { [], [ 0x1000A6F, parenleft ] };
+ key <AE10> { [], [ 0x1000A66, parenright ] };
+ key <AE11> { [], [ gur_visarga ] };
+ key <AE12> { [], [ gur_v_r, gur_v_r_s ] };
+
+// Mainly long vowels
+
+ key <AD01> { [], [ 0x1000A4C, 0x1000A14 ] };
+ key <AD02> { [], [ 0x1000A48, 0x1000A10 ] };
+ key <AD03> { [], [ 0x1000A3E, 0x1000A06 ] };
+ key <AD04> { [], [ 0x1000A40, 0x1000A08 ] };
+ key <AD05> { [], [ 0x1000A42, 0x1000A0A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [], [ 0x1000A2C, 0x1000A2D ] };
+ key <AD07> { [], [ 0x1000A39, 0x1000A19 ] };
+ key <AD08> { [], [ 0x1000A17, 0x1000A18 ] };
+ key <AD09> { [], [ 0x1000A26, 0x1000A27 ] };
+ key <AD10> { [], [ 0x1000A1C, 0x1000A1D ] };
+ key <AD11> { [], [ 0x1000A21, 0x1000A22 ] };
+ key <AD12> { [], [ 0x1000A3C, 0x1000A1E ] };
+
+// Mainly short vowels
+ key <AC01> { [], [ 0x1000A4B, 0x1000A13 ] };
+ key <AC02> { [], [ 0x1000A47, 0x1000A0F ] };
+ key <AC03> { [], [ 0x1000A4D, 0x1000A05 ] };
+ key <AC04> { [], [ 0x1000A3F, 0x1000A07 ] };
+ key <AC05> { [], [ 0x1000A41, 0x1000A09 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [], [ 0x1000A2A, 0x1000A2B ] };
+ key <AC07> { [], [ 0x1000A30, 0x1000A30 ] };
+ key <AC08> { [], [ 0x1000A15, 0x1000A16 ] };
+ key <AC09> { [], [ 0x1000A24, 0x1000A25 ] };
+ key <AC10> { [], [ 0x1000A1A, 0x1000A1B ] };
+ key <AC11> { [], [ 0x1000A1F, 0x1000A20 ] };
+ key <BKSL> { [], [ backslash, bar ] };
+
+ key <AB01> { [], [ z, Z ] };
+ key <AB02> { [], [ 0x1000A02, 0x1000A70 ] };
+ key <AB03> { [], [ 0x1000A2E, 0x1000A23 ] };
+ key <AB04> { [], [ 0x1000A28, 0x1000A28 ] };
+ key <AB05> { [], [ 0x1000A35, 0x1000A35 ] };
+ key <AB06> { [], [ 0x1000A32, 0x1000A33 ] };
+ key <AB07> { [], [ 0x1000A38, 0x1000A36 ] };
+ key <AB08> { [], [ comma, less ] };
+ key <AB09> { [], [ period, 0x1000964 ] };
+ key <AB10> { [], [ 0x1000A2F, question ] };
+};
diff --git a/data/xkbdata/symbols/hp/Makefile.am b/data/xkbdata/symbols/hp/Makefile.am
new file mode 100644
index 000000000..c330ebf35
--- /dev/null
+++ b/data/xkbdata/symbols/hp/Makefile.am
@@ -0,0 +1,3 @@
+xkbdata_symbols_hpdir = $(datadir)/X11/xkb/symbols/hp
+dist_xkbdata_symbols_hp_DATA = \
+ us
diff --git a/data/xkbdata/symbols/hp/Makefile.in b/data/xkbdata/symbols/hp/Makefile.in
new file mode 100644
index 000000000..0197c58e9
--- /dev/null
+++ b/data/xkbdata/symbols/hp/Makefile.in
@@ -0,0 +1,258 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_hpdir = $(datadir)/X11/xkb/symbols/hp
+dist_xkbdata_symbols_hp_DATA = \
+ us
+
+subdir = symbols/hp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_hp_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_hp_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/hp/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_hpDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_hpDATA: $(dist_xkbdata_symbols_hp_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_hpdir)
+ @list='$(dist_xkbdata_symbols_hp_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_hpDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_hpdir)/$$f"; \
+ $(dist_xkbdata_symbols_hpDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_hpdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_hpDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_hp_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_hpdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_hpdir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_hpdir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_hpDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_hpDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_hpDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_hpDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/hp/us b/data/xkbdata/symbols/hp/us
new file mode 100644
index 000000000..18ce8aeae
--- /dev/null
+++ b/data/xkbdata/symbols/hp/us
@@ -0,0 +1,106 @@
+// $Xorg: us,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// US/ASCII layout for a HP non-PC keyboard
+xkb_symbols "hil" {
+ include "us(basic)"
+
+ // A few alphanumeric keys are different
+ key <TLDE> { [ grave, asciitilde ]};
+ key <RTSH> { [ Shift_R ]};
+ key <LALT> { [ Meta_L ]};
+ key <RALT> { [ Meta_R ]};
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <BRK> { [ Break ]};
+ key <STOP> { [ Cancel ]};
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <MENU> { [ Menu ] };
+ key <SYST> { [ hpSystem ]};
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <CLRL> { [ hpClearLine ]};
+ key <CLR> { [ Clear ]};
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ Execute, Print ]};
+ key <INSL> { [ hpInsertLine ]};
+ key <DELL> { [ hpDeleteLine ]};
+ key <INSC> { [ hpInsertChar ]};
+ key <DELC> { [ hpDeleteChar ]};
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <SELE> { [ Select ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <UP> { [ Up ] };
+ key <RGHT> { [ Right ]};
+
+ // End "Editing" section, begin "Keypad"
+ key <KPMU> { [ KP_Multiply ]};
+ key <KPDV> { [ KP_Divide ]};
+ key <KPAD> { [ KP_Add ]};
+ key <KPSU> { [ KP_Subtract ]};
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPEN> { [ KP_Enter ]};
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPSP> { [ KP_Separator ]};
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPTB> { [ KP_Tab ]};
+
+ key <KP0> { [ KP_0 ] };
+ key <KPDL> { [ KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Alt_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
diff --git a/data/xkbdata/symbols/hr b/data/xkbdata/symbols/hr
new file mode 100644
index 000000000..01db4f550
--- /dev/null
+++ b/data/xkbdata/symbols/hr
@@ -0,0 +1,105 @@
+// Croatian keyboards
+// by Vlatko Kosturjak (kost at linux.hr)
+// Taken from Slovenian keyboards
+// by Marko Samastur (markos@elite.org) and
+// Primoz Peterlin (primoz.peterlin@biofiz.mf.uni-lj.si)
+//
+// Changelog
+// =========
+// 2003-04-11 Fixes from joy (AltGr+, i AltGr+.)
+// 2003-04-03 Added <KPDL> (Delete/Separator)
+// 2000-02-06 Initial version
+//
+// xc/programs/xkbcomp/symbols/hr
+// $XFree86: xc/programs/xkbcomp/symbols/hr,v 1.2 2003/04/13 18:22:19 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a Slovenian keybaord
+ // by Marko Samastur (markos@elite.org)
+
+ // Alphanumeric section
+ name[Group1]= "Croatian";
+ key <TLDE> { [ dead_cedilla, dead_diaeresis ] };
+ key <AE01> { [ 1, exclam ],
+ [ asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ dead_caron, caron ] };
+ key <AE03> { [ 3, numbersign ],
+ [ asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, dollar ],
+ [ dead_breve, breve ] };
+ key <AE05> { [ 5, percent ],
+ [ degree, dead_abovering ] };
+ key <AE06> { [ 6, ampersand ],
+ [ dead_ogonek, ogonek ] };
+ key <AE07> { [ 7, slash ],
+ [ quoteleft, dead_grave ] };
+ key <AE08> { [ 8, parenleft ],
+ [ dead_abovedot, abovedot ] };
+ key <AE09> { [ 9, parenright ],
+ [ dead_acute, quoteright ] };
+ key <AE10> { [ 0, equal ],
+ [ dead_doubleacute, doubleacute ] };
+ key <AE11> { [ apostrophe, question ],
+ [ dead_diaeresis, diaeresis ] };
+ key <AE12> { [ plus, asterisk ],
+ [ dead_cedilla, cedilla ] };
+
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ scaron, Scaron ],
+ [ division ] };
+ key <AD12> { [ dstroke, Dstroke ],
+ [ multiply, dead_macron ] };
+ key <AC04> { [ f, F ],
+ [ bracketleft ] };
+ key <AC05> { [ g, G ],
+ [ bracketright ] };
+ key <AC08> { [ k, K ],
+ [ lstroke ] };
+ key <AC09> { [ l, L ],
+ [ Lstroke ] };
+ key <AC10> { [ ccaron, Ccaron ] };
+ key <AC11> { [ cacute, Cacute ],
+ [ ssharp ] };
+
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+ key <AB01> { [ y, Y ] };
+ key <AB04> { [ v, V ],
+ [ at ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB07> { [ m, M ],
+ [ section ] };
+ key <AB08> { [ comma, semicolon ],
+ [ less ] };
+ key <AB09> { [ period, colon ],
+ [ greater ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ zcaron, Zcaron ],
+ [ currency ] };
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/hr_US b/data/xkbdata/symbols/hr_US
new file mode 100644
index 000000000..b3b29e0b2
--- /dev/null
+++ b/data/xkbdata/symbols/hr_US
@@ -0,0 +1,80 @@
+// Croatian-US keyboards
+// by Vlatko Kosturjak (kost at linux.hr)
+//
+// Changelog
+// =========
+// 2003-04-03 Added <KPDL> (Delete/Separator)
+// 2002-11-20 Initial version
+//
+// xc/programs/xkbcomp/symbols/hr_US
+// $XFree86$
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between US/ASCII
+ // keyboard and a Croatian-US keyboard
+ // by Vlatko Kosturjak (kost at linux.hr)
+
+ // Alphanumeric section
+ name[Group1]= "Croatian(US)";
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ],
+ [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ scaron, Scaron ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ dstroke, Dstroke ] };
+ key <AC04> { [ f, F ],
+ [ bracketleft ] };
+ key <AC05> { [ g, G ],
+ [ bracketright ] };
+ key <AC08> { [ k, K ],
+ [ lstroke ] };
+ key <AC09> { [ l, L ],
+ [ Lstroke ] };
+ key <AC10> { [ semicolon, colon ],
+ [ ccaron, Ccaron ] };
+ key <AC11> { [ apostrophe, quotedbl ],
+ [ cacute, Cacute ] };
+
+
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+ key <AB01> { [ z, Z ],
+ [ y, Y ] };
+ key <AB04> { [ v, V ],
+ [ at ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB07> { [ m, M ],
+ [ section ] };
+ key <AB08> { [ comma, less ],
+ [ semicolon ] };
+ key <AB09> { [ period, greater ],
+ [ colon ] };
+ key <AB10> { [ slash, question ],
+ [ minus, underscore ] };
+ key <BKSL> { [ backslash, bar ],
+ [ zcaron, Zcaron ] };
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/hu b/data/xkbdata/symbols/hu
new file mode 100644
index 000000000..b7765264d
--- /dev/null
+++ b/data/xkbdata/symbols/hu
@@ -0,0 +1,336 @@
+// Hungarian keyboard symbols for XKB and PC keyboard
+//
+// (C) 2002 Peter Soos <sp@osb.hu>
+//
+// Permission is granted to anyone to use, distribute and modify
+// this file in any way, provided that the above copyright notice
+// is left intact and the author of the modification summarizes
+// the changes in this header.
+//
+// This file is distributed without any expressed or implied warranty.
+//
+// It describes the differences between a very simple US/ASCII keyboard
+// layout and some widely used Hungarian keyboard layouts.
+// Tested on Linux with XFree86 3.3.6
+//
+// $XFree86: xc/programs/xkbcomp/symbols/hu,v 1.7 2002/12/13 04:18:03 dawes Exp $
+
+
+// Default layout
+default partial
+xkb_symbols "default" {
+ include "hu(102_qwertz_comma)"
+};
+
+// Standard layout
+partial
+xkb_symbols "standard" {
+ include "hu(102_qwertz_comma)"
+};
+
+// Main layouts
+
+// 101_qwertz_comma:
+// Unicode based 101 key qwertz layout with decimal comma on keypad
+// You have to set your locale settings (at least LC_CTYPE) to hu_HU.
+partial
+xkb_symbols "101_qwertz_comma" {
+ name[Group1] = "Hungarian";
+ include "hu(def_uni)"
+ include "hu(def_101)"
+ include "hu(def_qwertz)"
+ include "hu(def_comma)"
+ include "hu(def_common)"
+};
+
+// 101_qwertz_dot:
+// Unicode based 101 key qwertz layout with decimal dot on keypad
+// You have to set your locale settings (at least LC_CTYPE) to hu_HU.
+partial
+xkb_symbols "101_qwertz_dot" {
+ name[Group1] = "Hungarian";
+ include "hu(def_uni)"
+ include "hu(def_101)"
+ include "hu(def_qwertz)"
+ include "hu(def_dot)"
+ include "hu(def_common)"
+};
+
+// 101_qwerty_comma:
+// Unicode based 101 key qwerty layout with decimal comma on keypad
+// You have to set your locale settings (at least LC_CTYPE) to hu_HU.
+partial
+xkb_symbols "101_qwerty_comma" {
+ name[Group1] = "Hungarian";
+ include "hu(def_uni)"
+ include "hu(def_101)"
+ include "hu(def_qwerty)"
+ include "hu(def_comma)"
+ include "hu(def_common)"
+};
+
+// 101_qwerty_dot:
+// Unicode based 101 key qwerty layout with decimal dot on keypad
+// You have to set your locale settings (at least LC_CTYPE) to hu_HU.
+partial
+xkb_symbols "101_qwerty_dot" {
+ name[Group1] = "Hungarian";
+ include "hu(def_uni)"
+ include "hu(def_101)"
+ include "hu(def_qwerty)"
+ include "hu(def_dot)"
+ include "hu(def_common)"
+};
+
+// 102_qwertz_comma:
+// Unicode based 102 key qwertz layout with decimal comma on keypad
+// You have to set your locale settings (at least LC_CTYPE) to hu_HU.
+partial
+xkb_symbols "102_qwertz_comma" {
+ name[Group1] = "Hungarian";
+ include "hu(def_uni)"
+ include "hu(def_102)"
+ include "hu(def_qwertz)"
+ include "hu(def_comma)"
+ include "hu(def_common)"
+};
+
+// 102_qwertz_dot:
+// Unicode based 102 key qwertz layout with decimal dot on keypad
+// You have to set your locale settings (at least LC_CTYPE) to hu_HU.
+partial
+xkb_symbols "102_qwertz_dot" {
+ name[Group1] = "Hungarian";
+ include "hu(def_uni)"
+ include "hu(def_102)"
+ include "hu(def_qwertz)"
+ include "hu(def_dot)"
+ include "hu(def_common)"
+};
+
+// 102_qwerty_comma:
+// Unicode based 102 key qwerty layout with decimal comma on keypad
+// You have to set your locale settings (at least LC_CTYPE) to hu_HU.
+partial
+xkb_symbols "102_qwerty_comma" {
+ name[Group1] = "Hungarian";
+ include "hu(def_uni)"
+ include "hu(def_102)"
+ include "hu(def_qwerty)"
+ include "hu(def_comma)"
+ include "hu(def_common)"
+};
+
+// 102_qwerty_dot:
+// Unicode based 102 key qwerty layout with decimal dot on keypad
+// You have to set your locale settings (at least LC_CTYPE) to hu_HU.
+partial
+xkb_symbols "102_qwerty_dot" {
+ name[Group1] = "Hungarian";
+ include "hu(def_uni)"
+ include "hu(def_102)"
+ include "hu(def_qwerty)"
+ include "hu(def_dot)"
+ include "hu(def_common)"
+};
+
+// Partial layouts
+
+// def_uni:
+// Unicode based Hungarian keybaord.
+
+hidden partial alphanumeric_keys
+xkb_symbols "def_uni" {
+
+ key <AD07> { [ u, U ],
+ [ EuroSign ] };
+ key <AC02> { [ s, S ],
+ [ dstroke ] };
+ key <AC03> { [ d, D ],
+ [ Dstroke ] };
+ key <AC08> { [ k, K ],
+ [ lstroke ] };
+ key <AC09> { [ l, L ],
+ [ Lstroke ] };
+ key <AD11> { [ odoubleacute, Odoubleacute ],
+ [ division ] };
+ key <BKSL> { [ udoubleacute, Udoubleacute ],
+ [ currency ] };
+};
+
+// def_102:
+// The standard Hungarian 102 key layout
+
+hidden partial alphanumeric_keys
+xkb_symbols "def_102" {
+ key <TLDE> { [ 0, section ],
+ [ notsign ] };
+};
+
+// def_101:
+// An alternative layout for 101 key keyboards
+
+hidden partial alphanumeric_keys
+xkb_symbols "def_101" {
+ key <TLDE> { [ iacute, Iacute ],
+ [ 0, section ] };
+};
+
+// def_qwertz:
+// The standard Hungaryan qwertz layout
+
+hidden partial alphanumeric_keys
+xkb_symbols "def_qwertz" {
+ key <AB01> { [ y, Y ],
+ [ greater ] };
+ key <AD06> { [ z, Z ] };
+};
+
+// def_qwerty:
+// The qwerty layout for people who familiar with the standard US layout
+
+hidden partial alphanumeric_keys
+xkb_symbols "def_qwerty" {
+ key <AB01> { [ z, Z ],
+ [ greater ] };
+ key <AD06> { [ y, Y ] };
+};
+
+// def_comma:
+// The Hungarian standard is the comma on the keypad not decimal dot
+hidden partial keypad_keys
+xkb_symbols "def_comma" {
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+};
+
+// def_dot:
+// The Hungarian standard is the comma on the keypad not decimal dot,
+// but programmers hate it
+hidden partial keypad_keys
+xkb_symbols "def_dot" {
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+};
+
+// def_common:
+// The common part of all Hungarian layout above
+hidden partial alphanumeric_keys modifier_keys
+xkb_symbols "def_common" {
+
+ // Alphanumeric section
+ key <AE01> { [ 1, apostrophe ],
+ [ asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ dead_caron, caron ] };
+ key <AE03> { [ 3, plus ],
+ [ asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, exclam ],
+ [ dead_breve, breve ] };
+ key <AE05> { [ 5, percent ],
+ [ dead_abovering, degree ] };
+ key <AE06> { [ 6, slash ],
+ [ dead_ogonek, ogonek ] };
+ key <AE07> { [ 7, equal ],
+ [ grave, dead_grave ] };
+ key <AE08> { [ 8, parenleft ],
+ [ dead_abovedot, degree ] };
+ key <AE09> { [ 9, parenright ],
+ [ dead_acute, acute ] };
+ key <AE10> { [ odiaeresis, Odiaeresis ],
+ [ dead_doubleacute, doubleacute ] };
+ key <AE11> { [ udiaeresis, Udiaeresis ],
+ [ dead_diaeresis, diaeresis ] };
+ key <AE12> { [ oacute, Oacute ],
+ [ dead_cedilla, cedilla ] };
+
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD08> { [ i, I ],
+ [ Iacute ] };
+ key <AD12> { [ uacute, Uacute ],
+ [ multiply ] };
+
+ key <AC04> { [ f, F ],
+ [ bracketleft ] };
+ key <AC05> { [ g, G ],
+ [ bracketright ] };
+ key <AC07> { [ j, J ],
+ [ iacute ] };
+ key <AC10> { [ eacute, Eacute ],
+ [ dollar ] };
+ key <AC11> { [ aacute, Aacute ],
+ [ ssharp ] };
+
+ key <LSGT> { [ iacute, Iacute ],
+ [ less ] };
+ key <AB02> { [ x, X ],
+ [ numbersign ] };
+ key <AB03> { [ c, C ],
+ [ ampersand ] };
+ key <AB04> { [ v, V ],
+ [ at ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB07> { [ m, M ],
+ [ less ] };
+ key <AB08> { [ comma, question ],
+ [ semicolon ] };
+ key <AB09> { [ period, colon ],
+ [ greater ] };
+ key <AB10> { [ minus, underscore ],
+ [ asterisk ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial
+xkb_symbols "Sundeadkeys" {
+ include "hu(default)" // for consistent naming
+};
+
+partial
+xkb_symbols "sundeadkeys" {
+ include "hu(Sundeadkeys)" // for consistent naming
+};
+
+partial
+xkb_symbols "nodeadkeys" {
+ // modify the default Hungarian layout to not have any dead keys
+ include "hu(default)"
+ key <AE01> { [ 1, apostrophe ],
+ [ asciitilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ caron ] };
+ key <AE03> { [ 3, plus ],
+ [ asciicircum ] };
+ key <AE04> { [ 4, exclam ],
+ [ breve ] };
+ key <AE05> { [ 5, percent ],
+ [ degree ] };
+ key <AE06> { [ 6, slash ],
+ [ ogonek ] };
+ key <AE07> { [ 7, equal ],
+ [ grave ] };
+ key <AE08> { [ 8, parenleft ],
+ [ abovedot ] };
+ key <AE09> { [ 9, parenright ],
+ [ acute ] };
+ key <AE10> { [ odiaeresis, Odiaeresis ],
+ [ doubleacute ] };
+ key <AE11> { [ udiaeresis, Udiaeresis ],
+ [ diaeresis ] };
+ key <AE12> { [ oacute, Oacute ],
+ [ cedilla ] };
+
+};
diff --git a/data/xkbdata/symbols/hu_US b/data/xkbdata/symbols/hu_US
new file mode 100644
index 000000000..ec2c5a5a9
--- /dev/null
+++ b/data/xkbdata/symbols/hu_US
@@ -0,0 +1,150 @@
+// $XFree86: xc/programs/xkbcomp/symbols/hu,v 1.1.2.2 1997/06/22 10:32:56 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Hungarian keybaord used with
+ // us or another ISO-8859-1 based locale settings.
+ // If you use the standard Hungarian locale (hu_HU) use the hu
+ // xkb file instead.
+ // Peter Soos <sp@osb.hu>
+
+ // Alphanumeric section
+ name[Group1]= "Hungarian";
+ key <TLDE> { [ 0, section ],
+ [ notsign ] };
+ key <AE01> { [ 1, apostrophe ],
+ [ asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ caron, dead_caron ] };
+ key <AE03> { [ 3, plus ],
+ [ asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, exclam ],
+ [ breve, dead_breve ] };
+ key <AE05> { [ 5, percent ],
+ [ degree, dead_abovering ] };
+ key <AE06> { [ 6, slash ],
+ [ ogonek, dead_ogonek ] };
+ key <AE07> { [ 7, equal ],
+ [ grave, dead_grave ] };
+ key <AE08> { [ 8, parenleft ],
+ [ abovedot, dead_abovedot ] };
+ key <AE09> { [ 9, parenright ],
+ [ acute, dead_acute ] };
+ key <AE10> { [ odiaeresis, Odiaeresis ],
+ [ doubleacute, dead_doubleacute ] };
+ key <AE11> { [ udiaeresis, Udiaeresis ],
+ [ diaeresis, dead_diaeresis ] };
+ key <AE12> { [ oacute, Oacute ],
+ [ cedilla, dead_cedilla ] };
+
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD06> { [ z, Z ] };
+ key <AD08> { [ i, I ],
+ [ Iacute ] };
+// key <AD11> { [ odoubleacute, Odoubleacute ],
+// [ division ] };
+ key <AD11> { [ otilde, Otilde ],
+ [ division ] };
+ key <AD12> { [ uacute, Uacute ],
+ [ multiply ] };
+
+ key <AC02> { [ s, S ],
+ [ dstroke ] };
+ key <AC03> { [ d, D ],
+ [ Dstroke ] };
+ key <AC04> { [ f, F ],
+ [ bracketleft ] };
+ key <AC05> { [ g, G ],
+ [ bracketright ] };
+ key <AC07> { [ j, J ],
+ [ iacute ] };
+ key <AC08> { [ k, K ],
+ [ lstroke ] };
+ key <AC09> { [ l, L ],
+ [ Lstroke ] };
+ key <AC10> { [ eacute, Eacute ],
+ [ dollar ] };
+ key <AC11> { [ aacute, Aacute ],
+ [ ssharp ] };
+
+ key <LSGT> { [ iacute, Iacute ],
+ [ less ] };
+ key <AB01> { [ y, Y ],
+ [ greater ] };
+ key <AB02> { [ x, X ],
+ [ numbersign ] };
+ key <AB03> { [ c, C ],
+ [ ampersand ] };
+ key <AB04> { [ v, V ],
+ [ at ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB08> { [ comma, question ],
+ [ semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ],
+ [ asterisk ] };
+ key <BKSL> { [ ucircumflex, Ucircumflex ],
+ [ currency ] };
+// key <BKSL> { [ udoubleacute, Udoubleacute ],
+// [ currency ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "hu(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "hu(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ // modify the default Hungarian layout to not have any dead keys
+ include "hu(basic)"
+ key <AE01> { [ 1, apostrophe ],
+ [ asciitilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ caron ] };
+ key <AE03> { [ 3, plus ],
+ [ asciicircum ] };
+ key <AE04> { [ 4, exclam ],
+ [ breve ] };
+ key <AE05> { [ 5, percent ],
+ [ degree ] };
+ key <AE06> { [ 6, slash ],
+ [ ogonek ] };
+ key <AE07> { [ 7, equal ],
+ [ grave ] };
+ key <AE08> { [ 8, parenleft ],
+ [ abovedot ] };
+ key <AE09> { [ 9, parenright ],
+ [ acute ] };
+ key <AE10> { [ odiaeresis, Odiaeresis ],
+ [ doubleacute ] };
+ key <AE11> { [ udiaeresis, Udiaeresis ],
+ [ diaeresis ] };
+ key <AE12> { [ oacute, Oacute ],
+ [ cedilla ] };
+
+};
+
diff --git a/data/xkbdata/symbols/hu_qwerty b/data/xkbdata/symbols/hu_qwerty
new file mode 100644
index 000000000..23f4c9b69
--- /dev/null
+++ b/data/xkbdata/symbols/hu_qwerty
@@ -0,0 +1,10 @@
+// Hungarian keyboard symbols for XKB and 101-key qwerty PC keyboard
+//
+// $XFree86$
+//
+// Check also ../rules/xfree86.lst
+
+default partial
+xkb_symbols "default" {
+ include "hu(101_qwerty_comma)"
+};
diff --git a/data/xkbdata/symbols/ie b/data/xkbdata/symbols/ie
new file mode 100644
index 000000000..5a2dfa9c5
--- /dev/null
+++ b/data/xkbdata/symbols/ie
@@ -0,0 +1,262 @@
+// $XFree86: xc/programs/xkbcomp/symbols/ie,v 1.2 2002/12/19 00:49:41 dawes Exp $
+
+// Irish keyboard map
+
+// Support for Irish (old and new orthography) and English
+// Seamus O Ciardhuain <seoc@cnds.ucd.ie> (19 December 2002)
+
+// The general idea is to provide the characters in ISO 8859-1,
+// ISO 8859-15, ISO 8859-14, CP1252 and "Extended Latin-8".
+// However, not all are accessible directly because there aren't
+// enough keys; some need deadkeys to access them, others the
+// "Multi_key" compose sequences.
+
+// Designed to be similar to the layouts used on Windows
+// and the Macintosh.
+
+// Everything is in Group 1 to be compatible with the
+// multi-layout keyboard support in XFree86 4.3.
+
+// The basic layout is a modern keyboard, but dotted consonants are
+// accessible using a deadkey (AltGr+H or AltGr+W).
+// If a proper Clo Gaelach keyboard is needed, then use the layout
+// defined below as ie(CloGaelach), which gives dotted consonants
+// without use of a deadkey.
+
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Modern keyboard for Irish and English
+ // - acute-accented vowels as AltGr+vowel and AltGr+Shift+vowel
+ // - euro currency sign as AltGr+4
+ // - Comhartha Agus (Tironian Sign Et) as AltGr+Shift+7
+ // - non-breaking space as AltGr+Space and AltGr+Shift+Space
+ // - matches hardware (keys and engraved symbols) for Irish keyboards
+
+ name[Group1] = "Irish";
+
+ key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
+
+ //
+ // Numeric row `1234567890-=
+ //
+ key <TLDE> { [ grave, notsign, brokenbar, NoSymbol ] };
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, trademark, twosuperior ] };
+ key <AE03> { [ 3, sterling, copyright, threesuperior ] };
+ key <AE04> { [ 4, dollar, EuroSign, cent ] };
+ key <AE05> { [ 5, percent, section, dagger ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex, 0x1002030 ] };
+ // per thousand
+ key <AE07> { [ 7, ampersand, paragraph, 0x100204A ] };
+ // Tironian Et
+ key <AE08> { [ 8, asterisk, dead_diaeresis, enfilledcircbullet ] };
+ key <AE09> { [ 9, parenleft, ordfeminine, periodcentered ] };
+ key <AE10> { [ 0, parenright, masculine, degree ] };
+ key <AE11> { [ minus, underscore, endash, emdash ] };
+ key <AE12> { [ equal, plus, notequal, plusminus ] };
+
+ //
+ // QWERTYUIOP[]
+ //
+ key <AD01> { [ q, Q, oe, OE ] };
+ key <AD02> { [ w, W, dead_abovedot, dead_abovedot ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, registered, 0x1002030 ] };
+ // per thousand
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, yen, mu ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, singlelowquotemark, NoSymbol ] };
+ key <AD11> { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] };
+ key <AD12> { [ bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] };
+
+ //
+ // ASDFGHJKL;'#
+ //
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, ssharp, NoSymbol ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, 0x1000192, NoSymbol ] };
+ // f with hook
+ key <AC05> { [ g, G, copyright, NoSymbol ] };
+ key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
+ key <AC07> { [ j, J, idotless, onequarter ] };
+ key <AC08> { [ k, K, dead_abovering, onehalf ] };
+ key <AC09> { [ l, L, acute, threequarters ] };
+ key <AC10> { [ semicolon, colon, ellipsis, doubledagger ] };
+ key <AC11> { [ apostrophe, at, ae, AE ] };
+ key <BKSL> { [ numbersign, asciitilde, guillemotleft, guillemotright ] };
+
+
+ //
+ // \ZXCVBNM,./
+ //
+ key <LSGT> { [ backslash, bar, dead_grave, dead_acute ] };
+ key <AB01> { [ z, Z, leftanglebracket, rightanglebracket ] };
+ key <AB02> { [ x, X, multiply, approximate ] };
+ key <AB03> { [ c, C, dead_cedilla, cedilla ] };
+ key <AB04> { [ v, V, dead_caron, NoSymbol ] };
+ key <AB05> { [ b, B, diaeresis, NoSymbol ] };
+ key <AB06> { [ n, N, dead_tilde, NoSymbol ] };
+ key <AB07> { [ m, M, macron, NoSymbol ] };
+ key <AB08> { [ comma, less, lessthanequal, doublelowquotemark ] };
+ key <AB09> { [ period, greater, greaterthanequal, singlelowquotemark ] };
+ key <AB10> { [ slash, question, division, questiondown ] };
+
+
+ key <SPCE> { type[Group1]="FOUR_LEVEL",
+ [ space, space, nobreakspace, nobreakspace ] };
+
+ key <RALT> { type[Group1]="ONE_LEVEL", [ ISO_Level3_Shift ] };
+ modifier_map Mod5 { ISO_Level3_Shift };
+
+ // NB: putting Shift+<RALT> as Multi_key gives odd behaviour since the
+ // order of pressing keys affects the result.
+
+ key <RWIN> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "laptop" {
+ // For laptops which don't have the RWIN key but are otherwise
+ // the same as 105-key layouts.
+ include "ie(basic)"
+ key <MENU> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "CloGaelach" {
+
+ // Adds support for Clo Gaelach (old orthography for Irish).
+ // Changes from "basic":
+ // - dotted consonants as AltGr+consonant or AltGr+Shift+consonant (TPSDFGCBM)
+ // - long lowercase r as AltGr+R
+ // - long lowercase s as AltGr+Z
+ // - long lowercase s dotted as AltGr+Shift+Z
+ // - some symbols moved around to retain them
+ // - several characters unlikely to be used are lost
+ // The long letters are needed only where the font provides
+ // both the long and short forms as different glyphs.
+
+ include "ie(basic)"
+
+ name[Group1] = "Irish (Clo Gaelach)";
+
+ key <TLDE> { [ grave, notsign, brokenbar, ssharp ] };
+ key <AD04> { [ r, R, 0x100027C, registered ] };
+ // long r
+ key <AD05> { [ t, T, tabovedot, Tabovedot ] };
+ key <AD10> { [ p, P, pabovedot, Pabovedot ] };
+
+ key <AC02> { [ s, S, sabovedot, Sabovedot ] };
+ key <AC03> { [ d, D, dabovedot, Dabovedot ] };
+ key <AC04> { [ f, F, fabovedot, Fabovedot ] };
+ key <AC05> { [ g, G, gabovedot, Gabovedot ] };
+
+ key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
+ // long s, long s dot
+ key <AB03> { [ c, C, cabovedot, Cabovedot ] };
+ key <AB05> { [ b, B, babovedot, Babovedot ] };
+ key <AB07> { [ m, M, mabovedot, Mabovedot ] };
+
+ key <LSGT> { [ backslash, bar, dead_grave, dead_cedilla ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "CloGaelachLaptop" {
+ // For laptops which don't have the RWIN key but are otherwise
+ // the same as 105-key layouts.
+ include "ie(CloGaelach)"
+ key <MENU> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "UnicodeExpert" {
+
+// This should eventually be a "Unicode Expert" layout like the Mac one.
+
+ name[Group1] = "Irish (Unicode Expert)";
+
+ key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
+
+ //
+ // Numeric row `1234567890-=
+ //
+ key <TLDE> { [ grave, notsign, 0x10000A6, 0x10000A6 ] };
+ // broken bar
+ key <AE01> { [ 1, exclam, NoSymbol, NoSymbol ] };
+ key <AE02> { [ 2, quotedbl, dead_doubleacute, dead_doubleacute ] };
+ key <AE03> { [ 3, sterling, NoSymbol, NoSymbol ] };
+ key <AE04> { [ 4, dollar, EuroSign, EuroSign ] };
+ key <AE05> { [ 5, percent, NoSymbol, NoSymbol ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
+ key <AE07> { [ 7, ampersand, 0x100204A, 0x100204A ] };
+ // Tironian Et
+ key <AE08> { [ 8, asterisk, dead_abovering, dead_abovering ] };
+ key <AE09> { [ 9, parenleft, dead_breve, dead_breve ] };
+ key <AE10> { [ 0, parenright, dead_ogonek, dead_ogonek ] };
+ key <AE11> { [ minus, underscore, dead_macron, dead_macron ] };
+ key <AE12> { [ equal, plus, NoSymbol, NoSymbol ] };
+
+ //
+ // QWERTYUIOP[]
+ //
+ key <AD01> { [ q, Q, NoSymbol, NoSymbol ] };
+ key <AD02> { [ w, W, NoSymbol, NoSymbol ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, 0x100027C, 0x100027C ] };
+ // long r
+ key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
+ key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
+ key <AD11> { [ bracketleft, braceleft, dead_hook, dead_hook ] };
+ key <AD12> { [ bracketright, braceright, dead_horn, dead_horn ] };
+
+ //
+ // ASDFGHJKL;'#
+ //
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, NoSymbol, NoSymbol ] };
+ key <AC03> { [ d, D, NoSymbol, NoSymbol ] };
+ key <AC04> { [ f, F, NoSymbol, NoSymbol ] };
+ key <AC05> { [ g, G, NoSymbol, NoSymbol ] };
+ key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
+ key <AC07> { [ j, J, NoSymbol, NoSymbol ] };
+ key <AC08> { [ k, K, NoSymbol, NoSymbol ] };
+ key <AC09> { [ l, L, NoSymbol, NoSymbol ] };
+ key <AC10> { [ semicolon, colon, dead_diaeresis, dead_diaeresis ] };
+ key <AC11> { [ apostrophe, at, dead_acute, dead_acute ] };
+ key <BKSL> { [ numbersign, asciitilde, dead_tilde, dead_tilde ] };
+
+ //
+ // \ZXCVBNM,./
+ //
+ key <LSGT> { [ backslash, bar, dead_grave, dead_grave ] };
+ key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
+ // long s, long s dot
+ key <AB02> { [ x, X, NoSymbol, NoSymbol ] };
+ key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
+ key <AB04> { [ v, V, dead_caron, dead_caron ] };
+ key <AB05> { [ b, B, NoSymbol, NoSymbol ] };
+ key <AB06> { [ n, N, NoSymbol, NoSymbol ] };
+ key <AB07> { [ m, M, NoSymbol, NoSymbol ] };
+ key <AB08> { [ comma, less, dead_cedilla, dead_cedilla ] };
+ key <AB09> { [ period, greater, dead_abovedot, dead_abovedot ] };
+ key <AB10> { [ slash, question, dead_belowdot, dead_belowdot ] };
+
+ key <SPCE> { type[Group1]="FOUR_LEVEL",
+ [ space, space, space, nobreakspace ] };
+
+ key <RALT> { type[Group1]="ONE_LEVEL", [ ISO_Level3_Shift ] };
+ modifier_map Mod5 { <RALT> };
+
+ key <RWIN> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
+};
+
diff --git a/data/xkbdata/symbols/il b/data/xkbdata/symbols/il
new file mode 100644
index 000000000..f4a598ec9
--- /dev/null
+++ b/data/xkbdata/symbols/il
@@ -0,0 +1,75 @@
+// $XConsortium: il /main/3 1997/12/18 12:40:12 rch $
+//
+// $XFree86$
+
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple us
+ // keyboard and a very simple Israelian keyboard
+
+ // uses the kbd layout in use in Israel.
+
+ name[Group2]= "Israelian";
+
+
+ key <TLDE> {[], [ semicolon, asciitilde ] };
+
+ key <AD01> {[], [ slash, Q ] };
+ key <AD02> {[], [ apostrophe, W ] };
+ key <AD03> {[], [ hebrew_qoph, E ] };
+ key <AD04> {[], [ hebrew_resh, R ] };
+ key <AD05> {[], [ hebrew_aleph, T ] };
+ key <AD06> {[], [ hebrew_tet, Y ] };
+ key <AD07> {[], [ hebrew_waw, U ] };
+ key <AD08> {[], [ hebrew_finalnun, I ] };
+ key <AD09> {[], [ hebrew_finalmem, O ] };
+ key <AD10> {[], [ hebrew_pe, P ] };
+
+ key <AC01> {[], [ hebrew_shin, A ] };
+ key <AC02> {[], [ hebrew_dalet, S ] };
+ key <AC03> {[], [ hebrew_gimel, D ] };
+ key <AC04> {[], [ hebrew_kaph, F ] };
+ key <AC05> {[], [ hebrew_ayin, G ] };
+ key <AC06> {[], [ hebrew_yod, H ] };
+ key <AC07> {[], [ hebrew_chet, J ] };
+ key <AC08> {[], [ hebrew_lamed, K ] };
+ key <AC09> {[], [ hebrew_finalkaph, L ] };
+ key <AC10> {[], [ hebrew_finalpe, colon ] };
+ key <AC11> {[], [ comma, quotedbl ] };
+
+ key <AB01> {[], [ hebrew_zain, Z ] };
+ key <AB02> {[], [ hebrew_samech, X ] };
+ key <AB03> {[], [ hebrew_bet, C ] };
+ key <AB04> {[], [ hebrew_he, V ] };
+ key <AB05> {[], [ hebrew_nun, B ] };
+ key <AB06> {[], [ hebrew_mem, N ] };
+ key <AB07> {[], [ hebrew_zade, M ] };
+ key <AB08> {[], [ hebrew_taw, less ] };
+ key <AB09> {[], [ hebrew_finalzade, greater ] };
+ key <AB10> {[], [ period, question ] };
+
+ // The following may get overriden by the iso9995-3(basic101) symbols.
+ // therefore they are included here.
+ // Including them isn't a great idea (for instance: what if group 1 uses
+ // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
+ // preserve that, and I'm not sure that this is a good feature.
+ key <AE01> {[], [ 1, exclam ] };
+ key <AE02> {[], [ 2, at ] };
+ key <AE03> {[], [ 3, numbersign ] };
+ key <AE04> {[], [ 4, dollar ] };
+ key <AE05> {[], [ 5, percent ] };
+ key <AE06> {[], [ 6, asciicircum ] };
+ key <AE07> {[], [ 7, ampersand ] };
+ key <AE08> {[], [ 8, asterisk ] };
+ key <AE09> {[], [ 9, parenleft ] };
+ key <AE10> {[], [ 0, parenright ] };
+ key <AE11> {[], [ minus, underscore ] };
+ key <AE12> {[], [ equal, plus ] };
+
+ key <AD11> {[], [ bracketleft, braceleft ] };
+ key <AD12> {[], [ bracketright, braceright ] };
+
+ key <BKSL> {[], [ backslash, bar ] };
+};
diff --git a/data/xkbdata/symbols/il_phonetic b/data/xkbdata/symbols/il_phonetic
new file mode 100644
index 000000000..fedded330
--- /dev/null
+++ b/data/xkbdata/symbols/il_phonetic
@@ -0,0 +1,83 @@
+// $XConsortium: il_phonetic /main/3 1997/12/18 12:40:12 rch $
+//
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Israelian keyboard
+
+ // uses the phonetic layout from old Slackware 'il.map' file
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Israelian";
+
+
+ key <AE12> { [ equal, plus ],
+ [ hebrew_doublelowline, hebrew_doublelowline ]};
+
+ key <AD01> { [ q, Q ],
+ [ hebrew_qoph, hebrew_qoph ] };
+ key <AD02> { [ w, W ],
+ [ hebrew_waw, hebrew_waw ] };
+ key <AD03> { [ e, E ],
+ [ hebrew_aleph, hebrew_aleph ] };
+ key <AD04> { [ r, R ],
+ [ hebrew_resh, hebrew_resh ] };
+ key <AD05> { [ t, T ],
+ [ hebrew_taw, hebrew_tet ] };
+ key <AD06> { [ y, Y ],
+ [ hebrew_ayin, hebrew_ayin ] };
+ key <AD07> { [ u, U ],
+ [ hebrew_waw, hebrew_waw ] };
+ key <AD08> { [ i, I ],
+ [ hebrew_yod, hebrew_yod ] };
+ key <AD09> { [ o, O ],
+ [ hebrew_samech, hebrew_samech ] };
+ key <AD10> { [ p, P ],
+ [ hebrew_pe, hebrew_finalpe ] };
+
+ key <AC01> { [ a, A ],
+ [ hebrew_aleph, hebrew_aleph ] };
+ key <AC02> { [ s, S ],
+ [ hebrew_shin, hebrew_shin ] };
+ key <AC03> { [ d, D ],
+ [ hebrew_dalet, hebrew_dalet ] };
+ key <AC04> { [ f, F ],
+ [ hebrew_pe, hebrew_finalpe ] };
+ key <AC05> { [ g, G ],
+ [ hebrew_gimel, hebrew_gimel ] };
+ key <AC06> { [ h, H ],
+ [ hebrew_he, hebrew_he ] };
+ key <AC07> { [ j, J ],
+ [ hebrew_yod, hebrew_yod ] };
+ key <AC08> { [ k, K ],
+ [ hebrew_kaph, hebrew_finalkaph ] };
+ key <AC09> { [ l, L ],
+ [ hebrew_lamed, hebrew_lamed ] };
+
+ key <AB01> { [ z, Z ],
+ [ hebrew_zain, hebrew_zain ] };
+ key <AB02> { [ x, X ],
+ [ hebrew_chet, hebrew_chet ] };
+ key <AB03> { [ c, C ],
+ [ hebrew_zade, hebrew_finalzade ] };
+ key <AB04> { [ v, V ],
+ [ hebrew_waw, hebrew_waw ] };
+ key <AB05> { [ b, B ],
+ [ hebrew_bet, hebrew_bet ] };
+ key <AB06> { [ n, N ],
+ [ hebrew_nun, hebrew_finalnun ] };
+ key <AB07> { [ m, M ],
+ [ hebrew_mem, hebrew_finalmem ] };
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+
diff --git a/data/xkbdata/symbols/inet b/data/xkbdata/symbols/inet
new file mode 100644
index 000000000..05dbdc535
--- /dev/null
+++ b/data/xkbdata/symbols/inet
@@ -0,0 +1,2112 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/inet,v 1.11 2005/07/15 21:15:22 svu Exp $
+
+// $XFree86: xc/programs/xkbcomp/symbols/inet,v 1.38 2004/01/17 14:59:37 pascal Exp $
+
+// EAK (Easy Access, Internet, Multimedia, PDA) keyboards
+// Copyright (C) 2002 Stanislav Brabec <sbrabec@suse.cz>
+//
+// Based on LinEAK project
+// LinEAK - Linux support for Easy Access and Internet Keyboards
+// Copyright (C) 2001, 2002 Mark Smulders <Mark@PIRnet.nl>
+
+// Usage in XF86Config:
+// Option "XkbLayout" "my_kb_layout"
+// Option "XkbVariant" "my_kb_variant"
+// Option "XkbModel" "my_eak_type"
+// Option "XkbRules" "xorg"
+// Simple command line usage:
+// setxkbmap 'my_kb_layout' -variant 'my_kb_variant' -model 'my_eak_type'
+
+// All keyboards listed here should be also mentioned in
+// xc/programs/xkbcomp/rules: xorg, xorg.lst and xorg.xml.
+
+// A4Tech KB-21
+partial alphanumeric_keys
+xkb_symbols "a4techKB21" {
+ // Left side
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86Stop ] };
+ key <I67> { [ XF86Refresh ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I65> { [ XF86Search ] };
+
+ // Middle
+ key <I10> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop, XF86Eject ] };
+ key <I19> { [ XF86AudioNext ] };
+
+ // Right side
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I6B> { [ XF86MyComputer ] };
+};
+
+// A4 KBS-8. Contributed by ojo at force dot sk
+partial alphanumeric_keys
+xkb_symbols "a4techKBS8" {
+ include "inet(a4techKB21)"
+ key <I6D> { [ XF86AudioMedia ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I5F> { [ XF86Standby ] };
+
+};
+
+// Acer AirKey V
+partial alphanumeric_keys
+xkb_symbols "airkey" {
+ key <I18> { [ XF86AudioPrev ] };
+ key <I15> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I31> { [ XF86AudioStop, XF86Eject ] };
+ key <I13> { [ XF86AudioNext ] };
+ key <I2D> { [ XF86AudioRaiseVolume ] };
+ key <I26> { [ XF86AudioLowerVolume ] };
+ key <I19> { [ XF86AudioMute ] };
+ key <I24> { [ XF86WWW ] };
+ key <I16> { [ XF86Mail ] };
+ key <I2F> { [ XF86Terminal ] };
+ key <I63> { [ XF86Standby ] };
+ key <I5E> { [ XF86PowerOff ] };
+};
+
+// Azona
+
+// Azona RF2300 wireless Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "azonaRF2300" {
+ // From Radics Laszlo <garaboncias@mailbox.hu>
+ key <I02> { [ XF86WWW ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I3C> { [ XF86Copy ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I69> { [ XF86Forward ] };
+ key <I6A> { [ XF86Back ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I78> { [ XF86Cut ] };
+// key <RCTL> { [ XF86Paste ] };
+};
+
+// ACPI Standard
+partial alphanumeric_keys
+xkb_symbols "acpi" {
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+
+// Advance
+
+// Advance Scorpius KI
+partial alphanumeric_keys
+xkb_symbols "scorpius" {
+ key <I10> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I6D> { [ XF86AudioMedia ] };
+
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+
+ key <I63> { [ XF86WakeUp ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I5E> { [ XF86PowerOff ] };
+
+ key <I21> { [ XF86Calculator ] };
+ key <I6B> { [ XF86MyComputer ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I32> { [ XF86HomePage ] };
+
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86Stop ] };
+ key <I67> { [ XF86Reload ] };
+ key <I65> { [ XF86Search ] };
+};
+
+
+// Brother
+
+// Brother Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "brother" {
+ key <I21> { [ XF86WWW ] };
+ key <I1E> { [ XF86AudioMute ] };
+ key <I68> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I18> { [ XF86ScrollDown ] };
+ key <I10> { [ XF86ScrollUp ] };
+ key <I17> { [ XF86AudioPrev ] };
+ key <I12> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I2E> { [ XF86AudioNext ] };
+ key <I23> { [ XF86AudioStop ] };
+ key <I19> { [ XF86ZoomOut ] };
+ key <I32> { [ XF86ZoomIn ] };
+ key <I24> { [ XF86Calculator ] };
+ key <I25> { [ XF86Xfer ] };
+ key <I22> { [ Menu ] };
+ key <I26> { [ XF86Mail ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+
+// BTC
+
+// BTC 5113RF Multimedia
+partial alphanumeric_keys
+xkb_symbols "btc5113rf" {
+ key <I30> { [ XF86WWW ] };
+ key <I26> { [ XF86Back ] };
+ key <I20> { [ XF86Favorites ] };
+ key <I32> { [ XF86Search ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I12> { [ XF86AudioMute ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I10> { [ XF86AudioStop ] };
+ key <I24> { [ XF86AudioNext ] };
+ key <I21> { [ XF86Eject ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+// BTC 5126T
+partial alphanumeric_keys
+xkb_symbols "btc5126t" {
+ key <I30> { [ XF86WWW ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I2B> { [ XF86Mail ] };
+};
+
+// BTC 9000
+partial alphanumeric_keys
+xkb_symbols "btc9000" {
+ key <I19> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioNext ] };
+ key <I10> { [ XF86AudioStop ] };
+ key <I21> { [ XF86AudioMedia ] };
+
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I12> { [ XF86AudioMute ] };
+
+ key <I30> { [ XF86HomePage ] };
+ key <I26> { [ XF86Reload ] };
+ key <I32> { [ XF86Search ] };
+ key <I20> { [ XF86Favorites ] };
+
+ key <I2E> { [ XF86Mail ] };
+ key <I63> { [ XF86WakeUp ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I5E> { [ XF86PowerOff ] };
+};
+
+// BTC 9000A
+partial alphanumeric_keys
+xkb_symbols "btc9000a" {
+ key <I19> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioNext ] };
+ key <I10> { [ XF86AudioStop ] };
+ key <I21> { [ XF86Eject ] };
+
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I12> { [ XF86AudioMute ] };
+
+ key <I30> { [ XF86WWW ] };
+ key <I26> { [ XF86HomePage ] };
+ key <I32> { [ XF86Search ] };
+ key <I20> { [ XF86Favorites ] };
+
+ key <I2E> { [ Help ] };
+ key <I63> { [ XF86WakeUp ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I5E> { [ XF86PowerOff ] };
+};
+
+// BTC 9001AH
+xkb_symbols "btc9001ah" {
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <RWIN> { [ XF86Eject ] };
+
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+
+ key <I02> { [ XF86WWW ] };
+ key <I5F> { [ XF86PowerOff ] };
+ key <I6C> { [ XF86Mail ] };
+};
+
+// BTC 5090
+partial alphanumeric_keys
+xkb_symbols "btc5090" {
+ key <I32> { [ XF86WWW ] };
+ key <I26> { [ XF86Start ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I65> { [ XF86Search ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I33> { [ XF86Eject ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+// Cherry Blue Line
+
+// Cherry Blue Line CyBo@rd
+partial alphanumeric_keys
+xkb_symbols "cherryblue" {
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86Stop ] };
+ key <FK16> { [ XF86Reload ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86MyComputer ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <PRSC> { [ XF86Terminal ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <XFER> { [ XF86Go ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I63> { [ XF86Standby ] };
+};
+
+// Cherry CyMotion Master XPress
+partial alphanumeric_keys
+xkb_symbols "cherryblueb" {
+ key <I0B> { [ XF86ScrollUp ] };
+ key <I12> { [ XF86ScrollDown ] };
+ key <I17> { [ XF86Cut ] };
+ key <I0A> { [ XF86Copy ] };
+ key <I18> { [ XF86Paste ] };
+ key <I71> { [ XF86Book ] };
+ key <I2C> { [ XF86Book ] };
+ key <I72> { [ XF86Book ] };
+ key <I07> { [ XF86Forward ] };
+ key <I08> { [ XF86Back ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I6D> { [ XF86AudioMedia ] };
+ key <I67> { [ XF86AudioRewind ] };
+ key <I10> { [ XF86Back ] };
+ key <I19> { [ XF86Forward ] };
+ key <I70> { [ XF86Eject ] };
+ key <I32> { [ XF86Finance ] };
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86Stop ] };
+ key <FK16> { [ XF86Reload ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86MyComputer ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <PRSC> { [ XF86Terminal ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <XFER> { [ XF86Go ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I63> { [ XF86Standby ] };
+};
+
+// Cherry Blue Line CyBo@rd (alternate option)
+partial alphanumeric_keys
+xkb_symbols "cherrybluea" {
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86Stop ] };
+ key <I67> { [ XF86Reload ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86MyComputer ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I6B> { [ XF86Terminal ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I6D> { [ XF86Go ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I5F> { [ XF86Standby ] };
+};
+
+
+// Chicony
+
+// Chicony Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "chicony" {
+ key <I19> { [ XF86AudioLowerVolume ] };
+ key <I12> { [ XF86AudioMute ] };
+ key <I23> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I21> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I20> { [ XF86AudioNext ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I17> { [ XF86Mail ] };
+ key <I25> { [ XF86Back ] };
+ key <I1E> { [ XF86Forward ] };
+ key <I5F> { [ XF86ContrastAdjust ] };
+ key <I63> { [ XF86BrightnessAdjust ] };
+ key <I30> { [ XF86LaunchA ] };
+ key <I26> { [ XF86LaunchB ] };
+ key <I2E> { [ XF86LaunchC ] };
+};
+
+// Chicony KB-9885
+partial alphanumeric_keys
+xkb_symbols "chicony9885" {
+ key <I19> { [ XF86AudioLowerVolume ] };
+ key <I12> { [ XF86AudioMute ] };
+ key <I23> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I21> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I20> { [ XF86AudioNext ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+ key <I32> { [ XF86WWW ] };
+ key <I17> { [ XF86Mail ] };
+ key <I30> { [ XF86LaunchA ] };
+ key <I26> { [ XF86LaunchB ] };
+ key <I2E> { [ XF86LaunchC ] };
+ key <I25> { [ XF86Back ] };
+ key <I1E> { [ XF86Forward ] };
+};
+
+
+// Compaq
+
+// Compaq Easy Access Keyboard
+partial alphanumeric_keys
+xkb_symbols "compaqeak8" {
+ key <I23> { [ XF86WWW ] };
+ key <I1F> { [ XF86HomePage ] };
+ key <I1A> { [ XF86Search ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I13> { [ XF86Community ] };
+ key <I14> { [ XF86Market ] };
+ key <I15> { [ XF86Meeting ] };
+ key <I1B> { [ XF86News ] };
+};
+
+// Compaq Internet Keyboard (7 keys)
+partial alphanumeric_keys
+xkb_symbols "compaqik7" {
+ key <I1E> { [ XF86Mail ] };
+ key <I23> { [ Help ] };
+ key <I21> { [ XF86Search ] };
+ key <I25> { [ XF86VendorHome ] };
+ key <I26> { [ XF86HomePage ] };
+ key <I12> { [ XF86LightBulb ] };
+ key <I32> { [ XF86Shop ] };
+};
+
+// Compaq Internet Keyboard (13 keys)
+partial alphanumeric_keys
+xkb_symbols "compaqik13" {
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86Go ] };
+ key <I23> { [ XF86WWW ] };
+ key <I21> { [ XF86Search ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I32> { [ XF86Shop ] };
+};
+
+// Compaq Internet Keyboard (18 keys)
+partial alphanumeric_keys
+xkb_symbols "compaqik18" {
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I18> { [ XF86Eject ] };
+
+ key <I1E> { [ XF86Mail ] };
+ key <I26> { [ XF86Community ] };
+ key <I25> { [ XF86VendorHome ] };
+ key <I23> { [ XF86WWW ] };
+ key <I21> { [ XF86Search ] };
+ key <I12> { [ XF86LightBulb ] };
+ key <I32> { [ XF86Shop ] };
+
+ key <I68> { [ Print ] };
+ key <I1F> { [ XF86Go ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I5F> { [ XF86Standby ] };
+};
+
+
+// Laptop/notebook Compaq (eg. Armada, Evo) Laptop Keyboard
+partial alphanumeric_keys
+xkb_symbols "armada" {
+ key <I6F> { [ XF86AudioMedia ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I23> { [ XF86WWW ] };
+ key <I1F> { [ XF86HomePage ] };
+ key <I1A> { [ XF86Search ] };
+ key <I1E> { [ XF86Mail ] };
+};
+
+// Laptop/notebook Compaq (eg. Presario) Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "presario" {
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I1F> { [ XF86Launch1 ] };
+ key <I18> { [ XF86Launch2 ] };
+
+ key <I75> { [ XF86AudioMedia ] };
+ key <I23> { [ XF86WWW ] };
+ key <I14> { [ XF86Q ] };
+ key <I32> { [ XF86Shop ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I5F> { [ XF86Standby ] };
+};
+
+// Compaq iPaq Keyboard
+partial alphanumeric_keys
+xkb_symbols "ipaq" {
+ key <I6C> { [ XF86Mail ] };
+ key <I69> { [ XF86BackForward ] };
+ key <I6A> { [ XF86Q ] };
+ key <I02> { [ XF86Standby ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Travel ] };
+ key <FK16> { [ XF86Shop ] };
+};
+
+
+// Dell
+
+partial alphanumeric_keys
+xkb_symbols "dell" {
+ key <I12> { [ XF86Mail ] };
+ key <I26> { [ XF86HomePage ] };
+ key <I1E> { [ XF86Search ] };
+ key <I5F> { [ XF86Standby ] };
+};
+
+
+// Laptop/notebook Dell Inspiron 8xxx
+partial alphanumeric_keys
+xkb_symbols "inspiron" {
+ key <XFER> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <NFER> { [ XF86AudioPrev ] };
+ key <I04> { [ XF86AudioNext ] };
+ key <I02> { [ XF86AudioStop ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+};
+
+
+// Dexxa
+
+// Dexxa Wireless Desktop Keyboard
+partial alphanumeric_keys
+xkb_symbols "dexxa" {
+ key <I67> { [ XF86Reload ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I65> { [ XF86Search ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I32> { [ XF86WWW ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+};
+
+
+// Diamond
+
+// Diamond 9801 / 9802 series
+partial alphanumeric_keys
+xkb_symbols "diamond" {
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86Stop ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I65> { [ XF86Search ] };
+ key <I67> { [ XF86Reload ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I6D> { [ XF86Go ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I6B> { [ XF86MyComputer ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+// DTK
+
+// DTK2000
+partial alphanumeric_keys
+xkb_symbols "dtk2000" {
+ // From Radics Laszlo <garaboncias@mailbox.hu>
+ // Describes the extra keys on a DTK2000 Internet keyboard.
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Sleep ] };
+ key <I63> { [ XF86WakeUp ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I67> { [ XF86Refresh ] };
+ key <I68> { [ XF86Stop ] };
+ key <I69> { [ XF86Forward ] };
+ key <I6A> { [ XF86Back ] };
+ key <I6B> { [ XF86MyComputer ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I6D> { [ XF86AudioMedia ] };
+};
+
+
+// Ennyah
+
+// Ennyah DKB-1008
+partial alphanumeric_keys
+xkb_symbols "ennyah_dkb1008" {
+ key <I32> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I65> { [ XF86Search ] };
+ key <I67> { [ XF86Refresh ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I68> { [ XF86Stop ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <XFER> { [ XF86AudioMedia ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+
+// Genius
+
+// Genius Comfy KB-16M / Genius MM Keyboard KWD-910
+partial alphanumeric_keys
+xkb_symbols "genius" {
+ key <I23> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I21> { [ XF86AudioNext ] };
+ key <I30> { [ XF86Eject ] };
+ key <I19> { [ XF86AudioLowerVolume ] };
+ key <I12> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I26> { [ XF86ScreenSaver ] };
+ key <I17> { [ XF86Calculator ] };
+ key <I2E> { [ XF86Mail ] };
+ key <I25> { [ XF86Back ] };
+ key <I32> { [ XF86WWW ] };
+ key <I1E> { [ XF86Forward ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+// GeniusComfy21e
+partial alphanumeric_keys
+xkb_symbols "geniuscomfy2" {
+ // From Radics Laszlo <garaboncias@mailbox.hu>
+ // Describes the extra keys on a Genius Comfy KB-21e-Scroll
+ key <I10> { [ XF86AudioPrev ] };
+ key <I13> { [ XF86Word ] };
+ key <I14> { [ XF86Excel ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I23> { [ Return ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I5F> { [ XF86Sleep ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I67> { [ XF86Refresh ] };
+ key <I68> { [ XF86Stop ] };
+ key <I69> { [ XF86Forward ] };
+ key <I6A> { [ XF86Back ] };
+ key <I6B> { [ XF86MyComputer ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I6D> { [ XF86AudioMedia ] };
+};
+
+
+// Gyration
+
+partial alphanumeric_keys
+xkb_symbols "gyration" {
+ key <I24> { [ XF86AudioPrev ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86Stop ] };
+ key <FK16> { [ XF86Reload ] };
+ key <I65> { [ XF86Search ] };
+ key <I02> { [ XF86WWW ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I6C> { [ XF86Mail ] };
+};
+
+
+// Hewlett-Packard
+
+// Hewlett-Packard Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "hpi6" {
+ key <I12> { [ XF86Search ] };
+ key <I26> { [ Help ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+};
+
+// Hewlett-Packard SK-2501 Multimedia Keyboard
+partial alphanumeric_keys
+xkb_symbols "hp2501" {
+ key <I32> { [ XF86WWW ] };
+ key <I17> { [ XF86Search ] };
+ key <I12> { [ XF86Tools ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I23> { [ XF86Launch2 ] };
+ key <I22> { [ XF86Launch3 ] };
+ key <I24> { [ XF86Launch4 ] };
+ key <I21> { [ XF86Launch5 ] };
+ key <I25> { [ XF86Standby ] };
+ key <I26> { [ Help ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+};
+
+// Hewlett-Packard SK-2505 Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "hp2505" {
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I18> { [ XF86Eject ] };
+ key <I1E> { [ XF86Mail ] };
+ key <I32> { [ XF86WWW ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I25> { [ XF86Standby ] };
+};
+
+// Hewlett-Packard 5181 Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "hp5181" {
+ key <I10> { [ XF86AudioPrev ] };
+ key <I12> { [ XF86Search ] };
+ key <I14> { [ XF86VendorHome ] };
+ key <I15> { [ XF86Community ] };
+ key <I16> { [ XF86AudioMedia ] };
+ key <I18> { [ XF86Eject ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I1E> { [ XF86Shop ] };
+ key <I1F> { [ XF86Launch1 ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I22> { [ XF86AudioStop ] };
+ key <I24> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I26> { [ Help ] };
+ key <I27> { [ XF86Finance ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I39> { [ Print ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I6C> { [ XF86Mail ] };
+};
+
+// Hewlett-Packard 5185 Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "hp5185" {
+ key <I10> { [ XF86AudioPrev ] };
+ key <I65> { [ XF86Search ] };
+ key <I12> { [ XF86Go ] };
+ key <I14> { [ XF86VendorHome ] };
+ key <I15> { [ XF86Community ] };
+ key <I16> { [ XF86AudioMedia ] };
+ key <I18> { [ XF86Eject ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I1E> { [ XF86Shop ] };
+ key <I1F> { [ XF86Pictures ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I26> { [ Help ] };
+ key <I27> { [ XF86Finance ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I32> { [ XF86WWW ] };
+ key <I39> { [ Print ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I6C> { [ XF86Mail ] };
+};
+
+// Hewlett-Packard Omnibook XE3 GC, GD, GE and Pavilion N5xxx
+partial alphanumeric_keys
+xkb_symbols "hpxe3gc" {
+ // Describes the OneTouch buttons on HP Omnibook XE3 GC and
+ // HP Pavilion N52XX models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+
+ key <I73> { [ XF86WWW ] };
+ key <I74> { [ XF86Mail ] };
+ key <I72> { [ XF86Launch1 ] };
+ key <I71> { [ Help ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop, XF86Eject ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+};
+
+// Hewlett-Packard Omnibook XE3 GF
+partial alphanumeric_keys
+xkb_symbols "hpxe3gf" {
+
+ // Describes the OneTouch buttons on HP Omnibook XE3 GF models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+
+ key <I32> { [ XF86WWW ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I74> { [ XF86Launch1 ] };
+ key <I73> { [ Help ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop, XF86Eject ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+};
+
+// Hewlett-Packard Omnibook XT1000
+partial alphanumeric_keys
+xkb_symbols "hpxt1000" {
+
+ // Describes the OneTouch buttons on HP Omnibook XT1000 models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+
+ key <I6C> { [ XF86Mail ] };
+ key <I74> { [ XF86Launch1 ] };
+ key <I32> { [ XF86WWW ] };
+ key <I73> { [ XF86Launch2 ] };
+ key <I72> { [ Help ] };
+ key <I71> { [ XF86Launch3 ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop, XF86Eject ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+};
+
+// Hewlett-Packard Pavilion ZT11xx
+partial alphanumeric_keys
+xkb_symbols "hpzt11xx" {
+
+ // Describes the OneTouch buttons on HP Pavilion ZT11xx models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+
+ key <I6C> { [ XF86Mail ] };
+ key <I74> { [ XF86Launch1 ] };
+ key <I32> { [ XF86WWW ] };
+ key <I73> { [ XF86Launch2 ] };
+ key <I72> { [ Help ] };
+ key <I71> { [ XF86Launch3 ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop, XF86Eject ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+};
+
+// Hewlett-Packard Omnibook XE4xxx and ZE4xxx
+partial alphanumeric_keys
+xkb_symbols "hpxe4xxx" {
+
+ // Describes the OneTouch buttons on HP Omnibook XE4xxx and ZE4xxx
+ // models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+
+ key <I6C> { [ XF86Mail ] };
+ key <I73> { [ XF86Launch1 ] };
+ key <I32> { [ XF86WWW ] };
+ key <I71> { [ XF86Launch2 ] };
+ key <I70> { [ Help ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+};
+
+// Hewlett-Packard Omnibook 500 FA
+partial alphanumeric_keys
+xkb_symbols "hp500fa" {
+
+ // Describes the OneTouch buttons on HP Omnibook 500 FA models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+
+ key <I74> { [ XF86Launch1 ] };
+ key <I73> { [ Help ] };
+};
+
+// Hewlett-Packard Omnibook 5xx
+partial alphanumeric_keys
+xkb_symbols "hp5xx" {
+
+ // Describes the OneTouch buttons on HP Omnibook 5xx models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+
+ key <I74> { [ XF86Launch1 ] };
+ key <I73> { [ Help ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop, XF86Eject ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+};
+
+
+// Honeywell
+
+
+// Honeywell Euroboard
+partial alphanumeric_keys
+xkb_symbols "honeywell_euroboard" {
+
+ // Scott Penrose <scottp@dd.com.au>
+ // January 2002
+ // http://linux.dd.com.au/quest/linux/keyboard/honeywell/
+
+ key <I10> { [ XF86Game ] };
+ key <I12> { [ XF86AudioPrev ] };
+ key <I17> { [ XF86Eject ] };
+ key <I18> { [ XF86Launch2 ] };
+ key <I19> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I1E> { [ XF86Launch1 ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I23> { [ XF86AudioStop ] };
+ key <I24> { [ XF86Mail ] };
+ key <I25> { [ XF86ScreenSaver ] };
+ key <I26> { [ XF86Calculator ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I32> { [ XF86WWW ] };
+};
+
+
+// IBM
+
+
+// IBM Rapid Access
+partial alphanumeric_keys
+xkb_symbols "rapidaccess" {
+ key <I22> { [ XF86AudioPause ] };
+ key <I12> { [ XF86AudioMute ] };
+ key <I1E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I23> { [ XF86AudioPrev ] };
+ key <I21> { [ XF86AudioNext ] };
+ key <I25> { [ XF86Standby ] };
+ key <I32> { [ XF86Launch1 ] };
+ key <I17> { [ XF86Launch2 ] };
+ key <I30> { [ XF86Launch3 ] };
+ key <I2E> { [ XF86Launch4 ] };
+ key <I26> { [ Help ] };
+};
+
+// IBM Rapid Access II
+partial alphanumeric_keys
+xkb_symbols "rapidaccess2" {
+ key <I25> { [ XF86HomePage ] };
+ key <I26> { [ XF86Shop ] };
+ key <I32> { [ XF86VendorHome ] };
+ key <I17> { [ XF86Favorites ] };
+ key <I30> { [ XF86MyComputer ] };
+ key <I2E> { [ XF86Search ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I1E> { [ XF86AudioMute ] };
+ key <I21> { [ XF86AudioLowerVolume ] };
+ key <I23> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I20> { [ XF86AudioStop ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I12> { [ XF86AudioNext ] };
+};
+
+// IBM Rapid Access II (alternate option)
+partial alphanumeric_keys
+xkb_symbols "rapidaccess2a" {
+ key <I25> { [ XF86WWW ] };
+ key <I26> { [ XF86Shop ] };
+ key <I32> { [ XF86VendorHome ] };
+ key <I17> { [ XF86Favorites ] };
+ key <I30> { [ XF86Option ] };
+ key <I2E> { [ Help ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I1E> { [ XF86AudioMute ] };
+ key <I20> { [ XF86AudioStop ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I12> { [ XF86AudioNext ] };
+ key <I21> { [ XF86AudioLowerVolume ] };
+ key <I23> { [ XF86AudioRaiseVolume ] };
+ key <MENU> { [ Menu ] };
+};
+
+
+// Logitech
+
+// Logitech Cordless Desktop
+partial alphanumeric_keys
+xkb_symbols "ltcd" {
+ key <I5F> { [ XF86Standby ] };
+
+ key <I26> { [ XF86AudioMute ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioNext ] };
+
+ key <I02> { [ XF86WWW ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Go ] };
+};
+
+// Logitech Access Keyboard
+partial alphanumeric_keys
+xkb_symbols "logiaccess" {
+ key <I20> { [ XF86AudioMute ] };
+ key <I6D> { [ XF86AudioMedia ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+
+ key <I5F> { [ XF86Standby ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I11> { [ XF86Messenger ] };
+ key <I12> { [ XF86WebCam ] };
+
+ key <I32> { [ XF86HomePage ] };
+
+ key <I3B> { [ XF86New ] };
+ key <I3C> { [ XF86Reply ] };
+ key <K62> { [ XF86MailForward ] };
+ key <K63> { [ XF86Send ] };
+
+ key <I43> { [ XF86MyComputer ] };
+ key <I44> { [ XF86Documents ] };
+ key <I57> { [ XF86Pictures ] };
+ key <I58> { [ XF86Music ] };
+};
+
+// Logitech Cordless Desktop iTouch
+partial alphanumeric_keys
+xkb_symbols "logicdit" {
+ key <I5F> { [ XF86Standby ] };
+
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+
+ key <I32> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Go ] };
+};
+
+// Logitech Cordless Desktop Pro
+partial alphanumeric_keys
+xkb_symbols "logicdp" {
+ key <I5F> { [ XF86Standby ] };
+
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I6D> { [ XF86AudioMedia ] };
+
+ key <I32> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Go ] };
+
+ key <I21> { [ XF86VendorHome ] };
+};
+
+// Logitech Cordless Desktop Pro (alternate option)
+partial alphanumeric_keys
+xkb_symbols "logicdpa" {
+ key <I5F> { [ XF86Standby ] };
+
+ key <I26> { [ XF86AudioMute ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioNext ] };
+
+ key <I02> { [ XF86WWW ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Go ] };
+
+ key <I21> { [ XF86VendorHome ] };
+};
+
+// Logitech Internet Navigator Keyboard
+partial alphanumeric_keys
+xkb_symbols "logicink" {
+ // Media keys
+ key <I20> { [ XF86AudioMute ] };
+ key <I6D> { [ XF86AudioMedia ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+
+ // Left side
+ key <I5F> { [ XF86Standby ] };
+ key <I13> { [ XF86Finance ] };
+ key <I14> { [ XF86MySites ] };
+ key <I15> { [ XF86Community ] };
+ key <I66> { [ XF86Favorites ] };
+
+ // Right side
+ key <I12> { [ XF86VendorHome ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I11> { [ XF86Shop ] };
+ key <I65> { [ XF86Search ] };
+
+ // Wheel buttons
+ key <I69> { [ XF86Go ] };
+ key <I6A> { [ XF86Back ] };
+ key <I16> { [ XF86ScrollClick ] };
+};
+
+// Logitech iTouch Internet Navigator Keyboard
+partial alphanumeric_keys
+xkb_symbols "logiciink" {
+ // Media keys
+ key <I20> { [ XF86AudioMute ] };
+ key <I6D> { [ XF86AudioMedia ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+
+ // Left side
+ key <I5F> { [ XF86Standby ] };
+ key <I13> { [ XF86Finance ] };
+ key <I14> { [ XF86Favorites ] };
+ key <I15> { [ XF86Community ] };
+ key <I66> { [ XF86Start ] };
+
+ // Right side
+ key <I12> { [ XF86VendorHome ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I11> { [ XF86Shop ] };
+ key <I65> { [ XF86Search ] };
+
+ // Wheel buttons
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I16> { [ XF86ScrollClick ] };
+};
+
+// Logitech iTouch Internet Navigator Keyboard SE
+partial alphanumeric_keys
+xkb_symbols "logiinkse" {
+ // Media keys
+ key <I20> { [ XF86AudioMute ] };
+ key <I6D> { [ XF86AudioMedia ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+
+ // Left side
+ key <I5F> { [ XF86Standby ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I11> { [ XF86Messenger ] };
+ key <I12> { [ XF86WebCam ] };
+
+ // Right side
+ key <I13> { [ XF86VendorHome ] };
+ key <I65> { [ XF86Search ] };
+ key <I14> { [ XF86Shop ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I32> { [ XF86HomePage ] };
+
+ // Wheel buttons
+ key <I69> { [ XF86Forward ] };
+ key <I6A> { [ XF86Back ] };
+ key <I16> { [ XF86ScrollClick ] };
+
+ // Extended function keys
+ key <I3B> { [ XF86New ] }; // F1
+ key <I3C> { [ XF86Reply ] }; // F2
+ key <FK13> { [ XF86MailForward ] }; // F3
+ key <FK14> { [ XF86Send ] }; // F4
+ key <FK15> { [ Undo ] }; // F5
+ key <FK16> { [ Redo ] }; // F6
+ key <FK17> { [ Print ] }; // F7
+ key <I42> { [ XF86Save ] }; // F8
+ key <I43> { [ XF86MyComputer ] }; // F9
+ key <I44> { [ XF86Documents ] }; // F10
+ key <I57> { [ XF86Pictures ] }; // F11
+ key <I58> { [ XF86Music ] }; // F12
+};
+
+// Logitech iTouch Internet Navigator Keyboard SE (USB)
+partial alphanumeric_keys
+xkb_symbols "logiinkseusb" {
+ // Media keys
+ key <I26> { [ XF86AudioMute ] };
+ key <XFER> { [ XF86AudioMedia ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioNext ] };
+
+ // Left side
+ key <I5F> { [ XF86Standby ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I69> { [ XF86Go ] };
+ key <I6A> { [ XF86Back ] };
+
+ // Right side
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I02> { [ XF86HomePage ] };
+
+ // Extended function keys
+ key <I44> { [ XF86New ] }; // F1
+ key <I45> { [ XF86Reply ] }; // F2
+ key <I4A> { [ XF86Send ] }; // F4
+ key <I54> { [ Print ] }; // F7
+ key <I55> { [ XF86Save ] }; // F8
+ key <I43> { [ XF86MyComputer ] }; // F9
+ key <I56> { [ XF86Documents ] }; // F10
+ key <I57> { [ XF86Pictures ] }; // F11
+ key <I58> { [ XF86Music ] }; // F12
+
+};
+
+// Logitech iTouch Cordless Keyboard (model Y-RB6)
+partial alphanumeric_keys
+xkb_symbols "logiitc" {
+ key <I5F> { [ XF86PowerOff ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I2F> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Favorites ] };
+};
+
+// Logitech Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "logiik" {
+ key <I25> { [ XF86VendorHome ] };
+ key <I10> { [ XF86Back ] };
+ key <I22> { [ XF86Forward ] };
+ key <I24> { [ XF86Stop ] };
+ key <I19> { [ XF86Reload ] };
+ key <I1E> { [ XF86Search ] };
+ key <I18> { [ XF86Favorites ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I23> { [ XF86HomePage ] };
+
+ key <I7A> { [ XF86WWW ] };
+ key <I32> { [ XF86History ] };
+ key <I21> { [ XF86OpenURL ] };
+ key <I17> { [ Print ] };
+ key <I12> { [ Find ] };
+ key <I26> { [ XF86AddFavorite ] };
+ key <I20> { [ XF86HotLinks ] };
+};
+
+// Logitech iTouch
+partial alphanumeric_keys
+xkb_symbols "itouch" {
+ key <I5F> { [ XF86Standby ] };
+
+ key <I1F> { [ XF86AudioMute ] };
+ key <I2B> { [ XF86AudioLowerVolume ] };
+ key <I2D> { [ XF86AudioRaiseVolume ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+
+ key <I32> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Start ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "logiultrax" {
+ key <I01> { [ XF86AudioMedia ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I02> { [ XF86WWW ] };
+};
+
+// Memorex
+
+// Memorex MX1998
+partial alphanumeric_keys
+xkb_symbols "mx1998" {
+ key <I24> { [ XF86AudioStop ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I7A> { [ XF86ScreenSaver ] };
+ key <I57> { [ XF86WakeUp ] };
+ key <I32> { [ XF86WWW ] };
+ key <I25> { [ XF86Calculator ] };
+ key <I18> { [ XF86Xfer ] };
+ key <I68> { [ XF86DOS ] };
+ key <I21> { [ XF86Documents ] };
+ key <I12> { [ XF86AudioRewind ] };
+ key <I1E> { [ XF86AudioRecord ] };
+ key <I23> { [ XF86Game ] };
+ key <I17> { [ XF86Close ] };
+ key <I26> { [ Menu ] };
+ key <UP> { [ XF86ScrollUp ] };
+ key <DOWN> { [ XF86ScrollDown ] };
+};
+
+// Memorex MX2500 EZ-Access Keyboard
+partial alphanumeric_keys
+xkb_symbols "mx2500" {
+ key <I5F> { [ XF86Standby ] };
+ key <I6B> { [ XF86WakeUp ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I14> { [ XF86DOS ] };
+ key <I1F> { [ XF86Documents ] };
+ key <I26> { [ XF86News ] };
+ key <I32> { [ XF86WWW ] };
+ key <I18> { [ XF86Xfer ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I12> { [ XF86Clear ] };
+ key <I13> { [ XF86Phone ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I6D> { [ XF86RotateWindows ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I17> { [ XF86Close ] };
+ key <I1E> { [ XF86Eject ] };
+ key <LWIN> { [ Meta_L ] };
+ key <RWIN> { [ Meta_R ] };
+ key <MENU> { [ Menu ] };
+};
+
+// Memorex MX2750
+partial alphanumeric_keys
+xkb_symbols "mx2750" {
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+ key <I32> { [ XF86Launch0 ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+};
+
+
+// Microsoft
+
+// Microsoft Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "microsoftinet" {
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86AudioStop ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I32> { [ XF86WWW ] };
+ key <I6B> { [ XF86MyComputer ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I5F> { [ XF86Standby ] };
+};
+
+// Microsoft Natural Keyboard Pro / Microsoft Internet Keyboard Pro
+partial alphanumeric_keys
+xkb_symbols "microsoftpro" {
+// Multimedia Section -- Right Side
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I6D> { [ XF86AudioMedia ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+// Internet Section -- Left Side
+ key <I32> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I65> { [ XF86Search ] };
+ key <I68> { [ XF86Stop ] };
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I67> { [ XF86Reload ] };
+// My Computer Section -- Far Right
+ key <I6B> { [ XF86MyComputer ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I5F> { [ XF86Standby ] };
+};
+
+// Microsoft Natural Keyboard Pro USB
+partial alphanumeric_keys
+ xkb_symbols "microsoftprousb" {
+ // Multimedia Section -- Right Side
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <I01> { [ XF86AudioMedia ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ // Internet Section -- Left Side
+ key <I02> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I65> { [ XF86Search ] };
+ key <I68> { [ XF86Stop ] };
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <FK16> { [ XF86Reload ] };
+ // My Computer Section -- Far Right
+ // My computer maps to printscreen, so leaving commented out for now
+ // key <PRSC> { [ XF86MyComputer ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I63> { [ XF86Standby ] };
+};
+
+// Microsoft Natural Keyboard Pro OEM
+partial alphanumeric_keys
+xkb_symbols "microsoftprooem" {
+// Multimedia Section -- Right Side
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I01> { [ XF86AudioMedia ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+
+// Internet Section -- Left Side
+ key <I02> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I66> { [ XF86Favorites ] };
+ key <FK17> { [ XF86Search ] };
+ key <I68> { [ XF86Stop ] };
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I67> { [ XF86Reload ] };
+
+// My Computer Section -- Far Right
+ key <K67> { [ XF86MyComputer ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I63> { [ XF86Standby ] };
+};
+
+// Microsoft Internet Keyboard Pro, Swedish
+partial alphanumeric_keys
+xkb_symbols "microsoftprose" {
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86AudioStop ] };
+ key <FK16> { [ XF86Reload ] };
+ key <I65> { [ XF86Search ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I02> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I1E> { [ XF86AudioRaiseVolume ] };
+ key <I1F> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I17> { [ XF86AudioStop ] };
+ key <I24> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioNext ] };
+ key <XFER> { [ XF86AudioMedia ] };
+ key <PRSC> { [ XF86MyComputer ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I63> { [ XF86Standby ] };
+};
+
+// Microsoft Office Keyboard
+partial alphanumeric_keys
+xkb_symbols "microsoftoffice" {
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I3C> { [ XF86Cut ] };
+ key <I78> { [ XF86Copy ] };
+ key <RCTL> { [ XF86Paste ] };
+ key <I54> { [ XF86ApplicationLeft ] };
+ key <MOAR> { [ XF86ApplicationRight ] };
+ key <I44> { [ XF86Word ] };
+ key <I45> { [ XF86Excel ] };
+ key <I02> { [ XF86WWW ] };
+ key <I6C> { [ XF86Mail ] };
+ key <BRK> { [ XF86Calendar ] };
+ key <I57> { [ XF86HomePage ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I25> { [ XF86AudioRaiseVolume ] };
+ key <I1E> { [ XF86AudioLowerVolume ] };
+ key <I4A> { [ XF86LogOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I62> { [ Help ] };
+ key <I6D> { [ XF86OfficeHome ] };
+ key <I55> { [ XF86TaskPane ] };
+ key <I58> { [ XF86New ] };
+ key <I59> { [ XF86Open ] };
+ key <I5A> { [ XF86Close ] };
+ key <I71> { [ XF86Reply ] };
+ key <I72> { [ XF86MailForward ] };
+ key <I73> { [ XF86Send ] };
+ key <I56> { [ XF86Spell ] };
+ key <I64> { [ XF86Save ] };
+ key <I67> { [ Print ] };
+ key <END> { [ Undo ] };
+ key <I70> { [ Redo ] };
+};
+
+// Microsoft Wireless Multimedia Keyboard 1.0A
+partial alphanumeric_keys
+xkb_symbols "microsoftmult" {
+// My Computer Section -- Left Side
+ key <I80> { [ XF86Documents ] };
+ key <I64> { [ XF86Pictures ] };
+ key <I3C> { [ XF86Music ] };
+
+// Multimedia Section -- Centre
+ key <I20> { [ XF86AudioMute ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I6D> { [ XF86AudioMedia ] };
+
+// Internet Section -- Right Side
+ key <I6C> { [ XF86Mail ] };
+ key <I32> { [ XF86HomePage ] };
+ key <AE13> { [ XF86Messenger ] };
+
+// Control Section -- Far Right
+ key <I21> { [ XF86Calculator ] };
+ key <I16> { [ XF86LogOff ] };
+ key <I5F> { [ XF86Sleep ] };
+
+// F-Locked Function keys
+ key <I3B> { [ Help ] };
+ key <I08> { [ Undo ] };
+ key <I07> { [ Redo ] };
+ key <FK14> { [ XF86New ] };
+ key <FK15> { [ XF86Open ] };
+ key <FK16> { [ XF86Close ] };
+ key <FK17> { [ XF86Reply ] };
+ key <I42> { [ XF86Forward ] };
+ key <I43> { [ XF86Send ] };
+ key <I23> { [ XF86Spell ] };
+ key <I57> { [ XF86Save ] };
+ key <I58> { [ Print ] };
+};
+
+// Oretec
+
+// Oretec MCK-800 MM/Internet keyboard
+partial alphanumeric_keys
+xkb_symbols "oretec" {
+ key <I21> { [ XF86WWW ] };
+ key <I1E> { [ XF86AudioMute ] };
+ key <I68> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I18> { [ XF86ScrollDown ] };
+ key <I10> { [ XF86ScrollUp ] };
+ key <I17> { [ XF86AudioPrev ] };
+ key <I12> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I2E> { [ XF86AudioNext ] };
+ key <I23> { [ XF86AudioStop ] };
+ key <I19> { [ XF86ZoomOut ] };
+ key <I32> { [ XF86ZoomIn ] };
+ key <I24> { [ XF86Calculator ] };
+ key <I25> { [ XF86Xfer ] };
+ key <I22> { [ Menu ] };
+ key <I26> { [ XF86Mail ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+
+// Propeller
+
+// Propeller Voyager (KTEZ-1000)
+partial alphanumeric_keys
+xkb_symbols "propeller" {
+ key <I25> { [ XF86Calculator ] };
+ key <I18> { [ XF86Xfer ] };
+
+ key <I68> { [ XF86DOS ] };
+ key <I21> { [ XF86Documents ] };
+ key <I32> { [ XF86WWW ] };
+ key <I26> { [ Menu ] };
+ key <I23> { [ XF86Game ] };
+
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I12> { [ XF86AudioRewind ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I17> { [ XF86Close ] };
+ key <I1E> { [ XF86AudioRecord ] };
+
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I7A> { [ XF86Standby ] };
+};
+
+
+// QTronix
+
+// QTronix Scorpius 98N+
+partial alphanumeric_keys
+xkb_symbols "qtronix" {
+ key <I21> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I23> { [ XF86AudioNext ] };
+ key <I30> { [ XF86AudioRecord ] };
+
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I20> { [ XF86AudioRaiseVolume ] };
+
+ key <I13> { [ XF86WakeUp ] };
+ key <I18> { [ XF86Standby ] };
+ key <I31> { [ XF86PowerOff ] };
+ key <I68> { [ XF86Calculator ] };
+ key <I1F> { [ XF86Reload ] };
+
+ key <I25> { [ XF86HomePage ] };
+ key <I1E> { [ XF86Back ] };
+ key <I17> { [ XF86Search ] };
+ key <I32> { [ XF86Stop ] };
+ key <I12> { [ XF86Forward ] };
+
+ key <I19> { [ XF86ScrollUp ] };
+ key <I10> { [ XF86ScrollDown ] };
+};
+
+
+// Samsung
+
+// Samsung SDM 4500P
+partial alphanumeric_keys
+xkb_symbols "samsung4500" {
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I18> { [ XF86Eject ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I32> { [ XF86WWW ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I26> { [ Help ] };
+ key <I59> { [ XF86Explorer ] };
+ key <I09> { [ XF86Close ] };
+ key <I0A> { [ XF86Book ] };
+ key <I02> { [ XF86Launch1 ] };
+ key <NFER> { [ XF86Launch2 ] };
+ key <I04> { [ XF86Launch3 ] };
+ key <AE13> { [ XF86Launch4 ] };
+ key <I06> { [ XF86Launch5 ] };
+};
+
+// Samsung SDM 4510P
+partial alphanumeric_keys
+xkb_symbols "samsung4510" {
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I18> { [ XF86Eject ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I02> { [ XF86Launch1 ] };
+ key <NFER> { [ XF86Launch2 ] };
+ key <I04> { [ XF86Launch3 ] };
+ key <I5F> { [ XF86Standby ] };
+};
+
+
+// SK
+
+// SK-1300
+partial alphanumeric_keys
+xkb_symbols "sk1300" {
+ key <I20> { [ XF86WWW ] };
+ key <I26> { [ XF86Back ] };
+ key <I1E> { [ XF86Forward ] };
+ key <I32> { [ XF86Stop ] };
+ key <I25> { [ XF86Standby ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I12> { [ XF86Eject ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+};
+
+// SK-2500
+partial alphanumeric_keys
+xkb_symbols "sk2500" {
+ key <I25> { [ XF86PowerOff ] };
+ key <I7A> { [ XF86ScreenSaver ] };
+ key <I32> { [ XF86WWW ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I23> { [ XF86Xfer ] };
+ key <I17> { [ XF86Close ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I1E> { [ XF86AudioRecord ] };
+ key <I12> { [ XF86AudioRewind ] };
+ key <I26> { [ Menu ] };
+ key <I18> { [ XF86Eject ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I19> { [ XF86Forward ] };
+ key <I18> { [ XF86Eject ] };
+};
+
+// SK-6200
+partial alphanumeric_keys
+xkb_symbols "sk6200" {
+ key <I24> { [ XF86AudioStop ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I23> { [ XF86AudioPrev ] };
+ key <I21> { [ XF86AudioNext ] };
+ key <I16> { [ XF86AudioRaiseVolume ] };
+ key <I14> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I1E> { [ XF86WWW ] };
+ key <I12> { [ XF86Favorites ] };
+ key <I32> { [ XF86Mail ] };
+ key <I17> { [ XF86Back ] };
+ key <I19> { [ XF86Forward ] };
+};
+
+// SK-7100
+partial alphanumeric_keys
+xkb_symbols "sk7100" {
+ key <I17> { [ XF86Close ] };
+ key <I25> { [ XF86CD ] };
+ key <I18> { [ XF86Video ] };
+ key <I32> { [ XF86WWW ] };
+ key <I1E> { [ XF86Eject ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I12> { [ XF86AudioPause ] };
+ key <I22> { [ XF86AudioPlay ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I26> { [ XF86Display ] };
+};
+
+
+// Sven
+
+// SVEN Ergonomic 2500
+partial alphanumeric_keys
+xkb_symbols "sven" {
+ key <I68> { [ XF86Back ] };
+ key <I12> { [ XF86Forward ] };
+ key <I23> { [ XF86Stop ] };
+ key <I29> { [ XF86Reload ] };
+ key <I2E> { [ XF86Search ] };
+ key <I30> { [ XF86Favorites ] };
+ key <I1E> { [ XF86HomePage ] };
+ key <I19> { [ XF86AudioPrev ] };
+ key <I1A> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I62> { [ XF86AudioNext ] };
+ key <I26> { [ XF86AudioMute ] };
+ key <I25> { [ XF86AudioLowerVolume ] };
+ key <I17> { [ XF86AudioRaiseVolume ] };
+ key <I18> { [ XF86ZoomOut ] };
+ key <I21> { [ XF86ZoomIn ] };
+ key <I32> { [ XF86ScrollDown ] };
+ key <I31> { [ XF86ScrollUp ] };
+ key <I20> { [ XF86Mail ] };
+ key <I22> { [ XF86MyComputer ] };
+ key <I28> { [ XF86Calculator ] };
+ key <I24> { [ XF86ScreenSaver ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+
+// Symplon
+
+// Symplon PaceBook (tablet PC)
+partial alphanumeric_keys
+xkb_symbols "symplon" {
+ key <HOME> { [ XF86RotationPB ] };
+ key <UP> { [ XF86MenuPB ] };
+ key <PAUS> { [ XF86UserPB ] };
+ key <I25> { [ XF86RotationKB ] };
+ key <I26> { [ XF86MenuKB ] };
+ key <I13> { [ XF86SplitScreen ] };
+ key <I6B> { [ XF86User1KB ] };
+ key <I21> { [ XF86User2KB ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I17> { [ XF86New ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I32> { [ XF86WWW ] };
+ key <I14> { [ XF86Support ] };
+};
+
+// Toshiba
+
+// Toshiba Satellite S3000
+partial alphanumeric_keys
+xkb_symbols "toshiba_s3000" {
+
+ // Describes the Special buttons on Toshiba Satellite 3000 models.
+ // See http://sourceforge.net/projects/omke for details on enabling
+ // these keys
+
+ key <I71> { [ XF86WWW ] };
+ key <I73> { [ XF86Mail ] };
+ key <I06> { [ XF86Launch1 ] };
+ key <I13> { [ XF86Launch2 ] };
+ key <I24> { [ XF86AudioStop, XF86Eject ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I75> { [ XF86AudioRaiseVolume ] };
+ key <I76> { [ XF86AudioLowerVolume ] };
+};
+
+// Trust
+
+// Trust Wireless Keyboard Classic
+partial alphanumeric_keys
+xkb_symbols "trust" {
+ key <I32> { [ XF86WWW ] };
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I1E> { [ XF86Eject ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+ key <I11> { [ XF86ScreenSaver ] };
+};
+
+
+// Trust Direct Access Keyboard
+partial alphanumeric_keys
+xkb_symbols "trustda" {
+ key <I7A> { [ XF86Away ] };
+ key <I32> { [ XF86WWW ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I23> { [ XF86Xfer ] };
+ key <I17> { [ XF86Close ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I1E> { [ XF86AudioRecord ] };
+ key <I12> { [ XF86AudioRewind ] };
+ key <I26> { [ Help ] };
+ key <I18> { [ XF86Eject ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I25> { [ XF86Standby ] };
+};
+
+
+// YaHoo!
+
+// Yahoo! Internet Keyboard
+partial alphanumeric_keys
+xkb_symbols "yahoo" {
+ key <I11> { [ XF86AudioPrev ] };
+ key <I12> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I1E> { [ XF86AudioStop ] };
+ key <I1F> { [ XF86AudioNext ] };
+ key <I20> { [ XF86AudioRecord ] };
+ key <I21> { [ XF86AudioLowerVolume ] };
+ key <I22> { [ XF86AudioRaiseVolume ] };
+ key <I23> { [ XF86AudioMute ] };
+ key <I24> { [ XF86Close ] };
+ key <I25> { [ XF86Calculator ] };
+ key <I26> { [ Help ] };
+ key <I27> { [ XF86Mail ] };
+ key <I28> { [ XF86WWW ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+// Super Power Internet Keyboard
+
+// Super Power Multimedia Keyboard
+xkb_symbols "sp_inet" {
+ key <I67> { [ XF86Refresh ] };
+ key <I66> { [ XF86Favorites ] };
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86Stop ] };
+ key <I32> { [ XF86HomePage ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I5E> { [ XF86PowerOff ] };
+ key <I5F> { [ XF86Standby ] };
+ key <I63> { [ XF86WakeUp ] };
+};
+
+// Acer Travelmate 800
+xkb_symbols "acer_tm_800" {
+ key <I6C> { [ XF86Mail ] };
+ key <I32> { [ XF86WWW ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+// There are other buttons (P1, P2, Fn-F2, Fn-F3 - but they
+// don't generate scancodes. It is possible to map them to whatever user wants.
+};
+
+partial alphanumeric_keys
+xkb_symbols "cymotionlinux" {
+ key <I6A> { [ XF86Back ] };
+ key <I69> { [ XF86Forward ] };
+ key <I68> { [ XF86Stop ] };
+ key <I67> { [ XF86Reload ] };
+ key <FK17> { [ XF86Search ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <XFER> { [ XF86AudioMedia ] };
+ key <I22> { [ XF86AudioPlay ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I10> { [ XF86AudioPrev ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I21> { [ XF86Calculator ] };
+ key <I6C> { [ XF86Mail ] };
+ key <I02> { [ XF86WWW ] };
+ key <I63> { [ XF86Standby ] };
+ key <ALT> { [ XF86ScrollUp ] };
+ key <I0F> { [ XF86ScrollDown ] };
+ key <I3C> { [ XF86Cut ] };
+ key <I78> { [ XF86Copy ] };
+ key <I1F> { [ XF86Launch1 ] };
+ key <I17> { [ XF86Launch2 ] };
+ key <I2B> { [ XF86Launch3 ] };
+ key <AE13> { [ Redo ] };
+ key <I07> { [ Undo ] };
+};
diff --git a/data/xkbdata/symbols/ir b/data/xkbdata/symbols/ir
new file mode 100644
index 000000000..023c088ab
--- /dev/null
+++ b/data/xkbdata/symbols/ir
@@ -0,0 +1,66 @@
+// $XConsortium:
+// $XFree86:
+//
+// Iranian keymap, by Robert Brady <robert@suse.co.uk>
+// Data supplied by Roozbeh Pournader <roozbeh@sharif.edu>
+// Minor changes made by Arash Zeini <a.zeini@farsikde.com>,
+// and Roozbeh Pournader.
+//
+// Last update: 2002-06-19
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Iranian";
+ key <TLDE> { [], [ 0x100200d ] };
+ key <AE01> { [], [ 0x10006f1, exclam ] };
+ key <AE02> { [], [ 0x10006f2, 0x100066c ] };
+ key <AE03> { [], [ 0x10006f3, 0x100066b ] };
+ key <AE04> { [], [ 0x10006f4, 0x100fdfc ] };
+ key <AE05> { [], [ 0x10006f5, 0x100066a ] };
+ key <AE06> { [], [ 0x10006f6, multiply ] };
+ key <AE07> { [], [ 0x10006f7, Arabic_comma ] };
+ key <AE08> { [], [ 0x10006f8, asterisk ] };
+ key <AE09> { [], [ 0x10006f9, parenright ] };
+ key <AE10> { [], [ 0x10006f0, parenleft ] };
+ key <AE11> { [], [ minus, Arabic_tatweel ] };
+ key <AE12> { [], [ equal, plus ] };
+
+ key <AD01> { [], [ Arabic_dad, Arabic_sukun ] };
+ key <AD02> { [], [ Arabic_sad, Arabic_dammatan ] };
+ key <AD03> { [], [ Arabic_theh, Arabic_kasratan ] };
+ key <AD04> { [], [ Arabic_qaf, Arabic_fathatan ] };
+ key <AD05> { [], [ Arabic_feh, Arabic_damma ] };
+ key <AD06> { [], [ Arabic_ghain, Arabic_kasra ] };
+ key <AD07> { [], [ Arabic_ain, Arabic_fatha ] };
+ key <AD08> { [], [ Arabic_heh, Arabic_shadda ] };
+ key <AD09> { [], [ Arabic_khah, bracketright ] };
+ key <AD10> { [], [ Arabic_hah, bracketleft ] };
+ key <AD11> { [], [ Arabic_jeem, braceright ] };
+ key <AD12> { [], [ 0x1000686, braceleft ] };
+
+ key <AC01> { [], [ Arabic_sheen, Arabic_hamzaonwaw ] };
+ key <AC02> { [], [ Arabic_seen, Arabic_hamzaonyeh ] };
+ key <AC03> { [], [ 0x10006cc, Arabic_yeh ] };
+ key <AC04> { [], [ Arabic_beh, Arabic_hamzaunderalef] };
+ key <AC05> { [], [ Arabic_lam, Arabic_hamzaonalef ] };
+ key <AC06> { [], [ Arabic_alef, Arabic_maddaonalef ] };
+ key <AC07> { [], [ Arabic_teh, Arabic_tehmarbuta ] };
+ key <AC08> { [], [ Arabic_noon, guillemotright ] };
+ key <AC09> { [], [ Arabic_meem, guillemotleft ] };
+ key <AC10> { [], [ 0x10006a9, colon ] };
+ key <AC11> { [], [ 0x10006af, Arabic_semicolon ] };
+
+ key <BKSL> { [], [ backslash, bar ] };
+ key <SPCE> { [], [ space, 0x100200c ] };
+
+ key <AB01> { [], [ Arabic_zah, Arabic_kaf ] };
+ key <AB02> { [], [ Arabic_tah ] };
+ key <AB03> { [], [ Arabic_zain, 0x1000698 ] };
+ key <AB04> { [], [ Arabic_ra ] };
+ key <AB05> { [], [ Arabic_thal, 0x100200c ] };
+ key <AB06> { [], [ Arabic_dal ] };
+ key <AB07> { [], [ 0x100067e, Arabic_hamza ] };
+ key <AB08> { [], [ Arabic_waw, greater ] };
+ key <AB09> { [], [ period, less ] };
+ key <AB10> { [], [ slash, Arabic_question_mark ] };
+};
diff --git a/data/xkbdata/symbols/is b/data/xkbdata/symbols/is
new file mode 100644
index 000000000..45c63c8d4
--- /dev/null
+++ b/data/xkbdata/symbols/is
@@ -0,0 +1,126 @@
+// $Xorg: is,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+// XKB keyboard by Hrafnkell Eiriksson - hkelle@rhi.hi.is
+// fixes by Olafur Osvaldsson - oli@isnic.is
+// $XFree86: xc/programs/xkbcomp/symbols/is,v 3.7 2002/11/26 01:57:24 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and an Icelandic one - hopefully
+
+ // Alphanumeric section
+ name[Group1]= "Icelandic";
+ key <TLDE> { [ degree, diaeresis ],
+ [ notsign ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ twosuperior ] };
+ key <AE03> { [ 3, numbersign ],
+ [ threesuperior,sterling ] };
+ key <AE04> { [ 4, dollar ],
+ [ onequarter, currency ] };
+ key <AE05> { [ 5, percent ],
+ [ onehalf ] };
+ key <AE06> { [ 6, ampersand ],
+ [ threequarters ] };
+ key <AE07> { [ 7, slash ],
+ [ braceleft ] };
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, plusminus ] };
+ key <AE10> { [ 0, equal ],
+ [ braceright, degree ] };
+ key <AE11> { [ odiaeresis, Odiaeresis ],
+ [ backslash, questiondown ] };
+ key <AE12> { [ minus, underscore ],
+ [ ccedilla ] };
+ key <AD01> { [ q, Q ],
+ [ at ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+// key <AD05> { [ t, T ] };
+// key <AD06> { [ z, Z ] };
+// key <AD07> { [ u, U ] };
+// key <AD08> { [ i, I ] };
+ key <AD11> { [ eth, Eth ],
+ [ dead_diaeresis ] };
+ key <AD12> { [ apostrophe , question ],
+ [ asciitilde, dead_macron ] };
+// key <AC04> { [ f, F ] };
+// key <AC05> { [ g, G ] };
+ key <AC10> { [ ae, AE ],
+ [ asciicircum ] };
+ key <AC11> { [ dead_acute, dead_diaeresis ],
+ [ dead_circumflex ] };
+
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+// key <AB01> { [ y, Y ],
+// [ guillemotleft, less ] };
+// key <AB07> { [ m, M ],
+// [ mu ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ],
+ [ periodcentered, division ] };
+ key <AB10> { [ thorn, Thorn ] };
+ key <BKSL> { [ plus, asterisk ],
+ [ grave ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ include "ralt(mode_switch)"
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ // modify the default Icelandic layout to use Sun dead keys
+ include "is(basic)"
+ key <TLDE> { [ SunFA_Circum, degree ],
+ [ notsign ] };
+ key <AE12> { [ SunFA_Acute, SunFA_Grave ],
+ [ SunFA_Cedilla ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ],
+ [ SunFA_Diaeresis ] };
+ key <AD12> { [ plus, asterisk ],
+ [ SunFA_Tilde, dead_macron ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ SunFA_Acute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ SunFA_Circum ] };
+ key <BKSL> { [ numbersign, acute ],
+ [ SunFA_Grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "is(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ // modify the default Icelandic layout to not have any dead keys
+ include "is(basic)"
+ key <TLDE> { [ asciicircum, degree ],
+ [ notsign ] };
+ key <AE12> { [ apostrophe, grave ],
+ [ cedilla ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ],
+ [ diaeresis ] };
+ key <AD12> { [ plus, asterisk ],
+ [ asciitilde, macron ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ acute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ asciicircum ] };
+ key <BKSL> { [ numbersign, acute ],
+ [ grave ] };
+};
+
+
diff --git a/data/xkbdata/symbols/iso9995-3 b/data/xkbdata/symbols/iso9995-3
new file mode 100644
index 000000000..272b73ea2
--- /dev/null
+++ b/data/xkbdata/symbols/iso9995-3
@@ -0,0 +1,137 @@
+// $Xorg: iso9995-3,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+partial alphanumeric_keys alternate_group
+xkb_symbols "basic101" {
+ // Part 3 of ISO9995 specifies a common alternate character set
+ // This file adds that common set to any keyboard for which a
+ // second group is not defined. It does *not* specify any of
+ // 9995's special modifiers (ISO lock, group locks, etc).
+ // If you want a fully compliant ISO keyboard, add "iso9995-full"
+ // instead
+ name[Group2]= "ISO9995-3";
+ key <TLDE> { [], [ notsign ] };
+ key <AE01> { [], [ onesuperior, exclamdown ] };
+ key <AE02> { [], [ twosuperior, oneeighth ] };
+ key <AE03> { [], [ threesuperior, sterling ] };
+ key <AE04> { [], [ onequarter, dollar ] };
+ key <AE05> { [], [ onehalf, threeeighths ] };
+ key <AE06> { [], [ threequarters, fiveeighths ] };
+ key <AE07> { [], [ braceleft, seveneighths ] };
+ key <AE08> { [], [ bracketleft, trademark ] };
+ key <AE09> { [], [ bracketright, plusminus ] };
+ key <AE10> { [], [ braceright, degree ] };
+ key <AE11> { [], [ backslash, questiondown ] };
+ key <AE12> { [], [ dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [], [ at, Greek_OMEGA ] };
+ key <AD02> { [], [ lstroke, Lstroke ] };
+// key <AD03> { [], [ oe, OE ] };
+ key <AD04> { [], [ paragraph, registered ] };
+ key <AD05> { [], [ tslash, Tslash ] };
+ key <AD06> { [], [ leftarrow, yen ] };
+ key <AD07> { [], [ downarrow, uparrow ] };
+ key <AD08> { [], [ rightarrow, idotless ] };
+ key <AD09> { [], [ oslash, Ooblique ] };
+ key <AD10> { [], [ thorn, Thorn ] };
+ key <AD11> { [], [ dead_diaeresis, dead_abovering ] };
+ key <AD12> { [], [ dead_tilde, dead_macron ] };
+
+ key <AC01> { [], [ ae, AE ] };
+ key <AC02> { [], [ ssharp, section ] };
+ key <AC03> { [], [ eth, Eth ] };
+ key <AC04> { [], [ dstroke, ordfeminine ] };
+ key <AC05> { [], [ eng, ENG ] };
+ key <AC06> { [], [ hstroke, Hstroke ] };
+// key <AC07> { [], [ ij, IJ ] };
+ key <AC08> { [], [ kra, ampersand ] };
+ key <AC09> { [], [ lstroke, Lstroke ] };
+ key <AC10> { [], [ dead_acute, dead_doubleacute] };
+ key <AC11> { [], [ dead_circumflex, dead_caron ] };
+ key <BKSL> { [], [ dead_grave, dead_breve ] };
+
+ key <AB01> { [], [ guillemotleft, less ] };
+ key <AB02> { [], [ guillemotright, greater ] };
+ key <AB03> { [], [ cent, copyright ] };
+ key <AB04> { [], [ leftdoublequotemark, quoteleft ] };
+ key <AB05> { [], [ rightdoublequotemark, quoteright ] };
+// key <AB06> { [], [ apostrophe_small_n, musicalnote ] };
+ key <AB07> { [], [ mu, masculine ] };
+ key <AB08> { [], [ horizconnector, multiply ] };
+ key <AB09> { [], [ periodcentered, division ] };
+ key <AB10> { [], [ dead_belowdot, dead_abovedot ] };
+};
+
+partial default alphanumeric_keys alternate_group
+xkb_symbols "basic" {
+ include "iso9995-3(basic101)"
+ key <LSGT> { [], [ bar, brokenbar ] };
+};
+
+hidden partial alphanumeric_keys alternate_group
+xkb_symbols "nodeadkeys_common" {
+
+ // Modifies the basic iso9995-3 layout to eliminate all dead keys
+
+ key <AE12> { [], [ cedilla, ogonek ] };
+
+ key <AD11> { [], [ diaeresis, degree ] };
+ key <AD12> { [], [ asciitilde, macron ] };
+ key <AC11> { [], [ asciicircum, caron ] };
+ key <BKSL> { [], [ grave, breve ] };
+// key <AB10> { [], [ belowdot, abovedot] };
+ override key <AB10> {[], [ dead_belowdot, abovedot ] };
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "nodeadkeys101" {
+ include "iso9995-3(basic101)"
+ include "iso9995-3(nodeadkeys_common)"
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "nodeadkeys" {
+ include "iso9995-3(basic)"
+ include "iso9995-3(nodeadkeys_common)"
+};
+
+hidden partial alphanumeric_keys modifier_keys alternate_group
+xkb_symbols "full_common" {
+ // Defines the special modifier keys specified by 9995 part 3
+ // Includes the iso9995-3 to get the common alternate set
+
+ SetMods.latchToLock=True;
+ SetMods.clearLocks=True;
+
+ override key <CAPS> { [ ISO_Lock ] };
+ override key <LFSH> {
+ type="PC_BREAK",
+ [ Shift_L, ISO_Prev_Group ],
+ [ SetMods(modifiers=Shift), LockGroup(group= -1) ]
+ };
+ override key <RTSH> {
+ type="PC_BREAK",
+ [ Shift_R, ISO_Next_Group ],
+ [ SetMods(modifiers=Shift), LockGroup(group= +1) ]
+ };
+
+ override key <LCTL> {
+ [ Control_L, ISO_Prev_Group ],
+ [ SetMods(modifiers=Shift), LockGroup(group= -1) ]
+ };
+ override key <RCTL> {
+ [ Control_R, ISO_Next_Group ],
+ [ SetMods(modifiers=Shift), LockGroup(group= +1) ]
+ };
+ override key <RALT> {
+ [ Mode_switch, Multi_key ]
+ };
+};
+partial alphanumeric_keys modifier_keys alternate_group
+xkb_symbols "full" {
+ include "iso9995-3(basic)"
+ include "iso9995-3(full_common)"
+};
+partial alphanumeric_keys modifier_keys alternate_group
+xkb_symbols "full101" {
+ include "iso9995-3(basic101)"
+ include "iso9995-3(full_common)"
+};
diff --git a/data/xkbdata/symbols/it b/data/xkbdata/symbols/it
new file mode 100644
index 000000000..fd2c794aa
--- /dev/null
+++ b/data/xkbdata/symbols/it
@@ -0,0 +1,113 @@
+// $Xorg: it,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/it,v 3.5 2001/01/17 23:45:58 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Italian keybaord
+
+ name[Group1]= "Italian";
+
+ key <TLDE> { [ backslash, bar ],
+ [ notsign, brokenbar ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ twosuperior, dead_doubleacute ] };
+ key <AE03> { [ 3, sterling ],
+ [ threesuperior, dead_tilde ] };
+ key <AE04> { [],
+ [ onequarter, oneeighth ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ],
+ [ braceright, questiondown ] };
+ key <AE11> { [ apostrophe, question ],
+ [ grave, dead_grave ] };
+ key <AE12> { [ igrave, asciicircum ],
+ [ asciitilde, dead_circumflex ] };
+
+ key <AB06> { [],
+ [ ntilde, Ntilde ] };
+ key <AB08> { [ comma, semicolon ],
+ [ dead_acute, multiply ] };
+ key <AB09> { [ period, colon ],
+ [ periodcentered, dead_diaeresis ] };
+ key <AB10> { [ minus, underscore ],
+ [ dead_macron, division ] };
+ key <AC10> { [ ograve, ccedilla ],
+ [ at, dead_cedilla ] };
+ key <AC11> { [ agrave, degree ],
+ [ numbersign, dead_abovering ] };
+ key <AD11> { [ egrave, eacute ],
+ [ bracketleft, braceleft ] };
+ key <AD12> { [ plus, asterisk ],
+ [ bracketright, braceright ] };
+ key <LSGT> { [ less, greater ],
+ [ guillemotleft, guillemotright ] };
+ key <BKSL> { [ ugrave, section ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // For naming consistency
+
+ include "it(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ // For naming consistency
+
+ include "it(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic italian layout to eliminate all dead keys
+
+ include "it(basic)"
+
+ key <AE02> { [ 2, quotedbl ],
+ [ twosuperior, doubleacute ] };
+ key <AE03> { [ 3, sterling ],
+ [ threesuperior, asciitilde ] };
+ key <AE11> { [ apostrophe, question ],
+ [ grave, grave ] };
+ key <AE12> { [ igrave, asciicircum ],
+ [ asciitilde, asciicircum ] };
+
+ key <AC10> { [ ograve, ccedilla ],
+ [ at, cedilla ] };
+ key <AC11> { [ agrave, degree ],
+ [ numbersign, degree ] };
+
+ key <AB08> { [ comma, semicolon ],
+ [ acute, multiply ] };
+ key <AB09> { [ period, colon ],
+ [ periodcentered, diaeresis ] };
+ key <AB10> { [ minus, underscore ],
+ [ macron, division ] };
+
+ key <BKSL> { [ ugrave, section ],
+ [ grave, breve ] };
+};
diff --git a/data/xkbdata/symbols/iu b/data/xkbdata/symbols/iu
new file mode 100644
index 000000000..32bad710d
--- /dev/null
+++ b/data/xkbdata/symbols/iu
@@ -0,0 +1,79 @@
+//
+// Inuktitut keyboard for X11
+// written by Pablo Saratxaga <pablo@mandrakesoft.com>
+//
+
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a syllabic inuktitut keyboard ("Naamajut" layout)
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Inuktitut";
+
+ key <AE01> { [], [ 0x01001595, 1 ] };
+ key <AE02> { [], [ 0x01001449, 2 ] };
+ key <AE03> { [], [ 0x01001550, 3 ] };
+ key <AE04> { [], [ 0x01001483, 4 ] };
+ key <AE05> { [], [ 0x01001466, 5 ] };
+ key <AE06> { [], [ 0x01001585, 6 ] };
+ key <AE07> { [], [ 0x010014bb, 7 ] };
+ key <AE08> { [], [ 0x010014d0, 8 ] };
+ key <AE09> { [], [ 0x010014ea, 9 ] };
+ key <AE10> { [], [ 0x0100153e, 0 ] };
+ key <AE11> { [], [ minus, underscore ] };
+ key <AE12> { [], [ 0x0100155d, equal ] };
+
+ key <AD01> { [], [ 0x0100158f, 0x0100148b ] };
+ key <AD02> { [], [ 0x01001403, 0x01001431 ] };
+ key <AD03> { [], [ 0x0100157f, 0x01001546 ] };
+ key <AD04> { [], [ 0x0100146d, 0x01001596 ] };
+ key <AD05> { [], [ 0x0100144e, 0x01001671 ] };
+ key <AD06> { [], [ 0x010014ef, 0x01001673 ] };
+ key <AD07> { [], [ 0x010014a5, 0x01001675 ] };
+ key <AD08> { [], [ 0x010014c2, 0x010015a4 ] };
+ key <AD09> { [], [ 0x010014d5, 0x010015a0 ] };
+ key <AD10> { [], [ 0x01001528, 0x010015a6 ] };
+ key <AD11> { [], [ 0x010014a1, 0x01001505 ] };
+ key <AD12> { [], [ dead_abovedot, 0x0100141e ] };
+
+ key <AC01> { [], [ 0x01001591, 0x0100148d ] };
+ key <AC02> { [], [ 0x01001405, 0x01001433 ] };
+ key <AC03> { [], [ 0x01001581, 0x01001548 ] };
+ key <AC04> { [], [ 0x0100146f, 0x01001555 ] };
+ key <AC05> { [], [ 0x01001450, parenleft ] };
+ key <AC06> { [], [ 0x010014f1, parenright ] };
+ key <AC07> { [], [ 0x010014a7, 0x0100152a ] };
+ key <AC08> { [], [ 0x010014c4, 0x01001557 ] };
+ key <AC09> { [], [ 0x010014d7, 0x010015a2 ] };
+ key <AC10> { [], [ semicolon, colon ] };
+ key <AC11> { [], [ apostrophe, quotedbl ] };
+
+ key <AB01> { [], [ 0x01001593, 0x01001490 ] };
+ key <AB02> { [], [ 0x0100140a, 0x01001438 ] };
+ key <AB03> { [], [ 0x01001583, 0x0100154b ] };
+ key <AB04> { [], [ 0x01001472, question ] };
+ key <AB05> { [], [ 0x01001455, 0x0100157c ] };
+ key <AB06> { [], [ 0x010014f4, 0x010014c7 ] };
+ key <AB07> { [], [ 0x010014aa, 0x010014da ] };
+ key <AB08> { [], [ comma, less ] };
+ key <AB09> { [], [ period, greater ] };
+ key <AB10> { [], [ 0x0100152d, 0x01001559 ] };
+
+ key <TLDE> { [], [ 0x0100157b, 0x01001575 ] };
+ key <LSGT> { [], [ 0x01001579, 0x01001577 ] };
+ key <BKSL> { [], [ backslash, bar ] };
+
+// End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+
diff --git a/data/xkbdata/symbols/jp b/data/xkbdata/symbols/jp
new file mode 100644
index 000000000..74e63a5f0
--- /dev/null
+++ b/data/xkbdata/symbols/jp
@@ -0,0 +1,170 @@
+// $Xorg: jp,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+
+// symbols for a Japanese 106 keyboard(by tsuka@kawalab.dnj.ynu.ac.jp)
+
+// $XFree86: xc/programs/xkbcomp/symbols/jp,v 3.10 2003/10/25 13:24:05 pascal Exp $
+
+default xkb_symbols "jp106" {
+ include "srvr_ctrl(xfree86)"
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Japanese";
+
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <HZTG> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Zenkaku_Hankaku, Kanji ]
+ };
+ key <AE01> { [ 1, exclam ], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ key <AE05> { [ 5, percent ], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ key <AE10> { [ 0,asciitilde ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, asciitilde], [ kana_HE ] };
+ key <AE13> { [ backslash, bar ], [ prolongedsound ] };
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ BackSpace, Terminate_Server ]
+ };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ], [ kana_TA ] };
+ key <AD02> { [ w, W ], [ kana_TE ] };
+ key <AD03> { [ e, E ], [ kana_I, kana_i ] };
+ key <AD04> { [ r, R ], [ kana_SU ] };
+ key <AD05> { [ t, T ], [ kana_KA ] };
+ key <AD06> { [ y, Y ], [ kana_N ] };
+ key <AD07> { [ u, U ], [ kana_NA ] };
+ key <AD08> { [ i, I ], [ kana_NI ] };
+ key <AD09> { [ o, O ], [ kana_RA ] };
+ key <AD10> { [ p, P ], [ kana_SE ] };
+ key <AD11> { [ at, grave ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ key <RTRN> { [ Return ] };
+
+ key <CAPS> { [ Eisu_toggle, Caps_Lock ] };
+ key <AC01> { [ a, A ], [ kana_CHI ] };
+ key <AC02> { [ s, S ], [ kana_TO ] };
+ key <AC03> { [ d, D ], [ kana_SHI ] };
+ key <AC04> { [ f, F ], [ kana_HA ] };
+ key <AC05> { [ g, G ], [ kana_KI ] };
+ key <AC06> { [ h, H ], [ kana_KU ] };
+ key <AC07> { [ j, J ], [ kana_MA ] };
+ key <AC08> { [ k, K ], [ kana_NO ] };
+ key <AC09> { [ l, L ], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <AC12> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ], [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ x, X ], [ kana_SA ] };
+ key <AB03> { [ c, C ], [ kana_SO ] };
+ key <AB04> { [ v, V ], [ kana_HI ] };
+ key <AB05> { [ b, B ], [ kana_KO ] };
+ key <AB06> { [ n, N ], [ kana_MI ] };
+ key <AB07> { [ m, M ], [ kana_MO ] };
+ key <AB08> { [ comma, less ], [ kana_NE, kana_comma ] };
+ key <AB09> { [ period, greater ], [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ slash, question ], [ kana_ME, kana_middledot ] };
+ key <AB11> { [ backslash, underscore], [ kana_RO ] };
+ key <RTSH> { [ Shift_R ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <LALT> { [ Alt_L,Meta_L ] };
+ key <NFER> { [ Muhenkan ] };
+ key <SPCE> { [ space ] };
+ key <XFER> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Henkan, Mode_switch ]
+ };
+ key <HKTG> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Hiragana_Katakana, Romaji ]
+ };
+ key <RALT> { [ Alt_R,Meta_R ] };
+ key <RCTL> { [ Control_R ] };
+
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ // End "Function" section
+
+
+ // Begin "Editing" section
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Execute ]
+ };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_BREAK",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <INS> { [ Insert ] };
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_Begin, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L,Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L,Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod5 { Scroll_Lock };
+};
+
diff --git a/data/xkbdata/symbols/kan b/data/xkbdata/symbols/kan
new file mode 100644
index 000000000..20216a210
--- /dev/null
+++ b/data/xkbdata/symbols/kan
@@ -0,0 +1,72 @@
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Inscript layout for Kannada
+ // Author : G Karunakar <karunakar@freedomink.org>
+ // Date : Wed Nov 13 17:22:58 IST 2002
+ // Kannada digits mapped in basic only
+
+ name[Group2]= "Kannada";
+
+ key <TLDE> { [], [ 0x01000cca, 0x01000c92 ] };
+ key <AE01> { [], [ 0x01000ce7, 0x01000c8d ] };
+ key <AE02> { [], [ 0x01000ce8, 0x01000cc5 ] };
+ key <AE03> { [], [ 0x01000ce9 ] };
+ key <AE04> { [], [ 0x01000cea ] };
+ key <AE05> { [], [ 0x01000ceb ] };
+ key <AE06> { [], [ 0x01000cec ] };
+ key <AE07> { [], [ 0x01000ced ] };
+ key <AE08> { [], [ 0x01000cee ] };
+ key <AE09> { [], [ 0x01000cef ] };
+ key <AE10> { [], [ 0x01000ce6 ] };
+ key <AE11> { [], [ 0x01000c83 ] };
+ key <AE12> { [], [ 0x01000cc3, 0x01000c8b ] };
+
+ key <AD01> { [], [ 0x01000ccc, 0x01000c94 ] };
+ key <AD02> { [], [ 0x01000cc8, 0x01000c90 ] };
+ key <AD03> { [], [ 0x01000cbe, 0x01000c86 ] };
+ key <AD04> { [], [ 0x01000cc0, 0x01000c88 ] };
+ key <AD05> { [], [ 0x01000cc2, 0x01000c8a ] };
+ key <AD06> { [], [ 0x01000cac, 0x01000cad ] };
+ key <AD07> { [], [ 0x01000cb9, 0x01000c99 ] };
+ key <AD08> { [], [ 0x01000c97, 0x01000c98 ] };
+ key <AD09> { [], [ 0x01000ca6, 0x01000ca7 ] };
+ key <AD10> { [], [ 0x01000c9c, 0x01000c9d ] };
+ key <AD11> { [], [ 0x01000ca1, 0x01000ca2 ] };
+ key <AD12> { [], [ 0x01000cbc, 0x01000c9e ] };
+
+ key <AC01> { [], [ 0x01000ccb, 0x01000c93 ] };
+ key <AC02> { [], [ 0x01000cc7, 0x01000c8f ] };
+ key <AC03> { [], [ 0x01000ccd, 0x01000c85 ] };
+ key <AC04> { [], [ 0x01000cbf, 0x01000c87 ] };
+ key <AC05> { [], [ 0x01000cc1, 0x01000c89 ] };
+ key <AC06> { [], [ 0x01000caa, 0x01000cab ] };
+ key <AC07> { [], [ 0x01000cb0, 0x01000cb1 ] };
+ key <AC08> { [], [ 0x01000c95, 0x01000c96 ] };
+ key <AC09> { [], [ 0x01000ca4, 0x01000ca5 ] };
+ key <AC10> { [], [ 0x01000c9a, 0x01000c9b ] };
+ key <AC11> { [], [ 0x01000c9f, 0x01000ca0 ] };
+
+ key <AB01> { [], [ 0x01000cc6, 0x01000c8e ] };
+ key <AB02> { [], [ 0x01000c82, 0x01000c81 ] };
+ key <AB03> { [], [ 0x01000cae, 0x01000ca3 ] };
+ key <AB04> { [], [ 0x01000ca8, 0x01000ca9 ] };
+ key <AB05> { [], [ 0x01000cb5, 0x01000cb4 ] };
+ key <AB06> { [], [ 0x01000cb2, 0x01000cb3 ] };
+ key <AB07> { [], [ 0x01000cb8, 0x01000cb6 ] };
+ key <AB08> { [], [ comma , 0x01000cb7 ] };
+ key <AB09> { [], [ period , 0x01000ce4 ] };
+ key <AB10> { [], [ 0x01000caf, 0x01000040 ] };
+ key <BKSL> { [], [ 0x01000cc9, 0x01000c91 ] };
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch , Multi_key ],
+ virtualMods = AltGr
+ };
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/keypad b/data/xkbdata/symbols/keypad
new file mode 100644
index 000000000..329f22fdc
--- /dev/null
+++ b/data/xkbdata/symbols/keypad
@@ -0,0 +1,90 @@
+// $XdotOrg
+// $XKeyboardConfig: xkbdesc/symbols/keypad,v 1.2 2004/09/14 19:14:36 svu Exp $
+// $Xorg: keypad,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+partial hidden keypad_keys
+xkb_symbols "overlay" {
+ include "keypad(overlay1)"
+};
+
+partial hidden keypad_keys
+xkb_symbols "overlay1" {
+
+ // Begin "Keypad" section
+
+ key <KP7> { [ KP_Home ], overlay1=<KO7> };
+ key <KP8> { [ KP_Up ], overlay1=<KO8> };
+ key <KP9> { [ KP_Prior ], overlay1=<KO9> };
+
+ key <KP4> { [ KP_Left ], overlay1=<KO4> };
+ key <KP5> { [ KP_Begin ], overlay1=<KO5> };
+ key <KP6> { [ KP_Right ], overlay1=<KO6> };
+
+ key <KP1> { [ KP_End ], overlay1=<KO1> };
+ key <KP2> { [ KP_Down ], overlay1=<KO2> };
+ key <KP3> { [ KP_Next ], overlay1=<KO3> };
+
+ key <KP0> { [ KP_Insert ], overlay1=<KO0> };
+ key <KPDL> { [ KP_Delete ], overlay1=<KODL> };
+
+ key <KO7> { [ KP_7 ] };
+ key <KO8> { [ KP_8 ] };
+ key <KO9> { [ KP_9 ] };
+
+ key <KO4> { [ KP_4 ] };
+ key <KO5> { [ KP_5 ] };
+ key <KO6> { [ KP_6 ] };
+
+ key <KO1> { [ KP_1 ] };
+ key <KO2> { [ KP_2 ] };
+ key <KO3> { [ KP_3 ] };
+
+ key <KO0> { [ KP_0 ] };
+ key <KODL> { [ KP_Decimal ] };
+
+ // End "Keypad" section
+};
+
+partial hidden keypad_keys
+xkb_symbols "overlay2" {
+
+ // Begin "Keypad" section
+
+ key <KP7> { [ KP_Home ], overlay2=<KO7> };
+ key <KP8> { [ KP_Up ], overlay2=<KO8> };
+ key <KP9> { [ KP_Prior ], overlay2=<KO9> };
+
+ key <KP4> { [ KP_Left ], overlay2=<KO4> };
+ key <KP5> { [ KP_Begin ], overlay2=<KO5> };
+ key <KP6> { [ KP_Right ], overlay2=<KO6> };
+
+ key <KP1> { [ KP_End ], overlay2=<KO1> };
+ key <KP2> { [ KP_Down ], overlay2=<KO2> };
+ key <KP3> { [ KP_Next ], overlay2=<KO3> };
+
+ key <KP0> { [ KP_Insert ], overlay2=<KO0> };
+ key <KPDL> { [ KP_Delete ], overlay2=<KODL> };
+
+ key <KO7> { [ KP_7 ] };
+ key <KO8> { [ KP_8 ] };
+ key <KO9> { [ KP_9 ] };
+
+ key <KO4> { [ KP_4 ] };
+ key <KO5> { [ KP_5 ] };
+ key <KO6> { [ KP_6 ] };
+
+ key <KO1> { [ KP_1 ] };
+ key <KO2> { [ KP_2 ] };
+ key <KO3> { [ KP_3 ] };
+
+ key <KO0> { [ KP_0 ] };
+ key <KODL> { [ KP_Decimal ] };
+
+ // End "Keypad" section
+};
+
+// Some national standards use comma on the keypad instead of decimal dot
+partial keypad_keys
+xkb_symbols "comma" {
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+};
diff --git a/data/xkbdata/symbols/la b/data/xkbdata/symbols/la
new file mode 100644
index 000000000..ed75a3894
--- /dev/null
+++ b/data/xkbdata/symbols/la
@@ -0,0 +1,85 @@
+// $XConsortium: es /main/3 1996/08/31 12:19:38 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/la,v 1.1 2001/11/21 22:28:52 dawes Exp $
+// Modified for a real Latin American Keyboard by Fabian Mandelbaum
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Latin American keybaord
+
+ name[Group1]= "Latin American";
+
+ key <TLDE> { [ bar, degree ],
+ [ notsign, notsign ] };
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ] };
+ key <AE01> { [ 1, exclam ],
+ [ bar, exclamdown ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at, oneeighth ] };
+ key <AE03> { [ 3, numbersign ],
+ [ periodcentered, sterling ] };
+ key <AE04> { [ 4, dollar ],
+ [ asciitilde, dollar ] };
+ key <AE06> { [ 6, ampersand ],
+ [ notsign, fiveeighths ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ ntilde, Ntilde ],
+ [ asciitilde,dead_doubleacute ] };
+ key <AE11> { [ apostrophe, question ] };
+ key <AC11> { [ braceleft, bracketleft ],
+ [ dead_circumflex, braceleft ] };
+ key <BKSL> { [ braceright, bracketright ],
+ [ dead_grave, braceright ] };
+ key <AD11> { [ dead_acute, dead_diaeresis ] };
+ key <AE12> { [ questiondown, exclamdown ] };
+ key <AD12> { [ plus, asterisk ],
+ [ asciitilde, dead_macron ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "la(basic)"
+
+ key <AC11> { [ SunFA_Acute, SunFA_Diaeresis ],
+ [ braceleft, braceleft ] };
+ key <AD11> { [ SunFA_Grave, SunFA_Circum ],
+ [ bracketleft, dead_abovering ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "la(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "la(basic)"
+
+ key <AC10> { [ ntilde, Ntilde ],
+ [ asciitilde, doubleacute ] };
+ key <AC11> { [ acute, diaeresis ],
+ [ braceleft, braceleft ] };
+ key <BKSL> { [ ccedilla, Ccedilla ],
+ [ braceright, breve ] };
+ key <AD11> { [ grave, asciicircum ],
+ [ bracketleft, degree ] };
+ key <AD12> { [ plus, asterisk ],
+ [ bracketright, macron ] };
+};
diff --git a/data/xkbdata/symbols/level3 b/data/xkbdata/symbols/level3
new file mode 100644
index 000000000..271ffba42
--- /dev/null
+++ b/data/xkbdata/symbols/level3
@@ -0,0 +1,94 @@
+// $XdotOrg
+// $XKeyboardConfig: xkbdesc/symbols/level3,v 1.6 2004/10/09 17:40:26 svu Exp $
+
+// these variants assign various XKB keycodes to ISO_Level3_Shift so that
+// the third shift level can be reached
+//
+// $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $
+//
+
+// the default behavior is for the right Alt key (AltGr) to generate the
+// third engraved symbol
+default partial modifier_keys
+xkb_symbols "ralt_switch" {
+ key <RALT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level(alt_switch) map, either Alt key temporarily chooses
+// the third shift level. (Mostly be used to imitate Mac OS functionality.)
+partial modifier_keys
+xkb_symbols "alt_switch" {
+ include "level3(lalt_switch)"
+ include "level3(ralt_switch)"
+};
+
+partial modifier_keys
+xkb_symbols "lalt_switch" {
+ key <LALT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level(switch) map, the right Control key temporarily
+// chooses the third shift level (until it is released).
+partial modifier_keys
+xkb_symbols "switch" {
+ key <RCTL> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level(menu_switch) map, the Menu key temporarily
+// chooses the third shift level (until it is released).
+partial modifier_keys
+xkb_symbols "menu_switch" {
+ key <MENU> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level(win_switch) map, the either Windows' logo key
+// temporarily chooses the third shift level. If you use this map,
+// you should define your keyboard as pc101 or pc102 instead of pc104
+// or pc105.
+partial modifier_keys
+xkb_symbols "win_switch" {
+ include "level3(lwin_switch)"
+ include "level3(rwin_switch)"
+};
+
+// using the level(lwin_switch) map, the left Windows' logo key
+// temporarily chooses the third shift level. If you use this map,
+// you should define your keyboard as pc101 or pc102 instead of pc104
+// or pc105.
+partial modifier_keys
+xkb_symbols "lwin_switch" {
+ key <LWIN> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+// using the level(rwin_switch) map, the right Windows' logo key
+// temporarily chooses the third shift level. If you use this map,
+// you should define your keyboard as pc101 or pc102 instead of pc104
+// or pc105.
+partial modifier_keys
+xkb_symbols "rwin_switch" {
+ key <RWIN> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
diff --git a/data/xkbdata/symbols/lo b/data/xkbdata/symbols/lo
new file mode 100644
index 000000000..c91233899
--- /dev/null
+++ b/data/xkbdata/symbols/lo
@@ -0,0 +1,80 @@
+// $XConsortium: lo 2002/11/28 $
+//
+// $XFree86$
+//
+// Lao keymap, by Anousak Souphavanh <anousak@muanglao.com>
+//
+//
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a Lao keyboard
+ // This keymap uses the Lao keyboard standard [kind of] widely used inLaos
+
+ name[Group2]= "Lao";
+
+ // Alphanumeric section
+ key <TLDE> { [], [ 0x100200D ]};
+ key <AE01> { [], [ 0x1000ea2, 0x1000ed1 ]};
+ key <AE01> { [], [ 0x1000ea2, 0x1000ed1 ]};
+ key <AE02> { [], [ 0x1000e9f, 0x1000ed2 ]};
+ key <AE03> { [], [ 0x1000ec2, 0x1000ed3 ]};
+ key <AE04> { [], [ 0x1000e96, 0x1000ed4 ]};
+ key <AE05> { [], [ 0x1000eb8, 0x1000ecc ]};
+ key <AE06> { [], [ 0x1000eb9, 0x1000ebc ]};
+ key <AE07> { [], [ 0x1000e84, 0x1000ed5 ]};
+ key <AE08> { [], [ 0x1000e95, 0x1000ed6 ]};
+ key <AE09> { [], [ 0x1000e88, 0x1000ed7 ]};
+ key <AE10> { [], [ 0x1000e82, 0x1000ed8 ]};
+ key <AE11> { [], [ 0x1000e8a, 0x1000ed9 ]};
+ key <AE12> { [], [ 0x1000ecd ]};
+
+ key <AD01> { [], [ 0x1000ebb ]};
+ key <AD02> { [], [ 0x1000ec4, 0x1000ed0 ]};
+ key <AD03> { [], [ 0x1000eb3 ]};
+ key <AD04> { [], [ 0x1000e9e, underscore ]};
+ key <AD05> { [], [ 0x1000eb0, plus ]};
+ key <AD06> { [], [ 0x1000eb4 ]};
+ key <AD07> { [], [ 0x1000eb5 ]};
+ key <AD08> { [], [ 0x1000ea3, 0x1000eae ]};
+ key <AD09> { [], [ 0x1000e99 ]};
+ key <AD10> { [], [ 0x1000e8d, 0x1000ebd ]};
+ key <AD11> { [], [ 0x1000e9a, minus ]};
+ key <AD12> { [], [ 0x1000ea5, braceright ]};
+ key <BKSL> { [], [ 0x1000edc, 0x1000edd ]};
+
+ key <AC01> { [], [ 0x1000eb1 ]};
+ key <AC02> { [], [ 0x1000eab, semicolon ]};
+ key <AC03> { [], [ 0x1000e81, period ]};
+ key <AC04> { [], [ 0x1000e94, comma ]};
+ key <AC05> { [], [ 0x1000ec0, colon ]};
+ key <AC06> { [], [ 0x1000ec9, 0x1000eca ]};
+ key <AC07> { [], [ 0x1000ec8, 0x1000ecb ]};
+ key <AC08> { [], [ 0x1000eb2, exclam ]};
+ key <AC09> { [], [ 0x1000eaa, question ]};
+ key <AC10> { [], [ 0x1000ea7, percent ]};
+ key <AC11> { [], [ 0x1000e87, equal ]};
+
+ key <AB01> { [], [ 0x1000e9c, 0x10020ad ]};
+ key <AB02> { [], [ 0x1000e9b, parenleft ]};
+ key <AB03> { [], [ 0x1000ec1, 0x1000eaf ]};
+ key <AB04> { [], [ 0x1000ead ]};
+ key <AB05> { [], [ 0x1000eb6 ]};
+ key <AB06> { [], [ 0x1000eb7 ]};
+ key <AB07> { [], [ 0x1000e97, 0x1000ec6 ]};
+ key <AB08> { [], [ 0x1000ea1, quoteleft ]};
+ key <AB09> { [], [ 0x1000ec3, dollar ]};
+ key <AB10> { [], [ 0x1000e9d, parenright ]};
+
+override key <LFSH> {
+ type="PC_SYSRQ",
+ [ Shift_L, ISO_First_Group ]
+ };
+override key <RTSH> {
+ type="PC_SYSRQ",
+ [ Shift_R, ISO_Last_Group ]
+ };
+};
diff --git a/data/xkbdata/symbols/lock b/data/xkbdata/symbols/lock
new file mode 100644
index 000000000..8a32ca11c
--- /dev/null
+++ b/data/xkbdata/symbols/lock
@@ -0,0 +1,22 @@
+// $Xorg: lock,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/lock,v 3.3 2000/08/03 12:24:03 dawes Exp $
+
+partial hidden modifier_keys
+xkb_symbols "shift" {
+ key <CAPS> { [ Shift_Lock ] };
+ modifier_map Shift { Shift_Lock };
+};
+partial hidden modifier_keys
+xkb_symbols "caps" {
+ key <CAPS> { [ Caps_Lock ] };
+ modifier_map Lock { Caps_Lock };
+};
+partial hidden modifier_keys
+xkb_symbols "group" {
+ key <CAPS> { [ ISO_Next_Group ] };
+};
+
diff --git a/data/xkbdata/symbols/lt b/data/xkbdata/symbols/lt
new file mode 100644
index 000000000..a00438370
--- /dev/null
+++ b/data/xkbdata/symbols/lt
@@ -0,0 +1,140 @@
+// $XFree86$
+// Lithuanian keyboard map by RiÄardas ÄŒepas <rch@richard.eu.org>
+
+// Describes popular Lithuanian keymap 'Baltic' aka querty/numeric
+// Don't rename this file because it includes 'lt'
+// Extensions: „ “ instead of 9 0 in Lithuanian mode, endash/Euro on 102nd key
+// Usage: setxkbmap -option grp:shift_toggle 'lt'
+// # +lt(left_switch) turns key between left ctrl and shift on "German" keyboards into AltGr
+// Option "XkbModel" "pc105"
+// Option "XkbLayout" "lt+lt(left_switch)"
+// # Double shift toggles between numbers and Lithuanian letters, you may choose other keys
+// Option "XkbOptions" "grp:shift_toggle"
+
+partial default alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Lithuanian";
+ include "lt(us_group2)"
+
+ key <AE01> { [ 1, exclam ],
+ [ aogonek, Aogonek ] };
+ key <AE02> { [ 2, at ],
+ [ ccaron, Ccaron ] };
+ key <AE03> { [ 3, numbersign ],
+ [ eogonek, Eogonek ] };
+ key <AE04> { [ 4, dollar ],
+ [ eabovedot, Eabovedot ] };
+ key <AE05> { [ 5, percent ],
+ [ iogonek, Iogonek ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ scaron, Scaron ] };
+ key <AE07> { [ 7, ampersand ],
+ [ uogonek, Uogonek ] };
+ key <AE08> { [ 8, asterisk ],
+ [ umacron, Umacron ] };
+ key <AE09> { [ 9, parenleft ],
+ [ doublelowquotemark, parenleft ] };
+ key <AE10> { [ 0, parenright ],
+// this is actually right quote for Lithuanian
+ [ leftdoublequotemark, parenright ] };
+
+ key <AE12> { [ equal, plus ],
+ [ zcaron, Zcaron ] };
+ key <LSGT> { [ endash, EuroSign ],
+ [ endash, EuroSign ] };
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "us_group2" {
+
+ // Keyboard must work as usual when "Lithuanian" group is locked.
+ key <TLDE> { [], [ quoteleft, asciitilde ] };
+ key <AE01> { [], [ 1, exclam ] };
+ key <AE02> { [], [ 2, at ] };
+ key <AE03> { [], [ 3, numbersign ] };
+ key <AE04> { [], [ 4, dollar ] };
+ key <AE05> { [], [ 5, percent ] };
+ key <AE06> { [], [ 6, asciicircum ] };
+ key <AE07> { [], [ 7, ampersand ] };
+ key <AE08> { [], [ 8, asterisk ] };
+ key <AE09> { [], [ 9, parenleft ] };
+ key <AE10> { [], [ 0, parenright ] };
+ key <AE11> { [], [ minus, underscore ] };
+ key <AE12> { [], [ equal, plus ] };
+
+ key <AD01> { [], [ q, Q ] };
+ key <AD02> { [], [ w, W ] };
+ key <AD03> { [], [ e, E ] };
+ key <AD04> { [], [ r, R ] };
+ key <AD05> { [], [ t, T ] };
+ key <AD06> { [], [ y, Y ] };
+ key <AD07> { [], [ u, U ] };
+ key <AD08> { [], [ i, I ] };
+ key <AD09> { [], [ o, O ] };
+ key <AD10> { [], [ p, P ] };
+ key <AD11> { [], [ bracketleft, braceleft ] };
+ key <AD12> { [], [ bracketright, braceright ] };
+
+ key <AC01> { [], [ a, A ] };
+ key <AC02> { [], [ s, S ] };
+ key <AC03> { [], [ d, D ] };
+ key <AC04> { [], [ f, F ] };
+ key <AC05> { [], [ g, G ] };
+ key <AC06> { [], [ h, H ] };
+ key <AC07> { [], [ j, J ] };
+ key <AC08> { [], [ k, K ] };
+ key <AC09> { [], [ l, L ] };
+ key <AC10> { [], [ semicolon, colon ] };
+ key <AC11> { [], [ quoteright, quotedbl ] };
+
+ key <AB01> { [], [ z, Z ] };
+ key <AB02> { [], [ x, X ] };
+ key <AB03> { [], [ c, C ] };
+ key <AB04> { [], [ v, V ] };
+ key <AB05> { [], [ b, B ] };
+ key <AB06> { [], [ n, N ] };
+ key <AB07> { [], [ m, M ] };
+ key <AB08> { [], [ comma, less ] };
+ key <AB09> { [], [ period, greater ] };
+ key <AB10> { [], [ slash, question ] };
+ key <BKSL> { [], [ backslash, bar ] };
+
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "lt(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "lt(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "lt(basic)" // for consistent naming
+};
+
+// definition for the extra key on 102-key keyboards between left Control and Alt
+// in case you want use it as AltGr
+xkb_symbols "left_switch" {
+ key <LSGT> { [ Mode_switch, Multi_key ],
+ [ Mode_switch, Multi_key ] };
+ // Begin modifier mappings
+ modifier_map Mod3 { Mode_switch };
+};
+
diff --git a/data/xkbdata/symbols/lt_a b/data/xkbdata/symbols/lt_a
new file mode 100644
index 000000000..b81e07f0d
--- /dev/null
+++ b/data/xkbdata/symbols/lt_a
@@ -0,0 +1,101 @@
+// $XConsortium: lt /main/3 1997/12/18 12:40:12 rch $
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Lithuanian "azerty" keyboard
+
+ name[Group1]= "Lithuanian";
+
+ key <TLDE> {[], [ grave, asciitilde ]};
+ key <AE01> {[ exclam, 1 ]};
+ key <AE02> {[ quotedbl, 2 ],
+ [ at ]};
+ key <AE03> {[ slash, 3 ],
+ [ numbersign ]};
+ key <AE04> {[ semicolon, 4 ],
+ [ dollar ]};
+ key <AE05> {[ colon, 5 ],
+ [ percent ]};
+ key <AE06> {[ comma, 6 ],
+ [ asciicircum ]};
+ key <AE07> {[ period, 7 ],
+ [ ampersand ]};
+ key <AE08> {[ question, 8 ],
+ [ asterisk ]};
+ key <AE09> {[ parenleft, 9 ]};
+ key <AE10> {[ parenright, 0 ]};
+ key <AE11> {[ underscore, minus ],
+ [ minus, underscore ]};
+ key <AE12> {[ plus, equal ],
+ [ equal, plus ]};
+ key <AD01> {[ Aogonek, aogonek ],
+ [ q, Q ]};
+ key <AD02> {[ zcaron, Zcaron ],
+ [ w, W ]};
+ key <AD11> {[ iogonek, Iogonek ],
+ [ bracketleft, braceleft ]};
+ key <AD12> {[ leftdoublequotemark, doublelowquotemark ],
+ [ bracketright, braceright ]};
+ key <AC10> {[ uogonek, Uogonek ],
+ [ semicolon, colon ]};
+ key <AC11> {[ eabovedot, Eabovedot ],
+ [ apostrophe, quotedbl ]};
+ key <AB02> {[ umacron, Umacron ],
+ [ x, X ]};
+ key <AB08> {[ ccaron, Ccaron ],
+ [ comma, less ]};
+ key <AB09> {[ scaron, Scaron ],
+ [ period, greater ]};
+ key <AB10> {[ eogonek, Eogonek ],
+ [ slash, question ]};
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "generic101" {
+ include "lt(basic)"
+};
+
+xkb_symbols "pc101" {
+ include "lt(generic101)"
+};
+
+default
+xkb_symbols "pc102" {
+ include "lt(pc101)"
+ include "lt(left_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "lt(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "lt(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "lt(basic)" // for consistent naming
+};
+
+// definition for the extra key on 102-key keyboards
+// between left Control and Alt
+xkb_symbols "left_switch" {
+ key <LSGT> { [ Mode_switch, Multi_key ],
+ [ Mode_switch, Multi_key ] };
+ // Begin modifier mappings
+ modifier_map Mod3 { Mode_switch };
+};
+
diff --git a/data/xkbdata/symbols/lt_p b/data/xkbdata/symbols/lt_p
new file mode 100644
index 000000000..ceddc3f63
--- /dev/null
+++ b/data/xkbdata/symbols/lt_p
@@ -0,0 +1,75 @@
+// $XConsortium: lt_p /main/3 1997/12/18 12:40:12 rch $
+//
+// $XFree86: xc/programs/xkbcomp/symbols/lt_p,v 1.2 2000/10/28 00:34:07 dawes Exp $
+
+partial default alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Lithuanian "programmer's" keyboard
+ // (qwerty layout with Lithuanian letters on the closer ascii ones)
+ // Don't rename this file because it includes 'lt_p'
+ // Extentions: less/Euro/endash on 102nd key, AltGr+Space is nobreakspace
+ // Usage: setxkbmap lt_p
+ // Option "XkbModel" "pc105"
+ // Option "XkbLayout" "lt_p"
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Lithuanian";
+
+ key <RTRN> { [ Return, ISO_Next_Group ]};
+ key <AD01> { [ q, Q ],
+ [ umacron, Umacron ]};
+ key <AD02> { [ w, W ],
+ [ eabovedot, Eabovedot ]};
+ key <AD03> { [ e, E ],
+ [ eogonek, Eogonek ]};
+ key <AD07> { [ u, U ],
+ [ uogonek, Uogonek ]};
+ key <AD08> { [ i, I ],
+ [ iogonek, Iogonek ]};
+ key <AC01> { [ a, A ],
+ [ aogonek, Aogonek ]};
+ key <AC02> { [ s, S ],
+ [ scaron, Scaron ]};
+ key <AC11> { [ quoteright, quotedbl ],
+// this is actually right quote for Lithuanian
+ [ leftdoublequotemark, doublelowquotemark]};
+ key <AB01> { [ z, Z ],
+ [ zcaron, Zcaron ]};
+ key <AB03> { [ c, C ],
+ [ ccaron, Ccaron ]};
+ key <SPCE> { [ space, space ],
+ [ nobreakspace, nobreakspace ]};
+
+ key <LSGT> { [ less, EuroSign ],
+ [ endash ]};
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "lt_p(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "lt_p(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "lt_p(basic)" // for consistent naming
+};
+
+
diff --git a/data/xkbdata/symbols/lt_std b/data/xkbdata/symbols/lt_std
new file mode 100644
index 000000000..f4456a143
--- /dev/null
+++ b/data/xkbdata/symbols/lt_std
@@ -0,0 +1,107 @@
+// $XFree86$
+// Lithuanian keyboard map by Gediminas Paulauskas <menesis@delfi.lt>
+// Minor modification by RiÄardas ÄŒepas according to http://sun3.mif.vu.lt/cs/TK4/lithkeyb.html
+
+// Describes Lithuanian keymap LST 1582:2000
+// Don't rename this file because it includes 'lt_std'
+// Extensions: B01 L3 is "<" , B02 L3 is ">" and B03 L3 is endash to make this
+// layout usable with pc101 and pc104 keyboards.
+// Usage: setxkbmap lt_std
+// Option "XkbModel" "pc105"
+// Option "XkbLayout" "lt_std"
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[ Group1]= "Lithuanian";
+
+ key <TLDE> {[ grave, asciitilde ],
+ [ acute ]};
+ key <AE01> {[ exclam, 1 ],
+ [ at ]};
+ key <AE02> {[ minus, 2 ],
+ [ underscore ]};
+ key <AE03> {[ slash, 3 ],
+ [ numbersign ]};
+ key <AE04> {[ semicolon, 4 ],
+ [ dollar ]};
+ key <AE05> {[ colon, 5 ],
+ [ section ]};
+ key <AE06> {[ comma, 6 ],
+ [ asciicircum ]};
+ key <AE07> {[ period, 7 ],
+ [ ampersand ]};
+ key <AE08> {[ equal, 8 ],
+ [ asterisk ]};
+ key <AE09> {[ parenleft, 9 ],
+ [ bracketleft ]};
+ key <AE10> {[ parenright, 0 ],
+ [ bracketright ]};
+ key <AE11> {[ question, plus ],
+ [ apostrophe ]};
+ key <AE12> {[ x, X ],
+ [ percent ]};
+ key <AD01> {[ aogonek, Aogonek ]
+ };
+ key <AD02> {[ zcaron, Zcaron ]
+ };
+ key <AD03> {[ e, E ],
+ [ EuroSign ]};
+ key <AD11> {[ iogonek, Iogonek ],
+ [ braceleft ]};
+ key <AD12> {[ w, W ],
+ [ braceright ]};
+ key <AC04> {[ scaron, Scaron ]
+ };
+ key <AC10> {[ uogonek, Uogonek ]
+ };
+ key <AC11> {[ eabovedot, Eabovedot ],
+ [ quotedbl ]};
+ key <AB01> {[ z, Z ],
+ [ less ]};
+ key <AB02> {[ umacron, Umacron ],
+ [ greater ]};
+ key <AB03> {[ c, C ],
+ [ endash ]};
+ key <AB08> {[ ccaron, Ccaron ],
+ [ doublelowquotemark ]};
+ key <AB09> {[ f, F ],
+// this is actually right quote for Lithuanian
+ [ leftdoublequotemark ]};
+ key <AB10> {[ eogonek, Eogonek ],
+ [ backslash ]};
+ key <BKSL> {[ q, Q ],
+ [ bar ]};
+ key <SPCE> {[ space, space ],
+ [ nobreakspace, nobreakspace ]};
+
+ key <LSGT> {[ less, greater ],
+ [ endash ]};
+
+// End alphanumeric section
+
+// Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "lt_std(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "lt_std(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "lt_std(basic)" // for consistent naming
+};
+
diff --git a/data/xkbdata/symbols/lv b/data/xkbdata/symbols/lv
new file mode 100644
index 000000000..2b69571a9
--- /dev/null
+++ b/data/xkbdata/symbols/lv
@@ -0,0 +1,78 @@
+// Latvian keyboard map by Ilya Ketris <Ilya.Ketris@ipro.lv>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/lv,v 1.1 2001/05/19 00:35:43 dawes Exp $
+
+partial default alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Latvian keyboard
+ // Extentions: Euro on AltGr+4, nobreakspace on AltGr+Space,
+ // Rcedilla for diaspora Latvian, Omacron for Latgalian
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Latvian";
+
+ key <RTRN> { [ Return, ISO_Next_Group ]};
+
+ key <AE04> { [ 4, dollar ],
+ [ EuroSign, cent ]};
+ key <AD03> { [ e, E ],
+ [ emacron, Emacron ]};
+ key <AD04> { [ r, R ],
+ [ rcedilla, Rcedilla ]};
+ key <AD07> { [ u, U ],
+ [ umacron, Umacron ]};
+ key <AD08> { [ i, I ],
+ [ imacron, Imacron ]};
+ key <AD09> { [ o, O ],
+ [ omacron, Omacron ]};
+ key <AC01> { [ a, A ],
+ [ amacron, Amacron ]};
+ key <AC02> { [ s, S ],
+ [ scaron, Scaron ]};
+ key <AC05> { [ g, G ],
+ [ gcedilla, Gcedilla ]};
+ key <AC08> { [ k, K ],
+ [ kcedilla, Kcedilla ]};
+ key <AC09> { [ l, L ],
+ [ lcedilla, Lcedilla ]};
+ key <AC11> { [ quoteright, quotedbl ],
+ [ leftdoublequotemark, doublelowquotemark]};
+ key <AB01> { [ z, Z ],
+ [ zcaron, Zcaron ]};
+ key <AB03> { [ c, C ],
+ [ ccaron, Ccaron ]};
+ key <AB06> { [ n, N ],
+ [ ncedilla, Ncedilla ]};
+ key <SPCE> { [ space, space ],
+ [ nobreakspace, nobreakspace ]};
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "lv(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "lv(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "lv(basic)" // for consistent naming
+};
+
+
diff --git a/data/xkbdata/symbols/macintosh/Makefile.am b/data/xkbdata/symbols/macintosh/Makefile.am
new file mode 100644
index 000000000..3f6bbea0c
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/Makefile.am
@@ -0,0 +1,16 @@
+xkbdata_symbols_macintoshdir = $(datadir)/X11/xkb/symbols/macintosh
+dist_xkbdata_symbols_macintosh_DATA = \
+ de \
+ de_CH \
+ dk \
+ es \
+ fi \
+ fr \
+ fr_CH \
+ gb \
+ it \
+ nl \
+ no \
+ pt \
+ se \
+ us
diff --git a/data/xkbdata/symbols/macintosh/Makefile.in b/data/xkbdata/symbols/macintosh/Makefile.in
new file mode 100644
index 000000000..b1c0a1b10
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/Makefile.in
@@ -0,0 +1,272 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_macintoshdir = $(datadir)/X11/xkb/symbols/macintosh
+dist_xkbdata_symbols_macintosh_DATA = \
+ de \
+ de_CH \
+ dk \
+ es \
+ fi \
+ fr \
+ fr_CH \
+ gb \
+ it \
+ nl \
+ no \
+ pt \
+ se \
+ us
+
+subdir = symbols/macintosh
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_macintosh_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_macintosh_DATA) \
+ $(srcdir)/Makefile.in Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/macintosh/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_macintoshDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_macintoshDATA: $(dist_xkbdata_symbols_macintosh_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_macintoshdir)
+ @list='$(dist_xkbdata_symbols_macintosh_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_macintoshDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_macintoshdir)/$$f"; \
+ $(dist_xkbdata_symbols_macintoshDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_macintoshdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_macintoshDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_macintosh_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_macintoshdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_macintoshdir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_macintoshdir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_macintoshDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_macintoshDATA \
+ uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_macintoshDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_macintoshDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/macintosh/de b/data/xkbdata/symbols/macintosh/de
new file mode 100644
index 000000000..b4bf6aa54
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/de
@@ -0,0 +1,144 @@
+// $XConsortium: de /main/4 1996/08/31 12:19:20 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/de,v 3.7.2.2 1999/07/13 07:09:56 hohndel Exp $
+
+// olh@suse.de very close to MacOS map
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple German keybaord
+
+ // Alphanumeric section
+ name[Group1]= "German";
+ key <TLDE> { [ dead_circumflex, degree ],
+ [ notsign ] };
+ key <AE01> { [ 1, exclam ],
+ [ exclamdown, at ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ twosuperior ] };
+ key <AE03> { [ 3, section ],
+ [ threesuperior,sterling ] };
+ key <AE04> { [ 4, dollar ],
+ [ onequarter, currency ] };
+ key <AE05> { [ 5, percent ],
+ [ bracketleft ] };
+ key <AE06> { [ 6, ampersand ],
+ [ bracketright ] };
+ key <AE07> { [ 7, slash ],
+ [ bar, backslash ] };
+ key <AE08> { [ 8, parenleft ],
+ [ braceleft, asciitilde ] };
+ key <AE09> { [ 9, parenright ],
+ [braceright ] };
+ key <AE10> { [ 0, equal ],
+ [ braceright, degree ] };
+ key <AE11> { [ ssharp, question ],
+ [ backslash, questiondown ] };
+ key <AE12> { [ dead_acute, dead_grave ],
+ [ dead_cedilla ] };
+
+ key <AD01> { [ q, Q ],
+ [guillemotleft,guillemotright ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD04> { [ r, R ],
+ [ registered ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ],
+ [diaeresis, Aacute ] };
+ key <AD08> { [ i, I ],
+ [ slash, Ucircumflex ] };
+ key <AD09> { [ o, O ],
+ [ oslash, Ooblique ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ],
+ [ periodcentered, degree ] };
+ key <AD12> { [ plus, asterisk ],
+ [ asciitilde ] };
+ key <AC01> { [ a, A ],
+ [ aring, Aring ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ],
+ [ copyright ] };
+ key <AC06> { [ h, H ],
+ [ ordfeminine ] };
+ key <AC09> { [ l, L ],
+ [ at ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ dead_acute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ dead_circumflex ] };
+
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+ key <AB01> { [ y, Y ],
+ [ guillemotleft,less ] };
+ key <AB06> { [ n, N ],
+ [asciitilde ] };
+ key <AB07> { [ m, M ],
+ [ mu ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ],
+ [ periodcentered, division ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ numbersign, apostrophe ],
+ [ dead_grave ] };
+
+ // End alphanumeric section, begin "Keypad"
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+// modifier_map Shift { Shift_L };
+// modifier_map Lock { Caps_Lock };
+// modifier_map Control{ Control_L };
+// modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ // modify the default German layout to use Sun dead keys
+ include "macintosh/de(basic)"
+ key <TLDE> { [ SunFA_Circum, degree ],
+ [ notsign ] };
+ key <AE12> { [ SunFA_Acute, SunFA_Grave ],
+ [ SunFA_Cedilla ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ],
+ [ SunFA_Diaeresis ] };
+ key <AD12> { [ plus, asterisk ],
+ [ SunFA_Tilde, dead_macron ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ SunFA_Acute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ SunFA_Circum ] };
+
+ key <BKSL> { [ numbersign, acute ],
+ [ SunFA_Grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "macintosh/de(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ // modify the default German layout to not have any dead keys
+ include "macintosh/de(basic)"
+ key <TLDE> { [ asciicircum, degree ],
+ [ notsign ] };
+ key <AE12> { [ acute, grave ],
+ [ cedilla ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ],
+ [ diaeresis ] };
+ key <AD12> { [ plus, asterisk ],
+ [ asciitilde, macron ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ acute ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ asciicircum ] };
+
+ key <BKSL> { [ numbersign, apostrophe ],
+ [ grave ] };
+};
diff --git a/data/xkbdata/symbols/macintosh/de_CH b/data/xkbdata/symbols/macintosh/de_CH
new file mode 100644
index 000000000..75eb94792
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/de_CH
@@ -0,0 +1,150 @@
+// $XFree86$
+//
+// 06.07.2000
+// Andreas Tobler a.tobler@schweiz.ch
+// modified for Swiss German Apple Extended Keyboard II
+
+xkb_symbols "extended" {
+
+
+ name[Group1]= "Swiss German Apple Extended Keyboard II";
+ // Alphanumeric section
+ key <TLDE> { [ less, greater ],
+ [ lessthanequal, greaterthanequal ] };
+ key <COIN> { [ section, degree ] };
+ key <AE01> { [ 1, plus ],
+ [ plusminus, onesuperior ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ twosuperior, oneeighth ] };
+ key <AE03> { [ 3, asterisk ],
+ [ numbersign, threesuperior ] };
+ key <AE04> { [ 4, ccedilla ],
+ [ Ccedilla ] };
+ key <AE05> { [ 5, percent ],
+ [ bracketleft ] };
+ key <AE06> { [ 6, ampersand ],
+ [ bracketright ] };
+ key <AE07> { [ 7, slash ],
+ [ bar, backslash ] };
+ key <AE08> { [ 8, parenleft ],
+ [ braceleft, Ograve ] };
+ key <AE09> { [ 9, parenright ],
+ [ braceright, Ocircumflex ] };
+ key <AE10> { [ 0, equal ],
+ [ notequal, Uacute ] };
+ key <AE11> { [ apostrophe, question ],
+ [ questiondown ] };
+ key <AE12> { [ asciicircum, grave ],
+ [ dead_acute,asciitilde ] };
+
+
+ key <AD01> { [ q, Q ] };
+
+ key <AD02> { [ w, W ],
+ [ Greek_SIGMA, Aacute ] };
+
+ key <AD03> { [ e, E ],
+ [ trademark, Ediaeresis ] };
+
+ key <AD04> { [ r, R ],
+ [ registered, Egrave ] };
+
+ key <AD05> { [ t, T ],
+ [ dagger, Icircumflex ] };
+
+ key <AD06> { [ z, Z ],
+ [ Greek_OMEGA, Iacute ] };
+
+ key <AD07> { [ u, U ],
+ [ degree, Ugrave ] };
+
+ key <AD08> { [ i, I ],
+ [ exclamdown ] };
+
+ key <AD09> { [ o, O ],
+ [ oslash ] };
+
+ key <AD10> { [ p, P ],
+ [ Greek_pi, Greek_PI ] };
+
+ key <AD11> { [ udiaeresis, egrave ],
+ [ section, ydiaeresis ] };
+
+
+ key <AD12> { [ dead_diaeresis, exclam ],
+ [ quoteleft, quoteright ] };
+
+ key <BKSL> { [ dollar, sterling ],
+ [ paragraph, enfilledcircbullet ] };
+
+
+ key <AC01> { [ a, A ],
+ [ aring, Aring ] };
+
+ key <AC02> { [ s, S ],
+ [ ssharp ] };
+
+ key <AC03> { [ d, D ],
+ [ Greek_delta ] };
+
+ key <AC04> { [ f, F ],
+ [ section, doubledagger ] };
+
+ key <AC05> { [ g, G ],
+ [ at, comma ] };
+
+ key <AC06> { [ h, H ],
+ [ ordfeminine, periodcentered ] };
+
+ key <AC07> { [ j, J ],
+ [ masculine] };
+
+ key <AC08> { [ k, K ] };
+
+ key <AC09> { [ l, L ],
+ [ notsign ] };
+
+ key <AC10> { [ odiaeresis, eacute ],
+ [ cent ] };
+
+ key <AC11> { [ adiaeresis, agrave ],
+ [ ae, AE ] };
+
+
+
+ key <AB01> { [ y, Y ],
+ [ yen, Ydiaeresis ] };
+
+ key <AB02> { [ x, X ],
+ [similarequal, ydiaeresis ] };
+
+ key <AB03> { [ c, C ],
+ [ copyright, diamond ] };
+
+ key <AB04> { [ v, V ] };
+
+ key <AB05> { [ b, B ],
+ [ ssharp ] };
+
+ key <AB06> { [ n, N ],
+ [ dead_tilde ] };
+
+ key <AB07> { [ m, M ],
+ [ mu ] };
+
+ key <AB08> { [ comma, semicolon ],
+ [ guillemotleft, guillemotright ] };
+
+ key <AB09> { [ period, colon ],
+ [ Nosymbol, division ] };
+
+ key <AB10> { [ minus, underscore ],
+ [ emdash, endash ] };
+
+ key <SPCE> { [ space ],
+ [nobreakspace, nobreakspace ] };
+ // End alphanumeric section
+
+ key <KPDL> { [ KP_Separator , KP_Delete ] };
+
+};
diff --git a/data/xkbdata/symbols/macintosh/dk b/data/xkbdata/symbols/macintosh/dk
new file mode 100644
index 000000000..c58797630
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/dk
@@ -0,0 +1,92 @@
+// $XConsortium: dk /main/3 1996/08/31 12:19:29 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/dk,v 3.3.2.1 1999/12/20 12:56:01 hohndel Exp $
+partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Danish keyboard with dead key support
+ // and all of ISO-8859-1 characters available.
+
+ name[Group1]= "Danish";
+
+ key <TLDE> { [ onehalf, section ],
+ [ threequarters, paragraph ]};
+ key <LSGT> { [ less, greater ],
+ [ backslash, notsign ]};
+ key <SPCE> { [ space, space ],
+ [ nobreakspace, nobreakspace ]};
+ key <AE01> { [ 1, exclam ],
+ [ exclamdown, onesuperior ]};
+ key <AE02> { [ 2, quotedbl ],
+ [ at, twosuperior ]};
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, threesuperior ]};
+ key <AE04> { [ 4, currency ],
+ [ dollar, onequarter ]};
+ key <AE05> { [ 5, percent ],
+ [ NoSymbol, cent ]};
+ key <AE06> { [ 6, ampersand ],
+ [ yen, NoSymbol ]};
+ key <AE07> { [ 7, slash ],
+ [ braceleft, division ]};
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, guillemotleft ]};
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, guillemotright ]};
+ key <AE10> { [ 0, equal ],
+ [ braceright, degree ]};
+ key <AB08> { [ comma, semicolon ],
+ [ dead_cedilla, dead_ogonek ]};
+ key <AB09> { [ period, colon ],
+ [ periodcentered, dead_abovedot ]};
+ key <AB03> { [ c, C ],
+ [ copyright, NoSymbol ]};
+ key <AB10> { [ minus, underscore ],
+ [ hyphen, macron ]};
+ key <AC01> { [ a, A ],
+ [ ordfeminine, masculine ]};
+ key <AC03> { [ d, D ],
+ [ eth, ETH ]};
+ key <AD03> { [ e, E ],
+ [ NoSymbol, cent ]};
+ key <AD04> { [ r, R ],
+ [ registered, NoSymbol ]};
+ key <AD05> { [ t, T ],
+ [ thorn, THORN ]};
+ key <AD08> { [ i, I ],
+ [ NoSymbol, NoSymbol ]};
+ key <AD09> { [ o, O ],
+ [ oe, OE ]};
+ key <AC10> { [ ae, AE ]};
+ key <AE11> { [ plus, question ],
+ [ plusminus, questiondown ]};
+ key <AC11> { [ oslash, Ooblique ]};
+ key <BKSL> { [ apostrophe, asterisk ],
+ [dead_doubleacute, multiply ]};
+ key <AD11> { [ aring, Aring ]};
+ key <AE12> { [ dead_acute, dead_grave ],
+ [ bar, brokenbar ]};
+ key <AD12> { [ dead_diaeresis, dead_circumflex ],
+ [ dead_tilde, dead_caron ]};
+
+
+ // End alphanumeric section
+
+};
+
+
+partial default alphanumeric_keys
+xkb_symbols "full" {
+ include "iso9995-3(full)"
+ include "dk(basic)"
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh/dk(basic)"
+ key <AE12> { [ acute, grave ],
+ [ bar, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum ],
+ [ asciitilde, dead_macron ] };
+};
diff --git a/data/xkbdata/symbols/macintosh/es b/data/xkbdata/symbols/macintosh/es
new file mode 100644
index 000000000..ad217b369
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/es
@@ -0,0 +1,50 @@
+// $XFree86$
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple mac_US
+ // keyboard and a very simple Spanish keybaord
+
+ name[Group1]= "Spanish";
+
+ key <TLDE> { [ bracketleft, bracketright ],
+ [ braceleft, braceright ] };
+ key <LSGT> { [ less, greater ],
+ [ bracketleft, braceleft ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, exclamdown ],
+ [ at, oneeighth ] };
+ key <AE03> { [ 3, numbersign ],
+ [ guillemotleft, guillemotright ] };
+ key <AE04> { [ 4, dollar ],
+ [ yen, Icircumflex ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, slash ],
+ [ backslash, Idiaeresis ] };
+ key <AE07> { [ 7, ampersand ],
+ [ bar, Iacute ] };
+ key <AE08> { [ 8, asterisk ],
+ [ degree ] };
+ key <AE09> { [ 9, parenleft ],
+ [ sterling, Ocircumflex ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ],
+ [ plusminus ] };
+ key <AD11> { [ dead_grave, degree ] };
+ key <AD12> { [ dead_acute, dead_diaeresis ],
+ [ bar ] };
+
+ key <AB08> { [ comma, questiondown ] };
+ key <AB09> { [ period, question ] };
+ key <AB10> { [ ccedilla, Ccedilla ] };
+ key <AC10> { [ ntilde, Ntilde ],
+ [ asciitilde,dead_doubleacute ] };
+ key <AC11> { [ semicolon, colon ] };
+ key <BKSL> { [ apostrophe, quotedbl ] };
+
+ // End alphanumeric section
+
+};
diff --git a/data/xkbdata/symbols/macintosh/fi b/data/xkbdata/symbols/macintosh/fi
new file mode 100644
index 000000000..6f08ddbff
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/fi
@@ -0,0 +1,19 @@
+// $XFree86$
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple mac_US
+ // keyboard and a very simple Swedish(Finland) keybaord
+
+ name[Group1]= "Finnish";
+ include "macintosh/se(basic)" // for consistent naming
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh/se(basic)" // for consistent naming
+};
diff --git a/data/xkbdata/symbols/macintosh/fr b/data/xkbdata/symbols/macintosh/fr
new file mode 100644
index 000000000..149df3b7d
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/fr
@@ -0,0 +1,101 @@
+// $XConsortium: macintosh /main/10 1996/01/29 19:54:54 kaleb $
+// $XFree86$
+//
+
+xkb_symbols "extended" {
+
+ name[Group1]= "FR-1";
+
+ // Alphanumeric section
+ key <LSGT> { [ less, greater ] };
+ key <TLDE> { [ at, numbersign ],
+ [ periodcentered ] };
+ key <AE01> { [ ampersand, 1 ],
+ [ dead_acute, dead_acute] };
+ key <AE02> { [ eacute, 2 ] };
+ key <AE03> { [ quotedbl, 3 ] };
+ key <AE04> { [ quoteright, 4 ],
+ [ quoteleft ] };
+ key <AE05> { [ parenleft, 5 ],
+ [ braceleft, bracketleft ] };
+ key <AE06> { [ section, 6 ],
+ [ paragraph ] };
+ key <AE07> { [ egrave, 7 ],
+ [ guillemotleft, guillemotright ] };
+ key <AE08> { [ exclam, 8 ],
+ [ exclamdown, Ucircumflex ] };
+ key <AE09> { [ ccedilla, 9 ],
+ [ Ccedilla, Aacute ] };
+ key <AE10> { [ agrave, 0 ],
+ [ oslash, Ooblique ] };
+ key <AE11> { [ parenright, degree ],
+ [ braceright, bracketright ] };
+ key <AE12> { [ minus, underscore ] };
+
+ key <AD01> { [ a, A ],
+ [ ae, AE ] };
+ key <AD02> { [ z, Z ],
+ [ Acircumflex, Aring ] };
+ key <AD03> { [ e, E ],
+ [ ecircumflex, Ecircumflex ] };
+ key <AD04> { [ r, R ],
+ [ registered, currency ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ],
+ [ Uacute, ydiaeresis ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ],
+ [ icircumflex, idiaeresis ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ dead_circumflex, dead_diaeresis ],
+ [ ocircumflex, Ocircumflex ] };
+ key <AD12> { [ dollar, asterisk ],
+ [ comma, yen ] };
+ key <BKSL> { [ dead_grave, sterling ],
+ [ at, numbersign ] };
+
+ key <AC01> { [ q, Q ] ,
+ [ acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S ],
+ [ Ograve, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ],
+ [ f, periodcentered ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ],
+ [ Igrave, Icircumflex ] };
+ key <AC07> { [ j, J ],
+ [ Idiaeresis, Iacute ] };
+ key <AC08> { [ k, K ],
+ [ Egrave, Ediaeresis ] };
+ key <AC09> { [ l, L ],
+ [ ssharp, bar ] };
+ key <AC10> { [ m, M ],
+ [ mu, Oacute ] };
+ key <AC11> { [ ugrave, percent ],
+ [ Ugrave, ucircumflex ] };
+ key <RTRN> { [ Return, Return ],
+ [ hyphen, hyphen ] };
+
+ key <AB01> { [ w, W ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ],
+ [ copyright, copyright ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ],
+ [ dead_tilde ] };
+ key <AB07> { [ comma, question ],
+ [ at, questiondown ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ],
+ [ division, backslash ] };
+ key <AB10> { [ equal, plus ],
+ [ macron, plusminus ] };
+
+ // End alphanumeric section
+ key <KPDL> { [ KP_Separator , KP_Delete ] };
+
+};
+
diff --git a/data/xkbdata/symbols/macintosh/fr_CH b/data/xkbdata/symbols/macintosh/fr_CH
new file mode 100644
index 000000000..e8480c559
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/fr_CH
@@ -0,0 +1,28 @@
+// $XConsortium: fr_CH /main/3 1996/08/31 12:19:48 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/macintosh/fr_CH,v 1.1 2000/09/19 12:46:25 eich Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Swiss/French keybaord
+
+ include "macintosh/de_CH"
+ name[Group1]= "Swiss French";
+
+ override key <AD11> {
+ [ egrave, udiaeresis ],
+ [ bracketleft ]
+ };
+ override key <AC10> {
+ [ eacute, odiaeresis ]
+ };
+ override key <AC11> {
+ [ agrave, adiaeresis ],
+ [ braceleft ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh/fr_CH" // for consistent naming
+};
diff --git a/data/xkbdata/symbols/macintosh/gb b/data/xkbdata/symbols/macintosh/gb
new file mode 100644
index 000000000..29a27f8bf
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/gb
@@ -0,0 +1,19 @@
+// $XConsortium: gb /main/3 1996/08/31 12:19:51 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/gb,v 3.3 1996/12/23 07:13:25 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard layout
+
+
+ name[Group1]= "Great Britain";
+
+ key <AE03> { [ 3, sterling ],
+ [ numbersign ] };
+
+ // End alphanumeric section
+
+};
+
+
diff --git a/data/xkbdata/symbols/macintosh/it b/data/xkbdata/symbols/macintosh/it
new file mode 100644
index 000000000..9068b4c60
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/it
@@ -0,0 +1,93 @@
+// $XFree86$
+
+xkb_symbols "extended" {
+
+ name[Group1]= "italian";
+
+ // Alphanumeric section
+ key <LSGT> { [ less, greater ] };
+ key <TLDE> { [ at, numbersign ],
+ [ periodcentered ] };
+ key <AE01> { [ ampersand, 1 ],
+ [guillemotleft,guillemotright ] };
+ key <AE02> { [ quotedbl, 2 ] };
+ key <AE03> { [ apostrophe, 3 ] };
+ key <AE04> { [ parenleft, 4 ],
+ [ braceleft, bracketleft ] };
+ key <AE05> { [ ccedilla, 5 ],
+ [ Ccedilla, Iacute ] };
+ key <AE06> { [ egrave, 6 ],
+ [ paragraph, periodcentered] };
+ key <AE07> { [ parenright, 7 ],
+ [ braceright, bracketright ] };
+ key <AE08> { [ sterling, 8 ],
+ [ infinity ] };
+ key <AE09> { [ agrave, 9 ],
+ [ acute, Ocircumflex ] };
+ key <AE10> { [ eacute, 0 ],
+ [ grave, Oacute ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ],
+ [ notequal, plusminus ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ z, Z ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ],
+ [ registered ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ],
+ [ Uacute, ydiaeresis ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ],
+ [ icircumflex, idiaeresis ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ igrave, asciicircum ] };
+ key <AD12> { [ dollar, asterisk ] };
+ key <BKSL> { [ section, degree ],
+ [ at, numbersign ] };
+
+ key <AC01> { [ a, A ] ,
+ [ aring, Aring ] };
+ key <AC02> { [ s, S ],
+ [ ssharp ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ],
+ [ Igrave, Icircumflex ] };
+ key <AC07> { [ j, J ],
+ [ Idiaeresis, Iacute ] };
+ key <AC08> { [ k, K ],
+ [ Egrave, Ediaeresis ] };
+ key <AC09> { [ l, L ],
+ [ ssharp, bar ] };
+ key <AC10> { [ m, M ],
+ [ mu, Oacute ] };
+ key <AC11> { [ ugrave, percent ],
+ [ ae, AE ] };
+
+ key <AB01> { [ w, W ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ],
+ [ copyright, copyright ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ],
+ [ dead_tilde ] };
+ key <AB07> { [ comma, question ],
+ [ questiondown ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ],
+ [ bar, backslash ] };
+ key <AB10> { [ ograve, exclam ],
+ [ exclamdown ] };
+
+ // End alphanumeric section
+
+ key <KPDL> { [ KP_Decimal , KP_Delete ] };
+ // End "Keypad" section
+
+};
+
diff --git a/data/xkbdata/symbols/macintosh/nl b/data/xkbdata/symbols/macintosh/nl
new file mode 100644
index 000000000..92f8dac5a
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/nl
@@ -0,0 +1,15 @@
+// $XFree86$
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple mac_US
+ // keyboard and a very simple netherland keybaord
+
+ name[Group1]= "Netherland";
+
+// do just nothing
+
+};
+
diff --git a/data/xkbdata/symbols/macintosh/no b/data/xkbdata/symbols/macintosh/no
new file mode 100644
index 000000000..689da9da1
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/no
@@ -0,0 +1,58 @@
+// $XConsortium: no /main/3 1996/08/31 12:20:02 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/no,v 3.3.2.1 1997/07/26 06:31:01 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Norwegian keybaord
+
+ name[Group1]= "Norwegian";
+
+ key <TLDE> { [ bar, section ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at, oneeighth ] };
+ key <AE04> { [ 4, currency ],
+ [ dollar, dollar ] };
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, sterling ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ],
+ [ bar, backslash ] };
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, braceright ] };
+ key <AE10> { [ 0, equal ] };
+
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ oslash, Ooblique ],
+ [ odiaeresis, Odiaeresis ] };
+ key <AE11> { [ plus, question ] };
+ key <AC11> { [ ae, AE ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AE12> { [ dead_grave, dead_acute ],
+ [ acute, dead_ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum ],
+ [ asciitilde, dead_macron ] };
+ key <BKSL> { [ at, asterisk ] };
+ key <LSGT> { [ less, greater ] };
+
+ // End alphanumeric section
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Norwegian layout to eliminate dead keys
+
+ include "macintosh/no(basic)"
+ key <AE12> { [ grave, acute ],
+ [ acute, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum ],
+ [ asciitilde, macron ] };
+
+};
diff --git a/data/xkbdata/symbols/macintosh/pt b/data/xkbdata/symbols/macintosh/pt
new file mode 100644
index 000000000..f48b3e373
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/pt
@@ -0,0 +1,66 @@
+// $XConsortium: pt /main/3 1996/08/31 12:20:08 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/pt,v 3.3.2.1 1999/11/18 15:37:37 hohndel Exp $
+// mac version from Ricardo Cabral <bfe00991@mail.telepac.pt>
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Portuguese keybaord
+
+ name[Group1]= "Portuguese";
+
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at, oneeighth ] };
+ key <AE04> { [ 4, dollar ],
+ [ section, dollar ] };
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, sterling ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, braceright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ apostrophe, question ] };
+ key <AE12> { [ plus, asterisk ],
+ [ dead_diaeresis ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ ccedilla, Ccedilla ] };
+ key <AC11> { [ dead_tilde, dead_circumflex ] };
+ key <AC12> { [ backslash, bar ] };
+ key <AD11> { [ masculine, ordfeminine ] };
+ key <AD12> { [ dead_acute, dead_grave ] };
+ // End alphanumeric section
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "macintosh/pt(basic)" // for consistent naming
+
+ key <AE12> { [ plus, asterisk ],
+ [ SunFA_Diaeresis, SunFA_Diaeresis ] };
+ key <AC11> { [ SunFA_Tilde, SunFA_Circum ] };
+ key <AD12> { [ SunFA_Acute, SunFA_Grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "macintosh/pt(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh/pt(basic)" // for consistent naming
+
+ key <AE12> { [ plus, asterisk ],
+ [ quotedbl, quotedbl ] };
+ key <AC11> { [ asciitilde, asciicircum ] };
+ key <AD12> { [ acute, grave ] };
+};
diff --git a/data/xkbdata/symbols/macintosh/se b/data/xkbdata/symbols/macintosh/se
new file mode 100644
index 000000000..510c5ca8c
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/se
@@ -0,0 +1,56 @@
+// $XConsortium: se /main/3 1996/08/31 12:20:15 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/macintosh/se,v 1.1 2000/09/19 12:46:26 eich Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Swedish(Sweden) keybaord
+
+ name[Group1]= "Swedish";
+
+ key <TLDE> { [ section, degree ] };
+
+ key <AE01> { [ 1, exclam ],
+ [ copyright, exclamdown ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at, oneeighth ] };
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, yen ] };
+ key <AE04> { [ 4, currency ],
+ [ dollar, cent ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ],
+ [ bar, backslash ] };
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, braceright ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AE10> { [ 0, equal ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ oslash, Ooblique ] };
+ key <AE11> { [ plus, question ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ ae, AE ] };
+ key <AD11> { [ aring, Aring ] };
+ key <AE12> { [ acute, grave ] };
+ key <AD12> { [ diaeresis, asciicircum ],
+ [ asciitilde ] };
+ key <BKSL> { [ apostrophe, asterisk ],
+ [ at ] };
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ] };
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+
+
+ // End alphanumeric section
+
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "macintosh/se(basic)" // for consistent naming
+};
diff --git a/data/xkbdata/symbols/macintosh/us b/data/xkbdata/symbols/macintosh/us
new file mode 100644
index 000000000..d60310320
--- /dev/null
+++ b/data/xkbdata/symbols/macintosh/us
@@ -0,0 +1,205 @@
+// $XConsortium: macintosh /main/10 1996/01/29 19:54:54 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/macintosh/us,v 1.8 2003/08/04 10:32:31 eich Exp $
+
+// symbols definition for a Macintosh "Extended" keyboard
+
+xkb_symbols "extended" {
+
+ name[Group1]= "US/ASCII";
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+ key <RTRN> { [ Return ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+
+ key <SPCE> { [ space ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ Print ] };
+ key <FK14> { [ Scroll_Lock ] };
+ key <FK15> { [ Pause ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <INS> { [ Insert ] };
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+ key <KPEQ> { [ equal ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+
+ key <KP7> { [ KP_7, KP_Home ] };
+ key <KP8> { [ KP_8, KP_Up ] };
+ key <KP9> { [ KP_9, KP_Prior ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP4> { [ KP_4, KP_Left ] };
+ key <KP5> { [ KP_5, KP_Begin ] };
+ key <KP6> { [ KP_6, KP_Right ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP1> { [ KP_1, KP_End ] };
+ key <KP2> { [ KP_2, KP_Down ] };
+ key <KP3> { [ KP_3, KP_Next ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_0, KP_Insert ] };
+ key <KPDL> { [ KP_Decimal, KP_Delete ] };
+ // End "Keypad" section
+
+ // Begin "Modifier" section
+ key <LFSH> { [ Shift_L ] };
+ key <RTSH> { [ Shift_R ] };
+ key <LCTL> { [ Control_L ] };
+ key <RCTL> { [ Control_R ] };
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ key <LWIN> { [ Super_L ] };
+ key <RWIN> { [ Super_R ] };
+ // End "Modifier" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L , Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod4 { Super_L, Super_R };
+ modifier_map Mod5 { Scroll_Lock };
+ // end modifier mappings
+
+ include "compose(rwin)"
+ include "apple(extended)"
+ include "srvr_ctrl(xfree86)"
+
+// *** FIXME
+// key <LSGT> { [ quoteleft, asciitilde ] };
+// key <AE01> { [ 1, exclam ],
+// [exclamdown, slash ] };
+// key <AE02> { [ 2, at ],
+// [ trademark, eth ] };
+// key <AE03> { [ 3, numbersign ],
+// [ sterling ] };
+// key <AE04> { [ 4, dollar ],
+// [ cent ] };
+// key <AE05> { [ 5, percent ],
+// [ infinity ] };
+// key <AE06> { [ 6, asciicircum ],
+// [ section ] };
+// key <AE07> { [ 7, ampersand ],
+// [ paragraph ] };
+// key <AE08> { [ 8, asterisk ],
+// [periodcentered ] };
+// key <AE09> { [ 9, parenleft ],
+// [ordfeminine ] };
+// key <AE12> { [ equal, plus ],
+// [ notequal, plusminus ] };
+// key <AD01> { [ q, Q ],
+// [ oe, OE ] };
+// key <AD04> { [ r, R ],
+// [registered ] };
+// key <AD05> { [ t, T ],
+// [ dagger ] };
+// key <BKSL> { [ backslash, bar ],
+// [guillemotleft,guillemotright ] };
+// key <AC01> { [ a, A ],
+// [ aring, Aring ] };
+// key <AC02> { [ s, S ],
+// [ ssharp, Iacute ] };
+// key <AC03> { [ d, D ],
+// eth, Icircumflex ] };
+// key <AC04> { [ f, F ],
+// [ Idiaeresis ] };
+// key <AC05> { [ g, G ],
+// [ copyright ] };
+// key <AC09> { [ l, L ],
+// [ notsign, Ograve ] };
+// key <AC11> { [ quoteright, quotedbl ],
+// [ ae, AE ] };
+// key <AB03> { [ c, C ],
+// [ ccedilla, Ccedilla ] };
+// key <AB06> { [ n, N ],
+// [asciitilde ] };
+// key <AB07> { [ m, M ],
+// [ mu, Acircumflex ] };
+// key <RALT> { [ Mode_switch, Multi_key ] };
+// modifier_map Mod3 { Mode_switch };
+
+};
diff --git a/data/xkbdata/symbols/mk b/data/xkbdata/symbols/mk
new file mode 100644
index 000000000..02ec7b349
--- /dev/null
+++ b/data/xkbdata/symbols/mk
@@ -0,0 +1,130 @@
+// Author: Damjan Georgievski <gdamjan@freemail.org.mk>
+// Revision: 1.4
+// Quick usage: setxkbmap -layout mk
+//
+// shift-leftALT and win95 menu key toggles cyrillic/latin
+// rightALT and left win95-logo keys are Mode_switch
+// right win95-logo key is Multi_key (Compose)
+//
+// $XFree86$
+//
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Macedonian";
+ key <AB01> { [ ], [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AC02> { [ ], [ Cyrillic_es, Cyrillic_ES ] };
+ key <AC01> { [ ], [ Cyrillic_a, Cyrillic_A ] };
+ key <AD01> { [ ], [ Cyrillic_lje, Cyrillic_LJE ] };
+ key <AD02> { [ ], [ Cyrillic_nje, Cyrillic_NJE ] };
+ key <AB03> { [ ], [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AB02> { [ ], [ Cyrillic_dzhe, Cyrillic_DZHE ] };
+ key <AC03> { [ ], [ Cyrillic_de, Cyrillic_DE ] };
+ key <AD03> { [ ], [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AB04> { [ ], [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ ], [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AD05> { [ ], [ Cyrillic_te, Cyrillic_TE ] };
+ key <AD04> { [ ], [ Cyrillic_er, Cyrillic_ER ] };
+ key <AB06> { [ ], [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB05> { [ ], [ Cyrillic_be, Cyrillic_BE ] };
+ key <AC06> { [ ], [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC05> { [ ], [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD06> { [ ], [ Macedonia_dse, Macedonia_DSE ] };
+ key <AB07> { [ ], [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC07> { [ ], [ Cyrillic_je, Cyrillic_JE ] };
+ key <AD07> { [ ], [ Cyrillic_u, Cyrillic_U ] };
+ key <AC08> { [ ], [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD08> { [ ], [ Cyrillic_i, Cyrillic_I ] };
+ key <AD09> { [ ], [ Cyrillic_o, Cyrillic_O ] };
+ key <AC09> { [ ], [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ ], [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AD10> { [ ], [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC11> { [ ], [ Macedonia_kje, Macedonia_KJE ] };
+ key <AD11> { [ ], [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ ], [ Macedonia_gje, Macedonia_GJE ] };
+ key <BKSL> { [ ], [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AE12> { [ ], [ equal, plus ] };
+ key <AE11> { [ ], [ minus, underscore ] };
+ key <TLDE> { [ ], [ grave, asciitilde ] };
+ key <AE01> { [ ], [ 1, exclam ] };
+ key <AE02> { [ ], [ 2, doublelowquotemark ] };
+ key <AE03> { [ ], [ 3, leftdoublequotemark ] };
+ key <AE04> { [ ], [ 4, dollar ] };
+ key <AE05> { [ ], [ 5, percent ] };
+ key <AE06> { [ ], [ 6, asciicircum ] };
+ key <AE07> { [ ], [ 7, ampersand ] };
+ key <AE08> { [ ], [ 8, asterisk ] };
+ key <AE09> { [ ], [ 9, parenleft ] };
+ key <AE10> { [ ], [ 0, parenright ] };
+ key <AB08> { [ ], [ comma, semicolon ] };
+ key <AB09> { [ ], [ period, colon ] };
+ key <AB10> { [ ], [ slash, question ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "group1" {
+ name[Group1]= "Macedonian";
+ name[Group2]= "US/ASCII";
+ key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ], [ z, Z ] };
+ key <AC02> { [ Cyrillic_es, Cyrillic_ES ], [ s, S ] };
+ key <AC01> { [ Cyrillic_a, Cyrillic_A ], [ a, A ] };
+ key <AD01> { [ Cyrillic_lje, Cyrillic_LJE ], [ q, Q ] };
+ key <AD02> { [ Cyrillic_nje, Cyrillic_NJE ], [ w, W ] };
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE ], [ e, E ] };
+ key <AD04> { [ Cyrillic_er, Cyrillic_ER ], [ r, R ] };
+ key <AB03> { [ Cyrillic_tse, Cyrillic_TSE ], [ c, C ] };
+ key <AB02> { [Cyrillic_dzhe, Cyrillic_DZHE ], [ x, X ] };
+ key <AC03> { [ Cyrillic_de, Cyrillic_DE ], [ d, D ] };
+ key <AB04> { [ Cyrillic_ve, Cyrillic_VE ], [ v, V ] };
+ key <AC04> { [ Cyrillic_ef, Cyrillic_EF ], [ f, F ] };
+ key <AD05> { [ Cyrillic_te, Cyrillic_TE ], [ t, T ] };
+ key <AB06> { [ Cyrillic_en, Cyrillic_EN ], [ n, N ] };
+ key <AB05> { [ Cyrillic_be, Cyrillic_BE ], [ b, B ] };
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA ], [ h, H ] };
+ key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE ], [ g, G ] };
+ key <AD06> { [Macedonia_dse, Macedonia_DSE ], [ y, Y ] };
+ key <AB07> { [ Cyrillic_em, Cyrillic_EM ], [ m, M ] };
+ key <AC07> { [ Cyrillic_je, Cyrillic_JE ], [ j, J ] };
+ key <AD07> { [ Cyrillic_u, Cyrillic_U ], [ u, U ] };
+ key <AC08> { [ Cyrillic_ka, Cyrillic_KA ], [ k, K ] };
+ key <AD08> { [ Cyrillic_i, Cyrillic_I ], [ i, I ] };
+ key <AD09> { [ Cyrillic_o, Cyrillic_O ], [ o, O ] };
+ key <AD10> { [ Cyrillic_pe, Cyrillic_PE ], [ p, P ] };
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL ], [ l, L ] };
+
+ key <AC10> { [ Cyrillic_che, Cyrillic_CHE ], [ semicolon, colon ] };
+ key <AC11> { [Macedonia_kje, Macedonia_KJE ], [ quoteright, quotedbl ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ], [ bracketleft, braceleft ] };
+ key <AD12> { [Macedonia_gje, Macedonia_GJE ], [bracketright, braceright] };
+ key <BKSL> { [ Cyrillic_zhe, Cyrillic_ZHE ], [ backslash, bar ] };
+
+ key <AB10> { [ slash, question ], [ slash, question ] };
+ key <AE12> { [ equal, plus ], [ equal, plus ] };
+ key <AE11> { [ minus, underscore ], [ minus, underscore ] };
+ key <TLDE> { [ grave, asciitilde ], [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ], [ 1, exclam ] };
+ key <AE02> { [ 2, doublelowquotemark ], [ 2, at ] };
+ key <AE03> { [ 3, leftdoublequotemark ], [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ], [ 4, dollar ] };
+ key <AE05> { [ 5, percent ], [ 5, percent ] };
+ key <AE06> { [ 6,asciicircum ], [ 6,asciicircum ] };
+ key <AE07> { [ 7, ampersand ], [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ], [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ], [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ], [ 0, parenright ] };
+ key <AB08> { [ comma, semicolon ], [ comma, less ] };
+ key <AB09> { [ period, colon ], [ period, greater ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "pc104" {
+ include "mk(basic)"
+ include "mk(win)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "win" {
+ key <MENU> { [ ISO_Next_Group ] };
+ key <RWIN> { [ Multi_key ] };
+ key <LWIN> { [ Mode_switch ] };
+};
diff --git a/data/xkbdata/symbols/ml b/data/xkbdata/symbols/ml
new file mode 100644
index 000000000..87f06331d
--- /dev/null
+++ b/data/xkbdata/symbols/ml
@@ -0,0 +1,107 @@
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+// Description : A keymap for Malayalam
+// Encoding : Unicode (http://www.unicode.org)
+// Author : Baiju M <baiju@freeshell.org>
+// Date : Sat Aug 17 21:10:48 IST 2002
+// Mapping:
+//
+// $XFree86$
+
+ name[Group1] = "US/ASCII";
+ name[Group2] = "Malayalam";
+
+ //From grave to backslash (\)
+
+ key <TLDE> { [],[ 0x01000d4a , 0x01000d12 ] };
+ key <AE01> { [],[1 , exclam ] };
+ key <AE02> { [],[2 , at ] };
+ key <AE03> { [],[3 , numbersign ] };
+ key <AE04> { [],[4 , dollar ] };
+ key <AE05> { [],[5 , percent ] };
+ key <AE06> { [],[6 ,asciicircum ] };
+ key <AE07> { [],[7 , ampersand ] };
+ key <AE08> { [],[8 , 0x01000d7e ] };
+ key <AE09> { [],[9 , parenleft ] };
+ key <AE10> { [],[0 , parenright ] };
+ key <AE11> { [],[ minus , 0x01000d03 ] };
+ key <AE12> { [],[ 0x01000d43 , 0x01000d0b ] };
+ key <BKSL> { [],[ 0x01000d7c ] };
+
+
+ // From 'q' to right bracket (])
+
+ key <AD01> { [],[ 0x01000d4c , 0x01000d14 ] };
+ key <AD02> { [],[ 0x01000d48 , 0x01000d10 ] };
+ key <AD03> { [],[ 0x01000d3e , 0x01000d06 ] };
+ key <AD04> { [],[ 0x01000d40 , 0x01000d08 ] };
+ key <AD05> { [],[ 0x01000d42 , 0x01000d0a ] };
+ key <AD06> { [],[ 0x01000d2c , 0x01000d2d ] };
+ key <AD07> { [],[ 0x01000d39 , 0x01000d19 ] };
+ key <AD08> { [],[ 0x01000d17 , 0x01000d18 ] };
+ key <AD09> { [],[ 0x01000d26 , 0x01000d27 ] };
+ key <AD10> { [],[ 0x01000d1c , 0x01000d1d ] };
+ key <AD11> { [],[ 0x01000d21 , 0x01000d22 ] };
+ key <AD12> { [],[ 0x0100200d , 0x01000d1e ] };
+
+
+ // From 'a' to apostrophe (')
+
+ key <AC01> { [],[ 0x01000d4b , 0x01000d13 ] };
+ key <AC02> { [],[ 0x01000d47 , 0x01000d0f ] };
+ key <AC03> { [],[ 0x01000d4d , 0x01000d05 ] };
+ key <AC04> { [],[ 0x01000d3f , 0x01000d07 ] };
+ key <AC05> { [],[ 0x01000d41 , 0x01000d09 ] };
+ key <AC06> { [],[ 0x01000d2a , 0x01000d2b ] };
+ key <AC07> { [],[ 0x01000d30 , 0x01000d31 ] };
+ key <AC08> { [],[ 0x01000d15 , 0x01000d16 ] };
+ key <AC09> { [],[ 0x01000d24 , 0x01000d25 ] };
+ key <AC10> { [],[ 0x01000d1a , 0x01000d1b ] };
+ key <AC11> { [],[ 0x01000d1f , 0x01000d20 ] };
+
+ // From 'z' to slash (/)
+
+ key <AB01> { [],[ 0x01000d46 , 0x01000d0e ] };
+ key <AB02> { [],[ 0x01000d02 , 0x01000d7a ] };
+ key <AB03> { [],[ 0x01000d2e , 0x01000d23 ] };
+ key <AB04> { [],[ 0x01000d28 , 0x01000d7b ] };
+ key <AB05> { [],[ 0x01000d35 , 0x01000d34 ] };
+ key <AB06> { [],[ 0x01000d32 , 0x01000d33 ] };
+ key <AB07> { [],[ 0x01000d38 , 0x01000d36 ] };
+ key <AB08> { [],[ comma , 0x01000d37 ] };
+ key <AB09> { [],[ period , 0x01000d7d ] };
+ key <AB10> { [],[ 0x01000d2f , question ] };
+
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch , Multi_key ],
+ virtualMods = AltGr
+ };
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "mlplusnum" {
+
+ // Modifies the basic layout to include malayalam numbers
+
+ include "ml(basic)"
+
+ key <AE01> { [],[ 0x01000d67 , exclam ] };
+ key <AE02> { [],[ 0x01000d68 , at ] };
+ key <AE03> { [],[ 0x01000d69 , numbersign ] };
+ key <AE04> { [],[ 0x01000d6a , dollar ] };
+ key <AE05> { [],[ 0x01000d6b , percent ] };
+ key <AE06> { [],[ 0x01000d6c , asciicircum ] };
+ key <AE07> { [],[ 0x01000d6d , ampersand ] };
+ key <AE08> { [],[ 0x01000d6e , 0x01000d7e ] };
+ key <AE09> { [],[ 0x01000d6f , parenleft ] };
+ key <AE10> { [],[ 0x01000d66 , parenright ] };
+};
diff --git a/data/xkbdata/symbols/mm b/data/xkbdata/symbols/mm
new file mode 100644
index 000000000..5141366aa
--- /dev/null
+++ b/data/xkbdata/symbols/mm
@@ -0,0 +1,67 @@
+// $XConsortium: th /main/3 1996/08/31 12:20:18 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/th,v 3.1.2.1 1997/07/19 13:28:20 dawes Exp $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Burmese";
+ key <TLDE> { [], [ ] };
+
+ // Mainly numbers.
+ key <AE01> { [], [ 0x1001041, exclam ] };
+ key <AE02> { [], [ 0x1001042 ] };
+ key <AE03> { [], [ 0x1001043 ] };
+ key <AE04> { [], [ 0x1001044 ] };
+ key <AE05> { [], [ 0x1001045 ] };
+ key <AE06> { [], [ 0x1001046 ] };
+ key <AE07> { [], [ 0x1001047 ] };
+ key <AE08> { [], [ 0x1001048 ] };
+ key <AE09> { [], [ 0x1001049, parenleft ] };
+ key <AE10> { [], [ 0x1001040, parenright ] };
+ key <AE11> { [], [ minus, 0x1001038 ] };
+ key <AE12> { [], [ 0x1001052, 0x1001056 ] };
+
+// Mainly long vowels
+
+ key <AD01> { [], [ 0x100102A, 0x100102A ] };
+ key <AD02> { [], [ 0x1001032, 0x1001032 ] };
+ key <AD03> { [], [ 0x100102C, 0x1001021 ] };
+ key <AD04> { [], [ 0x100102E, 0x1001024 ] };
+ key <AD05> { [], [ 0x1001030, 0x1001026 ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [], [ 0x1001017, 0x1001018 ] };
+ key <AD07> { [], [ 0x100101F, 0x1001004 ] };
+ key <AD08> { [], [ 0x1001002, 0x1001003 ] };
+ key <AD09> { [], [ 0x1001012, 0x1001013 ] };
+ key <AD10> { [], [ 0x1001007, 0x1001008 ] };
+ key <AD11> { [], [ 0x100100d, 0x100100e ] };
+ key <AD12> { [], [ 0x100100a, 0x1001009 ] };
+
+// Mainly short vowels
+ key <AC01> { [], [ 0x1001029, 0x1001029 ] };
+ key <AC02> { [], [ 0x1001027, 0x1001027 ] };
+ key <AC03> { [], [ 0x1001039, 0x1001021 ] };
+ key <AC04> { [], [ 0x100102D, 0x1001023 ] };
+ key <AC05> { [], [ 0x100102F, 0x1001025 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [], [ 0x1001015, 0x1001016 ] };
+ key <AC07> { [], [ 0x100101B, 0x100101B ] };
+ key <AC08> { [], [ 0x1001000, 0x1001001 ] };
+ key <AC09> { [], [ 0x1001010, 0x1001011 ] };
+ key <AC10> { [], [ 0x1001005, 0x1001006 ] };
+ key <AC11> { [], [ 0x100100b, 0x100100c ] };
+ key <BKSL> { [], [ 0x100104E, 0x100104F ] };
+
+ key <AB01> { [], [ 0x100104C, 0x100104D ] };
+ key <AB02> { [], [ 0x1001037, 0x1001036 ] };
+ key <AB03> { [], [ 0x1001019, 0x100100f ] };
+ key <AB04> { [], [ 0x1001014, 0x1001014 ] };
+ key <AB05> { [], [ 0x1001017, 0x1001017 ] };
+ key <AB06> { [], [ 0x100101C, 0x100101C ] };
+ key <AB07> { [], [ 0x100101E, 0x1001050 ] };
+ key <AB08> { [], [ comma, 0x1001051 ] };
+ key <AB09> { [], [ period, 0x100104A ] };
+ key <AB10> { [], [ slash, 0x100101A ] };
+};
diff --git a/data/xkbdata/symbols/mn b/data/xkbdata/symbols/mn
new file mode 100644
index 000000000..24d51b0e5
--- /dev/null
+++ b/data/xkbdata/symbols/mn
@@ -0,0 +1,253 @@
+// Mongolian standard keyboard
+// Author Sanlig Badral <badral@chinggis.com>
+// 2002/12/7 Version 1.0
+
+// $XFree86: xc/programs/xkbcomp/symbols/mn,v 1.1 2003/01/04 02:57:14 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+// Describes the differences between a very simple en_US keyboard
+// and a very simple Mongolian (cyrillic) keyboard
+
+ name[Group1]= "Latin";
+ name[Group2]= "Mongolian";
+
+ key.type = "THREE_LEVEL";
+
+ key <TLDE> {[ quoteleft, asciitilde, degree ],
+ [ equal, plus, degree ]};
+ key <AE01> {[ 1, exclam, multiply ],
+ [ 1, numerosign, multiply ]};
+ key <AE02> {[ 2, at, division ],
+ [ 2, minus, division ]};
+ key <AE03> {[ 3, numbersign, plusminus ],
+ [ 3, quotedbl, plusminus ]};
+ key <AE04> {[ 4, dollar, notsign ],
+ [ 4, 0x010020ae, notsign ]};
+ key <AE05> {[ 5, percent, NoSymbol ],
+ [ 5, colon, NoSymbol ]};
+ key <AE06> {[ 6, asciicircum, notequal ],
+ [ 6, period, notequal ]};
+ key <AE07> {[ 7, ampersand, ampersand ],
+ [ 7, underscore, ampersand ]};
+ key <AE08> {[ 8, asterisk, asterisk ],
+ [ 8, comma, asterisk ]};
+ key <AE09> {[ 9, parenleft, bracketleft ],
+ [ 9, percent, bracketleft ]};
+ key <AE10> {[ 0, parenright, bracketright ],
+ [ 0, question, bracketright ]};
+ key <AE11> {[ minus, underscore, X ],
+ [ Cyrillic_ie, Cyrillic_IE, X ]};
+ key <AE12> {[ equal, plus, L ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA, L ]};
+
+ key <AD01> {[ q, Q, apostrophe ],
+ [ Cyrillic_ef, Cyrillic_EF, apostrophe ]};
+ key <AD02> {[ w, W, grave ],
+ [ Cyrillic_tse, Cyrillic_TSE, grave ]};
+ key <AD03> {[ e, E, EuroSign ],
+ [ Cyrillic_u, Cyrillic_U, EuroSign ]};
+ key <AD04> {[ r, R, registered ],
+ [ Cyrillic_zhe, Cyrillic_ZHE, registered ]};
+ key <AD05> {[ t, T, trademark ],
+ [ Cyrillic_e, Cyrillic_E, trademark ]};
+ key <AD06> {[ y, Y, yen ],
+ [ Cyrillic_en, Cyrillic_EN, yen ]};
+ key <AD07> {[ u, U, doublelowquotemark ],
+ [ Cyrillic_ghe, Cyrillic_GHE, doublelowquotemark ]};
+ key <AD08> {[ i, I, leftdoublequotemark ],
+ [ Cyrillic_sha, Cyrillic_SHA, leftdoublequotemark ]};
+ // mongolian (ue) straight u
+ key <AD09> {[ o, O, rightdoublequotemark ],
+ [ 0x010004af, 0x010004ae, rightdoublequotemark ]};
+ key <AD10> {[ p, P, NoSymbol ],
+ [ Cyrillic_ze, Cyrillic_ZE, NoSymbol ]};
+ key <AD11> {[ bracketleft, braceleft, braceleft ],
+ [ Cyrillic_ka, Cyrillic_KA, braceleft ]};
+ key <AD12> {[ bracketright, braceright, braceright ],
+ [ Cyrillic_hardsign, Cyrillic_HARDSIGN, braceright ]};
+
+ key <AC01> {[ a, A, mu ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI, mu ]};
+ key <AC02> {[ s, S, sterling ],
+ [ Cyrillic_yeru, Cyrillic_YERU, sterling ]};
+ key <AC03> {[ d, D, dollar ],
+ [ Cyrillic_be, Cyrillic_BE, dollar ]};
+ //oe mongolian (oe) barred o
+ key <AC04> {[ f, F, cent ],
+ [ 0x010004e9, 0x010004e8, rightdoublequotemark ]};
+ key <AC05> {[ g, G, Cyrillic_yeru ],
+ [ Cyrillic_a, Cyrillic_A, Cyrillic_yeru ]};
+ key <AC06> {[ h, H, Cyrillic_YERU ],
+ [ Cyrillic_ha, Cyrillic_HA, Cyrillic_YERU ]};
+ key <AC07> {[ j, J, Cyrillic_e ],
+ [ Cyrillic_er, Cyrillic_ER, Cyrillic_e ]};
+ key <AC08> {[ k, K, Cyrillic_E ],
+ [ Cyrillic_o, Cyrillic_O, Cyrillic_E ]};
+ key <AC09> {[ l, L, numerosign ],
+ [ Cyrillic_el, Cyrillic_EL, numerosign ]};
+ key <AC10> {[ semicolon, colon, section ],
+ [ Cyrillic_de, Cyrillic_DE, section ]};
+ key <AC11> {[ quoteright, quotedbl, ellipsis ],
+ [ Cyrillic_pe, Cyrillic_PE, ellipsis ]};
+ key <BKSL> {[ backslash, bar, bar ],
+ [ exclam, bar, bar ]};
+
+ key <LSGT> {[ less, greater, NoSymbol ],
+ [ parenleft, parenright, NoSymbol ]};
+ key <AB01> {[ z, Z, emdash ],
+ [ Cyrillic_ya, Cyrillic_YA, emdash ]};
+ key <AB02> {[ x, X, endash ],
+ [ Cyrillic_che, Cyrillic_CHE, endash ]};
+ key <AB03> {[ c, C, copyright ],
+ [ Cyrillic_io, Cyrillic_IO, copyright ]};
+ key <AB04> {[ v, V, NoSymbol ],
+ [ Cyrillic_es, Cyrillic_ES, NoSymbol ]};
+ key <AB05> {[ b, B, NoSymbol ],
+ [ Cyrillic_em, Cyrillic_EM, NoSymbol ]};
+ key <AB06> {[ n, N, less ],
+ [ Cyrillic_i, Cyrillic_I, less ]};
+ key <AB07> {[ m, M, greater ],
+ [ Cyrillic_te, Cyrillic_TE, greater ]};
+ key <AB08> {[ comma, less, guillemotleft ],
+ [ Cyrillic_softsign, Cyrillic_SOFTSIGN, guillemotleft ]};
+ key <AB09> {[ period, greater, guillemotright ],
+ [ Cyrillic_ve, Cyrillic_VE, guillemotright ]};
+ key <AB10> {[ slash, question, backslash ],
+ [ Cyrillic_yu, Cyrillic_YU, backslash ]};
+
+ // End alphanumeric section
+
+ key <SPCE> {[ space, space, nobreakspace ]};
+ key <RALT> { type="TWO_LEVEL",[ Mode_switch, Multi_key ]};
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "mn(basic)" {
+
+ // Describes the differences between a very simple en_US keyboard
+ // and a very simple mongolian keyboard with publishing
+ // symbols in the third level.
+
+ name[Group1]= "Latin";
+ name[Group2]= "Mongolian";
+
+ key <TLDE> {[ quoteleft, asciitilde ],
+ [ equal, plus ]};
+ key <AE01> {[ 1, exclam ],
+ [ 1, numerosign ]};
+ key <AE02> {[ 2, at ],
+ [ 2, minus ]};
+ key <AE03> {[ 3, numbersign ],
+ [ 3, quotedbl ]};
+ key <AE04> {[ 4, dollar ],
+ [ 4, 0x010020ae ]};
+ key <AE05> {[ 5, percent ],
+ [ 5, colon ]};
+ key <AE06> {[ 6, asciicircum ],
+ [ 6, period ]};
+ key <AE07> {[ 7, ampersand ],
+ [ 7, underscore ]};
+ key <AE08> {[ 8, asterisk ],
+ [ 8, comma ]};
+ key <AE09> {[ 9, parenleft ],
+ [ 9, percent ]};
+ key <AE10> {[ 0, parenright ],
+ [ 0, question ]};
+ key <AE11> {[ minus, underscore ],
+ [ Cyrillic_ie, Cyrillic_IE ]};
+ key <AE12> {[ equal, plus ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA ]};
+
+ key <AD01> {[ q, Q ],
+ [ Cyrillic_ef, Cyrillic_EF ]};
+ key <AD02> {[ w, W ],
+ [ Cyrillic_tse, Cyrillic_TSE ]};
+ key <AD03> {[ e, E ],
+ [ Cyrillic_u, Cyrillic_U ]};
+ key <AD04> {[ r, R ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ]};
+ key <AD05> {[ t, T ],
+ [ Cyrillic_e, Cyrillic_E ]};
+ key <AD06> {[ y, Y ],
+ [ Cyrillic_en, Cyrillic_EN ]};
+ key <AD07> {[ u, U ],
+ [ Cyrillic_ghe, Cyrillic_GHE ]};
+ key <AD08> {[ i, I ],
+ [ Cyrillic_sha, Cyrillic_SHA ]};
+ // mongolian (ue) straight u
+ key <AD09> {[ o, O ],
+ [ 0x010004af, 0x010004ae ]};
+ key <AD10> {[ p, P ],
+ [ Cyrillic_ze, Cyrillic_ZE ]};
+ key <AD11> {[ bracketleft, braceleft ],
+ [ Cyrillic_ka, Cyrillic_KA ]};
+ key <AD12> {[ bracketright, braceright ],
+ [ Cyrillic_hardsign, Cyrillic_HARDSIGN ]};
+
+ key <AC01> {[ a, A ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ]};
+ key <AC02> {[ s, S ],
+ [ Cyrillic_yeru, Cyrillic_YERU ]};
+ key <AC03> {[ d, D ],
+ [ Cyrillic_be, Cyrillic_BE ]};
+ //oe mongolian (oe) barred o
+ key <AC04> {[ f, F ],
+ [ 0x010004e9, 0x010004e8 ]};
+ key <AC05> {[ g, G ],
+ [ Cyrillic_a, Cyrillic_A ]};
+ key <AC06> {[ h, H ],
+ [ Cyrillic_ha, Cyrillic_HA ]};
+ key <AC07> {[ j, J ],
+ [ Cyrillic_er, Cyrillic_ER ]};
+ key <AC08> {[ k, K ],
+ [ Cyrillic_o, Cyrillic_O ]};
+ key <AC09> {[ l, L ],
+ [ Cyrillic_el, Cyrillic_EL ]};
+ key <AC10> {[ semicolon, colon ],
+ [ Cyrillic_de, Cyrillic_DE ]};
+ key <AC11> {[ quoteright, quotedbl ],
+ [ Cyrillic_pe, Cyrillic_PE ]};
+ key <BKSL> {[ backslash, bar ],
+ [ parenleft, parenright ]};
+
+ key <LSGT> {[ less, greater ],
+ [ less, greater ]};
+ key <AB01> {[ z, Z ],
+ [ Cyrillic_ya, Cyrillic_YA ]};
+ key <AB02> {[ x, X ],
+ [ Cyrillic_che, Cyrillic_CHE ]};
+ key <AB03> {[ c, C ],
+ [ Cyrillic_io, Cyrillic_IO ]};
+ key <AB04> {[ v, V ],
+ [ Cyrillic_es, Cyrillic_ES ]};
+ key <AB05> {[ b, B ],
+ [ Cyrillic_em, Cyrillic_EM ]};
+ key <AB06> {[ n, N ],
+ [ Cyrillic_i, Cyrillic_I ]};
+ key <AB07> {[ m, M ],
+ [ Cyrillic_te, Cyrillic_TE ]};
+ key <AB08> {[ comma, less ],
+ [ Cyrillic_softsign, Cyrillic_SOFTSIGN ]};
+ key <AB09> {[ period, greater ],
+ [ Cyrillic_ve, Cyrillic_VE ]};
+ key <AB10> {[ slash, question ],
+ [ Cyrillic_yu, Cyrillic_YU ]};
+
+ key <RALT> {[ Alt_R, Meta_R ]};
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/mt b/data/xkbdata/symbols/mt
new file mode 100644
index 000000000..f2913edf5
--- /dev/null
+++ b/data/xkbdata/symbols/mt
@@ -0,0 +1,47 @@
+// Maltese keyboard map (based on MSA Standard DMS100)
+// by Ramon Casha (ramon.casha@linux.org.mt)
+//
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between the en_GB
+ // keyboard and the Maltese keyboard.
+
+ include "gb(basic)"
+ name[Group1]= "Maltese";
+
+ // the following four sets are the four additional letters (C. G. H- Z.)
+ // Group 2 contains the UK equivalents
+ key <TLDE> { [ cabovedot, Cabovedot ],
+ [ grave, notsign ] };
+ key <AD11> { [ gabovedot, Gabovedot ],
+ [ bracketleft, braceleft ] };
+ key <AD12> { [ hstroke, Hstroke ],
+ [ bracketright, braceright ] };
+ key <LSGT> { [ zabovedot, Zabovedot ],
+ [ backslash, bar ] };
+
+ // Euro symbol
+ key <AE03> { [ 3, EuroSign ],
+ [ sterling ] };
+ // Long accent
+ key <AE06> { [], [ dead_circumflex, dead_circumflex ] };
+
+ // Normal accented vowels
+ key <AD03> { [], [ egrave, Egrave ] };
+ key <AD07> { [], [ ugrave, Ugrave ] };
+ key <AD08> { [], [ igrave, Igrave ] };
+ key <AD09> { [], [ ograve, Ograve ] };
+ key <AC01> { [], [ agrave, Agrave ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/mt_us b/data/xkbdata/symbols/mt_us
new file mode 100644
index 000000000..19190549f
--- /dev/null
+++ b/data/xkbdata/symbols/mt_us
@@ -0,0 +1,47 @@
+// Maltese keyboard map (based on MSA Standard DMS100, annex A)
+// by Ramon Casha (ramon.casha@linux.org.mt)
+//
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between the en_US
+ // keyboard and the Maltese keyboard.
+
+ include "us(basic)"
+ name[Group1]= "Maltese (US layout)";
+
+ // the following four sets are the four additional letters (C. G. H- Z.)
+ // Group 2 contains the UK equivalents
+ key <TLDE> { [ cabovedot, Cabovedot ],
+ [ grave, asciitilde ] };
+ key <AD11> { [ gabovedot, Gabovedot ],
+ [ bracketleft, braceleft ] };
+ key <AD12> { [ hstroke, Hstroke ],
+ [ bracketright, braceright ] };
+ key <BKSL> { [ zabovedot, Zabovedot ],
+ [ backslash, bar ] };
+
+ // Euro symbol
+ key <AE03> { [ 3, EuroSign ],
+ [ numbersign ] };
+ // Long accent
+ key <AE06> { [], [ dead_circumflex, dead_circumflex ] };
+
+ // Normal accented vowels
+ key <AD03> { [], [ egrave, Egrave ] };
+ key <AD07> { [], [ ugrave, Ugrave ] };
+ key <AD08> { [], [ igrave, Igrave ] };
+ key <AD09> { [], [ ograve, Ograve ] };
+ key <AC01> { [], [ agrave, Agrave ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/nec/Makefile.am b/data/xkbdata/symbols/nec/Makefile.am
new file mode 100644
index 000000000..b97740cef
--- /dev/null
+++ b/data/xkbdata/symbols/nec/Makefile.am
@@ -0,0 +1,3 @@
+xkbdata_symbols_necdir = $(datadir)/X11/xkb/symbols/nec
+dist_xkbdata_symbols_nec_DATA = \
+ jp
diff --git a/data/xkbdata/symbols/nec/Makefile.in b/data/xkbdata/symbols/nec/Makefile.in
new file mode 100644
index 000000000..63ab4e54b
--- /dev/null
+++ b/data/xkbdata/symbols/nec/Makefile.in
@@ -0,0 +1,258 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_necdir = $(datadir)/X11/xkb/symbols/nec
+dist_xkbdata_symbols_nec_DATA = \
+ jp
+
+subdir = symbols/nec
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_nec_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_nec_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/nec/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_necDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_necDATA: $(dist_xkbdata_symbols_nec_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_necdir)
+ @list='$(dist_xkbdata_symbols_nec_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_necDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_necdir)/$$f"; \
+ $(dist_xkbdata_symbols_necDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_necdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_necDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_nec_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_necdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_necdir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_necdir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_necDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_necDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_necDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_necDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/nec/jp b/data/xkbdata/symbols/nec/jp
new file mode 100644
index 000000000..0439677e4
--- /dev/null
+++ b/data/xkbdata/symbols/nec/jp
@@ -0,0 +1,167 @@
+// $Xorg: jp,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/symbols/nec/jp,v 3.9 2001/01/17 23:46:03 dawes Exp $
+//
+// symbols for a NEC PC98 keyboard
+default xkb_symbols "pc98" {
+
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <AE01> { [ 1, exclam ], [ kana_NU ] };
+ key <AE02> { [ 2, quotedbl ], [ kana_FU ] };
+ key <AE03> { [ 3, numbersign ], [ kana_A, kana_a ] };
+ key <AE04> { [ 4, dollar ], [ kana_U, kana_u ] };
+ key <AE05> { [ 5, percent ], [ kana_E, kana_e ] };
+ key <AE06> { [ 6, ampersand ], [ kana_O, kana_o ] };
+ key <AE07> { [ 7, apostrophe ], [ kana_YA, kana_ya ] };
+ key <AE08> { [ 8, parenleft ], [ kana_YU, kana_yu ] };
+ key <AE09> { [ 9, parenright ], [ kana_YO, kana_yo ] };
+ key <AE10> { [ 0 ], [ kana_WA, kana_WO ] };
+ key <AE11> { [ minus, equal ], [ kana_HO ] };
+ key <AE12> { [ asciicircum, quoteleft ], [ kana_HE ] };
+ key <BKSL> { [ backslash, bar ], [ prolongedsound ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ], [ kana_TA ] };
+ key <AD02> { [ w, W ], [ kana_TE ] };
+ key <AD03> { [ e, E ], [ kana_I, kana_i ] };
+ key <AD04> { [ r, R ], [ kana_SU ] };
+ key <AD05> { [ t, T ], [ kana_KA ] };
+ key <AD06> { [ y, Y ], [ kana_N ] };
+ key <AD07> { [ u, U ], [ kana_NA ] };
+ key <AD08> { [ i, I ], [ kana_NI ] };
+ key <AD09> { [ o, O ], [ kana_RA ] };
+ key <AD10> { [ p, P ], [ kana_SE ] };
+ key <AD11> { [ at, asciitilde ], [ voicedsound ] };
+ key <AD12> { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] };
+ key <RTRN> { [ Return ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ], [ kana_CHI ] };
+ key <AC02> { [ s, S ], [ kana_TO ] };
+ key <AC03> { [ d, D ], [ kana_SHI ] };
+ key <AC04> { [ f, F ], [ kana_HA ] };
+ key <AC05> { [ g, G ], [ kana_KI ] };
+ key <AC06> { [ h, H ], [ kana_KU ] };
+ key <AC07> { [ j, J ], [ kana_MA ] };
+ key <AC08> { [ k, K ], [ kana_NO ] };
+ key <AC09> { [ l, L ], [ kana_RI ] };
+ key <AC10> { [ semicolon, plus ], [ kana_RE ] };
+ key <AC11> { [ colon, asterisk ], [ kana_KE ] };
+ key <AC12> { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ], [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ x, X ], [ kana_SA ] };
+ key <AB03> { [ c, C ], [ kana_SO ] };
+ key <AB04> { [ v, V ], [ kana_HI ] };
+ key <AB05> { [ b, B ], [ kana_KO ] };
+ key <AB06> { [ n, N ], [ kana_MI ] };
+ key <AB07> { [ m, M ], [ kana_MO ] };
+ key <AB08> { [ comma, less ], [ kana_NE, kana_comma ] };
+ key <AB09> { [ period, greater ], [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ slash, question ], [ kana_ME, kana_middledot ] };
+ key <AB11> { [ NoSymbol, underscore ], [ kana_RO ] };
+// key <RTSH> { [ Shift_R ] };
+
+ key <ALGR> { [ Mode_switch ] };
+ key <LALT> { [ Alt_L ] };
+ key <NFER> { [ Muhenkan ] };
+ key <SPCE> { [ space ] };
+ key <XFER> { [ Henkan, Kanji ] };
+
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <BRK> { [ Break ] };
+ key <PRSC> { [ Print ] };
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <FK13> { [ F13 ] };
+ key <FK14> { [ F14 ] };
+ key <FK15> { [ F15 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <INS> { [ Insert ] };
+ key <DELE> { [ Delete ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <DOWN> { [ Down ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <HOME> { [ Clear, Home ] };
+ key <HELP> { [ Help ] };
+ key <KPSU> { [ KP_Subtract ] };
+ key <KPDV> { [ KP_Divide ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPMU> { [ KP_Multiply ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEQ> { [ KP_Equal ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KPSP> { [ KP_Separator ] };
+ key <KPDC> { [ KP_Decimal ] };
+// key <KPEN> { [ KP_Enter ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod1 { Alt_L };
+ modifier_map Mod2 { Mode_switch };
+};
+
diff --git a/data/xkbdata/symbols/nl b/data/xkbdata/symbols/nl
new file mode 100644
index 000000000..46731cf18
--- /dev/null
+++ b/data/xkbdata/symbols/nl
@@ -0,0 +1,98 @@
+// Converted keytable file to xkb/symbols/ file
+// with mk_xkb by root@linux.chanae.stben.be Tue Sep 30 00:53:29 MET DST 1997
+
+// converted from the nl-latin.map of the Linux kbd package by
+// Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Nederland keyboard
+
+ // Alphanumeric section
+ name[Group1]= "Nederland";
+
+ key <AE01> { [ 1, exclam ],
+ [ onesuperior ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ twosuperior ] };
+ key <AE03> { [ 3, numbersign ],
+ [ threesuperior ] };
+ key <AE04> { [ 4, dollar ],
+ [ onequarter ] };
+ key <AE05> { [ 5, percent ],
+ [ EuroSign ] };
+ key <AE06> { [ 6, ampersand ],
+ [ threequarters ] };
+ key <AE07> { [ 7, underscore ],
+ [ sterling ] };
+ key <AE08> { [ 8, parenleft ],
+ [ braceleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ braceright ] };
+ key <AE10> { [ 0, apostrophe ] };
+ key <AE11> { [ slash, question ],
+ [ backslash ] };
+ key <AE12> { [ degree, dead_tilde ],
+ [ dead_cedilla ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+ key <AD04> { [ r, R ],
+ [ paragraph, registered ] };
+ key <AD05> { [ t, T ],
+ [ thorn, THORN ] };
+ key <AD06> { [ y, Y ],
+ [ ydiaeresis, yen ] };
+ key <AD07> { [ u, U ],
+ [ udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I ],
+ [ idiaeresis, Idiaeresis ] };
+ key <AD09> { [ o, O ],
+ [ ograve, Ograve ] };
+ key <AD10> { [ p, P ],
+ [ paragraph ] };
+ key <AD11> { [ dead_diaeresis, dead_circumflex ],
+ [ asciitilde, asciicircum ] };
+ key <AD12> { [ asterisk, bar ] };
+ key <AC01> { [ a, A ],
+ [ aacute, Aacute ] };
+ key <AC02> { [ s, S ],
+ [ ssharp ] };
+ key <AC03> { [ d, D ],
+ [ eth, ETH ] };
+ key <AC04> { [ f, F ],
+ [ ordfeminine, ordfeminine ] };
+ key <AC10> { [ plus, plusminus ] };
+ key <AC11> { [ apostrophe, grave ],
+ [ dead_acute, dead_grave ] };
+ key <TLDE> { [ at, section ],
+ [ notsign ] };
+ key <BKSL> { [ less, greater ] };
+ key <AB01> { [ z, Z ],
+ [ guillemotleft ] };
+ key <AB02> { [ x, X ],
+ [ guillemotright ] };
+ key <AB03> { [ c, C ],
+ [ cent, copyright ] };
+ key <AB06> { [ n, N ],
+ [ ntilde, Ntilde ] };
+ key <AB07> { [ m, M ],
+ [ Greek_mu, masculine ] };
+ key <AB08> { [ comma, semicolon ],
+ [ cedilla, guillemotleft ] };
+ key <AB09> { [ period, colon ],
+ [ periodcentered, guillemotright ] };
+ key <AB10> { [ minus, equal ],
+ [ hyphen ] };
+ key <LSGT> { [ bracketright, bracketleft ],
+ [ bar ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/no b/data/xkbdata/symbols/no
new file mode 100644
index 000000000..6679c337e
--- /dev/null
+++ b/data/xkbdata/symbols/no
@@ -0,0 +1,119 @@
+// $Xorg: no,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/no,v 3.9 2001/01/17 23:45:59 dawes Exp $
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Norwegian keyboard with dead key support
+ // and all of ISO-8859-1 characters available.
+
+ name[Group1]= "Norwegian";
+
+ key <TLDE> { [ bar, section ],
+ [ brokenbar, paragraph ]};
+ key <LSGT> { [ less, greater ],
+ [ onehalf, threequarters ]};
+ key <SPCE> { [ space, space ],
+ [ nobreakspace, nobreakspace ]};
+ key <AE01> { [ 1, exclam ],
+ [ exclamdown, onesuperior ]};
+ key <AE02> { [ 2, quotedbl ],
+ [ at, twosuperior ]};
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, threesuperior ]};
+ key <AE04> { [ 4, currency ],
+ [ dollar, onequarter ]};
+ key <AE05> { [ 5, percent ],
+ [ NoSymbol, cent ]};
+ key <AE06> { [ 6, ampersand ],
+ [ yen, NoSymbol ]};
+ key <AE07> { [ 7, slash ],
+ [ braceleft, division ]};
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, guillemotleft ]};
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, guillemotright ]};
+ key <AE10> { [ 0, equal ],
+ [ braceright, degree ]};
+ key <AB08> { [ comma, semicolon ],
+ [ dead_cedilla, dead_ogonek ]};
+ key <AB09> { [ period, colon ],
+ [ periodcentered, dead_abovedot ]};
+ key <AB03> { [ c, C ],
+ [ copyright, NoSymbol ]};
+ key <AB10> { [ minus, underscore ],
+ [ hyphen, macron ]};
+ key <AC01> { [ a, A ],
+ [ ordfeminine, masculine ]};
+ key <AC03> { [ d, D ],
+ [ eth, ETH ]};
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ]};
+ key <AD04> { [ r, R ],
+ [ registered, NoSymbol ]};
+ key <AD05> { [ t, T ],
+ [ thorn, THORN ]};
+ key <AD08> { [ i, I ],
+ [ NoSymbol, NoSymbol ]};
+ key <AD09> { [ o, O ],
+ [ oe, OE ]};
+ key <AC10> { [ oslash, Ooblique ]};
+ key <AE11> { [ plus, question ],
+ [ plusminus, questiondown ]};
+ key <AC11> { [ ae, AE ]};
+ key <BKSL> { [ apostrophe, asterisk ],
+ [dead_doubleacute, multiply ]};
+ key <AD11> { [ aring, Aring ]};
+ key <AE12> { [ backslash, dead_grave ],
+ [ dead_acute, notsign ]};
+ key <AD12> { [ dead_diaeresis, dead_circumflex ],
+ [ dead_tilde, dead_caron ]};
+
+
+ // End alphanumeric section, begin "Keypad"
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // For naming consistency
+
+ include "no(basic)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ // For naming consistency
+
+ include "no(Sundeadkeys)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Norwegian layout to eliminate dead keys
+
+ include "no(basic)"
+ key <AE12> { [ backslash, grave ],
+ [ acute, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum ],
+ [ asciitilde, macron ] };
+
+};
diff --git a/data/xkbdata/symbols/ogham b/data/xkbdata/symbols/ogham
new file mode 100644
index 000000000..4eeec2c08
--- /dev/null
+++ b/data/xkbdata/symbols/ogham
@@ -0,0 +1,206 @@
+// $XFree86: xc/programs/xkbcomp/symbols/ogham,v 1.2 2002/12/19 00:49:41 dawes Exp $
+//
+// Ogham keyboard map for XFree86
+//
+// Seamus O Ciardhuain <seoc@cnds.ucd.ie> (17 December 2002)
+//
+// Ogham keyboard layout as recommended in I.S. 434:1999.
+// Suitable for multi-layout xkbcomp.
+// Character names are given as in the Unicode standard,
+// range U+1680 to U+169F.
+
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1] = "Ogham";
+
+ key.type[Group1] = "ONE_LEVEL";
+
+ key <LSGT> { type[Group1]="TWO_LEVEL",
+ [ 0x100169B, 0x100169C ] };
+ // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
+
+ key <BKSL> { [ 0x1001680 ] }; // OGHAM SPACE MARK
+
+ key <TLDE> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+
+ key <SPCE> { [ space ] };
+
+ //
+ // Top Row QWERTYUIOP
+ //
+ key <AD01> { [ 0x100168A ] }; // OGHAM LETTER CEIRT
+ key <AD02> { [ 0x1001695 ] }; // OGHAM LETTER EABHADH
+ key <AD03> { [ 0x1001693 ] }; // OGHAM LETTER EADHADH
+ key <AD04> { [ 0x100168F ] }; // OGHAM LETTER RUIS
+ key <AD05> { [ 0x1001688 ] }; // OGHAM LETTER TINNE
+ key <AD06> { [ 0x1001698 ] }; // OGHAM LETTER IFIN
+ key <AD07> { [ 0x1001692 ] }; // OGHAM LETTER UR
+ key <AD08> { [ 0x1001694 ] }; // OGHAM LETTER IODHADH
+ key <AD09> { [ 0x1001691 ] }; // OGHAM LETTER ONN
+ key <AD10> { [ 0x100169A ] }; // OGHAM LETTER PEITH
+
+ //
+ // Middle Row ASDFGHJKL
+ //
+ key <AC01> { [ 0x1001690 ] }; // OGHAM LETTER AILM
+ key <AC02> { [ 0x1001684 ] }; // OGHAM LETTER SAIL
+ key <AC03> { [ 0x1001687 ] }; // OGHAM LETTER DAIR
+ key <AC04> { [ 0x1001683 ] }; // OGHAM LETTER FEARN
+ key <AC05> { [ 0x100168C ] }; // OGHAM LETTER GORT
+ key <AC06> { [ 0x1001686 ] }; // OGHAM LETTER UATH
+ key <AC07> { [ 0x1001697 ] }; // OGHAM LETTER UILLEANN
+ key <AC08> { [ 0x1001696 ] }; // OGHAM LETTER OR
+ key <AC09> { [ 0x1001682 ] }; // OGHAM LETTER LUIS
+
+ //
+ // Bottom Row ZXCVBNM
+ //
+ key <AB01> { [ 0x100168E ] }; // OGHAM LETTER STRAIF
+ key <AB02> { [ 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL
+ key <AB03> { [ 0x1001689 ] }; // OGHAM LETTER COLL
+ key <AB04> { [ 0x100168D ] }; // OGHAM LETTER NGEADAL
+ key <AB05> { [ 0x1001681 ] }; // OGHAM LETTER BEITH
+ key <AB06> { [ 0x1001685 ] }; // OGHAM LETTER NION
+ key <AB07> { [ 0x100168B ] }; // OGHAM LETTER MUIN
+
+ // As an extension because <BKSL> and <LSGT> may not be
+ // available or sensible. These are also a bit more
+ // intuitive on a standard Irish keyboard.
+ key <AB08> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+ key <AB09> { [ 0x100169B ] }; // OGHAM FEATHER MARK
+ key <AB10> { [ 0x1001680 ] }; // OGHAM SPACE MARK
+
+ key <RWIN> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "laptop" {
+ // For laptops which don't have the RWIN key but are otherwise
+ // the same as 105-key layouts.
+ include "ogham(basic)"
+ key <MENU> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "is434" {
+
+ // This has the full layout of IS434 with an Irish QWERTY keyboard,
+ // and the Ogham characters accessed when CAPS LOCK is on.
+
+ name[Group1] = "Ogham (IS434)";
+
+ key.type[Group1] = "THREE_LEVEL";
+
+ key <LSGT> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
+ [ backslash, bar, 0x100169B, 0x100169C ] };
+ // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
+
+ key <BKSL> { [ numbersign, asciitilde, 0x1001680 ] }; // OGHAM SPACE MARK
+ key <TLDE> { [ grave, notsign, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+ key <SPCE> { [ space, space, space ] };
+
+ //
+ // Numeric row
+ //
+ key <AE01> { type[Group1]="TWO_LEVEL", [ 1, exclam ] };
+ key <AE02> { type[Group1]="TWO_LEVEL", [ 2, quotedbl ] };
+ key <AE03> { type[Group1]="TWO_LEVEL", [ 3, sterling ] };
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <AE05> { type[Group1]="TWO_LEVEL", [ 5, percent ] };
+ key <AE06> { type[Group1]="TWO_LEVEL", [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand, 0x100204A ] }; // Tironian Et
+ key <AE08> { type[Group1]="TWO_LEVEL", [ 8, asterisk ] };
+ key <AE09> { type[Group1]="TWO_LEVEL", [ 9, parenleft ] };
+ key <AE10> { type[Group1]="TWO_LEVEL", [ 0, parenright ] };
+ key <AE11> { type[Group1]="TWO_LEVEL", [ minus, underscore ] };
+ key <AE12> { type[Group1]="TWO_LEVEL", [ equal, plus ] };
+
+ //
+ // Top Row QWERTYUIOP
+ //
+ key <AD01> { [ q, Q, 0x100168A ] }; // OGHAM LETTER CEIRT
+ key <AD02> { [ w, W, 0x1001695 ] }; // OGHAM LETTER EABHADH
+ key <AD03> { [ e, E, 0x1001693 ] }; // OGHAM LETTER EADHADH
+ key <AD04> { [ r, R, 0x100168F ] }; // OGHAM LETTER RUIS
+ key <AD05> { [ t, T, 0x1001688 ] }; // OGHAM LETTER TINNE
+ key <AD06> { [ y, Y, 0x1001698 ] }; // OGHAM LETTER IFIN
+ key <AD07> { [ u, U, 0x1001692 ] }; // OGHAM LETTER UR
+ key <AD08> { [ i, I, 0x1001694 ] }; // OGHAM LETTER IODHADH
+ key <AD09> { [ o, O, 0x1001691 ] }; // OGHAM LETTER ONN
+ key <AD10> { [ p, P, 0x100169A ] }; // OGHAM LETTER PEITH
+
+ //
+ // Middle Row ASDFGHJKL
+ //
+ key <AC01> { [ a, A, 0x1001690 ] }; // OGHAM LETTER AILM
+ key <AC02> { [ s, S, 0x1001684 ] }; // OGHAM LETTER SAIL
+ key <AC03> { [ d, D, 0x1001687 ] }; // OGHAM LETTER DAIR
+ key <AC04> { [ f, F, 0x1001683 ] }; // OGHAM LETTER FEARN
+ key <AC05> { [ g, G, 0x100168C ] }; // OGHAM LETTER GORT
+ key <AC06> { [ h, H, 0x1001686 ] }; // OGHAM LETTER UATH
+ key <AC07> { [ j, J, 0x1001697 ] }; // OGHAM LETTER UILLEANN
+ key <AC08> { [ k, K, 0x1001696 ] }; // OGHAM LETTER OR
+ key <AC09> { [ l, L, 0x1001682 ] }; // OGHAM LETTER LUIS
+
+ //
+ // Bottom Row ZXCVBNM
+ //
+ key <AB01> { [ z, Z, 0x100168E ] }; // OGHAM LETTER STRAIF
+ key <AB02> { [ x, X, 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL
+ key <AB03> { [ c, C, 0x1001689 ] }; // OGHAM LETTER COLL
+ key <AB04> { [ v, V, 0x100168D ] }; // OGHAM LETTER NGEADAL
+ key <AB05> { [ b, B, 0x1001681 ] }; // OGHAM LETTER BEITH
+ key <AB06> { [ n, N, 0x1001685 ] }; // OGHAM LETTER NION
+ key <AB07> { [ m, M, 0x100168B ] }; // OGHAM LETTER MUIN
+
+ // As an extension because <BKSL> and <LSGT> may not be
+ // available or sensible. These are also a bit more
+ // intuitive on a standard Irish keyboard.
+ key <AB08> { [ comma, less, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+ key <AB09> { [ period, greater, 0x100169B ] }; // OGHAM FEATHER MARK
+ key <AB10> { [ slash, question, 0x1001680 ] }; // OGHAM SPACE MARK
+
+ // The standard says the Ogham characters should be accessed when
+ // Caps Lock is down; not clear if this means it should lock but
+ // seems logical.
+
+ key <CAPS> { type[Group1] = "ONE_LEVEL", [ ISO_Level3_Lock ] };
+
+ // Also allow access to Ogham characters using RALT for convenience
+ key <RALT> { type[Group1] = "ONE_LEVEL", [ ISO_Level3_Shift ] };
+
+ modifier_map Mod5 { ISO_Level3_Shift, ISO_Level3_Lock };
+
+ // Redefine Scroll Lock as locking shift in case that's needed.
+ // Also overcomes annoying use of Scroll Lock LED inherited from
+ // US symbols but not relevant here since we're not changing group.
+ key <SCLK> {type[Group1] = "ONE_LEVEL", [ Shift_Lock ] };
+ modifier_map Shift { Shift_Lock };
+
+ key <RWIN> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "IS434" {
+ // just has uppercase in the name
+ include "ogham(is434)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "is434laptop" {
+ // For laptops which don't have the RWIN key but are otherwise
+ // the same as 105-key layouts.
+ include "ogham(is434)"
+ key <MENU> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "IS434laptop" {
+ // just has uppercase in the name
+ include "ogham(is434)"
+ key <MENU> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
+};
diff --git a/data/xkbdata/symbols/ori b/data/xkbdata/symbols/ori
new file mode 100644
index 000000000..eaa7f339a
--- /dev/null
+++ b/data/xkbdata/symbols/ori
@@ -0,0 +1,71 @@
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ // Inscript layout for Oriya
+ // Author: G Karunakar <karunakar@freedomink.org>
+ // Date: Wed Nov 13 18:16:19 IST 2002
+
+ name[Group2]= "Oriya";
+
+ key <TLDE> { [], [ 0x01000b4a, 0x01000b12 ] };
+ key <AE01> { [], [ 0x01000b67, 0x01000b0d ] };
+ key <AE02> { [], [ 0x01000b68, 0x01000b45 ] };
+ key <AE03> { [], [ 0x01000b69 ] };
+ key <AE04> { [], [ 0x01000b6a ] };
+ key <AE05> { [], [ 0x01000b6b ] };
+ key <AE06> { [], [ 0x01000b6c ] };
+ key <AE07> { [], [ 0x01000b6d ] };
+ key <AE08> { [], [ 0x01000b6e ] };
+ key <AE09> { [], [ 0x01000b6f ] };
+ key <AE10> { [], [ 0x01000b66 ] };
+ key <AE11> { [], [ 0x01000b03 ] };
+ key <AE12> { [], [ 0x01000b43, 0x01000b0b ] };
+
+ key <AD01> { [], [ 0x01000b4c, 0x01000b14 ] };
+ key <AD02> { [], [ 0x01000b48, 0x01000b10 ] };
+ key <AD03> { [], [ 0x01000b3e, 0x01000b06 ] };
+ key <AD04> { [], [ 0x01000b40, 0x01000b08 ] };
+ key <AD05> { [], [ 0x01000b42, 0x01000b0a ] };
+ key <AD06> { [], [ 0x01000b2c, 0x01000b2d ] };
+ key <AD07> { [], [ 0x01000b39, 0x01000b19 ] };
+ key <AD08> { [], [ 0x01000b17, 0x01000b18 ] };
+ key <AD09> { [], [ 0x01000b26, 0x01000b27 ] };
+ key <AD10> { [], [ 0x01000b1c, 0x01000b1d ] };
+ key <AD11> { [], [ 0x01000b21, 0x01000b22 ] };
+ key <AD12> { [], [ 0x01000b3c, 0x01000b1e ] };
+
+ key <AC01> { [], [ 0x01000b4b, 0x01000b13 ] };
+ key <AC02> { [], [ 0x01000b47, 0x01000b0f ] };
+ key <AC03> { [], [ 0x01000b4d, 0x01000b05 ] };
+ key <AC04> { [], [ 0x01000b3f, 0x01000b07 ] };
+ key <AC05> { [], [ 0x01000b41, 0x01000b09 ] };
+ key <AC06> { [], [ 0x01000b2a, 0x01000b2b ] };
+ key <AC07> { [], [ 0x01000b30, 0x01000b31 ] };
+ key <AC08> { [], [ 0x01000b15, 0x01000b16 ] };
+ key <AC09> { [], [ 0x01000b24, 0x01000b25 ] };
+ key <AC10> { [], [ 0x01000b1a, 0x01000b1b ] };
+ key <AC11> { [], [ 0x01000b1f, 0x01000b20 ] };
+
+ key <AB01> { [], [ 0x01000b46, 0x01000b0e ] };
+ key <AB02> { [], [ 0x01000b02, 0x01000b01 ] };
+ key <AB03> { [], [ 0x01000b2e, 0x01000b23 ] };
+ key <AB04> { [], [ 0x01000b28, 0x01000b29 ] };
+ key <AB05> { [], [ 0x01000b35, 0x01000b34 ] };
+ key <AB06> { [], [ 0x01000b32, 0x01000b33 ] };
+ key <AB07> { [], [ 0x01000b38, 0x01000b36 ] };
+ key <AB08> { [], [ comma , 0x01000b37 ] };
+ key <AB09> { [], [ period , 0x01000b64 ] };
+ key <AB10> { [], [ 0x01000b2f, 0x01000040 ] };
+ key <BKSL> { [], [ 0x01000b49, 0x01000b11 ] };
+
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods = AltGr
+ };
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/pc/Makefile.am b/data/xkbdata/symbols/pc/Makefile.am
new file mode 100644
index 000000000..704f91ca4
--- /dev/null
+++ b/data/xkbdata/symbols/pc/Makefile.am
@@ -0,0 +1,67 @@
+xkbdata_symbols_pcdir = $(datadir)/X11/xkb/symbols/pc
+dist_xkbdata_symbols_pc_DATA = \
+ al \
+ am \
+ ara \
+ az \
+ ba \
+ bd \
+ be \
+ bg \
+ br \
+ bt \
+ by \
+ ca \
+ ch \
+ cz \
+ de \
+ dk \
+ ee \
+ es \
+ fi \
+ fo \
+ fr \
+ gb \
+ ge \
+ gr \
+ hr \
+ hu \
+ ie \
+ il \
+ in \
+ ir \
+ is \
+ it \
+ jp \
+ kg \
+ la \
+ latam \
+ latin \
+ lk \
+ lt \
+ lv \
+ mao \
+ mkd \
+ mm \
+ mn \
+ mt \
+ nl \
+ no \
+ pc \
+ pk \
+ pl \
+ pt \
+ ro \
+ ru \
+ se \
+ si \
+ sk \
+ srp \
+ sy \
+ th \
+ tj \
+ tr \
+ ua \
+ us \
+ uz \
+ vn
diff --git a/data/xkbdata/symbols/pc/Makefile.in b/data/xkbdata/symbols/pc/Makefile.in
new file mode 100644
index 000000000..e55a98e32
--- /dev/null
+++ b/data/xkbdata/symbols/pc/Makefile.in
@@ -0,0 +1,322 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_pcdir = $(datadir)/X11/xkb/symbols/pc
+dist_xkbdata_symbols_pc_DATA = \
+ al \
+ am \
+ ara \
+ az \
+ ba \
+ bd \
+ be \
+ bg \
+ br \
+ bt \
+ by \
+ ca \
+ ch \
+ cz \
+ de \
+ dk \
+ ee \
+ es \
+ fi \
+ fo \
+ fr \
+ gb \
+ ge \
+ gr \
+ hr \
+ hu \
+ ie \
+ il \
+ in \
+ ir \
+ is \
+ it \
+ jp \
+ kg \
+ la \
+ latam \
+ latin \
+ lk \
+ lt \
+ lv \
+ mao \
+ mkd \
+ mm \
+ mn \
+ mt \
+ nl \
+ no \
+ pc \
+ pk \
+ pl \
+ pt \
+ ro \
+ ru \
+ se \
+ si \
+ sk \
+ srp \
+ sy \
+ th \
+ tj \
+ tr \
+ ua \
+ us \
+ uz \
+ vn
+
+subdir = symbols/pc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_pc_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_pc_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/pc/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_pcDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_pcDATA: $(dist_xkbdata_symbols_pc_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_pcdir)
+ @list='$(dist_xkbdata_symbols_pc_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_pcDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_pcdir)/$$f"; \
+ $(dist_xkbdata_symbols_pcDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_pcdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_pcDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_pc_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_pcdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_pcdir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_pcdir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_pcDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_pcDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_pcDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_pcDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/pc/al b/data/xkbdata/symbols/pc/al
new file mode 100644
index 000000000..df8ccd810
--- /dev/null
+++ b/data/xkbdata/symbols/pc/al
@@ -0,0 +1,43 @@
+// $XdotOrg$
+// based on
+// albanian keyboard layout
+// done by Pablo Saratxaga <pablo@mandrakesoft.com>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/al,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type3)"
+
+ name[Group1]="Albania";
+
+ key <AE01> { [ 1, exclam, asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl, dead_caron, oneeighth ] };
+ key <AE03> { [ 3, numbersign, dead_circumflex, sterling ] };
+ key <AE04> { [ 4, dollar, dead_breve, dollar ] };
+ key <AE05> { [ 5, percent, dead_abovering, threeeighths] };
+ key <AE06> { [ 6, asciicircum, dead_ogonek, fiveeighths ] };
+ key <AE07> { [ 7, ampersand, grave, dead_grave ] };
+ key <AE08> { [ 8, asterisk, dead_abovedot, trademark ] };
+ key <AE09> { [ 9, parenleft, dead_acute, plusminus ] };
+ key <AE10> { [ 0, parenright, dead_doubleacute, degree ] };
+ key <AE11> { [ minus, underscore, dead_diaeresis, questiondown] };
+
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD11> { [ ccedilla, Ccedilla, division, dead_abovering ] };
+ key <AD12> { [ at, apostrophe, multiply, dead_macron ] };
+
+ key <AC02> { [ s, S, dstroke, section ] };
+ key <AC03> { [ d, D, Dstroke, ETH ] };
+ key <AC10> { [ediaeresis, Ediaeresis, dollar, dead_doubleacute ] };
+ key <AC11> { [bracketleft, braceleft, ssharp, dead_caron ] };
+ key <TLDE> { [ backslash, bar, notsign, notsign ] };
+
+ key <BKSL> { [bracketright, braceright, currency, dead_breve ] };
+ key <AB08> { [ comma, semicolon, less, multiply ] };
+ key <AB09> { [ period, colon, greater, division ] };
+ key <AB10> { [ slash, question, dead_belowdot, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/data/xkbdata/symbols/pc/am b/data/xkbdata/symbols/pc/am
new file mode 100644
index 000000000..83403ab41
--- /dev/null
+++ b/data/xkbdata/symbols/pc/am
@@ -0,0 +1,123 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/am' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/am,v 1.4 2003/05/29 12:41:58 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Armenia";
+
+ // Alphanumeric section
+ key <TLDE> { [ 0x100055d, 0x100055c ] };
+ key <LSGT> { [ question, 0x100058a ] };
+ key <BKSL> { [ guillemotright, guillemotleft ] };
+
+ key <AE01> { [ 0x1000586, 0x1000556 ] };
+ key <AE02> { [ 0x1000571, 0x1000541 ] };
+ key <AE03> { [ 0x1002013, 0x1002014 ] };
+ key <AE04> { [ comma, dollar ] };
+ key <AE05> { [ 0x1000589, 0x1002026 ] };
+ key <AE06> { [ 0x100055e, percent ] };
+ key <AE07> { [ period, 0x1000587 ] };
+ key <AE08> { [ 0x100055b, 0x10002bc ] };
+ key <AE09> { [ parenright, parenleft ] };
+ key <AE10> { [ 0x1000585, 0x1000555 ] };
+ key <AE11> { [ 0x1000567, 0x1000537 ] };
+ key <AE12> { [ 0x1000572, 0x1000542 ] };
+
+
+ key <AD01> { [ 0x1000573, 0x1000543 ] };
+ key <AD02> { [ 0x1000583, 0x1000553 ] };
+ key <AD03> { [ 0x1000562, 0x1000532 ] };
+ key <AD04> { [ 0x100057d, 0x100054d ] };
+ key <AD05> { [ 0x1000574, 0x1000544 ] };
+ key <AD06> { [ 0x1000578, 0x1000548 ] };
+ key <AD07> { [ 0x1000582, 0x1000552 ] };
+ key <AD08> { [ 0x100056f, 0x100053f ] };
+ key <AD09> { [ 0x1000568, 0x1000538 ] };
+ key <AD10> { [ 0x1000569, 0x1000539 ] };
+ key <AD11> { [ 0x100056e, 0x100053e ] };
+ key <AD12> { [ 0x1000581, 0x1000551 ] };
+
+ key <AC01> { [ 0x100057b, 0x100054b ] };
+ key <AC02> { [ 0x100057e, 0x100054e ] };
+ key <AC03> { [ 0x1000563, 0x1000533 ] };
+ key <AC04> { [ 0x1000565, 0x1000535 ] };
+ key <AC05> { [ 0x1000561, 0x1000531 ] };
+ key <AC06> { [ 0x1000576, 0x1000546 ] };
+ key <AC07> { [ 0x100056b, 0x100053b ] };
+ key <AC08> { [ 0x100057f, 0x100054f ] };
+ key <AC09> { [ 0x1000570, 0x1000540 ] };
+ key <AC10> { [ 0x100057a, 0x100054a ] };
+ key <AC11> { [ 0x1000580, 0x1000550 ] };
+
+ key <AB01> { [ 0x100056a, 0x100053a ] };
+ key <AB02> { [ 0x1000564, 0x1000534 ] };
+ key <AB03> { [ 0x1000579, 0x1000549 ] };
+ key <AB04> { [ 0x1000575, 0x1000545 ] };
+ key <AB05> { [ 0x1000566, 0x1000536 ] };
+ key <AB06> { [ 0x100056c, 0x100053c ] };
+ key <AB07> { [ 0x1000584, 0x1000554 ] };
+ key <AB08> { [ 0x100056d, 0x100053d ] };
+ key <AB09> { [ 0x1000577, 0x1000547 ] };
+ key <AB10> { [ 0x100057c, 0x100054c ] };
+
+};
+
+xkb_symbols "phonetic" {
+ include "pc/am(basic)"
+ name[Group1]= "Armenia - Phonetic";
+
+ key <BKSL> { [ 0x1000577, 0x1000547 ] };
+
+ key <AE01> { [ 0x1000567, 0x1000537 ] };
+ key <AE02> { [ 0x1000569, 0x1000539 ] };
+ key <AE03> { [ 0x1000583, 0x1000553 ] };
+ key <AE04> { [ 0x1000571, 0x1000541 ] };
+ key <AE05> { [ 0x100057b, 0x100054b ] };
+ key <AE06> { [ 0x1000582, 0x1000552 ] };
+ key <AE07> { [ 0x1000587, 0x1000587 ] };
+ key <AE08> { [ 0x1000580, 0x1000550 ] };
+ key <AE09> { [ 0x1000579, 0x1000549 ] };
+ key <AE10> { [ 0x1000573, 0x1000543 ] };
+ key <AE11> { [ 0x100002D, 0x1002015 ] };
+ key <AE12> { [ 0x100056a, 0x100053a ] };
+
+ key <LatQ> { [ 0x1000584, 0x1000554 ] };
+ key <LatW> { [ 0x1000578, 0x1000548 ] };
+ key <LatE> { [ 0x1000565, 0x1000535 ] };
+ key <LatR> { [ 0x100057c, 0x100054c ] };
+ key <LatT> { [ 0x100057f, 0x100054f ] };
+ key <LatY> { [ 0x1000568, 0x1000538 ] };
+ key <LatU> { [ 0x1000582, 0x1000552 ] };
+ key <LatI> { [ 0x100056b, 0x100053b ] };
+ key <LatO> { [ 0x1000585, 0x1000555 ] };
+ key <LatP> { [ 0x100057a, 0x100054a ] };
+ key <AD11> { [ 0x100056d, 0x100053d ] };
+ key <AD12> { [ 0x100056e, 0x100053e ] };
+
+ key <LatA> { [ 0x1000561, 0x1000531 ] };
+ key <LatS> { [ 0x100057d, 0x100054d ] };
+ key <LatD> { [ 0x1000564, 0x1000534 ] };
+ key <LatF> { [ 0x1000586, 0x1000556 ] };
+ key <LatG> { [ 0x1000563, 0x1000533 ] };
+ key <LatH> { [ 0x1000570, 0x1000540 ] };
+ key <LatJ> { [ 0x1000575, 0x1000545 ] };
+ key <LatK> { [ 0x100056f, 0x100053f ] };
+ key <LatL> { [ 0x100056c, 0x100053c ] };
+ key <AC10> { [ semicolon, 0x1000589 ] };
+ key <AC11> { [ 0x100055b, 0x1000022 ] };
+
+ key <LatZ> { [ 0x1000566, 0x1000536 ] };
+ key <LatX> { [ 0x1000572, 0x1000542 ] };
+ key <LatC> { [ 0x1000581, 0x1000551 ] };
+ key <LatV> { [ 0x100057e, 0x100054e ] };
+ key <LatB> { [ 0x1000562, 0x1000532 ] };
+ key <LatN> { [ 0x1000576, 0x1000546 ] };
+ key <LatM> { [ 0x1000574, 0x1000544 ] };
+ key <AB08> { [ 0x100002C, 0x10000AB ] };
+ key <AB09> { [ 0x1002024, 0x10000BB ] };
+ key <AB10> { [ 0x100002F, 0x100055e ] };
+
+};
diff --git a/data/xkbdata/symbols/pc/ara b/data/xkbdata/symbols/pc/ara
new file mode 100644
index 000000000..0b8be5897
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ara
@@ -0,0 +1,146 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/ar' file
+//
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Arabic";
+
+// NOTES:
+//
+// there is also combined shadda diacritis in AltGr position of simple
+// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan
+// should a third state be added to Group2 ?
+//
+
+ key <TLDE> { [ Arabic_thal, Arabic_shadda ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ Arabic_dad, Arabic_fatha ] };
+ key <AD02> { [ Arabic_sad, Arabic_fathatan ] };
+ key <AD03> { [ Arabic_theh, Arabic_damma ] };
+ key <AD04> { [ Arabic_qaf, Arabic_dammatan ] };
+ key <AD05> { [ Arabic_feh, 0x100fef9 ] };
+ key <AD06> { [ Arabic_ghain, Arabic_hamzaunderalef ] };
+ key <AD07> { [ Arabic_ain, grave ] };
+ key <AD08> { [ Arabic_ha, division ] };
+ key <AD09> { [ Arabic_khah, multiply ] };
+ key <AD10> { [ Arabic_hah, Arabic_semicolon ] };
+ key <AD11> { [ Arabic_jeem, braceleft ] };
+ key <AD12> { [ Arabic_dal, braceright ] };
+
+ key <AC01> { [ Arabic_sheen, backslash ] };
+ key <AC02> { [ Arabic_seen, S ] };
+ key <AC03> { [ Arabic_yeh, bracketleft ] };
+ key <AC04> { [ Arabic_beh, bracketright ] };
+ key <AC05> { [ Arabic_lam, 0x100fef7 ] };
+ key <AC06> { [ Arabic_alef, Arabic_hamzaonalef ] };
+ key <AC07> { [ Arabic_teh, Arabic_tatweel ] };
+ key <AC08> { [ Arabic_noon, Arabic_comma ] };
+ key <AC09> { [ Arabic_meem, slash ] };
+ key <AC10> { [ Arabic_kaf, colon ] };
+ key <AC11> { [ Arabic_tah, quotedbl ] };
+ key <BKSL> { [ less, greater ] };
+
+ key <LSGT> { [ bar, brokenbar ] };
+ key <AB01> { [Arabic_hamzaonyeh, asciitilde ] };
+ key <AB02> { [ Arabic_hamza, Arabic_sukun ] };
+ key <AB03> { [Arabic_hamzaonwaw, Arabic_kasra ] };
+ key <AB04> { [ Arabic_ra, Arabic_kasratan ] };
+ key <AB05> { [ 0x100fefb, 0x100fef5 ] };
+ key <AB06> { [Arabic_alefmaksura, Arabic_maddaonalef ] };
+ key <AB07> { [Arabic_tehmarbuta, apostrophe ] };
+ key <AB08> { [ Arabic_waw, comma ] };
+ key <AB09> { [ Arabic_zain, period ] };
+ key <AB10> { [ Arabic_zah, Arabic_question_mark ] };
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+ include "pc/ar(basic)"
+ name[Group1]= "Arabic - qwerty";
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty" {
+ include "pc/ar(basic)"
+ name[Group1]= "Arabic - azerty";
+ // the north african arabic keyboard differs from the middle east one
+ // by the numeric row; it follows French keyboard style
+ //
+ // PROBLEM: some chars are inaccessible: ! @ # $ % ^ *
+ // should they go elsewhere? replace " ' that are now in double ?
+ // also, dead_circumflex and dead_diaeresis from French keyboard
+ // as well as ugrave are missing, which questions the utility of the
+ // other accentuated latin letters. Maybe this is useful only with
+ // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ?
+
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [ eacute, 2 ] };
+ key <AE03> { [ quotedbl, 3 ] };
+ key <AE04> { [ apostrophe, 4 ] };
+ key <AE05> { [ parenleft, 5 ] };
+ key <AE06> { [ minus, 6 ] };
+ key <AE07> { [ egrave, 7 ] };
+ key <AE08> { [ underscore, 8 ] };
+ key <AE09> { [ ccedilla, 9 ] };
+ key <AE10> { [ agrave, 0 ] };
+ key <AE11> { [ parenright, degree ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "digits" {
+ include "pc/ar(basic)"
+ name[Group1]= "Arabic - digits";
+
+ // use arabic script digits
+
+ key <AE01> { [ 0x1000661, exclam ] };
+ key <AE02> { [ 0x1000662, at ] };
+ key <AE03> { [ 0x1000663, numbersign ] };
+ key <AE04> { [ 0x1000664, dollar ] };
+ key <AE05> { [ 0x1000665, percent ] };
+ key <AE06> { [ 0x1000666, asciicircum ] };
+ key <AE07> { [ 0x1000667, ampersand ] };
+ key <AE08> { [ 0x1000668, asterisk ] };
+ key <AE09> { [ 0x1000669, parenleft ] };
+ key <AE10> { [ 0x1000660, parenright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty_digits" {
+ include "pc/ar(digits)"
+ name[Group1]= "Arabic - qwerty/digits";
+};
+
+partial alphanumeric_keys
+xkb_symbols "azerty_digits" {
+ include "pc/ar(azerty)"
+ name[Group1]= "Arabic - azerty/digits";
+
+ key <AE01> { [ ampersand, 0x1000661 ] };
+ key <AE02> { [ eacute, 0x1000662 ] };
+ key <AE03> { [ quotedbl, 0x1000663 ] };
+ key <AE04> { [ apostrophe, 0x1000664 ] };
+ key <AE05> { [ parenleft, 0x1000665 ] };
+ key <AE06> { [ minus, 0x1000666 ] };
+ key <AE07> { [ egrave, 0x1000667 ] };
+ key <AE08> { [ underscore, 0x1000668 ] };
+ key <AE09> { [ ccedilla, 0x1000669 ] };
+ key <AE10> { [ agrave, 0x1000660 ] };
+};
+
diff --git a/data/xkbdata/symbols/pc/az b/data/xkbdata/symbols/pc/az
new file mode 100644
index 000000000..d7f7f5c7e
--- /dev/null
+++ b/data/xkbdata/symbols/pc/az
@@ -0,0 +1,94 @@
+// $XdotOrg$
+
+// based on:
+// symbols definition for a very simple Azerbaidjani keyboard layout.
+// 2001 - Pablo Saratxaga <pablo@mandrakesoft.com>
+
+partial default alphanumeric_keys
+xkb_symbols "latin" {
+
+ include "pc/us"
+
+ name[Group1]= "Azerbaijan";
+
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
+
+ key <AE03> { [ 3, numbersign, U2166 ] };
+ key <AE06> { [ 6, colon, EuroSign, periodcentered ] };
+ key <AE07> { [ 7, question ] };
+
+ key <AE08> { [ 8, asterisk, asciicircum, dead_circumflex ] };
+ key <AE11> { [ minus, underscore, hyphen, emdash ] };
+
+ key <AD02> { [ udiaeresis, Udiaeresis ] };
+ key <AD04> { [ r, R, registered ] };
+ key <AD08> { [ i, Iabovedot ] };
+ key <AD11> { [ odiaeresis, Odiaeresis, bracketleft, braceleft ] };
+ key <AD12> { [ gbreve, Gbreve, bracketright, braceright ] };
+
+ key <AC10> { [ idotless, I ] };
+ key <AC11> { [ schwa, SCHWA ] };
+
+ key <AB03> { [ c, C, copyright, division ] };
+ key <AB07> { [ m, M, periodcentered, currency ] };
+ key <AB08> { [ ccedilla, Ccedilla ] };
+ key <AB09> { [ scedilla, Scedilla ] };
+ key <AB10> { [ period, comma ] };
+ // End alphanumeric section
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cyrillic" {
+
+ name[Group1]= "Azerbaijan - Cyrillic";
+
+ key <AE02> {[ 2, quotedbl ] };
+ key <AE03> {[ 3, numbersign ] };
+ key <AE04> {[ 4, semicolon ] };
+ key <AE06> {[ 6, colon ] };
+ key <AE07> {[ 7, question ] };
+ key <AE08> {[ 8, asterisk, braceleft ] };
+ key <AE09> {[ 9, parenleft, bracketleft ] };
+ key <AE10> {[ 0, parenright, bracketright ] };
+ key <AE11> {[ minus, underscore, braceright ] };
+
+ key <AD01> {[ Cyrillic_je, Cyrillic_JE ] };
+ key <AD02> {[ Cyrillic_u_straight, Cyrillic_U_straight ] };
+ key <AD03> {[ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> {[ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> {[ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> {[ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> {[ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> {[ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> {[ Cyrillic_shha, Cyrillic_SHHA ] };
+ key <AD10> {[ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> {[ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> {[ Cyrillic_che_vertstroke, Cyrillic_CHE_vertstroke ] };
+
+ key <AC01> {[ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> {[ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> {[ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> {[ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> {[ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> {[ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> {[ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> {[ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> {[ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> {[ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> {[ Cyrillic_ka_vertstroke,Cyrillic_KA_vertstroke ] };
+
+ key <AB01> {[ Cyrillic_schwa, Cyrillic_SCHWA ] };
+ key <AB02> {[ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> {[ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> {[ Cyrillic_em, Cyrillic_EM ] };
+ key <AB05> {[ Cyrillic_i, Cyrillic_I ] };
+ key <AB06> {[ Cyrillic_te, Cyrillic_TE ] };
+ key <AB07> {[ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
+ key <AB08> {[ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> {[ Cyrillic_o_bar, Cyrillic_O_bar ] };
+ key <AB10> {[ period, comma ] };
+
+ // End alphanumeric section
+};
diff --git a/data/xkbdata/symbols/pc/ba b/data/xkbdata/symbols/pc/ba
new file mode 100644
index 000000000..38bc4b38a
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ba
@@ -0,0 +1,61 @@
+// $XdotOrg$
+// Bosnian keyboards
+// Amila Akagic, <bono@linux.org.ba>
+// Zadnja promjena: 07.05.2002.
+// $XFree86: xc/programs/xkbcomp/symbols/bs,v 1.1 2002/12/13 04:18:03 dawes Exp $
+// $XKeyboardConfig: xkbdesc/symbols/ba,v 1.3 2004/12/22 21:51:19 svu Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin"
+ // Alphanumeric section
+ name[Group1]= "Bosnia and Herzegovina";
+
+ key <TLDE> { [ dead_cedilla, dead_diaeresis ] };
+ key <AE01> { [ 1, exclam, asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl, dead_caron, caron ] };
+ key <AE03> { [ 3, numbersign, asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, dollar, dead_breve, breve ] };
+ key <AE05> { [ 5, percent, degree, dead_abovering ] };
+ key <AE06> { [ 6, ampersand, dead_ogonek, ogonek ] };
+ key <AE07> { [ 7, slash, quoteleft, dead_grave ] };
+ key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] };
+ key <AE09> { [ 9, parenright, dead_acute, quoteright ] };
+ key <AE10> { [ 0, equal, dead_doubleacute, doubleacute] };
+ key <AE11> { [ apostrophe, question, dead_diaeresis, diaeresis ] };
+ key <AE12> { [ plus, asterisk, dead_cedilla, cedilla ] };
+
+ key <AD01> { [ q, Q, backslash ] };
+ key <AD02> { [ w, W, bar ] };
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ scaron, Scaron, division ] };
+ key <AD12> { [ dstroke, Dstroke, multiply, dead_macron ] };
+ key <AC04> { [ f, F, bracketleft ] };
+ key <AC05> { [ g, G, bracketright] };
+ key <AC08> { [ k, K, lstroke ] };
+ key <AC09> { [ l, L, Lstroke ] };
+ key <AC10> { [ ccaron, Ccaron ] };
+ key <AC11> { [ cacute, Cacute, ssharp ] };
+
+ key <LSGT> { [ less, greater,bar ] };
+ key <AB01> { [ y, Y ] };
+ key <AB04> { [ v, V, at ] };
+ key <AB05> { [ b, B, braceleft ] };
+ key <AB06> { [ n, N, braceright ] };
+ key <AB07> { [ m, M, section ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon, periodcentered] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ zcaron, Zcaron, currency ] };
+
+ // End alphanumeric section
+
+ include "keypad(comma)"
+};
+
+
diff --git a/data/xkbdata/symbols/pc/bd b/data/xkbdata/symbols/pc/bd
new file mode 100644
index 000000000..e6c9eac79
--- /dev/null
+++ b/data/xkbdata/symbols/pc/bd
@@ -0,0 +1,15 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/bd,v 1.3 2005/08/01 00:01:54 svu Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+ include "pc/in(ben)"
+ name[Group1]= "Bangladesh";
+// TODO(svu): change iNSCRIPT to Jatiaya
+// according to http://ekushey.org/projects/shadhinota/national.html
+};
+
+xkb_symbols "probhat" {
+ include "pc/in(ben_probhat)"
+ name[Group1]= "Bangladesh - Probhat";
+};
diff --git a/data/xkbdata/symbols/pc/be b/data/xkbdata/symbols/pc/be
new file mode 100644
index 000000000..d881a0d89
--- /dev/null
+++ b/data/xkbdata/symbols/pc/be
@@ -0,0 +1,98 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/be' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/be,v 1.3 2003/04/12 10:53:48 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin"
+
+ name[Group1]="Belgium";
+
+ key <AE01> { [ ampersand, 1, bar, exclamdown ] };
+ key <AE02> { [ eacute, 2, at, oneeighth ] };
+ key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
+ key <AE04> { [apostrophe, 4, onequarter, dollar ] };
+ key <AE05> { [ parenleft, 5, onehalf, threeeighths ] };
+ key <AE06> { [ section, 6, asciicircum, fiveeighths ] };
+ key <AE07> { [ egrave, 7, braceleft, seveneighths ] };
+ key <AE08> { [ exclam, 8, bracketleft, trademark ] };
+ key <AE09> { [ ccedilla, 9, braceleft, plusminus ] };
+ key <AE10> { [ agrave, 0, braceright, degree ] };
+ key <AE11> { [parenright, degree, backslash, questiondown ] };
+ key <AE12> { [ minus, underscore, dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ a, A, at, Greek_OMEGA ] };
+ key <AD02> { [ z, Z, lstroke, Lstroke ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD11> { [dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] };
+ key <AD12> { [ dollar, asterisk, bracketright, dead_macron ] };
+
+ key <AC01> { [ q, Q, ae, AE ] };
+ key <AC10> { [ m, M, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ ugrave, percent, dead_acute, dead_caron ] };
+ key <TLDE> { [twosuperior, threesuperior, notsign, notsign ] };
+
+ key <BKSL> { [ mu, sterling, dead_grave, dead_breve ] };
+ key <AB01> { [ w, W, guillemotleft, less ] };
+ key <AB07> { [ comma, question, dead_cedilla, masculine ] };
+ key <AB08> { [ semicolon, period, horizconnector, multiply ] };
+ key <AB09> { [ colon, slash, periodcentered, division ] };
+ key <AB10> { [ equal, plus, dead_tilde, dead_abovedot] };
+ key <LSGT> { [ less, greater, backslash, backslash ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "iso-alternate" {
+ include "pc/be(basic)"
+ name[Group1]="Belgium - ISO Alternate";
+ key <AD01> { [ a, A, ae, AE ] };
+ key <AD02> { [ z, Z, guillemotleft, less ] };
+ key <AC01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AC10> { [ m, M, mu, masculine ] };
+ key <AB01> { [ w, W, lstroke, Lstroke ] };
+ key <AB07> { [ comma, question, dead_cedilla, dead_doubleacute ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ // Use the Sun dead keys
+
+ include "pc/be(basic)"
+ name[Group1]="Belgium - Sun dead keys";
+ key <AD11> { [SunFA_Circum, SunFA_Diaeresis, bracketleft, bracketleft] };
+ key <AC11> { [ ugrave, percent, SunFA_Acute, SunFA_Acute ] };
+ key <BKSL> { [ mu, sterling, SunFA_Grave, SunFA_Grave ] };
+ key <AB07> { [ comma, question, SunFA_Cedilla, SunFA_Cedilla] };
+ key <AB10> { [ equal, plus, SunFA_Tilde, SunFA_Tilde ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // Use the Sun dead keys
+
+ include "pc/be(sundeadkeys)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Eliminates dead keys from the basic Belgian layout
+
+ include "pc/be(basic)"
+ name[Group1]="Belgium - Eliminate dead keys";
+ key <AE12> { [ minus, underscore, cedilla, ogonek ] };
+ key <AD11> { [asciicircum, diaeresis, bracketleft, bracketleft] };
+ key <AD12> { [ dollar, asterisk, bracketright, macron ] };
+ key <AC10> { [ m, M, acute, doubleacute ] };
+ key <AC11> { [ ugrave, percent, quoteright, quoteright ] };
+ key <BKSL> { [ mu, sterling, quoteleft, quoteleft ] };
+ key <AB07> { [ comma, question, cedilla, masculine ] };
+ key <AB10> { [ equal, plus, asciitilde, asciitilde ] };
+};
diff --git a/data/xkbdata/symbols/pc/bg b/data/xkbdata/symbols/pc/bg
new file mode 100644
index 000000000..4480dec17
--- /dev/null
+++ b/data/xkbdata/symbols/pc/bg
@@ -0,0 +1,138 @@
+// $XdotOrg$
+// based on a keyboard map:
+//
+//////////////////////////////////////////////////////////////////////////
+// Copyright (C) 1999, 2000 by Anton Zinoviev <anton@lml.bas.bg>
+//
+// This software may be used, modified, copied, distributed, and sold,
+// in both source and binary form provided that the above copyright
+// and these terms are retained. Under no circumstances is the author
+// responsible for the proper functioning of this software, nor does
+// the author assume any responsibility for damages incurred with its
+// use.
+//
+//////////////////////////////////////////////////////////////////////////
+// Version 1.6r1
+//
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "bds" {
+// BDS is the Bulgarian Institute for Standardization
+
+ name[Group1]= "Bulgaria";
+
+ key <TLDE> { [ parenleft, parenright ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, question ] };
+ key <AE03> { [ 3, plus ] };
+ key <AE04> { [ 4, quotedbl ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, equal ] };
+ key <AE07> { [ 7, colon ] };
+ key <AE08> { [ 8, slash ] };
+ key <AE09> { [ 9, emdash ] };
+ key <AE10> { [ 0, numerosign ] };
+ key <AE11> { [ minus, I ] };
+ key <AE12> { [ period, V ] };
+
+ key <AD01> { [ comma, Cyrillic_yeru ] };
+ key <AD02> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AD05> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD06> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD07> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD08> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AD09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD12> { [ semicolon, section ] };
+
+ key <AC01> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AC02> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AC03> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC04> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC05> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC06> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AC07> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AC08> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AC09> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC10> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC11> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <BKSL> { [ apostrophe, Cyrillic_YERU ] };
+
+ key <AB01> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB02> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AB03> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <AB04> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AB05> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AB06> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AB07> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AB08> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AB09> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AB10> { [ Cyrillic_be, Cyrillic_BE ] };
+
+ // End alphanumeric section
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+
+ name[Group1]= "Bulgaria - Phonetic";
+
+ key <TLDE> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatY> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+ key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+
+ // End alphanumeric section
+
+};
diff --git a/data/xkbdata/symbols/pc/br b/data/xkbdata/symbols/pc/br
new file mode 100644
index 000000000..aaeb68cdc
--- /dev/null
+++ b/data/xkbdata/symbols/pc/br
@@ -0,0 +1,62 @@
+
+// based on
+// "a very simple Brasilian ABNT2 keybaord
+// by Ricardo Y. Igarashi (iga@that.com.br)
+// Adds suport for dead-keys in I18N applications
+// by Conectiva (http://www.conectiva.com.br)"
+//
+// $XdotOrg: xc/programs/xkbcomp/symbols/pc/br,v 1.4 2003/12/09 13:51:34 pascal Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/pc/br,v 1.3 2003/04/19 12:22:11 pascal Exp $
+
+xkb_symbols "abnt2" {
+
+ include "pc/latin"
+
+ name[Group1]="Brazil";
+
+ key <AE02> { [ 2, at, twosuperior, onehalf ] };
+ key <AE03> { [ 3, numbersign, threesuperior, threequarters ] };
+ key <AE04> { [ 4, dollar, sterling, onequarter ] };
+ key <AE05> { [ 5, percent, cent, threeeighths ] };
+ key <AE06> { [ 6, dead_diaeresis, notsign, diaeresis ] };
+ key <AE12> { [ equal, plus, section, dead_ogonek ] };
+
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD04> { [ r, R, registered, registered ] };
+ key <AD11> { [dead_acute, dead_grave, acute, grave ] };
+ key <AD12> { [bracketleft, braceleft, ordfeminine, dead_macron ] };
+
+ key <AC10> { [ ccedilla, Ccedilla, dead_acute, dead_doubleacute] };
+ key <AC11> { [dead_tilde, dead_circumflex, asciitilde, asciicircum ] };
+ key <AC12> { [bracketright, braceright, masculine, masculine ] };
+
+ key <TLDE> { [apostrophe, quotedbl, notsign, notsign ] };
+
+ key <BKSL> { [ backslash, bar, masculine, dead_breve ] };
+ key <AB03> { [ c, C, copyright, copyright ] };
+ key <AB07> { [ m, M, mu, mu ] };
+ key <AB10> { [ semicolon, colon, dead_belowdot, dead_abovedot ] };
+
+// ABNT-2 keyboard has this special key
+
+ key <AB11> { [ slash, question, degree, questiondown ] };
+
+ key <KPPT> { [ KP_Decimal ] };
+
+ include "keypad(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "pc/br(abnt2)" // for consistent naming
+ name[Group1]="Brazil - Eliminate dead keys";
+
+ key <AE06> { [ 6, diaeresis, notsign, notsign ] };
+ key <AD11> { [apostrophe, grave ] };
+ key <AC10> { [ ccedilla, Ccedilla, acute, doubleacute ] };
+ key <AC11> { [asciitilde, asciicircum ] };
+ key <AB10> { [ semicolon, colon, dead_belowdot, abovedot ] };
+};
diff --git a/data/xkbdata/symbols/pc/bt b/data/xkbdata/symbols/pc/bt
new file mode 100644
index 000000000..e52dd3a77
--- /dev/null
+++ b/data/xkbdata/symbols/pc/bt
@@ -0,0 +1,88 @@
+// $XdotOrg$
+//
+// Dzongkha / Tibetan layout for Bhutanese keyboard
+//
+/////////////////////////////////////////////////////////////////
+//
+// Based on the official layout for Dzongkha
+// approved by the Department of Information Technology &
+// Dzongkha Development Authority of the Government of Bhutan
+//
+// Copyright (C) 2004, Gregory Mokhin <mokhin@bog.msu.ru>
+// Layout map provided by Chris Fynn
+/////////////////////////////////////////////////////////////////
+// Version 0.97. Last modified: 09 Jan 2004
+/////////////////////////////////////////////////////////////////
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Bhutan";
+
+ key <TLDE> { [ U0F09, U0F0A, U0F6C, U0F6B ] };
+
+// numbers e.a.
+ key <AE01> { [ U0F21, U0F04, 1, exclam ] };
+ key <AE02> { [ U0F22, U0F05, 2, at ] };
+ key <AE03> { [ U0F23, U0F06, 3, numbersign ] };
+ key <AE04> { [ U0F24, U0F24, 4, dollar ] };
+ key <AE05> { [ U0F25, U0F25, 5, percent ] };
+ key <AE06> { [ U0F26, U0F08, 6, U0F01 ] };
+ key <AE07> { [ U0F27, U0F38, 7, ampersand ] };
+ key <AE08> { [ U0F28, U0F34, 8, asterisk ] };
+ key <AE09> { [ U0F29, U0F3C, 9, parenleft ] };
+ key <AE10> { [ U0F20, U0F3D, 0, parenright ] };
+ key <AE11> { [ U0F14, U0F7F, minus, underscore ] };
+ key <AE12> { [ U0F0D, U0F11, equal, plus ] };
+
+// consonants ( ka kha ga nga )
+ key <AD01> { [ U0F40, U0F90, U0F88 ] };
+ key <AD02> { [ U0F41, U0F91, U0F89 ] };
+ key <AD03> { [ U0F42, U0F92 ] };
+ key <AD04> { [ U0F44, U0F94, U0F83, U0F82 ] };
+
+// vowels ( i u e o )
+ key <AD05> { [ U0F72, U0F80, U0F1A ] };
+ key <AD06> { [ U0F74, U0F84, U0F1B ] };
+ key <AD07> { [ U0F7A, U0F7B, U0F1C ] };
+ key <AD08> { [ U0F7C, U0F7D, U0F1D, U0F17 ] };
+
+// consonants ( ca cha ja nya )
+ key <AD09> { [ U0F45, U0F95, U0F1E, U0F18 ] };
+ key <AD10> { [ U0F46, U0F96, U0F1F, U0F19 ] };
+ key <AD11> { [ U0F47, U0F97, bracketleft, U0F3E ] };
+ key <AD12> { [ U0F49, U0F99, bracketright, U0F3F ] };
+
+// consonants ( ta tha da na pa pha ba ma tsa tsha dza wa )
+ key <AC01> { [ U0F4F, U0F9F, U0F4A, U0F9A ] };
+ key <AC02> { [ U0F50, U0FA0, U0F4B, U0F9B ] };
+ key <AC03> { [ U0F51, U0FA1, U0F4C, U0F9C ] };
+ key <AC04> { [ U0F53, U0FA3, U0F4E, U0F9E ] };
+ key <AC05> { [ U0F54, U0FA4, U2039, U00AB ] };
+ key <AC06> { [ U0F55, U0FA5, U203A, U00BB ] };
+ key <AC07> { [ U0F56, U0FA6, U0F37, U0F35 ] };
+ key <AC08> { [ U0F58, U0FA8, U0F7E ] };
+ key <AC09> { [ U0F59, U0FA9, U0F39 ] };
+ key <AC10> { [ U0F5A, U0FAA, colon, semicolon ] };
+ key <AC11> { [ U0F5B, U0FAB, apostrophe, quotedbl ] };
+
+// TODO: BKSL and LSGT are from gb layout, are there any variants?
+ key <BKSL> { [ U0F5D, U0FAD, backslash, U0FBA ] };
+ key <LSGT> { [ U0F0D, U0F11, U0F10, U0F0F ] };
+
+// consonants ( zha za 'a ya ra la sha sa ha a )
+ key <AB01> { [ U0F5E, U0FAE, U0F13, U0F36 ] };
+ key <AB02> { [ U0F5F, U0FAF, U0FBE, U0FBF ] };
+ key <AB03> { [ U0F60, U0F71, U0F03, U0FB0 ] };
+ key <AB04> { [ U0F61, U0FB1, U0F12, U0FBB ] };
+ key <AB05> { [ U0F62, U0FB2, U0F6A, U0FBC ] };
+ key <AB06> { [ U0F63, U0FB3, U0F8A, U0F88 ] };
+ key <AB07> { [ U0F64, U0FB4, U0F65, U0FB5 ] };
+ key <AB08> { [ U0F66, U0FB6, comma, less ] };
+ key <AB09> { [ U0F67, U0FB7, period, greater ] };
+ key <AB10> { [ U0F68, U0FB8, slash, question ] };
+
+// space
+ key <SPCE> { [ U0F0B, space, U0F0C, U00A0 ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/data/xkbdata/symbols/pc/by b/data/xkbdata/symbols/pc/by
new file mode 100644
index 000000000..f73fae611
--- /dev/null
+++ b/data/xkbdata/symbols/pc/by
@@ -0,0 +1,76 @@
+// $XdotOrg$
+// based on
+// belarusian standard keyboard
+// Alexander Mikhailian <mikhailian@altern.org>
+//
+//
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Belarus";
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <LSGT> { [ bar, brokenbar ] };
+
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Byelorussian_shortu, Byelorussian_SHORTU ]};
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [ apostrophe, apostrophe ] };
+
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB05> { [ Ukrainian_i, Ukrainian_I ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB10> { [ period, comma ] };
+
+ key <BKSL> { [ slash, bar ] };
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "winkeys" {
+ include "pc/by(basic)"
+ name[Group1]= "Belarus - Winkeys";
+ key <AE04> { [ 4, semicolon ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AB10> { [ period, comma ] };
+ key <BKSL> { [ slash, bar ] };
+};
diff --git a/data/xkbdata/symbols/pc/ca b/data/xkbdata/symbols/pc/ca
new file mode 100644
index 000000000..809d22ff3
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ca
@@ -0,0 +1,331 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/ca,v 1.10 2005/07/31 00:28:39 svu Exp $
+
+default partial
+xkb_symbols "fr" {
+ name[Group1] = "Canada";
+
+ key <TLDE> { [ numbersign, bar, backslash ] };
+ key <AE01> { [ 1, exclam, plusminus ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, slash, sterling ] };
+ key <AE04> { [ 4, dollar, cent ] };
+ key <AE05> { [ 5, percent, currency ] };
+ key <AE06> { [ 6, question, notsign ] };
+ key <AE07> { [ 7, ampersand, brokenbar ] };
+ key <AE08> { [ 8, asterisk, twosuperior ] };
+ key <AE09> { [ 9, parenleft, threesuperior ] };
+ key <AE10> { [ 0, parenright, onequarter ] };
+ key <AE11> { [ minus, underscore, onehalf ] };
+ key <AE12> { [ equal, plus, threequarters ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O, section ] };
+ key <AD10> { [ p, P, paragraph ] };
+ key <AD11> { [dead_circumflex, dead_circumflex, bracketleft ] };
+ key <AD12> { [ dead_cedilla, dead_diaeresis, bracketright ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon, asciitilde ] };
+ key <AC11> { [dead_grave, dead_grave, braceleft ] };
+ key <BKSL> { [ less, greater, braceright ] };
+
+ key <LSGT> { [guillemotleft, guillemotright, degree] };
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ comma, apostrophe, macron ] };
+ key <AB09> { [ period, period, hyphen ] };
+ key <AB10> { [ eacute, Eacute, dead_acute ] };
+
+ key <SPCE> { [ space, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
+
+xkb_symbols "fr-dvorak" {
+ name[Group1] = "Canada - French Dvorak";
+
+ key <TLDE> { [ numbersign, bar, backslash ] };
+ key <AE01> { [ 1, exclam, plusminus ] };
+ key <AE02> { [ 2, quotedbl, at ] };
+ key <AE03> { [ 3, slash, sterling ] };
+ key <AE04> { [ 4, dollar, cent ] };
+ key <AE05> { [ 5, percent, currency ] };
+ key <AE06> { [ 6, question, notsign ] };
+ key <AE07> { [ 7, ampersand, brokenbar ] };
+ key <AE08> { [ 8, asterisk, twosuperior ] };
+ key <AE09> { [ 9, parenleft, threesuperior ] };
+ key <AE10> { [ 0, parenright, onequarter ] };
+ key <AE11> { [dead_circumflex, dead_circumflex, bracketleft ] };
+ key <AE12> { [ dead_cedilla, dead_diaeresis, bracketright ] };
+
+ key <AD01> { [dead_grave, dead_grave, braceleft ] };
+ key <AD02> { [ comma, apostrophe, macron ] };
+ key <AD03> { [ period, period, hyphen ] };
+ key <AD04> { [ p, P, paragraph ] };
+ key <AD05> { [ y, Y ] };
+ key <AD06> { [ f, F ] };
+ key <AD07> { [ g, G ] };
+ key <AD08> { [ c, C ] };
+ key <AD09> { [ r, R ] };
+ key <AD10> { [ l, L ] };
+ key <AD11> { [ eacute, Eacute, dead_acute ] };
+ key <AD12> { [ equal, plus, threequarters ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ o, O, section ] };
+ key <AC03> { [ e, E ] };
+ key <AC04> { [ u, U ] };
+ key <AC05> { [ i, I ] };
+ key <AC06> { [ d, D ] };
+ key <AC07> { [ h, H ] };
+ key <AC08> { [ t, T ] };
+ key <AC09> { [ n, N ] };
+ key <AC10> { [ s, S ] };
+ key <AC11> { [ minus, underscore, onehalf ] };
+ key <BKSL> { [ less, greater, braceright ] };
+
+ key <LSGT> { [guillemotleft, guillemotright, degree] };
+ key <AB01> { [ semicolon, colon, asciitilde ] };
+ key <AB02> { [ q, Q ] };
+ key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K ] };
+ key <AB05> { [ x, X ] };
+ key <AB06> { [ b, B ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB08> { [ w, W ] };
+ key <AB09> { [ v, V ] };
+ key <AB10> { [ z, Z ] };
+
+ key <SPCE> { [ space, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial
+xkb_symbols "fr-legacy" {
+
+ name[Group1] = "Canada - French (legacy)";
+
+ include "pc/ca(fr)"
+
+ key <TLDE> { [ degree, degree, notsign ] };
+ key <AE01> { [ 1, exclam, onesuperior ] };
+
+ key <AE03> { [ 3, numbersign, threesuperior ] };
+ key <AE04> { [ 4, dollar, onequarter ] };
+ key <AE05> { [ 5, percent, onehalf ] };
+ key <AE06> { [ 6, question, threequarters ] };
+ key <AE07> { [ 7, ampersand, braceleft ] };
+ key <AE08> { [ 8, asterisk, bracketleft ] };
+ key <AE09> { [ 9, parenleft, bracketright, plusminus ] };
+ key <AE10> { [ 0, parenright, braceright ] };
+ key <AE11> { [ minus, underscore, bar, questiondown] };
+ key <AE12> { [ equal, plus, dead_cedilla ] };
+
+ key <AD04> { [ r, R, paragraph, registered ] };
+ key <AD06> { [ y, Y, yen ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P, thorn, THORN ] };
+ key <AD11> { [dead_circumflex, dead_circumflex, degree ] };
+ key <AD12> { [ ccedilla, Ccedilla, dead_tilde, dead_diaeresis ] };
+
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, ordfeminine ] };
+ key <AC10> { [ semicolon, colon, dead_acute, dead_acute ] };
+ key <AC11> { [ egrave, Egrave ] };
+ key <BKSL> { [ agrave, Agrave, dead_grave ] };
+
+ key <LSGT> { [ ugrave, Ugrave, backslash, bar ] };
+ key <AB01> { [ z, Z, guillemotleft ] };
+ key <AB02> { [ x, X, guillemotright ] };
+ key <AB03> { [ c, C, cent, copyright ] };
+ key <AB07> { [ m, M, mu, masculine ] };
+ key <AB08> { [ comma, apostrophe, less ] };
+ key <AB09> { [ period, period, greater ] };
+ key <AB10> { [ eacute, Eacute, slash ] };
+};
+
+partial
+xkb_symbols "multi" {
+
+ name[Group1] = "Canada - Multilingual";
+
+ include "pc/ca(fr)"
+
+ key <TLDE> { [ slash, backslash, bar ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, question ] };
+ key <AE07> { [ 7, ampersand, braceleft ] };
+ key <AE08> { [ 8, asterisk, braceright ] };
+ key <AE09> { [ 9, parenleft, bracketleft ] };
+ key <AE10> { [ 0, parenright, bracketright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus, notsign ] };
+
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [dead_circumflex, dead_diaeresis, dead_grave ] };
+ key <AD12> { [ ccedilla, Ccedilla, asciitilde ] };
+
+ key <AC10> { [ semicolon, colon, degree ] };
+ key <AC11> { [ egrave, Egrave ] };
+ key <BKSL> { [ agrave, Agrave ] };
+
+ key <LSGT> { [ ugrave, Ugrave ] };
+ key <AB01> { [ z, Z, guillemotleft ] };
+ key <AB02> { [ x, X, guillemotright ] };
+ key <AB08> { [ comma, apostrophe, less ] };
+ key <AB09> { [ period, quotedbl, greater ] };
+ key <AB10> { [ eacute, Eacute ] };
+};
+
+partial
+xkb_symbols "multi-2gr" {
+
+ name[Group1] = "Canada - Multilingual, second part";
+
+ key <TLDE> { [ VoidSymbol, hyphen ] };
+ key <AE01> { [ onesuperior, exclamdown ] };
+ key <AE02> { [ twosuperior, VoidSymbol ] };
+ key <AE03> { [ threesuperior, sterling ] };
+ key <AE04> { [ onequarter, currency ] };
+ key <AE05> { [ onehalf,threeeighths ] };
+ key <AE06> { [ threequarters, fiveeighths ] };
+ key <AE07> { [ VoidSymbol,seveneighths ] };
+ key <AE08> { [ VoidSymbol, trademark ] };
+ key <AE09> { [ VoidSymbol, plusminus ] };
+
+ key <AE11> { [ VoidSymbol, questiondown] };
+ key <AE12> { [ dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ VoidSymbol, Greek_OMEGA ] };
+ key <AD02> { [ lstroke, Lstroke ] };
+ key <AD03> { [ oe, OE ] };
+ key <AD04> { [ paragraph, registered ] };
+ key <AD05> { [ tslash, Tslash ] };
+ key <AD06> { [ leftarrow, yen ] };
+ key <AD07> { [ downarrow, uparrow ] };
+ key <AD08> { [ rightarrow, idotless ] };
+ key <AD09> { [ oslash, Ooblique ] };
+ key <AD10> { [ thorn, THORN ] };
+ key <AD11> { [ VoidSymbol, dead_abovering ] };
+ key <AD12> { [ dead_tilde, dead_macron ] };
+
+ key <AC01> { [ ae, AE ] };
+ key <AC02> { [ ssharp, section ] };
+ key <AC03> { [ eth, ETH ] };
+ key <AC04> { [ VoidSymbol, ordfeminine ] };
+ key <AC05> { [ eng, ENG ] };
+ key <AC06> { [ hstroke, Hstroke ] };
+ key <AC07> { [ U0133, U0132 ] };
+ key <AC08> { [ kra, VoidSymbol ] };
+ key <AC09> { [ U0140, U013F ] };
+ key <AC10> { [ dead_acute, dead_doubleacute ] };
+ key <AC11> { [ VoidSymbol, dead_caron ] };
+ key <BKSL> { [ VoidSymbol, dead_breve ] };
+
+
+ key <LSGT> { [ VoidSymbol, brokenbar ] };
+
+ key <AB03> { [ cent, copyright ] };
+ key <AB04> { [ leftdoublequotemark, leftsinglequotemark ] };
+ key <AB05> { [ rightdoublequotemark, rightsinglequotemark ] };
+ key <AB06> { [ U0149, U266A ] };
+ key <AB07> { [ mu, masculine ] };
+ key <AB08> { [ Greek_horizbar, multiply ] };
+ key <AB09> { [ periodcentered, division ] };
+ key <AB10> { [ VoidSymbol, dead_abovedot ] };
+
+};
+
+// based on
+// Inuktitut keyboard for X11
+// written by Pablo Saratxaga <pablo@mandrakesoft.com>
+
+alphanumeric_keys
+xkb_symbols "ike" {
+
+ name[Group1]= "Canada - Inuktitut";
+
+ key <AE01> { [ 0x01001595, 1 ] };
+ key <AE02> { [ 0x01001449, 2 ] };
+ key <AE03> { [ 0x01001550, 3 ] };
+ key <AE04> { [ 0x01001483, 4 ] };
+ key <AE05> { [ 0x01001466, 5 ] };
+ key <AE06> { [ 0x01001585, 6 ] };
+ key <AE07> { [ 0x010014bb, 7 ] };
+ key <AE08> { [ 0x010014d0, 8 ] };
+ key <AE09> { [ 0x010014ea, 9 ] };
+ key <AE10> { [ 0x0100153e, 0 ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ 0x0100155d, equal ] };
+
+ key <AD01> { [ 0x0100158f, 0x0100148b ] };
+ key <AD02> { [ 0x01001403, 0x01001431 ] };
+ key <AD03> { [ 0x0100157f, 0x01001546 ] };
+ key <AD04> { [ 0x0100146d, 0x01001596 ] };
+ key <AD05> { [ 0x0100144e, 0x01001671 ] };
+ key <AD06> { [ 0x010014ef, 0x01001673 ] };
+ key <AD07> { [ 0x010014a5, 0x01001675 ] };
+ key <AD08> { [ 0x010014c2, 0x010015a4 ] };
+ key <AD09> { [ 0x010014d5, 0x010015a0 ] };
+ key <AD10> { [ 0x01001528, 0x010015a6 ] };
+ key <AD11> { [ 0x010014a1, 0x01001505 ] };
+ key <AD12> { [ dead_abovedot, 0x0100141e] };
+
+ key <AC01> { [ 0x01001591, 0x0100148d ] };
+ key <AC02> { [ 0x01001405, 0x01001433 ] };
+ key <AC03> { [ 0x01001581, 0x01001548 ] };
+ key <AC04> { [ 0x0100146f, 0x01001555 ] };
+ key <AC05> { [ 0x01001450, parenleft ] };
+ key <AC06> { [ 0x010014f1, parenright ] };
+ key <AC07> { [ 0x010014a7, 0x0100152a ] };
+ key <AC08> { [ 0x010014c4, 0x01001557 ] };
+ key <AC09> { [ 0x010014d7, 0x010015a2 ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+
+ key <AB01> { [ 0x01001593, 0x01001490 ] };
+ key <AB02> { [ 0x0100140a, 0x01001438 ] };
+ key <AB03> { [ 0x01001583, 0x0100154b ] };
+ key <AB04> { [ 0x01001472, question ] };
+ key <AB05> { [ 0x01001455, 0x0100157c ] };
+ key <AB06> { [ 0x010014f4, 0x010014c7 ] };
+ key <AB07> { [ 0x010014aa, 0x010014da ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ 0x0100152d, 0x01001559 ] };
+
+ key <TLDE> { [ 0x0100157b, 0x01001575 ] };
+ key <LSGT> { [ 0x01001579, 0x01001577 ] };
+ key <BKSL> { [ backslash, bar ] };
+
+// End alphanumeric section
+};
diff --git a/data/xkbdata/symbols/pc/ch b/data/xkbdata/symbols/pc/ch
new file mode 100644
index 000000000..fabc50b3a
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ch
@@ -0,0 +1,123 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/ch,v 1.8 2005/01/16 02:18:20 svu Exp $
+
+// $Xorg: ch,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/ch,v 3.6 2002/11/25 14:05:06 eich Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin"
+
+ // Alphanumeric section
+ name[Group1]= "Switzerland";
+ key <TLDE> { [ section, degree ] };
+ key <AE01> { [ 1, plus, bar, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE03> { [ 3, asterisk, numbersign ] };
+ key <AE04> { [ 4, ccedilla ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, ampersand, notsign ] };
+ key <AE07> { [ 7, slash, brokenbar ] };
+ key <AE08> { [ 8, parenleft, cent ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ apostrophe, question, dead_acute ] };
+ key <AE12> { [ dead_circumflex, dead_grave, dead_tilde ] };
+
+ key <AD03> { [ e, E, EuroSign ] };
+ key <AD06> { [ z, Z ] };
+ key <AD11> { [ udiaeresis, egrave, bracketleft ] };
+ key <AD12> { [ dead_diaeresis, exclam, bracketright ] };
+
+ key <AC10> { [ odiaeresis, eacute ] };
+ key <AC11> { [ adiaeresis, agrave, braceleft ] };
+ key <BKSL> { [ dollar, sterling, braceright ] };
+
+ key <LSGT> { [ less, greater, backslash, brokenbar ] };
+ key <AB01> { [ y, Y ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "de" {
+ include "pc/ch(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "de_Sundeadkeys" {
+ // modify the basic Swiss German layout to use Sun dead keys
+ include "pc/ch(basic)"
+ key <AE11> { [ apostrophe, question, SunFA_Acute ] };
+ key <AE12> { [ SunFA_Circum, SunFA_Grave, SunFA_Tilde ] };
+ key <AD12> { [ SunFA_Diaeresis, exclam, bracketright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "de_sundeadkeys" {
+ include "pc/ch(de_Sundeadkeys)"
+ name[Group1]= "Switzerland - German, Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "de_nodeadkeys" {
+ // modify the basic Swiss German layout not to have any dead keys
+ include "pc/ch(basic)"
+ name[Group1]= "Switzerland - German, eliminate dead keys";
+ key <AE11> { [ apostrophe, question, acute ] };
+ key <AE12> { [ asciicircum, grave, asciitilde ] };
+ key <AD12> { [ diaeresis, exclam, bracketright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Swiss/French keybaord
+
+ include "pc/ch(basic)"
+ name[Group1]= "Switzerland - French";
+
+ override key <AD11> {
+ [ egrave, udiaeresis, bracketleft ]
+ };
+ override key <AC10> {
+ [ eacute, odiaeresis ]
+ };
+ override key <AC11> {
+ [ agrave, adiaeresis, braceleft ]
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr_Sundeadkeys" {
+ // modify the basic Swiss French layout to use Sun dead keys
+ include "pc/ch(fr)"
+ key <AE11> { [ apostrophe, question, SunFA_Acute ] };
+ key <AE12> { [ SunFA_Circum, SunFA_Grave, SunFA_Tilde ] };
+ key <AD12> { [ SunFA_Diaeresis, exclam, bracketright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr_sundeadkeys" {
+ include "pc/ch(fr_Sundeadkeys)"
+ name[Group1]= "Switzerland - French, Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "fr_nodeadkeys" {
+ // modify the basic Swiss French layout not to have any dead keys
+ include "pc/ch(fr)"
+ name[Group1]= "Switzerland - French, eliminate dead keys";
+ key <AE11> { [ apostrophe, question, acute ] };
+ key <AE12> { [ asciicircum, grave, asciitilde ] };
+ key <AD12> { [ diaeresis, exclam, bracketright ] };
+};
diff --git a/data/xkbdata/symbols/pc/cz b/data/xkbdata/symbols/pc/cz
new file mode 100644
index 000000000..5c0267f3a
--- /dev/null
+++ b/data/xkbdata/symbols/pc/cz
@@ -0,0 +1,108 @@
+// $XdotOrg$
+// $XFree86: xc/programs/xkbcomp/symbols/pc/cz,v 1.2 2002/11/22 04:02:22 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // This layout conforms to a new cz compromise standard designed
+ // to satisfy most unix, windows and mac users.
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "pc/latin"
+
+ name[Group1]= "Czech";
+
+ key <TLDE> { [ semicolon, dead_abovering, grave, asciitilde ] };
+ key <AE01> { [ plus, 1, exclam, dead_tilde ] };
+ key <AE02> { [ ecaron, 2, at, dead_caron ] };
+ key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
+ key <AE05> { [ rcaron, 5, percent, dead_abovering ] };
+ key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ yacute, 7, ampersand, dead_grave ] };
+ key <AE08> { [ aacute, 8, asterisk, dead_abovedot] };
+ key <AE09> { [ iacute, 9, braceleft, dead_acute ] };
+ key <AE10> { [ eacute, 0, braceright, dead_doubleacute ] };
+ key <AE11> { [ equal, percent, NoSymbol, dead_diaeresis ] };
+ key <AE12> { [dead_acute, dead_caron, dead_macron, dead_cedilla ] };
+
+ key <AD01> { [ q, Q, backslash, NoSymbol ] };
+ key <AD02> { [ w, W, bar, Nosymbol ] };
+ key <AD03> { [ e, E, EuroSign, NoSymbol ] };
+ key <AD04> { [ r, R, NoSymbol, NoSymbol ] };
+ key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
+ key <AD06> { [ z, Z, NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
+ key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
+ key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
+
+ key <AD11> { [ uacute, slash, bracketleft, division ] };
+ key <AD12> { [parenright, parenleft, bracketright, multiply ] };
+
+ key <AC01> { [ a, A, asciitilde, NoSymbol ] };
+ key <AC02> { [ s, S, dstroke, NoSymbol ] };
+ key <AC03> { [ d, D, Dstroke, NoSymbol ] };
+ key <AC04> { [ f, F, bracketleft, NoSymbol ] };
+ key <AC05> { [ g, G, bracketright, NoSymbol ] };
+ key <AC06> { [ h, H, grave, NoSymbol ] };
+ key <AC07> { [ j, J, apostrophe, NoSymbol ] };
+ key <AC08> { [ k, K, lstroke, NoSymbol ] };
+ key <AC09> { [ l, L, Lstroke, NoSymbol ] };
+
+ key <AC10> { [ uring, quotedbl, dollar, NoSymbol ] };
+ key <AC11> { [ section, exclam, apostrophe, ssharp ] };
+ key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
+ key <BKSL> { [dead_diaeresis, apostrophe, backslash, bar ] };
+
+ key <LSGT> { [ backslash, bar, slash, NoSymbol ] };
+ key <AB01> { [ y, Y, degree, NoSymbol ] };
+ key <AB02> { [ x, X, numbersign, Nosymbol ] };
+ key <AB03> { [ c, C, ampersand, NoSymbol ] };
+ key <AB04> { [ v, V, at, NoSymbol ] };
+ key <AB05> { [ b, B, braceleft, NoSymbol ] };
+ key <AB06> { [ n, N, braceright, NoSymbol ] };
+ key <AB07> { [ m, M, asciicircum, NoSymbol ] };
+ key <AB08> { [ comma, question, less, NoSymbol ] };
+ key <AB09> { [ period, colon, greater, NoSymbol ] };
+ key <AB10> { [ minus, underscore, asterisk, NoSymbol ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ key <KPDL> { type[Group1]="FOUR_LEVEL_KEYPAD",
+ [ KP_Delete, comma, KP_Delete, KP_Decimal ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "bksl" {
+ include "cz(basic)"
+ name[Group1]= "Czechia - With <\|> key";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+
+ // This layout should work exactly as a cz with the exception
+ // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "cz(basic)"
+ name[Group1]= "Czechia - qwerty";
+
+ key <AB01> { [ z, Z, degree, NoSymbol ] };
+ key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
+};
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "qwerty_bksl" {
+ include "cz(qwerty)"
+
+ name[Group1]= "Czechia - qwerty, extended Backslash";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
diff --git a/data/xkbdata/symbols/pc/de b/data/xkbdata/symbols/pc/de
new file mode 100644
index 000000000..4be57932d
--- /dev/null
+++ b/data/xkbdata/symbols/pc/de
@@ -0,0 +1,172 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/de' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/de,v 1.6 2003/09/08 13:12:51 pascal Exp $
+
+default
+xkb_symbols "basic" {
+
+ include "pc/latin(type4)"
+
+ name[Group1]="Germany";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE03> { [ 3, section, threesuperior, sterling ] };
+ key <AE04> { [ 4, dollar, onequarter, currency ] };
+ key <AE11> { [ ssharp, question, backslash, questiondown ] };
+ key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
+
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD06> { [ z, Z, leftarrow, yen ] };
+ key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
+
+ key <AC10> { [odiaeresis, Odiaeresis, dead_doubleacute, dead_doubleacute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_caron] };
+ key <TLDE> { [dead_circumflex, degree, notsign, notsign ] };
+
+ key <BKSL> { [numbersign, apostrophe, dead_grave, dead_breve ] };
+ key <AB01> { [ y, Y, guillemotleft, less ] };
+
+ include "keypad(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // modify the basic German layout to not have any dead keys
+
+ include "pc/de(basic)"
+ name[Group1]="Germany - Eliminate dead keys";
+
+ key <TLDE> { [asciicircum, degree, notsign, notsign ] };
+ key <AE12> { [ acute, grave, cedilla, cedilla ] };
+ key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
+ key <AD12> { [ plus, asterisk, asciitilde, macron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, doubleacute, doubleacute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
+ key <BKSL> { [numbersign, apostrophe, grave, grave ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "deadgraveacute" {
+ // modify the basic German layout to have only acute and grave
+ // as dead keys (tilde and circumflex are needed as spacing characters
+ // in many programming languages)
+
+ include "pc/de(basic)"
+ name[Group1]="Germany - Dead grave acute";
+
+ key <TLDE> { [asciicircum, degree, notsign, notsign ] };
+ key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
+ key <BKSL> { [numbersign, apostrophe, grave, grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "deadacute" {
+ // modify the basic German layout to have only acute as
+ // dead keys (ASCII grave, tilde and circumflex are needed as
+ // spacing characters in many programming languages and text formatters)
+
+ include "pc/de(deadgraveacute)"
+
+ name[Group1]="Germany - Dead acute";
+
+ key <AE12> { [dead_acute, grave, dead_cedilla, dead_ogonek ] };
+ key <BKSL> { [numbersign, apostrophe, dead_grave, dead_grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "ro" {
+ // add romanian-specific letters to the basic German layout.
+ // Romanian symbols are accessible with combination of <AltGr> and
+ // 'a', 's', 't', 'i', 'ä (&auml)' (+<Shift> for capital letters).
+ // To view romanian-specific symbols, add "export LC_CTYPE=ro_RO"
+ // or "export LC_CTYPE=de_DE.utf8" to your .profile.
+
+ include "pc/de(basic)"
+
+ name[Group1]="Germany - Romanian keyboard with German letters";
+
+ key <AD05> { [ t, T, tcedilla, Tcedilla ] };
+ key <AD08> { [ i, I, icircumflex, Icircumflex ] };
+ key <AC01> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "ro_nodeadkeys" {
+ // add romanian-specific letters to the German nodeadkeys layout.
+ // Read the comment for de_ro !
+
+ include "pc/de(nodeadkeys)"
+ name[Group1]="Germany - Romanian keyboard with German letters, eliminate dead keys";
+
+ key <AD05> { [ t, T, tcedilla, Tcedilla ] };
+ key <AD08> { [ i, I, icircumflex, Icircumflex ] };
+ key <AC01> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
+};
+
+// German Dvorak keymap by Thorsten Staerk (www.staerk.de/thorsten)
+// Have acute and grave as dead keys, tilde and circumflex alive as they are needed
+// in many programming languages.
+// to use this keymap, use a 105-key-keyboard and the command setxkbmap -model pc105 -layout dvorak -variant de
+// source: http://www-lehre.informatik.uni-osnabrueck.de/~rfreund/dvorak.php
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "pc/us(dvorak)"
+
+ name[Group1]="Germany - Dvorak";
+
+ key <TLDE> { [ asciicircum, degree ] };
+
+ key <AE01> { [ 1, exclam, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, twosuperior ] };
+ key <AE03> { [ 3, section, threesuperior ] };
+ key <AE04> { [ 4, dollar, bar ] };
+ key <AE05> { [ 5, percent, bar ] };
+ key <AE06> { [ 6, ampersand, brokenbar ] };
+ key <AE07> { [ 7, slash, braceleft ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, asterisk, asciitilde ] };
+ key <AE12> { [ less, greater, dead_grave ] };
+
+ key <AD01> { [ udiaeresis, Udiaeresis, at ] };
+ key <AD02> { [ comma, semicolon, dead_diaresis ] };
+ key <AD03> { [ period, colon ] };
+ key <AD08> { [ c, C, copyright, Cacute ] };
+ key <AD09> { [ t, T, trademark ] };
+ key <AD10> { [ z, Z, zabovedot, Zabovedot ] };
+ key <AD11> { [ question, ssharp ] };
+ key <AD12> { [ slash, backslash, dead_acute ] };
+
+ key <AC01> { [ a, A, at, aogonek ] };
+ key <AC02> { [ o, O, oacute, Oacute ] };
+ key <AC03> { [ e, E, EuroSign, eogonek ] };
+ key <AC04> { [ i, I ] };
+ key <AC05> { [ u, U ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ d, D ] };
+ key <AC08> { [ r, R, registered ] };
+ key <AC09> { [ n, N, nacute, Nacute ] };
+ key <AC10> { [ s, S, sacute, Sacute] };
+ key <AC11> { [ l, L, lstroke, Lstroke ] };
+
+ key <AB01> { [ odiaeresis, Odiaeresis ] };
+ key <AB02> { [ q, Q, at ] };
+ key <AB07> { [ m, M, mu ] };
+ key <AB10> { [ numbersign, apostrophe ] };
+
+ key <BKSL> { [ minus, underscore, hyphen, diaeresis] };
+
+ key <LSGT> { [ adiaeresis, Adiaeresis, bar ] };
+
+};
diff --git a/data/xkbdata/symbols/pc/dk b/data/xkbdata/symbols/pc/dk
new file mode 100644
index 000000000..e9c99304f
--- /dev/null
+++ b/data/xkbdata/symbols/pc/dk
@@ -0,0 +1,46 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/dk' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/dk,v 1.3 2002/12/19 01:07:56 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type2)"
+
+ name[Group1]="Denmark";
+
+ key <AE11> { [ plus, question, plusminus, questiondown ] };
+ key <AE12> { [dead_acute, dead_grave, bar, brokenbar ] };
+
+
+ key <AC10> { [ ae, AE, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ oslash, Ooblique, dead_circumflex, dead_caron ] };
+ key <TLDE> { [ onehalf, section, threequarters, paragraph ] };
+
+ key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] };
+
+ key <LSGT> { [ less, greater, backslash, notsign ] };
+
+ include "keypad(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "pc/dk(basic)"
+
+ name[Group1]="Denmark - Eliminate dead keys";
+
+ key <AE12> { [ acute, grave, bar, ogonek ] };
+ key <AD11> { [ aring, Aring, diaeresis, degree ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
+ key <AC10> { [ ae, AE, acute, doubleacute ] };
+ key <AC11> { [ oslash, Ooblique, asciicircum, caron ] };
+ key <BKSL> { [apostrophe, asterisk, doubleacute, multiply ] };
+ key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, abovedot ] };
+
+};
diff --git a/data/xkbdata/symbols/pc/ee b/data/xkbdata/symbols/pc/ee
new file mode 100644
index 000000000..fa2fe4588
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ee
@@ -0,0 +1,56 @@
+// $XdotOrg$
+// based on
+// Estonian XKB-keymap by Ville Hallik <ville@linux.ee>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/ee,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Estonian keyboard
+ // This layout conforms to both EVS8:1993 and EVS8:2000 standards
+
+ include "pc/latin(type4)"
+
+ name[Group1]="Estonia";
+
+ key <AE03> { [ 3, numbersign, sterling, sterling ] };
+ key <AE04> { [ 4, currency, dollar, dollar ] };
+ key <AE11> { [ plus, question, backslash, questiondown ] };
+ key <AE12> { [dead_acute, dead_grave, grave, apostrophe ] };
+
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ otilde, Otilde, section, dead_macron ] };
+
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, dead_acute, dead_doubleacute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, asciicircum, dead_caron ] };
+ key <TLDE> { [dead_caron, dead_tilde, notsign, notsign ] };
+
+ key <BKSL> { [apostrophe, asterisk, onehalf, dead_breve ] };
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB08> { [ comma, semicolon, less, multiply ] };
+ key <AB09> { [ period, colon, greater, division ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Estonian layout to eliminate all dead keys
+
+ include "pc/ee(basic)"
+ name[Group1]="Estonia - Eliminate dead keys";
+
+ key <TLDE> { [asciicircum,asciitilde ] };
+ key <AE12> { [apostrophe, grave ] };
+ key <AD11> { [udiaeresis, Udiaeresis, diaeresis, degree ] };
+ key <AD12> { [ otilde, Otilde, section, macron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, acute, doubleacute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, asciicircum, caron ] };
+ key <BKSL> { [apostrophe, asterisk, onehalf, breve ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
diff --git a/data/xkbdata/symbols/pc/es b/data/xkbdata/symbols/pc/es
new file mode 100644
index 000000000..cac04a780
--- /dev/null
+++ b/data/xkbdata/symbols/pc/es
@@ -0,0 +1,125 @@
+// $XdotOrg$
+// based on a keyboard
+// Modified for a real Spanish Keyboard by Jon Tombs
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/es,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type4)"
+
+ name[Group1]="Spain";
+
+ key <AE01> { [ 1, exclam, bar, exclamdown ] };
+ key <AE03> { [ 3, periodcentered, numbersign, sterling ] };
+ key <AE04> { [ 4, dollar, asciitilde, dollar ] };
+ key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
+ key <AE11> { [apostrophe, question, backslash, questiondown ] };
+ key <AE12> { [exclamdown, questiondown, asciitilde, asciitilde ] };
+
+ key <AD11> { [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
+ key <AD12> { [ plus, asterisk, bracketright, dead_macron ] };
+
+ key <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
+ key <AC11> { [dead_acute, dead_diaeresis, braceleft, braceleft ] };
+ key <TLDE> { [ masculine, ordfeminine, backslash, backslash ] };
+
+ key <BKSL> { [ ccedilla, Ccedilla, braceright, dead_breve ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ include "pc/es(basic)"
+
+ name[Group1]="Spain - Sun dead keys";
+
+ key <AC11> { [SunFA_Acute, SunFA_Diaeresis, braceleft, braceleft ] };
+ key <AD11> { [SunFA_Grave, SunFA_Circum, bracketleft, dead_abovering ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ include "pc/es(Sundeadkeys)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "pc/es(basic)"
+
+ name[Group1]="Spain - Eliminate dead keys";
+
+ key <AD11> { [ grave, asciicircum, bracketleft, degree ] };
+ key <AD12> { [ plus, asterisk, bracketright, macron ] };
+ key <AC10> { [ ntilde, Ntilde, asciitilde, doubleacute ] };
+ key <AC11> { [ acute, diaeresis, braceleft, braceleft ] };
+ key <BKSL> { [ ccedilla, Ccedilla, braceright, breve ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
+// Spanish mapping (note R-H exchange)
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+
+ name[Group1]="Spain - Dvorak";
+
+ // Alphanumeric section
+ key <TLDE> {[ masculine, ordfeminine, backslash, degree ]};
+ key <AE01> {[ 1, exclam, bar, onesuperior ]};
+ key <AE02> {[ 2, quotedbl, at, twosuperior ]};
+ key <AE03> {[ 3, periodcentered, numbersign, threesuperior ]};
+ key <AE04> {[ 4, dollar, asciitilde, onequarter ]};
+ key <AE05> {[ 5, percent, brokenbar, fiveeighths ]};
+ key <AE06> {[ 6, ampersand, notsign, threequarters ]};
+ key <AE07> {[ 7, slash, onehalf, seveneighths ]};
+ key <AE08> {[ 8, parenleft, oneeighth, threeeighths ]};
+ key <AE09> {[ 9, parenright, asciicircum ]};
+ key <AE10> {[ 0, equal, grave, dead_doubleacute ]};
+ key <AE11> {[ apostrophe, question, dead_macron, dead_ogonek ]};
+ key <AE12> {[ exclamdown, questiondown, dead_breve, dead_abovedot ]};
+
+ key <AD01> {[ period, colon ]};
+ key <AD02> {[ comma, semicolon ]};
+ key <AD03> {[ ntilde, Ntilde, lstroke, Lstroke ]};
+ key <AD04> {[ p, P, paragraph ]};
+ key <AD05> {[ y, Y, yen ]};
+ key <AD06> {[ f, F, tslash, Tslash ]};
+ key <AD07> {[ g, G, dstroke, Dstroke ]};
+ key <AD08> {[ c, C, cent, copyright ]};
+ key <AD09> {[ h, H, hstroke, Hstroke ]};
+ key <AD10> {[ l, L, sterling ]};
+ key <AD11> {[ dead_grave, dead_circumflex, bracketleft, dead_caron ]};
+ key <AD12> {[ plus, asterisk, bracketright, plusminus ]};
+
+ key <AC01> {[ a, A, ae, AE ]};
+ key <AC02> {[ o, O, oslash, Oslash ]};
+ key <AC03> {[ e, E, EuroSign ]};
+ key <AC04> {[ u, U, aring, Aring ]};
+ key <AC05> {[ i, I, oe, OE ]};
+ key <AC06> {[ d, D, eth, ETH ]};
+ key <AC07> {[ r, R, registered, trademark ]};
+ key <AC08> {[ t, T, thorn, THORN ]};
+ key <AC09> {[ n, N, eng, ENG ]};
+ key <AC10> {[ s, S, ssharp, section ]};
+ key <AC11> {[ dead_acute, dead_diaeresis, braceleft, dead_tilde ]};
+ key <BKSL> {[ ccedilla, Ccedilla, braceright, dead_cedilla ]};
+
+ key <LSGT> {[ less, greater, guillemotleft, guillemotright ]};
+ key <AB01> {[ minus, underscore, hyphen, macron ]};
+ key <AB02> {[ q, Q, currency ]};
+ key <AB03> {[ j, J ]};
+ key <AB04> {[ k, K, kra ]};
+ key <AB05> {[ x, X, multiply, division ]};
+ key <AB06> {[ b, B ]};
+ key <AB07> {[ m, M, mu ]};
+ key <AB08> {[ w, W ]};
+ key <AB09> {[ v, V ]};
+ key <AB10> {[ z, Z ]};
+
+ include "level3(ralt_switch)"
+};
diff --git a/data/xkbdata/symbols/pc/fi b/data/xkbdata/symbols/pc/fi
new file mode 100644
index 000000000..16d862a25
--- /dev/null
+++ b/data/xkbdata/symbols/pc/fi
@@ -0,0 +1,90 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/fi' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/fi,v 1.9 2003/01/29 17:17:31 dawes Exp $
+
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "pc/latin(type2)"
+ include "pc/fi(fi)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "fi" {
+
+ // a Finnish keyboard with dead key support and all of
+ // ISO-8859-1 and ISO-8859-15 characters available.
+
+ name[Group1]="Finland";
+
+ key <TLDE> { [ section, onehalf, onequarter, threequarters ] };
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+ // AltGr+<SPCE> is pressed accidentally too often after AltGr+<LSGT>,
+ // hence AltGr+<SPCE> produces now space, not nobreakspace.
+ key <SPCE> { [ space, space, space, nobreakspace ] };
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
+ key <AE04> { [ 4, currency, dollar, cent ] };
+ key <AE05> { [ 5, percent, EuroSign, masculine ] };
+ key <AE06> { [ 6, ampersand, yen, ordfeminine ] };
+ key <AE07> { [ 7, slash, braceleft, plusminus ] };
+ key <AE08> { [ 8, parenleft, bracketleft, guillemotleft ] };
+ key <AE09> { [ 9, parenright, bracketright, guillemotright ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+ key <AB09> { [ period, colon, periodcentered, notsign ] };
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB02> { [ x, X, multiply, division ] };
+ key <AB03> { [ c, C, copyright, cent ] };
+ key <AB05> { [ b, B, ssharp, NoSymbol ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB07> { [ m, M, mu, NoSymbol ] };
+ key <AB10> { [ minus, underscore, hyphen, macron ] };
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD04> { [ r, R, registered, NoSymbol ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD10> { [ p, P, paragraph, NoSymbol ] };
+ key <AC10> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] };
+ key <AE11> { [ plus, question, backslash, questiondown ] };
+ key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
+ key <BKSL> { [ apostrophe, asterisk ] };
+ key <AD11> { [ aring, Aring, oe, OE ] };
+ key <AE12> { [ dead_acute, dead_grave ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] };
+
+ // End alphanumeric section, begin "Keypad"
+ include "keypad(comma)"
+ // End "Keypad" section
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "pc/latin(type2)"
+ include "pc/latin(type2_nodeadkeys)"
+ include "pc/fi(fi)"
+
+ name[Group1]="Finland - Eliminate dead keys";
+
+ key <AE12> { [ acute, grave ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, caron ] };
+};
+
+xkb_symbols "smi" {
+
+ // Describes the differences between a Norwegian Northern Sami
+ // (keyboard with dead key support) and a Swedish/Finnish Sami
+ // keyboard according to the specs at:
+ // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html
+
+ include "pc/no(smi)"
+
+ name[Group1]= "Finland - Northern Saami";
+
+ key <AC10> { [odiaeresis, Odiaeresis, oslash, Ooblique ] };
+ key <AC11> { [adiaeresis, Adiaeresis, ae, AE ] };
+};
diff --git a/data/xkbdata/symbols/pc/fo b/data/xkbdata/symbols/pc/fo
new file mode 100644
index 000000000..ef9228bf5
--- /dev/null
+++ b/data/xkbdata/symbols/pc/fo
@@ -0,0 +1,51 @@
+// $XdotOrg$
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type2)"
+
+ name[Group1]= "Faroe Islands";
+
+ key <TLDE> { [ onehalf, section, threequarters, paragraph ] };
+ key <LSGT> { [ less, greater, backslash, notsign ] };
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ key <AE05> { [ 5, percent, NoSymbol, cent ] };
+ key <AE06> { [ 6, ampersand, yen, NoSymbol ] };
+ key <AE11> { [ plus, question, plusminus, questiondown ] };
+ key <AE12> { [dead_acute, dead_grave, bar, brokenbar ] };
+
+ key <AB03> { [ c, C, copyright, NoSymbol ] };
+ key <AB10> { [ minus, underscore, hyphen, macron ] };
+
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC10> { [ ae, AE ] };
+ key <AC11> { [ oslash, Ooblique ] };
+
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ aring, Aring, dead_diaeresis, dead_circumflex ] };
+ key <AD12> { [ eth, ETH, dead_tilde, dead_caron ] };
+
+ key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "pc/fo(basic)"
+
+ name[Group1]= "Faroe Islands - Eliminate dead keys";
+
+ key <AE12> { [ acute, grave, bar, ogonek ] };
+ key <AD11> { [ aring, Aring, diaeresis, degree ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
+ key <AC10> { [ ae, AE, acute, doubleacute ] };
+ key <AC11> { [ oslash, Ooblique, asciicircum, caron ] };
+ key <BKSL> { [apostrophe, asterisk, doubleacute, multiply ] };
+ key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, abovedot ] };
+};
diff --git a/data/xkbdata/symbols/pc/fr b/data/xkbdata/symbols/pc/fr
new file mode 100644
index 000000000..68686ed74
--- /dev/null
+++ b/data/xkbdata/symbols/pc/fr
@@ -0,0 +1,320 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/fr' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/fr,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin"
+
+ name[Group1]="France";
+
+ key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
+ key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
+ key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
+ key <AE04> { [apostrophe, 4, braceleft, dollar ] };
+ key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
+ key <AE06> { [ minus, 6, bar, fiveeighths ] };
+ key <AE07> { [ egrave, 7, grave, seveneighths ] };
+ key <AE08> { [underscore, 8, backslash, trademark ] };
+ key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
+ key <AE10> { [ agrave, 0, at, degree ] };
+ key <AE11> { [parenright, degree, bracketright, questiondown ] };
+ key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
+
+ key <AD01> { [ a, A, ae, AE ] };
+ key <AD02> { [ z, Z, guillemotleft, less ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ dollar, sterling, currency, dead_macron ] };
+
+ key <AC01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AC10> { [ m, M, mu, masculine ] };
+ key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
+ key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
+
+ key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
+ key <AB01> { [ w, W, lstroke, Lstroke ] };
+ key <AB07> { [ comma, question, dead_acute, dead_doubleacute ] };
+ key <AB08> { [ semicolon, period, horizconnector, multiply ] };
+ key <AB09> { [ colon, slash, periodcentered, division ] };
+ key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // Modifies the basic French layout to use the Sun dead keys
+
+ include "pc/fr(basic)"
+
+ name[Group1]="France - Sun dead keys";
+
+ key <AD11> { [SunFA_Circum, SunFA_Diaeresis ] };
+ key <AB07> { [comma, question, SunFA_Acute, dead_doubleacute ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "pc/fr(Sundeadkeys)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic French layout to eliminate all dead keys
+
+ include "pc/fr(basic)"
+
+ name[Group1]="France - Eliminate dead keys";
+
+ key <AE12> { [ equal, plus, braceright, ogonek ] };
+ key <AD11> { [asciicircum, diaeresis ] };
+ key <AD12> { [ dollar, sterling, currency, macron ] };
+ key <AC11> { [ ugrave, percent, asciicircum, caron ] };
+ key <BKSL> { [ asterisk, mu, grave, breve ] };
+ key <AB07> { [ comma, question, acute, doubleacute ] };
+ key <AB10> { [ exclam, section, dead_belowdot, abovedot ] };
+};
+
+// Historic Linux French keyboard layout (fr-latin9)
+// Copyright (c) 199x, 2002 Rene Cougnenc (original work)
+// Guylhem Aznar <clavier @ externe.net> (maintainer)
+// Nicolas Mailhot <Nicolas.Mailhot @ laposte.net>
+// (XFree86 submission)
+//
+// $XFree86: xc/programs/xkbcomp/symbols/fr-latin9,v 1.1 2002/12/20 02:07:11 dawes Exp $
+//
+// This layout has long been distributed and refined outside official channels.
+// To this day it remains more feature-rich and popular than the 'fr' layout.
+//
+// This file is derived from an original version by Guylhem Aznar. The
+// original version is always available from:
+// http://en.tldp.org/HOWTO/Francophones-HOWTO.html
+// and is distributed under a GPL license.
+//
+// The author has given permission for this derived version to be distributed
+// under the standard XFree86 license. He would like all changes to this
+// version be send to him at <clavier @ externe.net> so he can sync the
+// identically named linux console map (kbd, linux-console) and this
+// fileout-of-tree GPL version.
+//
+// Now follows the keyboard design description in French.
+// (If you can't read it you probably have no business changing this file anyway:)
+//
+// Les accents circonflexes des principales voyelles sont obtenus avec
+// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
+//
+// ____ _________ _____________ _______
+// | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause |
+// | s a| s = normal, a = AltGr | Exec | | Halte |
+// ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
+// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
+// | ½ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- |
+// | ¼ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
+// ========================================================================
+// | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , |
+// | ->| | a â| z å| e ¤| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' |
+// ===================================================================¬ |
+// | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| |
+// | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
+// ========================================================================
+// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
+// | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
+// ========================================================================
+// | | | | | | | | |
+// | Ctrl | Meta | Alt | Space Nobreakspace | AltGr | Multi|Menu | Ctrl |
+// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
+//
+//
+// Si les touches mortes fonctionnent, utiliser les accents dits
+// « morts », i.e. fonctionnant comme l'accent circonflexe & le
+// tréma des machines à écrire ; sont disponibles :
+//
+// (^) : accent circonflexe,
+// Shift+(^) : tréma,
+// Shift+AltGr (^) : tilde,
+// AltGr (1) : accent aigu,
+// AltGr (7) : accent grave
+//
+// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
+// sur les vielles machines à écrire :
+//
+// AltGr (1) puis e : é
+// Shift+AltGr (1) puis e : É ...
+
+partial alphanumeric_keys
+
+xkb_symbols "latin9" {
+
+ include "pc/latin"
+
+ name[Group1]="France - Alternative";
+
+ key <TLDE> { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] };
+ key <AE01> { [ ampersand, 1, dead_acute, periodcentered ] };
+ key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
+ key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
+ key <AE04> { [ apostrophe, 4, braceleft, acute ] };
+ key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
+ key <AE06> { [ minus, 6, bar, brokenbar ] };
+ key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
+ key <AE08> { [ underscore, 8, backslash, macron ] };
+ key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
+ key <AE10> { [ agrave, 0, at, Agrave ] };
+ key <AE11> { [ parenright, degree, bracketright, ydiaeresis ] };
+ key <AE12> { [ equal, plus, braceright, dead_abovering ] };
+
+ key <AD01> { [ a, A, acircumflex, adiaeresis ] };
+ key <AD02> { [ z, Z, aring, Aring ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD04> { [ r, R, ccedilla, Ccedilla ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, yacute, Yacute ] };
+ key <AD07> { [ u, U, ucircumflex, udiaeresis ] };
+ key <AD08> { [ i, I, icircumflex, idiaeresis ] };
+ key <AD09> { [ o, O, ocircumflex, odiaeresis ] };
+ key <AD10> { [ p, P, paragraph, quoteleft ] };
+ key <AD11> { [ dead_circumflex, dead_diaeresis, dead_tilde, quoteright ] };
+ key <AD12> { [ dollar, sterling, ecircumflex, ediaeresis ] };
+
+ key <AC01> { [ q, Q, Acircumflex, Adiaeresis ] };
+ key <AC02> { [ s, S, oslash, Ooblique ] };
+ key <AC03> { [ d, D, Ecircumflex, Ediaeresis ] };
+ key <AC04> { [ f, F, plusminus, ordfeminine ] };
+ key <AC05> { [ g, G, ae, AE ] };
+ key <AC06> { [ h, H, eth, ETH ] };
+ key <AC07> { [ j, J, Ucircumflex, Udiaeresis ] };
+ key <AC08> { [ k, K, Icircumflex, Idiaeresis ] };
+ key <AC09> { [ l, L, Ocircumflex, Odiaeresis ] };
+ key <AC10> { [ m, M, onesuperior, masculine ] };
+ key <AC11> { [ ugrave, percent, twosuperior, Ugrave ] };
+ key <BKSL> { [ asterisk, mu, threesuperior, yen ] };
+
+ key <LSGT> { [ less, greater, bar ] };
+ key <AB01> { [ w, W, guillemotleft ] };
+ key <AB02> { [ x, X, guillemotright ] };
+ key <AB03> { [ c, C, copyright ] };
+ key <AB04> { [ v, V, registered ] };
+ key <AB05> { [ b, B, ssharp ] };
+ key <AB06> { [ n, N, notsign ] };
+ key <AB07> { [ comma, question, questiondown ] };
+ key <AB08> { [ semicolon, period, multiply ] };
+ key <AB09> { [ colon, slash, division ] };
+ key <AB10> { [ exclam, section, exclamdown ] };
+
+ key <SPCE> { [ space, space, nobreakspace ] };
+
+ // French uses a comma as decimal separator, but keyboards are labeled with a period
+ // Will take effect when KP_Decimal is mapped to the locale decimal separator
+ key <KPDL> { [ KP_Delete, period, KP_Delete, KP_Decimal ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin9_Sundeadkeys" {
+
+ // Modifies the basic fr-latin9 layout to use the Sun dead keys
+
+ include "pc/fr(latin9)"
+
+ key <AE01> { [ ampersand, 1, SunFA_Acute, periodcentered ] };
+ key <AE07> { [ egrave, 7, SunFA_Grave, Egrave ] };
+ key <AD11> { [ SunFA_Circum, SunFA_Diaeresis, SunFA_Tilde, quoteright ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin9_sundeadkeys" {
+
+ include "pc/fr(latin9_Sundeadkeys)"
+
+ name[Group1]="France - Alternative, Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin9_nodeadkeys" {
+
+ // Modifies the basic fr-latin9 layout to eliminate all dead keys
+
+ include "pc/fr(latin9)"
+
+ name[Group1]="France - Alternative, eliminate dead keys";
+
+ key <AE01> { [ ampersand, 1, apostrophe, periodcentered ] };
+ key <AE07> { [ egrave, 7, grave, Egrave ] };
+ key <AE12> { [ equal, plus, braceright ] };
+ key <AD11> { [ asciicircum, diaeresis, asciitilde, quoteright ] };
+};
+
+// Keymap Dvorak pour le Français
+// par Josselin Mouette <josselin.mouette@ens-lyon.org>.
+
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+
+ name[Group1]= "France - Dvorak";
+
+ key <TLDE> { [ oe, OE, ae, AE ] };
+
+ key <AE01> { [ slash, 1, ampersand, onesuperior ] };
+ key <AE02> { [ plus, 2, asciitilde, twosuperior ] };
+ key <AE03> { [ minus, 3, numbersign, threesuperior ] };
+ key <AE04> { [ asterisk, 4, less, guillemotleft ] };
+ key <AE05> { [ equal, 5, greater, guillemotright ] };
+ key <AE06> { [ backslash, 6, at, notsign ] };
+ key <AE07> { [ parenleft, 7, dead_circumflex, multiply ] };
+ key <AE08> { [ grave, 8, dead_grave, division ] };
+ key <AE09> { [ parenright, 9, asciicircum, plusminus ] };
+ key <AE10> { [ quotedbl, 0, dead_diaeresis, dead_diaeresis ] };
+ key <AE11> { [bracketleft, braceleft, bar, degree ] };
+ key <AE12> { [bracketright, braceright, percent, percent ] };
+
+ key <AD01> { [ colon, question, question, questiondown ] };
+ key <AD02> { [ agrave, Agrave, aring, Aring ] };
+ key <AD03> { [ eacute, Eacute, EuroSign, cent ] };
+ key <AD04> { [ g, G, oslash, Ooblique ] };
+ key <AD05> { [ period, exclam, periodcentered, exclamdown ] };
+ key <AD06> { [ h, H, eth, ETH ] };
+ key <AD07> { [ v, V ] };
+ key <AD08> { [ c, C, copyright, registered ] };
+ key <AD09> { [ m, M, mu, mu ] };
+ key <AD10> { [ k, K, dollar, dollar ] };
+ key <AD11> { [ egrave, Egrave, sterling, sterling ] };
+ key <AD12> { [ z, Z, yen, yen ] };
+
+ key <AC01> { [ o, O, ocircumflex, Ocircumflex ] };
+ key <AC02> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC03> { [ u, U, ucircumflex, Ucircumflex ] };
+ key <AC04> { [ e, E, ecircumflex, Ecircumflex ] };
+ key <AC05> { [ b, B, ssharp, ssharp ] };
+ key <AC06> { [ f, F ] };
+ key <AC07> { [ s, S ] };
+ key <AC08> { [ t, T, thorn, THORN ] };
+ key <AC09> { [ n, N, ntilde, Ntilde ] };
+ key <AC10> { [ d, D, section, section ] };
+ key <AC11> { [ w, W, paragraph, paragraph ] };
+ key <BKSL> { [ ugrave, Ugrave, masculine, ordfeminine ] };
+
+ key <AB01> { [ apostrophe, underscore, dead_acute, macron ] };
+ key <AB02> { [ q, Q, guillemotleft, guillemotleft ] };
+ key <AB03> { [ comma, semicolon, guillemotright, guillemotright ] };
+ key <AB04> { [ i, I, icircumflex, Icircumflex ] };
+ key <AB05> { [ y, Y, ydiaeresis, Ydiaeresis ] };
+ key <AB06> { [ x, X, ediaeresis, Ediaeresis ] };
+ key <AB07> { [ r, R, udiaeresis, Udiaeresis ] };
+ key <AB08> { [ l, L, adiaeresis, Adiaeresis ] };
+ key <AB09> { [ p, P, odiaeresis, Odiaeresis ] };
+ key <AB10> { [ j, J, idiaeresis, Idiaeresis ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+ key <LSGT> { [ ccedilla, Ccedilla ] };
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/data/xkbdata/symbols/pc/gb b/data/xkbdata/symbols/pc/gb
new file mode 100644
index 000000000..cfe885019
--- /dev/null
+++ b/data/xkbdata/symbols/pc/gb
@@ -0,0 +1,78 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/gb' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/gb,v 1.6 2003/10/04 10:25:14 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard layout defined by
+ // the SVR4 European Language Supplement and sometimes also
+ // known as the IBM 166 layout.
+
+ include "pc/latin"
+
+ name[Group1]="United Kingdom";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE03> { [ 3, sterling, threesuperior, sterling ] };
+ key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
+
+ key <AC11> { [apostrophe, at, dead_circumflex, dead_caron] };
+ key <TLDE> { [ grave, notsign, bar, bar ] };
+
+ key <BKSL> { [numbersign, asciitilde, dead_grave, dead_breve ] };
+ key <LSGT> { [ backslash, bar, bar, brokenbar ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "intl" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple U.K. keyboard layout with
+ // dead keys. By Phil Jones (philjones1@blueyonder.co.uk)
+
+ // Includes the following keys:
+ // dead_grave
+ // dead_acute
+ // dead_circumflex
+ // dead_tilde
+ // dead_diaeresis
+
+ include "pc/latin"
+
+ name[Group1]="United Kingdom - International (with dead keys)";
+
+ key <AE02> { [ 2, dead_diaeresis, twosuperior, onehalf ] };
+ key <AE03> { [ 3, sterling, threesuperior, onethird ] };
+ key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
+ key <AE06> { [ 6, dead_circumflex, NoSymbol, onesixth ] };
+
+ key <AC11> { [ dead_acute, at, apostrophe, bar ] };
+ key <TLDE> { [ dead_grave, notsign, bar, bar ] };
+
+ key <BKSL> { [ numbersign, dead_tilde, bar, bar ] };
+ key <LSGT> { [ backslash, bar, bar, bar ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Dvorak (UK) keymap (by odaen) allowing the usage of
+// the £ and ? key and swapping the @ and " keys.
+
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "pc/us(dvorak)"
+
+ name[Group1]="United Kingdom - Dvorak";
+
+ key <BKSL> { [ numbersign, asciitilde ] };
+ key <AE02> { [ 2, quotedbl, twosuperior, NoSymbol ] };
+ key <AE03> { [ 3, sterling, threesuperior, NoSymbol ] };
+ key <AE04> { [ 4, dollar, EuroSign, NoSymbol ] };
+ key <LSGT> { [ backslash, bar ] };
+ key <AD01> { [ apostrophe, at ] };
+};
diff --git a/data/xkbdata/symbols/pc/ge b/data/xkbdata/symbols/pc/ge
new file mode 100644
index 000000000..29686fc94
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ge
@@ -0,0 +1,116 @@
+// $XdotOrg$
+// based on
+// Georgian keyboard map, in the so called "latin" layout.
+// 1999, Pablo Saratxaga <srtxg@chanae.alphanet.ch>
+//
+// $XdotOrg: xc/programs/xkbcomp/symbols/pc/ge_la,v 1.3 2003/12/18 14:14:39 pascal Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/pc/ge_la,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Georgia";
+
+ key <AD01> { [ 0x010010e5, q ] };
+ key <AD02> { [ 0x010010ec, 0x010010ed ] };
+ key <AD03> { [ 0x010010d4, e ] };
+ key <AD04> { [ 0x010010e0, 0x010010e6 ] };
+ key <AD05> { [ 0x010010e2, 0x010010d7 ] };
+ key <AD06> { [ 0x010010e7, y ] };
+ key <AD07> { [ 0x010010e3, u ] };
+ key <AD08> { [ 0x010010d8, i ] };
+ key <AD09> { [ 0x010010dd, o ] };
+ key <AD10> { [ 0x010010de, p ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright,braceright ] };
+
+ key <AC01> { [ 0x010010d0, a ] };
+ key <AC02> { [ 0x010010e1, 0x010010e8 ] };
+ key <AC03> { [ 0x010010d3, d ] };
+ key <AC04> { [ 0x010010e4, f ] };
+ key <AC05> { [ 0x010010d2, g ] };
+ key <AC06> { [ 0x010010f0, h ] };
+ key <AC07> { [ 0x010010ef, 0x010010df ] };
+ key <AC08> { [ 0x010010d9, k ] };
+ key <AC09> { [ 0x010010da, l ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <LSGT> { [ guillemotleft,guillemotright ] };
+ key <AB01> { [ 0x010010d6, 0x010010eb ] };
+ key <AB02> { [ 0x010010ee, x ] };
+ key <AB03> { [ 0x010010ea, 0x010010e9 ] };
+ key <AB04> { [ 0x010010d5, v ] };
+ key <AB05> { [ 0x010010d1, b ] };
+ key <AB06> { [ 0x010010dc, n ] };
+ key <AB07> { [ 0x010010db, m ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "la" {
+ include "pc/ge(basic)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "ru" {
+
+ name[Group1]= "Georgia - Russian";
+
+ key <TLDE> { [ asciicircum, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] }; // 2 0xeb
+ key <AE03> { [ 3, numbersign ] }; // 3 0xec
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, colon ] };
+ key <AE06> { [ 6, comma ] };
+ key <AE07> { [ 7, period ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ numbersign, bar ] };
+
+ key <AD01> { [ 0x010010e6, q ] };
+ key <AD02> { [ 0x010010ea, w ] };
+ key <AD03> { [ 0x010010e3, e ] };
+ key <AD04> { [ 0x010010d9, r ] };
+ key <AD05> { [ 0x010010d4, t ] };
+ key <AD06> { [ 0x010010dc, y ] };
+ key <AD07> { [ 0x010010d2, u ] };
+ key <AD08> { [ 0x010010e8, i ] };
+ key <AD09> { [ 0x010010ec, o ] };
+ key <AD10> { [ 0x010010d6, p ] };
+ key <AD11> { [ 0x010010ee, bracketleft ] };
+ key <AD12> { [ 0x010010ef, bracketright ] };
+
+ key <AC01> { [ 0x010010e4, a ] };
+ key <AC02> { [ 0x010010d7, s ] };
+ key <AC03> { [ 0x010010d5, d ] };
+ key <AC04> { [ 0x010010d0, f ] };
+ key <AC05> { [ 0x010010de, g ] };
+ key <AC06> { [ 0x010010e0, h ] };
+ key <AC07> { [ 0x010010dd, j ] };
+ key <AC08> { [ 0x010010da, k ] };
+ key <AC09> { [ 0x010010d3, l ] };
+ key <AC10> { [ 0x010010df, semicolon ] };
+ key <AC11> { [ 0x010010eb, percent ] };
+ key <BKSL> { [ backslash, bar ] }; // 0xe9 0xea
+
+ key <LSGT> { [ guillemotleft,guillemotright ] }; // 0xab 0xbb 0xe7 0xe8
+ key <AB01> { [ 0x010010ed, z ] };
+ key <AB02> { [ 0x010010e9, x ] };
+ key <AB03> { [ 0x010010e1, c ] };
+ key <AB04> { [ 0x010010db, v ] };
+ key <AB05> { [ 0x010010d8, b ] };
+ key <AB06> { [ 0x010010e2, n ] };
+ key <AB07> { [ 0x010010e5, m ] };
+ key <AB08> { [ 0x010010d1, less ] };
+ key <AB09> { [ 0x010010e7, greater ] };
+ key <AB10> { [ 0x010010f0, question ] };
+
+};
diff --git a/data/xkbdata/symbols/pc/gr b/data/xkbdata/symbols/pc/gr
new file mode 100644
index 000000000..349bcdec3
--- /dev/null
+++ b/data/xkbdata/symbols/pc/gr
@@ -0,0 +1,128 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/gr,v 1.6 2005/01/21 23:16:05 svu Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/pc/el,v 1.2 2002/11/15 02:26:41 dawes Exp $
+//
+// Hellenic keyboard map for XFree86
+// Original version:
+// Kostas Gewrgiou <gewrgiou@imbc.gr>
+// Heavily modified and maintained by:
+// Vasilis Vasaitis <vvas@hal.csd.auth.gr>
+// Originally converted to single group form by:
+// Ivan Pascal <pascal@info.tsu.ru>
+
+default partial alphanumeric_keys alternate_group
+xkb_symbols "basic" {
+
+ include "pc/el(bare)"
+
+ name[Group1] = "Greece";
+
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+
+ key <AC11> { [ apostrophe, quotedbl ] };
+
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+ key <BKSL> { [ backslash, bar ] };
+
+};
+
+hidden partial alphanumeric_keys alternate_group
+xkb_symbols "bare" {
+
+ key <AD01> { [ semicolon, colon ] };
+ key <AD02> { [ Greek_finalsmallsigma, Greek_SIGMA ] };
+ key <AD03> { [ Greek_epsilon, Greek_EPSILON ] };
+ key <AD04> { [ Greek_rho, Greek_RHO ] };
+ key <AD05> { [ Greek_tau, Greek_TAU ] };
+ key <AD06> { [ Greek_upsilon, Greek_UPSILON ] };
+ key <AD07> { [ Greek_theta, Greek_THETA ] };
+ key <AD08> { [ Greek_iota, Greek_IOTA ] };
+ key <AD09> { [ Greek_omicron, Greek_OMICRON ] };
+ key <AD10> { [ Greek_pi, Greek_PI ] };
+
+ key <AC01> { [ Greek_alpha, Greek_ALPHA ] };
+ key <AC02> { [ Greek_sigma, Greek_SIGMA ] };
+ key <AC03> { [ Greek_delta, Greek_DELTA ] };
+ key <AC04> { [ Greek_phi, Greek_PHI ] };
+ key <AC05> { [ Greek_gamma, Greek_GAMMA ] };
+ key <AC06> { [ Greek_eta, Greek_ETA ] };
+ key <AC07> { [ Greek_xi, Greek_XI ] };
+ key <AC08> { [ Greek_kappa, Greek_KAPPA ] };
+ key <AC09> { [ Greek_lamda, Greek_LAMDA ] };
+ key <AC10> { [ dead_acute, dead_diaeresis ] };
+
+ key <AB01> { [ Greek_zeta, Greek_ZETA ] };
+ key <AB02> { [ Greek_chi, Greek_CHI ] };
+ key <AB03> { [ Greek_psi, Greek_PSI ] };
+ key <AB04> { [ Greek_omega, Greek_OMEGA ] };
+ key <AB05> { [ Greek_beta, Greek_BETA ] };
+ key <AB06> { [ Greek_nu, Greek_NU ] };
+ key <AB07> { [ Greek_mu, Greek_MU ] };
+
+ key <LSGT> { [ guillemotleft, guillemotright ] };
+
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "extended" {
+
+ include "pc/el(basic)"
+ name[Group1] = "Greece - Extended";
+
+ key.type = "THREE_LEVEL";
+
+ key <AE05> { [ 5, percent, EuroSign ] };
+
+ key <AD01> { [ semicolon, colon, periodcentered ] };
+ key <AD03> { [ Greek_epsilon, Greek_EPSILON, EuroSign ] };
+
+ key <AB08> { [ comma, less, guillemotleft ] };
+ key <AB09> { [ period, greater, guillemotright ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "polytonic" {
+
+ include "pc/el(extended)"
+
+ name[Group1] = "Greece - Polytonic";
+
+ key.type = "THREE_LEVEL";
+
+ key <AD11> { [ dead_tilde, dead_diaeresis, dead_macron ] };
+ key <AD12> { [ dead_iota, VoidSymbol, dead_breve ] };
+
+ key <AC10> { [ dead_acute, dead_horn ] };
+ key <AC11> { [ dead_grave, dead_ogonek ] };
+
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "nodeadkeys" {
+
+ include "pc/el(basic)"
+ name[Group1] = "Greece - Eliminate dead keys";
+
+ key <AC10> { [ semicolon, colon ] };
+
+};
+
diff --git a/data/xkbdata/symbols/pc/hr b/data/xkbdata/symbols/pc/hr
new file mode 100644
index 000000000..5cba3bfd7
--- /dev/null
+++ b/data/xkbdata/symbols/pc/hr
@@ -0,0 +1,92 @@
+// $XdotOrg$
+// based on
+// Croatian keyboards
+// by Vlatko Kosturjak (kost at linux.hr)
+// Taken from Slovenian keyboards
+// by Marko Samastur (markos@elite.org) and
+// Primoz Peterlin (primoz.peterlin@biofiz.mf.uni-lj.si)
+//
+// Changelog
+// =========
+// 2003-04-03 Added <KPDL> (Delete/Separator)
+// 2000-02-06 Initial version
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/hr,v 1.3 2003/04/13 18:22:21 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type3)"
+
+ name[Group1]="Croatia";
+
+ key <AE01> { [ 1, exclam, asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl, dead_caron, caron ] };
+ key <AE03> { [ 3, numbersign, asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, dollar, dead_breve, breve ] };
+ key <AE05> { [ 5, percent, degree, dead_abovering ] };
+ key <AE06> { [ 6, ampersand, dead_ogonek, ogonek ] };
+ key <AE07> { [ 7, slash, grave, dead_grave ] };
+ key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] };
+ key <AE09> { [ 9, parenright, dead_acute, apostrophe ] };
+ key <AE10> { [ 0, equal, dead_doubleacute, doubleacute ] };
+ key <AE11> { [apostrophe, question, dead_diaeresis, diaeresis ] };
+ key <AE12> { [ plus, asterisk, dead_cedilla, cedilla ] };
+
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD11> { [ scaron, Scaron, division, dead_abovering ] };
+ key <AD12> { [ dstroke, Dstroke, multiply, dead_macron ] };
+
+ key <AC10> { [ ccaron, Ccaron, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ cacute, Cacute, ssharp, dead_caron ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+ key <TLDE> { [dead_cedilla, dead_diaeresis, notsign, notsign ] };
+
+ key <BKSL> { [ zcaron, Zcaron, currency, dead_breve ] };
+
+ include "keypad(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "us" {
+
+ // Describes the differences between US/ASCII
+ // keyboard and a Croatian-US keyboard
+ // by Vlatko Kosturjak (kost at linux.hr)
+
+ // Alphanumeric section
+ name[Group1]= "Croatia - US keyboard with Croatian letters";
+ key <AD01> { [ backslash ] };
+ key <AD02> { [ bar ] };
+ key <AD03> { [ EuroSign ] };
+ key <AD11> { [ scaron, Scaron ] };
+ key <AD12> { [ dstroke, Dstroke ] };
+ key <AC04> { [ bracketleft ] };
+ key <AC05> { [ bracketright ] };
+ key <AC08> { [ lstroke ] };
+ key <AC09> { [ Lstroke ] };
+ key <AC10> { [ ccaron, Ccaron ] };
+ key <AC11> { [ cacute, Cacute ] };
+
+
+ key <LSGT> { [ bar ] };
+ key <AB01> { [ y, Y ] };
+ key <AB04> { [ at ] };
+ key <AB05> { [ braceleft ] };
+ key <AB06> { [ braceright ] };
+ key <AB07> { [ section ] };
+ key <AB08> { [ semicolon ] };
+ key <AB09> { [ colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ zcaron, Zcaron ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/pc/hu b/data/xkbdata/symbols/pc/hu
new file mode 100644
index 000000000..fbd8818f0
--- /dev/null
+++ b/data/xkbdata/symbols/pc/hu
@@ -0,0 +1,433 @@
+// $XdotOrg$
+// New style XKB layout for some widely used Hungarian keyboard layouts
+//
+// Based on old style 'xkb/symbols/hu"
+//
+// $XKeyboardConfig: xkbdesc/symbols/hu,v 1.6 2005/01/16 02:18:20 svu Exp $
+// (C) 2002-2004 Soós Péter <sp@osb.hu>
+//
+// Permission is granted to anyone to use, distribute and modify
+// this file in any way, provided that the above copyright notice
+// is left intact and the author of the modification summarizes
+// the changes in this header.
+//
+// This file is distributed without any expressed or implied warranty.
+//
+// Changes:
+// 2004-04-17 - Moved to new style (only Unicode based layouts)
+// - Added consistent dead key support
+// - Fixed abovedot
+// - Added adiaeresis
+// - Added EuroSign and cent symbol
+
+
+// Default layout
+default partial
+xkb_symbols "basic" {
+include "pc/hu(102_qwertz_comma_dead)"
+name[Group1] = "Hungary";
+};
+
+// Standard layout
+partial
+xkb_symbols "standard" {
+include "pc/hu(102_qwertz_comma_dead)"
+name[Group1] = "Hungary - Standard";
+};
+
+// Standard layout without dead key support
+partial
+xkb_symbols "nodeadkeys" {
+include "pc/hu(102_qwertz_comma_nodead)"
+name[Group1] = "Hungary - Eliminate dead keys";
+};
+
+// Qwerty layout
+partial
+xkb_symbols "qwerty" {
+include "pc/hu(101_qwerty_comma_dead)"
+name[Group1] = "Hungary - qwerty";
+};
+
+// Main layouts
+
+// 101_qwertz_comma_dead
+// 101 key qwertz layout
+// with decimal comma on keypad
+// and with dead key support
+partial
+xkb_symbols "101_qwertz_comma_dead" {
+name[Group1] = "Hungary - 101/qwertz/comma/Dead keys";
+include "pc/latin"
+include "pc/hu(def_101)"
+include "pc/hu(def_qwertz)"
+include "keypad(comma)"
+include "pc/hu(def_dead)"
+include "pc/hu(def_common)"
+include "level3(ralt_switch)"
+};
+
+// 101_qwertz_comma_nodead
+// 101 key qwertz layout
+// with decimal comma on keypad
+// and without dead key support
+partial
+xkb_symbols "101_qwertz_comma_nodead" {
+ name[Group1] = "Hungary - 101/qwertz/comma/Eliminate dead keys";
+ include "pc/latin"
+ include "pc/hu(def_101)"
+ include "pc/hu(def_qwertz)"
+ include "keypad(comma)"
+ include "pc/hu(def_nodead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwertz_dot_dead
+// 101 key qwertz layout
+// with decimal dot on keypad
+// and with dead key support
+partial
+xkb_symbols "101_qwertz_dot_dead" {
+ name[Group1] = "Hungary - 101/qwertz/dot/Dead keys";
+ include "pc/latin"
+ include "pc/hu(def_101)"
+ include "pc/hu(def_qwertz)"
+ include "pc/hu(def_dot)"
+ include "pc/hu(def_dead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwertz_dot_nodead
+// 101 key qwertz layout
+// with decimal dot on keypad
+// and without dead key support
+partial
+xkb_symbols "101_qwertz_dot_nodead" {
+ name[Group1] = "Hungary - 101/qwertz/dot/Eliminate dead keys";
+ include "pc/latin"
+ include "pc/hu(def_101)"
+ include "pc/hu(def_qwertz)"
+ include "pc/hu(def_dot)"
+ include "pc/hu(def_nodead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwerty_comma_dead
+// 101 key qwerty layout
+// with decimal comma on keypad
+// and with dead key support
+partial
+xkb_symbols "101_qwerty_comma_dead" {
+ name[Group1] = "Hungary - 101/qwerty/comma/Dead keys";
+ include "pc/latin"
+ include "pc/hu(def_101)"
+ include "pc/hu(def_qwerty)"
+ include "keypad(comma)"
+ include "pc/hu(def_dead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwerty_comma_nodead
+// 101 key qwerty layout
+// with decimal comma on keypad
+// and without dead key support
+partial
+xkb_symbols "101_qwerty_comma_nodead" {
+ name[Group1] = "Hungary - 101/qwerty/comma/Eliminate dead keys";
+ include "pc/latin"
+ include "pc/hu(def_101)"
+ include "pc/hu(def_qwerty)"
+ include "keypad(comma)"
+ include "pc/hu(def_nodead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwerty_dot_dead
+// 101 key qwerty layout
+// with decimal dot on keypad
+// and with dead key support
+partial
+xkb_symbols "101_qwerty_dot_dead" {
+ name[Group1] = "Hungary - 101/qwerty/dot/Dead keys";
+ include "pc/latin"
+ include "pc/hu(def_101)"
+ include "pc/hu(def_qwerty)"
+ include "pc/hu(def_dot)"
+ include "pc/hu(def_dead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 101_qwerty_dot_nodead
+// 101 key qwerty layout
+// with decimal dot on keypad
+// and without dead key support
+partial
+xkb_symbols "101_qwerty_dot_nodead" {
+ name[Group1] = "Hungary - 101/qwerty/dot/Eliminate dead keys";
+ include "pc/latin"
+ include "pc/hu(def_101)"
+ include "pc/hu(def_qwerty)"
+ include "pc/hu(def_dot)"
+ include "pc/hu(def_nodead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwertz_comma_dead
+// 102 key qwertz layout
+// with decimal comma on keypad
+// and with dead key support
+partial
+xkb_symbols "102_qwertz_comma_dead" {
+ name[Group1] = "Hungary - 102/qwertz/comma/Dead keys";
+ include "pc/latin"
+ include "pc/hu(def_102)"
+ include "pc/hu(def_qwertz)"
+ include "pc/hu(def_comma)"
+ include "pc/hu(def_dead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwertz_comma_nodead
+// 102 key qwertz layout
+// with decimal comma on keypad
+// and without dead key support
+partial
+xkb_symbols "102_qwertz_comma_nodead" {
+ name[Group1] = "Hungary - 102/qwertz/comma/Eliminate dead keys";
+ include "pc/latin"
+ include "pc/hu(def_102)"
+ include "pc/hu(def_qwertz)"
+ include "pc/hu(def_comma)"
+ include "pc/hu(def_nodead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwertz_dot_dead
+// 102 key qwertz layout
+// with decimal dot on keypad
+// and with dead key support
+partial
+xkb_symbols "102_qwertz_dot_dead" {
+ name[Group1] = "Hungary - 102/qwertz/dot/Dead keys";
+ include "pc/latin"
+ include "pc/hu(def_102)"
+ include "pc/hu(def_qwertz)"
+ include "pc/hu(def_dot)"
+ include "pc/hu(def_dead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwertz_dot_nodead
+// 102 key qwertz layout
+// with decimal dot on keypad
+// and without dead key support
+partial
+xkb_symbols "102_qwertz_dot_nodead" {
+ name[Group1] = "Hungary - 102/qwertz/dot/Eliminate dead keys";
+ include "pc/latin"
+ include "pc/hu(def_102)"
+ include "pc/hu(def_qwertz)"
+ include "pc/hu(def_dot)"
+ include "pc/hu(def_nodead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwerty_comma_dead
+// 102 key qwerty layout
+// with decimal comma on keypad
+// and with dead key support
+partial
+xkb_symbols "102_qwerty_comma_dead" {
+ name[Group1] = "Hungary - 102/qwerty/comma/Dead keys";
+ include "pc/latin"
+ include "pc/hu(def_102)"
+ include "pc/hu(def_qwerty)"
+ include "pc/hu(def_comma)"
+ include "pc/hu(def_dead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwerty_comma_nodead
+// 102 key qwerty layout
+// with decimal comma on keypad
+// and without dead key support
+partial
+xkb_symbols "102_qwerty_comma_nodead" {
+ name[Group1] = "Hungary - 102/qwerty/comma/Eliminate dead keys";
+ include "pc/latin"
+ include "pc/hu(def_102)"
+ include "pc/hu(def_qwerty)"
+ include "pc/hu(def_comma)"
+ include "pc/hu(def_nodead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwerty_dot_dead
+// 102 key qwerty layout
+// with decimal dot on keypad
+// and with dead key support
+partial
+xkb_symbols "102_qwerty_dot_dead" {
+ name[Group1] = "Hungary - 102/qwerty/dot/Dead keys";
+ include "pc/latin"
+ include "pc/hu(def_102)"
+ include "pc/hu(def_qwerty)"
+ include "pc/hu(def_dot)"
+ include "pc/hu(def_dead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// 102_qwerty_dot_nodead
+// 102 key qwerty layout
+// with decimal dot on keypad
+// and without dead key support
+partial
+xkb_symbols "102_qwerty_dot_nodead" {
+ name[Group1] = "Hungary - 102/qwerty/dot/Eliminate dead keys";
+ include "pc/latin"
+ include "pc/hu(def_102)"
+ include "pc/hu(def_qwerty)"
+ include "pc/hu(def_dot)"
+ include "pc/hu(def_nodead)"
+ include "pc/hu(def_common)"
+ include "level3(ralt_switch)"
+};
+
+// Partial layouts
+
+// def_102:
+// The standard Hungarian 102 key layout
+hidden partial alphanumeric_keys
+xkb_symbols "def_102" {
+ key <TLDE> { [ 0, section, notsign ] };
+ key <LSGT> { [ iacute, Iacute, less, greater ] };
+
+};
+
+// def_101:
+// An alternative layout for 101 key keyboards
+hidden partial alphanumeric_keys
+xkb_symbols "def_101" {
+ key <TLDE> { [ iacute, Iacute, 0, section ] };
+ key <LSGT> { [ less, greater ] };
+};
+
+// def_qwertz:
+// The standard Hungaryan qwertz layout
+hidden partial alphanumeric_keys
+xkb_symbols "def_qwertz" {
+ key <AD06> { [ z, Z ] };
+ key <AB01> { [ y, Y, greater ] };
+};
+
+
+// def_qwerty:
+// The qwerty layout for people who familiar with the standard US layout
+hidden partial alphanumeric_keys
+xkb_symbols "def_qwerty" {
+ key <AD06> { [ y, Y ] };
+ key <AB01> { [ z, Z, greater ] };
+};
+
+// def_comma:
+// The Hungarian standard is the comma on the keypad not decimal dot
+hidden partial keypad_keys
+xkb_symbols "def_comma" {
+ key <KPDL> { [ KP_Delete, comma ] };
+};
+
+// def_dot:
+// The Hungarian standard is the comma on the keypad not decimal dot,
+// but programmers hate it
+hidden partial keypad_keys
+xkb_symbols "def_dot" {
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+};
+
+
+// def_dead:
+// Dead keys support part
+hidden partial alphanumeric_keys
+xkb_symbols "def_dead" {
+ key <AE01> { [ 1, apostrophe, asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl, dead_caron, caron ] };
+ key <AE03> { [ 3, plus, asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, exclam, dead_breve, breve ] };
+ key <AE05> { [ 5, percent, dead_abovering, degree ] };
+ key <AE06> { [ 6, slash, dead_ogonek, ogonek ] };
+ key <AE07> { [ 7, equal, grave, dead_grave ] };
+ key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] };
+ key <AE09> { [ 9, parenright, dead_acute, acute ] };
+ key <AE10> { [ odiaeresis, Odiaeresis, dead_doubleacute, doubleacute ] };
+ key <AE11> { [ udiaeresis, Udiaeresis, dead_diaeresis, diaeresis ] };
+ key <AE12> { [ oacute, Oacute, dead_cedilla, cedilla ] };
+};
+
+// def_nodead:
+// Without dead keys support
+hidden partial alphanumeric_keys
+xkb_symbols "def_nodead" {
+ key <AE01> { [ 1, apostrophe, asciitilde ] };
+ key <AE02> { [ 2, quotedbl, caron ] };
+ key <AE03> { [ 3, plus, asciicircum ] };
+ key <AE04> { [ 4, exclam, breve ] };
+ key <AE05> { [ 5, percent, degree ] };
+ key <AE06> { [ 6, slash, ogonek ] };
+ key <AE07> { [ 7, equal, grave ] };
+ key <AE08> { [ 8, parenleft, abovedot ] };
+ key <AE09> { [ 9, parenright, acute ] };
+ key <AE10> { [ odiaeresis, Odiaeresis, doubleacute ] };
+ key <AE11> { [ udiaeresis, Udiaeresis, diaeresis ] };
+ key <AE12> { [ oacute, Oacute, cedilla ] };
+};
+
+
+// def_common:
+// The common part of all Hungarian layout above
+hidden partial alphanumeric_keys
+xkb_symbols "def_common" {
+ key <AD01> { [ q, Q, backslash ] };
+ key <AD02> { [ w, W, bar ] };
+ key <AD07> { [ u, U, EuroSign ] };
+ key <AD08> { [ i, I, Iacute, iacute ] };
+ key <AD11> { [ odoubleacute, Odoubleacute, division ] };
+ key <AD12> { [ uacute, Uacute, multiply ] };
+
+ key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
+ key <AC02> { [ s, S, dstroke ] };
+ key <AC03> { [ d, D, Dstroke ] };
+ key <AC04> { [ f, F, bracketleft ] };
+ key <AC05> { [ g, G, bracketright ] };
+ key <AC07> { [ j, J, iacute, Iacute ] };
+ key <AC08> { [ k, K, lstroke ] };
+ key <AC09> { [ l, L, Lstroke ] };
+ key <AC10> { [ eacute, Eacute, dollar, cent ] };
+ key <AC11> { [ aacute, Aacute, ssharp ] };
+
+ key <BKSL> { [ udoubleacute, Udoubleacute, currency ] };
+
+ key <AB02> { [ x, X, numbersign ] };
+ key <AB03> { [ c, C, ampersand ] };
+ key <AB04> { [ v, V, at ] };
+ key <AB05> { [ b, B, braceleft ] };
+ key <AB06> { [ n, N, braceright ] };
+ key <AB07> { [ m, M, less ] };
+ key <AB08> { [ comma, question, semicolon ] };
+ key <AB09> { [ period, colon, greater ] };
+ key <AB10> { [ minus, underscore, asterisk ] };
+
+};
diff --git a/data/xkbdata/symbols/pc/ie b/data/xkbdata/symbols/pc/ie
new file mode 100644
index 000000000..5f79d23c6
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ie
@@ -0,0 +1,410 @@
+// $XdotOrg$
+// $XFree86: xc/programs/xkbcomp/symbols/pc/ie,v 1.3 2002/12/31 02:07:04 dawes Exp $
+
+// Irish keyboard map
+
+// Support for Irish (old and new orthography) and English
+// Seamus O Ciardhuain <seoc@cnds.ucd.ie> (19 December 2002)
+
+// The general idea is to provide the characters in ISO 8859-1,
+// ISO 8859-15, ISO 8859-14, CP1252 and "Extended Latin-8".
+// However, not all are accessible directly because there aren't
+// enough keys; some need deadkeys to access them, others the
+// "Multi_key" compose sequences.
+
+// Designed to be similar to the layouts used on Windows
+// and the Macintosh.
+
+// Everything is in Group 1 to be compatible with the
+// multi-layout keyboard support in XFree86 4.3.
+
+// The basic layout is a modern keyboard, but dotted consonants are
+// accessible using a deadkey (AltGr+H or AltGr+W).
+// If a proper Clo Gaelach keyboard is needed, then use the layout
+// defined below as ie(CloGaelach), which gives dotted consonants
+// without use of a deadkey.
+
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Modern keyboard for Irish and English
+ // - acute-accented vowels as AltGr+vowel and AltGr+Shift+vowel
+ // - euro currency sign as AltGr+4
+ // - Comhartha Agus (Tironian Sign Et) as AltGr+Shift+7
+ // - non-breaking space as AltGr+Space and AltGr+Shift+Space
+ // - matches hardware (keys and engraved symbols) for Irish keyboards
+
+ name[Group1] = "Ireland";
+
+ //
+ // Numeric row `1234567890-=
+ //
+ key <TLDE> { [ grave, notsign, brokenbar, NoSymbol ] };
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, trademark, twosuperior ] };
+ key <AE03> { [ 3, sterling, copyright, threesuperior ] };
+ key <AE04> { [ 4, dollar, EuroSign, cent ] };
+ key <AE05> { [ 5, percent, section, dagger ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex, 0x1002030 ] };
+ // per thousand
+ key <AE07> { [ 7, ampersand, paragraph, 0x100204A ] };
+ // Tironian Et
+ key <AE08> { [ 8, asterisk, dead_diaeresis, enfilledcircbullet ] };
+ key <AE09> { [ 9, parenleft, ordfeminine, periodcentered ] };
+ key <AE10> { [ 0, parenright, masculine, degree ] };
+ key <AE11> { [ minus, underscore, endash, emdash ] };
+ key <AE12> { [ equal, plus, notequal, plusminus ] };
+
+ //
+ // QWERTYUIOP[]
+ //
+ key <AD01> { [ q, Q, oe, OE ] };
+ key <AD02> { [ w, W, dead_abovedot, dead_abovedot ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, registered, 0x1002030 ] };
+ // per thousand
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, yen, mu ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, singlelowquotemark, NoSymbol ] };
+ key <AD11> { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] };
+ key <AD12> { [ bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] };
+
+ //
+ // ASDFGHJKL;'#
+ //
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, ssharp, NoSymbol ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, 0x1000192, NoSymbol ] };
+ // f with hook
+ key <AC05> { [ g, G, copyright, NoSymbol ] };
+ key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
+ key <AC07> { [ j, J, idotless, onequarter ] };
+ key <AC08> { [ k, K, dead_abovering, onehalf ] };
+ key <AC09> { [ l, L, acute, threequarters ] };
+ key <AC10> { [ semicolon, colon, ellipsis, doubledagger ] };
+ key <AC11> { [ apostrophe, at, ae, AE ] };
+ key <BKSL> { [ numbersign, asciitilde, guillemotleft, guillemotright ] };
+
+
+ //
+ // \ZXCVBNM,./
+ //
+ key <LSGT> { [ backslash, bar, dead_grave, dead_acute ] };
+ key <AB01> { [ z, Z, leftanglebracket, rightanglebracket ] };
+ key <AB02> { [ x, X, multiply, approximate ] };
+ key <AB03> { [ c, C, dead_cedilla, cedilla ] };
+ key <AB04> { [ v, V, dead_caron, NoSymbol ] };
+ key <AB05> { [ b, B, diaeresis, NoSymbol ] };
+ key <AB06> { [ n, N, dead_tilde, NoSymbol ] };
+ key <AB07> { [ m, M, macron, NoSymbol ] };
+ key <AB08> { [ comma, less, lessthanequal, doublelowquotemark ] };
+ key <AB09> { [ period, greater, greaterthanequal, singlelowquotemark ] };
+ key <AB10> { [ slash, question, division, questiondown ] };
+
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+
+ // NB: putting Shift+<RALT> as Multi_key gives odd behaviour since the
+ // order of pressing keys affects the result.
+
+ include "compose(rwin)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "CloGaelach" {
+
+ // Adds support for Clo Gaelach (old orthography for Irish).
+ // Changes from "basic":
+ // - dotted consonants as AltGr+consonant or AltGr+Shift+consonant (TPSDFGCBM)
+ // - long lowercase r as AltGr+R
+ // - long lowercase s as AltGr+Z
+ // - long lowercase s dotted as AltGr+Shift+Z
+ // - some symbols moved around to retain them
+ // - several characters unlikely to be used are lost
+ // The long letters are needed only where the font provides
+ // both the long and short forms as different glyphs.
+
+ include "pc/ie(basic)"
+
+ name[Group1] = "Ireland - CloGaelach";
+
+ key <TLDE> { [ grave, notsign, brokenbar, ssharp ] };
+ key <AD04> { [ r, R, 0x100027C, registered ] };
+ // long r
+ key <AD05> { [ t, T, tabovedot, Tabovedot ] };
+ key <AD10> { [ p, P, pabovedot, Pabovedot ] };
+
+ key <AC02> { [ s, S, sabovedot, Sabovedot ] };
+ key <AC03> { [ d, D, dabovedot, Dabovedot ] };
+ key <AC04> { [ f, F, fabovedot, Fabovedot ] };
+ key <AC05> { [ g, G, gabovedot, Gabovedot ] };
+
+ key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
+ // long s, long s dot
+ key <AB03> { [ c, C, cabovedot, Cabovedot ] };
+ key <AB05> { [ b, B, babovedot, Babovedot ] };
+ key <AB07> { [ m, M, mabovedot, Mabovedot ] };
+
+ key <LSGT> { [ backslash, bar, dead_grave, dead_cedilla ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "UnicodeExpert" {
+
+// This should eventually be a "Unicode Expert" layout like the Mac one.
+
+ name[Group1] = "Ireland - UnicodeExpert";
+
+ //
+ // Numeric row `1234567890-=
+ //
+ key <TLDE> { [ grave, notsign, 0x10000A6, 0x10000A6 ] };
+ // broken bar
+ key <AE01> { [ 1, exclam, NoSymbol, NoSymbol ] };
+ key <AE02> { [ 2, quotedbl, dead_doubleacute, dead_doubleacute ] };
+ key <AE03> { [ 3, sterling, NoSymbol, NoSymbol ] };
+ key <AE04> { [ 4, dollar, EuroSign, EuroSign ] };
+ key <AE05> { [ 5, percent, NoSymbol, NoSymbol ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
+ key <AE07> { [ 7, ampersand, 0x100204A, 0x100204A ] };
+ // Tironian Et
+ key <AE08> { [ 8, asterisk, dead_abovering, dead_abovering ] };
+ key <AE09> { [ 9, parenleft, dead_breve, dead_breve ] };
+ key <AE10> { [ 0, parenright, dead_ogonek, dead_ogonek ] };
+ key <AE11> { [ minus, underscore, dead_macron, dead_macron ] };
+ key <AE12> { [ equal, plus, NoSymbol, NoSymbol ] };
+
+ //
+ // QWERTYUIOP[]
+ //
+ key <AD01> { [ q, Q, NoSymbol, NoSymbol ] };
+ key <AD02> { [ w, W, NoSymbol, NoSymbol ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, 0x100027C, 0x100027C ] };
+ // long r
+ key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
+ key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
+ key <AD11> { [ bracketleft, braceleft, dead_hook, dead_hook ] };
+ key <AD12> { [ bracketright, braceright, dead_horn, dead_horn ] };
+
+ //
+ // ASDFGHJKL;'#
+ //
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, NoSymbol, NoSymbol ] };
+ key <AC03> { [ d, D, NoSymbol, NoSymbol ] };
+ key <AC04> { [ f, F, NoSymbol, NoSymbol ] };
+ key <AC05> { [ g, G, NoSymbol, NoSymbol ] };
+ key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
+ key <AC07> { [ j, J, NoSymbol, NoSymbol ] };
+ key <AC08> { [ k, K, NoSymbol, NoSymbol ] };
+ key <AC09> { [ l, L, NoSymbol, NoSymbol ] };
+ key <AC10> { [ semicolon, colon, dead_diaeresis, dead_diaeresis ] };
+ key <AC11> { [ apostrophe, at, dead_acute, dead_acute ] };
+ key <BKSL> { [ numbersign, asciitilde, dead_tilde, dead_tilde ] };
+
+ //
+ // \ZXCVBNM,./
+ //
+ key <LSGT> { [ backslash, bar, dead_grave, dead_grave ] };
+ key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
+ // long s, long s dot
+ key <AB02> { [ x, X, NoSymbol, NoSymbol ] };
+ key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
+ key <AB04> { [ v, V, dead_caron, dead_caron ] };
+ key <AB05> { [ b, B, NoSymbol, NoSymbol ] };
+ key <AB06> { [ n, N, NoSymbol, NoSymbol ] };
+ key <AB07> { [ m, M, NoSymbol, NoSymbol ] };
+ key <AB08> { [ comma, less, dead_cedilla, dead_cedilla ] };
+ key <AB09> { [ period, greater, dead_abovedot, dead_abovedot ] };
+ key <AB10> { [ slash, question, dead_belowdot, dead_belowdot ] };
+
+ key <SPCE> { [ space, space, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+
+ include "compose(rwin)"
+};
+
+//
+// Ogham keyboard map for XFree86
+//
+// Seamus O Ciardhuain <seoc@cnds.ucd.ie> (17 December 2002)
+//
+// Ogham keyboard layout as recommended in I.S. 434:1999.
+// Suitable for multi-layout xkbcomp.
+// Character names are given as in the Unicode standard,
+// range U+1680 to U+169F.
+
+partial alphanumeric_keys
+xkb_symbols "ogam" {
+
+ name[Group1] = "Ireland - Ogham";
+
+ key.type[Group1] = "ONE_LEVEL";
+
+ key <LSGT> { type[Group1]="TWO_LEVEL",
+ [ 0x100169B, 0x100169C ] };
+ // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
+
+ key <BKSL> { [ 0x1001680 ] }; // OGHAM SPACE MARK
+
+ key <TLDE> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+
+ key <SPCE> { [ space ] };
+
+ //
+ // Top Row QWERTYUIOP
+ //
+ key <AD01> { [ 0x100168A ] }; // OGHAM LETTER CEIRT
+ key <AD02> { [ 0x1001695 ] }; // OGHAM LETTER EABHADH
+ key <AD03> { [ 0x1001693 ] }; // OGHAM LETTER EADHADH
+ key <AD04> { [ 0x100168F ] }; // OGHAM LETTER RUIS
+ key <AD05> { [ 0x1001688 ] }; // OGHAM LETTER TINNE
+ key <AD06> { [ 0x1001698 ] }; // OGHAM LETTER IFIN
+ key <AD07> { [ 0x1001692 ] }; // OGHAM LETTER UR
+ key <AD08> { [ 0x1001694 ] }; // OGHAM LETTER IODHADH
+ key <AD09> { [ 0x1001691 ] }; // OGHAM LETTER ONN
+ key <AD10> { [ 0x100169A ] }; // OGHAM LETTER PEITH
+
+ //
+ // Middle Row ASDFGHJKL
+ //
+ key <AC01> { [ 0x1001690 ] }; // OGHAM LETTER AILM
+ key <AC02> { [ 0x1001684 ] }; // OGHAM LETTER SAIL
+ key <AC03> { [ 0x1001687 ] }; // OGHAM LETTER DAIR
+ key <AC04> { [ 0x1001683 ] }; // OGHAM LETTER FEARN
+ key <AC05> { [ 0x100168C ] }; // OGHAM LETTER GORT
+ key <AC06> { [ 0x1001686 ] }; // OGHAM LETTER UATH
+ key <AC07> { [ 0x1001697 ] }; // OGHAM LETTER UILLEANN
+ key <AC08> { [ 0x1001696 ] }; // OGHAM LETTER OR
+ key <AC09> { [ 0x1001682 ] }; // OGHAM LETTER LUIS
+
+ //
+ // Bottom Row ZXCVBNM
+ //
+ key <AB01> { [ 0x100168E ] }; // OGHAM LETTER STRAIF
+ key <AB02> { [ 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL
+ key <AB03> { [ 0x1001689 ] }; // OGHAM LETTER COLL
+ key <AB04> { [ 0x100168D ] }; // OGHAM LETTER NGEADAL
+ key <AB05> { [ 0x1001681 ] }; // OGHAM LETTER BEITH
+ key <AB06> { [ 0x1001685 ] }; // OGHAM LETTER NION
+ key <AB07> { [ 0x100168B ] }; // OGHAM LETTER MUIN
+
+ // As an extension because <BKSL> and <LSGT> may not be
+ // available or sensible. These are also a bit more
+ // intuitive on a standard Irish keyboard.
+ key <AB08> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+ key <AB09> { [ 0x100169B ] }; // OGHAM FEATHER MARK
+ key <AB10> { [ 0x1001680 ] }; // OGHAM SPACE MARK
+
+ include "compose(rwin)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "ogam_is434" {
+
+ // This has the full layout of IS434 with an Irish QWERTY keyboard,
+ // and the Ogham characters accessed when CAPS LOCK is on.
+
+ name[Group1] = "Ireland - Ogham IS434";
+
+ key.type[Group1] = "THREE_LEVEL";
+
+ key <LSGT> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
+ [ backslash, bar, 0x100169B, 0x100169C ] };
+ // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
+
+ key <BKSL> { [ numbersign, asciitilde, 0x1001680 ] }; // OGHAM SPACE MARK
+ key <TLDE> { [ grave, notsign, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+ key <SPCE> { [ space, space, space ] };
+
+ //
+ // Numeric row
+ //
+ key <AE01> { type[Group1]="TWO_LEVEL", [ 1, exclam ] };
+ key <AE02> { type[Group1]="TWO_LEVEL", [ 2, quotedbl ] };
+ key <AE03> { type[Group1]="TWO_LEVEL", [ 3, sterling ] };
+ key <AE04> { [ 4, dollar, EuroSign ] };
+ key <AE05> { type[Group1]="TWO_LEVEL", [ 5, percent ] };
+ key <AE06> { type[Group1]="TWO_LEVEL", [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand, 0x100204A ] }; // Tironian Et
+ key <AE08> { type[Group1]="TWO_LEVEL", [ 8, asterisk ] };
+ key <AE09> { type[Group1]="TWO_LEVEL", [ 9, parenleft ] };
+ key <AE10> { type[Group1]="TWO_LEVEL", [ 0, parenright ] };
+ key <AE11> { type[Group1]="TWO_LEVEL", [ minus, underscore ] };
+ key <AE12> { type[Group1]="TWO_LEVEL", [ equal, plus ] };
+
+ //
+ // Top Row QWERTYUIOP
+ //
+ key <AD01> { [ q, Q, 0x100168A ] }; // OGHAM LETTER CEIRT
+ key <AD02> { [ w, W, 0x1001695 ] }; // OGHAM LETTER EABHADH
+ key <AD03> { [ e, E, 0x1001693 ] }; // OGHAM LETTER EADHADH
+ key <AD04> { [ r, R, 0x100168F ] }; // OGHAM LETTER RUIS
+ key <AD05> { [ t, T, 0x1001688 ] }; // OGHAM LETTER TINNE
+ key <AD06> { [ y, Y, 0x1001698 ] }; // OGHAM LETTER IFIN
+ key <AD07> { [ u, U, 0x1001692 ] }; // OGHAM LETTER UR
+ key <AD08> { [ i, I, 0x1001694 ] }; // OGHAM LETTER IODHADH
+ key <AD09> { [ o, O, 0x1001691 ] }; // OGHAM LETTER ONN
+ key <AD10> { [ p, P, 0x100169A ] }; // OGHAM LETTER PEITH
+
+ //
+ // Middle Row ASDFGHJKL
+ //
+ key <AC01> { [ a, A, 0x1001690 ] }; // OGHAM LETTER AILM
+ key <AC02> { [ s, S, 0x1001684 ] }; // OGHAM LETTER SAIL
+ key <AC03> { [ d, D, 0x1001687 ] }; // OGHAM LETTER DAIR
+ key <AC04> { [ f, F, 0x1001683 ] }; // OGHAM LETTER FEARN
+ key <AC05> { [ g, G, 0x100168C ] }; // OGHAM LETTER GORT
+ key <AC06> { [ h, H, 0x1001686 ] }; // OGHAM LETTER UATH
+ key <AC07> { [ j, J, 0x1001697 ] }; // OGHAM LETTER UILLEANN
+ key <AC08> { [ k, K, 0x1001696 ] }; // OGHAM LETTER OR
+ key <AC09> { [ l, L, 0x1001682 ] }; // OGHAM LETTER LUIS
+
+ //
+ // Bottom Row ZXCVBNM
+ //
+ key <AB01> { [ z, Z, 0x100168E ] }; // OGHAM LETTER STRAIF
+ key <AB02> { [ x, X, 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL
+ key <AB03> { [ c, C, 0x1001689 ] }; // OGHAM LETTER COLL
+ key <AB04> { [ v, V, 0x100168D ] }; // OGHAM LETTER NGEADAL
+ key <AB05> { [ b, B, 0x1001681 ] }; // OGHAM LETTER BEITH
+ key <AB06> { [ n, N, 0x1001685 ] }; // OGHAM LETTER NION
+ key <AB07> { [ m, M, 0x100168B ] }; // OGHAM LETTER MUIN
+
+ // As an extension because <BKSL> and <LSGT> may not be
+ // available or sensible. These are also a bit more
+ // intuitive on a standard Irish keyboard.
+ key <AB08> { [ comma, less, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
+ key <AB09> { [ period, greater, 0x100169B ] }; // OGHAM FEATHER MARK
+ key <AB10> { [ slash, question, 0x1001680 ] }; // OGHAM SPACE MARK
+
+ // The standard says the Ogham characters should be accessed when
+ // Caps Lock is down; not clear if this means it should lock but
+ // seems logical.
+
+ key <CAPS> { type[Group1] = "ONE_LEVEL", [ ISO_Level3_Lock ] };
+
+ // Also allow access to Ogham characters using RALT for convenience
+ include "level3(ralt_switch)"
+
+ // Redefine Scroll Lock as locking shift in case that's needed.
+ // Also overcomes annoying use of Scroll Lock LED inherited from
+ // US symbols but not relevant here since we're not changing group.
+ key <SCLK> {type[Group1] = "ONE_LEVEL", [ Shift_Lock ] };
+ modifier_map Shift { Shift_Lock };
+
+ include "compose(rwin)"
+};
diff --git a/data/xkbdata/symbols/pc/il b/data/xkbdata/symbols/pc/il
new file mode 100644
index 000000000..d3ed5f7e2
--- /dev/null
+++ b/data/xkbdata/symbols/pc/il
@@ -0,0 +1,195 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/il' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/il,v 1.3 2003/01/07 02:03:44 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // uses the kbd layout in use in Israel.
+
+ name[Group1]= "Israel";
+
+ key <TLDE> { [ semicolon, asciitilde ] };
+
+ key <AD01> { [ slash, Q ] };
+ key <AD02> { [ apostrophe, W ] };
+ key <AD03> { [ hebrew_qoph, E ] };
+ key <AD04> { [ hebrew_resh, R ] };
+ key <AD05> { [ hebrew_aleph,T ] };
+ key <AD06> { [ hebrew_tet, Y ] };
+ key <AD07> { [ hebrew_waw, U ] };
+ key <AD08> { [ hebrew_finalnun, I ] };
+ key <AD09> { [ hebrew_finalmem, O ] };
+ key <AD10> { [ hebrew_pe, P ] };
+
+ key <AC01> { [ hebrew_shin, A ] };
+ key <AC02> { [ hebrew_dalet,S ] };
+ key <AC03> { [ hebrew_gimel,D ] };
+ key <AC04> { [ hebrew_kaph, F ] };
+ key <AC05> { [ hebrew_ayin, G ] };
+ key <AC06> { [ hebrew_yod, H ] };
+ key <AC07> { [ hebrew_chet, J ] };
+ key <AC08> { [ hebrew_lamed, K ] };
+ key <AC09> { [ hebrew_finalkaph, L ] };
+ key <AC10> { [ hebrew_finalpe, colon ] };
+ key <AC11> { [ comma, quotedbl ] };
+
+ key <AB01> { [ hebrew_zain, Z ] };
+ key <AB02> { [ hebrew_samech, X ] };
+ key <AB03> { [ hebrew_bet, C ] };
+ key <AB04> { [ hebrew_he, V ] };
+ key <AB05> { [ hebrew_nun, B ] };
+ key <AB06> { [ hebrew_mem, N ] };
+ key <AB07> { [ hebrew_zade, M ] };
+ // Mirrored:
+ key <AB08> { [ hebrew_taw, greater ] };
+ key <AB09> { [ hebrew_finalzade, less ] };
+ key <AB10> { [ period, question ] };
+
+ // Note the parens mirroring below:
+ key <AD11> { [ bracketright, braceright ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+ key <AE09> { [ 9 , parenright ] };
+ key <AE10> { [ 0 , parenleft ] };
+ key <BKSL> { [ backslash, bar ] };
+};
+
+
+// nikud patter based on Dekel Tsur's Hebrew mapping for LyX
+partial alphanumeric_keys
+xkb_symbols "lyx" {
+ name[Group1]= "Israel - lyx";
+
+ key <TLDE> { [ semicolon, asciitilde ] };
+ // On some key (e.g. AD01, right below) there is not yet mapping for the
+ // second shift level. Since I could not figure a simple way to map this
+ // to "emit nothing", it is currently mapped to the same letter of the
+ // first shift level (avoiding mapping may risk it be used by a character
+ // from a different group).
+ key <AD01> { [ slash, slash ] };
+ key <AD02> { [ apostrophe, apostrophe ] };
+ key <AD03> { [ hebrew_qoph, 0x10005b8 ] }; // Qamats
+ key <AD04> { [ hebrew_resh, 0x10005bc ] }; // Dagesh/Shuruq
+ key <AD05> { [ hebrew_aleph, 0x100200e ] }; // LRM
+ key <AD06> { [ hebrew_tet, 0x100200f ] }; // RLM
+ key <AD07> { [ hebrew_waw, 0x10005b9 ] }; // Holam
+ key <AD08> { [ hebrew_finalnun,hebrew_finalnun] };
+ key <AD09> { [ hebrew_finalmem,hebrew_finalmem] };
+ key <AD10> { [ hebrew_pe, 0x10005b7 ] }; // Patah
+
+ key <AC01> { [ hebrew_shin, 0x10005b0 ] }; // Sheva
+ key <AC02> { [ hebrew_dalet, 0x10005bc ] }; // Dagesh/Shuruq
+ key <AC03> { [ hebrew_gimel, hebrew_gimel ] };
+ key <AC04> { [ hebrew_kaph, hebrew_kaph ] };
+ key <AC05> { [ hebrew_ayin, 0x10005c2 ] }; // Sin dot
+ key <AC06> { [ hebrew_yod, 0x10005c1 ] }; // Shin dot
+ key <AC07> { [ hebrew_chet, 0x10005b4 ] }; // Hiriq
+ key <AC08> { [ hebrew_lamed, 0x10020aa ] }; // NIS
+ key <AC09> { [ hebrew_finalkaph,hebrew_finalkaph] };
+ key <AC10> { [ hebrew_finalpe, colon ] };
+ key <AC11> { [ comma, quotedbl ] };
+
+ key <AB01> { [ hebrew_zain, hebrew_zain ] };
+ key <AB02> { [ hebrew_samech,0x10005b6 ] }; // Segol
+ key <AB03> { [ hebrew_bet, 0x10005bb ] }; // Qubuts
+ key <AB04> { [ hebrew_he, 0x10005b1 ] }; // H. Segol
+ key <AB05> { [ hebrew_nun, 0x10005b2 ] }; // H. Patah
+ key <AB06> { [ hebrew_mem, 0x10005b3 ] }; // H. Qamats
+ key <AB07> { [ hebrew_zade, 0x10005b5 ] }; // Tsere
+ key <AB08> { [ hebrew_taw, greater ] };
+ key <AB09> { [ hebrew_finalzade, less ] };
+ key <AB10> { [ period, question ] };
+
+ // Note the parens mirroring below:
+ key <AD11> { [ bracketright, braceright ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+ key <AE09> { [ 9 , parenright ] };
+ key <AE10> { [ 0 , parenleft ] };
+
+ key <AE11> { [ minus, 0x10005be ] }; // H. Hiphen
+};
+
+
+
+// This is a partial implemetation of the Israeli standard SI-1452
+// It does not implement changes to the English layout ("Alt-English"),
+// as I believe that it is not the job of this layout to modify the English
+// layout.
+partial alphanumeric_keys
+xkb_symbols "si1452" {
+ name[Group1]= "Israel - si1452";
+
+ include "pc/il(basic)"
+
+ key.type = "THREE_LEVEL";
+
+ key <TLDE> { [ semicolon, asciitilde,0x10005b0 ]}; // Sheva
+ key <AB10> { [ period, question, 0x10005c3 ]}; // Sof Pasuq
+
+ // The following may get overriden by the iso9995-3(basic101) symbols.
+ // therefore they are included here.
+ // Including them isn't a great idea (for instance: what if group 1 uses
+ // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
+ // preserve that, and I'm not sure that this is a good feature.
+ key <AE01> { [ 1, exclam , 0x10005b1 ]}; // H. Segol
+ key <AE02> { [ 2, at , 0x10005b2 ]}; // H. Patah
+ key <AE03> { [ 3, numbersign , 0x10005b3 ]}; // H. Qamats
+ key <AE04> { [ 4, dollar , 0x10005b4 ]}; // Hiriq
+ key <AE05> { [ 5, percent , 0x10005b5 ]}; // Tsere
+ key <AE06> { [ 6, asciicircum , 0x10005b6 ]}; // Segol
+ key <AE07> { [ 7, ampersand , 0x10005b7 ]}; // Patah
+ key <AE08> { [ 8, asterisk , 0x10005b8 ]}; // Qamats
+ // Mirrored!:
+ key <AE09> { [ 9, parenright , 0x10005c2 ]}; // Sin dot
+ key <AE10> { [ 0, parenleft , 0x10005c1 ]}; // Shin dot
+ key <AE11> { [ minus, underscore , 0x10005b9 ]}; // Holam
+ key <AE12> { [ equal, plus , 0x10005bc ]}; // Dagesh/Shuruq
+
+ // Mirrored!:
+ key <AD11> { [ bracketright, braceright, 0x10005bf ]}; // Rafe
+ key <AD12> { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg
+
+ key <BKSL> { [ backslash, backslash, 0x10005bb ]}; // Qubuts
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+
+ // uses the phonetic layout from old Slackware 'il.map' file
+
+ name[Group1]= "Israel - Phonetic";
+
+ key <AE12> { [ equal, plus, hebrew_doublelowline, hebrew_doublelowline ]};
+
+ key <LatQ> { [ hebrew_qoph, hebrew_qoph ] };
+ key <LatW> { [ hebrew_waw, hebrew_waw ] };
+ key <LatE> { [ hebrew_aleph, hebrew_aleph ] };
+ key <LatR> { [ hebrew_resh, hebrew_resh ] };
+ key <LatT> { [ hebrew_taw, hebrew_tet ] };
+ key <LatY> { [ hebrew_ayin, hebrew_ayin ] };
+ key <LatU> { [ hebrew_waw, hebrew_waw ] };
+ key <LatI> { [ hebrew_yod, hebrew_yod ] };
+ key <LatO> { [ hebrew_samech, hebrew_samech ] };
+ key <LatP> { [ hebrew_pe, hebrew_finalpe ] };
+
+ key <LatA> { [ hebrew_aleph, hebrew_aleph ] };
+ key <LatS> { [ hebrew_shin, hebrew_shin ] };
+ key <LatD> { [ hebrew_dalet, hebrew_dalet ] };
+ key <LatF> { [ hebrew_pe, hebrew_finalpe ] };
+ key <LatG> { [ hebrew_gimel, hebrew_gimel ] };
+ key <LatH> { [ hebrew_he, hebrew_he ] };
+ key <LatJ> { [ hebrew_yod, hebrew_yod ] };
+ key <LatK> { [ hebrew_kaph, hebrew_finalkaph ] };
+ key <LatL> { [ hebrew_lamed, hebrew_lamed ] };
+
+ key <LatZ> { [ hebrew_zain, hebrew_zain ] };
+ key <LatX> { [ hebrew_chet, hebrew_chet ] };
+ key <LatC> { [ hebrew_zade, hebrew_finalzade ] };
+ key <LatV> { [ hebrew_waw, hebrew_waw ] };
+ key <LatB> { [ hebrew_bet, hebrew_bet ] };
+ key <LatN> { [ hebrew_nun, hebrew_finalnun ] };
+ key <LatM> { [ hebrew_mem, hebrew_finalmem ] };
+};
+
+
diff --git a/data/xkbdata/symbols/pc/in b/data/xkbdata/symbols/pc/in
new file mode 100644
index 000000000..9250eddcb
--- /dev/null
+++ b/data/xkbdata/symbols/pc/in
@@ -0,0 +1,892 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/in,v 1.9 2005/08/04 22:15:10 svu Exp $
+
+// This layout includes all Indian layouts, including:
+// - Bengali
+// - Gujarati
+// - Kannada
+// - Malayalam
+// - Oriya
+// - Tamil
+// - Telugu
+// - Urdu
+
+// Links:
+// - Indic INSCRIPT keyboard layout diagrams:
+// http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html
+// - Ekusheyr Shadhinota (Bengali layouts):
+// http://ekushey.org/projects/shadhinota/index.html
+// - Microsoft Windows XP SP2: Indic Language Standards - an Introduction:
+// http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx
+
+// based on a keyboard map from an 'xkb/symbols/dev' file
+
+// Devangari is the default. Kill me if I am wrong:)
+default partial alphanumeric_keys
+xkb_symbols "deva" {
+ name[Group1]= "India";
+
+ key <TLDE> { [ 0x100094A, 0x1000912 ] };
+
+ // Mainly numbers.
+ key <AE01> { [ 0x1000967, 0x100090D ] };
+ key <AE02> { [ 0x1000968, 0x1000945 ] };
+ key <AE03> { [ 0x1000969 ] };
+ key <AE04> { [ 0x100096A ] };
+ key <AE05> { [ 0x100096B ] };
+ key <AE06> { [ 0x100096C ] };
+ key <AE07> { [ 0x100096D ] };
+ key <AE08> { [ 0x100096e ] };
+ key <AE09> { [ 0x100096F, parenleft ] };
+ key <AE10> { [ 0x1000966, parenright ] };
+ key <AE11> { [ 0x1000903 ] };
+ key <AE12> { [ 0x1000943, 0x100090B ] };
+
+// Mainly long vowels
+
+ key <AD01> { [ 0x100094C, 0x1000914 ] };
+ key <AD02> { [ 0x1000948, 0x1000910 ] };
+ key <AD03> { [ 0x100093E, 0x1000906 ] };
+ key <AD04> { [ 0x1000940, 0x1000908 ] };
+ key <AD05> { [ 0x1000942, 0x100090A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [ 0x100092C, 0x100092D ] };
+ key <AD07> { [ 0x1000939, 0x1000919 ] };
+ key <AD08> { [ 0x1000917, 0x1000918 ] };
+ key <AD09> { [ 0x1000926, 0x1000927 ] };
+ key <AD10> { [ 0x100091C, 0x100091D ] };
+ key <AD11> { [ 0x1000921, 0x1000922 ] };
+ key <AD12> { [ 0x100093C, 0x100091E ] };
+
+// Mainly short vowels
+ key <AC01> { [ 0x100094B, 0x1000913 ] };
+ key <AC02> { [ 0x1000947, 0x100090F ] };
+ key <AC03> { [ 0x100094D, 0x1000905 ] };
+ key <AC04> { [ 0x100093F, 0x1000907 ] };
+ key <AC05> { [ 0x1000941, 0x1000909 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [ 0x100092A, 0x100092B ] };
+ key <AC07> { [ 0x1000930, 0x1000931 ] };
+ key <AC08> { [ 0x1000915, 0x1000916 ] };
+ key <AC09> { [ 0x1000924, 0x1000925 ] };
+ key <AC10> { [ 0x100091A, 0x100091B ] };
+ key <AC11> { [ 0x100091F, 0x1000920 ] };
+ key <BKSL> { [ 0x1000949, 0x1000911 ] };
+
+ key <AB01> { [ 0x1000946, 0x100090E ] };
+ key <AB02> { [ 0x1000902, 0x1000901 ] };
+ key <AB03> { [ 0x100092E, 0x1000923 ] };
+ key <AB04> { [ 0x1000928, 0x1000929 ] };
+ key <AB05> { [ 0x1000935, 0x1000934 ] };
+ key <AB06> { [ 0x1000932, 0x1000933 ] };
+ key <AB07> { [ 0x1000938, 0x1000936 ] };
+ key <AB08> { [ comma, 0x1000937 ] };
+ key <AB09> { [ period, 0x1000964 ] };
+ key <AB10> { [ 0x100092F, question ] };
+};
+
+// based on a keyboard map from an 'xkb/symbols/ben' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/ben,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "ben" {
+ name[Group1]= "India - Bengali";
+
+ // Mainly numbers.
+ key <AE01> { [ 0x10009E7 ] };
+ key <AE02> { [ 0x10009E8 ] };
+ key <AE03> { [ 0x10009E9 ] };
+ key <AE04> { [ 0x10009EA ] };
+ key <AE05> { [ 0x10009EB ] };
+ key <AE06> { [ 0x10009EC ] };
+ key <AE07> { [ 0x10009ED ] };
+ key <AE08> { [ 0x10009EE ] };
+ key <AE09> { [ 0x10009EF, parenleft ] };
+ key <AE10> { [ 0x10009E6, parenright ] };
+ key <AE11> { [ minus, 0x1000983 ] };
+ key <AE12> { [ 0x100098B, 0x10009C3 ] };
+
+// Mainly long vowels
+
+ key <AD01> { [ 0x10009CC, 0x1000994 ] };
+ key <AD02> { [ 0x10009C8, 0x1000990 ] };
+ key <AD03> { [ 0x10009BE, 0x1000986 ] };
+ key <AD04> { [ 0x10009C0, 0x1000988 ] };
+ key <AD05> { [ 0x10009C2, 0x100098A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [ 0x10009AC, 0x10009AD ] };
+ key <AD07> { [ 0x10009B9, 0x1000999 ] };
+ key <AD08> { [ 0x1000997, 0x1000998 ] };
+ key <AD09> { [ 0x10009A6, 0x10009A7 ] };
+ key <AD10> { [ 0x100099C, 0x100099D ] };
+ key <AD11> { [ 0x10009A1, 0x10009A2 ] };
+ key <AD12> { [ 0x10009BC, 0x100099E ] };
+
+// Mainly short vowels
+ key <AC01> { [ 0x10009CB, 0x1000993 ] };
+ key <AC02> { [ 0x10009C7, 0x100098F ] };
+ key <AC03> { [ 0x10009CD, 0x1000985 ] };
+ key <AC04> { [ 0x10009BF, 0x1000987 ] };
+ key <AC05> { [ 0x10009C1, 0x1000989 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [ 0x10009AA, 0x10009AB ] };
+ key <AC07> { [ 0x10009B0, 0x10009DD ] };
+ key <AC08> { [ 0x1000995, 0x1000996 ] };
+ key <AC09> { [ 0x10009A4, 0x10009A5 ] };
+ key <AC10> { [ 0x100099A, 0x100099B ] };
+ key <AC11> { [ 0x100099F, 0x10009A0 ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ 0x1000982, 0x1000981 ] };
+ key <AB03> { [ 0x10009AE, 0x10009A3 ] };
+ key <AB04> { [ 0x10009A8, 0x10009A8 ] };
+ key <AB05> { [ 0x10009AC, 0x10009AC ] };
+ key <AB06> { [ 0x10009B2, 0x10009B2 ] };
+ key <AB07> { [ 0x10009B8, 0x10009B6 ] };
+ key <AB08> { [ comma, 0x10009B7 ] };
+ key <AB09> { [ period, 0x1000964 ] };
+ key <AB10> { [ 0x10009DF, 0x10009AF ] };
+};
+
+xkb_symbols "ben_probhat" {
+ name[Group1]= "India - Bengali Probhat";
+ key <ESC> { [ Escape ] };
+
+// numbers
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <AE01> { [ 0x10009E7, exclam ] };
+ key <AE02> { [ 0x10009E8, at ] };
+ key <AE03> { [ 0x10009E9, numbersign ] };
+ key <AE04> { [ 0x10009EA, 0x10009F3 ] };
+ key <AE05> { [ 0x10009EB, percent ] };
+ key <AE06> { [ 0x10009EC, asciicircum ] };
+ key <AE07> { [ 0x10009ED, 0x100099E ] };
+ key <AE08> { [ 0x10009EE, asterisk ] };
+ key <AE09> { [ 0x10009EF, parenleft ] };
+ key <AE10> { [ 0x10009E6, parenright ] };
+ key <AE11> { [ minus, 0x1000983 ] };
+ key <AE12> { [ 0x100098B, 0x10009C3 ] };
+ key <BKSP> { [ BackSpace ] };
+
+// tab, q to ]
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ 0x10009A6, 0x10009A7 ] };
+ key <AD02> { [ 0x10009C2, 0x100098A ] };
+ key <AD03> { [ 0x10009C0, 0x1000988 ] };
+ key <AD04> { [ 0x10009B0, 0x10009DC ] };
+ key <AD05> { [ 0x100099F, 0x10009A0 ] };
+ key <AD06> { [ 0x100098F, 0x1000990 ] };
+ key <AD07> { [ 0x10009C1, 0x1000989 ] };
+ key <AD08> { [ 0x10009BF, 0x1000987 ] };
+ key <AD09> { [ 0x1000993, 0x1000994 ] };
+ key <AD10> { [ 0x10009AA, 0x10009AB ] };
+ key <AD11> { [ 0x10009C7, 0x10009C8 ] };
+ key <AD12> { [ 0x10009CB, 0x10009CC ] };
+ key <RTRN> { [ Return ] };
+
+// caps, a to '
+// key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ 0x10009BE, 0x1000985 ] };
+ key <AC02> { [ 0x10009B8, 0x10009B7 ] };
+ key <AC03> { [ 0x10009A1, 0x10009A2 ] };
+ key <AC04> { [ 0x10009A4, 0x10009A5 ] };
+ key <AC05> { [ 0x1000997, 0x1000998 ] };
+ key <AC06> { [ 0x10009B9, 0x1000983 ] };
+ key <AC07> { [ 0x100099C, 0x100099D ] };
+ key <AC08> { [ 0x1000995, 0x1000996 ] };
+ key <AC09> { [ 0x10009B2, 0x1000982 ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+
+// shift, z to /
+// key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ 0x10009DF, 0x10009AF ] };
+ key <AB02> { [ 0x10009B6, 0x10009DD ] };
+ key <AB03> { [ 0x100099A, 0x100099B ] };
+ key <AB04> { [ 0x1000986, 0x100098B ] };
+ key <AB05> { [ 0x10009AC, 0x10009AD ] };
+ key <AB06> { [ 0x10009A8, 0x10009A3 ] };
+ key <AB07> { [ 0x10009AE, 0x1000999 ] };
+ key <AB08> { [ comma, 0x10009C3 ] };
+ key <AB09> { [ period, 0x1000981 ] };
+ key <AB10> { [ 0x10009CD, question ] };
+ key <BKSL> { [ backslash, bar ] };
+
+// key <LCTL> { [ Control_L ] };
+// key <SPCE> { [ space ] };
+
+// modifier_map Shift { Shift_L };
+// modifier_map Lock { Caps_Lock };
+// modifier_map Control{ Control_L };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "guj" {
+ name[Group1]= "India - Gujarati";
+
+ // Mainly numbers.
+ key <AE01> { [ 0x1000AE7, 0x1000A8D ] };
+ key <AE02> { [ 0x1000AE8, 0x1000AC5 ] };
+ key <AE03> { [ 0x1000AE9 ] };
+ key <AE04> { [ 0x1000AEA ] };
+ key <AE05> { [ 0x1000AEB ] };
+ key <AE06> { [ 0x1000AEC ] };
+ key <AE07> { [ 0x1000AED ] };
+ key <AE08> { [ 0x1000AEE ] };
+ key <AE09> { [ 0x1000AEF, parenleft ] };
+ key <AE10> { [ 0x1000AE6, parenright ] };
+ key <AE11> { [ minus, 0x1000A83 ] };
+ key <AE12> { [ 0x1000A8B, 0x1000AC3 ] };
+
+// Mainly long vowels
+
+ key <AD01> { [ 0x1000ACC, 0x1000A94 ] };
+ key <AD02> { [ 0x1000AC8, 0x1000A90 ] };
+ key <AD03> { [ 0x1000ABE, 0x1000A86 ] };
+ key <AD04> { [ 0x1000AC0, 0x1000A88 ] };
+ key <AD05> { [ 0x1000AC2, 0x1000A8A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [ 0x1000AAC, 0x1000AAD ] };
+ key <AD07> { [ 0x1000AB9, 0x1000A99 ] };
+ key <AD08> { [ 0x1000A97, 0x1000A98 ] };
+ key <AD09> { [ 0x1000AA6, 0x1000AA7 ] };
+ key <AD10> { [ 0x1000A9C, 0x1000A9D ] };
+ key <AD11> { [ 0x1000AA1, 0x1000AA2 ] };
+ key <AD12> { [ 0x1000ABC, 0x1000A9E ] };
+
+// Mainly short vowels
+ key <AC01> { [ 0x1000ACB, 0x1000A93 ] };
+ key <AC02> { [ 0x1000AC7, 0x1000A8F ] };
+ key <AC03> { [ 0x1000ACD, 0x1000A85 ] };
+ key <AC04> { [ 0x1000ABF, 0x1000A87 ] };
+ key <AC05> { [ 0x1000AC1, 0x1000A89 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [ 0x1000AAA, 0x1000AAB ] };
+ key <AC07> { [ 0x1000AB0, guj_rra ] };
+ key <AC08> { [ 0x1000A95, 0x1000A96 ] };
+ key <AC09> { [ 0x1000AA4, 0x1000AA5 ] };
+ key <AC10> { [ 0x1000A9A, 0x1000A9B ] };
+ key <AC11> { [ 0x1000A9F, 0x1000AA0 ] };
+ key <BKSL> { [ 0x1000AC9, 0x1000A91 ] };
+
+ key <AB01> { [ z , Z ] };
+ key <AB02> { [ 0x1000A82, 0x1000A81 ] };
+ key <AB03> { [ 0x1000AAE, 0x1000AA3 ] };
+ key <AB04> { [ 0x1000AA8, guj_nnna ] };
+ key <AB05> { [ 0x1000AB5, guj_llla ] };
+ key <AB06> { [ 0x1000AB2, 0x1000AB3 ] };
+ key <AB07> { [ 0x1000AB8, 0x1000AB6 ] };
+ key <AB08> { [ comma, 0x1000AB7 ] };
+ key <AB09> { [ period, 0x1000964 ] };
+ key <AB10> { [ 0x1000AAF, question ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "kan" {
+
+ // Inscript layout for Kannada
+ // Author : G Karunakar <karunakar@freedomink.org>
+ // Date : Wed Nov 13 17:22:58 IST 2002
+ // Kannada digits mapped in basic only
+
+ name[Group1]= "India - Kannada";
+
+ key <TLDE> { [ 0x01000cca, 0x01000c92 ] };
+ key <AE01> { [ 0x01000ce7, 0x01000c8d ] };
+ key <AE02> { [ 0x01000ce8, 0x01000cc5 ] };
+ key <AE03> { [ 0x01000ce9 ] };
+ key <AE04> { [ 0x01000cea ] };
+ key <AE05> { [ 0x01000ceb ] };
+ key <AE06> { [ 0x01000cec ] };
+ key <AE07> { [ 0x01000ced ] };
+ key <AE08> { [ 0x01000cee ] };
+ key <AE09> { [ 0x01000cef ] };
+ key <AE10> { [ 0x01000ce6 ] };
+ key <AE11> { [ 0x01000c83 ] };
+ key <AE12> { [ 0x01000cc3, 0x01000c8b ] };
+
+ key <AD01> { [ 0x01000ccc, 0x01000c94 ] };
+ key <AD02> { [ 0x01000cc8, 0x01000c90 ] };
+ key <AD03> { [ 0x01000cbe, 0x01000c86 ] };
+ key <AD04> { [ 0x01000cc0, 0x01000c88 ] };
+ key <AD05> { [ 0x01000cc2, 0x01000c8a ] };
+ key <AD06> { [ 0x01000cac, 0x01000cad ] };
+ key <AD07> { [ 0x01000cb9, 0x01000c99 ] };
+ key <AD08> { [ 0x01000c97, 0x01000c98 ] };
+ key <AD09> { [ 0x01000ca6, 0x01000ca7 ] };
+ key <AD10> { [ 0x01000c9c, 0x01000c9d ] };
+ key <AD11> { [ 0x01000ca1, 0x01000ca2 ] };
+ key <AD12> { [ 0x01000cbc, 0x01000c9e ] };
+
+ key <AC01> { [ 0x01000ccb, 0x01000c93 ] };
+ key <AC02> { [ 0x01000cc7, 0x01000c8f ] };
+ key <AC03> { [ 0x01000ccd, 0x01000c85 ] };
+ key <AC04> { [ 0x01000cbf, 0x01000c87 ] };
+ key <AC05> { [ 0x01000cc1, 0x01000c89 ] };
+ key <AC06> { [ 0x01000caa, 0x01000cab ] };
+ key <AC07> { [ 0x01000cb0, 0x01000cb1 ] };
+ key <AC08> { [ 0x01000c95, 0x01000c96 ] };
+ key <AC09> { [ 0x01000ca4, 0x01000ca5 ] };
+ key <AC10> { [ 0x01000c9a, 0x01000c9b ] };
+ key <AC11> { [ 0x01000c9f, 0x01000ca0 ] };
+
+ key <AB01> { [ 0x01000cc6, 0x01000c8e ] };
+ key <AB02> { [ 0x01000c82, 0x01000c81 ] };
+ key <AB03> { [ 0x01000cae, 0x01000ca3 ] };
+ key <AB04> { [ 0x01000ca8, 0x01000ca9 ] };
+ key <AB05> { [ 0x01000cb5, 0x01000cb4 ] };
+ key <AB06> { [ 0x01000cb2, 0x01000cb3 ] };
+ key <AB07> { [ 0x01000cb8, 0x01000cb6 ] };
+ key <AB08> { [ comma , 0x01000cb7 ] };
+ key <AB09> { [ period , 0x01000ce4 ] };
+ key <AB10> { [ 0x01000caf, 0x01000040 ] };
+ key <BKSL> { [ 0x01000cc9, 0x01000c91 ] };
+
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods = AltGr
+ };
+
+};
+
+// Description : A keymap for Malayalam
+// Encoding : Unicode (http://www.unicode.org)
+// Author : Baiju M <baiju@freeshell.org>
+// Date : Sat Aug 17 21:10:48 IST 2002
+// Mapping:
+
+partial alphanumeric_keys
+xkb_symbols "mal" {
+
+ name[Group1] = "India - Malayalam";
+
+ //From grave to backslash (\)
+
+ key <TLDE> { [ 0x01000d4a , 0x01000d12 ] };
+
+// svu:
+// These lines were in former "mal" variant -
+// but the digits are replaced with the ones from 'mal_plusnum' -
+// for the integrity of all Indian layouts
+//
+// key <AE01> { [1 , exclam ] };
+// key <AE02> { [2 , at ] };
+// key <AE03> { [3 , numbersign ] };
+// key <AE04> { [4 , dollar ] };
+// key <AE05> { [5 , percent ] };
+// key <AE06> { [6 ,asciicircum ] };
+// key <AE07> { [7 , ampersand ] };
+// key <AE08> { [8 , 0x01000d7e ] };
+// key <AE09> { [9 , parenleft ] };
+// key <AE10> { [0 , parenright ] };
+
+ key <AE01> { [ 0x01000d67 , exclam ] };
+ key <AE02> { [ 0x01000d68 , at ] };
+ key <AE03> { [ 0x01000d69 , numbersign ] };
+ key <AE04> { [ 0x01000d6a , dollar ] };
+ key <AE05> { [ 0x01000d6b , percent ] };
+ key <AE06> { [ 0x01000d6c , asciicircum ] };
+ key <AE07> { [ 0x01000d6d , ampersand ] };
+ key <AE08> { [ 0x01000d6e , 0x01000d7e ] };
+ key <AE09> { [ 0x01000d6f , parenleft ] };
+ key <AE10> { [ 0x01000d66 , parenright ] };
+
+ key <AE11> { [ minus , 0x01000d03 ] };
+ key <AE12> { [ 0x01000d43 , 0x01000d0b ] };
+ key <BKSL> { [ 0x01000d7c ] };
+
+ // From 'q' to right bracket (])
+
+ key <AD01> { [ 0x01000d4c , 0x01000d14 ] };
+ key <AD02> { [ 0x01000d48 , 0x01000d10 ] };
+ key <AD03> { [ 0x01000d3e , 0x01000d06 ] };
+ key <AD04> { [ 0x01000d40 , 0x01000d08 ] };
+ key <AD05> { [ 0x01000d42 , 0x01000d0a ] };
+ key <AD06> { [ 0x01000d2c , 0x01000d2d ] };
+ key <AD07> { [ 0x01000d39 , 0x01000d19 ] };
+ key <AD08> { [ 0x01000d17 , 0x01000d18 ] };
+ key <AD09> { [ 0x01000d26 , 0x01000d27 ] };
+ key <AD10> { [ 0x01000d1c , 0x01000d1d ] };
+ key <AD11> { [ 0x01000d21 , 0x01000d22 ] };
+ key <AD12> { [ 0x0100200d , 0x01000d1e ] };
+
+ // From 'a' to apostrophe (')
+
+ key <AC01> { [ 0x01000d4b , 0x01000d13 ] };
+ key <AC02> { [ 0x01000d47 , 0x01000d0f ] };
+ key <AC03> { [ 0x01000d4d , 0x01000d05 ] };
+ key <AC04> { [ 0x01000d3f , 0x01000d07 ] };
+ key <AC05> { [ 0x01000d41 , 0x01000d09 ] };
+ key <AC06> { [ 0x01000d2a , 0x01000d2b ] };
+ key <AC07> { [ 0x01000d30 , 0x01000d31 ] };
+ key <AC08> { [ 0x01000d15 , 0x01000d16 ] };
+ key <AC09> { [ 0x01000d24 , 0x01000d25 ] };
+ key <AC10> { [ 0x01000d1a , 0x01000d1b ] };
+ key <AC11> { [ 0x01000d1f , 0x01000d20 ] };
+
+ // From 'z' to slash (/)
+
+ key <AB01> { [ 0x01000d46 , 0x01000d0e ] };
+ key <AB02> { [ 0x01000d02 , 0x01000d7a ] };
+ key <AB03> { [ 0x01000d2e , 0x01000d23 ] };
+ key <AB04> { [ 0x01000d28 , 0x01000d7b ] };
+ key <AB05> { [ 0x01000d35 , 0x01000d34 ] };
+ key <AB06> { [ 0x01000d32 , 0x01000d33 ] };
+ key <AB07> { [ 0x01000d38 , 0x01000d36 ] };
+ key <AB08> { [ comma , 0x01000d37 ] };
+ key <AB09> { [ period , 0x01000d7d ] };
+ key <AB10> { [ 0x01000d2f , question ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "ori" {
+ // Inscript layout for Oriya
+ // Author: G Karunakar <karunakar@freedomink.org>
+ // Date: Wed Nov 13 18:16:19 IST 2002
+
+ name[Group1]= "India - Oriya";
+
+ key <TLDE> { [ 0x01000b4a, 0x01000b12 ] };
+ key <AE01> { [ 0x01000b67, 0x01000b0d ] };
+ key <AE02> { [ 0x01000b68, 0x01000b45 ] };
+ key <AE03> { [ 0x01000b69 ] };
+ key <AE04> { [ 0x01000b6a ] };
+ key <AE05> { [ 0x01000b6b ] };
+ key <AE06> { [ 0x01000b6c ] };
+ key <AE07> { [ 0x01000b6d ] };
+ key <AE08> { [ 0x01000b6e ] };
+ key <AE09> { [ 0x01000b6f ] };
+ key <AE10> { [ 0x01000b66 ] };
+ key <AE11> { [ 0x01000b03 ] };
+ key <AE12> { [ 0x01000b43, 0x01000b0b ] };
+
+ key <AD01> { [ 0x01000b4c, 0x01000b14 ] };
+ key <AD02> { [ 0x01000b48, 0x01000b10 ] };
+ key <AD03> { [ 0x01000b3e, 0x01000b06 ] };
+ key <AD04> { [ 0x01000b40, 0x01000b08 ] };
+ key <AD05> { [ 0x01000b42, 0x01000b0a ] };
+ key <AD06> { [ 0x01000b2c, 0x01000b2d ] };
+ key <AD07> { [ 0x01000b39, 0x01000b19 ] };
+ key <AD08> { [ 0x01000b17, 0x01000b18 ] };
+ key <AD09> { [ 0x01000b26, 0x01000b27 ] };
+ key <AD10> { [ 0x01000b1c, 0x01000b1d ] };
+ key <AD11> { [ 0x01000b21, 0x01000b22 ] };
+ key <AD12> { [ 0x01000b3c, 0x01000b1e ] };
+
+ key <AC01> { [ 0x01000b4b, 0x01000b13 ] };
+ key <AC02> { [ 0x01000b47, 0x01000b0f ] };
+ key <AC03> { [ 0x01000b4d, 0x01000b05 ] };
+ key <AC04> { [ 0x01000b3f, 0x01000b07 ] };
+ key <AC05> { [ 0x01000b41, 0x01000b09 ] };
+ key <AC06> { [ 0x01000b2a, 0x01000b2b ] };
+ key <AC07> { [ 0x01000b30, 0x01000b31 ] };
+ key <AC08> { [ 0x01000b15, 0x01000b16 ] };
+ key <AC09> { [ 0x01000b24, 0x01000b25 ] };
+ key <AC10> { [ 0x01000b1a, 0x01000b1b ] };
+ key <AC11> { [ 0x01000b1f, 0x01000b20 ] };
+
+ key <AB01> { [ 0x01000b46, 0x01000b0e ] };
+ key <AB02> { [ 0x01000b02, 0x01000b01 ] };
+ key <AB03> { [ 0x01000b2e, 0x01000b23 ] };
+ key <AB04> { [ 0x01000b28, 0x01000b29 ] };
+ key <AB05> { [ 0x01000b35, 0x01000b34 ] };
+ key <AB06> { [ 0x01000b32, 0x01000b33 ] };
+ key <AB07> { [ 0x01000b38, 0x01000b36 ] };
+ key <AB08> { [ comma , 0x01000b37 ] };
+ key <AB09> { [ period , 0x01000b64 ] };
+ key <AB10> { [ 0x01000b2f, 0x01000040 ] };
+ key <BKSL> { [ 0x01000b49, 0x01000b11 ] };
+
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods = AltGr
+ };
+};
+
+// INSCRIPT
+partial alphanumeric_keys
+xkb_symbols "tam" {
+ name[Group1]= "India - Tamil";
+
+ key <TLDE> { [ 0x1000BCA, 0x1000B92 ] };
+
+ // Mainly numbers.
+ key <AE01> { [ 0x1000BE7 ] };
+ key <AE02> { [ 0x1000BE8 ] };
+ key <AE03> { [ 0x1000BE9 ] };
+ key <AE04> { [ 0x1000BEA ] };
+ key <AE05> { [ 0x1000BEB ] };
+ key <AE06> { [ 0x1000BEC ] };
+ key <AE07> { [ 0x1000BED ] };
+ key <AE08> { [ 0x1000BEE ] };
+ key <AE09> { [ 0x1000BEF, parenleft ] };
+ key <AE10> { [ 0x1000BF0, parenright ] };
+ key <AE11> { [ 0x1000BF1, 0x1000B83 ] };
+ key <AE12> { [ 0x1000BF2, plus ] };
+
+// Mainly long vowels
+
+ key <AD01> { [ 0x1000BCC, 0x1000B94 ] };
+ key <AD02> { [ 0x1000BC8, 0x1000B90 ] };
+ key <AD03> { [ 0x1000BBE, 0x1000B86 ] };
+ key <AD04> { [ 0x1000BC0, 0x1000B88 ] };
+ key <AD05> { [ 0x1000BC2, 0x1000B8A ] };
+
+// Mainly voiced consonants
+
+ key <AD07> { [ 0x1000BB9, 0x1000B99 ] };
+ key <AD12> { [ 0x1000BBC, 0x1000B9E ] };
+
+// Mainly short vowels
+ key <AC01> { [ 0x1000BCB, 0x1000B93 ] };
+ key <AC02> { [ 0x1000BC7, 0x1000B8F ] };
+ key <AC03> { [ 0x1000BCD, 0x1000B85 ] };
+ key <AC04> { [ 0x1000BBF, 0x1000B87 ] };
+ key <AC05> { [ 0x1000BC1, 0x1000B89 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [ 0x1000BAA ] };
+ key <AC07> { [ 0x1000BB0, 0x1000BB1 ] };
+ key <AC08> { [ 0x1000B95 ] };
+ key <AC09> { [ 0x1000BA4 ] };
+ key <AC10> { [ 0x1000B9A ] };
+ key <AC11> { [ 0x1000B9F ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <AB01> { [ 0x1000BC6, 0x1000B8E ] };
+ key <AB02> { [ 0x1000B82 ] };
+ key <AB03> { [ 0x1000BAE, 0x1000BA3 ] };
+ key <AB04> { [ 0x1000BA8, 0x1000BA9 ] };
+ key <AB05> { [ 0x1000BB5, 0x1000BB4 ] };
+ key <AB06> { [ 0x1000BB2, 0x1000BB3 ] };
+ key <AB07> { [ 0x1000BB8 ] };
+ key <AB08> { [ comma, 0x1000BB7 ] };
+ key <AB09> { [ period, 0x1000964 ] };
+ key <AB10> { [ 0x1000BAF, question ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_unicode" {
+
+// Description: A keymap based on the TamilNet'99 typewriter keyboard
+// Encoding: Unicode (http://www.unicode.org)
+// Author: Thuraiappah Vaseeharan <vasee@ieee.org>
+// Date : Sat Feb 9 21:10:48 CST 2002
+// Mapping:
+
+ name[Group1]= "India - Tamil Unicode";
+
+ // granthas
+ key <AE01> { [ 0x1000b83 ] } ;
+ key <AE03> { [ 0x1000b9c ] } ;
+ key <AE04> { [ 0x1000bb7 ] } ;
+ key <AE05> { [ 0x1000bb8 ] } ;
+ key <AE06> { [ 0x1000bb9 ] } ;
+
+ // Qrow
+ key <AD01> { [ 0x1000b9e ] };
+ key <AD02> { [ 0x1000bb1 ] };
+ key <AD03> { [ 0x1000ba8 ] };
+ key <AD04> { [ 0x1000b9a ] };
+ key <AD05> { [ 0x1000bb5 ] };
+ key <AD06> { [ 0x1000bb2 ] };
+ key <AD07> { [ 0x1000bb0 ] };
+ key <AD08> { [ 0x1000bc8, 0x1000b90 ] };
+ key <AD09> { [ 0x1000bca, 0x1000bcb ] };
+ key <AD10> { [ 0x1000bbf, 0x1000bc0 ] };
+ key <AD11> { [ 0x1000bc1, 0x1000bc2 ] };
+
+ // Arow
+ key <AC01> { [ 0x1000baf ] };
+ key <AC02> { [ 0x1000bb3 ] };
+ key <AC03> { [ 0x1000ba9 ] };
+ key <AC04> { [ 0x1000b95 ] };
+ key <AC05> { [ 0x1000baa ] };
+ key <AC06> { [ 0x1000bbe, 0x1000bb4 ] };
+ key <AC07> { [ 0x1000ba4 ] };
+ key <AC08> { [ 0x1000bae ] };
+ key <AC09> { [ 0x1000b9f ] };
+ key <AC10> { [ 0x1000bcd ] };
+ key <AC11> { [ 0x1000b99 ] };
+
+ // Zrow
+ key <AB01> { [ 0x1000ba3 ] };
+ key <AB02> { [ 0x1000b92, 0x1000b93 ] };
+ key <AB03> { [ 0x1000b89, 0x1000b8a ] };
+ key <AB04> { [ 0x1000b8e, 0x1000b8f ] };
+ key <AB05> { [ 0x1000bc6, 0x1000bc7 ] };
+ key <AB06> { [ 0x1000b94, 0x1000bcc ] };
+ key <AB07> { [ 0x1000b85, 0x1000b86 ] };
+ key <AB08> { [ 0x1000b87, 0x1000b88 ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_TSCII" {
+
+// Description : A Tamil typewrite-style keymap
+// loosely based on TamilNet'99 reommendations
+// Encoding : TSCII (http://www.tscii.org)
+// Author : Thuraiappah Vaseeharan <vasee@ieee.org>
+// Last Modified: Sat Jan 5 17:11:26 CST 2002
+
+ name[Group1]= "India - Tamil TSCII Typewriter";
+
+ key <AE01> { [ 0x10000b7, 0x10000a4 ] }; // aytham
+ key <AE02> { [ 0x1000082, 0x10000a5 ] }; // shri
+ key <AE03> { [ 0x1000083, 0x1000088 ] }; // ja
+ key <AE04> { [ 0x1000084, 0x1000089 ] }; // sha
+ key <AE05> { [ 0x1000085, 0x100008a ] }; // sa
+ key <AE06> { [ 0x1000086, 0x100008b ] }; // ha
+ key <AE07> { [ 0x1000087, 0x100008c ] }; // ksha
+
+ // Qrow
+ key <AD01> { [ 0x10000bb, 0x100009a ] }; // nja
+ key <AD02> { [ 0x10000c8, 0x10000da ] }; // Ra
+ key <AD03> { [ 0x10000bf, 0x10000d1 ] }; // NNa
+ key <AD04> { [ 0x10000ba, 0x10000cd ] }; // ca
+ key <AD05> { [ 0x10000c5, 0x10000d7 ] }; // va
+ key <AD06> { [ 0x10000c4, 0x10000d6 ] }; // la
+ key <AD07> { [ 0x10000c3, 0x10000d5 ] }; // ra
+ key <AD08> { [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
+ key <AD09> { [ 0x10000ca, 0x10000cb ] }; // di, dI
+ key <AD10> { [ 0x10000a2, 0x10000a3 ] }; // visiri
+ key <AD11> { [ dead_acute, 0x10000a3 ] }; // Ukaaram
+
+ // Arow
+ key <AC01> { [ 0x10000c2, 0x10000d4 ] }; // ya
+ key <AC02> { [ 0x10000c7, 0x10000d9 ] }; // La
+ key <AC03> { [ 0x10000c9, 0x10000db ] }; // na
+ key <AC04> { [ 0x10000b8, 0x10000cc ] }; // ka
+ key <AC05> { [ 0x10000c0, 0x10000d2 ] }; // pa
+ key <AC06> { [ dead_grave,0x10000a1 ] }; // pulli,aravu
+ key <AC07> { [ 0x10000be, 0x10000d0 ] }; // tha
+ key <AC08> { [ 0x10000c1, 0x10000d3 ] }; // ma
+ key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
+ key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
+ key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
+
+ // Zrow
+ key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
+ key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
+ key <AB03> { [ 0x10000af, 0x10000b0 ] }; // u, U
+ key <AB04> { [ 0x10000b1, 0x10000b2 ] }; // e, E
+ key <AB05> { [ 0x10000a6, 0x10000a7 ] }; // kombus
+ key <AB06> { [ 0x10000b6, 0x10000aa ] }; // au
+ key <AB07> { [ 0x10000ab, 0x10000ac ] }; // a, A
+ key <AB08> { [ 0x10000fe, 0x10000ae ] }; // i, I
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_TAB" {
+
+// Description: A keymap based on the TamilNet'99 typewriter keyboard
+// Encoding: TAB (http://www.tamilnet99.org)
+// Author: Thuraiappah Vaseeharan <t_vasee@yahoo.com>
+// Date : Sun Aug 12 02:23:00 CDT 2001
+
+ name[Group1]= "India - Tamil TAB Typewriter";
+
+ // numeral row
+ key <AE01> { [ 0x10000e7, 0x10000a7 ] } ;
+ key <AE02> { [ 0x10000fa, 0x10000a8 ] } ;
+ key <AE03> { [ 0x10000fb ] } ;
+ key <AE04> { [ 0x10000fc ] } ;
+ key <AE05> { [ 0x10000fd ] } ;
+ key <AE06> { [ 0x10000fe ] } ;
+ key <AE07> { [ 0x10000ff ] } ;
+
+ // q-row
+ key <AD01> { [ 0x10000eb, 0x10000b3 ] };
+ key <AD02> { [ 0x10000f8, 0x10000c1 ] };
+ key <AD03> { [ 0x10000ef, 0x10000b8 ] };
+ key <AD04> { [ 0x10000ea, 0x10000b2 ] };
+ key <AD05> { [ 0x10000f5, 0x10000be ] };
+ key <AD06> { [ 0x10000f4, 0x10000bd ] };
+ key <AD07> { [ 0x10000f3, 0x10000bc ] };
+ key <AD08> { [ 0x10000ac, 0x10000e4 ] };
+ key <AD09> { [ 0x10000ae, 0x10000af ] };
+ key <AD10> { [ 0x10000a4, 0x10000a6 ] };
+ key <AD11> { [ dead_circumflex, 0x10000a6 ] }; // Ukaaram
+
+ // a-row
+ key <AC01> { [ 0x10000f2, 0x10000bb ] };
+ key <AC02> { [ 0x10000f7, 0x10000c0 ] };
+ key <AC03> { [ 0x10000f9, 0x10000c2 ] };
+ key <AC04> { [ 0x10000e8, 0x10000b0 ] };
+ key <AC05> { [ 0x10000f0, 0x10000b9 ] };
+ key <AC06> { [ 0x10000a2, 0x10000a3 ] };
+ key <AC07> { [ 0x10000ee, 0x10000b6 ] };
+ key <AC08> { [ 0x10000f1, 0x10000ba ] };
+ key <AC09> { [ 0x10000ec, 0x10000b4 ] };
+ key <AC10> { [ 0x10000f6, 0x10000bf ] };
+ key <AC11> { [ 0x10000e9, 0x10000b1 ] };
+
+ // z-row
+ key <AB01> { [ 0x10000ed, 0x10000b5 ] };
+ key <AB02> { [ 0x10000e5, 0x10000e6 ] };
+ key <AB03> { [ 0x10000e0, 0x10000e1 ] };
+ key <AB04> { [ 0x10000e2, 0x10000e3 ] };
+ key <AB05> { [ 0x10000aa, 0x10000ab ] };
+ key <AB06> { [ 0x10000ac, 0x10000a3 ] };
+ key <AB07> { [ 0x10000dc, 0x10000dd ] };
+ key <AB08> { [ 0x10000de, 0x10000df ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "tel" {
+
+ // Inscript layout for Telugu using Unicode
+ // Author: G Karunakar <karunakar@freedomink.org>
+ // Date:
+ // See layout at http://www.indlinux.org/keymap/telugu.php
+
+ name[Group1]= "India - Telugu";
+
+ key <TLDE> { [ 0x01000c4a, 0x01000c12 ] };
+ key <AE01> { [ 0x01000c67, 0x01000c0d ] };
+ key <AE02> { [ 0x01000c68, 0x01000c45 ] };
+ key <AE03> { [ 0x01000c69, numbersign ] };
+ key <AE04> { [ 0x01000c6a, dollar ] };
+ key <AE05> { [ 0x01000c6b, percent ] };
+ key <AE06> { [ 0x01000c6c, asciicircum ] };
+ key <AE07> { [ 0x01000c6d, ampersand ] };
+ key <AE08> { [ 0x01000c6e, asterisk ] };
+ key <AE09> { [ 0x01000c6f, parenleft ] };
+ key <AE10> { [ 0x01000c66, parenright ] };
+ key <AE11> { [ 0x01000c03, underscore ] };
+ key <AE12> { [ 0x01000c43, 0x01000c0b ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <AD01> { [ 0x01000c4c, 0x01000c14 ] };
+ key <AD02> { [ 0x01000c48, 0x01000c10 ] };
+ key <AD03> { [ 0x01000c3e, 0x01000c06 ] };
+ key <AD04> { [ 0x01000c40, 0x01000c08 ] };
+ key <AD05> { [ 0x01000c42, 0x01000c0a ] };
+ key <AD06> { [ 0x01000c2c, 0x01000c2d ] };
+ key <AD07> { [ 0x01000c39, 0x01000c19 ] };
+ key <AD08> { [ 0x01000c17, 0x01000c18 ] };
+ key <AD09> { [ 0x01000c26, 0x01000c27 ] };
+ key <AD10> { [ 0x01000c1c, 0x01000c1d ] };
+ key <AD11> { [ 0x01000c21, 0x01000c22 ] };
+ key <AD12> { [ 0x01000c3c, 0x01000c1e ] };
+
+ key <AC01> { [ 0x01000c4b, 0x01000c13 ] };
+ key <AC02> { [ 0x01000c47, 0x01000c0f ] };
+ key <AC03> { [ 0x01000c4d, 0x01000c05 ] };
+ key <AC04> { [ 0x01000c3f, 0x01000c07 ] };
+ key <AC05> { [ 0x01000c41, 0x01000c09 ] };
+ key <AC06> { [ 0x01000c2a, 0x01000c2b ] };
+ key <AC07> { [ 0x01000c30, 0x01000c31 ] };
+ key <AC08> { [ 0x01000c15, 0x01000c16 ] };
+ key <AC09> { [ 0x01000c24, 0x01000c25 ] };
+ key <AC10> { [ 0x01000c1a, 0x01000c1b ] };
+ key <AC11> { [ 0x01000c1f, 0x01000c20 ] };
+
+ key <AB01> { [ 0x01000c46, 0x01000c0e ] };
+ key <AB02> { [ 0x01000c02, 0x01000c01 ] };
+ key <AB03> { [ 0x01000c2e, 0x01000c23 ] };
+ key <AB04> { [ 0x01000c28, 0x01000c29 ] };
+ key <AB05> { [ 0x01000c35, 0x01000c34 ] };
+ key <AB06> { [ 0x01000c32, 0x01000c33 ] };
+ key <AB07> { [ 0x01000c38, 0x01000c36 ] };
+ key <AB08> { [ comma , 0x01000c37 ] };
+ key <AB09> { [ period , 0x01000c64 ] };
+ key <AB10> { [ 0x01000c2f, 0x01000040 ] };
+ key <BKSL> { [ 0x01000c49, 0x01000c11 ] };
+
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch, Multi_key ],
+ virtualMods = AltGr
+ };
+};
+
+partial alphanumeric_keys
+xkb_symbols "urd" {
+ include "pc/pk(urd)"
+ name[Group1]= "India - Urdu";
+};
+
+// based on a keyboard map from an 'xkb/symbols/gur' file
+
+partial alphanumeric_keys
+xkb_symbols "guru" {
+ name[Group1]= "India - Gurmukhi";
+
+ // Mainly numbers.
+ key <AE01> { [ 0x1000A67 ] };
+ key <AE02> { [ 0x1000A68 ] };
+ key <AE03> { [ 0x1000A69 ] };
+ key <AE04> { [ 0x1000A6A ] };
+ key <AE05> { [ 0x1000A6B ] };
+ key <AE06> { [ 0x1000A6C ] };
+ key <AE07> { [ 0x1000A6D ] };
+ key <AE08> { [ 0x1000A6e ] };
+ key <AE09> { [ 0x1000A6F, parenleft ] };
+ key <AE10> { [ 0x1000A66, parenright ] };
+ key <AE11> { [ gur_visarga ] };
+ key <AE12> { [ gur_v_r, gur_v_r_s ] };
+
+// Mainly long vowels
+
+ key <AD01> { [ 0x1000A4C, 0x1000A14 ] };
+ key <AD02> { [ 0x1000A48, 0x1000A10 ] };
+ key <AD03> { [ 0x1000A3E, 0x1000A06 ] };
+ key <AD04> { [ 0x1000A40, 0x1000A08 ] };
+ key <AD05> { [ 0x1000A42, 0x1000A0A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [ 0x1000A2C, 0x1000A2D ] };
+ key <AD07> { [ 0x1000A39, 0x1000A19 ] };
+ key <AD08> { [ 0x1000A17, 0x1000A18 ] };
+ key <AD09> { [ 0x1000A26, 0x1000A27 ] };
+ key <AD10> { [ 0x1000A1C, 0x1000A1D ] };
+ key <AD11> { [ 0x1000A21, 0x1000A22 ] };
+ key <AD12> { [ 0x1000A3C, 0x1000A1E ] };
+
+// Mainly short vowels
+ key <AC01> { [ 0x1000A4B, 0x1000A13 ] };
+ key <AC02> { [ 0x1000A47, 0x1000A0F ] };
+ key <AC03> { [ 0x1000A4D, 0x1000A05 ] };
+ key <AC04> { [ 0x1000A3F, 0x1000A07 ] };
+ key <AC05> { [ 0x1000A41, 0x1000A09 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [ 0x1000A2A, 0x1000A2B ] };
+ key <AC07> { [ 0x1000A30, 0x1000A30 ] };
+ key <AC08> { [ 0x1000A15, 0x1000A16 ] };
+ key <AC09> { [ 0x1000A24, 0x1000A25 ] };
+ key <AC10> { [ 0x1000A1A, 0x1000A1B ] };
+ key <AC11> { [ 0x1000A1F, 0x1000A20 ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ 0x1000A02, 0x1000A70 ] };
+ key <AB03> { [ 0x1000A2E, 0x1000A23 ] };
+ key <AB04> { [ 0x1000A28, 0x1000A28 ] };
+ key <AB05> { [ 0x1000A35, 0x1000A35 ] };
+ key <AB06> { [ 0x1000A32, 0x1000A33 ] };
+ key <AB07> { [ 0x1000A38, 0x1000A36 ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, 0x1000964 ] };
+ key <AB10> { [ 0x1000A2F, question ] };
+};
diff --git a/data/xkbdata/symbols/pc/ir b/data/xkbdata/symbols/pc/ir
new file mode 100644
index 000000000..109b7abe6
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ir
@@ -0,0 +1,69 @@
+// $XdotOrg$
+// based on
+// Iranian keymap, by Robert Brady <robert@suse.co.uk>
+// Data supplied by Roozbeh Pournader <roozbeh@sharif.edu>
+// Minor changes made by Arash Zeini <a.zeini@farsikde.com>,
+// and Roozbeh Pournader.
+// Last update: 2002-06-19
+//
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Iran";
+
+ key <TLDE> { [ 0x100200d ] };
+
+ // Mainly numbers.
+ key <AE01> { [ 0x10006f1, exclam ] };
+ key <AE02> { [ 0x10006f2, 0x100066c ] };
+ key <AE03> { [ 0x10006f3, 0x100066b ] };
+ key <AE04> { [ 0x10006f4, 0x100fdfc ] };
+ key <AE05> { [ 0x10006f5, 0x100066a ] };
+ key <AE06> { [ 0x10006f6, multiply ] };
+ key <AE07> { [ 0x10006f7, Arabic_comma ] };
+ key <AE08> { [ 0x10006f8, asterisk ] };
+ key <AE09> { [ 0x10006f9, parenright ] };
+ key <AE10> { [ 0x10006f0, parenleft ] };
+ key <AE11> { [ minus, Arabic_tatweel ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ Arabic_dad, Arabic_sukun ] };
+ key <AD02> { [ Arabic_sad, Arabic_dammatan ] };
+ key <AD03> { [ Arabic_theh, Arabic_kasratan ] };
+ key <AD04> { [ Arabic_qaf, Arabic_fathatan ] };
+ key <AD05> { [ Arabic_feh, Arabic_damma ] };
+ key <AD06> { [ Arabic_ghain, Arabic_kasra ] };
+ key <AD07> { [ Arabic_ain, Arabic_fatha ] };
+ key <AD08> { [ Arabic_heh, Arabic_shadda ] };
+ key <AD09> { [ Arabic_khah, bracketright ] };
+ key <AD10> { [ Arabic_hah, bracketleft ] };
+ key <AD11> { [ Arabic_jeem, braceright ] };
+ key <AD12> { [ 0x1000686, braceleft ] };
+
+ key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw ] };
+ key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh ] };
+ key <AC03> { [ 0x10006cc, Arabic_yeh ] };
+ key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef] };
+ key <AC05> { [ Arabic_lam, Arabic_hamzaonalef ] };
+ key <AC06> { [ Arabic_alef, Arabic_maddaonalef ] };
+ key <AC07> { [ Arabic_teh, Arabic_tehmarbuta ] };
+ key <AC08> { [ Arabic_noon, guillemotright ] };
+ key <AC09> { [ Arabic_meem, guillemotleft ] };
+ key <AC10> { [ 0x10006a9, colon ] };
+ key <AC11> { [ 0x10006af, Arabic_semicolon ] };
+
+ key <BKSL> { [ backslash, bar ] };
+ key <SPCE> { [ space, 0x100200c ] };
+
+ key <AB01> { [ Arabic_zah, Arabic_kaf ] };
+ key <AB02> { [ Arabic_tah ] };
+ key <AB03> { [ Arabic_zain, 0x1000698 ] };
+ key <AB04> { [ Arabic_ra ] };
+ key <AB05> { [ Arabic_thal, 0x100200c ] };
+ key <AB06> { [ Arabic_dal ] };
+ key <AB07> { [ 0x100067e, Arabic_hamza ] };
+ key <AB08> { [ Arabic_waw, greater ] };
+ key <AB09> { [ period, less ] };
+ key <AB10> { [ slash, Arabic_question_mark ] };
+};
diff --git a/data/xkbdata/symbols/pc/is b/data/xkbdata/symbols/pc/is
new file mode 100644
index 000000000..1375c7ffd
--- /dev/null
+++ b/data/xkbdata/symbols/pc/is
@@ -0,0 +1,66 @@
+// $XdotOrg$
+// based on
+// XKB keyboard by Hrafnkell Eiriksson - hkelle@rhi.hi.is
+// fixes by Olafur Osvaldsson - oli@isnic.is
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/is,v 1.3 2002/11/26 01:57:25 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type4)"
+
+ name[Group1]="Iceland";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE04> { [ 4, dollar, onequarter, currency ] };
+ key <AE11> { [odiaeresis, Odiaeresis, backslash, questiondown ] };
+ key <AE12> { [ minus, underscore, ccedilla, dead_ogonek ] };
+
+ key <AD11> { [ eth, ETH, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [apostrophe, question, asciitilde, dead_macron ] };
+
+ key <AC10> { [ ae, AE, asciicircum, dead_doubleacute ] };
+ key <AC11> { [dead_acute, Adiaeresis, dead_circumflex, dead_caron] };
+ key <TLDE> { [ degree, diaeresis, notsign, notsign ] };
+
+ key <BKSL> { [ plus, asterisk, grave, dead_breve ] };
+ key <AB10> { [ thorn, THORN, dead_belowdot, dead_abovedot ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // modify the basic Icelandic layout to use Sun dead keys
+
+ include "pc/is(basic)"
+ name[Group1]="Iceland - Sun dead keys";
+
+ key <TLDE> { [SunFA_Circum, degree, notsign, notsign ] };
+ key <AE12> { [SunFA_Acute, SunFA_Grave, SunFA_Cedilla, SunFA_Cedilla ] };
+ key <AD11> { [udiaeresis, Udiaeresis, SunFA_Diaeresis, SunFA_Diaeresis ] };
+ key <AD12> { [ plus, asterisk, SunFA_Tilde, dead_macron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, SunFA_Acute, SunFA_Acute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, SunFA_Circum, SunFA_Circum ] };
+ key <BKSL> { [numbersign, acute, SunFA_Grave, SunFA_Grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // modify the basic Icelandic layout to not have any dead keys
+
+ include "pc/is(basic)"
+ name[Group1]="Iceland - Eliminate dead keys";
+
+ key <TLDE> { [asciicircum, degree, notsign, notsign ] };
+ key <AE12> { [apostrophe, grave, cedilla, cedilla ] };
+ key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
+ key <AD12> { [ plus, asterisk, asciitilde, macron ] };
+ key <AC10> { [odiaeresis, Odiaeresis, acute, acute ] };
+ key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
+ key <BKSL> { [numbersign, acute, grave, grave ] };
+ key <AB10> { [ thorn, THORN, dead_belowdot, abovedot ] };
+};
diff --git a/data/xkbdata/symbols/pc/it b/data/xkbdata/symbols/pc/it
new file mode 100644
index 000000000..ffd5fc9a7
--- /dev/null
+++ b/data/xkbdata/symbols/pc/it
@@ -0,0 +1,64 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/it' file
+// 17 May 2003 Modified by Sebastiano Vigna (vigna@dsi.unimi.it)
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/it,v 1.4 2003/04/19 12:22:12 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type4)"
+
+ name[Group1]="Italy";
+
+ key <TLDE> { [ backslash, bar, notsign, brokenbar ] };
+
+ key <AE02> { [ 2, quotedbl, twosuperior, dead_doubleacute ] };
+ key <AE03> { [ 3, sterling,threesuperior, dead_tilde ] };
+ key <AE04> { [ 4, dollar, onequarter, oneeighth ] };
+
+ key <AE10> { [ 0, equal, braceright, dead_ogonek ] };
+ key <AE11> { [apostrophe, question, grave, questiondown ] };
+ key <AE12> { [ igrave, asciicircum, asciitilde, dead_circumflex ] };
+
+ key <AD11> { [ egrave, eacute, bracketleft, braceleft ] };
+ key <AD12> { [ plus, asterisk, bracketright, braceright ] };
+
+ key <AC10> { [ ograve, ccedilla, at, dead_cedilla ] };
+ key <AC11> { [ agrave, degree, numbersign, dead_abovering ] };
+
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB08> { [ comma, semicolon, dead_acute, multiply ] };
+ key <AB09> { [ period, colon,periodcentered, dead_diaeresis ] };
+ key <AB10> { [ minus, underscore, dead_macron, division ] };
+
+ key <BKSL> { [ ugrave, section, dead_grave, dead_breve ] };
+
+ key <LSGT> { [ less, greater,guillemotleft,guillemotright] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic italian layout to eliminate all dead keys
+
+ include "pc/it(basic)"
+ name[Group1]="Italy - Eliminate dead keys";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, doubleacute ] };
+ key <AE03> { [ 3, sterling,threesuperior, asciitilde ] };
+
+ key <AE10> { [ 0, equal, braceright, ogonek ] };
+ key <AE12> { [ igrave, asciicircum, asciitilde, asciicircum ] };
+
+ key <AC10> { [ ograve, ccedilla, at, cedilla ] };
+ key <AC11> { [ agrave, degree, numbersign, degree ] };
+
+ key <AB08> { [ comma, semicolon, acute, multiply ] };
+ key <AB09> { [ period, colon,periodcentered, diaeresis ] };
+ key <AB10> { [ minus, underscore, macron, division ] };
+
+ key <BKSL> { [ ugrave, section, grave, breve ] };
+};
diff --git a/data/xkbdata/symbols/pc/jp b/data/xkbdata/symbols/pc/jp
new file mode 100644
index 000000000..c9da49768
--- /dev/null
+++ b/data/xkbdata/symbols/pc/jp
@@ -0,0 +1,145 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/jp,v 1.4 2005/07/20 22:56:09 svu Exp $
+
+// based on:
+// symbols for a Japanese 106 keyboard(by tsuka@kawalab.dnj.ynu.ac.jp)
+
+default xkb_symbols "jp106" {
+ include "srvr_ctrl(xfree86)"
+
+ name[Group1]= "Japan";
+
+ // Alphanumeric section
+ key <HZTG> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Zenkaku_Hankaku, Kanji ]
+ };
+ key <AE01> { [ kana_NU ] };
+ key <AE02> { [ kana_FU ] };
+ key <AE03> { [ kana_A, kana_a ] };
+ key <AE04> { [ kana_U, kana_u ] };
+ key <AE05> { [ kana_E, kana_e ] };
+ key <AE06> { [ kana_O, kana_o ] };
+ key <AE07> { [ kana_YA, kana_ya ] };
+ key <AE08> { [ kana_YU, kana_yu ] };
+ key <AE09> { [ kana_YO, kana_yo ] };
+ key <AE10> { [ kana_WA, kana_WO ] };
+ key <AE11> { [ kana_HO ] };
+ key <AE12> { [ kana_HE ] };
+ key <AE13> { [ prolongedsound ] };
+
+ key <AD01> { [ kana_TA ] };
+ key <AD02> { [ kana_TE ] };
+ key <AD03> { [ kana_I, kana_i ] };
+ key <AD04> { [ kana_SU ] };
+ key <AD05> { [ kana_KA ] };
+ key <AD06> { [ kana_N ] };
+ key <AD07> { [ kana_NA ] };
+ key <AD08> { [ kana_NI ] };
+ key <AD09> { [ kana_RA ] };
+ key <AD10> { [ kana_SE ] };
+ key <AD11> { [ voicedsound ] };
+ key <AD12> { [ semivoicedsound, kana_openingbracket ] };
+
+ key <CAPS> { [ Eisu_toggle, Caps_Lock ] };
+ key <AC01> { [ kana_CHI ] };
+ key <AC02> { [ kana_TO ] };
+ key <AC03> { [ kana_SHI ] };
+ key <AC04> { [ kana_HA ] };
+ key <AC05> { [ kana_KI ] };
+ key <AC06> { [ kana_KU ] };
+ key <AC07> { [ kana_MA ] };
+ key <AC08> { [ kana_NO ] };
+ key <AC09> { [ kana_RI ] };
+ key <AC10> { [ kana_RE ] };
+ key <AC11> { [ kana_KE ] };
+ key <AC12> { [ kana_MU, kana_closingbracket ] };
+
+ key <AB01> { [ kana_TSU, kana_tsu ] };
+ key <AB02> { [ kana_SA ] };
+ key <AB03> { [ kana_SO ] };
+ key <AB04> { [ kana_HI ] };
+ key <AB05> { [ kana_KO ] };
+ key <AB06> { [ kana_MI ] };
+ key <AB07> { [ kana_MO ] };
+ key <AB08> { [ kana_NE, kana_comma ] };
+ key <AB09> { [ kana_RU, kana_fullstop ] };
+ key <AB10> { [ kana_ME, kana_middledot ] };
+ key <AB11> { [ kana_RO ] };
+
+ key <NFER> { [ Muhenkan ] };
+
+ key <XFER> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Henkan, Mode_switch ]
+ };
+ key <HKTG> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Hiragana_Katakana, Romaji ]
+ };
+
+ // End alphanumeric section
+
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Execute ]
+ };
+ key <SYRQ> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Execute ]
+ };
+};
+
+// latin part of jp keyboard map
+partial hidden
+xkb_symbols "latin" {
+
+ include "pc/us"
+ // Alphanumeric section
+ key <HZTG> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Zenkaku_Hankaku, Kanji ]
+ };
+
+ key <AE02> { [ 2, quotedbl ] };
+
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, apostrophe ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0,asciitilde ] };
+ key <AE11> { [ minus, equal ] };
+ key <AE12> { [ asciicircum, asciitilde] };
+ key <AE13> { [ backslash, bar ] };
+
+ key <AD11> { [ at, grave ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+
+ key <CAPS> { [ Eisu_toggle, Caps_Lock ] };
+
+ key <AC10> { [ semicolon, plus ] };
+ key <AC11> { [ colon, asterisk ] };
+ key <AC12> { [ bracketright, braceright ] };
+
+ key <AB11> { [ backslash, underscore ] };
+
+ key <NFER> { [ Muhenkan ] };
+
+ key <XFER> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Henkan, Mode_switch ]
+ };
+ key <HKTG> {
+ type="PC_SYSRQ",
+ symbols[Group1]= [ Hiragana_Katakana, Romaji ]
+ };
+
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Execute ]
+ };
+ key <SYRQ> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Execute ]
+ };
+};
diff --git a/data/xkbdata/symbols/pc/kg b/data/xkbdata/symbols/pc/kg
new file mode 100644
index 000000000..f7e519777
--- /dev/null
+++ b/data/xkbdata/symbols/pc/kg
@@ -0,0 +1,29 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/kg,v 1.3 2004/12/22 22:55:55 svu Exp $
+
+// based on
+// russian standard keyboard
+// Yury Fedorov <yury-fedorov@prime-task.com>
+// Last Changes 2004/10/25 by Yury Fedorov <yury-fedorov@prime-task.com>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/kg,v 0.0 Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/ru(winkeys)"
+
+ name[Group1]= "Kyrgyzstan";
+
+ key.type[group1]="FOUR_LEVEL_ALPHABETIC";
+
+ key <AC07> { [ Cyrillic_o, Cyrillic_O,
+ Cyrillic_o_bar, Cyrillic_O_bar ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U,
+ Cyrillic_u_straight, Cyrillic_U_straight ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN,
+ Cyrillic_en_descender, Cyrillic_EN_descender ] };
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/data/xkbdata/symbols/pc/la b/data/xkbdata/symbols/pc/la
new file mode 100644
index 000000000..0885e1131
--- /dev/null
+++ b/data/xkbdata/symbols/pc/la
@@ -0,0 +1,76 @@
+// $XdotOrg$
+// $XConsortium: lo 2002/11/28 $
+//
+// Lao keymap, by Anousak Souphavanh <anousak@muanglao.com>
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a Lao keyboard
+ // This keymap uses the Lao keyboard standard [kind of] widely used inLaos
+
+ name[Group1]= "Laos";
+
+ // Alphanumeric section
+ key <TLDE> { [ 0x100200D ]};
+ key <AE01> { [ 0x1000ea2, 0x1000ed1 ]};
+ key <AE01> { [ 0x1000ea2, 0x1000ed1 ]};
+ key <AE02> { [ 0x1000e9f, 0x1000ed2 ]};
+ key <AE03> { [ 0x1000ec2, 0x1000ed3 ]};
+ key <AE04> { [ 0x1000e96, 0x1000ed4 ]};
+ key <AE05> { [ 0x1000eb8, 0x1000ecc ]};
+ key <AE06> { [ 0x1000eb9, 0x1000ebc ]};
+ key <AE07> { [ 0x1000e84, 0x1000ed5 ]};
+ key <AE08> { [ 0x1000e95, 0x1000ed6 ]};
+ key <AE09> { [ 0x1000e88, 0x1000ed7 ]};
+ key <AE10> { [ 0x1000e82, 0x1000ed8 ]};
+ key <AE11> { [ 0x1000e8a, 0x1000ed9 ]};
+ key <AE12> { [ 0x1000ecd ]};
+
+ key <AD01> { [ 0x1000ebb ]};
+ key <AD02> { [ 0x1000ec4, 0x1000ed0 ]};
+ key <AD03> { [ 0x1000eb3 ]};
+ key <AD04> { [ 0x1000e9e, underscore ]};
+ key <AD05> { [ 0x1000eb0, plus ]};
+ key <AD06> { [ 0x1000eb4 ]};
+ key <AD07> { [ 0x1000eb5 ]};
+ key <AD08> { [ 0x1000ea3, 0x1000eae ]};
+ key <AD09> { [ 0x1000e99 ]};
+ key <AD10> { [ 0x1000e8d, 0x1000ebd ]};
+ key <AD11> { [ 0x1000e9a, minus ]};
+ key <AD12> { [ 0x1000ea5, braceright ]};
+ key <BKSL> { [ 0x1000edc, 0x1000edd ]};
+
+ key <AC01> { [ 0x1000eb1 ]};
+ key <AC02> { [ 0x1000eab, semicolon ]};
+ key <AC03> { [ 0x1000e81, period ]};
+ key <AC04> { [ 0x1000e94, comma ]};
+ key <AC05> { [ 0x1000ec0, colon ]};
+ key <AC06> { [ 0x1000ec9, 0x1000eca ]};
+ key <AC07> { [ 0x1000ec8, 0x1000ecb ]};
+ key <AC08> { [ 0x1000eb2, exclam ]};
+ key <AC09> { [ 0x1000eaa, question ]};
+ key <AC10> { [ 0x1000ea7, percent ]};
+ key <AC11> { [ 0x1000e87, equal ]};
+
+ key <AB01> { [ 0x1000e9c, 0x10020ad ]};
+ key <AB02> { [ 0x1000e9b, parenleft ]};
+ key <AB03> { [ 0x1000ec1, 0x1000eaf ]};
+ key <AB04> { [ 0x1000ead ]};
+ key <AB05> { [ 0x1000eb6 ]};
+ key <AB06> { [ 0x1000eb7 ]};
+ key <AB07> { [ 0x1000e97, 0x1000ec6 ]};
+ key <AB08> { [ 0x1000ea1, quoteleft ]};
+ key <AB09> { [ 0x1000ec3, dollar ]};
+ key <AB10> { [ 0x1000e9d, parenright ]};
+
+override key <LFSH> {
+ type="PC_SYSRQ",
+ [ Shift_L, ISO_First_Group ]
+ };
+override key <RTSH> {
+ type="PC_SYSRQ",
+ [ Shift_R, ISO_Last_Group ]
+ };
+};
diff --git a/data/xkbdata/symbols/pc/latam b/data/xkbdata/symbols/pc/latam
new file mode 100644
index 000000000..d24aa67b8
--- /dev/null
+++ b/data/xkbdata/symbols/pc/latam
@@ -0,0 +1,62 @@
+// $XdotOrg$
+// based on a keyboard
+// Modified for a real Latin American Keyboard by Fabian Mandelbaum
+//
+// $XFree86: xc/programs/xkbcomp/symbols/la,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type4)"
+
+ name[Group1]="Latin American";
+
+ key <AE01> { [ 1, exclam, bar, exclamdown ] };
+ key <AE03> { [ 3, numbersign, periodcentered, sterling ] };
+ key <AE04> { [ 4, dollar, asciitilde, dollar ] };
+ key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
+ key <AE11> { [apostrophe, question, backslash, questiondown ] };
+ key <AE12> { [questiondown, exclamdown, dead_cedilla, dead_ogonek] };
+
+ key <AD11> { [dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
+
+ key <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
+ key <AC11> { [ braceleft, bracketleft, dead_circumflex, braceleft] };
+ key <TLDE> { [ bar, degree, notsign, notsign ] };
+
+ key <BKSL> { [braceright, bracketright, dead_grave, braceright ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "pc/latam(basic)"
+
+ key <AC11> { [SunFA_Acute, SunFA_Diaeresis, braceleft, braceleft ] };
+ key <AD11> { [SunFA_Grave, SunFA_Circum, bracketleft, dead_abovering ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "pc/latam(Sundeadkeys)"
+ name[Group1]="Latin American - Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "pc/latam(basic)"
+
+ name[Group1]="Latin American - Eliminate dead keys";
+
+ key <AE12> { [questiondown, exclamdown, cedilla, ogonek ] };
+ key <AD11> { [ grave, asciicircum, bracketleft, degree ] };
+ key <AD12> { [ plus, asterisk, bracketright, macron ] };
+ key <AC10> { [ ntilde, Ntilde, asciitilde, doubleacute ] };
+ key <AC11> { [ acute, diaeresis, braceleft, braceleft ] };
+ key <BKSL> { [ ccedilla, Ccedilla, braceright, breve ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
diff --git a/data/xkbdata/symbols/pc/latin b/data/xkbdata/symbols/pc/latin
new file mode 100644
index 000000000..6d1a95d29
--- /dev/null
+++ b/data/xkbdata/symbols/pc/latin
@@ -0,0 +1,179 @@
+// $XdotOrg$
+// Common Latin alphabet layout
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/latin,v 1.3 2002/12/20 20:18:34 paulo Exp $
+
+default partial
+xkb_symbols "basic" {
+
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, at, twosuperior, oneeighth ] };
+ key <AE03> { [ 3, numbersign, threesuperior, sterling ] };
+ key <AE04> { [ 4, dollar, onequarter, dollar ] };
+ key <AE05> { [ 5, percent, onehalf, threeeighths ] };
+ key <AE06> { [ 6, asciicircum, threequarters, fiveeighths ] };
+ key <AE07> { [ 7, ampersand, braceleft, seveneighths ] };
+ key <AE08> { [ 8, asterisk, bracketleft, trademark ] };
+ key <AE09> { [ 9, parenleft, bracketright, plusminus ] };
+ key <AE10> { [ 0, parenright, braceright, degree ] };
+ key <AE11> { [ minus, underscore, backslash, questiondown ] };
+ key <AE12> { [ equal, plus, dead_cedilla, dead_ogonek ] };
+
+ key <AD01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AD02> { [ w, W, lstroke, Lstroke ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R, paragraph, registered ] };
+ key <AD05> { [ t, T, tslash, Tslash ] };
+ key <AD06> { [ y, Y, leftarrow, yen ] };
+ key <AD07> { [ u, U, downarrow, uparrow ] };
+ key <AD08> { [ i, I, rightarrow, idotless ] };
+ key <AD09> { [ o, O, oslash, Ooblique ] };
+ key <AD10> { [ p, P, thorn, THORN ] };
+ key <AD11> { [bracketleft, braceleft, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [bracketright, braceright, dead_tilde, dead_macron ] };
+
+ key <AC01> { [ a, A, ae, AE ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, dstroke, ordfeminine ] };
+ key <AC05> { [ g, G, eng, ENG ] };
+ key <AC06> { [ h, H, hstroke, Hstroke ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K, kra, ampersand ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AC10> { [ semicolon, colon, dead_acute, dead_doubleacute ] };
+ key <AC11> { [apostrophe, quotedbl, dead_circumflex, dead_caron ] };
+ key <TLDE> { [ grave, asciitilde, notsign, notsign ] };
+
+ key <BKSL> { [ backslash, bar, dead_grave, dead_breve ] };
+ key <AB01> { [ z, Z, guillemotleft, less ] };
+ key <AB02> { [ x, X, guillemotright, greater ] };
+ key <AB03> { [ c, C, cent, copyright ] };
+ key <AB04> { [ v, V, leftdoublequotemark, grave ] };
+ key <AB05> { [ b, B, rightdoublequotemark, apostrophe ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M, mu, masculine ] };
+ key <AB08> { [ comma, less, horizconnector, multiply ] };
+ key <AB09> { [ period, greater, periodcentered, division ] };
+ key <AB10> { [ slash, question, dead_belowdot, dead_abovedot ] };
+
+};
+
+// Northern Europe ( Danish, Finnish, Norwegian, Swedish) common layout
+
+partial
+xkb_symbols "type2" {
+
+ include "pc/latin"
+
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, sterling, threesuperior] };
+ key <AE04> { [ 4, currency, dollar, onequarter ] };
+ key <AE05> { [ 5, percent, onehalf, cent ] };
+ key <AE06> { [ 6, ampersand, yen, fiveeighths ] };
+ key <AE07> { [ 7, slash, braceleft, division ] };
+ key <AE08> { [ 8, parenleft, bracketleft, guillemotleft] };
+ key <AE09> { [ 9, parenright, bracketright, guillemotright] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD04> { [ r, R, registered, registered ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD09> { [ o, O, oe, OE ] };
+ key <AD11> { [ aring, Aring, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] };
+
+ key <AC01> { [ a, A, ordfeminine, masculine ] };
+
+ key <AB03> { [ c, C, copyright, copyright ] };
+ key <AB08> { [ comma, semicolon, dead_cedilla, dead_ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, dead_abovedot ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+};
+
+// Slavic Latin ( Albanian, Croatian, Polish, Slovene, Yugoslav)
+// common layout
+
+partial
+xkb_symbols "type3" {
+
+ include "pc/latin"
+
+ key <AD01> { [ q, Q, backslash, Greek_OMEGA ] };
+ key <AD02> { [ w, W, bar, Lstroke ] };
+ key <AD06> { [ z, Z, leftarrow, yen ] };
+
+ key <AC04> { [ f, F, bracketleft, ordfeminine ] };
+ key <AC05> { [ g, G, bracketright, ENG ] };
+ key <AC08> { [ k, K, lstroke, ampersand ] };
+
+ key <AB01> { [ y, Y, guillemotleft, less ] };
+ key <AB04> { [ v, V, at, grave ] };
+ key <AB05> { [ b, B, braceleft, apostrophe ] };
+ key <AB06> { [ n, N, braceright, braceright ] };
+ key <AB07> { [ m, M, section, masculine ] };
+ key <AB08> { [ comma, semicolon, less, multiply ] };
+ key <AB09> { [ period, colon, greater, division ] };
+};
+
+// Another one Latin common layout
+// (German, Estonian, Spanish, Icelandic, Italian, Latin American, Portuguese)
+
+partial
+xkb_symbols "type4" {
+
+ include "pc/latin"
+
+ key <AE02> { [ 2, quotedbl, at, oneeighth ] };
+ key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
+ key <AE07> { [ 7, slash, braceleft, seveneighths ] };
+ key <AE08> { [ 8, parenleft, bracketleft, trademark ] };
+ key <AE09> { [ 9, parenright, bracketright, plusminus ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+
+ key <AD03> { [ e, E, EuroSign, cent ] };
+
+ key <AB08> { [ comma, semicolon, horizconnector, multiply ] };
+ key <AB09> { [ period, colon, periodcentered, division ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+};
+
+partial
+xkb_symbols "nodeadkeys" {
+
+ key <AE12> { [ equal, plus, cedilla, ogonek ] };
+ key <AD11> { [bracketleft, braceleft, diaeresis, degree ] };
+ key <AD12> { [bracketright, braceright, asciitilde, macron ] };
+ key <AC10> { [ semicolon, colon, acute, doubleacute ] };
+ key <AC11> { [apostrophe, quotedbl, asciicircum, caron ] };
+ key <BKSL> { [ backslash, bar, grave, breve ] };
+ key <AB10> { [ slash, question, dead_belowdot, abovedot ] };
+};
+
+partial
+xkb_symbols "type2_nodeadkeys" {
+
+ include "pc/latin(nodeadkeys)"
+
+ key <AD11> { [ aring, Aring, diaeresis, degree ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, caron ] };
+ key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, abovedot ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
+partial
+xkb_symbols "type3_nodeadkeys" {
+
+ include "pc/latin(nodeadkeys)"
+};
+
+partial
+xkb_symbols "type4_nodeadkeys" {
+
+ include "pc/latin(nodeadkeys)"
+
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
+
diff --git a/data/xkbdata/symbols/pc/lk b/data/xkbdata/symbols/pc/lk
new file mode 100644
index 000000000..e3a7a56b4
--- /dev/null
+++ b/data/xkbdata/symbols/pc/lk
@@ -0,0 +1,110 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/lk,v 1.4 2005/08/04 22:15:10 svu Exp $
+
+// X Keyboard Extension file for Sinhala (Sri Lanka) (2004-04-22)
+// Maintainer : Harshula Jayasuriya <hash@jayasolutions.cjb.net>
+// Last Updated: 2004-11-14
+// This is a static phonetic mapping for a standard US-English keyboard
+// (qwerty)
+// http://www.nongnu.org/sinhala/doc/keymaps/sinhala-keyboard_3.html
+
+// Repaya, Rakaransaya and Yansaya aren't inserted with A-r, R and Y,
+// respectively. The problem lies with the XKB infrastructure which
+// only allows a one-to-one mapping of keycodes to Unicode codepoints.
+// Unfortunately, the 3 mentioned glyphs actually consists of 3
+// Unicode codepoints each. The resultant is that the user must
+// manually construct the glyph by typing each of the 3 codepoints.
+// Alt-backslash represents the 'join' key, this requires
+// two codepoints, hence it also has to be manually constructed.
+
+// Repaya = rayanna,AL,ZWJ
+// Rakaransaya = AL,ZWJ,rayanna
+// Yansaya = AL,ZWJ,yayanna
+// join = AL,ZWJ
+
+// Where,
+// AL = Al Lakuna = Alt-a
+// ZWJ = Zero Width Joiner = Alt-Shift-Backslash
+// rayanna = r
+// yayanna = y
+
+partial default alphanumeric_keys
+xkb_symbols "sin_phonetic" {
+
+ include "pc/us"
+// it is default - no details in the name
+ name[Group1] = "Sri Lanka";
+ key.type = "FOUR_LEVEL";
+
+ // q - p
+ key <AD01> { [ 0x01000d8d, 0x01000d8e, 0x01000dd8, 0x01000df2 ] };
+ key <AD02> { [ 0x01000d87, 0x01000d88, 0x01000dd0, 0x01000dd1 ] };
+ key <AD03> { [ 0x01000d91, 0x01000d92, 0x01000dd9, 0x01000dda ] };
+ key <AD04> { [ 0x01000dbb, 0x01000dca, 0x01000dbb, NoSymbol ] };
+ key <AD05> { [ 0x01000da7, 0x01000da8, 0x01000dad, 0x01000dae ] };
+ key <AD06> { [ 0x01000dba, 0x01000dca, NoSymbol, NoSymbol ] };
+ key <AD07> { [ 0x01000d8b, 0x01000d8c, 0x01000dd4, 0x01000dd6 ] };
+ key <AD08> { [ 0x01000d89, 0x01000d8a, 0x01000dd2, 0x01000dd3 ] };
+ key <AD09> { [ 0x01000d94, 0x01000d95, 0x01000ddc, 0x01000ddd ] };
+ key <AD10> { [ 0x01000db4, 0x01000db5, NoSymbol, NoSymbol ] };
+
+ // a - l
+ key <AC01> { [ 0x01000d85, 0x01000d86, 0x01000dca, 0x01000dcf ] };
+ key <AC02> { [ 0x01000dc3, 0x01000dc2, 0x01000dc1, NoSymbol ] };
+ key <AC03> { [ 0x01000da9, 0x01000daa, 0x01000daf, 0x01000db0 ] };
+ key <AC04> { [ 0x01000dc6, 0x01000d93, 0x01000ddb, NoSymbol ] };
+ key <AC05> { [ 0x01000d9c, 0x01000d9d, 0x01000d9f, NoSymbol ] };
+ key <AC06> { [ 0x01000dc4, 0x01000d96, 0x01000dde, NoSymbol ] };
+ key <AC07> { [ 0x01000da2, 0x01000da3, 0x01000da6, NoSymbol ] };
+ key <AC08> { [ 0x01000d9a, 0x01000d9b, 0x01000d8f, 0x01000d90 ] };
+ key <AC09> { [ 0x01000dbd, 0x01000dc5, 0x01000ddf, 0x01000df3 ] };
+
+ // z - m
+ key <AB01> { [ 0x01000da4, 0x01000da5, NoSymbol, NoSymbol ] };
+ key <AB02> { [ 0x01000dac, 0x01000db3, NoSymbol, NoSymbol ] };
+ key <AB03> { [ 0x01000da0, 0x01000da1, NoSymbol, NoSymbol ] };
+ key <AB04> { [ 0x01000dc0, 0x01000d82, 0x01000d83, NoSymbol ] };
+ key <AB05> { [ 0x01000db6, 0x01000db7, NoSymbol, NoSymbol ] };
+ key <AB06> { [ 0x01000db1, 0x01000dab, 0x01000d9e, NoSymbol ] };
+ key <AB07> { [ 0x01000db8, 0x01000db9, NoSymbol, NoSymbol ] };
+
+ // '.' - Fullstop
+ key <AB09> { [ any, any, 0x01000df4, NoSymbol ] };
+
+ // Backslash
+ key <BKSL> { [ any, any, 0x01000dca, 0x0100200d ] };
+
+ // Space
+ key <SPCE> { [ space, nobreakspace, 0x0100200c, NoSymbol ] };
+
+ include "level3(ralt_switch)"
+};
+
+// based on a keyboard map from an 'xkb/symbols/tml' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/tml,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "tam_unicode" {
+ include "pc/in(tam_unicode)"
+ name[Group1]= "Sri Lanka - Tamil Unicode";
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_INSCRIPT" {
+ include "pc/in(tam)"
+ name[Group1]= "Sri Lanka - Tamil INSCRIPT";
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_TSCII" {
+ include "pc/in(tam_TSCII)"
+ name[Group1]= "Sri Lanka - Tamil TSCII Typewriter";
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_TAB" {
+ include "pc/in(tam_TAB)"
+ name[Group1]= "Sri Lanka - Tamil TAB Typewriter";
+};
+
diff --git a/data/xkbdata/symbols/pc/lt b/data/xkbdata/symbols/pc/lt
new file mode 100644
index 000000000..e6934e6c6
--- /dev/null
+++ b/data/xkbdata/symbols/pc/lt
@@ -0,0 +1,111 @@
+// $XdotOrg$
+// based on
+// Lithuanian keyboard map by RiÄardas ÄŒepas <rch@richard.eu.org>
+// merged into one file by Nerijus Baliūnas
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/lt,v 1.3 2002/12/14 22:26:11 dawes Exp $
+
+// If you want to have 2 layouts, use
+// Option "XkbLayout" "lt,lt(us)"
+
+// Lithuanian Baltic layout - Lithuanian letters on the numeric row
+partial default alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ include "pc/latin"
+
+ name[Group1]="Lithuania";
+
+ key <AE01> { [ aogonek, Aogonek, 1, exclam ] };
+ key <AE02> { [ ccaron, Ccaron, 2, at ] };
+ key <AE03> { [ eogonek, Eogonek, 3, numbersign ] };
+ key <AE04> { [ eabovedot, Eabovedot, 4, dollar ] };
+ key <AE05> { [ iogonek, Iogonek, 5, percent ] };
+ key <AE06> { [ scaron, Scaron, 6, asciicircum ] };
+ key <AE07> { [ uogonek, Uogonek, 7, ampersand ] };
+ key <AE08> { [ umacron, Umacron, 8, asterisk ] };
+ key <AE09> { [doublelowquotemark, parenleft, 9, parenleft ] };
+ key <AE10> { [leftdoublequotemark,parenright, 0, parenright ] };
+ key <AE12> { [ zcaron, Zcaron, equal, plus ] };
+
+ key <LSGT> { [ endash, EuroSign ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Similar to the above, but you should use Right Alt + numeric row
+// for Lithuanian letters
+partial alphanumeric_keys modifier_keys
+xkb_symbols "us" {
+
+ include "pc/latin"
+
+ name[Group1]="Lithuania - US keyboard with Lithuanian letters";
+
+ key <AE01> { [ 1, exclam, aogonek, Aogonek ] };
+ key <AE02> { [ 2, at, ccaron, Ccaron ] };
+ key <AE03> { [ 3, numbersign, eogonek, Eogonek ] };
+ key <AE04> { [ 4, dollar, eabovedot, Eabovedot ] };
+ key <AE05> { [ 5, percent, iogonek, Iogonek ] };
+ key <AE06> { [ 6, asciicircum, scaron, Scaron ] };
+ key <AE07> { [ 7, ampersand, uogonek, Uogonek ] };
+ key <AE08> { [ 8, asterisk, umacron, Umacron ] };
+ key <AE09> { [ 9, parenleft, doublelowquotemark, parenleft ] };
+ key <AE10> { [ 0, parenright, leftdoublequotemark,parenright ] };
+ key <AE12> { [ equal, plus, zcaron, Zcaron ] };
+
+ key <AD03> { [ e, E, endash, EuroSign ] };
+ key <LSGT> { [ endash, EuroSign ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Lithuanian keyboard map by Gediminas Paulauskas <menesis@delfi.lt>
+// Minor modification by RiÄardas ÄŒepas according to http://sun3.mif.vu.lt/cs/TK4/lithkeyb.html
+
+// Describes Lithuanian keymap LST 1582:2000
+// Extensions: B01 L3 is "<" , B02 L3 is ">" and B03 L3 is endash to make this
+// layout usable with pc101 and pc104 keyboards.
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "std" {
+
+ include "pc/latin"
+
+ name[Group1]= "Lithuania - Standard";
+
+ key <TLDE> {[ grave, asciitilde, acute ]};
+ key <AE01> {[ exclam, 1, at ]};
+ key <AE02> {[ minus, 2, underscore ]};
+ key <AE03> {[ slash, 3, numbersign ]};
+ key <AE04> {[ semicolon, 4, dollar ]};
+ key <AE05> {[ colon, 5, section ]};
+ key <AE06> {[ comma, 6, asciicircum ]};
+ key <AE07> {[ period, 7, ampersand ]};
+ key <AE08> {[ equal, 8, asterisk ]};
+ key <AE09> {[ parenleft, 9, bracketleft ]};
+ key <AE10> {[ parenright, 0, bracketright ]};
+ key <AE11> {[ question, plus, apostrophe ]};
+ key <AE12> {[ x, X, percent ]};
+ key <AD01> {[ aogonek, Aogonek ]};
+ key <AD02> {[ zcaron, Zcaron ]};
+ key <AD03> {[ e, E, EuroSign ]};
+ key <AD11> {[ iogonek, Iogonek, braceleft ]};
+ key <AD12> {[ w, W, braceright ]};
+ key <AC04> {[ scaron, Scaron ]};
+ key <AC10> {[ uogonek, Uogonek ]};
+ key <AC11> {[ eabovedot, Eabovedot, quotedbl ]};
+ key <AB01> {[ z, Z, less ]};
+ key <AB02> {[ umacron, Umacron, greater ]};
+ key <AB03> {[ c, C, endash ]};
+ key <AB08> {[ ccaron, Ccaron, doublelowquotemark ]};
+ key <AB09> {[ f, F, leftdoublequotemark ]};
+// this is actually right quote for Lithuanian
+ key <AB10> {[ eogonek, Eogonek, backslash ]};
+ key <BKSL> {[ q, Q, bar ]};
+ key <SPCE> {[ space, space, nobreakspace, nobreakspace ]};
+
+ key <LSGT> {[ less, greater, endash ]};
+
+ include "level3(ralt_switch)"
+};
diff --git a/data/xkbdata/symbols/pc/lv b/data/xkbdata/symbols/pc/lv
new file mode 100644
index 000000000..19dbb8820
--- /dev/null
+++ b/data/xkbdata/symbols/pc/lv
@@ -0,0 +1,130 @@
+// $XdotOrg$
+
+// Latvian keymap version 1.1
+// Copyright (C) Dmitry Golubev <lastguru@mail.ru>, 2003-2004
+//
+// Reworked to get rid of dead_keys (use of which in this case
+// is a dirty hack). It is now not dependent on locale settings
+// and GTK_IM_MODULES in Gnome. The map is also providing some of
+// ISO9995-3 alternate characters. Note that this version works
+// correctly under Gnome 2.6. This is to be put into symbols/
+// directory, or somewhere else.
+//
+// Permission to use, copy, modify, distribute, and sell this software and its
+// documentation for any purpose is hereby granted without fee, provided that
+// the above copyright notice appear in all copies and that both that
+// copyright notice and this permission notice appear in supporting
+// documentation, and that the name of the copyright holder(s) not be used in
+// advertising or publicity pertaining to distribution of the software without
+// specific, written prior permission. The copyright holder(s) makes no
+// representations about the suitability of this software for any purpose. It
+// is provided "as is" without express or implied warranty.
+//
+// THE COPYRIGHT HOLDER(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+// EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+// PERFORMANCE OF THIS SOFTWARE.
+
+partial default alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Latvia";
+
+ key <TLDE> {[grave, asciitilde, acute, asciitilde]};
+ key <AE01> {[1, exclam, onesuperior, exclamdown]};
+ key <AE02> {[2, at, twosuperior, oneeighth]};
+ key <AE03> {[3, numbersign, threesuperior, sterling]};
+ key <AE04> {[4, dollar, EuroSign, cent]};
+ key <AE05> {[5, percent, onehalf, threeeighths]};
+ key <AE06> {[6, asciicircum, threequarters, fiveeighths]};
+ key <AE07> {[7, ampersand, braceleft, seveneighths]};
+ key <AE08> {[8, asterisk, bracketleft, trademark]};
+ key <AE09> {[9, parenleft, bracketright, plusminus]};
+ key <AE10> {[0, parenright, braceright, degree]};
+ key <AE11> {[minus, underscore, backslash, questiondown]};
+ key <AE12> {[equal, plus, endash, emdash]};
+
+ key <AD01> {[q, Q, q, Q]};
+ key <AD02> {[w, W, w, W]};
+ key <AD03> {[e, E, emacron, Emacron]};
+ key <AD04> {[r, R, rcedilla, Rcedilla]};
+ key <AD05> {[t, T, t, T]};
+ key <AD06> {[y, Y, y, Y]};
+ key <AD07> {[u, U, umacron, Umacron]};
+ key <AD08> {[i, I, imacron, Imacron]};
+ key <AD09> {[o, O, omacron, Omacron]};
+ key <AD10> {[p, P, p, P]};
+ key <AD11> {[bracketleft, braceleft, guillemotleft, leftdoublequotemark]};
+ key <AD12> {[bracketright, braceright, guillemotright, rightdoublequotemark]};
+
+ key <AC01> {[a, A, amacron, Amacron]};
+ key <AC02> {[s, S, scaron, Scaron]};
+ key <AC03> {[d, D, d, D]};
+ key <AC04> {[f, F, f, F]};
+ key <AC05> {[g, G, gcedilla, Gcedilla]};
+ key <AC06> {[h, H, h, H]};
+ key <AC07> {[j, J, j, J]};
+ key <AC08> {[k, K, kcedilla, Kcedilla]};
+ key <AC09> {[l, L, lcedilla, Lcedilla]};
+ key <AC10> {[semicolon, colon, semicolon, colon]};
+ key <AC11> {[apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark]};
+
+ key <AB01> {[z, Z, zcaron, Zcaron]};
+ key <AB02> {[x, X, x, X]};
+ key <AB03> {[c, C, ccaron, Ccaron]};
+ key <AB04> {[v, V, v, V]};
+ key <AB05> {[b, B, b, B]};
+ key <AB06> {[n, N, ncedilla, Ncedilla]};
+ key <AB07> {[m, M, m, M]};
+ key <AB08> {[comma, less, horizconnector, multiply]};
+ key <AB09> {[period, greater, periodcentered, division]};
+ key <AB10> {[slash, question, slash, abovedot]};
+ key <BKSL> {[backslash, bar, grave, breve]};
+
+ key <SPCE> {[space, space, space, space]};
+ key <RALT> {type[Group1]="ONE_LEVEL", [ISO_Level3_Shift]};
+ modifier_map Mod5 { <RALT> };
+
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "apostrophe" {
+
+ include "pc/lv(basic)"
+
+ name[Group1]= "Latvia - Apostrophe (') variant";
+
+ key <AC11> {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]};
+ key <SPCE> {[space, space, apostrophe]};
+ modifier_map Mod5 { <AC11> };
+
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "tilde" {
+
+ include "pc/lv(basic)"
+
+ name[Group1]= "Latvia - Tilde (~) variant";
+
+ key <TLDE> {[ISO_Level3_Latch, asciitilde, grave, acute]};
+ key <SPCE> {[space, space, asciitilde]};
+ modifier_map Mod5 { <TLDE> };
+
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "fkey" {
+
+ include "pc/lv(basic)"
+
+ name[Group1]= "Latvia - F-letter (F) variant";
+
+ key <AC04> {[ISO_Level3_Latch, ISO_Level3_Latch, f, F]};
+ key <SPCE> {[space, space, f, F]};
+ modifier_map Mod5 { <AC04> };
+
+};
diff --git a/data/xkbdata/symbols/pc/mao b/data/xkbdata/symbols/pc/mao
new file mode 100644
index 000000000..3937ecc87
--- /dev/null
+++ b/data/xkbdata/symbols/pc/mao
@@ -0,0 +1,24 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/mao,v 1.2 2004/10/09 18:34:15 svu Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Adds the macrons needed for the Maori language to
+ // a simple us keyboard layout.
+
+ include "pc/latin"
+
+ name[Group1]="Maori";
+
+ key <AC01> { [ a, A, amacron, Amacron ] };
+ key <AD03> { [ e, E, emacron, Emacron ] };
+ key <AD08> { [ i, I, imacron, Imacron ] };
+
+ key <AD09> { [ o, O, omacron, Omacron ] };
+ key <AD07> { [ u, U, umacron, Umacron ] };
+
+ key <RALT> { type[Group1]="TWO_LEVEL",
+ [ ISO_Level3_Shift, Multi_key ] };
+ modifier_map Mod5 { <RALT> };
+};
diff --git a/data/xkbdata/symbols/pc/mkd b/data/xkbdata/symbols/pc/mkd
new file mode 100644
index 000000000..fa303933e
--- /dev/null
+++ b/data/xkbdata/symbols/pc/mkd
@@ -0,0 +1,66 @@
+// $XdotOrg$
+// based on keyboard map:
+// Author: Damjan Georgievski <penguinista AT mail.net.mk>
+// Revision: 1.5
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Macedonian";
+
+ key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AC02> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AD01> { [ Cyrillic_lje, Cyrillic_LJE ] };
+ key <AD02> { [ Cyrillic_nje, Cyrillic_NJE ] };
+ key <AB03> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AB02> { [ Cyrillic_dzhe, Cyrillic_DZHE ] };
+ key <AC03> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AB04> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AD05> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AD04> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AB06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB05> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD06> { [ Macedonia_dse, Macedonia_DSE ] };
+ key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC07> { [ Cyrillic_je, Cyrillic_JE ] };
+ key <AD07> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AC08> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD08> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AD09> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AD10> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC11> { [ Macedonia_kje, Macedonia_KJE ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ Macedonia_gje, Macedonia_GJE ] };
+ key <BKSL> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AE12> { [ equal, plus ] };
+ key <AE11> { [ minus, underscore ] };
+ key <TLDE> { [ dead_grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, doublelowquotemark ] };
+ key <AE03> { [ 3, leftdoublequotemark ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ slash, question ] };
+
+ include "keypad(comma)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "pc/mkd(basic)"
+ name[Group1]= "Macedonian - Eliminate dead keys";
+ key <TLDE> { [ grave, asciitilde ] };
+};
diff --git a/data/xkbdata/symbols/pc/mm b/data/xkbdata/symbols/pc/mm
new file mode 100644
index 000000000..ee2416512
--- /dev/null
+++ b/data/xkbdata/symbols/pc/mm
@@ -0,0 +1,66 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/mm' file
+//
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Myanmar";
+
+// Mainly numbers.
+ key <AE01> { [ 0x1001041, exclam ] };
+ key <AE02> { [ 0x1001042 ] };
+ key <AE03> { [ 0x1001043 ] };
+ key <AE04> { [ 0x1001044 ] };
+ key <AE05> { [ 0x1001045 ] };
+ key <AE06> { [ 0x1001046 ] };
+ key <AE07> { [ 0x1001047 ] };
+ key <AE08> { [ 0x1001048 ] };
+ key <AE09> { [ 0x1001049, parenleft ] };
+ key <AE10> { [ 0x1001040, parenright ] };
+ key <AE11> { [ minus, 0x1001038 ] };
+ key <AE12> { [ 0x1001052, 0x1001056 ] };
+
+// Mainly long vowels
+ key <AD01> { [ 0x100102A, 0x100102A ] };
+ key <AD02> { [ 0x1001032, 0x1001032 ] };
+ key <AD03> { [ 0x100102C, 0x1001021 ] };
+ key <AD04> { [ 0x100102E, 0x1001024 ] };
+ key <AD05> { [ 0x1001030, 0x1001026 ] };
+
+// Mainly voiced consonants
+ key <AD06> { [ 0x1001017, 0x1001018 ] };
+ key <AD07> { [ 0x100101F, 0x1001004 ] };
+ key <AD08> { [ 0x1001002, 0x1001003 ] };
+ key <AD09> { [ 0x1001012, 0x1001013 ] };
+ key <AD10> { [ 0x1001007, 0x1001008 ] };
+ key <AD11> { [ 0x100100d, 0x100100e ] };
+ key <AD12> { [ 0x100100a, 0x1001009 ] };
+
+// Mainly short vowels
+ key <AC01> { [ 0x1001029, 0x1001029 ] };
+ key <AC02> { [ 0x1001027, 0x1001027 ] };
+ key <AC03> { [ 0x1001039, 0x1001021 ] };
+ key <AC04> { [ 0x100102D, 0x1001023 ] };
+ key <AC05> { [ 0x100102F, 0x1001025 ] };
+
+// Mainly unvoiced consonants
+ key <AC06> { [ 0x1001015, 0x1001016 ] };
+ key <AC07> { [ 0x100101B, 0x100101B ] };
+ key <AC08> { [ 0x1001000, 0x1001001 ] };
+ key <AC09> { [ 0x1001010, 0x1001011 ] };
+ key <AC10> { [ 0x1001005, 0x1001006 ] };
+ key <AC11> { [ 0x100100b, 0x100100c ] };
+ key <BKSL> { [ 0x100104E, 0x100104F ] };
+
+ key <AB01> { [ 0x100104C, 0x100104D ] };
+ key <AB02> { [ 0x1001037, 0x1001036 ] };
+ key <AB03> { [ 0x1001019, 0x100100f ] };
+ key <AB04> { [ 0x1001014, 0x1001014 ] };
+ key <AB05> { [ 0x1001017, 0x1001017 ] };
+ key <AB06> { [ 0x100101C, 0x100101C ] };
+ key <AB07> { [ 0x100101E, 0x1001050 ] };
+ key <AB08> { [ comma, 0x1001051 ] };
+ key <AB09> { [ period, 0x100104A ] };
+ key <AB10> { [ slash, 0x100101A ] };
+};
diff --git a/data/xkbdata/symbols/pc/mn b/data/xkbdata/symbols/pc/mn
new file mode 100644
index 000000000..ec47fff7b
--- /dev/null
+++ b/data/xkbdata/symbols/pc/mn
@@ -0,0 +1,71 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/mn,v 1.4 2004/12/22 21:51:19 svu Exp $
+
+// based on:
+// Mongolian standard keyboard
+// Author Sanlig Badral <badral@chinggis.com>
+// 2002/12/7 Version 1.0
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Mongolia";
+
+ key <TLDE> { [ equal, plus, degree ] };
+ key <AE01> { [ 1, numerosign, multiply ] };
+ key <AE02> { [ 2, minus, division ] };
+ key <AE03> { [ 3, quotedbl, plusminus ] };
+ key <AE04> { [ 4, U20ae, notsign ] };
+ key <AE05> { [ 5, colon, NoSymbol ] };
+ key <AE06> { [ 6, period, notequal ] };
+ key <AE07> { [ 7, underscore, ampersand ] };
+ key <AE08> { [ 8, comma, asterisk ] };
+ key <AE09> { [ 9, percent, bracketleft ] };
+ key <AE10> { [ 0, question, bracketright ] };
+ key <AE11> { [ Cyrillic_ie, Cyrillic_IE, X ] };
+ key <AE12> { [ Cyrillic_shcha, Cyrillic_SHCHA, L ] };
+
+ key <AD01> { [ Cyrillic_ef, Cyrillic_EF, apostrophe ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, grave ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, EuroSign ] };
+ key <AD04> { [ Cyrillic_zhe, Cyrillic_ZHE, registered ] };
+ key <AD05> { [ Cyrillic_e, Cyrillic_E, trademark ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN, yen ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, doublelowquotemark ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, leftdoublequotemark ] };
+ key <AD09> { [ Cyrillic_u_straight,Cyrillic_U_straight,rightdoublequotemark] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, NoSymbol ] };
+ key <AD11> { [ Cyrillic_ka, Cyrillic_KA, braceleft ] };
+ key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, braceright ] };
+
+ key <AC01> { [ Cyrillic_shorti, Cyrillic_SHORTI, mu ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, sterling ] };
+ key <AC03> { [ Cyrillic_be, Cyrillic_BE, dollar ] };
+ key <AC04> { [ Cyrillic_o_bar, Cyrillic_O_bar, rightdoublequotemark ] };
+ key <AC05> { [ Cyrillic_a, Cyrillic_A, Cyrillic_yeru ] };
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_YERU ] };
+ key <AC07> { [ Cyrillic_er, Cyrillic_ER, Cyrillic_e ] };
+ key <AC08> { [ Cyrillic_o, Cyrillic_O, Cyrillic_E ] };
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL, numerosign ] };
+ key <AC10> { [ Cyrillic_de, Cyrillic_DE, section ] };
+ key <AC11> { [ Cyrillic_pe, Cyrillic_PE, ellipsis ] };
+ key <BKSL> { [ exclam, bar, bar ] };
+
+ key <LSGT> { [ parenleft, parenright, NoSymbol ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA, emdash ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE, endash ] };
+ key <AB03> { [ Cyrillic_io, Cyrillic_IO, copyright ] };
+ key <AB04> { [ Cyrillic_es, Cyrillic_ES, NoSymbol ] };
+ key <AB05> { [ Cyrillic_em, Cyrillic_EM, NoSymbol ] };
+ key <AB06> { [ Cyrillic_i, Cyrillic_I, less ] };
+ key <AB07> { [ Cyrillic_te, Cyrillic_TE, greater ] };
+ key <AB08> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, guillemotleft ] };
+ key <AB09> { [ Cyrillic_ve, Cyrillic_VE, guillemotright ] };
+ key <AB10> { [ Cyrillic_yu, Cyrillic_YU, backslash ] };
+
+ // End alphanumeric section
+
+ key <SPCE> { [ space, space, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/data/xkbdata/symbols/pc/mt b/data/xkbdata/symbols/pc/mt
new file mode 100644
index 000000000..dd34d2599
--- /dev/null
+++ b/data/xkbdata/symbols/pc/mt
@@ -0,0 +1,57 @@
+// $XdotOrg$
+
+// Maltese keyboard map (based on MSA Standard DMS100)
+// by Ramon Casha (ramon.casha@linux.org.mt)
+//
+// $XFree86: xc/programs/xkbcomp/symbols/mt,v 1.3 2002/12/13 04:18:04 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin"
+
+ name[Group1]="Malta";
+
+ // The following four sets are the four additional letters, with the UK
+ // equivalents
+ key <TLDE> { [ cabovedot, Cabovedot, grave, notsign ] };
+ key <AD11> { [ gabovedot, Gabovedot, bracketleft, braceleft ] };
+ key <AD12> { [ hstroke, Hstroke, bracketright, braceright ] };
+ key <LSGT> { [ zabovedot, Zabovedot, backslash, bar ] };
+
+ // Euro symbol
+ key <AE03> { [ 3, EuroSign, sterling ] };
+
+ // Long accent
+ key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
+
+ // Normal accented vowels
+ key <AD03> { [ e, E, egrave, Egrave ] };
+ key <AD07> { [ u, U, ugrave, Ugrave ] };
+ key <AD08> { [ i, I, igrave, Igrave ] };
+ key <AD09> { [ o, O, ograve, Ograve ] };
+ key <AC01> { [ a, A, agrave, Agrave ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Maltese keyboard map (based on MSA Standard DMS100, annex A)
+// by Ramon Casha (ramon.casha@linux.org.mt)
+
+partial alphanumeric_keys
+xkb_symbols "us" {
+
+ include "pc/mt(basic)"
+
+ // Describes the differences between the mt
+ // keyboard and a US-based physical keyboard
+
+ name[Group1]="Malta - US keyboard with Maltian letters";
+
+ key <BKSL> { [ zabovedot, Zabovedot, backslash, bar ] };
+
+ key <TLDE> { [ cabovedot, Cabovedot, grave, asciitilde ] };
+
+ key <AE03> { [ 3, EuroSign, numbersign ] };
+
+};
diff --git a/data/xkbdata/symbols/pc/nl b/data/xkbdata/symbols/pc/nl
new file mode 100644
index 000000000..e708e54a6
--- /dev/null
+++ b/data/xkbdata/symbols/pc/nl
@@ -0,0 +1,54 @@
+// $XdotOrg$
+
+// based on
+// Converted keytable file to xkb/symbols/ file
+// with mk_xkb by root@linux.chanae.stben.be Tue Sep 30 00:53:29 MET DST 1997
+
+// converted from the nl-latin.map of the Linux kbd package by
+// Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/nl,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin"
+
+ name[Group1]="Netherlands";
+
+ key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
+ key <AE06> { [ 6, ampersand, threequarters, fiveeighths ] };
+ key <AE07> { [ 7, underscore, sterling, seveneighths ] };
+ key <AE08> { [ 8, parenleft, braceleft, trademark ] };
+ key <AE09> { [ 9, parenright, braceright, plusminus ] };
+ key <AE10> { [ 0, apostrophe, braceright, degree ] };
+ key <AE11> { [ slash, question, backslash, questiondown ] };
+ key <AE12> { [ degree, dead_tilde, dead_cedilla, dead_ogonek ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, ydiaeresis, yen ] };
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I, idiaeresis, Idiaeresis ] };
+ key <AD09> { [ o, O, ograve, Ograve ] };
+ key <AD10> { [ p, P, paragraph, THORN ] };
+ key <AD11> { [dead_diaeresis, dead_circumflex, asciitilde, asciicircum] };
+ key <AD12> { [ asterisk, bar, dead_tilde, dead_macron ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC04> { [ f, F, ordfeminine, ordfeminine ] };
+ key <AC10> { [ plus, plusminus, dead_acute, dead_doubleacute ] };
+ key <AC11> { [apostrophe, grave, dead_acute, dead_grave ] };
+ key <TLDE> { [ at, section, notsign, notsign ] };
+
+ key <BKSL> { [ less, greater, dead_grave, dead_breve ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB07> { [ m, M, Greek_mu, masculine ] };
+ key <AB08> { [ comma, semicolon, cedilla, guillemotleft] };
+ key <AB09> { [ period, colon, periodcentered, guillemotright ] };
+ key <AB10> { [ minus, equal, hyphen, dead_abovedot] };
+
+ key <LSGT> { [bracketright, bracketleft, bar, brokenbar ] };
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/data/xkbdata/symbols/pc/no b/data/xkbdata/symbols/pc/no
new file mode 100644
index 000000000..4fc64ec56
--- /dev/null
+++ b/data/xkbdata/symbols/pc/no
@@ -0,0 +1,181 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/no' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/no,v 1.3 2002/12/19 01:07:56 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Norwegian keyboard with dead key support
+ // and all of ISO-8859-1 characters available.
+
+ include "pc/latin(type2)"
+
+ name[Group1]="Norway";
+
+ key <AE11> { [ plus, question, plusminus, questiondown ] };
+ key <AE12> { [ backslash, dead_grave, dead_acute, notsign ] };
+
+
+ key <AC10> { [ oslash, Ooblique, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ ae, AE, dead_circumflex, dead_caron] };
+ key <TLDE> { [ bar, section, brokenbar, paragraph ] };
+
+ key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] };
+ key <LSGT> { [ less, greater, onehalf, threequarters] };
+
+ include "keypad(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Norwegian layout to eliminate dead keys
+
+ include "pc/no(basic)"
+
+ name[Group1]="Norway - Eliminate dead keys";
+
+ key <AE12> { [ backslash, grave, acute, ogonek ] };
+ key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
+ key <AC10> { [ oslash, Ooblique, acute, doubleacute ] };
+ key <AC11> { [ ae, AE, asciicircum, caron ] };
+ key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
+ key <AB09> { [ period, colon, periodcentered, abovedot ] };
+};
+
+// Norwegian Dvorak
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "pc/us(dvorak)"
+
+ name[Group1]="Norway - Dvorak";
+
+ key <TLDE> { [ bar, section, brokenbar, paragraph ] };
+
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, quotedbl, at, twosuperior ] };
+ key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
+ key <AE04> { [ 4, dollar, currency,onequarter ] };
+ key <AE05> { [ 5, percent, onehalf, onehalf ] };
+ key <AE06> { [ 6, ampersand, threequarters, threequarters ] };
+ key <AE07> { [ 7, slash, braceleft, division ] };
+ key <AE08> { [ 8, parenleft, bracketleft ] };
+ key <AE09> { [ 9, parenright, bracketright ] };
+ key <AE10> { [ 0, equal, braceright ] };
+ key <AE11> { [ plus, question, plusminus, questiondown ] };
+ key <AE12> { [ backslash, grave, dead_acute, dead_grave ] };
+
+ key <AD01> { [ aring, Aring, braceright, bracketright ] };
+ key <AD02> { [ comma, semicolon, dead_cedilla, cedilla ] };
+ key <AD03> { [ period, colon, periodcentered ] };
+ key <AD04> { [ p, P, thorn, THORN ] };
+ key <AD05> { [ y, Y, yen ] };
+ key <AD06> { [ f, F, ordfeminine ] };
+ key <AD08> { [ c, C, ccedilla, copyright ] };
+ key <AD09> { [ r, R, registered ] };
+ key <AD11> { [ apostrophe, asterisk, dead_circumflex, acute ] };
+ key <AD12> { [ asciitilde, asciicircum, dead_diaeresis, dead_tilde ] };
+
+ key <AC03> { [ e, E, EuroSign, cent ] };
+ key <AC05> { [ i, I, idotless, Iabovedot] };
+ key <AC06> { [ d, D, eth, ETH ] };
+ key <AC10> { [ s, S, ssharp ] };
+ key <AC11> { [ minus, underscore, hyphen, diaeresis] };
+
+ key <AB01> { [ ae, AE, braceleft, bracketleft] };
+ key <AB05> { [ x, X, multiply ] };
+ key <AB07> { [ m, M, mu ] };
+ key <BKSL> { [ less, greater, guillemotleft, guillemotright ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace] };
+
+ key <LSGT> { [ oslash, Ooblique, bar, backslash ] };
+
+};
+
+// based on
+// Northern Sami keyboards for Finland, Norway and Sweden
+//
+// Describes the differences between a very simple en_US
+// keyboard and a Norwegian Northern Sami keyboard (with
+// dead key support) according to the spec on
+// http://www.hum.uit.no/a/trond/se-lat9-no-keys.html
+// Written by Børre Gaup <boerre.gaup@pc.nu>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/sapmi,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "smi" {
+ include "pc/latin"
+
+ name[Group1]= "Norway - Northern Saami";
+
+ key <AE01> { [ 1, exclam, copyright, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, at, registered ] };
+ key <AE03> { [ 3, numbersign, sterling, less ] };
+ key <AE04> { [ 4, dollar, dollar, greater ] };
+ key <AE05> { [ 5, percent, U2022, U2030 ] };
+ key <AE06> { [ 6, ampersand, section, paragraph ] };
+ key <AE07> { [ 7, slash, braceleft, bar ] };
+ key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
+ key <AE09> { [ 9, parenright, bracketright, braceright ] };
+ key <AE10> { [ 0, equal, braceright, notequal ] };
+ key <AE11> { [ plus, question, division, questiondown ] };
+ key <AE12> { [ backslash, grave, acute, asciitilde ] };
+
+ key <AD01> { [ aacute, Aacute, q, Q ] };
+ key <AD02> { [ scaron, Scaron, w, W ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, registered, trademark ] };
+ key <AD06> { [ y, Y, yacute, Yacute ] };
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I, idiaeresis, Idiaeresis ] };
+ key <AD09> { [ o, O, oe, OE ] };
+ key <AD11> { [ aring, Aring, acircumflex, Acircumflex ] };
+ key <AD12> { [ eng, ENG, quotedbl, asciicircum ] };
+
+ key <AC01> { [ a, A, agrave, Agrave ] };
+ key <AC02> { [ s, S, ssharp, apostrophe ] };
+ key <AC04> { [ f, F, ordfeminine, ordfeminine ] };
+ key <AC05> { [ g, G, gcaron, Gcaron ] };
+ key <AC06> { [ h, H, U01E5, U01E4 ] };
+ key <AC07> { [ j, J, notsign, multiply ] };
+ key <AC08> { [ k, K, U01E9, U01E8 ] };
+ key <AC09> { [ l, L, degree, hyphen ] };
+ key <AC10> { [ oslash, Ooblique, odiaeresis, Odiaeresis ] };
+ key <AC11> { [ ae, AE, adiaeresis, Adiaeresis ] };
+ key <TLDE> { [ bar, section, brokenbar, paragraph ] };
+
+ key <BKSL> { [ dstroke, Dstroke, apostrophe, asterisk ] };
+ key <AB01> { [ z, Z, U0292, U01B7 ] };
+ key <AB02> { [ ccaron, Ccaron, x, X ] };
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <AB04> { [ v, V, lessthanequal, guillemotleft ] };
+ key <AB05> { [ b, B, greaterthanequal, guillemotright ] };
+ key <AB06> { [ n, N, leftsinglequotemark, leftdoublequotemark ] };
+ key <AB07> { [ m, M, rightsinglequotemark, rightdoublequotemark ] };
+ key <AB08> { [ comma, semicolon, singlelowquotemark, doublelowquotemark ] };
+ key <AB09> { [ period, colon, ellipsis, periodcentered ] };
+ key <AB10> { [ minus, underscore, endash, emdash ] };
+
+ key <LSGT> { type[Group1] = "FOUR_LEVEL",
+ [ zcaron, Zcaron, U01EF, U01EE ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "smi_nodeadkeys" {
+
+ // Modifies the basic Norwegian layout to eliminate dead keys
+
+ include "pc/no(smi)"
+
+ name[Group1]= "Norway - Northern Saami, eliminate dead keys";
+
+ key <AE12> { [ backslash, grave, acute, ogonek ] };
+};
diff --git a/data/xkbdata/symbols/pc/pc b/data/xkbdata/symbols/pc/pc
new file mode 100644
index 000000000..be03662e5
--- /dev/null
+++ b/data/xkbdata/symbols/pc/pc
@@ -0,0 +1,262 @@
+// $XdotOrg$
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pc/pc,v 1.9 2003/06/09 19:59:46 dawes Exp $
+
+partial hidden alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ BackSpace, Terminate_Server ]
+ };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <RTRN> { [ Return ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <SPCE> { [ space ] };
+
+ key <RTSH> { [ Shift_R ] };
+ key <LALT> { [ Alt_L ] };
+ key <RCTL> { [ Control_R ] };
+ key <RALT> { [ Alt_R ] };
+
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F1, XF86_Switch_VT_1 ]
+ };
+ key <FK02> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F2, XF86_Switch_VT_2 ]
+ };
+ key <FK03> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F3, XF86_Switch_VT_3 ]
+ };
+ key <FK04> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F4, XF86_Switch_VT_4 ]
+ };
+ key <FK05> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F5, XF86_Switch_VT_5 ]
+ };
+ key <FK06> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F6, XF86_Switch_VT_6 ]
+ };
+ key <FK07> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F7, XF86_Switch_VT_7 ]
+ };
+ key <FK08> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F8, XF86_Switch_VT_8 ]
+ };
+ key <FK09> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F9, XF86_Switch_VT_9 ]
+ };
+ key <FK10> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F10, XF86_Switch_VT_10 ]
+ };
+ key <FK11> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F11, XF86_Switch_VT_11 ]
+ };
+ key <FK12> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F12, XF86_Switch_VT_12 ]
+ };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <SYRQ> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_BREAK",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <BRK> {
+ type= "PC_BREAK",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <INS> { [ Insert ] };
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+
+// Ungrab cancels server/keyboard/pointer grabs
+ key <KPDV> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Divide, XF86_Ungrab ]
+ };
+
+// ClsGrb kills whichever client has a grab in effect
+ key <KPMU> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ]
+ };
+
+// -VMode switches to the previous video mode
+ key <KPSU> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ]
+ };
+
+ key <KP7> { [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ] };
+
+// +VMode switches to the next video mode
+ key <KPAD> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Add, XF86_Next_VMode ]
+ };
+
+ key <KP4> { [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_Begin, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+ key <KPEQ> { [ KP_Equal ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod2 { Num_Lock };
+
+ // Fake keys for virtual<->real modifiers mapping
+ key <LVL3> { [ ISO_Level3_Shift ] };
+ key <MDSW> { [ Mode_switch ] };
+ modifier_map Mod5 { <LVL3>, <MDSW> };
+
+ key <ALT> { [ NoSymbol, Alt_L ] };
+ modifier_map Mod1 { <ALT>, <LALT> };
+
+ key <META> { [ NoSymbol, Meta_L ] };
+ modifier_map Mod1 { <META> };
+
+ key <SUPR> { [ NoSymbol, Super_L ] };
+ modifier_map Mod4 { <SUPR> };
+
+ key <HYPR> { [ NoSymbol, Hyper_L ] };
+ modifier_map Mod4 { <HYPR> };
+};
+
+// definition for the PC-AT type 101 key keyboard
+xkb_symbols "pc101" {
+ include "pc/pc(basic)"
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+
+};
+
+// definition for the extra key on 102-key keyboards
+xkb_symbols "pc102" {
+ include "pc/pc(pc101)"
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+};
+
+// definition for the extra keys on 104-key "Windows95" keyboards
+default
+xkb_symbols "pc104" {
+ include "pc/pc(basic)"
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ key <LWIN> { [ Super_L ] };
+ key <RWIN> { [ Super_R ] };
+ key <MENU> { [ Menu ] };
+
+};
+
+// defintion which includes both the Windows95 keyboards _and_
+// the extra key on most European keyboards.
+xkb_symbols "pc105" {
+ include "pc/pc(pc104)"
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+};
+
+// common keys which can be overwritten in some layouts
+xkb_symbols "common" {
+
+ // Alphanumeric section
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <BKSL> { [ backslash, bar ] };
+ key <SPCE> { [ space ] };
+
+ // "Keypad" section
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+
+ // extra keys on 104-key "Windows95" keyboards
+ key <LWIN> { [ Super_L ] };
+ key <RWIN> { [ Super_R ] };
+ key <MENU> { [ Menu ] };
+
+ // the extra key on most European keyboards
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+};
diff --git a/data/xkbdata/symbols/pc/pk b/data/xkbdata/symbols/pc/pk
new file mode 100644
index 000000000..7426ad1fa
--- /dev/null
+++ b/data/xkbdata/symbols/pc/pk
@@ -0,0 +1,86 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/pk,v 1.1 2005/07/30 02:32:00 svu Exp $
+
+// Urdu keymap
+// Developed by:
+// Zaeem Arshad <zaeem@linux.net.pk>
+// Last update: 2004-03-12
+//Notice:
+//Alt key combinations are yet to be put in. The unavailable keys are those which do not have a corresponding //glyph in unicode.
+
+partial default alphanumeric_keys
+xkb_symbols "urd" {
+ name[Group1]= "Pakistan";
+
+ // Keys '~' - '='
+ // All keys checked and complete
+ key <TLDE> { [ 0x10006d4 ] };
+ key <AE01> { [ 0x1000661, exclam ] };
+ key <AE02> { [ 0x1000662, 0x1000040 ] };
+ key <AE03> { [ 0x1000663, 0x1000023 ] };
+ key <AE04> { [ 0x10006f4, 0x1000024 ] };
+ key <AE05> { [ 0x10006f5, 0x1000025 ] };
+ key <AE06> { [ 0x1000666, 0x100005e ] };
+ key <AE07> { [ 0x1000667, 0x1000026 ] };
+ key <AE08> { [ 0x1000668, asterisk ] };
+ key <AE09> { [ 0x1000669, parenleft ] };
+ key <AE10> { [ 0x1000660, parenright ] };
+ key <AE11> { [ minus, 0x100005f ] };
+ key <AE12> { [ equal, plus ] };
+
+ //Keys 'Q' - ']'
+ //Checked but incomplete with three shift sequences not available
+ key <AD01> { [ Arabic_qaf, 0x10006e1 ] };
+ key <AD02> { [ 0x1000648, 0x100fdf9 ] }; //shift key not available
+ key <AD03> { [ 0x1000639, 0x100fdf7 ] }; //shift key not available
+ key <AD04> { [ 0x1000631, 0x1000691 ] };
+ key <AD05> { [ Arabic_teh, 0x1000679 ] };
+ key <AD06> { [ 0x10006d2, 0x100fe7c ] };
+ key <AD07> { [ 0x1000621, 0x100064c ] };
+ key <AD08> { [ 0x10006cc, 0x1000656 ] }; //shift key not available
+ key <AD09> { [ 0x1000647, 0x1000629 ] };
+ key <AD10> { [ 0x100067e, 0x100064f ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+
+
+ // Keys 'A' - '''
+ // Checked but incomplete with two shift sequences not available
+ key <AC01> { [ 0x1000627, 0x1000622 ] };
+ key <AC02> { [ Arabic_seen, 0x1000635 ] };
+ key <AC03> { [ 0x100062f, 0x1000688 ] };
+ key <AC04> { [ 0x1000641, 0x1000670 ] };
+ key <AC05> { [ 0x10006af, 0x100063a ] };
+ key <AC06> { [ 0x10006be, 0x100062d ] };
+ key <AC07> { [ 0x100062c, 0x1000636 ] };
+ key <AC08> { [ 0x10006a9, 0x100062e ] };
+ key <AC09> { [ 0x1000644, 0x1000612 ] };//shift key not available
+ key <AC10> { [ 0x100061b, 0x100003a ] };
+ key <AC11> { [ 0x1000027 ] }; // shift key not available
+
+
+ // These two are fine
+ key <BKSL> { [ backslash, bar ] };
+ key <SPCE> { [ space ] };
+
+
+ // Keys: 'Z' - '/'
+ //Keys checked with two shift sequences not available
+ key <AB01> { [ Arabic_zain, Arabic_thal ] };
+ key <AB02> { [ 0x1000634, 0x1000698 ] };
+ key <AB03> { [ 0x1000686 , 0x100062b ] };
+ key <AB04> { [ 0x1000637, 0x1000638 ] };
+ key <AB05> { [ 0x1000628, 0x1000628 ] };//shift key unavailable
+ key <AB06> { [ 0x1000646, 0x10006ba ] };
+ key <AB07> { [ 0x1000645, 0x1000645 ] };//shift key not available
+ key <AB08> { [ 0x100060c, 0x100064e ] };
+ key <AB09> { [ 0x10006d4, 0x1000650 ] };
+ key <AB10> { [ slash, Arabic_question_mark ] };
+
+ //End alphanumeric key mappings
+
+ //Begin modifier mappings
+
+ modifier_map Shift {Shift_L, Shift_R };
+ modifier_map Lock {Caps_Lock };
+};
diff --git a/data/xkbdata/symbols/pc/pl b/data/xkbdata/symbols/pc/pl
new file mode 100644
index 000000000..76700ddda
--- /dev/null
+++ b/data/xkbdata/symbols/pc/pl
@@ -0,0 +1,130 @@
+// $XdotOrg$
+
+// based on a keyboard map from an 'xkb/symbols/pl' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pl,v 1.3 2003/04/19 12:22:12 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin"
+
+ name[Group1]="Poland";
+
+ key <AD03> { [ e, E, eogonek, Eogonek ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+
+ key <AC01> { [ a, A, aogonek, Aogonek ] };
+ key <AC02> { [ s, S, sacute, Sacute ] };
+
+ key <AB01> { [ z, Z, zabovedot, Zabovedot ] };
+ key <AB02> { [ x, X, zacute, Zacute ] };
+ key <AB03> { [ c, C, cacute, Cacute ] };
+ key <AB06> { [ n, N, nacute, Nacute ] };
+
+ include "keypad(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwertz" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple QWERTZ Polish keybaord
+
+ include "pc/latin(type3)"
+
+ name[Group1]="Poland - qwertz";
+
+ key <AE01> { [ 1, exclam, asciitilde, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, dead_caron, oneeighth ] };
+ key <AE03> { [ 3, numbersign, dead_circumflex, sterling ] };
+ key <AE04> { [ 4, dollar, dead_breve, dollar ] };
+ key <AE05> { [ 5, percent, degree, threeeighths ] };
+ key <AE06> { [ 6, ampersand, dead_ogonek, fiveeighths ] };
+ key <AE07> { [ 7, slash, dead_grave, seveneighths ] };
+ key <AE08> { [ 8, parenleft, dead_abovedot, trademark ] };
+ key <AE09> { [ 9, parenright, dead_acute, plusminus ] };
+ key <AE10> { [ 0, equal, dead_doubleacute, degree ] };
+ key <AE11> { [ plus, question, dead_diaeresis, questiondown ] };
+ key <AE12> { [apostrophe, asterisk, dead_cedilla, dead_ogonek ] };
+
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD11> { [ zabovedot, nacute, division, dead_abovering ] };
+ key <AD12> { [ sacute, cacute, multiply, dead_macron ] };
+
+ key <AC02> { [ s, S, dstroke, section ] };
+ key <AC03> { [ d, D, Dstroke, ETH ] };
+ key <AC08> { [ k, K, kra, ampersand ] };
+ key <AC09> { [ l, L, lstroke, Lstroke ] };
+ key <AC10> { [ lstroke, Lstroke, dollar, dead_doubleacute ] };
+ key <AC11> { [ aogonek, eogonek, ssharp, dead_caron ] };
+ key <TLDE> { [ abovedot, dead_ogonek, notsign, notsign ] };
+
+ key <BKSL> { [ oacute, zacute, dead_grave, dead_breve ] };
+ key <AB03> { [ c, C, cent, copyright ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+
+ include "keypad(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+// Polish Dvorak keymaps
+// by Rafal Rzepecki <divide@users.sf.net>
+
+// The base keymap "pl" places Polish quotes on quotemark key and
+// moves the dead symbols from there to "1/!" key. If you are used to common
+// dead keys placement, you could use "pl_altquotes"; in this layout
+// dead keys remain in the old place, whereas Polish quotes are placed on the
+// "1/!" key. If you do not use Polish quotes at all, you can use "pl_basic" map.
+
+// Basic Polish keymap (without Polish quotes)
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "pc/us(dvorak)"
+
+ name[Group1] = "Poland - Dvorak";
+
+ key <AD08> { [ c, C, cacute, Cacute ] };
+ key <AD10> { [ l, L, lstroke, Lstroke ] };
+ key <AC01> { [ a, A, aogonek, Aogonek ] };
+ key <AC02> { [ o, O, oacute, Oacute ] };
+ key <AC03> { [ e, E, eogonek, Eogonek ] };
+ key <AC09> { [ n, N, nacute, Nacute ] };
+ key <AC10> { [ s, S, sacute, Sacute ] };
+ key <AB09> { [ v, V, zacute, Zacute ] };
+ key <AB10> { [ z, Z, zabovedot, Zabovedot ] };
+
+ include "keypad(comma)"
+
+ // this to allow writing ALL CAPS with a Shift key
+ include "level3(ralt_switch)"
+
+ // use one of compose:* options to choose Multi_key, if you will,
+ // or layout +level3(ralt_switch_multikey) to revert standard behaviour
+};
+
+// Default Polish keymap with Polish quotes on quotemark key
+partial alphanumeric_keys
+xkb_symbols "dvorak_quotes" {
+ include "pc/pl(dvorak)"
+
+ name[Group1] = "Poland - Dvorak, Polish quotes on quotemark key";
+
+ key <AD01> { [ apostrophe, quotedbl, doublelowquotemark, rightdoublequotemark ] };
+
+ // Dead symbols moved to this key
+ key <AE01> { [ 1, exclam, dead_acute, dead_diaeresis ] };
+};
+
+// Polish keymap with Polish quotes on key "1/!"
+partial alphanumeric_keys
+xkb_symbols "dvorak_altquotes" {
+ include "pc/pl(dvorak)"
+
+ name[Group1] = "Poland - Dvorak, Polish quotes on key 1/!";
+
+ key <AE01> { [ 1, exclam, doublelowquotemark, rightdoublequotemark ] };
+};
diff --git a/data/xkbdata/symbols/pc/pt b/data/xkbdata/symbols/pc/pt
new file mode 100644
index 000000000..360ba67bc
--- /dev/null
+++ b/data/xkbdata/symbols/pc/pt
@@ -0,0 +1,62 @@
+// $XdotOrg$
+
+// based on a keyboard map from an 'xkb/symbols/pt' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/pt,v 1.2 2002/11/22 04:03:28 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type4)"
+
+ name[Group1]="Portugal";
+
+ key <AE03> { [ 3, numbersign, sterling, sterling ] };
+ key <AE04> { [ 4, dollar, section, dollar ] };
+ key <AE11> { [apostrophe, question, backslash, questiondown ] };
+ key <AE12> { [guillemotleft, guillemotright, dead_cedilla, dead_ogonek ] };
+
+ key <AD11> { [ plus, asterisk, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [dead_acute, dead_grave, dead_tilde, dead_macron ] };
+
+ key <AC10> { [ ccedilla, Ccedilla, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ masculine, ordfeminine, dead_circumflex, dead_caron ] };
+ key <TLDE> { [ backslash, bar, notsign, notsign ] };
+
+ key <BKSL> { [dead_tilde, dead_circumflex, dead_grave, dead_breve] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ include "pc/pt(basic)" // for consistent naming
+
+ key <AD11> { [plus, asterisk, SunFA_Diaeresis, SunFA_Diaeresis ] };
+ key <BKSL> { [SunFA_Tilde, SunFA_Circum ] };
+ key <AD12> { [SunFA_Acute, SunFA_Grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "pc/pt(Sundeadkeys)" // for consistent naming
+
+ name[Group1]="Portugal - Sun dead keys";
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ include "pc/pt(basic)" // for consistent naming
+
+ name[Group1]="Portugal - Eliminate dead keys";
+
+ key <AE12> { [guillemotleft, guillemotright, cedilla, ogonek ] };
+ key <AD11> { [ plus, asterisk, quotedbl, quotedbl ] };
+ key <AD12> { [ acute, grave ] };
+ key <AC10> { [ ccedilla, Ccedilla, acute, doubleacute ] };
+ key <AC11> { [ masculine, ordfeminine, asciicircum, caron ] };
+ key <BKSL> { [asciitilde, asciicircum ] };
+ key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
+};
diff --git a/data/xkbdata/symbols/pc/ro b/data/xkbdata/symbols/pc/ro
new file mode 100644
index 000000000..bd4381e6f
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ro
@@ -0,0 +1,100 @@
+// $XdotOrg$
+// $XFree86: xc/programs/xkbcomp/symbols/ro,v 1.6 2003/09/08 13:12:51 pascal Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Romanian keybaord
+ // Created by Manfred Pohler, <Manfred.Pohler@t-online.de> (C) 2003
+
+ include "pc/latin"
+
+ name[Group1]="Romania";
+
+ // Alphanumeric section
+ key <TLDE> { [ bracketright, bracketleft ] };
+
+ key <AE01> { [ 1, exclam, asciitilde, asciitilde ] };
+ key <AE02> { [ 2, quotedbl, at, at ] };
+ key <AE03> { [ 3, numbersign, asciicircum,asciicircum ] };
+ key <AE04> { [ 4, currency ] };
+ key <AE05> { [ 5, percent, degree, degree ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash, grave, grave ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ apostrophe, asterisk ] };
+
+ key <AD01> { [ q, Q, backslash, backslash ] };
+ key <AD02> { [ w, W, bar, bar ] };
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ abreve, Abreve, division, division ] };
+ key <AD12> { [ icircumflex, Icircumflex, multiply, multiply ] };
+
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC10> { [ scedilla, Scedilla, dollar, dollar ] };
+ key <AC11> { [ tcedilla, Tcedilla, ssharp, ssharp ] };
+
+ key <AB01> { [ y, Y ] };
+ key <AB05> { [ b, B, braceleft, braceleft ] };
+ key <AB06> { [ n, N, braceright, braceright ] };
+ key <AB07> { [ m, M, section, section ] };
+ key <AB08> { [ comma, semicolon, less, less ] };
+ key <AB09> { [ period, colon, greater, greater ] };
+ key <AB10> { [ minus, underscore ] };
+
+ key <BKSL> { [ acircumflex, Acircumflex ] };
+
+ // End alphanumeric section, begin "Keypad"
+ include "keypad(comma)"
+ // End "Keypad" section
+
+ include "level3(ralt_switch)"
+};
+
+// based on a keyboard
+// Created by Cristian Gafton, <gafton@redhat.com> (C) 2000
+// Modified by Miºu Moldovan, <dumol@go.ro> (C) 2001
+// Modified by Marius Andreiana, <mandreiana@yahoo.com> (C) 2001
+//
+partial alphanumeric_keys
+xkb_symbols "us" {
+
+ include "pc/latin"
+
+ name[Group1]="Romania - US keyboard with Romanian letters";
+
+ key <AD01> { [ q, Q, acircumflex, Acircumflex ] };
+ key <AD05> { [ t, T, tcedilla, Tcedilla ] };
+ key <AD08> { [ i, I, icircumflex, Icircumflex ] };
+
+ key <AC01> { [ a, A, abreve, Abreve ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Romanian keyboard with access to German umlauts";
+// Created by Manfred Pohler, <Manfred.Pohler@t-online.de> (C) 2003
+// German umlauts are accessible with <AltGr> and a, o , u, s (+shift for capital letters)
+//
+partial alphanumeric_keys
+xkb_symbols "de" {
+
+ include "pc/ro(basic)"
+
+ name[Group1]="Romania - Romanian keyboard with German letters";
+
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
+ key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
+ key <AC02> { [ s, S, ssharp , ssharp ] };
+};
diff --git a/data/xkbdata/symbols/pc/ru b/data/xkbdata/symbols/pc/ru
new file mode 100644
index 000000000..b8b32f1b8
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ru
@@ -0,0 +1,167 @@
+// $XdotOrg$
+
+// based on
+// russian standard keyboard
+// AEN <aen@logic.ru>
+// Last Changes 2001/12/23 by Leon Kanter <leon@blackcatlinux.com>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/ru,v 1.3 2003/02/15 22:27:05 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Russia";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, asterisk ] };
+ key <AE05> { [ 5, colon ] };
+ key <AE06> { [ 6, comma ] };
+ key <AE07> { [ 7, period ] };
+ key <AE08> { [ 8, semicolon ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSL> { [ backslash, bar ] };
+ key <AB10> { [ slash, question ] };
+ key <LSGT> { [ slash, bar ] };
+
+key.type[group1]="ALPHABETIC";
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+key.type[group1]="TWO_LEVEL";
+
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "winkeys" {
+ include "pc/ru(basic)"
+ name[Group1]= "Russia - Winkeys";
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AB10> { [ period, comma ] };
+ key <BKSL> { [ backslash, slash ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "typewriter" {
+ include "pc/ru(basic)"
+ name[Group1]= "Russia - Typewriter";
+ key <TLDE> { [ apostrophe, quotedbl ] };
+ key <AE01> { [ exclam, 1 ] };
+ key <AE02> { [ numerosign, 2 ] };
+ key <AE03> { [ slash, 3 ] };
+ key <AE04> { [ semicolon, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ comma, 6 ] };
+ key <AE07> { [ period, 7 ] };
+ key <AE08> { [ underscore, 8 ] };
+ key <AE09> { [ question, 9 ] };
+ key <AE10> { [ percent, 0 ] };
+ key <BKSL> { [ parenleft, parenright ] };
+
+key.type[group1]="ALPHABETIC";
+
+ key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+
+ name[Group1]= "Russia - Phonetic";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, Cyrillic_io ] };
+ key <AE04> { [ 4, Cyrillic_IO ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+ key <AB08> { [ comma, less ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+ key <LSGT> { [ bar, brokenbar ] };
+
+key.type[group1]="ALPHABETIC";
+
+ key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <LatX> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+
+ key <AE11> { [ minus, Cyrillic_hardsign ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AE12> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
+};
diff --git a/data/xkbdata/symbols/pc/se b/data/xkbdata/symbols/pc/se
new file mode 100644
index 000000000..5fed06d7d
--- /dev/null
+++ b/data/xkbdata/symbols/pc/se
@@ -0,0 +1,154 @@
+// $XdotOrg$
+// based on a keyboard map from an 'xkb/symbols/se' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/se,v 1.5 2003/01/26 02:01:48 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "pc/latin(type2)"
+ include "pc/se(se)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "se" {
+
+ name[Group1]="Sweden";
+
+ key <AE05> { [ 5, percent, EuroSign, cent ] };
+ key <AE11> { [ plus, question, backslash, questiondown ] };
+ key <AE12> { [dead_acute, dead_grave, plusminus, notsign ] };
+
+
+ key <AC10> { [odiaeresis, Odiaeresis, oslash, Ooblique ] };
+ key <AC11> { [adiaeresis, Adiaeresis, ae, AE ] };
+ key <TLDE> { [ section, onehalf, paragraph, threequarters] };
+
+ key <BKSL> { [apostrophe, asterisk, acute, multiply ] };
+
+ key <SPCE> { [ space, space, space, nobreakspace ] };
+
+ include "keypad(comma)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Swedish layout to eliminate all dead keys
+
+ include "pc/latin(type2)"
+ include "pc/latin(type2_nodeadkeys)"
+ include "pc/se(se)"
+
+ name[Group1]="Sweden - Eliminate dead keys";
+
+ key <AE12> { [ acute, grave, plusminus, notsign ] };
+
+};
+
+// Swedish Dvorak
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+ include "pc/no(dvorak)"
+
+ name[Group1]="Sweden - Dvorak";
+
+ key <TLDE> { [ section, onehalf ] };
+
+ key <AE04> { [ 4, currency, dollar, onequarter ] };
+ key <AE11> { [ plus, question, backslash, questiondown ] };
+ key <AE12> { [ dead_acute, dead_grave, backslash, grave ] };
+
+ key <AD01> { [ odiaeresis, Odiaeresis, braceright, bracketright ] };
+ key <AD02> { [ aring, Aring ] };
+ key <AD03> { [ adiaeresis, Adiaeresis ] };
+ key <AD11> { [ q, Q ] };
+ key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, asciicircum ] };
+
+ key <AB01> { [ comma, semicolon, dead_cedilla, cedilla ] };
+ key <AB02> { [ period, colon, periodcentered ] };
+
+ key <BKSL> { [ less, greater, bar, brokenbar ] };
+
+ key <LSGT> { [ apostrophe, asterisk, bar, backslash ] };
+};
+
+// Ivan Popov, 2005-07-17
+// phonetic layout for Russian cyrillic letters
+// on Swedish (latin type2) keyboards
+
+// level3 modifier is a shortcut to the "se" meaning of the keys where
+// we place cyrillic letters, handy for accessing the corresponding
+// punctuation marks.
+// It is important to have access to punctuation marks, and the rest of
+// alphabetical keys are added for being consequent so that the users
+// can expect the level3 modifier to give what the key label shows.
+
+partial alphanumeric_keys
+xkb_symbols "rus" {
+ include "pc/se(basic)"
+
+ name[Group1]="Sweden - Russian phonetic";
+ key.type[group1]="ALPHABETIC";
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+
+ key <AD01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AD02> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AD05> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AD06> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AD07> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD08> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AD09> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AD10> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ Cyrillic_e, Cyrillic_E ] };
+
+ key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC02> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AC03> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC04> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AC08> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AC11> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+ key <LSGT> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AB02> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AB03> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AB04> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AB05> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "rus_nodeadkeys" {
+
+ include "pc/se(nodeadkeys)"
+ include "pc/se(rus)"
+
+ name[Group1]="Sweden - Russian phonetic, eliminate dead keys";
+
+ key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+};
+
+xkb_symbols "smi" {
+
+ // Describes the differences between a Norwegian Northern Sami
+ // (keyboard with dead key support) and a Swedish/Finnish Sami
+ // keyboard according to the specs at:
+ // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html
+
+ include "pc/fi(smi)"
+
+ name[Group1]= "Sweden - Northern Saami";
+};
diff --git a/data/xkbdata/symbols/pc/si b/data/xkbdata/symbols/pc/si
new file mode 100644
index 000000000..92712919c
--- /dev/null
+++ b/data/xkbdata/symbols/pc/si
@@ -0,0 +1,46 @@
+// $XdotOrg$
+// based on
+// Slovenian keyboards
+// by Marko Samastur (markos@elite.org) and
+// Primoz Peterlin (primoz.peterlin@biofiz.mf.uni-lj.si)
+//
+// $XFree86: xc/programs/xkbcomp/symbols/si,v 1.3 2003/02/05 01:38:36 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/latin(type3)"
+
+ name[Group1]="Slovenia";
+
+ key <AE01> { [ 1, exclam, asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl, dead_caron, caron ] };
+ key <AE03> { [ 3, numbersign, asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, dollar, dead_breve, breve ] };
+ key <AE05> { [ 5, percent, degree, dead_abovering ] };
+ key <AE06> { [ 6, ampersand, dead_ogonek, ogonek ] };
+ key <AE07> { [ 7, slash, grave, dead_grave ] };
+ key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] };
+ key <AE09> { [ 9, parenright, dead_acute, apostrophe ] };
+ key <AE10> { [ 0, equal, dead_doubleacute, doubleacute ] };
+ key <AE11> { [apostrophe, question, dead_diaeresis, diaeresis ] };
+ key <AE12> { [ plus, asterisk, dead_cedilla, cedilla ] };
+
+ key <AD03> { [ e, E, EuroSign, EuroSign ] };
+ key <AD11> { [ scaron, Scaron, division, dead_abovering ] };
+ key <AD12> { [ dstroke, Dstroke, multiply, dead_macron ] };
+
+ key <AC10> { [ ccaron, Ccaron, dead_acute, dead_doubleacute ] };
+ key <AC11> { [ cacute, Cacute, ssharp, dead_caron ] };
+
+ key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] };
+
+ key <TLDE> { [dead_cedilla, dead_diaeresis, notsign, notsign ] };
+
+ key <BKSL> { [ zcaron, Zcaron, currency, dead_breve ] };
+
+ include "keypad(comma)"
+
+ include "level3(ralt_switch)"
+};
+
diff --git a/data/xkbdata/symbols/pc/sk b/data/xkbdata/symbols/pc/sk
new file mode 100644
index 000000000..7870257ed
--- /dev/null
+++ b/data/xkbdata/symbols/pc/sk
@@ -0,0 +1,111 @@
+// $XdotOrg$
+
+// $XFree86: xc/programs/xkbcomp/symbols/sk,v 1.2 2002/11/22 04:02:22 dawes
+// Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // This layout conforms to a new sk compromise standard designed
+ // to satisfy most unix, windows and mac users.
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "pc/latin"
+
+ name[Group1] = "Slovakia";
+
+ key <TLDE> { [ semicolon, dead_abovering, grave, asciitilde ] };
+ key <AE01> { [ plus, 1, exclam, dead_tilde ] };
+ key <AE02> { [ lcaron, 2, at, dead_caron ] };
+ key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
+ key <AE05> { [ tcaron, 5, percent, dead_abovering ] };
+ key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ yacute, 7, ampersand, dead_grave ] };
+ key <AE08> { [ aacute, 8, asterisk, dead_abovedot ] };
+ key <AE09> { [ iacute, 9, braceleft, dead_acute ] };
+ key <AE10> { [ eacute, 0, braceright, dead_doubleacute ] };
+ key <AE11> { [ equal, percent, NoSymbol, dead_diaeresis ] };
+ key <AE12> { [dead_acute, dead_caron, dead_macron, dead_cedilla ] };
+
+ key <AD01> { [ q, Q, backslash, NoSymbol ] };
+ key <AD02> { [ w, W, bar, Nosymbol ] };
+ key <AD03> { [ e, E, EuroSign, NoSymbol ] };
+ key <AD04> { [ r, R, NoSymbol, NoSymbol ] };
+ key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
+ key <AD06> { [ z, Z, NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
+ key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
+ key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
+
+ key <AD11> { [ uacute, slash, bracketleft, division ] };
+ key <AD12> { [adiaeresis, parenleft, bracketright, multiply ] };
+
+ key <AC01> { [ a, A, asciitilde, NoSymbol ] };
+ key <AC02> { [ s, S, dstroke, NoSymbol ] };
+ key <AC03> { [ d, D, Dstroke, NoSymbol ] };
+ key <AC04> { [ f, F, bracketleft, NoSymbol ] };
+ key <AC05> { [ g, G, bracketright, NoSymbol ] };
+ key <AC06> { [ h, H, grave, NoSymbol ] };
+ key <AC07> { [ j, J, apostrophe, NoSymbol ] };
+ key <AC08> { [ k, K, lstroke, NoSymbol ] };
+ key <AC09> { [ l, L, Lstroke, NoSymbol ] };
+
+ key <AC10> { [ocircumflex, quotedbl, dollar, NoSymbol ] };
+ key <AC11> { [ section, exclam, apostrophe, ssharp ] };
+ key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
+ key <BKSL> { [ ncaron, parenright, backslash, bar ] };
+
+ key <LSGT> { [ backslash, bar, slash, NoSymbol ] };
+ key <AB01> { [ y, Y, degree, NoSymbol ] };
+ key <AB02> { [ x, X, numbersign, Nosymbol ] };
+ key <AB03> { [ c, C, ampersand, NoSymbol ] };
+ key <AB04> { [ v, V, at, NoSymbol ] };
+ key <AB05> { [ b, B, braceleft, NoSymbol ] };
+ key <AB06> { [ n, N, braceright, NoSymbol ] };
+ key <AB07> { [ m, M, asciicircum, NoSymbol ] };
+ key <AB08> { [ comma, question, less, NoSymbol ] };
+ key <AB09> { [ period, colon, greater, NoSymbol ] };
+ key <AB10> { [ minus, underscore, asterisk, NoSymbol ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ key <KPDL> { type[Group1]="FOUR_LEVEL_KEYPAD",
+ [ KP_Delete, comma, KP_Delete, KP_Decimal ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "bksl" {
+ include "pc/sk(basic)"
+
+ name[Group1] = "Slovakia - Extended Backslash";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+
+ // This layout should work exactly as a sk with the exception
+ // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "pc/sk(basic)"
+
+ name[Group1] = "Slovakia - qwerty";
+
+ key <AB01> { [ z, Z, degree, NoSymbol ] };
+ key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
+};
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "qwerty_bksl" {
+ include "pc/sk(qwerty)"
+
+ name[Group1] = "Slovakia - qwerty, extended Backslash";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
diff --git a/data/xkbdata/symbols/pc/srp b/data/xkbdata/symbols/pc/srp
new file mode 100644
index 000000000..5ccd68d07
--- /dev/null
+++ b/data/xkbdata/symbols/pc/srp
@@ -0,0 +1,280 @@
+// $XdotOrg$
+// Serbian XKB keyboard mapping (derived from "Danube" D.2)
+//
+// Danube D.2 from 2003-05-12 is available at http://srpski.org/dunav/
+//
+// Original authors:
+// Danilo Segan (Данило Шеган) <dsegan@gmx.net>
+// Chusslove Illich (ЧаÑлав Илић) <chaslav@sezampro.yu>
+//
+// Modified for inclusion in XFree86 by Danilo Segan <dsegan@gmx.net>
+//
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Serbian";
+
+ include "pc/srp(level3)"
+ include "pc/srp(common)"
+ include "pc/srp(cyralpha)"
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "yz" {
+ // Cyrillic_zhe and Cyrillic_ze swapped.
+
+ name[Group1]= "Serbian - Z and ZHE swapped";
+
+ include "pc/srp(basic)"
+
+ key <AD06> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // y
+ key <AB01> { [ Cyrillic_ze, Cyrillic_ZE, any,any ] }; // z
+};
+
+partial alphanumeric_keys
+xkb_symbols "common" {
+ // "Common" keys: keys which are same for both latin and cyrillic keyboards
+
+ key.type[Group1] = "FOUR_LEVEL";
+
+ key <TLDE> { [ quoteleft, asciitilde, any,any ] }; //
+ key <AE01> { [ 1, exclam, any,any ] }; //
+ key <AE02> { [ 2, quotedbl, any,any ] }; //
+ key <AE03> { [ 3, numbersign, any,any ] }; //
+ key <AE04> { [ 4, dollar, any,any ] }; //
+ key <AE05> { [ 5, percent, any,any ] }; //
+ key <AE06> { [ 6, ampersand, any,any ] }; //
+ key <AE07> { [ 7, slash, any,any ] }; //
+ key <AE08> { [ 8, parenleft, any,any ] }; //
+ key <AE09> { [ 9, parenright, any,any ] }; //
+ key <AE10> { [ 0, equal, any,any ] }; //
+ key <AE11> { [ apostrophe, question, any,any ] }; //
+ key <AE12> { [ plus, asterisk, any,any ] }; //
+
+ key <AB08> { [ comma, semicolon, any,any ] }; //
+ key <AB09> { [ period, colon, any,any ] }; //
+ key <AB10> { [ minus, underscore, any,any ] }; //
+
+ include "keypad(comma)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "cyralpha" {
+
+ key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
+
+ key <AD01> { [ Cyrillic_lje, Cyrillic_LJE, any,any ] }; // q
+ key <AD02> { [ Cyrillic_nje, Cyrillic_NJE, any,any ] }; // w
+ key <AD03> { [ Cyrillic_ie, Cyrillic_IE, any,any ] }; // e
+ key <AD04> { [ Cyrillic_er, Cyrillic_ER, any,any ] }; // r
+ key <AD05> { [ Cyrillic_te, Cyrillic_TE, any,any ] }; // t
+ key <AD06> { [ Cyrillic_ze, Cyrillic_ZE, any,any ] }; // y
+ key <AD07> { [ Cyrillic_u, Cyrillic_U, any,any ] }; // u
+ key <AD08> { [ Cyrillic_i, Cyrillic_I, any,any ] }; // i
+ key <AD09> { [ Cyrillic_o, Cyrillic_O, any,any ] }; // o
+ key <AD10> { [ Cyrillic_pe, Cyrillic_PE, any,any ] }; // p
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, any,any ] }; // [ {
+ key <AD12> { [ Serbian_dje, Serbian_DJE, any,any ] }; // ] }
+
+ key <AC01> { [ Cyrillic_a, Cyrillic_A, any,any ] }; // a
+ key <AC02> { [ Cyrillic_es, Cyrillic_ES, any,any ] }; // s
+ key <AC03> { [ Cyrillic_de, Cyrillic_DE, any,any ] }; // d
+ key <AC04> { [ Cyrillic_ef, Cyrillic_EF, any,any ] }; // f
+ key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE, any,any ] }; // g
+ key <AC06> { [ Cyrillic_ha, Cyrillic_HA, any,any ] }; // h
+ key <AC07> { [ Cyrillic_je, Cyrillic_JE, any,any ] }; // j
+ key <AC08> { [ Cyrillic_ka, Cyrillic_KA, any,any ] }; // k
+ key <AC09> { [ Cyrillic_el, Cyrillic_EL, any,any ] }; // l
+ key <AC10> { [ Cyrillic_che, Cyrillic_CHE, any,any ] }; // ; :
+ key <AC11> { [ Serbian_tshe, Serbian_TSHE, any,any ] }; // ' "
+ key <BKSL> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // \ |
+
+ key <AB01> { [ Cyrillic_zhe, Cyrillic_ZHE, any,any ] }; // z
+ key <AB02> { [ Cyrillic_dzhe, Cyrillic_DZHE, any,any ] }; // x
+ key <AB03> { [ Cyrillic_tse, Cyrillic_TSE, any,any ] }; // c
+ key <AB04> { [ Cyrillic_ve, Cyrillic_VE, any,any ] }; // v
+ key <AB05> { [ Cyrillic_be, Cyrillic_BE, any,any ] }; // b
+ key <AB06> { [ Cyrillic_en, Cyrillic_EN, any,any ] }; // n
+ key <AB07> { [ Cyrillic_em, Cyrillic_EM, any,any ] }; // m
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "latalpha" {
+
+ key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";
+
+ key <AD01> { [ q, Q, any,any ] }; //
+ key <AD02> { [ w, W, any,any ] }; //
+ key <AD03> { [ e, E, any,any ] }; //
+ key <AD04> { [ r, R, any,any ] }; //
+ key <AD05> { [ t, T, any,any ] }; //
+ key <AD06> { [ z, Z, any,any ] }; //
+ key <AD07> { [ u, U, any,any ] }; //
+ key <AD08> { [ i, I, any,any ] }; //
+ key <AD09> { [ o, O, any,any ] }; //
+ key <AD10> { [ p, P, any,any ] }; //
+ key <AD11> { [ scaron, Scaron, any,any ] }; //
+ key <AD12> { [ dstroke, Dstroke, any,any ] }; //
+
+ key <AC01> { [ a, A, any,any ] }; //
+ key <AC02> { [ s, S, any,any ] }; //
+ key <AC03> { [ d, D, any,any ] }; //
+ key <AC04> { [ f, F, any,any ] }; //
+ key <AC05> { [ g, G, any,any ] }; //
+ key <AC06> { [ h, H, any,any ] }; //
+ key <AC07> { [ j, J, any,any ] }; //
+ key <AC08> { [ k, K, any,any ] }; //
+ key <AC09> { [ l, L, any,any ] }; //
+ key <AC10> { [ ccaron, Ccaron, any,any ] }; //
+ key <AC11> { [ cacute, Cacute, any,any ] }; //
+ key <BKSL> { [ zcaron, Zcaron, any,any ] }; //
+
+ key <AB01> { [ y, Y, any,any ] }; //
+ key <AB02> { [ x, X, any,any ] }; //
+ key <AB03> { [ c, C, any,any ] }; //
+ key <AB04> { [ v, V, any,any ] }; //
+ key <AB05> { [ b, B, any,any ] }; //
+ key <AB06> { [ n, N, any,any ] }; //
+ key <AB07> { [ m, M, any,any ] }; //
+};
+
+partial alphanumeric_keys
+xkb_symbols "twoletter" {
+ // These are letters which are written in latin transcription with two-characters.
+
+ key <AD01> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
+ [ U1C9, U1C8, any, U1C7 ] }; // q
+ key <AD02> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
+ [ U1CC, U1CB, any, U1CA ] }; // w
+ key <AB02> { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC",
+ [ U1C6, U1C5, any, U1C4 ] }; // x
+
+ // Also replace letter Y with Zcaron, since Y is of no use any longer
+ key <AB01> { [ zcaron, Zcaron, any,any ] }; //
+};
+
+partial alphanumeric_keys
+xkb_symbols "level3" {
+ key <TLDE> { [ any,any, NoSymbol, NoSymbol ] }; // ` ~
+ key <AE01> { [ any,any, dead_tilde, NoSymbol ] }; // 1 !
+ key <AE02> { [ any,any, dead_caron, NoSymbol ] }; // 2 @
+ key <AE03> { [ any,any, dead_circumflex, NoSymbol ] }; // 3 #
+ key <AE04> { [ any,any, dead_breve, NoSymbol ] }; // 4 $
+ key <AE05> { [ any,any, dead_abovering, NoSymbol ] }; // 5 %
+ key <AE06> { [ any,any, dead_ogonek, NoSymbol ] }; // 6 ^
+ key <AE07> { [ any,any, dead_grave, NoSymbol ] }; // 7 &
+ key <AE08> { [ any,any, dead_abovedot, NoSymbol ] }; // 8 *
+ key <AE09> { [ any,any, dead_acute, NoSymbol ] }; // 9 (
+ key <AE10> { [ any,any, dead_doubleacute, NoSymbol ] }; // 0 )
+ key <AE11> { [ any,any, dead_diaeresis, NoSymbol ] }; // - _
+ key <AE12> { [ any,any, dead_cedilla, NoSymbol ] }; // = +
+
+ key <AD01> { [ any,any, backslash, NoSymbol ] }; // q
+ key <AD02> { [ any,any, bar, NoSymbol ] }; // w
+ key <AD03> { [ any,any, EuroSign, NoSymbol ] }; // e
+ key <AD04> { [ any,any, NoSymbol, NoSymbol ] }; // r
+ key <AD05> { [ any,any, NoSymbol, NoSymbol ] }; // t
+ key <AD06> { [ any,any, NoSymbol, NoSymbol ] }; // y
+ key <AD07> { [ any,any, NoSymbol, NoSymbol ] }; // u
+ key <AD08> { [ any,any, NoSymbol, NoSymbol ] }; // i
+ key <AD09> { [ any,any, NoSymbol, NoSymbol ] }; // o
+ key <AD10> { [ any,any, NoSymbol, NoSymbol ] }; // p
+ key <AD11> { [ any,any, NoSymbol, NoSymbol ] }; // [
+ key <AD12> { [ any,any, NoSymbol, NoSymbol ] }; // ]
+
+ key <AC01> { [ any,any, NoSymbol, NoSymbol ] }; // a
+ key <AC02> { [ any,any, doublelowquotemark, NoSymbol ] }; // s
+ key <AC03> { [ any,any, leftdoublequotemark, NoSymbol ] }; // d
+ key <AC04> { [ any,any, bracketleft, NoSymbol ] }; // f
+ key <AC05> { [ any,any, bracketright, NoSymbol ] }; // g
+ key <AC06> { [ any,any, NoSymbol, NoSymbol ] }; // h
+ key <AC07> { [ any,any, NoSymbol, NoSymbol ] }; // j
+ key <AC08> { [ any,any, NoSymbol, NoSymbol ] }; // k
+ key <AC09> { [ any,any, NoSymbol, NoSymbol ] }; // l
+ key <AC10> { [ any,any, NoSymbol, NoSymbol ] }; // ;
+ key <AC11> { [ any,any, NoSymbol, NoSymbol ] }; // '
+ key <BKSL> { [ any,any, NoSymbol, NoSymbol ] }; // \
+
+ key <AB01> { [ any,any, leftsinglequotemark, NoSymbol ] }; // z
+ key <AB02> { [ any,any, rightsinglequotemark,NoSymbol ] }; // x
+ key <AB03> { [ any,any, NoSymbol, NoSymbol ] }; // c
+ key <AB04> { [ any,any, at, NoSymbol ] }; // v
+ key <AB05> { [ any,any, braceleft, NoSymbol ] }; // b
+ key <AB06> { [ any,any, braceright, NoSymbol ] }; // n
+ key <AB07> { [ any,any, asciicircum, NoSymbol ] }; // m
+ key <AB08> { [ any,any, less, NoSymbol ] }; // , <
+ key <AB09> { [ any,any, greater, NoSymbol ] }; // . >
+ key <AB10> { [ any,any, emdash, endash ] }; // / ?
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "latin" {
+
+ name[Group1]= "Serbian - Latin";
+
+ include "pc/srp(level3)"
+ include "pc/srp(common)"
+ include "pc/srp(latalpha)"
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "latinunicode" {
+ // This mapping supports the Unicode characters 0x1c4-0x1cc (dz, lj, and nj
+ // as single character). You get the title form with AltGr+Shift.
+
+ name[Group1]= "Serbian - Latin Unicode";
+
+ include "pc/srp(latin)"
+ include "pc/srp(twoletter)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "latinyz" {
+ // For those who insist on using "english-position" Z and Y.
+
+ name[Group1]= "Serbian - Latin qwerty";
+
+ include "pc/srp(latin)"
+
+ key <AD06> { [ y, Y, any,any ] }; // y
+ key <AB01> { [ z, Z, any,any ] }; // z
+};
+
+partial alphanumeric_keys
+xkb_symbols "latinunicodeyz" {
+ // Unicode, ZHE and Z swapped.
+
+ name[Group1]= "Serbian - Latin Unicode qwerty";
+
+ include "pc/srp(latinunicode)"
+
+ key <AD06> { [ zcaron, Zcaron, any,any ] }; // y
+ key <AB01> { [ z, Z, any,any ] }; // z
+};
+
+xkb_symbols "alternatequotes" {
+ // Another acceptable »pair of quotes« for Serbian
+
+ name[Group1]= "Serbian - With guillemots";
+
+ include "pc/srp(basic)"
+
+ key <AC02> { [ any,any, guillemotright, NoSymbol ] }; // s
+ key <AC03> { [ any,any, guillemotleft, NoSymbol ] }; // d
+};
+
+xkb_symbols "latinalternatequotes" {
+ // Another acceptable »pair of quotes« for Serbian
+
+ name[Group1]= "Serbian - Latin with guillemots";
+
+ include "pc/srp(latin)"
+
+ key <AC02> { [ any,any, guillemotright, NoSymbol ] }; // s
+ key <AC03> { [ any,any, guillemotleft, NoSymbol ] }; // d
+};
diff --git a/data/xkbdata/symbols/pc/sy b/data/xkbdata/symbols/pc/sy
new file mode 100644
index 000000000..e9e2fa404
--- /dev/null
+++ b/data/xkbdata/symbols/pc/sy
@@ -0,0 +1,152 @@
+// $XdotOrg$
+
+//
+// $XFree86: xc/programs/xkbcomp/symbols/syr,v 1.1 2002/11/22 03:06:50 dawes Exp $
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ include "pc/ara(basic)"
+ name[Group1]= "Syria";
+};
+
+partial alphanumeric_keys
+xkb_symbols "syc" {
+ name[Group1]= "Syria - Syriac";
+
+ key <TLDE> { [ 0x100070F, 0x100032E, Arabic_shadda ] };
+ key <AE01> { [ 1, exclam, 0x1000701 ] };
+ key <AE02> { [ 2, 0x100030A, 0x1000702 ] };
+ key <AE03> { [ 3, 0x1000325, 0x1000703 ] };
+ key <AE04> { [ 4, 0x1000749, 0x1000704 ] };
+ key <AE05> { [ 5, 0x1002670, 0x1000705 ] };
+ key <AE06> { [ 6, 0x1002671, 0x1000708 ] };
+ key <AE07> { [ 7, 0x100070A, 0x1000709 ] };
+ key <AE08> { [ 8, 0x10000BB, 0x100070B ] };
+ key <AE09> { [ 9, parenright, 0x100070C ] };
+ key <AE10> { [ 0, parenleft, 0x100070D ] };
+ key <AE11> { [ minus, 0x10000AB, 0x100250C ] };
+ key <AE12> { [ equal, plus, 0x1002510 ] };
+
+ key <AD01> { [ 0x1000714, 0x1000730, Arabic_fatha ] };
+ key <AD02> { [ 0x1000728, 0x1000733, Arabic_fathatan ] };
+ key <AD03> { [ 0x1000716, 0x1000736, Arabic_damma ] };
+ key <AD04> { [ 0x1000729, 0x100073A, Arabic_dammatan ] };
+ key <AD05> { [ 0x1000726, 0x100073D, Arabic_madda_above ] };
+ key <AD06> { [ 0x100071C, 0x1000740, Arabic_hamza_above ] };
+ key <AD07> { [ 0x1000725, 0x1000741, 0x1000747 ] };
+ key <AD08> { [ 0x1000717, 0x1000308, 0x1000743 ] };
+ key <AD09> { [ 0x100071E, 0x1000304, 0x1000745 ] };
+ key <AD10> { [ 0x100071A, 0x1000307, 0x100032D ] };
+ key <AD11> { [ 0x1000713, 0x1000303 ] };
+ key <AD12> { [ 0x1000715, 0x100074A ] };
+ key <BKSL> { [ 0x1000706, colon ] };
+
+ key <AC01> { [ 0x100072B, 0x1000731, Arabic_kasra ] };
+ key <AC02> { [ 0x1000723, 0x1000734, Arabic_kasratan ] };
+ key <AC03> { [ 0x100071D, 0x1000737 ] };
+ key <AC04> { [ 0x1000712, 0x100073B, Arabic_hamza ] };
+ key <AC05> { [ 0x1000720, 0x100073E, Arabic_hamza_below ] };
+ key <AC06> { [ 0x1000710, 0x1000711, Arabic_superscript_alef ] };
+ key <AC07> { [ 0x100072C, Arabic_tatweel, 0x1000748 ] };
+ key <AC08> { [ 0x1000722, 0x1000324, 0x1000744 ] };
+ key <AC09> { [ 0x1000721, 0x1000331, 0x1000746 ] };
+ key <AC10> { [ 0x100071F, 0x1000323 ] };
+ key <AC11> { [ 0x100071B, 0x1000330 ] };
+
+ key <SPCE> { [ space, 0x100200c ] };
+ key <AB01> { [ bracketright, 0x1000732, Arabic_sukun ] };
+ key <AB02> { [ bracketleft, 0x1000735 ] };
+ key <AB03> { [ 0x1000724, 0x1000738, 0x100200D ] };
+ key <AB04> { [ 0x100072A, 0x100073C, 0x100200C ] };
+ key <AB05> { [ 0x1000727, 0x100073F, 0x100200E ] };
+ key <AB06> { [ 0x1000700, 0x1000739, 0x100200F ] };
+ key <AB07> { [ 0x100002E, 0x1000742 ] };
+ key <AB08> { [ 0x1000718, Arabic_comma ] };
+ key <AB09> { [ 0x1000719, Arabic_semicolon ] };
+ key <AB10> { [ 0x1000707, Arabic_question_mark ] };
+
+ // End Alphanumeric Section
+
+
+ // Begin Modifier Mappings
+
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Mode_switch };
+
+};
+//
+// $XFree86: xc/programs/xkbcomp/symbols/syr_phonetic,v 1.1 2002/11/22 03:06:50 dawes Exp $
+//
+
+partial alphanumeric_keys
+xkb_symbols "syc_phonetic" {
+ name[Group1]= "Syria - Syriac phonetic";
+
+ key <TLDE> { [ 0x100070F, 0x100032E, Arabic_shadda ] };
+ key <AE01> { [ 1, exclam, 0x1000701 ] };
+ key <AE02> { [ 2, 0x100030A, 0x1000702 ] };
+ key <AE03> { [ 3, 0x1000325, 0x1000703 ] };
+ key <AE04> { [ 4, 0x1000749, 0x1000704 ] };
+ key <AE05> { [ 5, 0x1002670, 0x1000705 ] };
+ key <AE06> { [ 6, 0x1002671, 0x1000708 ] };
+ key <AE07> { [ 7, 0x100070A, 0x1000709 ] };
+ key <AE08> { [ 8, 0x10000BB, 0x100070B ] };
+ key <AE09> { [ 9, parenright, 0x100070C ] };
+ key <AE10> { [ 0, parenleft, 0x100070D ] };
+ key <AE11> { [ minus, 0x10000AB, 0x100250C ] };
+ key <AE12> { [ equal, plus, 0x1002510 ] };
+
+ key <AD01> { [ 0x1000729, 0x1000730, Arabic_fatha ] };
+ key <AD02> { [ 0x1000718, 0x1000733, Arabic_fathatan ] };
+ key <AD03> { [ 0x1000716, 0x1000736, Arabic_damma ] };
+ key <AD04> { [ 0x100072A, 0x100073A, Arabic_dammatan ] };
+ key <AD05> { [ 0x100072C, 0x100073D, Arabic_madda_above ] };
+ key <AD06> { [ 0x100071D, 0x1000740, Arabic_hamza_above ] };
+ key <AD07> { [ 0x100071C, 0x1000741, 0x1000747 ] };
+ key <AD08> { [ 0x1000725, 0x1000308, 0x1000743 ] };
+ key <AD09> { [ 0x1000727, 0x1000304, 0x1000745 ] };
+ key <AD10> { [ 0x1000726, 0x1000307, 0x100032D ] };
+ key <AD11> { [ bracketright, 0x1000303 ] };
+ key <AD12> { [ bracketleft, 0x100074A ] };
+ key <BKSL> { [ 0x1000706, colon ] };
+
+ key <AC01> { [ 0x1000710, 0x1000731, Arabic_kasra ] };
+ key <AC02> { [ 0x1000723, 0x1000734, Arabic_kasratan ] };
+ key <AC03> { [ 0x1000715, 0x1000737 ] };
+ key <AC04> { [ 0x1000714, 0x100073B, Arabic_hamza ] };
+ key <AC05> { [ 0x1000713, 0x100073E, Arabic_hamza_below ] };
+ key <AC06> { [ 0x1000717, 0x1000711, Arabic_superscript_alef ] };
+ key <AC07> { [ 0x100071B, Arabic_tatweel, 0x1000748 ] };
+ key <AC08> { [ 0x100071F, 0x1000324, 0x1000744 ] };
+ key <AC09> { [ 0x1000720, 0x1000331, 0x1000746 ] };
+ key <AC10> { [ 0x100071A, 0x1000323 ] };
+ key <AC11> { [ 0x100071E, 0x1000330 ] };
+
+ key <SPCE> { [ space, 0x100200c ] };
+ key <AB01> { [ 0x1000719, 0x1000732, Arabic_sukun ] };
+ key <AB02> { [ 0x1000728, 0x1000735 ] };
+ key <AB03> { [ 0x1000724, 0x1000738, 0x100200D ] };
+ key <AB04> { [ 0x100072B, 0x100073C, 0x100200C ] };
+ key <AB05> { [ 0x1000712, 0x100073F, 0x100200E ] };
+ key <AB06> { [ 0x1000722, 0x1000739, 0x100200F ] };
+ key <AB07> { [ 0x1000721, 0x1000742 ] };
+ key <AB08> { [ 0x1000700, Arabic_comma ] };
+ key <AB09> { [ 0x100002E, Arabic_semicolon ] };
+ key <AB10> { [ 0x1000707, Arabic_question_mark ] };
+
+ // End Alphanumeric Section
+
+
+ // Begin Modifier Mappings
+
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Mode_switch };
+
+};
diff --git a/data/xkbdata/symbols/pc/th b/data/xkbdata/symbols/pc/th
new file mode 100644
index 000000000..54fc156f0
--- /dev/null
+++ b/data/xkbdata/symbols/pc/th
@@ -0,0 +1,188 @@
+// $XdotOrg$
+
+// based on a keyboard map from an 'xkb/symbols/th' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/th,v 1.3 2003/04/03 16:34:51 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Thailand";
+
+ // converted to THai keysysms - Pablo Saratxaga <pablo@mandrakesoft.com>
+
+ key <TLDE> { [ underscore, percent ] };
+ key <AE01> { [ Thai_lakkhangyao, plus ] };
+ key <AE02> { [ slash, Thai_leknung ] };
+ key <AE03> { [ minus, Thai_leksong ] };
+ key <AE04> { [ Thai_phosamphao, Thai_leksam ] };
+ key <AE05> { [ Thai_thothung, Thai_leksi ] };
+ key <AE06> { [ Thai_sarau, Thai_sarauu ] };
+ key <AE07> { [ Thai_saraue, Thai_baht ] };
+ key <AE08> { [ Thai_khokhwai, Thai_lekha ] };
+ key <AE09> { [ Thai_totao, Thai_lekhok ] };
+ key <AE10> { [ Thai_chochan, Thai_lekchet ] };
+ key <AE11> { [ Thai_khokhai, Thai_lekpaet ] };
+ key <AE12> { [ Thai_chochang, Thai_lekkao ] };
+
+ key <AD01> { [ Thai_maiyamok, Thai_leksun ] };
+ key <AD02> { [ Thai_saraaimaimalai, quotedbl ] };
+ key <AD03> { [ Thai_saraam, Thai_dochada ] };
+ key <AD04> { [ Thai_phophan, Thai_thonangmontho ] };
+ key <AD05> { [ Thai_saraa, Thai_thothong ] };
+ key <AD06> { [ Thai_maihanakat, Thai_nikhahit ] };
+ key <AD07> { [ Thai_saraii, Thai_maitri ] };
+ key <AD08> { [ Thai_rorua, Thai_nonen ] };
+ key <AD09> { [ Thai_nonu, Thai_paiyannoi ] };
+ key <AD10> { [ Thai_yoyak, Thai_yoying ] };
+ key <AD11> { [ Thai_bobaimai, Thai_thothan ] };
+ key <AD12> { [ Thai_loling, comma ] };
+
+ key <AC01> { [ Thai_fofan, Thai_ru ] };
+ key <AC02> { [ Thai_hohip, Thai_khorakhang ] };
+ key <AC03> { [ Thai_kokai, Thai_topatak ] };
+ key <AC04> { [ Thai_dodek, Thai_sarao ] };
+ key <AC05> { [ Thai_sarae, Thai_chochoe ] };
+ key <AC06> { [ Thai_maitho, Thai_maitaikhu ] };
+ key <AC07> { [ Thai_maiek, Thai_maichattawa ] };
+ key <AC08> { [ Thai_saraaa, Thai_sorusi ] };
+ key <AC09> { [ Thai_sosua, Thai_sosala ] };
+ key <AC10> { [ Thai_wowaen, Thai_soso ] };
+ key <AC11> { [ Thai_ngongu, period ] };
+
+ key <AB01> { [ Thai_phophung, parenleft ] };
+ key <AB02> { [ Thai_popla, parenright ] };
+ key <AB03> { [ Thai_saraae, Thai_choching ] };
+ key <AB04> { [ Thai_oang, Thai_honokhuk ] };
+ key <AB05> { [ Thai_sarai, Thai_phinthu ] };
+ key <AB06> { [ Thai_sarauee, Thai_thanthakhat ] };
+ key <AB07> { [ Thai_thothahan, question ] };
+ key <AB08> { [ Thai_moma, Thai_thophuthao ] };
+ key <AB09> { [ Thai_saraaimaimuan, Thai_lochula ] };
+ key <AB10> { [ Thai_fofa, Thai_lu ] };
+
+ key <BKSL> { [ Thai_khokhuat, Thai_khokhon ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "pat" {
+ name[Group1]= "Thailand - Pattachote";
+ // The thai layout defines a second keyboard group and changes
+ // the behavior of a few modifier keys.
+
+ // converted to THai keysysms - Pablo Saratxaga pablo@mandrakesoft.com
+ // Pattachote modification by Visanu Euarchukiati -- visanu@inet.co.th
+ key <TLDE> { [ underscore, Thai_baht ] };
+ key <AE01> { [ equal, plus ] };
+ key <AE02> { [ Thai_leksong, quotedbl ] };
+ key <AE03> { [ Thai_leksam, slash ] };
+ key <AE04> { [ Thai_leksi, comma ] };
+ key <AE05> { [ Thai_lekha, question ] };
+ key <AE06> { [ Thai_sarauu, Thai_sarau ] };
+ key <AE07> { [ Thai_lekchet, underscore ] };
+ key <AE08> { [ Thai_lekpaet, period ] };
+ key <AE09> { [ Thai_lekkao, parenleft ] };
+ key <AE10> { [ Thai_leksun, parenright ] };
+ key <AE11> { [ Thai_leknung, minus ] };
+ key <AE12> { [ Thai_lekhok, percent ] };
+
+ key <AD01> { [ Thai_maitaikhu, Thai_maitri ] };
+ key <AD02> { [ Thai_totao, Thai_ru ] };
+ key <AD03> { [ Thai_yoyak, Thai_maiyamok ] };
+ key <AD04> { [ Thai_oang, Thai_yoying ] };
+ key <AD05> { [ Thai_rorua, Thai_sorusi ] };
+ key <AD06> { [ Thai_maiek, Thai_saraue ] };
+ key <AD07> { [ Thai_dodek, Thai_fofa ] };
+ key <AD08> { [ Thai_moma, Thai_soso ] };
+ key <AD09> { [ Thai_wowaen, Thai_thothung ] };
+ key <AD10> { [ Thai_saraae, Thai_thophuthao ] };
+ key <AD11> { [ Thai_saraaimaimuan, Thai_paiyannoi ] };
+ key <AD12> { [ Thai_chochoe, Thai_lu ] };
+
+ key <AC01> { [ Thai_maitho, Thai_maichattawa] };
+ key <AC02> { [ Thai_thothahan, Thai_thothong ] };
+ key <AC03> { [ Thai_ngongu, Thai_saraam ] };
+ key <AC04> { [ Thai_kokai, Thai_nonen ] };
+ key <AC05> { [ Thai_maihanakat, Thai_thanthakhat] };
+ key <AC06> { [ Thai_saraii, Thai_sarauee ] };
+ key <AC07> { [ Thai_saraaa, Thai_phophung ] };
+ key <AC08> { [ Thai_nonu, Thai_chochang ] };
+ key <AC09> { [ Thai_sarae, Thai_sarao ] };
+ key <AC10> { [ Thai_saraaimaimalai, Thai_khorakhang ] };
+ key <AC11> { [ Thai_khokhai, Thai_thonangmontho ] };
+
+ key <AB01> { [ Thai_bobaimai, Thai_dochada ] };
+ key <AB02> { [ Thai_popla, Thai_topatak ] };
+ key <AB03> { [ Thai_loling, Thai_thothan ] };
+ key <AB04> { [ Thai_hohip, Thai_phosamphao ] };
+ key <AB05> { [ Thai_sarai, Thai_phinthu ] };
+ key <AB06> { [ Thai_khokhwai, Thai_sosala ] };
+ key <AB07> { [ Thai_sosua, Thai_honokhuk ] };
+ key <AB08> { [ Thai_saraa, Thai_fofan ] };
+ key <AB09> { [ Thai_chochan, Thai_choching ] };
+ key <AB10> { [ Thai_phophan, Thai_lochula ] };
+
+ key <BKSL> { [ Thai_lakkhangyao, Thai_nikhahit ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "tis" {
+ name[Group1]= "Thailand - TIS-820.2538";
+ // The thai layout defines a second keyboard group and changes
+ // the behavior of a few modifier keys.
+
+ // converted to THai keysysms - Pablo Saratxaga <pablo@mandrakesoft.com>
+ // modified to TIS-820.2538 - Theppitak Karoonboonyanan <thep@linux.thai.net>
+ key <TLDE> { [ 0x1000e4f, 0x1000e5b ] };
+ key <AE01> { [ Thai_baht, Thai_lakkhangyao] };
+ key <AE02> { [ slash, Thai_leknung ] };
+ key <AE03> { [ minus, Thai_leksong ] };
+ key <AE04> { [ Thai_phosamphao, Thai_leksam ] };
+ key <AE05> { [ Thai_thothung, Thai_leksi ] };
+ key <AE06> { [ Thai_sarau, Thai_sarauu ] };
+ key <AE07> { [ Thai_saraue, 0x1000e4e ] };
+ key <AE08> { [ Thai_khokhwai, Thai_lekha ] };
+ key <AE09> { [ Thai_totao, Thai_lekhok ] };
+ key <AE10> { [ Thai_chochan, Thai_lekchet ] };
+ key <AE11> { [ Thai_khokhai, Thai_lekpaet ] };
+ key <AE12> { [ Thai_chochang, Thai_lekkao ] };
+
+ key <AD01> { [ Thai_maiyamok, Thai_leksun ] };
+ key <AD02> { [ Thai_saraaimaimalai, quotedbl ] };
+ key <AD03> { [ Thai_saraam, Thai_dochada ] };
+ key <AD04> { [ Thai_phophan, Thai_thonangmontho ] };
+ key <AD05> { [ Thai_saraa, Thai_thothong ] };
+ key <AD06> { [ Thai_maihanakat, Thai_nikhahit ] };
+ key <AD07> { [ Thai_saraii, Thai_maitri ] };
+ key <AD08> { [ Thai_rorua, Thai_nonen ] };
+ key <AD09> {type[Group1]="THREE_LEVEL",
+ [ Thai_nonu, Thai_paiyannoi, 0x1000e5a] };
+ key <AD10> { [ Thai_yoyak, Thai_yoying ] };
+ key <AD11> { [ Thai_bobaimai, Thai_thothan ] };
+ key <AD12> { [ Thai_loling, comma ] };
+
+ key <AC01> { [ Thai_fofan, Thai_ru ] };
+ key <AC02> { [ Thai_hohip, Thai_khorakhang ] };
+ key <AC03> { [ Thai_kokai, Thai_topatak ] };
+ key <AC04> { [ Thai_dodek, Thai_sarao ] };
+ key <AC05> { [ Thai_sarae, Thai_chochoe ] };
+ key <AC06> { [ Thai_maitho, Thai_maitaikhu ] };
+ key <AC07> { [ Thai_maiek, Thai_maichattawa ] };
+ key <AC08> { [ Thai_saraaa, Thai_sorusi ] };
+ key <AC09> { [ Thai_sosua, Thai_sosala ] };
+ key <AC10> { [ Thai_wowaen, Thai_soso ] };
+ key <AC11> { [ Thai_ngongu, period ] };
+
+ key <AB01> { [ Thai_phophung, parenleft ] };
+ key <AB02> { [ Thai_popla, parenright ] };
+ key <AB03> { [ Thai_saraae, Thai_choching ] };
+ key <AB04> { [ Thai_oang, Thai_honokhuk ] };
+ key <AB05> { [ Thai_sarai, Thai_phinthu ] };
+ key <AB06> { [ Thai_sarauee, Thai_thanthakhat ] };
+ key <AB07> { [ Thai_thothahan, question ] };
+ key <AB08> { [ Thai_moma, Thai_thophuthao ] };
+ key <AB09> { [ Thai_saraaimaimuan, Thai_lochula ] };
+ key <AB10> { [ Thai_fofa, Thai_lu ] };
+
+ key <BKSL> { [ Thai_khokhon, Thai_khokhuat ] };
+};
diff --git a/data/xkbdata/symbols/pc/tj b/data/xkbdata/symbols/pc/tj
new file mode 100644
index 000000000..5ca59afb4
--- /dev/null
+++ b/data/xkbdata/symbols/pc/tj
@@ -0,0 +1,74 @@
+// $XdotOrg$
+
+// based on
+// Tajik keyboard
+// it is a Russian layout keyboard, with SHCHA replaced with
+// dead_cedilla/dead_macron
+// that allows to type the SHCHA with dead_cedilla + SHA
+// and all the extra Tajik keys:
+// dead_cedilla + KA, HA --> KA descender, HA descender
+// dead_macron + I, U, GHE --> I macron, U macron, GHE horizontal stroke
+// it requires proper dead_cedilla and dead_macron entries in Compose file
+// it also allows to use Mode_switch when in cyrillic mode to enter
+// special letters by doing Mode_switch + base letter
+//
+// AEN <aen@logic.ru> (for the Russian layout)
+// Pablo Saratxaga <pablo@mandrakesoft> (for the dead keys changes)
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Tajikistan";
+
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <LSGT> { [ bar, brokenbar ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE, 0x010004b7, 0x010004b6 ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U, 0x010004ef, 0x010004ee ] };
+ key <AE04> { [ 4, asterisk ] };
+ key <AE03> { [ 3, apostrophe ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA, 0x0100049b, 0x0100049a ] };
+ key <AE05> { [ 5, colon ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I, 0x010004e3, 0x010004e2 ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AE06> { [ 6, comma ] };
+ key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, 0x01000493, 0x01000492 ] };
+ key <AE07> { [ 7, period ] };
+ key <AE08> { [ 8, semicolon ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA] };
+ key <AD09> { [ dead_cedilla, dead_macron ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB10> { [ slash, question ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, 0x01000497, 0x01000496 ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA, 0x010004b3, 0x010004b2 ] };
+ key <AE12> { [ equal, plus ] };
+ key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+
+ // End alphanumeric section
+
+};
diff --git a/data/xkbdata/symbols/pc/tr b/data/xkbdata/symbols/pc/tr
new file mode 100644
index 000000000..d90f12566
--- /dev/null
+++ b/data/xkbdata/symbols/pc/tr
@@ -0,0 +1,158 @@
+// $XdotOrg$
+
+// based on
+// Turkish keyboard symbols for PC and xkb
+// This file distributed without any expressed or implied warranty
+// Nilgün Belma Bugüner <nilgun@belgeler.org>, 2005
+//
+// $XFree86: xc/programs/xkbcomp/symbols/tr,v 1.5 2003/04/19 12:22:12 pascal Exp $
+
+//Default Layout (Turkish Q)
+default partial
+xkb_symbols "basic" {
+
+ include "pc/latin"
+
+ name[Group1]="Turkish";
+
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, apostrophe, sterling, twosuperior ] };
+ key <AE03> { [ 3, asciicircum, numbersign, threesuperior ] };
+ key <AE04> { [ 4, plus, dollar, onequarter ] };
+ key <AE06> { [ 6, ampersand, threequarters, VoidSymbol ] };
+ key <AE07> { [ 7, slash, braceleft, VoidSymbol ] };
+ key <AE08> { [ 8, parenleft, bracketleft, VoidSymbol ] };
+ key <AE09> { [ 9, parenright, bracketright, plusminus ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+ key <AE11> { [ asterisk, question, backslash, questiondown ] };
+ key <AE12> { [ minus, underscore, division, VoidSymbol ] };
+
+ key <AD02> { [ w, W, VoidSymbol, VoidSymbol ] };
+ key <AD03> { [ e, E, EuroSign, VoidSymbol ] };
+ key <AD05> { [ t, T, trademark, VoidSymbol ] };
+ key <AD07> { [ u, U, ucircumflex, Ucircumflex ] };
+ key <AD08> { type[group1] = "FOUR_LEVEL_ALPHABETIC",
+ [ idotless, I, icircumflex, Icircumflex ] };
+ key <AD09> { [ o, O, ocircumflex, Ocircumflex ] };
+ key <AD10> { [ p, P, VoidSymbol, VoidSymbol ] };
+ key <AD11> { [ gbreve, Gbreve ] };
+ key <AD12> { [udiaeresis, Udiaeresis, asciitilde, dead_macron ] };
+
+ key <AC01> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S, section, VoidSymbol ] };
+ key <AC03> { [ d, D, VoidSymbol, VoidSymbol ] };
+ key <AC04> { [ f, F, ordfeminine, VoidSymbol ] };
+ key <AC05> { [ g, G, VoidSymbol, VoidSymbol ] };
+ key <AC06> { [ h, H, VoidSymbol, VoidSymbol ] };
+ key <AC08> { [ k, K, VoidSymbol, VoidSymbol ] };
+ key <AC09> { [ l, L, VoidSymbol, VoidSymbol ] };
+ key <AC10> { [ scedilla, Scedilla, acute, dead_acute ] };
+ key <AC11> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
+ [ i, Iabovedot, apostrophe, dead_caron ] };
+ key <TLDE> { [ quotedbl, backslash, plusminus, degree ] };
+
+ key <BKSL> { [ comma, semicolon, grave, dead_grave ] };
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+ key <AB08> { [odiaeresis, Odiaeresis, multiply, VoidSymbol ] };
+ key <AB09> { [ ccedilla, Ccedilla, periodcentered, division ] };
+ key <AB10> { [ period, colon, dead_abovedot, dead_abovedot ] };
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
+
+
+// Turkish F Layout
+partial
+xkb_symbols "f" {
+
+ include "pc/latin"
+
+ name[Group1]="Turkish - (F)";
+
+ key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
+ key <AE02> { [ 2, quotedbl, twosuperior, VoidSymbol ] };
+ key <AE03> { [ 3, asciicircum, numbersign, threesuperior ] };
+ key <AE04> { [ 4, dollar, onequarter, VoidSymbol ] };
+ key <AE06> { [ 6, ampersand, threequarters, VoidSymbol ] };
+ key <AE07> { [ 7, apostrophe, braceleft, VoidSymbol ] };
+ key <AE08> { [ 8, parenleft, bracketleft, VoidSymbol ] };
+ key <AE09> { [ 9, parenright, bracketright, plusminus ] };
+ key <AE10> { [ 0, equal, braceright, degree ] };
+ key <AE11> { [ slash, question, backslash, questiondown ] };
+ key <AE12> { [ minus, underscore, division, VoidSymbol ] };
+
+ key <AD01> { [ f, F, at, VoidSymbol ] };
+ key <AD02> { [ g, G, VoidSymbol, VoidSymbol ] };
+ key <AD03> { [ gbreve, Gbreve, VoidSymbol, VoidSymbol ] };
+ key <AD04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC",
+ [ idotless, I, paragraph, VoidSymbol ] };
+ key <AD05> { [ o, O, ocircumflex, Ocircumflex ] };
+ key <AD06> { [ d, D, yen, VoidSymbol ] };
+ key <AD07> { [ r, R, registered, VoidSymbol ] };
+ key <AD08> { [ n, N, VoidSymbol, VoidSymbol ] };
+ key <AD09> { [ h, H, degree, VoidSymbol ] };
+ key <AD10> { [ p, P, sterling, VoidSymbol ] };
+ key <AD11> { [ q, Q, dead_diaeresis, dead_abovering ] };
+ key <AD12> { [ w, W, asciitilde, dead_breve ] };
+
+ key <AC01> { [ u, U, ucircumflex, Ucircumflex ] };
+ key <AC02> { type[group1] = "FOUR_LEVEL_ALPHABETIC",
+ [ i, Iabovedot, icircumflex, Icircumflex ] };
+ key <AC03> { [ e, E, EuroSign, VoidSymbol ] };
+ key <AC04> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC05> { [udiaeresis, Udiaeresis, ucircumflex, Ucircumflex ] };
+ key <AC06> { [ t, T, trademark, VoidSymbol ] };
+ key <AC07> { [ k, K, VoidSymbol, VoidSymbol ] };
+ key <AC08> { [ m, M, mu, VoidSymbol ] };
+ key <AC09> { [ l, L, VoidSymbol, VoidSymbol ] };
+ key <AC10> { [ y, Y, acute, dead_acute ] };
+ key <AC11> { [ scedilla, Scedilla, numbersign, dead_caron ] };
+ key <TLDE> { [ plus, asterisk, notsign, plusminus ] };
+
+ key <BKSL> { [ x, X, grave, dead_grave ] };
+ key <AB01> { [ j, J, guillemotleft, VoidSymbol ] };
+ key <AB02> { [odiaeresis, Odiaeresis, guillemotright, VoidSymbol ] };
+ key <AB03> { [ v, V, leftdoublequotemark, VoidSymbol ] };
+ key <AB04> { [ c, C, cent, copyright ] };
+ key <AB05> { [ ccedilla, Ccedilla, rightdoublequotemark, VoidSymbol] };
+ key <AB06> { [ z, Z, VoidSymbol, VoidSymbol ] };
+ key <AB07> { [ s, S, section, VoidSymbol ] };
+ key <AB08> { [ b, B, multiply, nobreakspace ] };
+ key <AB09> { [ period, colon, division, dead_abovedot] };
+ key <AB10> { [ comma, semicolon, periodcentered, VoidSymbol ] };
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+ key <LSGT> { [ less, greater, bar, brokenbar ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Turkish Alt-Q Layout
+partial
+xkb_symbols "alt" {
+
+ include "pc/latin"
+
+ name[Group1]="Turkish - Alt-Q";
+
+ key <AE07> { [ 7, ampersand, lowleftcorner, upleftcorner ] };
+ key <AE08> { [ 8, asterisk, leftt, topt ] };
+ key <AE09> { [ 9, parenleft, rightt, bott ] };
+ key <AE10> { [ 0, parenright, lowrightcorner, uprightcorner ] };
+ key <AE11> { [ minus, underscore, horizlinescan5, vertbar ] };
+ key <AE12> { [ equal, plus, crossinglines ] };
+
+ key <AD03> { [ e, E, EuroSign, VoidSymbol ] };
+// key <AD05> { [ t, T, trademark, VoidSymbol >
+ key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
+ key <AD08> { [ i, I, idotless, Iabovedot ] };
+ key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
+ key <AC01> { [ a, A, acircumflex, Acircumflex ] };
+ key <AC02> { [ s, S, scedilla, Scedilla ] };
+ key <AC05> { [ g, G, gbreve, Gbreve ] };
+
+ key <AB03> { [ c, C, ccedilla, Ccedilla ] };
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/data/xkbdata/symbols/pc/ua b/data/xkbdata/symbols/pc/ua
new file mode 100644
index 000000000..c452e7800
--- /dev/null
+++ b/data/xkbdata/symbols/pc/ua
@@ -0,0 +1,213 @@
+// $XdotOrg$
+
+// based on
+// ukrainian standard keyboard
+// AEN <aen@logic.ru> & Leon Kanter <leon@geon.donetsk.ua>
+// Last Changes 2003/09/03 by Andriy Rysin <arysin@yahoo.com>
+//
+// $XFree86: xc/programs/xkbcomp/symbols/ua,v 1.4 2003/05/15 11:29:47 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Ukraine";
+
+ key <TLDE> { [ apostrophe, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, asterisk ] };
+ key <AE05> { [ 5, colon ] };
+ key <AE06> { [ 6, comma ] };
+ key <AE07> { [ 7, period ] };
+ key <AE08> { [ 8, semicolon ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [ Ukrainian_yi, Ukrainian_YI ] };
+ key <BKSL> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Ukrainian_i, Ukrainian_I ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Ukrainian_ie, Ukrainian_IE ] };
+
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB10> { [ slash, question ] };
+
+ key <LSGT> { [ slash, bar ] };
+ // End alphanumeric section
+};
+
+partial alphanumeric_keys
+xkb_symbols "winkeys" {
+ include "pc/ua(basic)"
+
+ name[Group1]= "Ukraine - Winkeys";
+
+ key <AE03> { [ 3, numerosign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AB10> { [ period, comma ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "typewriter" {
+ include "pc/ua(basic)"
+
+ name[Group1]= "Ukraine - Typewriter";
+
+ key <TLDE> { [ apostrophe, quotedbl ] };
+ key <AE01> { [ exclam, 1 ] };
+ key <AE02> { [ numerosign, 2 ] };
+ key <AE03> { [ slash, 3 ] };
+ key <AE04> { [ semicolon, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ comma, 6 ] };
+ key <AE07> { [ period, 7 ] };
+ key <AE08> { [ underscore, 8 ] };
+ key <AE09> { [ question, 9 ] };
+ key <AE10> { [ percent, 0 ] };
+
+ key <AD12> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+
+ key <AC02> { [ Cyrillic_i, Cyrillic_I ] };
+
+ key <AB05> { [ Ukrainian_i, Ukrainian_I ] };
+
+ key <AB10> { [ Ukrainian_yi, Ukrainian_YI ] };
+
+ key <BKSL> { [ parenleft, parenright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+ include "pc/ua(basic)"
+
+ name[Group1]= "Ukraine - Phonetic";
+
+ key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatY> { [ Cyrillic_i, Cyrillic_i ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatI> { [ Ukrainian_i, Ukrainian_I ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+ key <AC11> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB08> { [ Ukrainian_yi, Ukrainian_YI ] };
+ key <AB09> { [ Ukrainian_ie, Ukrainian_IE ] };
+ key <AB10> { [ slash, question ] };
+};
+
+// ukrainian keyboard layout RSTU 2019-91 (Respublikanskij STandart Ukrajiny)
+// Andrew Porokhnyak <aop@porokhnyak.org>
+partial alphanumeric_keys
+xkb_symbols "rstu" {
+ include "pc/ua(basic)"
+
+ name[Group1]= "Ukraine - Standard RSTU";
+
+ key <TLDE> { [ apostrophe, question ] };
+ key <AE01> { [ exclam, 1 ] };
+ key <AE02> { [ quotedbl, 2 ] };
+ key <AE03> { [ numbersign, 3 ] };
+ key <AE04> { [ semicolon, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ comma, 6 ] };
+ key <AE07> { [ period, 7 ] };
+ key <AE08> { [ asterisk, 8 ] };
+ key <AE09> { [ parenleft, 9 ] };
+ key <AE10> { [ parenright, 0 ] };
+
+ key <AD12> { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+
+ key <AC02> { [ Cyrillic_i, Cyrillic_I ] };
+
+ key <AB05> { [ Ukrainian_i, Ukrainian_I ] };
+
+ key <AB10> { [ Ukrainian_yi, Ukrainian_YI ] };
+
+ key <BKSL> { [ slash, percent ] };
+};
+
+// russian keyboard layout RSTU 2019-91 (Respublikanskij STandart Ukrajiny)
+// Andrew Porokhnyak <aop@porokhnyak.org>
+partial alphanumeric_keys
+xkb_symbols "rstu_ru" {
+ include "pc/ru(basic)"
+ name[Group1]= "Ukraine - Standard RSTU on Russian layout";
+
+ key <TLDE> { [ apostrophe, question ] };
+ key <AE01> { [ exclam, 1 ] };
+ key <AE02> { [ quotedbl, 2 ] };
+ key <AE03> { [ numbersign, 3 ] };
+ key <AE04> { [ semicolon, 4 ] };
+ key <AE05> { [ colon, 5 ] };
+ key <AE06> { [ comma, 6 ] };
+ key <AE07> { [ period, 7 ] };
+ key <AE08> { [ asterisk, 8 ] };
+ key <AE09> { [ parenleft, 9 ] };
+ key <AE10> { [ parenright, 0 ] };
+ key <BKSL> { [ slash, percent ] };
+
+key.type[group1]="ALPHABETIC";
+
+ key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
+};
+
diff --git a/data/xkbdata/symbols/pc/us b/data/xkbdata/symbols/pc/us
new file mode 100644
index 000000000..0933ecda7
--- /dev/null
+++ b/data/xkbdata/symbols/pc/us
@@ -0,0 +1,295 @@
+//
+// $XdotOrg: xc/programs/xkbcomp/symbols/us,v 1.1.4.3 2004/03/05 13:41:33 eich Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/us,v 1.6 2003/10/31 14:32:05 pascal Exp $
+
+default
+partial alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "U.S. English";
+
+ include "pc/pc(common)"
+
+ // Alphanumeric section
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ] };
+
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+
+ key <BKSL> { [ backslash, bar ] };
+ // End alphanumeric section
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "intl" {
+
+ name[Group1]= "U.S. English - International (with dead keys)";
+
+ include "pc/us(basic)"
+
+ // Alphanumeric section
+ key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
+ key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
+ key <AE04> { [ 4, dollar, currency, sterling ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
+ key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
+ key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
+ key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
+ key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
+ key <AE11> { [ minus, underscore, yen, dead_belowdot ] };
+ key <AE12> { [ equal, plus, multiply, division ] };
+
+ key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
+ key <AD02> { [ w, W, aring, Aring ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, registered, registered ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
+ key <AD11> { [ bracketleft, braceleft, guillemotleft, guillemotleft ] };
+ key <AD12> { [bracketright, braceright, guillemotright,guillemotright ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ s, S, ssharp, section ] };
+ key <AC03> { [ d, D, eth, ETH ] };
+
+ key <AC09> { [ l, L, oslash, Ooblique ] };
+ key <AC10> { [ semicolon, colon, paragraph, degree ] };
+ key <AC11> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
+
+ key <AB01> { [ z, Z, ae, AE ] };
+ key <AB03> { [ c, C, copyright, cent ] };
+ key <AB06> { [ n, N, ntilde, Ntilde ] };
+ key <AB07> { [ m, M, mu, mu ] };
+ key <AB08> { [ comma, less, ccedilla, Ccedilla ] };
+ key <AB09> { [ period, greater, dead_abovedot, dead_caron ] };
+ key <AB10> { [ slash, question, questiondown, dead_hook ] };
+ key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Based on symbols/us_intl keyboard map:
+// Dead-keys definition for a very simple US/ASCII layout.
+// by Conectiva (http://www.conectiva.com.br)
+// modified by Ricardo Y. Igarashi (iga@that.com.br)
+
+// Added the following deadkeys, to make it truly international:
+//
+// dead_macron: on AltGr-minus
+// dead_breve: on AltGr-parenleft
+// dead_abovedot: on AltGr-period
+// dead_abovering: on AltGr-0
+// dead_doubleacute: on AltGr-equal (as quotedbl is already used)
+// dead_caron: on AltGr-less (AltGr-shift-comma)
+// dead_cedilla: on AltGr-comma
+// dead_ogonek: on AltGr-semicolon
+// dead_belowdot: on AltGr-underscore (AltGr-shift-minus)
+// dead_hook: on AltGr-question
+// dead_horn: on AltGr-plus (AltGr-shift-equal)
+// dead_diaeresis: on AltGr-colon (Alt-shift-semicolon)
+//
+// those were already there:
+// dead_grave
+// dead_acute
+// dead_circumflex
+// dead_tilde
+// dead_diaeresis
+
+partial alphanumeric_keys
+xkb_symbols "alt-intl" {
+
+ name[Group1]= "U.S. English - Alternative international (former us_intl)";
+
+ include "pc/us"
+
+ key <TLDE> { [ dead_grave, dead_tilde, grave, asciitilde ] };
+ key <AE05> { [ 5, percent, EuroSign ] };
+ key <AE06> { [ 6, dead_circumflex, asciicircum, asciicircum ] };
+ key <AE09> { [ 9, parenleft, dead_breve, dead_breve ] };
+ key <AE10> { [ 0, parenright, dead_abovering, dead_abovering] };
+ key <AE11> { [ minus, underscore, dead_macron, dead_belowdot ] };
+ key <AE12> { [ equal, plus, dead_doubleacute, dead_horn ] };
+
+ key <AD03> { [ e, E, EuroSign, cent ] };
+
+ key <AC10> { [ semicolon, colon, dead_ogonek, dead_diaeresis ] };
+ key <AC11> { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
+
+ key <AB08> { [ comma, less, dead_cedilla, dead_caron ] };
+ key <AB09> { [ period, greater, dead_abovedot, dead_circumflex ] };
+ key <AB10> { [ slash, question, dead_hook, dead_hook ] };
+
+ include "level3(ralt_switch)"
+};
+
+// based on a keyboard map from an 'xkb/symbols/dk' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/dvorak,v 1.5 2004/01/03 16:35:07 herrb Exp $
+
+partial alphanumeric_keys
+xkb_symbols "dvorak" {
+
+ name[Group1]= "U.S. English - Dvorak";
+
+ // Alphanumeric section
+
+ key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft, dead_grave] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ bracketleft, braceleft ] };
+ key <AE12> { [ bracketright, braceright, dead_tilde] };
+
+ key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
+ key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
+ key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
+ key <AD04> { [ p, P ] };
+ key <AD05> { [ y, Y ] };
+ key <AD06> { [ f, F ] };
+ key <AD07> { [ g, G ] };
+ key <AD08> { [ c, C ] };
+ key <AD09> { [ r, R ] };
+ key <AD10> { [ l, L ] };
+ key <AD11> { [ slash, question ] };
+ key <AD12> { [ equal, plus ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ o, O ] };
+ key <AC03> { [ e, E ] };
+ key <AC04> { [ u, U ] };
+ key <AC05> { [ i, I ] };
+ key <AC06> { [ d, D ] };
+ key <AC07> { [ h, H ] };
+ key <AC08> { [ t, T ] };
+ key <AC09> { [ n, N ] };
+ key <AC10> { [ s, S ] };
+ key <AC11> { [ minus, underscore ] };
+
+ key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
+ key <AB02> { [ q, Q ] };
+ key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K ] };
+ key <AB05> { [ x, X ] };
+ key <AB06> { [ b, B ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ w, W ] };
+ key <AB09> { [ v, V ] };
+ key <AB10> { [ z, Z ] };
+};
+
+// phonetic layout for Russian letters on an US keyboard
+// by Ivan Popov <pin@konvalo.org> 2005-07-17
+
+// level3 modifier is a shortcut to the "us" meaning of the keys where
+// we place cyrillic letters, handy for accessing the corresponding
+// punctuation marks.
+// It is important to have access to punctuation marks, and the rest of
+// alphabetical keys are added for being consequent so that the users
+// can expect the level3 modifier to give what the key label shows.
+
+partial alphanumeric_keys
+xkb_symbols "rus" {
+
+ name[Group1]= "U.S. English - Russian phonetic";
+
+ include "pc/us(basic)"
+
+key.type[group1]="FOUR_LEVEL_ALPHABETIC";
+
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO, grave, asciitilde ] };
+ key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AC10> { [ Cyrillic_che, Cyrillic_CHE, semicolon, colon ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, bracketleft, braceleft] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, bracketright, braceright ] };
+ key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
+ key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <BKSL> { [ Cyrillic_e, Cyrillic_E, backslash, bar ] };
+ key <AC11> { [ Cyrillic_yu, Cyrillic_YU, apostrophe, quotedbl ] };
+ key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/data/xkbdata/symbols/pc/uz b/data/xkbdata/symbols/pc/uz
new file mode 100644
index 000000000..84da42320
--- /dev/null
+++ b/data/xkbdata/symbols/pc/uz
@@ -0,0 +1,82 @@
+// $XdotOrg$
+// Uzbek standard keyboard
+//
+// Mashrab Kuvatov <kmashrab@uni-bremen.de>
+//
+// History:
+//
+// Jun 2, 2003. Mashrab Kuvatov <kmashrab@uni-bremen.de>
+//
+// Created based on Russian standard keyboard. AEN <aen@logic.ru>
+// The following symbols of Russian standard keyboard were replaced:
+// minus (key <AE11>) with Byelorussian_shortu (U045e),
+// equal (key <AE12>) with Cyrillic_ka_descender (U049b)
+// Cyrillic_ha (key <AD11>) with Cyrillic_ghe_bar (U0493)
+// Cyrillic_hardsign (key <AD12>) with Cyrillic_ha_descender (U04b3)
+// The following symbols of Russian standard keyboard were moved:
+// Cyrillic_ze to key <AC02> (english 's'),
+// Cyrillic_sha to key <AD08> (english 'i'),
+// Cyrillic_ha to key <AD09> (english 'o'),
+// Cyrillic_hardsign to key <AD10> (english 'p').
+//
+// $XFree86: xc/programs/xkbcomp/symbols/uz,v 1.2 2003/06/21 13:01:59 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "Uzbekistan";
+
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, colon ] };
+ key <AE07> { [ 7, question ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <BKSL> { [ backslash, bar ] };
+ key <AB10> { [ period, comma ] };
+ key <LSGT> { [ slash, bar ] };
+
+key.type[group1]="ALPHABETIC";
+
+ key <AE11> { [ Byelorussian_shortu, Byelorussian_SHORTU ] };
+ key <AE12> { [Cyrillic_ka_descender, Cyrillic_KA_descender ] };
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
+ key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD10> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AD11> { [Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
+ key <AD12> { [Cyrillic_ha_descender, Cyrillic_HA_descender ] };
+ key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
+
+ // End alphanumeric section
+};
diff --git a/data/xkbdata/symbols/pc/vn b/data/xkbdata/symbols/pc/vn
new file mode 100644
index 000000000..1d8f26f8c
--- /dev/null
+++ b/data/xkbdata/symbols/pc/vn
@@ -0,0 +1,40 @@
+// $XdotOrg$
+// $XKeyboardConfig: xkbdesc/symbols/vn,v 1.5 2004/12/22 21:51:19 svu Exp $
+
+// based on:
+// vn, TCVN 5712:1993
+// Le Hong Boi <le.hong.boi@bigfoot.com>
+// August 1999
+// Further modified by Ashley Clark <aclark@debian.org>
+// July 2000 for X 4.0
+
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "pc/us"
+
+ name[Group1]= "Vietnam";
+
+ // Alphanumeric section
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <AE01> { [ 1, exclam, abreve, Abreve ] };
+ key <AE02> { [ 2, at, acircumflex, Acircumflex ] };
+ key <AE03> { [ 3, numbersign, ecircumflex, Ecircumflex ] };
+ key <AE04> { [ 4, dollar, ocircumflex, Ocircumflex ] };
+ key <AE05> { [ 5, percent, dead_grave, percent ] };
+ key <AE06> { [ 6, asciicircum,dead_hook, asciicircum ] };
+ key <AE07> { [ 7, ampersand, dead_tilde, ampersand ] };
+ key <AE08> { [ 8, asterisk, dead_acute, asterisk ] };
+ key <AE09> { [ 9, parenlef, dead_belowdot,parenleft ] };
+ key <AE10> { [ 0, parenright, dstroke, Dstroke ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus, DongSign ] };
+
+ key <AD11> { [ bracketleft, braceleft, uhorn, Uhorn ] };
+ key <AD12> { [ bracketright, braceright, ohorn, Ohorn ] };
+
+ // End alphanumeric section
+
+ include "level3(ralt_switch)"
+};
diff --git a/data/xkbdata/symbols/pc104 b/data/xkbdata/symbols/pc104
new file mode 100644
index 000000000..231671dc2
--- /dev/null
+++ b/data/xkbdata/symbols/pc104
@@ -0,0 +1,32 @@
+// $Xorg: pc104,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/pc104,v 3.4 2001/01/17 23:45:59 dawes Exp $
+
+// Use "Alt_*" for both alt keys, "Meta_*" for both windows keys, and Menu for
+// the menu key
+default partial modifier_keys
+xkb_symbols "altmeta" {
+ key <LALT> { [ Alt_L ] };
+ key <LWIN> { [ Meta_L ] };
+ key <RALT> { [ Alt_R ] };
+ key <RWIN> { [ Meta_R ] };
+ key <MENU> { [ Menu ] };
+};
+
+// Same as the default, but put "Multi_key" (compose) on the menu key.
+xkb_symbols "compose" {
+ key <LALT> { [ Alt_L ] };
+ key <LWIN> { [ Meta_L ] };
+ key <RALT> { [ Alt_R ] };
+ key <RWIN> { [ Meta_R ] };
+ key <MENU> { [ Multi_key ] };
+};
+
+// Use Menu for the menu key
+partial modifier_keys
+xkb_symbols "menu" {
+ key <MENU> { [ Menu ] };
+};
diff --git a/data/xkbdata/symbols/pl b/data/xkbdata/symbols/pl
new file mode 100644
index 000000000..3eb553bc0
--- /dev/null
+++ b/data/xkbdata/symbols/pl
@@ -0,0 +1,60 @@
+// $Xorg: pl,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/pl,v 3.5 2001/01/17 23:45:59 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Polish keyboard
+
+ name[Group1]= "Polish";
+
+ key.type[Group2] = "ALPHABETIC";
+
+ key <AC01> { [ ],
+ [ aogonek, Aogonek ] };
+ key <AB03> { [ ],
+ [ cacute, Cacute ] };
+ key <AD03> { [ ],
+ [ eogonek, Eogonek ] };
+ key <AC09> { [ ],
+ [ lstroke, Lstroke ] };
+ key <AB06> { [ ],
+ [ nacute, Nacute ] };
+ key <AD09> { [ ],
+ [ oacute, Oacute ] };
+ key <AC02> { [ ],
+ [ sacute, Sacute ] };
+ key <AB02> { [ ],
+ [ zacute, Zacute ] };
+ key <AB01> { [ ],
+ [ zabovedot, Zabovedot ] };
+ // End alphanumeric section
+
+ // Begin mofifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "pl(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "pl(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "pl(basic)" // for consistent naming
+};
+// end of file /usr/X11R6/bin/X11/xkb/symbols/pl
diff --git a/data/xkbdata/symbols/pl2 b/data/xkbdata/symbols/pl2
new file mode 100644
index 000000000..473415e6c
--- /dev/null
+++ b/data/xkbdata/symbols/pl2
@@ -0,0 +1,119 @@
+// $XConsortium: pl2 /main/3 1996/08/31 12:20:05 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/pl2,v 3.4 1999/08/30 02:34:28 dawes Exp
+// $
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple QWERTZ Polish keybaord
+
+ name[Group1]= "Polish";
+
+ key <TLDE> { [ abovedot, dead_ogonek ] };
+
+ key <AE01> { [ 1, exclam ],
+ [ asciitilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ dead_caron ] };
+ key <AE03> { [ 3, numbersign ],
+ [ dead_circumflex ] };
+ key <AE04> { [ 4, dollar ],
+ [ dead_breve ] };
+ key <AE05> { [ 5, percent ],
+ [ degree ] };
+ key <AE06> { [ 6, ampersand ],
+ [ dead_ogonek ] };
+ key <AE07> { [ 7, slash ],
+ [ dead_grave ] };
+ key <AE08> { [ 8, parenleft ],
+ [ dead_abovedot ] };
+ key <AE09> { [ 9, parenright ],
+ [ dead_acute ] };
+ key <AE10> { [ 0, equal ],
+ [ dead_doubleacute ] };
+ key <AE11> { [ plus, question ],
+ [ dead_diaeresis ] };
+ key <AE12> { [ apostrophe, asterisk ],
+ [ dead_cedilla ] };
+
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ zabovedot, nacute ],
+ [ division ] };
+ key <AD12> { [ sacute, cacute ],
+ [ multiply ] };
+
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ],
+ [ dstroke ] };
+ key <AC03> { [ d, D ],
+ [ Dstroke ] };
+ key <AC04> { [ f, F ],
+ [ bracketleft ] };
+ key <AC05> { [ g, G ],
+ [ bracketright ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ lstroke, Lstroke ],
+ [ dollar ] };
+ key <AC11> { [ aogonek, eogonek ],
+ [ ssharp ] };
+
+ key <BKSL> { [ oacute, zacute ] };
+
+ key <AB01> { [ y, Y ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ],
+ [ at ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB07> { [ m, M ],
+ [ section ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "pl2(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "pl2(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "pl2(basic)" // for consistent naming
+};
+// end of file /usr/X11R6/bin/X11/xkb/symbols/pl2
+
diff --git a/data/xkbdata/symbols/pt b/data/xkbdata/symbols/pt
new file mode 100644
index 000000000..718428930
--- /dev/null
+++ b/data/xkbdata/symbols/pt
@@ -0,0 +1,78 @@
+// $Xorg: pt,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/pt,v 3.5 2000/10/27 18:31:09 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Portuguese keybaord
+
+ name[Group1]= "Portuguese";
+
+ key <TLDE> { [ backslash, bar ] };
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at, oneeighth ] };
+ key <AE04> { [ 4, dollar ],
+ [ section, dollar ] };
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, sterling ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <AC10> { [ ccedilla, Ccedilla ] };
+ key <AE11> { [ apostrophe, question ] };
+ key <AC11> { [ masculine, ordfeminine ] };
+ key <AD11> { [ plus, asterisk ],
+ [ dead_diaeresis ] };
+ key <AE12> { [ guillemotleft, guillemotright ] };
+ key <AD12> { [ dead_acute, dead_grave ] };
+ key <BKSL> { [ dead_tilde, dead_circumflex ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ include "ralt(mode_switch)"
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "pt(basic)" // for consistent naming
+
+ key <AD11> { [ plus, asterisk ],
+ [ SunFA_Diaeresis, SunFA_Diaeresis ] };
+ key <BKSL> { [ SunFA_Tilde, SunFA_Circum ] };
+ key <AD12> { [ SunFA_Acute, SunFA_Grave ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "pt(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+ include "pt(basic)" // for consistent naming
+
+ key <AD11> { [ plus, asterisk ],
+ [ quotedbl, quotedbl ] };
+ key <BKSL> { [ asciitilde, asciicircum ] };
+ key <AD12> { [ acute, grave ] };
+};
diff --git a/data/xkbdata/symbols/ralt b/data/xkbdata/symbols/ralt
new file mode 100644
index 000000000..aed55531c
--- /dev/null
+++ b/data/xkbdata/symbols/ralt
@@ -0,0 +1,18 @@
+// This file was inspired by XFree86 version 3.3.2
+// as distributed with RedHat Linux 5.1
+// This file was created by Eric Moreau, 1998-09-27
+// I am reachable at eric_moreau@compuserve.com
+//
+// $XFree86$
+//
+// This gives the Right Alt key (sometimes labeled
+// as AltGr or Alt Car) the capability of displaying
+// the third symbol labeled on your keys.
+
+partial alphanumeric_keys
+xkb_symbols "mode_switch" {
+ key <RALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+};
diff --git a/data/xkbdata/symbols/ro b/data/xkbdata/symbols/ro
new file mode 100644
index 000000000..983b4c07f
--- /dev/null
+++ b/data/xkbdata/symbols/ro
@@ -0,0 +1,141 @@
+// $XFree86: xc/programs/xkbcomp/symbols/ro,v 3.8 2003/09/08 13:12:37 pascal Exp $
+
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Romanian keybaord
+ // Created by Manfred Pohler, <Manfred.Pohler@t-online.de> (C) 2003
+
+ name[Group1]="Romanian";
+
+ // Alphanumeric section
+ key <TLDE> { [ bracketright, bracketleft ] };
+ key <AE01> { [ 1, exclam ],
+ [ asciitilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ at ] };
+ key <AE03> { [ 3, numbersign ],
+ [ asciicircum ] };
+ key <AE04> { [ 4, currency ] };
+ key <AE05> { [ 5, percent ],
+ [ degree ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ],
+ [ grave ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ plus, question ] };
+ key <AE12> { [ apostrophe, asterisk ] };
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ abreve, Abreve ],
+ [ division ] };
+ key <AD12> { [ icircumflex, Icircumflex ],
+ [ multiply ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC10> { [ scedilla, Scedilla ],
+ [ dollar ] };
+ key <AC11> { [ tcedilla, Tcedilla ],
+ [ ssharp ] };
+
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+ key <AB01> { [ y, Y ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB07> { [ m, M ],
+ [ section ] };
+ key <AB08> { [ comma, semicolon ],
+ [ less ] };
+ key <AB09> { [ period, colon ],
+ [ greater ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ acircumflex, Acircumflex ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+
+ // End alphanumeric section, begin "Keypad"
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+// symbols definition for a very simple Romanian Keyboard layout.
+//
+// We basically override some modifier_keys so that using the Right Alt
+// and the corresponing letter we are able to generate the romanian characters
+//
+// Created by Cristian Gafton, <gafton@redhat.com> (C) 2000
+// Modified by Mișu Moldovan, <dumol@go.ro> (C) 2001
+// Modified by Marius Andreiana, <mandreiana@yahoo.com> (C) 2001
+//
+// Diacriticele se scriu cu ALT-ul din dreapta si q,t,i,a,s (+shift eventual)
+
+partial alphanumeric_keys
+xkb_symbols "us_ro" {
+
+ name[Group1]="Romanian for us-keyboard";
+
+ // Alphanumeric section
+ key <AD01> { [], [ acircumflex, Acircumflex ] };
+ key <AC01> { [], [ abreve, Abreve ] };
+ key <AC02> { [], [ scedilla, Scedilla ] };
+ key <AD05> { [], [ tcedilla, Tcedilla ] };
+ key <AD08> { [], [ icircumflex, Icircumflex ] };
+
+ key <RALT> { [ Mode_switch, Multi_key ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+
+};
+
+xkb_symbols "comma" {
+ include "ro(us_ro)"
+
+ key <AC02> { [], [ 0x1000219, 0x1000218 ] };
+ key <AD05> { [], [ 0x100021b, 0x100021a ] };
+};
+
+// Romanian keyboard with access to German umlauts";
+// Created by Manfred Pohler, <Manfred.Pohler@t-online.de> (C) 2003
+// German umlauts are accessible with <AltGr> and a, o , u, s (+shift for capital letters)
+//
+partial alphanumeric_keys
+xkb_symbols "ro_de" {
+
+ include "ro(basic)"
+
+ name[Group1]="German for Romanian keyboard";
+
+ key <AD07> { [ u, U ],
+ [ udiaeresis, Udiaeresis ] };
+ key <AD09> { [ o, O ],
+ [ odiaeresis, Odiaeresis ] };
+ key <AC01> { [ a, A ],
+ [ adiaeresis, Adiaeresis ] };
+ key <AC02> { [ s, S ],
+ [ ssharp ] };
+};
diff --git a/data/xkbdata/symbols/ro2 b/data/xkbdata/symbols/ro2
new file mode 100644
index 000000000..8872a6c59
--- /dev/null
+++ b/data/xkbdata/symbols/ro2
@@ -0,0 +1,96 @@
+// symbols definition for Romanian Keyboard layout.
+//
+// Created by Derrick Jobidon, <globe99@rdstm.ro> (C) 2001
+// Inspired from modified US keyboard by Cristian Gafton
+//
+// $XFree86$
+
+partial alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group1]= "Romanian";
+
+ key <TLDE> { [ bracketright, bracketleft ] };
+ key <AE01> { [ 1, exclam ], [ asciitilde, asciitilde ] };
+ key <AE02> { [ 2, quotedbl ], [dead_caron, dead_caron ] };
+ key <AE03> { [ 3, numbersign ], [dead_circumflex, dead_circumflex] };
+ key <AE04> { [ 4, currency], [dead_breve, dead_breve] };
+ key <AE05> { [ 5, percent], [ dead_abovering ] };
+ key <AE06> { [ 6, ampersand], [ dead_ogonek ] };
+ key <AE07> { [ 7, slash], [dead_grave, dead_grave] };
+ key <AE08> { [ 8, parenleft], [ dead_abovedot ] };
+ key <AE09> { [ 9, parenright], [dead_acute, dead_acute] };
+ key <AE10> { [ 0, equal], [ dead_doubleacute ] };
+ key <AE11> { [ plus, question], [dead_diaeresis, dead_diaeresis] };
+ key <AE12> { [ quoteright, asterisk], [dead_cedilla] };
+ key <BKSL> { [ acircumflex, Acircumflex] };
+ key <AD01> { [ q, Q], [backslash, backslash] };
+ key <AD02> { [ w, W], [bar, bar] };
+ key <AD03> { [ e, E], [EuroSign, EuroSign] };
+ key <AD04> { [ r, R], [registered, registered] };
+ key <AD05> { [ t, T], [trademark, trademark] };
+ key <AD06> { [ z, Z] };
+ key <AD11> { [ abreve, Abreve], [division, division] };
+ key <AD12> { [ icircumflex, Icircumflex], [multiply, multiply] };
+ key <AC02> { [ s, S], [ dstroke, dstroke ] };
+ key <AC03> { [ d, D], [ Dstroke, Dstroke ] };
+ key <AC08> { [ k, K], [ lstroke, lstroke ] };
+ key <AC09> { [ l, L], [ Lstroke, Lstroke ] };
+ key <AC10> { [ scedilla, Scedilla], [dollar, dollar] };
+ key <AC11> { [ tcediila, Tcedilla], [ ssharp, ssharp ] };
+ key <AB01> { [ y, Y] };
+ key <AB03> { [ c, C], [copyright, copyright] };
+ key <AB04> { [ v, V], [at, at] };
+ key <AB05> { [ b, B], [braceleft, braceleft] };
+ key <AB06> { [ n, N], [braceright,braceright] };
+ key <AB07> { [ m, M], [section, section] };
+ key <AB08> { [ comma, semicolon], [less, less] };
+ key <AB09> { [ period, colon], [greater, greater] };
+ key <AB10> { [ minus, underscore] };
+
+};
+
+default
+xkb_symbols "pc101" {
+ key <RALT> { [ Mode_switch, Multi_key ] };
+
+ include "ro(basic)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "pc104" {
+ key <RALT> { [ Mode_switch ] };
+ key <RWIN> { [ Multi_key ] };
+
+ include "ro(basic)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "pc105" {
+ key <RALT> { [ Mode_switch ] };
+ key <RWIN> { [ Multi_key ] };
+
+ include "ro(basic)"
+
+ modifier_map Mod3 { Mode_switch };
+};
+
+xkb_symbols "alt_is_meta" {
+ key <LALT> { [ Meta_L ] };
+ key <LWIN> { [ Alt_L ] };
+
+ include "ro(pc104)"
+
+ // modifier mappings
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod4 { Alt_L, Alt_R };
+};
+
+xkb_symbols "comma" {
+ include "ro(basic)"
+
+ key <AC10> { [ 0x1000219, 0x1000218 ], [dollar, dollar] };
+ key <AC11> { [ 0x100021b, 0x100021a ], [ ssharp, ssharp ] };
+};
+
diff --git a/data/xkbdata/symbols/ru b/data/xkbdata/symbols/ru
new file mode 100644
index 000000000..5ced536de
--- /dev/null
+++ b/data/xkbdata/symbols/ru
@@ -0,0 +1,297 @@
+// $Xorg: ru,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
+//
+// russian standard keyboard
+// AEN <aen@logic.ru>
+// Last Changes 2001/12/23 by Leon Kanter <leon@blackcatlinux.com>
+// $XFree86: xc/programs/xkbcomp/symbols/ru,v 3.9 2002/01/16 18:20:12 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Russian keyboard
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Russian";
+
+ key <AE01> { [ 1, exclam ],
+ [ 1, exclam ] };
+ key <AE02> { [ 2, at ],
+ [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, asterisk ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, colon ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, comma ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, period ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, semicolon ] };
+ key <AE09> { [ 9, parenleft ],
+ [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ],
+ [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ],
+ [ minus, underscore ] };
+ key <AE12> { [ equal, plus ],
+ [ equal, plus ] };
+ key <BKSL> { [ backslash, bar ],
+ [ backslash, bar ] };
+ key <AB10> { [ slash, question ],
+ [ slash, question ] };
+ key <LSGT> { [ less, greater ],
+ [ slash, bar ] };
+
+key.type[group2]="ALPHABETIC";
+
+ key <TLDE> { [ grave, asciitilde ],
+ [ Cyrillic_io, Cyrillic_IO ] };
+ key <AD01> { [ q, Q ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ i, I ],
+ [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ o, O ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ p, P ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [ bracketright, braceright ],
+ [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AC01> { [ a, A ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ s, S ],
+ [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ semicolon, colon ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ apostrophe, quotedbl ],
+ [ Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ z, Z ],
+ [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ x, X ],
+ [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [ m, M ],
+ [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ comma, less ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ period, greater ],
+ [ Cyrillic_yu, Cyrillic_YU ] };
+
+key.type[group2]="TWO_LEVEL";
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "winkeys" {
+ include "ru(basic)"
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numerosign ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, colon ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, question ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, asterisk ] };
+ key <AB10> { [ slash, question ],
+ [ period, comma ] };
+ key <BKSL> { [ backslash, bar ],
+ [ backslash, slash ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "typewriter" {
+ include "ru(basic)"
+ key <TLDE> { [ grave, asciitilde ],
+ [ apostrophe, quotedbl ] };
+ key <AE01> { [ 1, exclam ],
+ [ exclam, 1 ] };
+ key <AE02> { [ 2, at ],
+ [ numerosign, 2 ] };
+ key <AE03> { [ 3, numbersign ],
+ [ slash, 3 ] };
+ key <AE04> { [ 4, dollar ],
+ [ semicolon, 4 ] };
+ key <AE05> { [ 5, percent ],
+ [ colon, 5 ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ comma, 6 ] };
+ key <AE07> { [ 7, ampersand ],
+ [ period, 7 ] };
+ key <AE08> { [ 8, asterisk ],
+ [ underscore, 8 ] };
+ key <AE09> { [ 9, parenleft ],
+ [ question, 9 ] };
+ key <AE10> { [ 0, parenright ],
+ [ percent, 0 ] };
+ key <BKSL> { [ backslash, bar ],
+ [ parenleft, parenright ] };
+
+key.type[group2]="ALPHABETIC";
+
+ key <AD12> { [ bracketright, braceright ],
+ [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_i, Cyrillic_I ] };
+ key <AB10> { [ slash, question ],
+ [ Cyrillic_io, Cyrillic_IO ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+ include "ru(basic)"
+
+ key <AE01> { [ 1, exclam ],
+ [ 1, exclam ] };
+ key <AE02> { [ 2, at ],
+ [ 2, at ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, Cyrillic_io ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, Cyrillic_IO ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ],
+ [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ],
+ [ 0, parenright ] };
+
+ key <AB09> { [ period, greater ],
+ [ period, greater ] };
+ key <AB10> { [ slash, question ],
+ [ slash, question ] };
+ key <AB08> { [ comma, less ],
+ [ comma, less ] };
+ key <AC10> { [ semicolon, colon ],
+ [ semicolon, colon ] };
+ key <AC11> { [ apostrophe, quotedbl ],
+ [ apostrophe, quotedbl ] };
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ] };
+
+key.type[group2]="ALPHABETIC";
+
+ key <TLDE> { [ grave, asciitilde ],
+ [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AD01> { [ q, Q ],
+ [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB01> { [ z, Z ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AC02> { [ s, S ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AC01> { [ a, A ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AB02> { [ x, X ],
+ [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AB07> { [ m, M ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_u, Cyrillic_U ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD08> { [ i, I ],
+ [ Cyrillic_i, Cyrillic_I ] };
+ key <AD09> { [ o, O ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AD10> { [ p, P ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AE11> { [ minus, underscore ],
+ [ minus, Cyrillic_hardsign ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AE12> { [ equal, plus ],
+ [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <BKSL> { [ backslash, bar ],
+ [ Cyrillic_e, Cyrillic_E ] };
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/sapmi b/data/xkbdata/symbols/sapmi
new file mode 100644
index 000000000..10fdf759e
--- /dev/null
+++ b/data/xkbdata/symbols/sapmi
@@ -0,0 +1,194 @@
+// Northern Sami keyboards for Finland, Norway and Sweden
+//
+// Describes the differences between a very simple en_US
+// keyboard and a Norwegian Northern Sami keyboard (with
+// dead key support) according to the spec on
+// http://www.hum.uit.no/a/trond/se-lat9-no-keys.html
+// Written by Børre Gaup <boerre.gaup@pc.nu>
+//
+// $XFree86$
+//
+// Quick usage
+// For a Norwegian Northern Sami setup:
+// setxkbmap -layout sapmi
+// For a Swedish/Finnish Northern Sami setup:
+// setxkbmap -layout "sapmi(sefi)"
+// For a Swedish/Finnish Northern Sami setup, with an en_US keyboard as Group3:
+// setxkbmap "sapmi(sefi)+us_group3"
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+
+
+ name[Group1]= "Sámegiella";
+
+ key <TLDE> { [ bar, section ],
+ [ brokenbar, paragraph ]};
+ key <AE01> { [ 1, exclam ],
+ [ copyright, exclamdown ]};
+ key <AE02> { [ 2, quotedbl ],
+ [ at, registered ]};
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, less ]};
+ key <AE04> { [ 4, dollar ],
+ [ dollar, greater ]};
+
+ // 0x2022 BULLET and 0x2030 PER MILLE SIGN
+ key <AE05> { [ 5, percent ],
+ [ 0x01002022, 0x01002030 ]};
+ key <AE06> { [ 6, ampersand ],
+ [ section, paragraph ]};
+ key <AE07> { [ 7, slash ],
+ [ braceleft, bar ]};
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, braceleft ]};
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, braceright ]};
+ key <AE10> { [ 0, equal ],
+ [ braceright, notequal ]};
+ key <AE11> { [ plus, question ],
+ [ division, questiondown ]};
+ key <AE12> { [ backslash, grave ],
+ [ acute, asciitilde ]};
+
+
+ key <AD01> { [ aacute, Aacute ],
+ [ q, Q ]};
+ key <AD02> { [ scaron, Scaron ],
+ [ w, W ]};
+ key <AD03> { [ e, E ],
+ [ eacute, Eacute ]};
+ key <AD04> { [ r, R ],
+ [ registered, trademark ]};
+ key <AD05> { [ t, T ],
+ [ tslash, Tslash ]};
+ key <AD06> { [ y, Y ],
+ [ yacute, Yacute ]};
+ key <AD07> { [ u, U ],
+ [ udiaeresis, Udiaeresis ]};
+ key <AD08> { [ i, I ],
+ [ idiaeresis, Idiaeresis ]};
+ key <AD09> { [ o, O ],
+ [ oe, OE ]};
+ key <AD10> { [ p, P ],
+ [ thorn, THORN ]};
+ key <AD11> { [ aring, Aring ],
+ [ acircumflex, Acircumflex ]};
+ key <AD12> { [ eng, ENG ],
+ [ quotedbl, asciicircum ]};
+
+ key <AC01> { [ a, A ],
+ [ agrave, Agrave ]};
+ key <AC02> { [ s, S ],
+ [ ssharp, apostrophe ]};
+ key <AC03> { [ d, D ],
+ [ eth, ETH ]};
+ key <AC04> { [ f, F ],
+ [ ordfeminine, ordfeminine ]};
+ key <AC05> { [ g, G ],
+ [ gcaron, Gcaron ]};
+ // 0x01e5 LATIN SMALL LETTER G WITH STROKE and
+ // 0x01e4 LATIN CAPITAL LETTER G WITH STROKE
+ key <AC06> { [ h, H ],
+ [ 0x010001e5, 0x010001e4 ]};
+ key <AC07> { [ j, J ],
+ [ notsign, multiply ]};
+ // 0x01e9 LATIN SMALL LETTER K WITH CARON and
+ // 0x01e8 LATIN CAPITAL LETTER K WITH CARON
+ key <AC08> { [ k, K ],
+ [ 0x010001e9, 0x010001e8 ]};
+ key <AC09> { [ l, L ],
+ [ degree, hyphen ]};
+ key <AC10> { [ oslash, Ooblique ],
+ [ odiaeresis, Odiaeresis ]};
+ key <AC11> { [ ae, AE ],
+ [ adiaeresis, Adiaeresis ]};
+ key <BKSL> { [ dstroke, Dstroke ],
+ [ apostrophe, asterisk ]};
+
+ // 0x01ef LATIN SMALL LETTER EZH WITH CARON and
+ // 0x01ee LATIN CAPITAL LETTER EZH WITH CARON
+ key <LSGT> { [ zcaron, Zcaron ],
+ [ 0x010001ef, 0x010001ee ]};
+ // 0x0292 LATIN SMALL LETTER EZH and
+ // 0x01b7 LATIN CAPITAL LETTER EZH
+ key <AB01> { [ z, Z ],
+ [ 0x01000292, 0x010001b7 ]};
+ key <AB02> { [ ccaron, Ccaron ],
+ [ x, X ]};
+ key <AB03> { [ c, C ],
+ [ ccedilla, Ccedilla ]};
+ key <AB04> { [ v, V ],
+ [ lessthanequal, guillemotleft ]};
+ key <AB05> { [ b, B ],
+ [greaterthanequal, guillemotright ]};
+ key <AB06> { [ n, N ],
+ [leftsinglequotemark,leftdoublequotemark ]};
+ key <AB07> { [ m, M ],
+ [rightsinglequotemark,rightdoublequotemark]};
+ key <AB08> { [ comma, semicolon ],
+ [singlelowquotemark,doublelowquotemark ]};
+ key <AB09> { [ period, colon ],
+ [ ellipsis, periodcentered ]};
+ key <AB10> { [ minus, underscore ],
+ [ endash, emdash ]};
+
+ key <SPCE> { [ space, space ],
+ [ nobreakspace, nobreakspace ]};
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+
+ xkb_symbols "sefi" {
+
+ // Describes the differences between a Norwegian Northern Sami
+ // (keyboard with dead key support) and a Swedish/Finnish Sami
+ // keyboard according to the specs at:
+ // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html
+
+ name[Group1]= "Sámegiella";
+
+ include "sapmi(basic)"
+
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ oslash, Ooblique ]};
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ ae, AE ]};
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+
+ // For naming consistency
+
+ include "sapmi(basic)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+
+ // For naming consistency
+
+ include "sapmi(Sundeadkeys)"
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Norwegian layout to eliminate dead keys
+
+ include "sapmi(basic)"
+ key <AE12> { [ backslash, grave ],
+ [ acute, ogonek ] };
+
+};
diff --git a/data/xkbdata/symbols/se b/data/xkbdata/symbols/se
new file mode 100644
index 000000000..bdf8438d2
--- /dev/null
+++ b/data/xkbdata/symbols/se
@@ -0,0 +1,119 @@
+// $Xorg: se,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/se,v 3.10 2002/12/19 01:07:54 dawes Exp $
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Swedish keyboard with dead key support
+ // and all of ISO-8859-1 characters available.
+
+ name[Group1]= "Swedish";
+
+ key <TLDE> { [ section, onehalf ],
+ [ paragraph, threequarters ]};
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ]};
+ key <SPCE> { [ space, space ],
+ [ space, nobreakspace ]};
+ key <AE01> { [ 1, exclam ],
+ [ exclamdown, onesuperior ]};
+ key <AE02> { [ 2, quotedbl ],
+ [ at, twosuperior ]};
+ key <AE03> { [ 3, numbersign ],
+ [ sterling, threesuperior ]};
+ key <AE04> { [ 4, currency ],
+ [ dollar, onequarter ]};
+ key <AE05> { [ 5, percent ],
+ [ EuroSign, cent ]};
+ key <AE06> { [ 6, ampersand ],
+ [ yen, NoSymbol ]};
+ key <AE07> { [ 7, slash ],
+ [ braceleft, division ]};
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft, guillemotleft ]};
+ key <AE09> { [ 9, parenright ],
+ [ bracketright, guillemotright ]};
+ key <AE10> { [ 0, equal ],
+ [ braceright, degree ]};
+ key <AB08> { [ comma, semicolon ],
+ [ dead_cedilla, dead_ogonek ]};
+ key <AB09> { [ period, colon ],
+ [ periodcentered, dead_abovedot ]};
+ key <AB03> { [ c, C ],
+ [ copyright, NoSymbol ]};
+ key <AB10> { [ minus, underscore ],
+ [ hyphen, macron ]};
+ key <AC01> { [ a, A ],
+ [ ordfeminine, masculine ]};
+ key <AC03> { [ d, D ],
+ [ eth, ETH ]};
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ]};
+ key <AD04> { [ r, R ],
+ [ registered, NoSymbol ]};
+ key <AD05> { [ t, T ],
+ [ thorn, THORN ]};
+ key <AD08> { [ i, I ],
+ [ NoSymbol, NoSymbol ]};
+ key <AD09> { [ o, O ],
+ [ oe, OE ]};
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ oslash, Ooblique ]};
+ key <AE11> { [ plus, question ],
+ [ backslash, questiondown ]};
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ ae, AE ]};
+ key <BKSL> { [ apostrophe, asterisk ],
+ [ acute, multiply ]};
+ key <AD11> { [ aring, Aring ]};
+ key <AE12> { [ dead_acute, dead_grave ],
+ [ plusminus, notsign ]};
+ key <AD12> { [ dead_diaeresis, dead_circumflex ],
+ [ dead_tilde, dead_caron ]};
+
+
+ // End alphanumeric section, begin "Keypad"
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "Sundeadkeys" {
+ include "se(basic)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "fixdollar" {
+// key <AE04> { [ 4, currency ],
+// [ dollar, dollar ] };
+ override key <AE04> { [ 4, dollar ],
+ [ dollar, currency ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "sundeadkeys" {
+ include "se(Sundeadkeys)" // for consistent naming
+};
+
+partial alphanumeric_keys
+xkb_symbols "nodeadkeys" {
+
+ // Modifies the basic Swedish layout to eliminate all dead keys
+
+ include "se(basic)"
+ key <AE12> { [ acute, grave ] };
+ key <AD12> { [ diaeresis, asciicircum ],
+ [ asciitilde, caron ] };
+};
diff --git a/data/xkbdata/symbols/se_FI b/data/xkbdata/symbols/se_FI
new file mode 100644
index 000000000..38629ecf8
--- /dev/null
+++ b/data/xkbdata/symbols/se_FI
@@ -0,0 +1,10 @@
+// Northern Sami keyboard for Finland
+// Written by Børre Gaup <boerre.gaup@pc.nu>
+// Quick usage: setxkbmap se_FI
+//
+// $XFree86$
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sapmi(sefi)"
+};
diff --git a/data/xkbdata/symbols/se_NO b/data/xkbdata/symbols/se_NO
new file mode 100644
index 000000000..909547635
--- /dev/null
+++ b/data/xkbdata/symbols/se_NO
@@ -0,0 +1,10 @@
+// Northern Sami keyboard for Norway
+// Written by Børre Gaup <boerre.gaup@pc.nu>
+// Quick usage: setxkbmap se_FI
+//
+// $XFree86$
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sapmi(basic)"
+};
diff --git a/data/xkbdata/symbols/se_SE b/data/xkbdata/symbols/se_SE
new file mode 100644
index 000000000..f031c6ea7
--- /dev/null
+++ b/data/xkbdata/symbols/se_SE
@@ -0,0 +1,10 @@
+// Northern Sami keyboard for Sweden
+// Written by Børre Gaup <boerre.gaup@pc.nu>
+// Quick usage: setxkbmap se_FI
+//
+// $XFree86$
+
+partial alphanumeric_keys
+ xkb_symbols "basic" {
+ include "sapmi(sefi)"
+};
diff --git a/data/xkbdata/symbols/sgi/Makefile.am b/data/xkbdata/symbols/sgi/Makefile.am
new file mode 100644
index 000000000..19bfaddc2
--- /dev/null
+++ b/data/xkbdata/symbols/sgi/Makefile.am
@@ -0,0 +1,3 @@
+xkbdata_symbols_sgidir = $(datadir)/X11/xkb/symbols/sgi
+dist_xkbdata_symbols_sgi_DATA = \
+ jp
diff --git a/data/xkbdata/symbols/sgi/Makefile.in b/data/xkbdata/symbols/sgi/Makefile.in
new file mode 100644
index 000000000..cf86c6450
--- /dev/null
+++ b/data/xkbdata/symbols/sgi/Makefile.in
@@ -0,0 +1,258 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_sgidir = $(datadir)/X11/xkb/symbols/sgi
+dist_xkbdata_symbols_sgi_DATA = \
+ jp
+
+subdir = symbols/sgi
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_sgi_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_sgi_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/sgi/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_sgiDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_sgiDATA: $(dist_xkbdata_symbols_sgi_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_sgidir)
+ @list='$(dist_xkbdata_symbols_sgi_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_sgiDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_sgidir)/$$f"; \
+ $(dist_xkbdata_symbols_sgiDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_sgidir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_sgiDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_sgi_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_sgidir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_sgidir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_sgidir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_sgiDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_sgiDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_sgiDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_sgiDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/sgi/jp b/data/xkbdata/symbols/sgi/jp
new file mode 100644
index 000000000..31bb3b59a
--- /dev/null
+++ b/data/xkbdata/symbols/sgi/jp
@@ -0,0 +1,46 @@
+// $Xorg: jp,v 1.3 2000/08/17 19:54:45 cpqbld Exp $
+xkb_symbols "jp106" {
+
+ name[group1]="Japan/ASCII";
+
+ key <HZTG> { [ Zenkaku_Hankaku ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, apostrophe ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, asciitilde ] };
+ key <AE11> { [ minus, equal ] };
+ key <AE12> { [ asciicircum, overbar ] };
+ key <AE13> { [ yen, bar ] };
+
+ // keys <TAB> and <AD01> - <AD10> are identical to US/ASCII keyboard
+ key <AD11> { [ at, grave ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+
+ key <CAPS> { [ Eisu_Shift, Caps_Lock ] };
+ // keys <AC01> - <AC09> are identical to US/ASCII keyboard
+ key <AC10> { [ semicolon, plus ] };
+ key <AC11> { [ colon, asterisk ] };
+ key <AC12> { [ bracketright, braceright ] };
+
+ // keys <LFSH> and <AB01> - <AB10> are identical to US/ASCII keyboard
+ key <AB11> { [ backslash, underscore ] };
+
+ key <NFER> { [ Muhenkan ] };
+ key <XFER> { [ Kanji ] };
+ key <HKTG> { [ Hiragana_Katakana ] };
+};
+
+xkb_symbols "alternate106" {
+ key <AE10> { [ 0, overbar ] };
+ key <AE12> { [ asciicircum, asciitilde] };
+ key <AE13> { [ backslash, bar ] };
+ key <AB11> { [ underbar, underscore ] };
+ augment "sgi/jp(jp106)"
+};
+
diff --git a/data/xkbdata/symbols/si b/data/xkbdata/symbols/si
new file mode 100644
index 000000000..451216489
--- /dev/null
+++ b/data/xkbdata/symbols/si
@@ -0,0 +1,108 @@
+// Slovenian keyboards
+// by Marko Samastur (markos@elite.org) and
+// Primoz Peterlin (primoz.peterlin@biofiz.mf.uni-lj.si)
+// Last change: 6.2.2000
+//
+// Log: sl,v
+// Revision 1.4 2000/02/02 10:30:10 peterlin
+// Glede na pripombe Metoda Kozelja napravil asciitilde, asciicircum,
+// degree in quoteleft dosegljive neposredno prek AltGr, dead_tilde,
+// dead_circumflex, dead_abovering in dead_grave pa prek Shift+AltGr.
+//
+// Revision 1.3 2000/01/31 10:29:06 peterlin
+// Dodal prej po nemarnem pozabljeni caron.
+//
+// Revision 1.2 2000/01/30 21:33:14 peterlin
+// Popravil neme znake na stevilcnih tipkah. Obesil "multiply" na Dstroke.
+//
+// $XFree86: xc/programs/xkbcomp/symbols/si,v 1.1 2000/02/08 15:46:35 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a Slovenian keybaord
+ // by Marko Samastur (markos@elite.org)
+
+ // Alphanumeric section
+ name[Group1]= "Slovene";
+ key <TLDE> { [ dead_cedilla, dead_diaeresis ] };
+ key <AE01> { [ 1, exclam ],
+ [ asciitilde, dead_tilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ dead_caron, caron ] };
+ key <AE03> { [ 3, numbersign ],
+ [ asciicircum, dead_circumflex ] };
+ key <AE04> { [ 4, dollar ],
+ [ dead_breve, breve ] };
+ key <AE05> { [ 5, percent ],
+ [ degree, dead_abovering ] };
+ key <AE06> { [ 6, ampersand ],
+ [ dead_ogonek, ogonek ] };
+ key <AE07> { [ 7, slash ],
+ [ quoteleft, dead_grave ] };
+ key <AE08> { [ 8, parenleft ],
+ [ dead_abovedot, abovedot ] };
+ key <AE09> { [ 9, parenright ],
+ [ dead_acute, quoteright ] };
+ key <AE10> { [ 0, equal ],
+ [ dead_doubleacute, doubleacute ] };
+ key <AE11> { [ apostrophe, question ],
+ [ dead_diaeresis, diaeresis ] };
+ key <AE12> { [ plus, asterisk ],
+ [ dead_cedilla, cedilla ] };
+
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD03> { [ e, E ],
+ [ EuroSign ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ z, Z ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD11> { [ scaron, Scaron ],
+ [ division ] };
+ key <AD12> { [ dstroke, Dstroke ],
+ [ multiply, dead_macron ] };
+ key <AC04> { [ f, F ],
+ [ bracketleft ] };
+ key <AC05> { [ g, G ],
+ [ bracketright ] };
+ key <AC08> { [ k, K ],
+ [ lstroke ] };
+ key <AC09> { [ l, L ],
+ [ Lstroke ] };
+ key <AC10> { [ ccaron, Ccaron ] };
+ key <AC11> { [ cacute, Cacute ],
+ [ ssharp ] };
+
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+ key <AB01> { [ y, Y ] };
+ key <AB04> { [ v, V ],
+ [ at ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB07> { [ m, M ],
+ [ section ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ],
+ [ periodcentered ] };
+ key <AB10> { [ minus, underscore ] };
+ key <BKSL> { [ zcaron, Zcaron ],
+ [ currency ] };
+ key <KPDL> { [ KP_Delete, KP_Separator ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/sk b/data/xkbdata/symbols/sk
new file mode 100644
index 000000000..bc0a18ade
--- /dev/null
+++ b/data/xkbdata/symbols/sk
@@ -0,0 +1,141 @@
+// $XFree86: xc/programs/xkbcomp/symbols/sk,v 1.2 2001/10/01 14:04:16 eich Exp $
+
+partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a Slovak keyboard
+ // This layout conforms to a new sk compromise standard designed
+ // to satisfy most unix, windows and mac users.
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ // Switching to US added by Jan Holesovsky <kendy@suse.cz>, 2001
+
+ include "us_group2(basic)"
+ include "group(shift_toggle)"
+
+ name[Group1] = "Slovak";
+
+ key.type = "FOUR_LEVEL";
+
+ key <TLDE> { [ semicolon, dead_abovering,
+ grave, asciitilde ] };
+ key <AE01> { [ plus, 1,
+ exclam, dead_tilde ] };
+ key <AE02> { [ lcaron, 2,
+ at, dead_caron ] };
+ key <AE03> { [ scaron, 3,
+ numbersign, dead_circumflex ] };
+ key <AE04> { [ ccaron, 4,
+ dollar, dead_breve ] };
+ key <AE05> { [ tcaron, 5,
+ percent, dead_abovering ] };
+ key <AE06> { [ zcaron, 6,
+ asciicircum, dead_ogonek ] };
+ key <AE07> { [ yacute, 7,
+ ampersand, dead_grave ] };
+ key <AE08> { [ aacute, 8,
+ asterisk, dead_abovedot ] };
+ key <AE09> { [ iacute, 9,
+ braceleft, dead_acute ] };
+ key <AE10> { [ eacute, 0,
+ braceright, dead_doubleacute ] };
+ key <AE11> { [ equal, percent,
+ NoSymbol, dead_diaeresis ] };
+ key <AE12> { [ dead_acute, dead_caron,
+ dead_macron, dead_cedilla ] };
+
+ key <AD01> { [ q, Q,
+ backslash, NoSymbol ] };
+ key <AD02> { [ w, W,
+ bar, Nosymbol ] };
+ key <AD03> { [ e, E,
+ EuroSign, NoSymbol ] };
+ key <AD04> { [ r, R,
+ NoSymbol, NoSymbol ] };
+ key <AD05> { [ t, T,
+ NoSymbol, NoSymbol ] };
+ key <AD06> { [ z, Z,
+ NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U,
+ NoSymbol, NoSymbol ] };
+ key <AD08> { [ i, I,
+ NoSymbol, NoSymbol ] };
+ key <AD09> { [ o, O,
+ NoSymbol, NoSymbol ] };
+ key <AD10> { [ p, P,
+ NoSymbol, NoSymbol ] };
+
+ key <AD11> { [ uacute, slash,
+ bracketleft, division ] };
+ key <AD12> { [ adiaeresis, parenleft,
+ bracketright, multiply ] };
+
+ key <AC01> { [ a, A,
+ asciitilde, NoSymbol ] };
+ key <AC02> { [ s, S,
+ dstroke, NoSymbol ] };
+ key <AC03> { [ d, D,
+ Dstroke, NoSymbol ] };
+ key <AC04> { [ f, F,
+ bracketleft, NoSymbol ] };
+ key <AC05> { [ g, G,
+ bracketright, NoSymbol ] };
+ key <AC06> { [ h, H,
+ grave, NoSymbol ] };
+ key <AC07> { [ j, J,
+ apostrophe, NoSymbol ] };
+ key <AC08> { [ k, K,
+ lstroke, NoSymbol ] };
+ key <AC09> { [ l, L,
+ Lstroke, NoSymbol ] };
+
+ key <AC10> { [ ocircumflex, quotedbl,
+ dollar, NoSymbol ] };
+ key <AC11> { [ section, exclam,
+ apostrophe, ssharp ] };
+ key <AC12> { [ EuroSign, dead_diaeresis,
+ NoSymbol, NoSymbol ] };
+ key <BKSL> { [ ncaron, parenright,
+ backslash, bar ] };
+
+ key <LSGT> { [ backslash, bar,
+ slash, NoSymbol ] };
+ key <AB01> { [ y, Y,
+ degree, NoSymbol ] };
+ key <AB02> { [ x, X,
+ numbersign, Nosymbol ] };
+ key <AB03> { [ c, C,
+ ampersand, NoSymbol ] };
+ key <AB04> { [ v, V,
+ at, NoSymbol ] };
+ key <AB05> { [ b, B,
+ braceleft, NoSymbol ] };
+ key <AB06> { [ n, N,
+ braceright, NoSymbol ] };
+ key <AB07> { [ m, M,
+ asciicircum, NoSymbol ] };
+ key <AB08> { [ comma, question,
+ less, NoSymbol ] };
+ key <AB09> { [ period, colon,
+ greater, NoSymbol ] };
+ key <AB10> { [ minus, underscore,
+ asterisk, NoSymbol ] };
+
+ key <SPCE> { [ space, space,
+ nobreakspace, nobreakspace ] };
+
+// KP_Separator should produce a comma as KP_Decimal produces a "."
+// independent of the locale selected.
+ key <KPDL> { type="FOUR_LEVEL_KEYPAD", [ KP_Delete, KP_Separator,
+ KP_Delete, KP_Decimal],
+ // hack a decimal dot into the second (US) group
+ // Martin Vidner <mvidner@suse.cz>
+ [ KP_Delete, KP_Decimal,
+ KP_Delete, KP_Separator] };
+
+ key <RALT> { type="TWO_LEVEL", [ ISO_Level3_Shift, ISO_Level3_Shift ] };
+ modifier_map Mod5 { <RALT> };
+
+};
+
diff --git a/data/xkbdata/symbols/sk_qwerty b/data/xkbdata/symbols/sk_qwerty
new file mode 100644
index 000000000..f46095f45
--- /dev/null
+++ b/data/xkbdata/symbols/sk_qwerty
@@ -0,0 +1,16 @@
+// $XFree86: xc/programs/xkbcomp/symbols/sk_qwerty,v 1.1 2001/05/18 23:35:35 dawes Exp $
+
+partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // This layout should work exactly as a sk with the exception
+ // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "sk(basic)"
+
+ key <AB01> { [ z, Z,
+ degree, NoSymbol ] };
+ key <AD06> { [ y, Y,
+ NoSymbol, NoSymbol ] };
+};
diff --git a/data/xkbdata/symbols/sony/Makefile.am b/data/xkbdata/symbols/sony/Makefile.am
new file mode 100644
index 000000000..8d92434fa
--- /dev/null
+++ b/data/xkbdata/symbols/sony/Makefile.am
@@ -0,0 +1,3 @@
+xkbdata_symbols_sonydir = $(datadir)/X11/xkb/symbols/sony
+dist_xkbdata_symbols_sony_DATA = \
+ us
diff --git a/data/xkbdata/symbols/sony/Makefile.in b/data/xkbdata/symbols/sony/Makefile.in
new file mode 100644
index 000000000..18258c6a7
--- /dev/null
+++ b/data/xkbdata/symbols/sony/Makefile.in
@@ -0,0 +1,258 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_sonydir = $(datadir)/X11/xkb/symbols/sony
+dist_xkbdata_symbols_sony_DATA = \
+ us
+
+subdir = symbols/sony
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_sony_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_sony_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/sony/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_sonyDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_sonyDATA: $(dist_xkbdata_symbols_sony_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_sonydir)
+ @list='$(dist_xkbdata_symbols_sony_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_sonyDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_sonydir)/$$f"; \
+ $(dist_xkbdata_symbols_sonyDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_sonydir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_sonyDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_sony_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_sonydir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_sonydir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_sonydir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_sonyDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_sonyDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_sonyDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_sonyDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/sony/us b/data/xkbdata/symbols/sony/us
new file mode 100644
index 000000000..76d41053c
--- /dev/null
+++ b/data/xkbdata/symbols/sony/us
@@ -0,0 +1,93 @@
+// $Xorg: us,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// US/ASCII layout for a nwp5461 keyboard
+xkb_symbols "nwp5461" {
+ include "us(basic)"
+
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RTSH> { [ Shift_R ] };
+ key <AB11> { [ NoSymbol ] };
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ key <HELP> { [ Help ] };
+ key <STOP> { [ Cancel ] };
+ key <CUT> { [ Select ] };
+ key <EXEC> { [ Execute ] };
+ key <DELE> { [ Delete ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <INS> { [ Insert ] };
+ key <CLR> { [ Clear ] };
+ // End "Function" section
+
+ // Begin "Keypad" section
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPSP> { [ KP_Separator ] };
+
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_0 ] };
+ key <KPDC> { [ KP_Decimal ] };
+ key <KPTB> { [ KP_Tab ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod3 { Alt_L };
+};
+
diff --git a/data/xkbdata/symbols/sr b/data/xkbdata/symbols/sr
new file mode 100644
index 000000000..327ebb476
--- /dev/null
+++ b/data/xkbdata/symbols/sr
@@ -0,0 +1,130 @@
+// Serbian standard keyboard, version 1.1
+
+// Authors of this keyboard map are Milos Rancic <millosh@galeb.etf.bg.ac.yu>
+// and Anton Zinoviev <anton@lml.bas.bg>.
+
+// $XFree86: xc/programs/xkbcomp/symbols/sr,v 1.1 2000/11/14 17:33:03 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US keyboard
+ // and a very simple Serbian keyboard.
+
+ // Note that the letter Serbian_dje is on the key with latin letter
+ // `Z' and in Cyrillic mode on the key with right bracket and brace
+ // you will find left and right bracket.
+
+ name[Group1]= "Latin";
+ name[Group2]= "Cyrillic";
+
+ key <TLDE> { [ quoteleft, asciitilde ],
+ [ quoteleft, asciitilde ] };
+ key <AE01> { [ 1, exclam ],
+ [ 1, exclam ] };
+ key <AE02> { [ 2, at ],
+ [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, dollar ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, ampersand ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, slash ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, parenleft ] };
+ key <AE09> { [ 9, parenleft ],
+ [ 9, parenright ] };
+ key <AE10> { [ 0, parenright ],
+ [ 0, equal ] };
+ key <AE11> { [ minus, underscore ],
+ [ apostrophe, question ] };
+ key <AE12> { [ equal, plus ],
+ [ plus, asterisk ] };
+
+ key <AD01> { [ q, Q ],
+ [ Cyrillic_lje, Cyrillic_LJE ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_nje, Cyrillic_NJE ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_u, Cyrillic_U ] };
+ key <AD08> { [ i, I ],
+ [ Cyrillic_i, Cyrillic_I ] };
+ key <AD09> { [ o, O ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AD10> { [ p, P ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ bracketleft, bracketright ] };
+
+ key <AC01> { [ a, A ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AC02> { [ s, S ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_je, Cyrillic_JE ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ semicolon, colon ],
+ [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AC11> { [ quoteright, quotedbl ],
+ [ Serbian_tshe, Serbian_TSHE ] };
+ key <BKSL> { [ backslash, bar ],
+ [ minus, underscore ] };
+
+ key <LSGT> { [ less, greater ],
+ [ less, greater ] };
+ key <AB01> { [ z, Z ],
+ [ Serbian_dje, Serbian_DJE ] };
+ key <AB02> { [ x, X ],
+ [ Cyrillic_dzhe, Cyrillic_DZHE ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB07> { [ m, M ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB08> { [ comma, less ],
+ [ comma, semicolon ] };
+ key <AB09> { [ period, greater ],
+ [ period, colon ] };
+ key <AB10> { [ slash, question ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ] };
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
diff --git a/data/xkbdata/symbols/srvr_ctrl b/data/xkbdata/symbols/srvr_ctrl
new file mode 100644
index 000000000..1c3161c28
--- /dev/null
+++ b/data/xkbdata/symbols/srvr_ctrl
@@ -0,0 +1,136 @@
+// $XdotOrg: xc/programs/xkbcomp/symbols/srvr_ctrl,v 1.4 2003/12/18 14:14:38 pascal Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/srvr_ctrl,v 1.3 2003/09/08 13:12:37 pascal Exp $
+//
+// Actions which control the server's behavior
+
+partial keypad_keys function_keys
+xkb_symbols "xfree86" {
+ include "srvr_ctrl(stdkeypad)"
+ include "srvr_ctrl(fkey2vt)"
+};
+
+partial keypad_keys
+xkb_symbols "stdkeypad" {
+
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ BackSpace, Terminate_Server ]
+ };
+
+// Ungrab cancels server/keyboard/pointer grabs
+ key <KPDV> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Divide, XF86_Ungrab ]
+ };
+
+// ClsGrb kills whichever client has a grab in effect
+ key <KPMU> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Multiply, XF86_ClearGrab ]
+ };
+
+// -VMode switches to the previous video mode
+ key <KPSU> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Subtract, XF86_Prev_VMode ]
+ };
+
+// +VMode switches to the next video mode
+ key <KPAD> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ KP_Add, XF86_Next_VMode]
+ };
+
+};
+
+partial function_keys
+xkb_symbols "fkey2vt" {
+
+ key <FK01> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F1, XF86_Switch_VT_1 ]
+ };
+
+ key <FK02> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F2, XF86_Switch_VT_2 ]
+ };
+
+ key <FK03> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F3, XF86_Switch_VT_3 ]
+ };
+
+ key <FK04> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F4, XF86_Switch_VT_4 ]
+ };
+
+ key <FK05> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F5, XF86_Switch_VT_5 ]
+ };
+
+ key <FK06> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F6, XF86_Switch_VT_6 ]
+ };
+
+ key <FK07> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F7, XF86_Switch_VT_7 ]
+ };
+
+ key <FK08> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F8, XF86_Switch_VT_8 ]
+ };
+
+ key <FK09> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F9, XF86_Switch_VT_9 ]
+ };
+
+ key <FK10> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F10, XF86_Switch_VT_10 ]
+ };
+
+ key <FK11> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F11, XF86_Switch_VT_11 ]
+ };
+
+ key <FK12> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ F12, XF86_Switch_VT_12 ]
+ };
+
+};
+
+partial function_keys keypad_keys
+xkb_symbols "no_srvr_keys" {
+
+ key.type="TWO_LEVEL";
+
+ key <FK01> { [ F1, F1 ] };
+ key <FK02> { [ F2, F2 ] };
+ key <FK03> { [ F3, F3 ] };
+ key <FK04> { [ F4, F4 ] };
+ key <FK05> { [ F5, F5 ] };
+ key <FK06> { [ F6, F6 ] };
+ key <FK07> { [ F7, F7 ] };
+ key <FK08> { [ F8, F8 ] };
+ key <FK09> { [ F9, F9 ] };
+ key <FK10> { [ F10, F10 ] };
+ key <FK11> { [ F11, F11 ] };
+ key <FK12> { [ F12, F12 ] };
+
+ key <BKSP> { [ BackSpace, BackSpace ] };
+
+ key <KPDV> { [ KP_Divide, KP_Divide ] };
+ key <KPMU> { [ KP_Multiply, KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract, KP_Subtract ] };
+ key <KPAD> { [ KP_Add, KP_Add ] };
+};
+
diff --git a/data/xkbdata/symbols/sun/Makefile.am b/data/xkbdata/symbols/sun/Makefile.am
new file mode 100644
index 000000000..026fce66c
--- /dev/null
+++ b/data/xkbdata/symbols/sun/Makefile.am
@@ -0,0 +1,5 @@
+xkbdata_symbols_sundir = $(datadir)/X11/xkb/symbols/sun
+dist_xkbdata_symbols_sun_DATA = \
+ se \
+ us \
+ usb
diff --git a/data/xkbdata/symbols/sun/Makefile.in b/data/xkbdata/symbols/sun/Makefile.in
new file mode 100644
index 000000000..930255c01
--- /dev/null
+++ b/data/xkbdata/symbols/sun/Makefile.in
@@ -0,0 +1,260 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_sundir = $(datadir)/X11/xkb/symbols/sun
+dist_xkbdata_symbols_sun_DATA = \
+ se \
+ us \
+ usb
+
+subdir = symbols/sun
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_sun_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_sun_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/sun/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_sunDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_sunDATA: $(dist_xkbdata_symbols_sun_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_sundir)
+ @list='$(dist_xkbdata_symbols_sun_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_sunDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_sundir)/$$f"; \
+ $(dist_xkbdata_symbols_sunDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_sundir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_sunDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_sun_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_sundir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_sundir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_sundir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_sunDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_sunDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_sunDATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_sunDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/sun/se b/data/xkbdata/symbols/sun/se
new file mode 100644
index 000000000..40e8a8753
--- /dev/null
+++ b/data/xkbdata/symbols/sun/se
@@ -0,0 +1,193 @@
+// $XFree86: xc/programs/xkbcomp/symbols/sun/se,v 1.2 1998/12/20 09:40:28 dawes Exp $
+//
+// Swedish layout for a Type 5/5c Sun keyboard
+xkb_symbols "sun5" {
+ include "en_US(basic)+se(basic)"
+
+ // Begin alphanumeric section
+ // These two are not supposed to be dead.
+ // A few others supposedly ARE dead, but don't care for now.
+ key <AC12> { [ apostrophe, asterisk ], [ grave ] };
+ key <AD12> { [ ], [ asciitilde ] };
+
+ key <RTSH> { [ Shift_R ] };
+
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ], [ SunF36] };
+ key <FK12> { [ F12 ], [ SunF37] };
+ key <STOP> { [ Cancel ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ SunCopy ], [ F16 ] };
+ key <OPEN> { [ SunOpen ], [ F17 ] };
+ key <PAST> { [ SunPaste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ SunCut ], [ F20 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ Print ], [ Sys_Req, SunSys_Req ] };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> { [ Pause ], [ Break ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+
+ key <DELE> { [ Delete ] };
+ key <INS> { [ Insert ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <HOME> { [ Home ] };
+ key <END> { [ End ] };
+ key <HELP> { [ Help ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <NMLK> { [ Num_Lock ] };
+ key <KPDV> { [ KP_Divide ], [ F25 ] };
+ key <KPMU> { [ KP_Multiply ], [ F26 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ], [ F27 ] };
+ key <KP8> { [ KP_Up, KP_8 ], [ F28 ] };
+ key <KP9> { [ KP_Prior, KP_9 ], [ F29 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ], [ F30 ] };
+ key <KP5> { [ KP_Begin, KP_5 ], [ F31 ] };
+ key <KP6> { [ KP_Right, KP_6 ], [ F32 ] };
+
+ key <KP1> { [ KP_End, KP_1 ], [ F33 ] };
+ key <KP2> { [ KP_Down, KP_2 ], [ F34 ] };
+ key <KP3> { [ KP_Next, KP_3 ], [ F35 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section,
+
+ // Begin "four keys up on the right"
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume,SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume,SunVideoRaiseBrightness ] };
+ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+ // End "four keys up on the right"
+
+ // Begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Alt_L };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Num_Lock };
+ // End modifier mappings
+};
+
+// Swedish layout for a Type 4 Sun keyboard
+xkb_symbols "sun4" {
+ include "en_US(basic)+se(basic)"
+
+ // Begin alphanumeric section
+ // These two are not supposed to be dead.
+ // A few others supposedly ARE dead, but don't care for now.
+ key <AC12> { [ apostrophe, asterisk ], [ grave ] };
+ key <AD12> { [ ], [ asciitilde ] };
+
+ key <AF14> { [ asciitilde, asciicircum ] };
+
+ key <RTSH> { [ Shift_R ] };
+
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ], [ SunF36] };
+ key <FK12> { [ F12 ], [ SunF37] };
+ key <STOP> { [ Cancel ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ SunCopy ], [ F16 ] };
+ key <OPEN> { [ SunOpen ], [ F17 ] };
+ key <PAST> { [ SunPaste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ SunCut ], [ F20 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <LNFD> { [ Linefeed ] };
+ key <DELE> { [ Delete ] };
+ key <PRSC> { [ Print ], [ Sys_Req, SunSys_Req ] };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> { [ Pause ], [ Break ] };
+ key <HELP> { [ Help ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <NMLK> { [ Num_Lock ] };
+ key <KPEQ> { [ KP_Equal ] };
+ key <KPDV> { [ KP_Divide ], [ F25 ] };
+ key <KPMU> { [ KP_Multiply ], [ F26 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ], [ F27 ] };
+ key <KP8> { [ KP_Up, KP_8 ], [ F28 ] };
+ key <KP9> { [ KP_Prior, KP_9 ], [ F29 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ], [ F30 ] };
+ key <KP5> { [ KP_Begin, KP_5 ], [ F31 ] };
+ key <KP6> { [ KP_Right, KP_6 ], [ F32 ] };
+
+ key <KP1> { [ KP_End, KP_1 ], [ F33 ] };
+ key <KP2> { [ KP_Down, KP_2 ], [ F34 ] };
+ key <KP3> { [ KP_Next, KP_3 ], [ F35 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section,
+
+ // Begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Alt_L };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Meta_L };
+ modifier_map Mod5 { Meta_R };
+ // End modifier mappings
+};
diff --git a/data/xkbdata/symbols/sun/us b/data/xkbdata/symbols/sun/us
new file mode 100644
index 000000000..520e0216c
--- /dev/null
+++ b/data/xkbdata/symbols/sun/us
@@ -0,0 +1,338 @@
+// $Xorg: us,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
+//
+//Copyright 1996, 1998 The Open Group
+//
+//Permission to use, copy, modify, distribute, and sell this software and its
+//documentation for any purpose is hereby granted without fee, provided that
+//the above copyright notice appear in all copies and that both that
+//copyright notice and this permission notice appear in supporting
+//documentation.
+//
+//The above copyright notice and this permission notice shall be
+//included in all copies or substantial portions of the Software.
+//
+//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+//OTHER DEALINGS IN THE SOFTWARE.
+//
+//Except as contained in this notice, the name of The Open Group shall
+//not be used in advertising or otherwise to promote the sale, use or
+//other dealings in this Software without prior written authorization
+//from The Open Group.
+//
+// $XFree86: xc/programs/xkbcomp/symbols/sun/us,v 1.6 2001/12/14 20:02:05 dawes Exp $
+//
+// US/ASCII layout for a Type 4 Sun keyboard
+xkb_symbols "sun4" {
+ include "us(basic)"
+
+ // A few alphanumeric keys are different
+ key <TLDE> { [ grave, asciitilde ], [ acute ] };
+ key <AC11> { [ apostrophe, quotedbl ], [ acute ] };
+
+ key <RTSH> { [ Shift_R ] };
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <LNFD> { [ Linefeed ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ], [ SunF36] };
+ key <FK12> { [ F12 ], [ SunF37] };
+ key <STOP> { [ Cancel ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ SunCopy ], [ F16 ] };
+ key <OPEN> { [ SunOpen ], [ F17 ] };
+ key <PAST> { [ SunPaste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ SunCut ], [ F20 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ Print ],[ F21 ] };
+ key <SCLK> { [ Break, Scroll_Lock ],[ F22 ] };
+ key <PAUS> { [ Pause ],[ F23 ] };
+ key <DELE> { [ Delete ] };
+ key <HELP> { [ Help ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock ] };
+ key <KPEQ> { [ KP_Equal ], [ F24 ] };
+ key <KPDV> { [ KP_Divide ], [ F25 ] };
+ key <KPMU> { [ KP_Multiply ], [ F26 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ], [ F27 ] };
+ key <KP8> { [ KP_Up, KP_8 ], [ F28 ] };
+ key <KP9> { [ KP_Prior, KP_9 ], [ F29 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ], [ F30 ] };
+ key <KP5> { [ KP_Begin, KP_5 ], [ F31 ] };
+ key <KP6> { [ KP_Right, KP_6 ], [ F32 ] };
+
+ key <KP1> { [ KP_End, KP_1 ], [ F33 ] };
+ key <KP2> { [ KP_Down, KP_2 ], [ F34 ] };
+ key <KP3> { [ KP_Next, KP_3 ], [ F35 ] };
+ key <KPEN> { [ KP_Enter ] };
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Alt_L };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Num_Lock };
+ modifier_map Mod5 { F13, F18, F20 };
+};
+
+hidden partial function_keys xkb_symbols "broken_openlook_map" {
+ key <STOP> { [ F11 ], [ Cancel ] };
+ key <AGAI> { [ F12 ], [ Redo ] };
+ key <PROP> { [ F13 ], [ SunProps ] };
+ key <UNDO> { [ F14 ], [ Undo ] };
+ key <FRNT> { [ F15 ], [ SunFront ] };
+ key <COPY> { [ F16 ], [ SunCopy ] };
+ key <OPEN> { [ F17 ], [ SunOpen ] };
+ key <PAST> { [ F18 ], [ SunPaste ] };
+ key <FIND> { [ F19 ], [ Find ] };
+ key <CUT> { [ F20 ], [ SunCut ] };
+};
+
+// US/ASCII layout for a Type 4 Sun keyboard w/ broken OpenLook keymap
+xkb_symbols "sun4ol" {
+ override "sun/us(sun4)"
+ include "sun/us(broken_openlook_map)"
+};
+
+// US/ASCII layout for a Type 5 Sun keyboard
+xkb_symbols "sun5" {
+ augment "us(basic)"
+
+ // A alphanumeric keys are different
+ key <TLDE> { [ grave, asciitilde ], [ acute ] };
+ key <AC11> { [ apostrophe, quotedbl ], [ acute ] };
+
+ key <RTSH> { [ Shift_R ] };
+
+ key <LALT> { [ Alt_L ] };
+ key <ALGR> { [ Mode_switch ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ], [ SunF36] };
+ key <FK12> { [ F12 ], [ SunF37] };
+ key <STOP> { [ Cancel ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ SunCopy ], [ F16 ] };
+ key <OPEN> { [ SunOpen ], [ F17 ] };
+ key <PAST> { [ SunPaste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ SunCut ], [ F20 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> { [ Print ], [ Sys_Req, SunSys_Req ] };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> { [ Pause ], [ Break ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <UP> { [ Up ] };
+ key <DOWN> { [ Down ] };
+
+ key <DELE> { [ Delete ] };
+ key <INS> { [ Insert ] };
+ key <PGUP> { [ Prior ] };
+ key <PGDN> { [ Next ] };
+ key <HOME> { [ Home ] };
+ key <END> { [ End ] };
+ key <HELP> { [ Help ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock ] };
+ key <KPDV> { [ KP_Divide ], [ F25 ] };
+ key <KPMU> { [ KP_Multiply ], [ F26 ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ], [ F27 ] };
+ key <KP8> { [ KP_Up, KP_8 ], [ F28 ] };
+ key <KP9> { [ KP_Prior, KP_9 ], [ F29 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ], [ F30 ] };
+ key <KP5> { [ KP_Begin, KP_5 ], [ F31 ] };
+ key <KP6> { [ KP_Right, KP_6 ], [ F32 ] };
+
+ key <KP1> { [ KP_End, KP_1 ], [ F33 ] };
+ key <KP2> { [ KP_Down, KP_2 ], [ F34 ] };
+ key <KP3> { [ KP_Next, KP_3 ], [ F35 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section,
+ // begin "four keys up on the right"
+
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume,SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume,SunVideoRaiseBrightness ] };
+ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Alt_L };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Meta_L, Meta_R};
+ modifier_map Mod5 { Scroll_Lock };
+};
+
+// US/ASCII layout for a Type 5 Sun keyboard w/ broken OpenLook keymap
+xkb_symbols "sun5ol" {
+ override "sun/us(sun5)"
+ include "sun/us(broken_openlook_map)"
+};
+
+// US/ASCII layout for a Type 6 Sun keyboard
+xkb_symbols "sun6" {
+ augment "us(basic)"
+
+ key <RTSH> { [ Shift_R ] };
+ key <LALT> { [ Alt_L ] };
+ key <RCTL> { [ Control_R ] };
+ key <RALT> { [ Alt_R ] };
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Execute ]
+ };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_BREAK",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <INS> { [ Insert ] };
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_Begin, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section
+
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume,SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume,SunVideoRaiseBrightness ] };
+ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+
+ // from symbols/sun/us(type5)
+ key <STOP> { [ Cancel ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ SunCopy ], [ F16 ] };
+ key <OPEN> { [ SunOpen ], [ F17 ] };
+ key <PAST> { [ SunPaste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ SunCut ], [ F20 ] };
+ key <HELP> { [ Help ] };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Mod1 { Meta_L, Meta_R };
+ modifier_map Mod2 { Alt_L };
+ modifier_map Mod3 { Mode_switch };
+ modifier_map Mod4 { Num_Lock };
+};
+
+// US/ASCII layout for a Type 6 Sun keyboard w/ broken OpenLook keymap
+xkb_symbols "sun6ol" {
+ override "sun/us(sun6)"
+ include "sun/us(broken_openlook_map)"
+};
diff --git a/data/xkbdata/symbols/sun/usb b/data/xkbdata/symbols/sun/usb
new file mode 100644
index 000000000..067c4af10
--- /dev/null
+++ b/data/xkbdata/symbols/sun/usb
@@ -0,0 +1,28 @@
+// $XFree86$
+//
+// Additional keys for Sun USB keyboard
+
+xkb_symbols "sun_usb" {
+
+ key <STOP> { [ Cancel ], [ F11 ] };
+ key <AGAI> { [ Redo ], [ F12 ] };
+ key <PROP> { [ SunProps ], [ F13 ] };
+ key <UNDO> { [ Undo ], [ F14 ] };
+ key <FRNT> { [ SunFront ], [ F15 ] };
+ key <COPY> { [ SunCopy ], [ F16 ] };
+ key <OPEN> { [ SunOpen ], [ F17 ] };
+ key <PAST> { [ SunPaste ], [ F18 ] };
+ key <FIND> { [ Find ], [ F19 ] };
+ key <CUT> { [ SunCut ], [ F20 ] };
+ key <HELP> { [ Help ] };
+
+ key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
+ key <VOL-> { [ SunAudioLowerVolume,SunVideoLowerBrightness ] };
+ key <VOL+> { [ SunAudioRaiseVolume,SunVideoRaiseBrightness ] };
+ key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
+
+ key <LMTA> { [ Meta_L ] };
+ key <RMTA> { [ Meta_R ] };
+ key <COMP> { [ Multi_key ] };
+};
+
diff --git a/data/xkbdata/symbols/syr b/data/xkbdata/symbols/syr
new file mode 100644
index 000000000..e99c4728f
--- /dev/null
+++ b/data/xkbdata/symbols/syr
@@ -0,0 +1,72 @@
+//
+// $XFree86: xc/programs/xkbcomp/symbols/syr,v 1.1 2002/11/22 03:06:50 dawes Exp $
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Syriac";
+
+ key <TLDE> { [ 0x100070F, 0x100032E, Arabic_shadda ] };
+ key <AE01> { [ 1, exclam, 0x1000701 ] };
+ key <AE02> { [ 2, 0x100030A, 0x1000702 ] };
+ key <AE03> { [ 3, 0x1000325, 0x1000703 ] };
+ key <AE04> { [ 4, 0x1000749, 0x1000704 ] };
+ key <AE05> { [ 5, 0x1002670, 0x1000705 ] };
+ key <AE06> { [ 6, 0x1002671, 0x1000708 ] };
+ key <AE07> { [ 7, 0x100070A, 0x1000709 ] };
+ key <AE08> { [ 8, 0x10000BB, 0x100070B ] };
+ key <AE09> { [ 9, parenright, 0x100070C ] };
+ key <AE10> { [ 0, parenleft, 0x100070D ] };
+ key <AE11> { [ minus, 0x10000AB, 0x100250C ] };
+ key <AE12> { [ equal, plus, 0x1002510 ] };
+
+ key <AD01> { [ 0x1000714, 0x1000730, Arabic_fatha ] };
+ key <AD02> { [ 0x1000728, 0x1000733, Arabic_fathatan ] };
+ key <AD03> { [ 0x1000716, 0x1000736, Arabic_damma ] };
+ key <AD04> { [ 0x1000729, 0x100073A, Arabic_dammatan ] };
+ key <AD05> { [ 0x1000726, 0x100073D, Arabic_madda_above ] };
+ key <AD06> { [ 0x100071C, 0x1000740, Arabic_hamza_above ] };
+ key <AD07> { [ 0x1000725, 0x1000741, 0x1000747 ] };
+ key <AD08> { [ 0x1000717, 0x1000308, 0x1000743 ] };
+ key <AD09> { [ 0x100071E, 0x1000304, 0x1000745 ] };
+ key <AD10> { [ 0x100071A, 0x1000307, 0x100032D ] };
+ key <AD11> { [ 0x1000713, 0x1000303 ] };
+ key <AD12> { [ 0x1000715, 0x100074A ] };
+ key <BKSL> { [ 0x1000706, colon ] };
+
+ key <AC01> { [ 0x100072B, 0x1000731, Arabic_kasra ] };
+ key <AC02> { [ 0x1000723, 0x1000734, Arabic_kasratan ] };
+ key <AC03> { [ 0x100071D, 0x1000737 ] };
+ key <AC04> { [ 0x1000712, 0x100073B, Arabic_hamza ] };
+ key <AC05> { [ 0x1000720, 0x100073E, Arabic_hamza_below ] };
+ key <AC06> { [ 0x1000710, 0x1000711, Arabic_superscript_alef ] };
+ key <AC07> { [ 0x100072C, Arabic_tatweel, 0x1000748 ] };
+ key <AC08> { [ 0x1000722, 0x1000324, 0x1000744 ] };
+ key <AC09> { [ 0x1000721, 0x1000331, 0x1000746 ] };
+ key <AC10> { [ 0x100071F, 0x1000323 ] };
+ key <AC11> { [ 0x100071B, 0x1000330 ] };
+
+ key <SPCE> { [ space, 0x100200c ] };
+ key <AB01> { [ bracketright, 0x1000732, Arabic_sukun ] };
+ key <AB02> { [ bracketleft, 0x1000735 ] };
+ key <AB03> { [ 0x1000724, 0x1000738, 0x100200D ] };
+ key <AB04> { [ 0x100072A, 0x100073C, 0x100200C ] };
+ key <AB05> { [ 0x1000727, 0x100073F, 0x100200E ] };
+ key <AB06> { [ 0x1000700, 0x1000739, 0x100200F ] };
+ key <AB07> { [ 0x100002E, 0x1000742 ] };
+ key <AB08> { [ 0x1000718, Arabic_comma ] };
+ key <AB09> { [ 0x1000719, Arabic_semicolon ] };
+ key <AB10> { [ 0x1000707, Arabic_question_mark ] };
+
+ // End Alphanumeric Section
+
+
+ // Begin Modifier Mappings
+
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Mode_switch };
+
+};
diff --git a/data/xkbdata/symbols/syr_phonetic b/data/xkbdata/symbols/syr_phonetic
new file mode 100644
index 000000000..21afc3592
--- /dev/null
+++ b/data/xkbdata/symbols/syr_phonetic
@@ -0,0 +1,72 @@
+//
+// $XFree86: xc/programs/xkbcomp/symbols/syr_phonetic,v 1.1 2002/11/22 03:06:50 dawes Exp $
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Syriac(phonetic)";
+
+ key <TLDE> { [ 0x100070F, 0x100032E, Arabic_shadda ] };
+ key <AE01> { [ 1, exclam, 0x1000701 ] };
+ key <AE02> { [ 2, 0x100030A, 0x1000702 ] };
+ key <AE03> { [ 3, 0x1000325, 0x1000703 ] };
+ key <AE04> { [ 4, 0x1000749, 0x1000704 ] };
+ key <AE05> { [ 5, 0x1002670, 0x1000705 ] };
+ key <AE06> { [ 6, 0x1002671, 0x1000708 ] };
+ key <AE07> { [ 7, 0x100070A, 0x1000709 ] };
+ key <AE08> { [ 8, 0x10000BB, 0x100070B ] };
+ key <AE09> { [ 9, parenright, 0x100070C ] };
+ key <AE10> { [ 0, parenleft, 0x100070D ] };
+ key <AE11> { [ minus, 0x10000AB, 0x100250C ] };
+ key <AE12> { [ equal, plus, 0x1002510 ] };
+
+ key <AD01> { [ 0x1000729, 0x1000730, Arabic_fatha ] };
+ key <AD02> { [ 0x1000718, 0x1000733, Arabic_fathatan ] };
+ key <AD03> { [ 0x1000716, 0x1000736, Arabic_damma ] };
+ key <AD04> { [ 0x100072A, 0x100073A, Arabic_dammatan ] };
+ key <AD05> { [ 0x100072C, 0x100073D, Arabic_madda_above ] };
+ key <AD06> { [ 0x100071D, 0x1000740, Arabic_hamza_above ] };
+ key <AD07> { [ 0x100071C, 0x1000741, 0x1000747 ] };
+ key <AD08> { [ 0x1000725, 0x1000308, 0x1000743 ] };
+ key <AD09> { [ 0x1000727, 0x1000304, 0x1000745 ] };
+ key <AD10> { [ 0x1000726, 0x1000307, 0x100032D ] };
+ key <AD11> { [ bracketright, 0x1000303 ] };
+ key <AD12> { [ bracketleft, 0x100074A ] };
+ key <BKSL> { [ 0x1000706, colon ] };
+
+ key <AC01> { [ 0x1000710, 0x1000731, Arabic_kasra ] };
+ key <AC02> { [ 0x1000723, 0x1000734, Arabic_kasratan ] };
+ key <AC03> { [ 0x1000715, 0x1000737 ] };
+ key <AC04> { [ 0x1000714, 0x100073B, Arabic_hamza ] };
+ key <AC05> { [ 0x1000713, 0x100073E, Arabic_hamza_below ] };
+ key <AC06> { [ 0x1000717, 0x1000711, Arabic_superscript_alef ] };
+ key <AC07> { [ 0x100071B, Arabic_tatweel, 0x1000748 ] };
+ key <AC08> { [ 0x100071F, 0x1000324, 0x1000744 ] };
+ key <AC09> { [ 0x1000720, 0x1000331, 0x1000746 ] };
+ key <AC10> { [ 0x100071A, 0x1000323 ] };
+ key <AC11> { [ 0x100071E, 0x1000330 ] };
+
+ key <SPCE> { [ space, 0x100200c ] };
+ key <AB01> { [ 0x1000719, 0x1000732, Arabic_sukun ] };
+ key <AB02> { [ 0x1000728, 0x1000735 ] };
+ key <AB03> { [ 0x1000724, 0x1000738, 0x100200D ] };
+ key <AB04> { [ 0x100072B, 0x100073C, 0x100200C ] };
+ key <AB05> { [ 0x1000712, 0x100073F, 0x100200E ] };
+ key <AB06> { [ 0x1000722, 0x1000739, 0x100200F ] };
+ key <AB07> { [ 0x1000721, 0x1000742 ] };
+ key <AB08> { [ 0x1000700, Arabic_comma ] };
+ key <AB09> { [ 0x100002E, Arabic_semicolon ] };
+ key <AB10> { [ 0x1000707, Arabic_question_mark ] };
+
+ // End Alphanumeric Section
+
+
+ // Begin Modifier Mappings
+
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L, Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Mode_switch };
+
+};
diff --git a/data/xkbdata/symbols/tel b/data/xkbdata/symbols/tel
new file mode 100644
index 000000000..eef7f5e70
--- /dev/null
+++ b/data/xkbdata/symbols/tel
@@ -0,0 +1,74 @@
+// $XFree86$
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Inscript layout for Telugu using Unicode
+ // Author: G Karunakar <karunakar@freedomink.org>
+ // Date:
+ // See layout at http://www.indlinux.org/keymap/telugu.php
+
+ name[Group2]= "Telugu";
+
+ key <TLDE> { [], [ 0x01000c4a, 0x01000c12 ] };
+ key <AE01> { [], [ 0x01000c67, 0x01000c0d ] };
+ key <AE02> { [], [ 0x01000c68, 0x01000c45 ] };
+ key <AE03> { [], [ 0x01000c69, numbersign ] };
+ key <AE04> { [], [ 0x01000c6a, dollar ] };
+ key <AE05> { [], [ 0x01000c6b, percent ] };
+ key <AE06> { [], [ 0x01000c6c, asciicircum ] };
+ key <AE07> { [], [ 0x01000c6d, ampersand ] };
+ key <AE08> { [], [ 0x01000c6e, asterisk ] };
+ key <AE09> { [], [ 0x01000c6f, parenleft ] };
+ key <AE10> { [], [ 0x01000c66, parenright ] };
+ key <AE11> { [], [ 0x01000c03, underscore ] };
+ key <AE12> { [], [ 0x01000c43, 0x01000c0b ] };
+ key <BKSP> { [], [ BackSpace ] };
+
+ key <AD01> { [], [ 0x01000c4c, 0x01000c14 ] };
+ key <AD02> { [], [ 0x01000c48, 0x01000c10 ] };
+ key <AD03> { [], [ 0x01000c3e, 0x01000c06 ] };
+ key <AD04> { [], [ 0x01000c40, 0x01000c08 ] };
+ key <AD05> { [], [ 0x01000c42, 0x01000c0a ] };
+ key <AD06> { [], [ 0x01000c2c, 0x01000c2d ] };
+ key <AD07> { [], [ 0x01000c39, 0x01000c19 ] };
+ key <AD08> { [], [ 0x01000c17, 0x01000c18 ] };
+ key <AD09> { [], [ 0x01000c26, 0x01000c27 ] };
+ key <AD10> { [], [ 0x01000c1c, 0x01000c1d ] };
+ key <AD11> { [], [ 0x01000c21, 0x01000c22 ] };
+ key <AD12> { [], [ 0x01000c3c, 0x01000c1e ] };
+
+ key <AC01> { [], [ 0x01000c4b, 0x01000c13 ] };
+ key <AC02> { [], [ 0x01000c47, 0x01000c0f ] };
+ key <AC03> { [], [ 0x01000c4d, 0x01000c05 ] };
+ key <AC04> { [], [ 0x01000c3f, 0x01000c07 ] };
+ key <AC05> { [], [ 0x01000c41, 0x01000c09 ] };
+ key <AC06> { [], [ 0x01000c2a, 0x01000c2b ] };
+ key <AC07> { [], [ 0x01000c30, 0x01000c31 ] };
+ key <AC08> { [], [ 0x01000c15, 0x01000c16 ] };
+ key <AC09> { [], [ 0x01000c24, 0x01000c25 ] };
+ key <AC10> { [], [ 0x01000c1a, 0x01000c1b ] };
+ key <AC11> { [], [ 0x01000c1f, 0x01000c20 ] };
+
+ key <AB01> { [], [ 0x01000c46, 0x01000c0e ] };
+ key <AB02> { [], [ 0x01000c02, 0x01000c01 ] };
+ key <AB03> { [], [ 0x01000c2e, 0x01000c23 ] };
+ key <AB04> { [], [ 0x01000c28, 0x01000c29 ] };
+ key <AB05> { [], [ 0x01000c35, 0x01000c34 ] };
+ key <AB06> { [], [ 0x01000c32, 0x01000c33 ] };
+ key <AB07> { [], [ 0x01000c38, 0x01000c36 ] };
+ key <AB08> { [], [ comma , 0x01000c37 ] };
+ key <AB09> { [], [ period , 0x01000c64 ] };
+ key <AB10> { [], [ 0x01000c2f, 0x01000040 ] };
+ key <BKSL> { [], [ 0x01000c49, 0x01000c11 ] };
+
+ key <RALT> {
+ symbols[Group1] = [ Mode_switch , Multi_key ],
+ virtualMods = AltGr
+ };
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/th b/data/xkbdata/symbols/th
new file mode 100644
index 000000000..9fe455682
--- /dev/null
+++ b/data/xkbdata/symbols/th
@@ -0,0 +1,74 @@
+// $Xorg: th,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/th,v 3.4 2001/01/17 23:45:59 dawes Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Thai (Kedmanee)";
+ // The thai layout defines a second keyboard group and changes
+ // the behavior of a few modifier keys.
+
+ // converted to THai keysysms - Pablo Saratxaga <pablo@mandrakesoft.com>
+ key <TLDE> { [], [ underscore, percent ] };
+ key <AE01> { [], [ Thai_lakkhangyao, plus ] };
+ key <AE02> { [], [ slash, Thai_leknung ] };
+ key <AE03> { [], [ minus, Thai_leksong ] };
+ key <AE04> { [], [ Thai_phosamphao, Thai_leksam ] };
+ key <AE05> { [], [ Thai_thothung, Thai_leksi ] };
+ key <AE06> { [], [ Thai_sarau, Thai_sarauu ] };
+ key <AE07> { [], [ Thai_saraue, Thai_baht ] };
+ key <AE08> { [], [ Thai_khokhwai, Thai_lekha ] };
+ key <AE09> { [], [ Thai_totao, Thai_lekhok ] };
+ key <AE10> { [], [ Thai_chochan, Thai_lekchet ] };
+ key <AE11> { [], [ Thai_khokhai, Thai_lekpaet ] };
+ key <AE12> { [], [ Thai_chochang, Thai_lekkao ] };
+
+ key <AD01> { [], [ Thai_maiyamok, Thai_leksun ] };
+ key <AD02> { [], [ Thai_saraaimaimalai, quotedbl ] };
+ key <AD03> { [], [ Thai_saraam, Thai_dochada ] };
+ key <AD04> { [], [ Thai_phophan, Thai_thonangmontho ] };
+ key <AD05> { [], [ Thai_saraa, Thai_thothong ] };
+ key <AD06> { [], [ Thai_maihanakat, Thai_nikhahit ] };
+ key <AD07> { [], [ Thai_saraii, Thai_maitri ] };
+ key <AD08> { [], [ Thai_rorua, Thai_nonen ] };
+ key <AD09> { [], [ Thai_nonu, Thai_paiyannoi ] };
+ key <AD10> { [], [ Thai_yoyak, Thai_yoying ] };
+ key <AD11> { [], [ Thai_bobaimai, Thai_thothan ] };
+ key <AD12> { [], [ Thai_loling, comma ] };
+
+ key <AC01> { [], [ Thai_fofan, Thai_ru ] };
+ key <AC02> { [], [ Thai_hohip, Thai_khorakhang ] };
+ key <AC03> { [], [ Thai_kokai, Thai_topatak ] };
+ key <AC04> { [], [ Thai_dodek, Thai_sarao ] };
+ key <AC05> { [], [ Thai_sarae, Thai_chochoe ] };
+ key <AC06> { [], [ Thai_maitho, Thai_maitaikhu ] };
+ key <AC07> { [], [ Thai_maiek, Thai_maichattawa ] };
+ key <AC08> { [], [ Thai_saraaa, Thai_sorusi ] };
+ key <AC09> { [], [ Thai_sosua, Thai_sosala ] };
+ key <AC10> { [], [ Thai_wowaen, Thai_soso ] };
+ key <AC11> { [], [ Thai_ngongu, period ] };
+
+ key <AB01> { [], [ Thai_phophung, parenleft ] };
+ key <AB02> { [], [ Thai_popla, parenright ] };
+ key <AB03> { [], [ Thai_saraae, Thai_choching ] };
+ key <AB04> { [], [ Thai_oang, Thai_honokhuk ] };
+ key <AB05> { [], [ Thai_sarai, Thai_phinthu ] };
+ key <AB06> { [], [ Thai_sarauee, Thai_thanthakhat ] };
+ key <AB07> { [], [ Thai_thothahan, question ] };
+ key <AB08> { [], [ Thai_moma, Thai_thophuthao ] };
+ key <AB09> { [], [ Thai_saraaimaimuan, Thai_lochula ] };
+ key <AB10> { [], [ Thai_fofa, Thai_lu ] };
+
+ key <BKSL> { [], [ Thai_khokhuat, Thai_khokhon ] };
+ override key <LFSH> {
+ type="PC_SYSRQ",
+ [ Shift_L, ISO_First_Group ]
+ };
+ override key <RTSH> {
+ type="PC_SYSRQ",
+ [ Shift_R, ISO_Last_Group ]
+ };
+};
diff --git a/data/xkbdata/symbols/th_pat b/data/xkbdata/symbols/th_pat
new file mode 100644
index 000000000..243267fe6
--- /dev/null
+++ b/data/xkbdata/symbols/th_pat
@@ -0,0 +1,72 @@
+// $XFree86$
+//
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Thai (Pattachote)";
+ // The thai layout defines a second keyboard group and changes
+ // the behavior of a few modifier keys.
+
+ // converted to THai keysysms - Pablo Saratxaga pablo@mandrakesoft.com
+ // Pattachote modification by Visanu Euarchukiati -- visanu@inet.co.th
+ key <TLDE> { [], [ underscore, Thai_baht ] };
+ key <AE01> { [], [ equal, plus ] };
+ key <AE02> { [], [ Thai_leksong, quotedbl ] };
+ key <AE03> { [], [ Thai_leksam, slash ] };
+ key <AE04> { [], [ Thai_leksi, comma ] };
+ key <AE05> { [], [ Thai_lekha, question ] };
+ key <AE06> { [], [ Thai_sarauu, Thai_sarau ] };
+ key <AE07> { [], [ Thai_lekchet, underscore ] };
+ key <AE08> { [], [ Thai_lekpaet, period ] };
+ key <AE09> { [], [ Thai_lekkao, parenleft ] };
+ key <AE10> { [], [ Thai_leksun, parenright ] };
+ key <AE11> { [], [ Thai_leknung, minus ] };
+ key <AE12> { [], [ Thai_lekhok, percent ] };
+
+ key <AD01> { [], [ Thai_maitaikhu, Thai_maitri ] };
+ key <AD02> { [], [ Thai_totao, Thai_ru ] };
+ key <AD03> { [], [ Thai_yoyak, Thai_maiyamok ] };
+ key <AD04> { [], [ Thai_oang, Thai_yoying ] };
+ key <AD05> { [], [ Thai_rorua, Thai_sorusi ] };
+ key <AD06> { [], [ Thai_maiek, Thai_saraue ] };
+ key <AD07> { [], [ Thai_dodek, Thai_fofa ] };
+ key <AD08> { [], [ Thai_moma, Thai_soso ] };
+ key <AD09> { [], [ Thai_wowaen, Thai_thothung ] };
+ key <AD10> { [], [ Thai_saraae, Thai_thophuthao ] };
+ key <AD11> { [], [ Thai_saraaimaimuan, Thai_paiyannoi ] };
+ key <AD12> { [], [ Thai_chochoe, Thai_lu ] };
+
+ key <AC01> { [], [ Thai_maitho, Thai_maichattawa ] };
+ key <AC02> { [], [ Thai_thothahan, Thai_thothong ] };
+ key <AC03> { [], [ Thai_ngongu, Thai_saraam ] };
+ key <AC04> { [], [ Thai_kokai, Thai_nonen ] };
+ key <AC05> { [], [ Thai_maihanakat, Thai_thanthakhat ] };
+ key <AC06> { [], [ Thai_saraii, Thai_sarauee ] };
+ key <AC07> { [], [ Thai_saraaa, Thai_phophung ] };
+ key <AC08> { [], [ Thai_nonu, Thai_chochang ] };
+ key <AC09> { [], [ Thai_sarae, Thai_sarao ] };
+ key <AC10> { [], [ Thai_saraaimaimalai, Thai_khorakhang ] };
+ key <AC11> { [], [ Thai_khokhai, Thai_thonangmontho ] };
+
+ key <AB01> { [], [ Thai_bobaimai, Thai_dochada ] };
+ key <AB02> { [], [ Thai_popla, Thai_topatak ] };
+ key <AB03> { [], [ Thai_loling, Thai_thothan ] };
+ key <AB04> { [], [ Thai_hohip, Thai_phosamphao ] };
+ key <AB05> { [], [ Thai_sarai, Thai_phinthu ] };
+ key <AB06> { [], [ Thai_khokhwai, Thai_sosala ] };
+ key <AB07> { [], [ Thai_sosua, Thai_honokhuk ] };
+ key <AB08> { [], [ Thai_saraa, Thai_fofan ] };
+ key <AB09> { [], [ Thai_chochan, Thai_choching ] };
+ key <AB10> { [], [ Thai_phophan, Thai_lochula ] };
+
+ key <BKSL> { [], [ Thai_lakkhangyao, Thai_nikhahit ] };
+ override key <LFSH> {
+ type="PC_SYSRQ",
+ [ Shift_L, ISO_First_Group ]
+ };
+ override key <RTSH> {
+ type="PC_SYSRQ",
+ [ Shift_R, ISO_Last_Group ]
+ };
+};
+
+
diff --git a/data/xkbdata/symbols/th_tis b/data/xkbdata/symbols/th_tis
new file mode 100644
index 000000000..e89defdbf
--- /dev/null
+++ b/data/xkbdata/symbols/th_tis
@@ -0,0 +1,71 @@
+// $XFree86$
+//
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ name[Group2]= "Thai (TIS-820.2538)";
+ // The thai layout defines a second keyboard group and changes
+ // the behavior of a few modifier keys.
+
+ // converted to THai keysysms - Pablo Saratxaga <pablo@mandrakesoft.com>
+ // modified to TIS-820.2538 - Theppitak Karoonboonyanan <thep@linux.thai.net>
+ key <TLDE> { [], [ 0x1000e4f, 0x1000e5b ] };
+ key <AE01> { [], [ Thai_baht, Thai_lakkhangyao] };
+ key <AE02> { [], [ slash, Thai_leknung ] };
+ key <AE03> { [], [ minus, Thai_leksong ] };
+ key <AE04> { [], [ Thai_phosamphao, Thai_leksam ] };
+ key <AE05> { [], [ Thai_thothung, Thai_leksi ] };
+ key <AE06> { [], [ Thai_sarau, Thai_sarauu ] };
+ key <AE07> { [], [ Thai_saraue, 0x1000e4e ] };
+ key <AE08> { [], [ Thai_khokhwai, Thai_lekha ] };
+ key <AE09> { [], [ Thai_totao, Thai_lekhok ] };
+ key <AE10> { [], [ Thai_chochan, Thai_lekchet ] };
+ key <AE11> { [], [ Thai_khokhai, Thai_lekpaet ] };
+ key <AE12> { [], [ Thai_chochang, Thai_lekkao ] };
+
+ key <AD01> { [], [ Thai_maiyamok, Thai_leksun ] };
+ key <AD02> { [], [ Thai_saraaimaimalai, quotedbl ] };
+ key <AD03> { [], [ Thai_saraam, Thai_dochada ] };
+ key <AD04> { [], [ Thai_phophan, Thai_thonangmontho ] };
+ key <AD05> { [], [ Thai_saraa, Thai_thothong ] };
+ key <AD06> { [], [ Thai_maihanakat, Thai_nikhahit ] };
+ key <AD07> { [], [ Thai_saraii, Thai_maitri ] };
+ key <AD08> { [], [ Thai_rorua, Thai_nonen ] };
+ key <AD09> {type[Group1]="THREE_LEVEL",
+ [ Thai_nonu, Thai_paiyannoi, 0x1000e5a] };
+ key <AD10> { [], [ Thai_yoyak, Thai_yoying ] };
+ key <AD11> { [], [ Thai_bobaimai, Thai_thothan ] };
+ key <AD12> { [], [ Thai_loling, comma ] };
+
+ key <AC01> { [], [ Thai_fofan, Thai_ru ] };
+ key <AC02> { [], [ Thai_hohip, Thai_khorakhang ] };
+ key <AC03> { [], [ Thai_kokai, Thai_topatak ] };
+ key <AC04> { [], [ Thai_dodek, Thai_sarao ] };
+ key <AC05> { [], [ Thai_sarae, Thai_chochoe ] };
+ key <AC06> { [], [ Thai_maitho, Thai_maitaikhu ] };
+ key <AC07> { [], [ Thai_maiek, Thai_maichattawa ] };
+ key <AC08> { [], [ Thai_saraaa, Thai_sorusi ] };
+ key <AC09> { [], [ Thai_sosua, Thai_sosala ] };
+ key <AC10> { [], [ Thai_wowaen, Thai_soso ] };
+ key <AC11> { [], [ Thai_ngongu, period ] };
+
+ key <AB01> { [], [ Thai_phophung, parenleft ] };
+ key <AB02> { [], [ Thai_popla, parenright ] };
+ key <AB03> { [], [ Thai_saraae, Thai_choching ] };
+ key <AB04> { [], [ Thai_oang, Thai_honokhuk ] };
+ key <AB05> { [], [ Thai_sarai, Thai_phinthu ] };
+ key <AB06> { [], [ Thai_sarauee, Thai_thanthakhat ] };
+ key <AB07> { [], [ Thai_thothahan, question ] };
+ key <AB08> { [], [ Thai_moma, Thai_thophuthao ] };
+ key <AB09> { [], [ Thai_saraaimaimuan, Thai_lochula ] };
+ key <AB10> { [], [ Thai_fofa, Thai_lu ] };
+
+ key <BKSL> { [], [ Thai_khokhon, Thai_khokhuat ] };
+ override key <LFSH> {
+ type="PC_SYSRQ",
+ [ Shift_L, ISO_First_Group ]
+ };
+ override key <RTSH> {
+ type="PC_SYSRQ",
+ [ Shift_R, ISO_Last_Group ]
+ };
+};
diff --git a/data/xkbdata/symbols/tj b/data/xkbdata/symbols/tj
new file mode 100644
index 000000000..2545a99cc
--- /dev/null
+++ b/data/xkbdata/symbols/tj
@@ -0,0 +1,162 @@
+//
+// Tajik keyboard
+// it is a Russian layout keyboard, with SHCHA replaced with
+// dead_cedilla/dead_macron
+// that allows to type the SHCHA with dead_cedilla + SHA
+// and all the extra Tajik keys:
+// dead_cedilla + KA, HA --> KA descender, HA descender
+// dead_macron + I, U, GHE --> I macron, U macron, GHE horizontal stroke
+// it requires proper dead_cedilla and dead_macron entries in Compose file
+// it also allows to use Mode_switch when in cyrillic mode to enter
+// special letters by doing Mode_switch + base letter
+//
+// AEN <aen@logic.ru> (for the Russian layout)
+// Pablo Saratxaga <pablo@mandrakesoft> (for the dead keys changes)
+//
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Tajik keybaord
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Tajik";
+
+ key <TLDE> { [ grave, asciitilde ],
+ [ Cyrillic_io, Cyrillic_IO ] };
+ key <LSGT> { [ less, greater ],
+ [ bar, brokenbar ] };
+ key <AD01> { [ q, Q ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AE01> { [ 1, exclam ],
+ [ 1, exclam ] };
+ key <AB01> { [ z, Z ],
+ [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AC02> { [ s, S ],
+ [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <AC01> { [ a, A ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AE02> { [ 2, at ],
+ [ 2, quotedbl ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB02> { [ x, X ],
+ [ Cyrillic_che, Cyrillic_CHE ],
+ [ 0x010004b7, 0x010004b6 ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_u, Cyrillic_U ],
+ [ 0x010004ef, 0x010004ee ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, asterisk ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, apostrophe ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_ka, Cyrillic_KA ],
+ [ 0x0100049b, 0x0100049a ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, colon ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_i, Cyrillic_I ],
+ [ 0x010004e3, 0x010004e2 ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, comma ] };
+ key <AB07> { [ m, M ],
+ [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_ghe, Cyrillic_GHE ],
+ [ 0x01000493, 0x01000492 ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, period ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, semicolon ] };
+ key <AB08> { [ comma, less ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AD08> { [ i, I ],
+ [ Cyrillic_sha, Cyrillic_SHA ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA] };
+ key <AD09> { [ o, O ],
+ [ dead_cedilla, dead_macron ] };
+ key <AE10> { [ 0, parenright ],
+ [ 0, parenright ] };
+ key <AE09> { [ 9, parenleft ],
+ [ 9, parenleft ] };
+ key <AB09> { [ period, greater ],
+ [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB10> { [ slash, question ],
+ [ slash, question ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ semicolon, colon ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ],
+ [ 0x01000497, 0x01000496 ] };
+ key <AD10> { [ p, P ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AE11> { [ minus, underscore ],
+ [ minus, underscore ] };
+ key <AC11> { [ apostrophe, quotedbl ],
+ [ Cyrillic_e, Cyrillic_E ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ Cyrillic_ha, Cyrillic_HA ],
+ [ 0x010004b3, 0x010004b2 ] };
+ key <AE12> { [ equal, plus ],
+ [ equal, plus ] };
+ key <AD12> { [ bracketright, braceright ],
+ [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <BKSL> { [ backslash, bar ],
+ [ backslash, bar ] };
+
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "winkeys" {
+ include "ru(basic)"
+ key <AE04> { [ 4, dollar ],
+ [ 4, semicolon ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numbersign ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, colon ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, question ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, asterisk ] };
+ key <AB10> { [ slash, question ],
+ [ period, comma ] };
+ key <BKSL> { [ backslash, bar ],
+ [ slash, bar ] };
+};
+
diff --git a/data/xkbdata/symbols/tml b/data/xkbdata/symbols/tml
new file mode 100644
index 000000000..351c40cc1
--- /dev/null
+++ b/data/xkbdata/symbols/tml
@@ -0,0 +1,285 @@
+// $XConsortium: th /main/3 1996/08/31 12:20:18 kaleb $
+// $XFree86: xc/programs/xkbcomp/symbols/tml,v 1.1 2001/11/21 22:28:52 dawes Exp $
+
+default partial alphanumeric_keys
+xkb_symbols "TSCII" {
+
+// Description : A Tamil typewrite-style keymap
+// loosely based on TamilNet'99 reommendations
+// Encoding : TSCII (http://www.tscii.org)
+// Author : Thuraiappah Vaseeharan <vasee@ieee.org>
+// Last Modified: Sat Jan 5 17:11:26 CST 2002
+
+ name[Group2]= "TSCII";
+
+ key <AE01> { [], [ 0x10000b7, 0x10000a4 ] }; // aytham
+ key <AE02> { [], [ 0x1000082, 0x10000a5 ] }; // shri
+ key <AE03> { [], [ 0x1000083, 0x1000088 ] }; // ja
+ key <AE04> { [], [ 0x1000084, 0x1000089 ] }; // sha
+ key <AE05> { [], [ 0x1000085, 0x100008a ] }; // sa
+ key <AE06> { [], [ 0x1000086, 0x100008b ] }; // ha
+ key <AE07> { [], [ 0x1000087, 0x100008c ] }; // ksha
+
+ // Qrow
+ key <AD01> { [], [ 0x10000bb, 0x100009a ] }; // nja
+ key <AD02> { [], [ 0x10000c8, 0x10000da ] }; // Ra
+ key <AD03> { [], [ 0x10000bf, 0x10000d1 ] }; // NNa
+ key <AD04> { [], [ 0x10000ba, 0x10000cd ] }; // ca
+ key <AD05> { [], [ 0x10000c5, 0x10000d7 ] }; // va
+ key <AD06> { [], [ 0x10000c4, 0x10000d6 ] }; // la
+ key <AD07> { [], [ 0x10000c3, 0x10000d5 ] }; // ra
+ key <AD08> { [], [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
+ key <AD09> { [], [ 0x10000ca, 0x10000cb ] }; // di, dI
+ key <AD10> { [], [ 0x10000a2, 0x10000a3 ] }; // visiri
+ key <AD11> { [], [ dead_acute, 0x10000a3 ] }; // Ukaaram
+
+ // Arow
+ key <AC01> { [],[ 0x10000c2, 0x10000d4 ] }; // ya
+ key <AC02> { [],[ 0x10000c7, 0x10000d9 ] }; // La
+ key <AC03> { [],[ 0x10000c9, 0x10000db ] }; // na
+ key <AC04> { [],[ 0x10000b8, 0x10000cc ] }; // ka
+ key <AC05> { [],[ 0x10000c0, 0x10000d2 ] }; // pa
+ key <AC06> { [],[ dead_grave,0x10000a1 ] }; // pulli,aravu
+ key <AC07> { [],[ 0x10000be, 0x10000d0 ] }; // tha
+ key <AC08> { [],[ 0x10000c1, 0x10000d3 ] }; // ma
+ key <AC09> { [],[ 0x10000bc, 0x10000ce ] }; // da
+ key <AC10> { [],[ 0x10000c6, 0x10000d8 ] }; // zha
+ key <AC11> { [],[ 0x10000b9, 0x1000099 ] }; // nga
+
+ // Zrow
+ key <AB01> { [],[ 0x10000bd, 0x10000cf ] }; // Na
+ key <AB02> { [],[ 0x10000b4, 0x10000b5 ] }; // o, O
+ key <AB03> { [],[ 0x10000af, 0x10000b0 ] }; // u, U
+ key <AB04> { [],[ 0x10000b1, 0x10000b2 ] }; // e, E
+ key <AB05> { [],[ 0x10000a6, 0x10000a7 ] }; // kombus
+ key <AB06> { [],[ 0x10000b6, 0x10000aa ] }; // au
+ key <AB07> { [],[ 0x10000ab, 0x10000ac ] }; // a, A
+ key <AB08> { [],[ 0x10000fe, 0x10000ae ] }; // i, I
+
+ key <RALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+
+ key <LALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "TAB" {
+
+// Description: A keymap based on the TamilNet'99 typewriter keyboard
+// Encoding: TAB (http://www.tamilnet99.org)
+// Author: Thuraiappah Vaseeharan <t_vasee@yahoo.com>
+// Date : Sun Aug 12 02:23:00 CDT 2001
+
+ name[Group2]= "Tamil";
+
+ // numeral row
+ key <AE01> { [], [ 0x10000e7, 0x10000a7 ] } ;
+ key <AE02> { [], [ 0x10000fa, 0x10000a8 ] } ;
+ key <AE03> { [], [ 0x10000fb ] } ;
+ key <AE04> { [], [ 0x10000fc ] } ;
+ key <AE05> { [], [ 0x10000fd ] } ;
+ key <AE06> { [], [ 0x10000fe ] } ;
+ key <AE07> { [], [ 0x10000ff ] } ;
+
+ // q-row
+ key <AD01> { [], [ 0x10000eb, 0x10000b3 ] };
+ key <AD02> { [], [ 0x10000f8, 0x10000c1 ] };
+ key <AD03> { [], [ 0x10000ef, 0x10000b8 ] };
+ key <AD04> { [], [ 0x10000ea, 0x10000b2 ] };
+ key <AD05> { [], [ 0x10000f5, 0x10000be ] };
+ key <AD06> { [], [ 0x10000f4, 0x10000bd ] };
+ key <AD07> { [], [ 0x10000f3, 0x10000bc ] };
+ key <AD08> { [], [ 0x10000ac, 0x10000e4 ] };
+ key <AD09> { [], [ 0x10000ae, 0x10000af ] };
+ key <AD10> { [], [ 0x10000a4, 0x10000a6 ] };
+ key <AD11> { [], [ dead_circumflex, 0x10000a6 ] }; // Ukaaram
+
+ // a-row
+ key <AC01> { [], [ 0x10000f2, 0x10000bb ] };
+ key <AC02> { [], [ 0x10000f7, 0x10000c0 ] };
+ key <AC03> { [], [ 0x10000f9, 0x10000c2 ] };
+ key <AC04> { [], [ 0x10000e8, 0x10000b0 ] };
+ key <AC05> { [], [ 0x10000f0, 0x10000b9 ] };
+ key <AC06> { [], [ 0x10000a2, 0x10000a3 ] };
+ key <AC07> { [], [ 0x10000ee, 0x10000b6 ] };
+ key <AC08> { [], [ 0x10000f1, 0x10000ba ] };
+ key <AC09> { [], [ 0x10000ec, 0x10000b4 ] };
+ key <AC10> { [], [ 0x10000f6, 0x10000bf ] };
+ key <AC11> { [], [ 0x10000e9, 0x10000b1 ] };
+
+ // z-row
+ key <AB01> { [], [ 0x10000ed, 0x10000b5 ] };
+ key <AB02> { [], [ 0x10000e5, 0x10000e6 ] };
+ key <AB03> { [], [ 0x10000e0, 0x10000e1 ] };
+ key <AB04> { [], [ 0x10000e2, 0x10000e3 ] };
+ key <AB05> { [], [ 0x10000aa, 0x10000ab ] };
+ key <AB06> { [], [ 0x10000ac, 0x10000a3 ] };
+ key <AB07> { [], [ 0x10000dc, 0x10000dd ] };
+ key <AB08> { [], [ 0x10000de, 0x10000df ] };
+
+ key <RALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+
+ key <LALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "UNI" {
+
+// Description: A keymap based on the TamilNet'99 typewriter keyboard
+// Encoding: Unicode (http://www.unicode.org)
+// Author: Thuraiappah Vaseeharan <vasee@ieee.org>
+// Date : Sat Feb 9 21:10:48 CST 2002
+// Mapping:
+
+ name[Group2]= "Tamil";
+
+ // granthas
+ key <AE01> { [], [ 0x1000b83 ] } ;
+ key <AE03> { [], [ 0x1000b9c ] } ;
+ key <AE04> { [], [ 0x1000bb7 ] } ;
+ key <AE05> { [], [ 0x1000bb8 ] } ;
+ key <AE06> { [], [ 0x1000bb9 ] } ;
+
+ // Qrow
+ key <AD01> { [], [ 0x1000b9e ] };
+ key <AD02> { [], [ 0x1000bb1 ] };
+ key <AD03> { [], [ 0x1000ba8 ] };
+ key <AD04> { [], [ 0x1000b9a ] };
+ key <AD05> { [], [ 0x1000bb5 ] };
+ key <AD06> { [], [ 0x1000bb2 ] };
+ key <AD07> { [], [ 0x1000bb0 ] };
+ key <AD08> { [], [ 0x1000bc8, 0x1000b90 ] };
+ key <AD09> { [], [ 0x1000bca, 0x1000bcb ] };
+ key <AD10> { [], [ 0x1000bbf, 0x1000bc0 ] };
+ key <AD11> { [], [ 0x1000bc1, 0x1000bc2 ] };
+
+
+ // Arow
+ key <AC01> { [],[ 0x1000baf ] };
+ key <AC02> { [],[ 0x1000bb3 ] };
+ key <AC03> { [],[ 0x1000ba9 ] };
+ key <AC04> { [],[ 0x1000b95 ] };
+ key <AC05> { [],[ 0x1000baa ] };
+ key <AC06> { [],[ 0x1000bbe, 0x1000bb4 ] };
+ key <AC07> { [],[ 0x1000ba4 ] };
+ key <AC08> { [],[ 0x1000bae ] };
+ key <AC09> { [],[ 0x1000b9f ] };
+ key <AC10> { [],[ 0x1000bcd ] };
+ key <AC11> { [],[ 0x1000b99 ] };
+
+ // Zrow
+ key <AB01> { [],[ 0x1000ba3 ] };
+ key <AB02> { [],[ 0x1000b92, 0x1000b93 ] };
+ key <AB03> { [],[ 0x1000b89, 0x1000b8a ] };
+ key <AB04> { [],[ 0x1000b8e, 0x1000b8f ] };
+ key <AB05> { [],[ 0x1000bc6, 0x1000bc7 ] };
+ key <AB06> { [],[ 0x1000b94, 0x1000bcc ] };
+ key <AB07> { [],[ 0x1000b85, 0x1000b86 ] };
+ key <AB08> { [],[ 0x1000b87, 0x1000b88 ] };
+
+ key <RALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+
+ key <LALT> {
+ symbols[Group1]= [ Mode_switch, Multi_key ],
+ virtualMods= AltGr
+ };
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "INSCRIPT" {
+
+ name[Group2]= "Tamil";
+ key <TLDE> { [], [ 0x1000BCA, 0x1000B92 ] };
+
+ // Mainly numbers.
+ key <AE01> { [], [ 0x1000BE7 ] };
+ key <AE02> { [], [ 0x1000BE8 ] };
+ key <AE03> { [], [ 0x1000BE9 ] };
+ key <AE04> { [], [ 0x1000BEA ] };
+ key <AE05> { [], [ 0x1000BEB ] };
+ key <AE06> { [], [ 0x1000BEC ] };
+ key <AE07> { [], [ 0x1000BED ] };
+ key <AE08> { [], [ 0x1000BEE ] };
+ key <AE09> { [], [ 0x1000BEF, parenleft ] };
+ key <AE10> { [], [ 0x1000BF0, parenright] };
+ key <AE11> { [], [ 0x1000BF1, 0x1000B83 ] };
+ key <AE12> { [], [ 0x1000BF2, plus] };
+
+// Mainly long vowels
+
+ key <AD01> { [], [ 0x1000BCC, 0x1000B94 ] };
+ key <AD02> { [], [ 0x1000BC8, 0x1000B90 ] };
+ key <AD03> { [], [ 0x1000BBE, 0x1000B86 ] };
+ key <AD04> { [], [ 0x1000BC0, 0x1000B88 ] };
+ key <AD05> { [], [ 0x1000BC2, 0x1000B8A ] };
+
+// Mainly voiced consonants
+
+ key <AD06> { [], [ ] };
+ key <AD07> { [], [ 0x1000BB9, 0x1000B99 ] };
+ key <AD08> { [], [ ] };
+ key <AD09> { [], [ ] };
+ key <AD10> { [], [ ] };
+ key <AD11> { [], [ ] };
+ key <AD12> { [], [ 0x1000BBC, 0x1000B9E ] };
+
+// Mainly short vowels
+ key <AC01> { [], [ 0x1000BCB, 0x1000B93 ] };
+ key <AC02> { [], [ 0x1000BC7, 0x1000B8F ] };
+ key <AC03> { [], [ 0x1000BCD, 0x1000B85 ] };
+ key <AC04> { [], [ 0x1000BBF, 0x1000B87 ] };
+ key <AC05> { [], [ 0x1000BC1, 0x1000B89 ] };
+
+// Mainly unvoiced consonants
+
+ key <AC06> { [], [ 0x1000BAA ] };
+ key <AC07> { [], [ 0x1000BB0, 0x1000BB1 ] };
+ key <AC08> { [], [ 0x1000B95 ] };
+ key <AC09> { [], [ 0x1000BA4 ] };
+ key <AC10> { [], [ 0x1000B9A ] };
+ key <AC11> { [], [ 0x1000B9F ] };
+ key <BKSL> { [], [ backslash, bar ] };
+
+ key <AB01> { [], [ 0x1000BC6, 0x1000B8E ] };
+ key <AB02> { [], [ 0x1000B82 ] };
+ key <AB03> { [], [ 0x1000BAE, 0x1000BA3 ] };
+ key <AB04> { [], [ 0x1000BA8, 0x1000BA9 ] };
+ key <AB05> { [], [ 0x1000BB5, 0x1000BB4 ] };
+ key <AB06> { [], [ 0x1000BB2, 0x1000BB3 ] };
+ key <AB07> { [], [ 0x1000BB8 ] };
+ key <AB08> { [], [ comma, 0x1000BB7 ] };
+ key <AB09> { [], [ period, 0x1000964 ] };
+ key <AB10> { [], [ 0x1000BAF, question ] };
+};
diff --git a/data/xkbdata/symbols/tr b/data/xkbdata/symbols/tr
new file mode 100644
index 000000000..dd5bb7fc0
--- /dev/null
+++ b/data/xkbdata/symbols/tr
@@ -0,0 +1,65 @@
+// $XFree86: xc/programs/xkbcomp/symbols/tr,v 1.1 2000/12/06 20:18:08 eich Exp $
+// Converted keytable file to xkb/symbols/ file
+// with mk_xkb by root@linux.chanae.stben.be Tue Sep 30 01:21:59 MET DST 1997
+
+// turkish "Q" keyboard, copyed from LyX turkish keyboard description
+// as the names of some chars in iso-8859-9 are not consistent whith
+// the rest of latin iso-8859-* I declare them in hexa (ugly, but what else?)
+//
+// Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Turkish "Q" (computer modern) keybaord
+
+ // Alphanumeric section
+ name[Group1]= "Turkish \"Q\" (computer modern)";
+
+ key <AE02> { [ 2, apostrophe ],
+ [ at ] };
+ key <AE03> { [ 3, dead_circumflex ],
+ [ numbersign ] };
+ key <AE04> { [ 4, plus ],
+ [ dollar ] };
+ key <AE06> { [ 6, ampersand ],
+ [ asciicircum ] };
+ key <AE07> { [ 7, slash ],
+ [ braceleft ] };
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ bracketright ] };
+ key <AE10> { [ 0, equal ],
+ [ braceright ] };
+ key <AE11> { [ asterisk, question ],
+ [ backslash ] };
+ key <AE12> { [ minus, underscore ] };
+ key <AD08> { [ idotless, I ] };
+ key <AD11> { [ gbreve, Gbreve ] };
+ key <AD12> { [ udiaeresis, Udiaeresis ],
+ [ asciitilde ] };
+ key <AC10> { [ scedilla, Scedilla ] };
+ key <AC11> { [ i, Iabovedot ] };
+ key <TLDE> { [ backslash, quotedbl ],
+ [ asciitilde ] };
+ key <BKSL> { [ comma, semicolon ],
+ [ bar ] };
+ key <AB08> { [ odiaeresis, Odiaeresis ],
+ [ less ] };
+ key <AB09> { [ ccedilla, Ccedilla ],
+ [ greater ] };
+ key <AB10> { [ period, colon ] };
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/tr_f b/data/xkbdata/symbols/tr_f
new file mode 100644
index 000000000..2296f1b7b
--- /dev/null
+++ b/data/xkbdata/symbols/tr_f
@@ -0,0 +1,134 @@
+// Converted keytable file to xkb/symbols/ file
+// with mk_xkb by root@linux.chanae.stben.be Tue Sep 30 01:29:39 MET DST 1997
+
+// turkish "F" keyboard, copyed from LyX turkish keyboard description
+// right Ctrl key switches to an almost US keyboard (number row is mangled
+// us keyboard mode, this to allow simple access by AltGr while in turkish
+// mode to all needed symbols)
+// as the names of some chars in iso-8859-9 are not consistent whith
+// the rest of latin iso-8859-* I declare them in hexa (ugly, but what else?)
+//
+// Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+// FIXME: I'm not sure about the ISO_* stuff, the original *.map uses
+// AltGr_Lock as modifier.
+
+partial alphanumeric_keys
+xkb_symbols "toggle" {
+ include "tr_f(basic)"
+ key <RCTL> { [ ISO_Next_Group, Caps_Lock ] };
+};
+partial alphanumeric_keys
+xkb_symbols "shift_toggle" {
+ include "tr_f(basic)"
+ key <LFSH> { [ Shift_L, ISO_Prev_Group ] };
+ key <RTSH> { [ Shift_R, ISO_Next_Group ] };
+};
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Turkish "F" (traditional) keyboard
+
+ // Alphanumeric section
+ name[Group1]= "Turkish \"F\" (traditional)";
+ name[Group2]= "US/ASCII";
+
+ key <AE02> { [ 2, apostrophe ],
+ [ at ] };
+ key <AE03> { [ 3, dead_circumflex ],
+ [ numbersign ] };
+ key <AE04> { [ 4, plus ],
+ [ dollar ] };
+ key <AE06> { [ 6, ampersand ],
+ [ asciicircum ] };
+ key <AE07> { [ 7, slash ],
+ [ braceleft ] };
+ key <AE08> { [ 8, parenleft ],
+ [ bracketleft ] };
+ key <AE09> { [ 9, parenright ],
+ [ bracketright ] };
+ key <AE10> { [ 0, equal ],
+ [ braceright ] };
+ key <AE11> { [ asterisk, question ],
+ [ backslash, underscore ] };
+ key <AE12> { [ minus, underscore ],
+ [ equal, plus ] };
+ key <AD01> { [ f, F ],
+ [ q, Q ] };
+ key <AD02> { [ g, G ],
+ [ w, W ] };
+ key <AD03> { [ gbreve, Gbreve ],
+ [ e, E ] };
+ key <AD04> { [ idotless I ],
+ [ r, R ] };
+ key <AD05> { [ o, O ],
+ [ t, T ] };
+ key <AD06> { [ d, D ],
+ [ y, Y ] };
+ key <AD07> { [ r, R ],
+ [ u, U ] };
+ key <AD08> { [ n, N ],
+ [ i, I ] };
+ key <AD09> { [ h, H ],
+ [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ q, Q ],
+ [ bracketleft, braceleft ] };
+ key <AD12> { [ w, W ],
+ [ bracketright, braceright ] };
+ key <AC01> { [ u, U ],
+ [ a, A ] };
+ key <AC02> { [ i, Iabovedot ],
+ [ s, S ] };
+ key <AC03> { [ e, E ],
+ [ d, D ] };
+ key <AC04> { [ a, A ],
+ [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ t, T ],
+ [ h, H ] };
+ key <AC07> { [ k, K ],
+ [ j, J ] };
+ key <AC08> { [ m, M ],
+ [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ y, Y ],
+ [ semicolon, colon ] };
+ key <AC11> { [ scedilla, Scedilla ],
+ [ apostrophe, quotedbl ] };
+ key <TLDE> { [ backslash, quotedbl ],
+ [ grave, asciitilde ] };
+ key <BKSL> { [ x, X ],
+ [ backslash, bar ] };
+ key <AB01> { [ j, J ],
+ [ z, Z ] };
+ key <AB02> { [ odiaeresis, Odiaeresis ],
+ [ x, X ] };
+ key <AB03> { [ v, V ],
+ [ c, C ] };
+ key <AB04> { [ c, C ],
+ [ v, V ] };
+ key <AB05> { [ ccedilla, Ccedilla ],
+ [ b, B ] };
+ key <AB06> { [ z, Z ],
+ [ n, N ] };
+ key <AB07> { [ s, S ],
+ [ m, M ] };
+ key <AB08> { [ b, B ],
+ [ comma, less ] };
+ key <AB09> { [ period, colon ],
+ [ period, greater ] };
+ key <AB10> { [ comma, semicolon ],
+ [ slash, question ] };
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/ua b/data/xkbdata/symbols/ua
new file mode 100644
index 000000000..90c04656e
--- /dev/null
+++ b/data/xkbdata/symbols/ua
@@ -0,0 +1,266 @@
+// ukrainian standard keyboard
+// AEN <aen@logic.ru> & Leon Kanter <leon@geon.donetsk.ua>
+// Last Changes 2003/09/03 by Andriy Rysin <arysin@yahoo.com>
+// $XFree86: xc/programs/xkbcomp/symbols/ua,v 1.4 2003/05/15 11:29:47 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Ukrainian keyboard
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Ukrainian";
+
+ key <TLDE> { [ grave, asciitilde ],
+ [ apostrophe, asciitilde ] };
+ key <AE01> { [ 1, exclam ],
+ [ 1, exclam ] };
+ key <AE02> { [ 2, at ],
+ [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, asterisk ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, colon ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, comma ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, period ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, semicolon ] };
+ key <AE09> { [ 9, parenleft ],
+ [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ],
+ [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ],
+ [ minus, underscore ] };
+ key <AE12> { [ equal, plus ],
+ [ equal, plus ] };
+
+ key <AD01> { [ q, Q ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ i, I ],
+ [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ o, O ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+ key <AD10> { [ p, P ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ Ukrainian_yi, Ukrainian_YI ] };
+ key <BKSL> { [ backslash, bar ],
+ [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+
+ key <AC01> { [ a, A ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ s, S ],
+ [ Ukrainian_i, Ukrainian_I ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ semicolon, colon ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ apostrophe, quotedbl ],
+ [ Ukrainian_ie, Ukrainian_IE ] };
+
+ key <AB01> { [ z, Z ],
+ [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ x, X ],
+ [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [ m, M ],
+ [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ comma, less ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ period, greater ],
+ [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AB10> { [ slash, question ],
+ [ slash, question ] };
+
+ key <LSGT> { [ less, greater ],
+ [ slash, bar ] };
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
+
+partial alphanumeric_keys
+xkb_symbols "winkeys" {
+ include "ua(basic)"
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numerosign ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, colon ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, question ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, asterisk ] };
+ key <AB10> { [ slash, question ],
+ [ period, comma ] };
+
+// key <AC02> { [ s, S ],
+// [ Ukrainian_i, Ukrainian_I ] };
+
+// key <AB05> { [ b, B ],
+// [ Cyrillic_i, Cyrillic_I ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "typewriter" {
+ include "ua(basic)"
+ key <TLDE> { [ grave, asciitilde ],
+ [ apostrophe, quotedbl ] };
+ key <AE01> { [ 1, exclam ],
+ [ exclam, 1 ] };
+ key <AE02> { [ 2, at ],
+ [ numerosign, 2 ] };
+ key <AE03> { [ 3, numbersign ],
+ [ slash, 3 ] };
+ key <AE04> { [ 4, dollar ],
+ [ semicolon, 4 ] };
+ key <AE05> { [ 5, percent ],
+ [ colon, 5 ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ comma, 6 ] };
+ key <AE07> { [ 7, ampersand ],
+ [ period, 7 ] };
+ key <AE08> { [ 8, asterisk ],
+ [ underscore, 8 ] };
+ key <AE09> { [ 9, parenleft ],
+ [ question, 9 ] };
+ key <AE10> { [ 0, parenright ],
+ [ percent, 0 ] };
+
+ key <AD12> { [ bracketright, braceright ],
+ [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+
+ key <AC02> { [ s, S ],
+ [ Cyrillic_i, Cyrillic_I ] };
+
+ key <AB05> { [ b, B ],
+ [ Ukrainian_i, Ukrainian_I ] };
+
+ key <AB10> { [ slash, question ],
+ [ Ukrainian_yi, Ukrainian_YI ] };
+
+ key <BKSL> { [ backslash, bar ],
+ [ parenleft, parenright ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+ include "ua(basic)"
+
+ key <AD01> { [ q, Q ],
+ [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_i, Cyrillic_i ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_u, Cyrillic_U ] };
+ key <AD08> { [ i, I ],
+ [ Ukrainian_i, Ukrainian_I ] };
+ key <AD09> { [ o, O ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AD10> { [ p, P ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <AC01> { [ a, A ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AC02> { [ s, S ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC10> { [ semicolon, colon ],
+ [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
+ key <AC11> { [ quoteright, quotedbl ],
+ [ Cyrillic_che, Cyrillic_CHE ] };
+ key <BKSL> { [ backslash, bar ],
+ [ Cyrillic_yu, Cyrillic_YU ] };
+
+ key <AB01> { [ z, Z ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AB02> { [ x, X ],
+ [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AB07> { [ m, M ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB08> { [ comma, less ],
+ [ Ukrainian_yi, Ukrainian_YI ] };
+ key <AB09> { [ period, greater ],
+ [ Ukrainian_ie, Ukrainian_IE ] };
+ key <AB10> { [ slash, question ],
+ [ slash, question ] };
+};
diff --git a/data/xkbdata/symbols/us b/data/xkbdata/symbols/us
new file mode 100644
index 000000000..244317fb9
--- /dev/null
+++ b/data/xkbdata/symbols/us
@@ -0,0 +1,363 @@
+// $Xorg: us,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+
+// symbols definition for a very simple US/ASCII layout.
+// It has basically the alphanumeric keys, punctuation,
+// one shift key, one control key and caps lock. It
+// uses the punctuation keys configurations common on PC
+// keyboards (e.g. key <ABO9> is { [ period greater ] })
+
+// $XFree86: xc/programs/xkbcomp/symbols/us,v 3.14 2003/10/25 13:24:05 pascal Exp $
+
+partial hidden alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "US/ASCII";
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ BackSpace, Terminate_Server ]
+ };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <RTRN> { [ Return ] };
+
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <SPCE> { [ space ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+};
+
+// definition of a US/ASCII layout for a typical 101-key keyboard.
+// Includes the basic alphanumeric and punctuation keys and then
+// defines the "extra" (right) modifier keys, function keys, cursor,
+// edit, and keypad keys.
+xkb_symbols "generic101" {
+ include "srvr_ctrl(xfree86)"
+ include "us(basic)"
+ key <RTSH> { [ Shift_R ] };
+ key <LALT> { [ Alt_L ] };
+ key <RCTL> { [ Control_R ] };
+ key <RALT> { [ Alt_R ] };
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ key <FK11> { [ F11 ] };
+ key <FK12> { [ F12 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_BREAK",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <INS> { [ Insert ] };
+ key <HOME> { [ Home ] };
+ key <PGUP> { [ Prior ] };
+ key <DELE> { [ Delete ] };
+ key <END> { [ End ] };
+ key <PGDN> { [ Next ] };
+
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_Begin, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ] };
+ key <KPEQ> { [ KP_Equal ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Control{ Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod5 { Scroll_Lock };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "intl" {
+
+ name[Group1]= "US International";
+ include "us(pc105euro)"
+
+ // Alphanumeric section
+ key <TLDE> { [dead_grave, dead_tilde ],
+ [ grave, asciitilde ] };
+ key <AE01> { [ 1, exclam ],
+ [exclamdown, onesuperior ] };
+ key <AE02> { [ 2, at ],
+ [twosuperior, dead_doubleacute] };
+ key <AE03> { [ 3, numbersign ],
+ [threesuperior, dead_macron ] };
+ key <AE04> { [ 4, dollar ],
+ [ currency, sterling ] };
+ key <AE05> { [ 5, percent ],
+ [ EuroSign ] };
+ key <AE06> { [ 6, dead_circumflex ],
+ [onequarter, asciicircum ] };
+ key <AE07> { [ 7, ampersand ],
+ [ onehalf, dead_horn ] };
+ key <AE08> { [ 8, asterisk ],
+ [threequarters, dead_ogonek ] };
+ key <AE09> { [ 9, parenleft ],
+ [ leftsinglequotemark, dead_breve] };
+ key <AE10> { [ 0, parenright ],
+ [ rightsinglequotemark, dead_abovering ] };
+ key <AE11> { [ minus, underscore ],
+ [ yen, dead_belowdot ] };
+ key <AE12> { [ equal, plus ],
+ [ multiply, division ] };
+
+ key <AD01> { [ q, Q ],
+ [adiaeresis, Adiaeresis ] };
+ key <AD02> { [ w, W ],
+ [ aring, Aring ] };
+ key <AD03> { [ e, E ],
+ [ eacute, Eacute ] };
+ key <AD04> { [ r, R ],
+ [registered, registered ] };
+ key <AD05> { [ t, T ],
+ [ thorn, THORN ] };
+ key <AD06> { [ y, Y ],
+ [udiaeresis, Udiaeresis ] };
+ key <AD07> { [ u, U ],
+ [ uacute, Uacute ] };
+ key <AD08> { [ i, I ],
+ [ iacute, Iacute ] };
+ key <AD09> { [ o, O ],
+ [ oacute, Oacute ] };
+ key <AD10> { [ p, P ],
+ [odiaeresis, Odiaeresis ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ guillemotleft ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ guillemotright ] };
+
+ key <AC01> { [ a, A ],
+ [ aacute, Aacute ] };
+ key <AC02> { [ s, S ],
+ [ ssharp, section ] };
+ key <AC03> { [ d, D ],
+ [ eth, ETH ] };
+
+ key <AC09> { [ l, L ],
+ [ oslash, Ooblique ] };
+ key <AC10> { [ semicolon, colon ],
+ [ paragraph, degree ] };
+ key <AC11> { [ dead_acute, dead_diaeresis ],
+ [ apostrophe, quotedbl ] };
+
+ key <AB01> { [ z, Z ],
+ [ ae, AE ] };
+ key <AB03> { [ c, C ],
+ [ copyright, cent ] };
+ key <AB06> { [ n, N ],
+ [ ntilde, Ntilde ] };
+ key <AB07> { [ m, M ],
+ [ mu, mu ] };
+ key <AB08> { [ comma, less ],
+ [ ccedilla, Ccedilla ] };
+ key <AB09> { [ period, greater ],
+ [ dead_abovedot,dead_caron ] };
+ key <AB10> { [ slash, question ],
+ [ questiondown, dead_hook ] };
+ key <BKSL> { [ backslash, bar ],
+ [ notsign, brokenbar ] };
+
+};
+
+// definition for the PC-AT type 101 key keyboard
+default
+xkb_symbols "pc101" {
+ include "us(generic101)"
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+};
+
+// definition for the extra key on 102-key keyboards
+xkb_symbols "pc102" {
+ include "us(pc101)"
+ key <LSGT> { [ less, greater ] };
+};
+
+// definition of Euro-style, Alt_R == [Mode_switch, Multi_key]
+xkb_symbols "pc101euro" {
+ include "us(generic101)"
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Mode_switch, Multi_key ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Meta_L };
+};
+
+// definition of Alternate Euro-style, Alt_R == [Multi_key]
+xkb_symbols "pc101compose" {
+ include "us(generic101)"
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Multi_key ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Meta_L };
+};
+
+xkb_symbols "pc102euro" {
+ include "us(pc101euro)"
+ key <LSGT> { [ less, greater ] };
+};
+
+xkb_symbols "pc102compose" {
+ include "us(pc101compose)"
+ key <LSGT> { [ less, greater ] };
+};
+
+// definition for the extra keys on 104-key "Windows95" keyboards
+xkb_symbols "pc104" {
+ include "us(generic101)"
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ key <LWIN> { [ Super_L ] };
+ key <RWIN> { [ Super_R ] };
+ key <MENU> { [ Menu ] };
+
+ // modifier mappings
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+ modifier_map Mod4 { Super_L, Super_R };
+};
+
+// definition of Euro-style, Right "logo" key == [Mode_switch, Multi_key]
+xkb_symbols "pc104euro" {
+ include "us(pc104)"
+ key <RALT> { [ Mode_switch ] };
+ key <RWIN> { [ Multi_key ] };
+};
+
+// put the compose key on the right "logo" key
+xkb_symbols "pc104compose" {
+ include "us(pc104)"
+ key <RWIN> { [ Multi_key ] };
+};
+
+// defintion which includes both the Windows95 keyboards _and_
+// the extra key on most European keyboards.
+xkb_symbols "pc105" {
+ include "us(pc104)"
+ key <LSGT> { [ less, greater ] };
+};
+xkb_symbols "pc105euro" {
+ include "us(pc104euro)"
+ key <LSGT> { [ less, greater ] };
+};
+xkb_symbols "pc105compose" {
+ include "us(pc104compose)"
+ key <LSGT> { [ less, greater ] };
+};
+// universal maps are identical to pc105; wish we had aliases for map names.
+xkb_symbols "pc_universal" {
+ include "us(pc104)"
+ key <LSGT> { [ less, greater ] };
+};
+xkb_symbols "pc_universal_euro" {
+ include "us(pc104euro)"
+ key <LSGT> { [ less, greater ] };
+};
+xkb_symbols "pc_universal_compose" {
+ include "us(pc104compose)"
+ key <LSGT> { [ less, greater ] };
+};
diff --git a/data/xkbdata/symbols/us_group2 b/data/xkbdata/symbols/us_group2
new file mode 100644
index 000000000..b8fad1020
--- /dev/null
+++ b/data/xkbdata/symbols/us_group2
@@ -0,0 +1,272 @@
+// $Xorg: us,v 1.3 2000/08/17 19:54:44 cpqbld Exp $
+
+// symbols definition for a very simple US/ASCII layout.
+// It has basically the alphanumeric keys, punctuation,
+// one shift key, one control key and caps lock. It
+// uses the punctuation keys configurations common on PC
+// keyboards (e.g. key <ABO9> is { [], [ period greater ] })
+
+// This file is a modified version of US keyboard for
+// use mainly in cz* and sk* keyboards.
+// Modified by Jan Holesovsky <kendy@suse.cz>, 2001
+
+// $XFree86: xc/programs/xkbcomp/symbols/us_group2,v 1.2 2002/09/16 18:06:21 eich Exp $
+
+partial hidden alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group2]= "US/ASCII";
+ key <ESC> { [], [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [], [ quoteleft, asciitilde ] };
+ key <AE01> { [], [ 1, exclam ] };
+ key <AE02> { [], [ 2, at ] };
+ key <AE03> { [], [ 3, numbersign ] };
+ key <AE04> { [], [ 4, dollar ] };
+ key <AE05> { [], [ 5, percent ] };
+ key <AE06> { [], [ 6, asciicircum ] };
+ key <AE07> { [], [ 7, ampersand ] };
+ key <AE08> { [], [ 8, asterisk ] };
+ key <AE09> { [], [ 9, parenleft ] };
+ key <AE10> { [], [ 0, parenright ] };
+ key <AE11> { [], [ minus, underscore ] };
+ key <AE12> { [], [ equal, plus ] };
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group2]= [ BackSpace, Terminate_Server ]
+ };
+
+ key <TAB> { [], [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [], [ q, Q ] };
+ key <AD02> { [], [ w, W ] };
+ key <AD03> { [], [ e, E ] };
+ key <AD04> { [], [ r, R ] };
+ key <AD05> { [], [ t, T ] };
+ key <AD06> { [], [ y, Y ] };
+ key <AD07> { [], [ u, U ] };
+ key <AD08> { [], [ i, I ] };
+ key <AD09> { [], [ o, O ] };
+ key <AD10> { [], [ p, P ] };
+ key <AD11> { [], [ bracketleft, braceleft ] };
+ key <AD12> { [], [ bracketright, braceright ] };
+ key <RTRN> { [], [ Return ] };
+
+ key <CAPS> { [], [ Caps_Lock ] };
+ key <AC01> { [], [ a, A ] };
+ key <AC02> { [], [ s, S ] };
+ key <AC03> { [], [ d, D ] };
+ key <AC04> { [], [ f, F ] };
+ key <AC05> { [], [ g, G ] };
+ key <AC06> { [], [ h, H ] };
+ key <AC07> { [], [ j, J ] };
+ key <AC08> { [], [ k, K ] };
+ key <AC09> { [], [ l, L ] };
+ key <AC10> { [], [ semicolon, colon ] };
+ key <AC11> { [], [ quoteright, quotedbl ] };
+
+ key <LFSH> { [], [ Shift_L ] };
+ key <AB01> { [], [ z, Z ] };
+ key <AB02> { [], [ x, X ] };
+ key <AB03> { [], [ c, C ] };
+ key <AB04> { [], [ v, V ] };
+ key <AB05> { [], [ b, B ] };
+ key <AB06> { [], [ n, N ] };
+ key <AB07> { [], [ m, M ] };
+ key <AB08> { [], [ comma, less ] };
+ key <AB09> { [], [ period, greater ] };
+ key <AB10> { [], [ slash, question ] };
+ key <BKSL> { [], [ backslash, bar ] };
+
+ key <LCTL> { [], [ Control_L ] };
+ key <SPCE> { [], [ space, space ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+};
+
+// definition of a US/ASCII layout for a typical 101-key keyboard.
+// Includes the basic alphanumeric and punctuation keys and then
+// defines the "extra" (right) modifier keys, function keys, cursor,
+// edit, and keypad keys.
+xkb_symbols "generic101" {
+ include "us_group2(basic)"
+ key <RTSH> { [], [ Shift_R ] };
+ key <LALT> { [], [ Alt_L ] };
+ key <RCTL> { [], [ Control_R ] };
+ key <RALT> { [], [ Alt_R ] };
+
+ // Begin "Function" section
+ key <FK01> { [], [ F1 ] };
+ key <FK02> { [], [ F2 ] };
+ key <FK03> { [], [ F3 ] };
+ key <FK04> { [], [ F4 ] };
+ key <FK05> { [], [ F5 ] };
+ key <FK06> { [], [ F6 ] };
+ key <FK07> { [], [ F7 ] };
+ key <FK08> { [], [ F8 ] };
+ key <FK09> { [], [ F9 ] };
+ key <FK10> { [], [ F10 ] };
+ key <FK11> { [], [ F11 ] };
+ key <FK12> { [], [ F12 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group2]= [], [ Print, Sys_Req ]
+ };
+ key <SCLK> { [], [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_BREAK",
+ symbols[Group2]= [], [ Pause, Break ]
+ };
+ key <INS> { [], [ Insert ] };
+ key <HOME> { [], [ Home ] };
+ key <PGUP> { [], [ Prior ] };
+ key <DELE> { [], [ Delete ] };
+ key <END> { [], [ End ] };
+ key <PGDN> { [], [ Next ] };
+
+ key <UP> { [], [ Up ] };
+ key <LEFT> { [], [ Left ] };
+ key <DOWN> { [], [ Down ] };
+ key <RGHT> { [], [ Right ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [], [ Num_Lock, Pointer_EnableKeys ] };
+ key <KPDV> { [], [ KP_Divide ] };
+ key <KPMU> { [], [ KP_Multiply ] };
+ key <KPSU> { [], [ KP_Subtract ] };
+
+ key <KP7> { [], [ KP_Home, KP_7 ] };
+ key <KP8> { [], [ KP_Up, KP_8 ] };
+ key <KP9> { [], [ KP_Prior, KP_9 ] };
+ key <KPAD> { [], [ KP_Add ] };
+
+ key <KP4> { [], [ KP_Left, KP_4 ] };
+ key <KP5> { [], [ KP_Begin, KP_5 ] };
+ key <KP6> { [], [ KP_Right, KP_6 ] };
+
+ key <KP1> { [], [ KP_End, KP_1 ] };
+ key <KP2> { [], [ KP_Down, KP_2 ] };
+ key <KP3> { [], [ KP_Next, KP_3 ] };
+ key <KPEN> { [], [ KP_Enter ] };
+
+ key <KP0> { [], [ KP_Insert, KP_0 ] };
+ key <KPDL> { [], [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Control{ Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod5 { Scroll_Lock };
+};
+
+// definition for the PC-AT type 101 key keyboard
+default
+xkb_symbols "pc101" {
+ include "us_group2(generic101)"
+ key <LALT> { [], [ Alt_L, Meta_L ] };
+ key <RALT> { [], [ Alt_R, Meta_R ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+};
+
+// definition for the extra key on 102-key keyboards
+xkb_symbols "pc102" {
+ include "us_group2(pc101)"
+ key <LSGT> { [], [ less, greater ] };
+};
+
+// definition of Euro-style, Alt_R == [Mode_switch, Multi_key]
+xkb_symbols "pc101euro" {
+ include "us_group2(generic101)"
+ key <LALT> { [], [ Alt_L, Meta_L ] };
+ key <RALT> { [], [ Mode_switch, Multi_key ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Meta_L };
+};
+
+// definition of Alternate Euro-style, Alt_R == [Multi_key]
+xkb_symbols "pc101compose" {
+ include "us_group2(generic101)"
+ key <LALT> { [], [ Alt_L, Meta_L ] };
+ key <RALT> { [], [ Multi_key ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Meta_L };
+};
+
+xkb_symbols "pc102euro" {
+ include "us_group2(pc101euro)"
+ key <LSGT> { [], [ less, greater ] };
+};
+
+xkb_symbols "pc102compose" {
+ include "us_group2(pc101compose)"
+ key <LSGT> { [], [ less, greater ] };
+};
+
+// definition for the extra keys on 104-key "Windows95" keyboards
+xkb_symbols "pc104" {
+ include "us_group2(generic101)"
+ key <LALT> { [], [ Alt_L ] };
+ key <RALT> { [], [ Alt_R ] };
+ key <LWIN> { [], [ Meta_L ] };
+ key <RWIN> { [], [ Multi_key ] };
+ key <MENU> { [], [ Menu ] };
+
+ // modifier mappings
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod4 { Meta_L, Meta_R };
+};
+
+// definition of Euro-style, Right "logo" key == [Mode_switch, Multi_key]
+xkb_symbols "pc104euro" {
+ include "us_group2(pc104)"
+ key <RALT> { [], [ Mode_switch ] };
+ key <RWIN> { [], [ Multi_key ] };
+};
+
+// put the compose key on the right "logo" key
+xkb_symbols "pc104compose" {
+ include "us_group2(pc104)"
+ key <RWIN> { [], [ Multi_key ] };
+};
+
+// defintion which includes both the Windows95 keyboards _and_
+// the extra key on most European keyboards.
+xkb_symbols "pc105" {
+ include "us_group2(pc104)"
+ key <LSGT> { [], [ less, greater ] };
+};
+xkb_symbols "pc105euro" {
+ include "us_group2(pc104euro)"
+ key <LSGT> { [], [ less, greater ] };
+};
+xkb_symbols "pc105compose" {
+ include "us_group2(pc104compose)"
+ key <LSGT> { [], [ less, greater ] };
+};
+// universal maps are identical to pc105; wish we had aliases for map names.
+xkb_symbols "pc_universal" {
+ include "us_group2(pc104)"
+ key <LSGT> { [], [ less, greater ] };
+};
+xkb_symbols "pc_universal_euro" {
+ include "us_group2(pc104euro)"
+ key <LSGT> { [], [ less, greater ] };
+};
+xkb_symbols "pc_universal_compose" {
+ include "us_group2(pc104compose)"
+ key <LSGT> { [], [ less, greater ] };
+};
diff --git a/data/xkbdata/symbols/us_group3 b/data/xkbdata/symbols/us_group3
new file mode 100644
index 000000000..1032a40aa
--- /dev/null
+++ b/data/xkbdata/symbols/us_group3
@@ -0,0 +1,279 @@
+// This file was taken from XFree86 version 3.3.2
+// as distributed with RedHat Linux 5.1
+// This file was modified by Eric Moreau, 1998-09-27
+// so that the US keyboard would show as Group 3 on the keymap.
+// I am reachable at eric_moreau@compuserve.com
+//
+// $XFree86: xc/programs/xkbcomp/symbols/us_group3,v 1.2 2000/06/15 20:34:15 dawes Exp $
+//
+// Original Header follows:
+//
+// $TOG: us /main/12 1997/06/14 06:37:07 kaleb $
+
+// symbols definition for a very simple US/ASCII layout.
+// It has basically the alphanumeric keys, punctuation,
+// one shift key, one control key and caps lock. It
+// uses the punctuation keys configurations common on PC
+// keyboards (e.g. key <ABO9> is { [], [], [ period greater ] })
+
+partial hidden alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ name[Group3]= "US/ASCII";
+ key <ESC> { [], [], [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [], [], [ quoteleft, asciitilde ] };
+ key <AE01> { [], [], [ 1, exclam ] };
+ key <AE02> { [], [], [ 2, at ] };
+ key <AE03> { [], [], [ 3, numbersign ] };
+ key <AE04> { [], [], [ 4, dollar ] };
+ key <AE05> { [], [], [ 5, percent ] };
+ key <AE06> { [], [], [ 6, asciicircum ] };
+ key <AE07> { [], [], [ 7, ampersand ] };
+ key <AE08> { [], [], [ 8, asterisk ] };
+ key <AE09> { [], [], [ 9, parenleft ] };
+ key <AE10> { [], [], [ 0, parenright ] };
+ key <AE11> { [], [], [ minus, underscore ] };
+ key <AE12> { [], [], [ equal, plus ] };
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group3]= [ BackSpace, Terminate_Server ]
+ };
+
+ key <TAB> { [], [], [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [], [], [ q, Q ] };
+ key <AD02> { [], [], [ w, W ] };
+ key <AD03> { [], [], [ e, E ] };
+ key <AD04> { [], [], [ r, R ] };
+ key <AD05> { [], [], [ t, T ] };
+ key <AD06> { [], [], [ y, Y ] };
+ key <AD07> { [], [], [ u, U ] };
+ key <AD08> { [], [], [ i, I ] };
+ key <AD09> { [], [], [ o, O ] };
+ key <AD10> { [], [], [ p, P ] };
+ key <AD11> { [], [], [ bracketleft, braceleft ] };
+ key <AD12> { [], [], [ bracketright, braceright ] };
+ key <RTRN> { [], [], [ Return ] };
+
+ key <CAPS> { [], [], [ Caps_Lock ] };
+ key <AC01> { [], [], [ a, A ] };
+ key <AC02> { [], [], [ s, S ] };
+ key <AC03> { [], [], [ d, D ] };
+ key <AC04> { [], [], [ f, F ] };
+ key <AC05> { [], [], [ g, G ] };
+ key <AC06> { [], [], [ h, H ] };
+ key <AC07> { [], [], [ j, J ] };
+ key <AC08> { [], [], [ k, K ] };
+ key <AC09> { [], [], [ l, L ] };
+ key <AC10> { [], [], [ semicolon, colon ] };
+ key <AC11> { [], [], [ quoteright, quotedbl ] };
+
+ key <LFSH> { [], [], [ Shift_L ] };
+ key <AB01> { [], [], [ z, Z ] };
+ key <AB02> { [], [], [ x, X ] };
+ key <AB03> { [], [], [ c, C ] };
+ key <AB04> { [], [], [ v, V ] };
+ key <AB05> { [], [], [ b, B ] };
+ key <AB06> { [], [], [ n, N ] };
+ key <AB07> { [], [], [ m, M ] };
+ key <AB08> { [], [], [ comma, less ] };
+ key <AB09> { [], [], [ period, greater ] };
+ key <AB10> { [], [], [ slash, question ] };
+ key <BKSL> { [], [], [ backslash, bar ] };
+
+ key <LCTL> { [], [], [ Control_L ] };
+ key <SPCE> { [], [], [ space ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+};
+
+// definition of a US/ASCII layout for a typical 101-key keyboard.
+// Includes the basic alphanumeric and punctuation keys and then
+// defines the "extra" (right) modifier keys, function keys, cursor,
+// edit, and keypad keys.
+xkb_symbols "generic101" {
+ include "us_group3(basic)"
+ key <RTSH> { [], [], [ Shift_R ] };
+ key <LALT> { [], [], [ Alt_L ] };
+ key <RCTL> { [], [], [ Control_R ] };
+ key <RALT> { [], [], [ Alt_R ] };
+
+ // Begin "Function" section
+ key <FK01> { [], [], [ F1 ] };
+ key <FK02> { [], [], [ F2 ] };
+ key <FK03> { [], [], [ F3 ] };
+ key <FK04> { [], [], [ F4 ] };
+ key <FK05> { [], [], [ F5 ] };
+ key <FK06> { [], [], [ F6 ] };
+ key <FK07> { [], [], [ F7 ] };
+ key <FK08> { [], [], [ F8 ] };
+ key <FK09> { [], [], [ F9 ] };
+ key <FK10> { [], [], [ F10 ] };
+ key <FK11> { [], [], [ F11 ] };
+ key <FK12> { [], [], [ F12 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group3]= [], [], [ Print, Execute ]
+ };
+ key <SCLK> { [], [], [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_BREAK",
+ symbols[Group3]= [], [], [ Pause, Break ]
+ };
+ key <INS> { [], [], [ Insert ] };
+ key <HOME> { [], [], [ Home ] };
+ key <PGUP> { [], [], [ Prior ] };
+ key <DELE> { [], [], [ Delete ] };
+ key <END> { [], [], [ End ] };
+ key <PGDN> { [], [], [ Next ] };
+
+ key <UP> { [], [], [ Up ] };
+ key <LEFT> { [], [], [ Left ] };
+ key <DOWN> { [], [], [ Down ] };
+ key <RGHT> { [], [], [ Right ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [], [], [ Num_Lock, Pointer_EnableKeys ] };
+ key <KPDV> { [], [], [ KP_Divide ] };
+ key <KPMU> { [], [], [ KP_Multiply ] };
+ key <KPSU> { [], [], [ KP_Subtract ] };
+
+ key <KP7> { [], [], [ KP_Home, KP_7 ] };
+ key <KP8> { [], [], [ KP_Up, KP_8 ] };
+ key <KP9> { [], [], [ KP_Prior, KP_9 ] };
+ key <KPAD> { [], [], [ KP_Add ] };
+
+ key <KP4> { [], [], [ KP_Left, KP_4 ] };
+ key <KP5> { [], [], [ KP_Begin, KP_5 ] };
+ key <KP6> { [], [], [ KP_Right, KP_6 ] };
+
+ key <KP1> { [], [], [ KP_End, KP_1 ] };
+ key <KP2> { [], [], [ KP_Down, KP_2 ] };
+ key <KP3> { [], [], [ KP_Next, KP_3 ] };
+ key <KPEN> { [], [], [ KP_Enter ] };
+
+ key <KP0> { [], [], [ KP_Insert, KP_0 ] };
+ key <KPDL> { [], [], [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Control{ Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod5 { Scroll_Lock };
+};
+
+// definition for the PC-AT type 101 key keyboard
+default
+xkb_symbols "pc101" {
+ include "us_group3(generic101)"
+ key <LALT> { [], [], [ Alt_L, Meta_L ] };
+ key <RALT> { [], [], [ Alt_R, Meta_R ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+};
+
+// definition for the extra key on 102-key keyboards
+xkb_symbols "pc102" {
+ include "us_group3(pc101)"
+ key <LSGT> { [], [], [ less, greater ] };
+};
+
+// definition of Euro-style, Alt_R == [], [], [Mode_switch, Multi_key]
+xkb_symbols "pc101euro" {
+ include "us_group3(generic101)"
+ key <LALT> { [], [], [ Alt_L, Meta_L ] };
+ key <RALT> { [], [], [ Mode_switch, Multi_key ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Meta_L };
+};
+
+// definition of Alternate Euro-style, Alt_R == [], [], [Multi_key]
+xkb_symbols "pc101compose" {
+ include "us_group3(generic101)"
+ key <LALT> { [], [], [ Alt_L, Meta_L ] };
+ key <RALT> { [], [], [ Multi_key ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Meta_L };
+};
+
+xkb_symbols "pc102euro" {
+ include "us_group3(pc101euro)"
+ key <LSGT> { [], [], [ less, greater ] };
+};
+
+xkb_symbols "pc102compose" {
+ include "us_group3(pc101compose)"
+ key <LSGT> { [], [], [ less, greater ] };
+};
+
+// definition for the extra keys on 104-key "Windows95" keyboards
+xkb_symbols "pc104" {
+ include "us_group3(generic101)"
+ key <LALT> { [], [], [ Alt_L ] };
+ key <RALT> { [], [], [ Alt_R ] };
+ key <LWIN> { [], [], [ Meta_L ] };
+ key <RWIN> { [], [], [ Meta_R ] };
+ key <MENU> { [], [], [ Menu ] };
+
+ // modifier mappings
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod4 { Meta_L, Meta_R };
+};
+
+// definition of Euro-style, Right "logo" key == [], [], [Mode_switch, Multi_key]
+xkb_symbols "pc104euro" {
+ include "us_group3(pc104)"
+ key <RWIN> { [], [], [ Mode_switch, Multi_key ] };
+};
+
+// put the compose key on the right "logo" key
+xkb_symbols "pc104compose" {
+ include "us_group3(pc104)"
+ key <RWIN> { [], [], [ Multi_key ] };
+};
+
+// defintion which includes both the Windows95 keyboards _and_
+// the extra key on most European keyboards.
+xkb_symbols "pc105" {
+ include "us_group3(pc104)"
+ key <LSGT> { [], [], [ less, greater ] };
+};
+xkb_symbols "pc105euro" {
+ include "us_group3(pc104euro)"
+ key <LSGT> { [], [], [ less, greater ] };
+};
+xkb_symbols "pc105compose" {
+ include "us_group3(pc104compose)"
+ key <LSGT> { [], [], [ less, greater ] };
+};
+// universam maps are identical to pc105; wish we had aliases for map names.
+xkb_symbols "pc_universal" {
+ include "us_group3(pc104)"
+ key <LSGT> { [], [], [ less, greater ] };
+};
+xkb_symbols "pc105euro" {
+ include "us_group3(pc104euro)"
+ key <LSGT> { [], [], [ less, greater ] };
+};
+xkb_symbols "pc105compose" {
+ include "us_group3(pc104compose)"
+ key <LSGT> { [], [], [ less, greater ] };
+};
+// Override broken Numlock key on some IBM keyboards
+xkb_symbols "ibm_space_saver" {
+ key <NMLK> { [ Num_Lock, Num_Lock ] };
+};
diff --git a/data/xkbdata/symbols/us_intl b/data/xkbdata/symbols/us_intl
new file mode 100644
index 000000000..fa513e0be
--- /dev/null
+++ b/data/xkbdata/symbols/us_intl
@@ -0,0 +1,70 @@
+//
+// $XdotOrg: xc/programs/xkbcomp/symbols/us_intl,v 1.8 2003/12/18 22:10:41 dawes Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/us_intl,v 1.7 2003/06/17 12:32:53 pascal Exp $
+//
+// Dead-keys definition for a very simple US/ASCII layout.
+// by Conectiva (http://www.conectiva.com.br)
+// modified by Ricardo Y. Igarashi (iga@that.com.br)
+
+// Added the following deadkeys, to make it truly international:
+//
+// dead_macron: on AltGr-minus
+// dead_breve: on AltGr-parenleft
+// dead_abovedot: on AltGr-period
+// dead_abovering: on AltGr-0
+// dead_doubleacute: on AltGr-equal (as quotedbl is already used)
+// dead_caron: on AltGr-less (AltGr-shift-comma)
+// dead_cedilla: on AltGr-comma
+// dead_ogonek: on AltGr-semicolon
+// dead_belowdot: on AltGr-underscore (AltGr-shift-minus)
+// dead_hook: on AltGr-question
+// dead_horn: on AltGr-plus (AltGr-shift-equal)
+// dead_diaeresis: on AltGr-colon (Alt-shift-semicolon)
+//
+// those were already there:
+// dead_grave
+// dead_acute
+// dead_circumflex
+// dead_tilde
+// dead_diaeresis
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ name[Group1]= "US/ASCII";
+
+ // Alphanumeric section
+ key <TLDE> { [ dead_grave, dead_tilde ],
+ [ grave, asciitilde ] };
+ key <AE05> { [ 5, percent ],
+ [ EuroSign ] };
+ key <AE06> { [ 6, dead_circumflex ],
+ [ asciicircum, asciicircum ] };
+ key <AE09> { [ 9, parenleft ],
+ [ dead_breve, dead_breve ] };
+ key <AE10> { [ 0, parenright ],
+ [dead_abovering, dead_abovering ] };
+ key <AE11> { [ minus, underscore ],
+ [ dead_macron, dead_belowdot ] };
+ key <AE12> { [ equal, plus ],
+ [ dead_doubleacute, dead_horn ] };
+
+ key <AD03> { [ e, E ],
+ [ EuroSign, cent ] };
+
+ key <AC10> { [ semicolon, colon ],
+ [ dead_ogonek, dead_diaeresis ] };
+ key <AC11> { [ dead_acute, dead_diaeresis ],
+ [ apostrophe, quotedbl ] };
+
+ key <AB08> { [ comma, less ],
+ [ dead_cedilla, dead_caron ] };
+ key <AB09> { [ period, greater ],
+ [ dead_abovedot,dead_circumflex ] };
+ key <AB10> { [ slash, question ],
+ [ dead_hook, dead_hook ] };
+
+ key <RALT> { [ Mode_switch, Multi_key ] };
+
+ // End alphanumeric section
+};
diff --git a/data/xkbdata/symbols/uz b/data/xkbdata/symbols/uz
new file mode 100644
index 000000000..b5b43e40c
--- /dev/null
+++ b/data/xkbdata/symbols/uz
@@ -0,0 +1,142 @@
+// Uzbek standard keyboard
+//
+// Mashrab Kuvatov <kmashrab@uni-bremen.de>
+//
+// History:
+//
+// Jun 2, 2003. Mashrab Kuvatov <kmashrab@uni-bremen.de>
+//
+// Created based on Russian standard keyboard. AEN <aen@logic.ru>
+// The following symbols of Russian standard keyboard were replaced:
+// minus (key <AE11>) with Cyrillic_shortu (U045e),
+// equal (key <AE12>) with Cyrillic_kadescender (U049b)
+// Cyrillic_ha (key <AD11>) with Cyrillic_ghestoke (U0493)
+// Cyrillic_hardsign (key <AD11>) with Cyrillic_hadescender (U0493)
+// The following symbols of Russian standard keyboard were moved:
+// Cyrillic_ze to key <AC02> (english 's'),
+// Cyrillic_sha to key <AD08> (english 'i'),
+// Cyrillic_ha to key <AD09> (english 'o'),
+// Cyrillic_hardsign to key <AD10> (english 'p').
+//
+// $XFree86: xc/programs/xkbcomp/symbols/uz,v 1.1 2003/06/17 12:32:53 pascal Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a very simple Uzbek keyboard
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Uzbek";
+
+ key <AE01> { [ 1, exclam ],
+ [ 1, exclam ] };
+ key <AE02> { [ 2, at ],
+ [ 2, quotedbl ] };
+ key <AE03> { [ 3, numbersign ],
+ [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ],
+ [ 4, semicolon ] };
+ key <AE05> { [ 5, percent ],
+ [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ 6, colon ] };
+ key <AE07> { [ 7, ampersand ],
+ [ 7, question ] };
+ key <AE08> { [ 8, asterisk ],
+ [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ],
+ [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ],
+ [ 0, parenright ] };
+ key <BKSL> { [ backslash, bar ],
+ [ backslash, bar ] };
+ key <AB10> { [ slash, question ],
+ [ period, comma ] };
+ key <LSGT> { [ less, greater ],
+ [ slash, bar ] };
+
+key.type[group2]="ALPHABETIC";
+
+ key <AE11> { [ minus, underscore ],
+ [ U045e, U040e ] };
+ key <AE12> { [ equal, plus ],
+ [ U049b, U049a ] };
+ key <TLDE> { [ grave, asciitilde ],
+ [ Cyrillic_io, Cyrillic_IO ] };
+ key <AD01> { [ q, Q ],
+ [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <AD02> { [ w, W ],
+ [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AD03> { [ e, E ],
+ [ Cyrillic_u, Cyrillic_U ] };
+ key <AD04> { [ r, R ],
+ [ Cyrillic_ka, Cyrillic_KA ] };
+ key <AD05> { [ t, T ],
+ [ Cyrillic_ie, Cyrillic_IE ] };
+ key <AD06> { [ y, Y ],
+ [ Cyrillic_en, Cyrillic_EN ] };
+ key <AD07> { [ u, U ],
+ [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <AD08> { [ i, I ],
+ [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD09> { [ o, O ],
+ [ Cyrillic_ha, Cyrillic_HA ] };
+ key <AD10> { [ p, P ],
+ [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ U0493, U0492 ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ U04b3, U04b2 ] };
+ key <AC01> { [ a, A ],
+ [ Cyrillic_ef, Cyrillic_EF ] };
+ key <AC02> { [ s, S ],
+ [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <AC03> { [ d, D ],
+ [ Cyrillic_ve, Cyrillic_VE ] };
+ key <AC04> { [ f, F ],
+ [ Cyrillic_a, Cyrillic_A ] };
+ key <AC05> { [ g, G ],
+ [ Cyrillic_pe, Cyrillic_PE ] };
+ key <AC06> { [ h, H ],
+ [ Cyrillic_er, Cyrillic_ER ] };
+ key <AC07> { [ j, J ],
+ [ Cyrillic_o, Cyrillic_O ] };
+ key <AC08> { [ k, K ],
+ [ Cyrillic_el, Cyrillic_EL ] };
+ key <AC09> { [ l, L ],
+ [ Cyrillic_de, Cyrillic_DE ] };
+ key <AC10> { [ semicolon, colon ],
+ [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <AC11> { [ apostrophe, quotedbl ],
+ [ Cyrillic_e, Cyrillic_E ] };
+ key <AB01> { [ z, Z ],
+ [ Cyrillic_ya, Cyrillic_YA ] };
+ key <AB02> { [ x, X ],
+ [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AB03> { [ c, C ],
+ [ Cyrillic_es, Cyrillic_ES ] };
+ key <AB04> { [ v, V ],
+ [ Cyrillic_em, Cyrillic_EM ] };
+ key <AB06> { [ n, N ],
+ [ Cyrillic_te, Cyrillic_TE ] };
+ key <AB05> { [ b, B ],
+ [ Cyrillic_i, Cyrillic_I ] };
+ key <AB07> { [ m, M ],
+ [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+ key <AB08> { [ comma, less ],
+ [ Cyrillic_be, Cyrillic_BE ] };
+ key <AB09> { [ period, greater ],
+ [ Cyrillic_yu, Cyrillic_YU ] };
+
+key.type[group2]="TWO_LEVEL";
+
+ // End alphanumeric section
+
+ // Begin modifier mappings
+
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock, ISO_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/symbols/vn b/data/xkbdata/symbols/vn
new file mode 100644
index 000000000..ce0e4ead3
--- /dev/null
+++ b/data/xkbdata/symbols/vn
@@ -0,0 +1,398 @@
+// vn, TCVN 5712:1993
+// Le Hong Boi <le.hong.boi@bigfoot.com>
+// August 1999
+// Further modified by Ashley Clark <aclark@debian.org>
+// July 2000 for X 4.0
+//
+// Symbols definition for a very simple US and VN keyboard layout.
+// This is a terrible hack, I use temporarily for myself:
+// Instead of using VN char keysyms (which requires hacking X source
+// and recompile) it use the latin-1 keysyms at the same code
+//
+// toggle US and VN keyboard by Shift + Caps_Lock key
+//
+// --------
+// aclark (2000-07-27)
+// I've modified this to refer to the correct keysyms in the server
+//
+// $XFree86: xc/programs/xkbcomp/symbols/vn,v 1.4 2002/11/20 04:49:03 dawes Exp $
+
+partial modifier_keys
+xkb_symbols "toggle" {
+ include "vn(basic)"
+ key <CAPS> { [ Control_L, ISO_Next_Group] };
+ modifier_map Control { <CAPS>, <LCTL> };
+};
+
+
+//partial hidden alphanumeric_keys modifier_keys
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "srvr_ctrl(xfree86)"
+
+ name[Group1]= "US/ASCII";
+ name[Group2]= "Vietnamese";
+
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <TLDE> { [ quoteleft, asciitilde ],
+ [ quoteleft, asciitilde ] };
+ key <AE01> { [ 1, exclam ],
+ [ abreve, Abreve ] };
+ key <AE02> { [ 2, at ],
+ [ acircumflex, Acircumflex ] };
+ key <AE03> { [ 3, numbersign ],
+ [ ecircumflex, Ecircumflex ] };
+ key <AE04> { [ 4, dollar ],
+ [ ocircumflex, Ocircumflex ] };
+ key <AE05> { [ 5, percent ],
+ [ dead_grave, percent ] };
+ key <AE06> { [ 6, asciicircum ],
+ [ dead_hook, asciicircum ] };
+ key <AE07> { [ 7, ampersand ],
+ [ dead_tilde, ampersand ] };
+ key <AE08> { [ 8, asterisk ],
+ [ dead_acute, asterisk ] };
+ key <AE09> { [ 9, parenleft ],
+ [ dead_belowdot,parenleft ] };
+ key <AE10> { [ 0, parenright ],
+ [ dstroke, Dstroke ] };
+ key <AE11> { [ minus, underscore ],
+ [ minus, underscore ] };
+ key <AE12> { [ equal, plus ],
+ [ equal, plus ] };
+ key <BKSP> {
+ type="CTRL+ALT",
+ symbols[Group1]= [ BackSpace, Terminate_Server ]
+ };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ],
+ [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ],
+ [ q, Q ] };
+ key <AD02> { [ w, W ],
+ [ w, W ] };
+ key <AD03> { [ e, E ],
+ [ e, E ] };
+ key <AD04> { [ r, R ],
+ [ r, R ] };
+ key <AD05> { [ t, T ],
+ [ t, T ] };
+ key <AD06> { [ y, Y ],
+ [ y, Y ] };
+ key <AD07> { [ u, U ],
+ [ u, U ] };
+ key <AD08> { [ i, I ],
+ [ i, I ] };
+ key <AD09> { [ o, O ],
+ [ o, O ] };
+ key <AD10> { [ p, P ],
+ [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ],
+ [ 0x10001b0, 0x10001af ] };
+ key <AD12> { [ bracketright, braceright ],
+ [ 0x10001a1, 0x10001a0 ] };
+ key <RTRN> { [ Return ],
+ [ Return ] };
+
+ key <AC01> { [ a, A ],
+ [ a, A ] };
+ key <AC02> { [ s, S ],
+ [ s, S ] };
+ key <AC03> { [ d, D ],
+ [ d, D ] };
+ key <AC04> { [ f, F ],
+ [ f, F ] };
+ key <AC05> { [ g, G ],
+ [ g, G ] };
+ key <AC06> { [ h, H ],
+ [ h, H ] };
+ key <AC07> { [ j, J ],
+ [ j, J ] };
+ key <AC08> { [ k, K ],
+ [ k, K ] };
+ key <AC09> { [ l, L ],
+ [ l, L ] };
+ key <AC10> { [ semicolon, colon ],
+ [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ],
+ [ quoteright, quotedbl ] };
+
+ key <LFSH> { [ Shift_L ],
+ [ Shift_L ] };
+ key <AB01> { [ z, Z ],
+ [ z, Z ] };
+ key <AB02> { [ x, X ],
+ [ x, X ] };
+ key <AB03> { [ c, C ],
+ [ c, C ] };
+ key <AB04> { [ v, V ],
+ [ v, V ] };
+ key <AB05> { [ b, B ],
+ [ b, B ] };
+ key <AB06> { [ n, N ],
+ [ n, N ] };
+ key <AB07> { [ m, M ],
+ [ m, M ] };
+ key <AB08> { [ comma, less ],
+ [ comma, less ] };
+ key <AB09> { [ period, greater ],
+ [ period, greater ] };
+ key <AB10> { [ slash, question ],
+ [ slash, question ] };
+ key <BKSL> { [ backslash, bar ],
+ [ backslash, bar ] };
+
+ key <LCTL> { [ Control_L ],
+ [ Control_L ] };
+ key <SPCE> { [ space ],
+ [ space ] };
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+};
+
+// definition of a US/ASCII layout for a typical 101-key keyboard.
+// Includes the basic alphanumeric and punctuation keys and then
+// defines the "extra" (right) modifier keys, function keys, cursor,
+// edit, and keypad keys.
+xkb_symbols "generic101" {
+ include "vn(basic)"
+ key <RTSH> { [ Shift_R ],
+ [ Shift_R ] };
+ key <LALT> { [ Alt_L ],
+ [ Alt_L ] };
+ key <RCTL> { [ Control_R ],
+ [ Control_R ] };
+ key <RALT> { [ Alt_R ],
+ [ Alt_R ] };
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ],
+ [ F1 ] };
+ key <FK02> { [ F2 ],
+ [ F2 ] };
+ key <FK03> { [ F3 ],
+ [ F3 ] };
+ key <FK04> { [ F4 ],
+ [ F4 ] };
+ key <FK05> { [ F5 ],
+ [ F5 ] };
+ key <FK06> { [ F6 ],
+ [ F6 ] };
+ key <FK07> { [ F7 ],
+ [ F7 ] };
+ key <FK08> { [ F8 ],
+ [ F8 ] };
+ key <FK09> { [ F9 ],
+ [ F9 ] };
+ key <FK10> { [ F10 ],
+ [ F10 ] };
+ key <FK11> { [ F11 ],
+ [ F11 ] };
+ key <FK12> { [ F12 ],
+ [ F12 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <PRSC> {
+ type= "PC_SYSRQ",
+ symbols[Group1]= [ Print, Execute ]
+ };
+ key <SCLK> { [ Scroll_Lock ],
+ [ Scroll_Lock ] };
+ key <PAUS> {
+ type= "PC_BREAK",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <INS> { [ Insert ],
+ [ Insert ] };
+ key <HOME> { [ Home ],
+ [ Home ] };
+ key <PGUP> { [ Prior ],
+ [ Prior ] };
+ key <DELE> { [ Delete ],
+ [ Delete ] };
+ key <END> { [ End ],
+ [ End ] };
+ key <PGDN> { [ Next ],
+ [ Next ] };
+
+ key <UP> { [ Up ],
+ [ Up ] };
+ key <LEFT> { [ Left ],
+ [ Left ] };
+ key <DOWN> { [ Down ],
+ [ Down ] };
+ key <RGHT> { [ Right ],
+ [ Right ] };
+
+ // End "Editing" section, begin "Keypad"
+ key <NMLK> { [ Num_Lock, Pointer_EnableKeys ],
+ [ Num_Lock, Pointer_EnableKeys ] };
+ key <KPDV> { [ KP_Divide ],
+ [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ],
+ [ KP_Multiply ] };
+ key <KPSU> { [ KP_Subtract ],
+ [ KP_Subtract ] };
+
+ key <KP7> { [ KP_Home, KP_7 ],
+ [ KP_Home, KP_7 ] };
+ key <KP8> { [ KP_Up, KP_8 ],
+ [ KP_Up, KP_8 ] };
+ key <KP9> { [ KP_Prior, KP_9 ],
+ [ KP_Prior, KP_9 ] };
+ key <KPAD> { [ KP_Add ],
+ [ KP_Add ] };
+
+ key <KP4> { [ KP_Left, KP_4 ],
+ [ KP_Left, KP_4 ] };
+ key <KP5> { [ KP_Begin, KP_5 ],
+ [ KP_Begin, KP_5 ] };
+ key <KP6> { [ KP_Right, KP_6 ],
+ [ KP_Right, KP_6 ] };
+
+ key <KP1> { [ KP_End, KP_1 ],
+ [ KP_End, KP_1 ] };
+ key <KP2> { [ KP_Down, KP_2 ],
+ [ KP_Down, KP_2 ] };
+ key <KP3> { [ KP_Next, KP_3 ],
+ [ KP_Next, KP_3 ] };
+ key <KPEN> { [ KP_Enter ],
+ [ KP_Enter ] };
+
+ key <KP0> { [ KP_Insert, KP_0 ],
+ [ KP_Insert, KP_0 ] };
+ key <KPDL> { [ KP_Delete, KP_Decimal ],
+ [ KP_Delete, KP_Decimal ] };
+ // End "Keypad" section
+
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_R };
+ modifier_map Control{ Control_R };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Num_Lock };
+ modifier_map Mod5 { Scroll_Lock };
+};
+
+// definition for the PC-AT type 101 key keyboard
+//default
+xkb_symbols "pc101" {
+ include "vn(generic101)"
+ key <LALT> { [ Alt_L, Meta_L ],
+ [ Alt_L, Meta_L ] };
+ key <RALT> { [ Alt_R, Meta_R ],
+ [ Alt_R, Meta_R ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
+};
+
+// definition for the extra key on 102-key keyboards
+xkb_symbols "pc102" {
+ include "vn(pc101)"
+ key <LSGT> { [ less, greater ],
+ [ less, greater ] };
+};
+
+// definition of Euro-style, Alt_R == [Mode_switch, Multi_key]
+xkb_symbols "pc101euro" {
+ include "vn(generic101)"
+ key <LALT> { [ Alt_L, Meta_L ],
+ [ Alt_L, Meta_L ] };
+ key <RALT> { [ Mode_switch, Multi_key ],
+ [ Mode_switch, Multi_key ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Meta_L };
+};
+
+// definition of Alternate Euro-style, Alt_R == [Multi_key]
+xkb_symbols "pc101compose" {
+ include "vn(generic101)"
+ key <LALT> { [ Alt_L, Meta_L ],
+ [ Alt_L, Meta_L ] };
+ key <RALT> { [ Multi_key ],
+ [ Multi_key ] };
+
+ // begin modifier mappings
+ modifier_map Mod1 { Alt_L, Meta_L };
+};
+
+xkb_symbols "pc102euro" {
+ include "us(pc101euro)"
+ key <LSGT> { [ less, greater ] };
+};
+
+xkb_symbols "pc102compose" {
+ include "us(pc101compose)"
+ key <LSGT> { [ less, greater ] };
+};
+
+// definition for the extra keys on 104-key "Windows95" keyboards
+xkb_symbols "pc104" {
+ include "vn(generic101)"
+ key <LALT> { [ Alt_L ],
+ [ Alt_L ] };
+ key <RALT> { [ Alt_R ],
+ [ Alt_R ] };
+ key <LWIN> { [ Meta_L ],
+ [ Meta_L ] };
+ key <RWIN> { [ Meta_R ],
+ [ Meta_R ] };
+ key <MENU> { [ Menu ],
+ [ Menu ] };
+
+ // modifier mappings
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod4 { Meta_L, Meta_R };
+};
+
+// definition of Euro-style, Right "logo" key == [Mode_switch, Multi_key]
+xkb_symbols "pc104euro" {
+ include "vn(pc104)"
+ key <RWIN> { [ Mode_switch, Multi_key ],
+ [ Mode_switch, Multi_key ] };
+};
+
+// put the compose key on the right "logo" key
+xkb_symbols "pc104compose" {
+ include "vn(pc104)"
+ key <RWIN> { [ Multi_key ],
+ [ Multi_key ] };
+};
+
+// defintion which includes both the Windows95 keyboards _and_
+// the extra key on most European keyboards.
+xkb_symbols "pc105" {
+ include "us(pc104)"
+ key <LSGT> { [ less, greater ] };
+};
+xkb_symbols "pc105euro" {
+ include "us(pc104euro)"
+ key <LSGT> { [ less, greater ] };
+};
+xkb_symbols "pc105compose" {
+ include "us(pc104compose)"
+ key <LSGT> { [ less, greater ] };
+};
+// universam maps are identical to pc105; wish we had aliases for map names.
+xkb_symbols "pc_universal" {
+ include "us(pc104)"
+ key <LSGT> { [ less, greater ] };
+};
+xkb_symbols "pc105euro" {
+ include "us(pc104euro)"
+ key <LSGT> { [ less, greater ] };
+};
+xkb_symbols "pc105compose" {
+ include "us(pc104compose)"
+ key <LSGT> { [ less, greater ] };
+};
diff --git a/data/xkbdata/symbols/xfree68/Makefile.am b/data/xkbdata/symbols/xfree68/Makefile.am
new file mode 100644
index 000000000..e2da0b86e
--- /dev/null
+++ b/data/xkbdata/symbols/xfree68/Makefile.am
@@ -0,0 +1,4 @@
+xkbdata_symbols_xfree68dir = $(datadir)/X11/xkb/symbols/xfree68
+dist_xkbdata_symbols_xfree68_DATA = \
+ amiga \
+ ataritt
diff --git a/data/xkbdata/symbols/xfree68/Makefile.in b/data/xkbdata/symbols/xfree68/Makefile.in
new file mode 100644
index 000000000..6a9374eeb
--- /dev/null
+++ b/data/xkbdata/symbols/xfree68/Makefile.in
@@ -0,0 +1,260 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_symbols_xfree68dir = $(datadir)/X11/xkb/symbols/xfree68
+dist_xkbdata_symbols_xfree68_DATA = \
+ amiga \
+ ataritt
+
+subdir = symbols/xfree68
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_symbols_xfree68_DATA)
+
+DIST_COMMON = $(dist_xkbdata_symbols_xfree68_DATA) \
+ $(srcdir)/Makefile.in Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu symbols/xfree68/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_symbols_xfree68DATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_symbols_xfree68DATA: $(dist_xkbdata_symbols_xfree68_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_xfree68dir)
+ @list='$(dist_xkbdata_symbols_xfree68_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_symbols_xfree68DATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_xfree68dir)/$$f"; \
+ $(dist_xkbdata_symbols_xfree68DATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_symbols_xfree68dir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_symbols_xfree68DATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_symbols_xfree68_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_symbols_xfree68dir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_symbols_xfree68dir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_symbols_xfree68dir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_symbols_xfree68DATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_symbols_xfree68DATA \
+ uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_symbols_xfree68DATA install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_symbols_xfree68DATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/symbols/xfree68/amiga b/data/xkbdata/symbols/xfree68/amiga
new file mode 100644
index 000000000..dcc143bb0
--- /dev/null
+++ b/data/xkbdata/symbols/xfree68/amiga
@@ -0,0 +1,132 @@
+// $Xorg: amiga,v 1.3 2000/08/17 19:54:46 cpqbld Exp $
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/xfree68/amiga,v 1.2 2000/06/23 00:44:37 dawes Exp $
+
+default xkb_symbols "usa1" {
+
+ name[Group1]= "usa1";
+ key <ESC> { [ Escape ] };
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ // End "Function" section
+
+ // Alphanumeric section
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <BKSL> { [ backslash, bar ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <RTRN> { [ Return ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <CAPS> { [ Caps_Lock ] };
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+ key <RTSH> { [ Shift_R ] };
+
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <LAMI> { [ Mode_switch ] };
+ key <SPCE> { [ space ] };
+ key <RAMI> { [ Multi_key ] };
+ key <RALT> { [ Alt_R, Meta_R ] };
+ // End alphanumeric section
+
+ // Begin "Editing" section
+ key <DELE> { [ Delete ] };
+ key <HELP> { [ Help ] };
+ key <UP> { [ Up ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <KPLP> { [ Num_Lock ] };
+ key <KPRP> { [ Scroll_Lock ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply, Print ] };
+
+ key <KP7> { [ KP_7, KP_Home ] };
+ key <KP8> { [ KP_8, KP_Up ] };
+ key <KP9> { [ KP_9, KP_Prior ] };
+ key <KPSU> { [ KP_Subtract ] };
+
+ key <KP4> { [ KP_4, KP_Left ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6, KP_Right ] };
+ key <KPAD> { [ KP_Add ] };
+
+ key <KP1> { [ KP_1, KP_End ] };
+ key <KP2> { [ KP_2, KP_Down ] };
+ key <KP3> { [ KP_3, KP_Next ] };
+
+ key <KP0> { [ KP_0, KP_Insert ] };
+ key <KPDC> { [ KP_Decimal, KP_Delete ] };
+ key <KPEN> { [ KP_Enter ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod1 { Alt_L, Alt_R };
+ modifier_map Mod2 { Mode_switch };
+ modifier_map Mod3 { Meta_L, Meta_R };
+};
diff --git a/data/xkbdata/symbols/xfree68/ataritt b/data/xkbdata/symbols/xfree68/ataritt
new file mode 100644
index 000000000..c06431fb8
--- /dev/null
+++ b/data/xkbdata/symbols/xfree68/ataritt
@@ -0,0 +1,161 @@
+// $Xorg: ataritt,v 1.3 2000/08/17 19:54:46 cpqbld Exp $
+
+
+
+// $XFree86: xc/programs/xkbcomp/symbols/xfree68/ataritt,v 1.2 2000/06/23 00:44:37 dawes Exp $
+
+default xkb_symbols "us" {
+
+ name[Group1]= "US/ASCII";
+ key <ESC> { [ Escape ] };
+
+ // Alphanumeric section
+ key <AE01> { [ 1, exclam ] };
+ key <AE02> { [ 2, at ] };
+ key <AE03> { [ 3, numbersign ] };
+ key <AE04> { [ 4, dollar ] };
+ key <AE05> { [ 5, percent ] };
+ key <AE06> { [ 6, asciicircum ] };
+ key <AE07> { [ 7, ampersand ] };
+ key <AE08> { [ 8, asterisk ] };
+ key <AE09> { [ 9, parenleft ] };
+ key <AE10> { [ 0, parenright ] };
+ key <AE11> { [ minus, underscore ] };
+ key <AE12> { [ equal, plus ] };
+ key <TLDE> { [ quoteleft, asciitilde ] };
+ key <BKSP> { [ BackSpace ] };
+
+ key <TAB> { [ Tab, ISO_Left_Tab ] };
+ key <AD01> { [ q, Q ] };
+ key <AD02> { [ w, W ] };
+ key <AD03> { [ e, E ] };
+ key <AD04> { [ r, R ] };
+ key <AD05> { [ t, T ] };
+ key <AD06> { [ y, Y ] };
+ key <AD07> { [ u, U ] };
+ key <AD08> { [ i, I ] };
+ key <AD09> { [ o, O ] };
+ key <AD10> { [ p, P ] };
+ key <AD11> { [ bracketleft, braceleft ] };
+ key <AD12> { [ bracketright, braceright ] };
+ key <RTRN> { [ Return ] };
+ key <DELE> { [ Delete ] };
+
+ key <LCTL> { [ Control_L ] };
+ key <AC01> { [ a, A ] };
+ key <AC02> { [ s, S ] };
+ key <AC03> { [ d, D ] };
+ key <AC04> { [ f, F ] };
+ key <AC05> { [ g, G ] };
+ key <AC06> { [ h, H ] };
+ key <AC07> { [ j, J ] };
+ key <AC08> { [ k, K ] };
+ key <AC09> { [ l, L ] };
+ key <AC10> { [ semicolon, colon ] };
+ key <AC11> { [ quoteright, quotedbl ] };
+ key <BKSL> { [ backslash, bar ] };
+
+ key <LFSH> { [ Shift_L ] };
+ key <AB01> { [ z, Z ] };
+ key <AB02> { [ x, X ] };
+ key <AB03> { [ c, C ] };
+ key <AB04> { [ v, V ] };
+ key <AB05> { [ b, B ] };
+ key <AB06> { [ n, N ] };
+ key <AB07> { [ m, M ] };
+ key <AB08> { [ comma, less ] };
+ key <AB09> { [ period, greater ] };
+ key <AB10> { [ slash, question ] };
+ key <RTSH> { [ Shift_R ] };
+
+ key <ALT> { [ Meta_L ] };
+ key <SPCE> { [ space ] };
+ key <CAPS> { [ Caps_Lock ] };
+ // End alphanumeric section
+
+ // Begin "Function" section
+ key <FK01> { [ F1 ] };
+ key <FK02> { [ F2 ] };
+ key <FK03> { [ F3 ] };
+ key <FK04> { [ F4 ] };
+ key <FK05> { [ F5 ] };
+ key <FK06> { [ F6 ] };
+ key <FK07> { [ F7 ] };
+ key <FK08> { [ F8 ] };
+ key <FK09> { [ F9 ] };
+ key <FK10> { [ F10 ] };
+ // End "Function" section
+
+ // Begin "Editing" section
+ key <HELP> { [ Help ] };
+ key <UNDO> { [ Undo ] };
+ key <INS> { [ Insert ] };
+ key <UP> { [ Up ] };
+ key <HOME> { [ Home, Clear ] };
+ key <LEFT> { [ Left ] };
+ key <DOWN> { [ Down ] };
+ key <RGHT> { [ Right ] };
+ // End "Editing" section
+
+ // Begin "Keypad" section
+ key <KPLP> { [ KP_F1 ] };
+ key <KPRP> { [ KP_F2 ] };
+ key <KPDV> { [ KP_Divide ] };
+ key <KPMU> { [ KP_Multiply ] };
+ key <KP7> { [ KP_7 ] };
+ key <KP8> { [ KP_8 ] };
+ key <KP9> { [ KP_9 ] };
+ key <KPSU> { [ KP_Subtract ] };
+ key <KP4> { [ KP_4 ] };
+ key <KP5> { [ KP_5 ] };
+ key <KP6> { [ KP_6 ] };
+ key <KPAD> { [ KP_Add ] };
+ key <KP1> { [ KP_1 ] };
+ key <KP2> { [ KP_2 ] };
+ key <KP3> { [ KP_3 ] };
+ key <KP0> { [ KP_0 ] };
+ key <KPDC> { [ KP_Decimal ] };
+ key <KPEN> { [ KP_Enter ] };
+ // End "Keypad" section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L, Shift_R };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod1 { Meta_L };
+};
+
+xkb_symbols "de" {
+ include "ataritt(us)"
+
+ name[Group1]= "German";
+
+ // Alphanumeric section
+ key <AE02> { [ 2, quotedbl ] };
+ key <AE03> { [ 3, section ] };
+ key <AE06> { [ 6, ampersand ] };
+ key <AE07> { [ 7, slash ] };
+ key <AE08> { [ 8, parenleft ] };
+ key <AE09> { [ 9, parenright ] };
+ key <AE10> { [ 0, equal ] };
+ key <AE11> { [ ssharp, question ] };
+ key <AE12> { [ quoteright, quoteleft ] };
+ key <TLDE> { [ numbersign, asciicircum ] };
+
+ key <AD06> { [ z, Z ] };
+ key <AD11> { [ udiaeresis, Udiaeresis ],
+ [ at, backslash ] };
+ key <AD12> { [ plus, asterisk ] };
+
+ key <AC10> { [ odiaeresis, Odiaeresis ],
+ [ bracketleft, braceleft ] };
+ key <AC11> { [ adiaeresis, Adiaeresis ],
+ [ bracketright, braceright ] };
+ key <BKSL> { [ asciitilde, bar ] };
+
+ key <LSGT> { [ less, greater ] };
+ key <AB01> { [ y, Y ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+};
diff --git a/data/xkbdata/symbols/yu b/data/xkbdata/symbols/yu
new file mode 100644
index 000000000..8f9d32368
--- /dev/null
+++ b/data/xkbdata/symbols/yu
@@ -0,0 +1,85 @@
+// $XFree86$
+//
+// Converted keytable file to xkb/symbols/ file
+// with mk_xkb by root@linux.chanae.stben.be Tue Sep 30 00:34:26 MET DST 1997
+
+// Yugoslavian keyboard.
+// Source: the keyboard pictures on MS-DOS 6.22 manual
+// Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+
+default partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple US/ASCII
+ // keyboard and a very simple Yugoslav keybaord
+
+ // Alphanumeric section
+ name[Group1]= "Yugoslav";
+
+ key <AE01> { [ 1, exclam ],
+ [ asciitilde ] };
+ key <AE02> { [ 2, quotedbl ],
+ [ dead_caron ] };
+ key <AE03> { [ 3, numbersign ],
+ [ dead_circumflex ] };
+ key <AE04> { [ 4, dollar ],
+ [ dead_breve ] };
+ key <AE05> { [ 5, percent ],
+ [ degree ] };
+ key <AE06> { [ 6, ampersand ],
+ [ dead_ogonek ] };
+ key <AE07> { [ 7, slash ],
+ [ dead_grave ] };
+ key <AE08> { [ 8, parenleft ],
+ [ abovedot ] };
+ key <AE09> { [ 9, parenright ],
+ [ dead_acute ] };
+ key <AE10> { [ 0, equal ],
+ [ dead_doubleacute ] };
+ key <AE11> { [ apostrophe, question ],
+ [ dead_diaeresis ] };
+ key <AE12> { [ plus, asterisk ],
+ [ dead_cedilla ] };
+ key <AD01> { [ q, Q ],
+ [ backslash ] };
+ key <AD02> { [ w, W ],
+ [ bar ] };
+ key <AD11> { [ scaron, Scaron ],
+ [ division ] };
+ key <AD12> { [ dstroke, Dstroke ],
+ [ multiply ] };
+ key <AC04> { [ f, F ],
+ [ bracketleft ] };
+ key <AC05> { [ g, G ],
+ [ bracketright ] };
+ key <AC08> { [ k, K ],
+ [ lstroke ] };
+ key <AC09> { [ l, L ],
+ [ Lstroke ] };
+ key <AC10> { [ ccaron, Ccaron ] };
+ key <AC11> { [ cacute, Cacute ],
+ [ ssharp ] };
+ key <TLDE> { [ dead_diaeresis, dead_cedilla ] };
+ key <BKSL> { [ zcaron, Zcaron ] };
+ key <AB04> { [ v, V ],
+ [ at ] };
+ key <AB05> { [ b, B ],
+ [ braceleft ] };
+ key <AB06> { [ n, N ],
+ [ braceright ] };
+ key <AB07> { [ m, M ],
+ [ section ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+ key <AB10> { [ minus, underscore ] };
+ key <LSGT> { [ less, greater ],
+ [ bar ] };
+
+ // End alphanumeric section
+
+ // begin modifier mappings
+ modifier_map Shift { Shift_L };
+ modifier_map Lock { Caps_Lock };
+ modifier_map Control{ Control_L };
+ modifier_map Mod3 { Mode_switch };
+};
diff --git a/data/xkbdata/torture/Makefile.am b/data/xkbdata/torture/Makefile.am
new file mode 100644
index 000000000..3d9741cb3
--- /dev/null
+++ b/data/xkbdata/torture/Makefile.am
@@ -0,0 +1,17 @@
+xkbdata_torturedir = $(datadir)/X11/xkb/torture
+dist_xkbdata_torture_DATA = \
+ indicator \
+ indicator1 \
+ indicator2 \
+ indicator3 \
+ mod_compat \
+ mod_compat1 \
+ mod_compat2 \
+ mod_compat3 \
+ mod_compat4 \
+ sym_interp \
+ sym_interp1 \
+ sym_interp2 \
+ sym_interp3 \
+ sym_interp4 \
+ types
diff --git a/data/xkbdata/torture/Makefile.in b/data/xkbdata/torture/Makefile.in
new file mode 100644
index 000000000..a8fa0f37b
--- /dev/null
+++ b/data/xkbdata/torture/Makefile.in
@@ -0,0 +1,272 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_torturedir = $(datadir)/X11/xkb/torture
+dist_xkbdata_torture_DATA = \
+ indicator \
+ indicator1 \
+ indicator2 \
+ indicator3 \
+ mod_compat \
+ mod_compat1 \
+ mod_compat2 \
+ mod_compat3 \
+ mod_compat4 \
+ sym_interp \
+ sym_interp1 \
+ sym_interp2 \
+ sym_interp3 \
+ sym_interp4 \
+ types
+
+subdir = torture
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_torture_DATA)
+
+DIST_COMMON = $(dist_xkbdata_torture_DATA) $(srcdir)/Makefile.in \
+ Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu torture/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_tortureDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_tortureDATA: $(dist_xkbdata_torture_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_torturedir)
+ @list='$(dist_xkbdata_torture_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_tortureDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_torturedir)/$$f"; \
+ $(dist_xkbdata_tortureDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_torturedir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_tortureDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_torture_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_torturedir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_torturedir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_torturedir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_tortureDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_tortureDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_tortureDATA install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_tortureDATA uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/torture/indicator b/data/xkbdata/torture/indicator
new file mode 100644
index 000000000..66d743f21
--- /dev/null
+++ b/data/xkbdata/torture/indicator
@@ -0,0 +1,68 @@
+// $Xorg: indicator,v 1.3 2000/08/17 19:54:46 cpqbld Exp $
+xkb_compatibility "torture"
+
+virtual_modifiers NumLock,AltGr;
+
+interpret Any {
+ action= NoAction();
+};
+
+indicator "Caps Lock" {
+ modifiers= Lock;
+};
+augment indicator "Caps Lock" {
+ allowExplicit= False;
+ modifiers= Control;
+};
+
+indicator "Shift Lock" {
+ allowExplicit= True;
+ modifiers= Control;
+ groups= 1;
+};
+override indicator "Shift Lock" {
+ allowExplicit= False;
+ whichModState= Locked;
+ modifiers= Shift;
+ groups= None;
+};
+
+include "torture/indicator1"
+
+augment indicator "Mod1" {
+ allowExplicit= False;
+ modifiers= Lock;
+};
+override indicator "Mod2" {
+ modifiers= Mod2;
+ controls= None;
+};
+
+indicator "Num Lock" {
+ allowExplicit= False;
+ modifiers= NumLock;
+};
+augment "torture/indicator2"
+
+indicator "Mouse Keys" {
+ allowExplicit= False;
+ groups= All-1;
+ modifiers= Shift+Control;
+ whichModState= Locked;
+};
+override "torture/indicator3"
+
+indicator "StickyKeys" {
+ allowExplicit= True;
+ groups= All-4;
+ modifiers= Mod5;
+ controls= MouseKeys;
+};
+replace indicator "StickyKeys" {
+ controls= StickyKeys;
+};
+augment indicator "StickyKeys" {
+ allowExplicit= False;
+};
+
+
diff --git a/data/xkbdata/torture/indicator1 b/data/xkbdata/torture/indicator1
new file mode 100644
index 000000000..64e876fdc
--- /dev/null
+++ b/data/xkbdata/torture/indicator1
@@ -0,0 +1,12 @@
+// $Xorg: indicator1,v 1.3 2000/08/17 19:54:47 cpqbld Exp $
+xkb_compatibility "torture1"
+
+indicator "Mod1" {
+ modifiers= Mod1;
+};
+indicator "Mod2" {
+ allowExplicit= False;
+ modifiers= Lock;
+ controls= MouseKeys;
+};
+
diff --git a/data/xkbdata/torture/indicator2 b/data/xkbdata/torture/indicator2
new file mode 100644
index 000000000..ed1998614
--- /dev/null
+++ b/data/xkbdata/torture/indicator2
@@ -0,0 +1,7 @@
+// $Xorg: indicator2,v 1.3 2000/08/17 19:54:47 cpqbld Exp $
+xkb_compatibility "torture2"
+
+indicator "Num Lock" {
+ allowExplicit= True;
+ modifiers= Control;
+};
diff --git a/data/xkbdata/torture/indicator3 b/data/xkbdata/torture/indicator3
new file mode 100644
index 000000000..3e903e39f
--- /dev/null
+++ b/data/xkbdata/torture/indicator3
@@ -0,0 +1,8 @@
+// $Xorg: indicator3,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture3"
+
+indicator "Mouse Keys" {
+ groups= None;
+ modifiers= None;
+ controls= MouseKeys;
+};
diff --git a/data/xkbdata/torture/mod_compat b/data/xkbdata/torture/mod_compat
new file mode 100644
index 000000000..ddcf1bbcb
--- /dev/null
+++ b/data/xkbdata/torture/mod_compat
@@ -0,0 +1,35 @@
+// $Xorg: mod_compat,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture"
+
+virtual_modifiers NumLock,AltGr;
+
+interpret Any {
+ action= NoAction();
+};
+
+modifier AltGr { groups= 0x7e; };
+augment modifier AltGr { modifiers= Mod1; };
+augment modifier AltGr { groups= 0xfd; };
+override modifier AltGr { groups= 0xfb; };
+
+modifier NumLock { modifiers= Mod2; };
+augment modifier NumLock { modifiers= Mod1; };
+
+include "torture/mod_compat1"
+augment modifier Shift { groups= 0x01; };
+augment modifier Shift { modifiers= Lock; };
+
+override modifier Lock { groups= 0x02; };
+override modifier Lock { modifiers= Control; };
+
+modifier Control { mods= None; };
+modifier Mod1 { mods= Mod1; groups= 0x08; };
+augment "torture/mod_compat2"
+
+modifier Mod2 { mods= None; groups= 0x10; };
+modifier Mod3 { mods= Mod3; groups= 0x20; };
+override "torture/mod_compat3"
+
+modifier Mod4 { mods= None; groups= 0x40; };
+modifier Mod5 { mods= Mod5; groups= 0x80; };
+include "torture/mod_compat4"
diff --git a/data/xkbdata/torture/mod_compat1 b/data/xkbdata/torture/mod_compat1
new file mode 100644
index 000000000..b21c7a826
--- /dev/null
+++ b/data/xkbdata/torture/mod_compat1
@@ -0,0 +1,5 @@
+// $Xorg: mod_compat1,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture1"
+
+modifier Shift { mods= Shift; };
+modifier Lock { mods= Lock; };
diff --git a/data/xkbdata/torture/mod_compat2 b/data/xkbdata/torture/mod_compat2
new file mode 100644
index 000000000..a58dd17db
--- /dev/null
+++ b/data/xkbdata/torture/mod_compat2
@@ -0,0 +1,5 @@
+// $Xorg: mod_compat2,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture2"
+
+modifier Control { groups= 0x4; mods= Mod1; };
+replace modifier Mod1 { mods= None; groups= 0x40; };
diff --git a/data/xkbdata/torture/mod_compat3 b/data/xkbdata/torture/mod_compat3
new file mode 100644
index 000000000..330051b85
--- /dev/null
+++ b/data/xkbdata/torture/mod_compat3
@@ -0,0 +1,5 @@
+// $Xorg: mod_compat3,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture3"
+
+modifier Mod2 { mods= Mod3; };
+replace modifier Mod3 { mods= None; groups= 0x01; };
diff --git a/data/xkbdata/torture/mod_compat4 b/data/xkbdata/torture/mod_compat4
new file mode 100644
index 000000000..ce6733d22
--- /dev/null
+++ b/data/xkbdata/torture/mod_compat4
@@ -0,0 +1,5 @@
+// $Xorg: mod_compat4,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture4"
+
+modifier Mod4 { mods= Mod5; };
+replace modifier Mod5 { mods= None; groups= 0x01; };
diff --git a/data/xkbdata/torture/sym_interp b/data/xkbdata/torture/sym_interp
new file mode 100644
index 000000000..b5801e9a6
--- /dev/null
+++ b/data/xkbdata/torture/sym_interp
@@ -0,0 +1,62 @@
+// $Xorg: sym_interp,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture"
+
+virtual_modifiers NumLock,AltGr;
+
+interpret Shift_L {
+ action= SetMods(mods=Shift);
+};
+augment interpret Shift_L {
+ repeat= True;
+ action= NoAction();
+};
+
+interpret Shift_R {
+ action= NoAction();
+};
+override interpret Shift_R {
+ repeat= True;
+ action= SetMods(mods=Shift);
+};
+
+include "torture/sym_interp1"
+
+augment interpret Control_L {
+ locking= True;
+ action= NoAction();
+};
+override interpret Control_R {
+ locking= False;
+ action= SetMods(mods=Control);
+};
+
+
+interpret ISO_Next_Group {
+ repeat= False;
+ action= LockGroup(group=+1);
+};
+augment "torture/sym_interp2"
+
+interpret ISO_Prev_Group {
+ action= NoAction();
+};
+override "torture/sym_interp3"
+
+interpret Num_Lock {
+ repeat= True;
+ action= NoAction();
+};
+replace interpret Num_Lock {
+ action= LockMods(mods=NumLock);
+};
+augment interpret Num_Lock {
+ virtualMod= NumLock;
+};
+
+interpret Mode_switch {
+ locking= True;
+ virtualMod= NumLock;
+ action= NoAction();
+};
+replace "torture/sym_interp4"
+
diff --git a/data/xkbdata/torture/sym_interp1 b/data/xkbdata/torture/sym_interp1
new file mode 100644
index 000000000..26534597d
--- /dev/null
+++ b/data/xkbdata/torture/sym_interp1
@@ -0,0 +1,12 @@
+// $Xorg: sym_interp1,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture1"
+
+interpret Control_L {
+ locking= False;
+ action= SetMods(mods=Control);
+};
+
+interpret Control_R {
+ locking= True;
+ action= NoAction();
+};
diff --git a/data/xkbdata/torture/sym_interp2 b/data/xkbdata/torture/sym_interp2
new file mode 100644
index 000000000..407c0284a
--- /dev/null
+++ b/data/xkbdata/torture/sym_interp2
@@ -0,0 +1,7 @@
+// $Xorg: sym_interp2,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture2"
+
+interpret ISO_Next_Group {
+ repeat= True;
+ action= NoAction();
+};
diff --git a/data/xkbdata/torture/sym_interp3 b/data/xkbdata/torture/sym_interp3
new file mode 100644
index 000000000..89a3bb1f2
--- /dev/null
+++ b/data/xkbdata/torture/sym_interp3
@@ -0,0 +1,6 @@
+// $Xorg: sym_interp3,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture3"
+
+interpret ISO_Prev_Group {
+ action= LockGroup(group=-1);
+};
diff --git a/data/xkbdata/torture/sym_interp4 b/data/xkbdata/torture/sym_interp4
new file mode 100644
index 000000000..2c45f81db
--- /dev/null
+++ b/data/xkbdata/torture/sym_interp4
@@ -0,0 +1,9 @@
+// $Xorg: sym_interp4,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+xkb_compatibility "torture4"
+
+virtual_modifiers NumLock,AltGr;
+
+interpret Mode_switch {
+ virtualMod= AltGr;
+ action= SetGroup(group=2);
+};
diff --git a/data/xkbdata/torture/types b/data/xkbdata/torture/types
new file mode 100644
index 000000000..84c14a338
--- /dev/null
+++ b/data/xkbdata/torture/types
@@ -0,0 +1,19 @@
+// $XConsortium $
+xkb_types "Common"
+
+virtual_modifiers Alt;
+
+type "TEST" {
+ modifiers = Shift;
+ map[Shift] = Level2;
+ level_name[Level1]= "Any";
+ level_name[Level2]= "Shift";
+};
+
+augment type "TEST" {
+ modifiers = Alt;
+ map[Alt] = Level2;
+ level_name[level2]= "Alt";
+};
+
+
diff --git a/data/xkbdata/types/Makefile.am b/data/xkbdata/types/Makefile.am
new file mode 100644
index 000000000..3de54aecf
--- /dev/null
+++ b/data/xkbdata/types/Makefile.am
@@ -0,0 +1,18 @@
+xkbdata_typesdir = $(datadir)/X11/xkb/types
+dist_xkbdata_types_DATA = \
+ basic \
+ cancel \
+ caps \
+ complete \
+ default \
+ extra \
+ iso9995 \
+ mousekeys \
+ numpad \
+ pc \
+ README
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = types.dir
+
+include $(top_srcdir)/xkbrules.am
diff --git a/data/xkbdata/types/Makefile.in b/data/xkbdata/types/Makefile.in
new file mode 100644
index 000000000..5c417e747
--- /dev/null
+++ b/data/xkbdata/types/Makefile.in
@@ -0,0 +1,302 @@
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Common rules for building *.dir files in all xkb subdirectories
+# Replaces Imake's MakeXkbDir() rule
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XKBCOMP = @XKBCOMP@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+xkbdata_typesdir = $(datadir)/X11/xkb/types
+dist_xkbdata_types_DATA = \
+ basic \
+ cancel \
+ caps \
+ complete \
+ default \
+ extra \
+ iso9995 \
+ mousekeys \
+ numpad \
+ pc \
+ README
+
+
+xkbdatadir = $(datadir)/X11/xkb
+xkbdata_DATA = types.dir
+
+MOSTLYCLEANFILES = $(subdir).dir
+subdir = types
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DATA = $(dist_xkbdata_types_DATA) $(xkbdata_DATA)
+
+DIST_COMMON = README $(dist_xkbdata_types_DATA) $(srcdir)/Makefile.in \
+ $(top_srcdir)/xkbrules.am Makefile.am
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/xkbrules.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu types/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+uninstall-info-am:
+dist_xkbdata_typesDATA_INSTALL = $(INSTALL_DATA)
+install-dist_xkbdata_typesDATA: $(dist_xkbdata_types_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_typesdir)
+ @list='$(dist_xkbdata_types_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(dist_xkbdata_typesDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_typesdir)/$$f"; \
+ $(dist_xkbdata_typesDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdata_typesdir)/$$f; \
+ done
+
+uninstall-dist_xkbdata_typesDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_xkbdata_types_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdata_typesdir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdata_typesdir)/$$f; \
+ done
+xkbdataDATA_INSTALL = $(INSTALL_DATA)
+install-xkbdataDATA: $(xkbdata_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(xkbdatadir)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f"; \
+ $(xkbdataDATA_INSTALL) $$d$$p $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+
+uninstall-xkbdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xkbdata_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(xkbdatadir)/$$f"; \
+ rm -f $(DESTDIR)$(xkbdatadir)/$$f; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/..
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(xkbdata_typesdir) $(DESTDIR)$(xkbdatadir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+
+distclean-generic:
+ -rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_xkbdata_typesDATA install-xkbdataDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_xkbdata_typesDATA uninstall-info-am \
+ uninstall-xkbdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am info info-am install \
+ install-am install-data install-data-am \
+ install-dist_xkbdata_typesDATA install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ install-xkbdataDATA installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-dist_xkbdata_typesDATA uninstall-info-am \
+ uninstall-xkbdataDATA
+
+
+$(subdir).dir:
+ -rm -f $@
+ $(XKBCOMP) -lfhlpR -o $@ '*'
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/xkbdata/types/README b/data/xkbdata/types/README
new file mode 100644
index 000000000..039d8f424
--- /dev/null
+++ b/data/xkbdata/types/README
@@ -0,0 +1,8 @@
+The types component of a keyboard mapping specifies the key types that can be
+associated with the various keyboard keys. The types component can also
+optionally contain real modifiers binding and symbolic names for one
+or more virtual modifiers.
+
+
+
+/* $XFree86$ */
diff --git a/data/xkbdata/types/basic b/data/xkbdata/types/basic
new file mode 100644
index 000000000..735fe03db
--- /dev/null
+++ b/data/xkbdata/types/basic
@@ -0,0 +1,40 @@
+// $Xorg: basic,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+// $XFree86$
+default xkb_types "basic" {
+
+ // Fairly standard definitions for
+ // the four required key types
+
+ virtual_modifiers NumLock;
+
+ type "ONE_LEVEL" {
+ modifiers = None;
+ map[None] = Level1;
+ level_name[Level1]= "Any";
+ };
+
+ type "TWO_LEVEL" {
+ modifiers = Shift;
+ map[Shift] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ };
+
+ type "ALPHABETIC" {
+ modifiers = Shift+Lock;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Caps";
+ };
+
+ type "KEYPAD" {
+ modifiers = Shift+NumLock;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[NumLock] = Level2;
+ map[Shift+NumLock] = Level1;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Number";
+ };
+};
diff --git a/data/xkbdata/types/cancel b/data/xkbdata/types/cancel
new file mode 100644
index 000000000..478c99c4b
--- /dev/null
+++ b/data/xkbdata/types/cancel
@@ -0,0 +1,12 @@
+// $Xorg: cancel,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+partial default xkb_types "Shift_Cancels_Caps" {
+
+override type "TWO_LEVEL" {
+ modifiers = Shift+Lock;
+ map[Shift] = Level2;
+ preserve[Lock]= Lock;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+};
+
+};
diff --git a/data/xkbdata/types/caps b/data/xkbdata/types/caps
new file mode 100644
index 000000000..efcae864b
--- /dev/null
+++ b/data/xkbdata/types/caps
@@ -0,0 +1,170 @@
+// $XFree86: xc/programs/xkbcomp/types/caps,v 1.3 2002/11/26 02:14:02 dawes Exp $
+
+// CapsLock uses internal capitalization rules
+// Shift cancels CapsLock
+partial xkb_types "internal" {
+ type "ALPHABETIC" {
+ modifiers = Shift+Lock;
+ map[Shift] = Level2;
+ preserve[Lock] = Lock;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Caps";
+ };
+
+ type "FOUR_LEVEL_ALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ preserve[Lock] = Lock;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level3;
+ map[Lock+Shift+LevelThree] = Level3;
+ preserve[Lock+LevelThree] = Lock;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+
+ type "FOUR_LEVEL_SEMIALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ preserve[Lock] = Lock;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level3;
+ map[Lock+Shift+LevelThree] = Level4;
+ preserve[Lock+LevelThree] = Lock;
+ preserve[Lock+Shift+LevelThree] = Lock;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+};
+// CapsLock uses internal capitalization rules
+// Shift doesn't cancel CapsLock
+partial xkb_types "internal_nocancel" {
+ type "ALPHABETIC" {
+ modifiers = Shift;
+ map[Shift] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Caps";
+ };
+
+ type "FOUR_LEVEL_ALPHABETIC" {
+ modifiers = Shift+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+
+ type "FOUR_LEVEL_SEMIALPHABETIC" {
+ // the same as FOUR_LEVEL_ALPHABETIC
+ modifiers = Shift+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+};
+// CapsLock acts as Shift with locking
+// Shift cancels CapsLock
+partial xkb_types "shift" {
+ type "ALPHABETIC" {
+ modifiers = Shift+Lock;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Caps";
+ };
+
+ type "FOUR_LEVEL_ALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level4;
+ map[Shift+Lock+LevelThree] = Level3;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+
+ type "FOUR_LEVEL_SEMIALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level3;
+ map[Lock+Shift+LevelThree] = Level4;
+ preserve[Lock+LevelThree] = Lock;
+ preserve[Lock+Shift+LevelThree] = Lock;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+};
+// CapsLock acts as Shift with locking
+// Shift doesn't cancel CapsLock
+partial xkb_types "shift_nocancel" {
+ type "ALPHABETIC" {
+ modifiers = Shift+Lock;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ map[Shift+Lock] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Caps";
+ };
+
+ type "FOUR_LEVEL_ALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ map[Shift+Lock] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level4;
+ map[Shift+Lock+LevelThree] = Level4;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+
+ type "FOUR_LEVEL_SEMIALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ map[Shift+Lock] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level3;
+ map[Lock+Shift+LevelThree] = Level4;
+ preserve[Lock+LevelThree] = Lock;
+ preserve[Lock+Shift+LevelThree] = Lock;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+};
diff --git a/data/xkbdata/types/complete b/data/xkbdata/types/complete
new file mode 100644
index 000000000..ecf6ec132
--- /dev/null
+++ b/data/xkbdata/types/complete
@@ -0,0 +1,14 @@
+// $Xorg: complete,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+//
+//
+//
+//
+// $XFree86: xc/programs/xkbcomp/types/complete,v 1.2 2001/05/18 23:35:35 dawes Exp $
+
+default xkb_types "complete" {
+ include "basic"
+ include "mousekeys"
+ include "pc"
+ include "iso9995"
+ include "extra"
+};
diff --git a/data/xkbdata/types/default b/data/xkbdata/types/default
new file mode 100644
index 000000000..5d6ba744e
--- /dev/null
+++ b/data/xkbdata/types/default
@@ -0,0 +1,14 @@
+// $Xorg: default,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+//
+//
+//
+//
+// $XFree86$
+
+default xkb_types "default" {
+ include "basic"
+ include "pc"
+ include "iso9995"
+ include "extra"
+ include "mousekeys"
+};
diff --git a/data/xkbdata/types/extra b/data/xkbdata/types/extra
new file mode 100644
index 000000000..6f2d850a4
--- /dev/null
+++ b/data/xkbdata/types/extra
@@ -0,0 +1,93 @@
+// $XFree86: xc/programs/xkbcomp/types/extra,v 1.3 2002/11/26 02:14:02 dawes Exp $
+
+partial default xkb_types "default" {
+ // Definition for a key type used for the czech keymap, for instance.
+ // Defines style a with four level shift. It is similar to three_level
+ // type used for iso9995 but it lets the shift key behave "normally".
+
+ virtual_modifiers LevelThree;
+
+ type "FOUR_LEVEL" {
+ modifiers = Shift+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+
+ type "FOUR_LEVEL_ALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level4;
+ map[Shift+Lock+LevelThree] = Level3;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+
+ type "FOUR_LEVEL_SEMIALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[Lock] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level3;
+ map[Lock+Shift+LevelThree] = Level4;
+ preserve[Lock+LevelThree] = Lock;
+ preserve[Lock+Shift+LevelThree] = Lock;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Shift Alt";
+ };
+
+ // This enables the four level shifting also for the keypad.
+ type "FOUR_LEVEL_KEYPAD" {
+ modifiers = Shift+NumLock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[NumLock] = Level2;
+ map[Shift+NumLock] = Level1;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[NumLock+LevelThree] = Level4;
+ map[Shift+NumLock+LevelThree] = Level3;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Number";
+ level_name[Level3] = "Alt Base";
+ level_name[Level4] = "Alt Number";
+ };
+
+// Special type for keys used in Serbian Latin Unicode map
+// It makes it possible to use all three forms of latin letters
+// present in Unicode that are made up of two separate letters
+// (forms like LJ, Lj, and lj; NJ, Nj, and nj; etc)
+
+ type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
+ modifiers = Shift+Lock+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[Lock] = Level4;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level4;
+ map[Lock+LevelThree] = Level3;
+ map[Lock+Shift+LevelThree] = Level3;
+ preserve[Lock]= Lock;
+ preserve[Lock+LevelThree]= Lock;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "AltGr Base";
+ level_name[Level4] = "Shift AltGr";
+ };
+};
+
diff --git a/data/xkbdata/types/iso9995 b/data/xkbdata/types/iso9995
new file mode 100644
index 000000000..80f3ee5cf
--- /dev/null
+++ b/data/xkbdata/types/iso9995
@@ -0,0 +1,20 @@
+// $Xorg: iso9995,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+partial default xkb_types "default" {
+
+ // Definition for a key type which
+ // can be used to implement ISO9995
+ // style level three shift
+ virtual_modifiers LevelThree;
+
+ type "THREE_LEVEL" {
+ modifiers = Shift+LevelThree;
+ map[None] = Level1;
+ map[Shift] = Level2;
+ map[LevelThree] = Level3;
+ map[Shift+LevelThree] = Level3;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift";
+ level_name[Level3] = "Level3";
+ };
+};
+
diff --git a/data/xkbdata/types/mousekeys b/data/xkbdata/types/mousekeys
new file mode 100644
index 000000000..85440ca7f
--- /dev/null
+++ b/data/xkbdata/types/mousekeys
@@ -0,0 +1,13 @@
+// $Xorg: mousekeys,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+//
+partial default xkb_types "default" {
+ virtual_modifiers Alt;
+
+ type "SHIFT+ALT" {
+ modifiers = Shift+Alt;
+ map[Shift+Alt] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Shift+Alt";
+ };
+};
+
diff --git a/data/xkbdata/types/numpad b/data/xkbdata/types/numpad
new file mode 100644
index 000000000..46b6822c0
--- /dev/null
+++ b/data/xkbdata/types/numpad
@@ -0,0 +1,13 @@
+// $XFree86$
+
+xkb_types "microsoft" {
+
+ type "KEYPAD" {
+ modifiers = Shift+NumLock;
+ map[None] = Level1;
+ preserve[Shift] = Shift;
+ map[NumLock] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Number";
+ };
+};
diff --git a/data/xkbdata/types/pc b/data/xkbdata/types/pc
new file mode 100644
index 000000000..5671f426b
--- /dev/null
+++ b/data/xkbdata/types/pc
@@ -0,0 +1,33 @@
+// $Xorg: pc,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
+//
+
+partial default xkb_types "default" {
+
+ // Some types that are necessary
+ // for a full implementation of
+ // a PC compatible keyboard.
+ virtual_modifiers Alt;
+
+ type "PC_BREAK" {
+ modifiers = Control;
+ map[None] = Level1;
+ map[Control] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Control";
+ };
+
+ type "PC_SYSRQ" {
+ modifiers = Alt;
+ map[None] = Level1;
+ map[Alt] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Alt";
+ };
+
+ type "CTRL+ALT" {
+ modifiers = Control+Alt;
+ map[Control+Alt] = Level2;
+ level_name[Level1] = "Base";
+ level_name[Level2] = "Ctrl+Alt";
+ };
+};
diff --git a/data/xkbdata/xkbrules.am b/data/xkbdata/xkbrules.am
new file mode 100644
index 000000000..98e9172fe
--- /dev/null
+++ b/data/xkbdata/xkbrules.am
@@ -0,0 +1,8 @@
+# Common rules for building *.dir files in all xkb subdirectories
+# Replaces Imake's MakeXkbDir() rule
+
+MOSTLYCLEANFILES = $(subdir).dir
+
+$(subdir).dir:
+ -rm -f $@
+ $(XKBCOMP) -lfhlpR -o $@ '*'