├── compose-tests
├── home
│ └── XCompose
├── xlocaledir
│ ├── %
│ └── locale.alias
└── testcases
│ ├── t00
│ ├── t000
│ │ ├── t0009
│ │ │ ├── XCompose
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0006
│ │ │ ├── input.txt
│ │ │ ├── expected.txt
│ │ │ └── XCompose
│ │ ├── t0001
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0003
│ │ │ ├── input.txt
│ │ │ ├── expected.txt
│ │ │ └── XCompose
│ │ ├── t0008
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0004
│ │ │ ├── input.txt
│ │ │ ├── expected.txt
│ │ │ └── XCompose
│ │ ├── t0002
│ │ │ ├── XCompose
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0007
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ └── t0005
│ │ │ ├── XCompose
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ ├── t002
│ │ ├── t0025
│ │ │ ├── expected.txt
│ │ │ ├── input.txt
│ │ │ └── XCompose
│ │ ├── t0026
│ │ │ ├── expected.txt
│ │ │ ├── input.txt
│ │ │ └── XCompose
│ │ ├── t0027
│ │ │ ├── XCompose
│ │ │ ├── expected.txt
│ │ │ └── input.txt
│ │ ├── t0028
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0029
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0021
│ │ │ ├── input.txt
│ │ │ ├── expected.txt
│ │ │ └── XCompose
│ │ ├── t0023
│ │ │ ├── input.txt
│ │ │ ├── expected.txt
│ │ │ └── XCompose
│ │ ├── t0024
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0020
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ └── t0022
│ │ │ ├── input.txt
│ │ │ ├── XCOMPOSEFILE
│ │ │ └── expected.txt
│ ├── t003
│ │ ├── t0030
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0031
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0032
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0033
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0034
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0035
│ │ │ ├── expected.txt
│ │ │ ├── input.txt
│ │ │ └── XCompose
│ │ ├── t0036
│ │ │ ├── XCompose
│ │ │ ├── expected.txt
│ │ │ └── input.txt
│ │ ├── t0037
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0038
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ └── t0039
│ │ │ ├── XCompose
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ ├── t004
│ │ ├── t0040
│ │ │ ├── expected.txt
│ │ │ ├── input.txt
│ │ │ └── XCompose
│ │ ├── t0041
│ │ │ ├── expected.txt
│ │ │ ├── input.txt
│ │ │ └── XCompose
│ │ ├── t0042
│ │ │ ├── expected.txt
│ │ │ ├── input.txt
│ │ │ └── XCompose
│ │ ├── t0043
│ │ │ ├── expected.txt
│ │ │ ├── input.txt
│ │ │ └── XCompose
│ │ ├── t0045
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0046
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0049
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0047
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ ├── t0048
│ │ │ ├── input.txt
│ │ │ ├── XCompose
│ │ │ └── expected.txt
│ │ └── t0044
│ │ │ ├── XCompose
│ │ │ └── input.txt
│ └── t001
│ │ ├── t0015
│ │ ├── input.txt
│ │ ├── XCompose
│ │ └── expected.txt
│ │ ├── t0016
│ │ ├── input.txt
│ │ ├── XCompose
│ │ └── expected.txt
│ │ ├── t0017
│ │ ├── input.txt
│ │ ├── XCompose
│ │ └── expected.txt
│ │ ├── t0012
│ │ ├── input.txt
│ │ ├── XCompose
│ │ └── expected.txt
│ │ ├── t0013
│ │ ├── input.txt
│ │ ├── XCompose
│ │ └── expected.txt
│ │ ├── t0014
│ │ ├── input.txt
│ │ ├── XCompose
│ │ └── expected.txt
│ │ ├── t0010
│ │ ├── input.txt
│ │ ├── XCompose
│ │ └── expected.txt
│ │ ├── t0018
│ │ ├── input.txt
│ │ ├── XCompose
│ │ └── expected.txt
│ │ ├── t0019
│ │ ├── XCompose
│ │ ├── input.txt
│ │ └── expected.txt
│ │ └── t0011
│ │ ├── XCompose
│ │ ├── input.txt
│ │ └── expected.txt
│ ├── .gitignore
│ └── .gitattributes
├── compile-tests
├── home
│ └── %
├── testcases
│ ├── t02
│ │ ├── t021
│ │ │ ├── t0213
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0214
│ │ │ │ ├── rules
│ │ │ │ │ ├── a
│ │ │ │ │ └── b
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0215
│ │ │ │ ├── rules
│ │ │ │ │ ├── a
│ │ │ │ │ └── b
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0216
│ │ │ │ ├── rules
│ │ │ │ │ ├── a
│ │ │ │ │ └── b
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0217
│ │ │ │ ├── rules
│ │ │ │ │ ├── b
│ │ │ │ │ └── a
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0218
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0219
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ └── t0212
│ │ │ │ └── expected.toml
│ │ ├── t023
│ │ │ ├── t0237
│ │ │ │ ├── rules
│ │ │ │ │ ├── a
│ │ │ │ │ ├── b
│ │ │ │ │ └── c
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0238
│ │ │ │ ├── rules
│ │ │ │ │ ├── a
│ │ │ │ │ ├── b
│ │ │ │ │ └── c
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0234
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0235
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0236
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ ├── a
│ │ │ │ │ └── b
│ │ │ │ └── expected.toml
│ │ │ ├── t0239
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0230
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0231
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0232
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ └── t0233
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ ├── t024
│ │ │ ├── t0240
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0241
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0242
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0243
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0244
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0245
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0246
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0247
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0248
│ │ │ │ ├── input.toml
│ │ │ │ ├── expected.toml
│ │ │ │ └── rules
│ │ │ │ │ └── a
│ │ │ └── t0249
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ ├── t025
│ │ │ ├── t0257
│ │ │ │ └── input.xkb
│ │ │ ├── t0256
│ │ │ │ └── input.xkb
│ │ │ ├── t0250
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0251
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0253
│ │ │ │ ├── keycodes
│ │ │ │ │ └── a.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0259
│ │ │ │ ├── keycodes
│ │ │ │ │ └── a.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0255
│ │ │ │ ├── compat
│ │ │ │ │ └── a.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0254
│ │ │ │ ├── compat
│ │ │ │ │ └── a.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0258
│ │ │ │ └── input.xkb
│ │ │ └── t0252
│ │ │ │ ├── keycodes
│ │ │ │ └── a.xkb
│ │ │ │ └── input.xkb
│ │ ├── t022
│ │ │ ├── t0222
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0220
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0223
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0225
│ │ │ │ ├── input.toml
│ │ │ │ ├── expected.toml
│ │ │ │ └── rules
│ │ │ │ │ └── a
│ │ │ ├── t0226
│ │ │ │ ├── input.toml
│ │ │ │ ├── expected.toml
│ │ │ │ └── rules
│ │ │ │ │ └── a
│ │ │ ├── t0228
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0229
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0224
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0227
│ │ │ │ ├── input.toml
│ │ │ │ ├── expected.toml
│ │ │ │ └── rules
│ │ │ │ │ └── a
│ │ │ └── t0221
│ │ │ │ ├── input.toml
│ │ │ │ ├── expected.toml
│ │ │ │ └── rules
│ │ │ │ └── a
│ │ ├── t027
│ │ │ ├── t0277
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0274
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ ├── extra-includes
│ │ │ │ │ └── keycodes
│ │ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0275
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ ├── extra-includes
│ │ │ │ │ └── keycodes
│ │ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0276
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0278
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0279
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0271
│ │ │ │ └── input.xkb
│ │ │ ├── t0270
│ │ │ │ └── input.xkb
│ │ │ ├── t0272
│ │ │ │ └── input.xkb
│ │ │ └── t0273
│ │ │ │ └── input.xkb
│ │ ├── t028
│ │ │ ├── t0280
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0281
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0286
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0287
│ │ │ │ ├── keycodes
│ │ │ │ │ ├── x.xkb
│ │ │ │ │ └── y.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0285
│ │ │ │ └── input.xkb
│ │ │ ├── t0282
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0283
│ │ │ │ ├── input.xkb
│ │ │ │ └── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ ├── t0284
│ │ │ │ ├── input.xkb
│ │ │ │ └── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ ├── t0288
│ │ │ │ └── input.xkb
│ │ │ └── t0289
│ │ │ │ └── input.xkb
│ │ ├── t026
│ │ │ ├── t0268
│ │ │ │ └── input.xkb
│ │ │ ├── t0269
│ │ │ │ └── input.xkb
│ │ │ ├── t0262
│ │ │ │ └── input.xkb
│ │ │ ├── t0266
│ │ │ │ └── input.xkb
│ │ │ ├── t0267
│ │ │ │ └── input.xkb
│ │ │ ├── t0260
│ │ │ │ └── input.xkb
│ │ │ ├── t0261
│ │ │ │ └── input.xkb
│ │ │ └── t0263
│ │ │ │ └── input.xkb
│ │ ├── t020
│ │ │ ├── t0201
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0202
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0203
│ │ │ │ └── input.toml
│ │ │ ├── t0207
│ │ │ │ └── expected.toml
│ │ │ ├── t0204
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0206
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0205
│ │ │ │ └── input.toml
│ │ │ ├── t0200
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ └── t0209
│ │ │ │ └── expected.toml
│ │ └── t029
│ │ │ ├── t0297
│ │ │ └── input.xkb
│ │ │ ├── t0290
│ │ │ └── input.xkb
│ │ │ ├── t0293
│ │ │ └── input.xkb
│ │ │ ├── t0294
│ │ │ └── input.xkb
│ │ │ ├── t0295
│ │ │ └── input.xkb
│ │ │ ├── t0296
│ │ │ └── input.xkb
│ │ │ ├── t0298
│ │ │ └── input.xkb
│ │ │ ├── t0291
│ │ │ └── input.xkb
│ │ │ └── t0292
│ │ │ └── input.xkb
│ ├── .gitattributes
│ ├── t04
│ │ ├── t040
│ │ │ ├── t0404
│ │ │ │ ├── rules
│ │ │ │ │ ├── a
│ │ │ │ │ └── b
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0400
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0401
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0402
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0403
│ │ │ │ ├── input.toml
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ └── expected.toml
│ │ │ ├── t0406
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0408
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0407
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0409
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ └── t0405
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ ├── t041
│ │ │ ├── t0410
│ │ │ │ ├── rules
│ │ │ │ │ └── a
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0411
│ │ │ │ └── input.xkb
│ │ │ └── t0414
│ │ │ │ └── input.xkb
│ │ ├── t048
│ │ │ ├── t0484
│ │ │ │ └── input.xkb
│ │ │ ├── t0483
│ │ │ │ └── input.xkb
│ │ │ ├── t0481
│ │ │ │ └── expected.toml
│ │ │ ├── t0480
│ │ │ │ └── expected.toml
│ │ │ └── t0489
│ │ │ │ └── input.xkb
│ │ ├── t046
│ │ │ ├── t0464
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0466
│ │ │ │ ├── input.toml
│ │ │ │ ├── expected.toml
│ │ │ │ └── rules
│ │ │ │ │ └── a
│ │ │ ├── t0467
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0468
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0469
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0465
│ │ │ │ ├── symbols
│ │ │ │ │ ├── b.xkb
│ │ │ │ │ ├── y.xkb
│ │ │ │ │ ├── a.xkb
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0460
│ │ │ │ └── input.xkb
│ │ │ └── t0461
│ │ │ │ └── input.xkb
│ │ ├── t047
│ │ │ ├── t0470
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0473
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0476
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0471
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0472
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0474
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0475
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0477
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0478
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ └── t0479
│ │ │ │ └── expected.toml
│ │ ├── t042
│ │ │ ├── t0421
│ │ │ │ └── input.xkb
│ │ │ ├── t0422
│ │ │ │ └── input.xkb
│ │ │ ├── t0423
│ │ │ │ └── input.xkb
│ │ │ ├── t0424
│ │ │ │ └── input.xkb
│ │ │ ├── t0420
│ │ │ │ └── input.xkb
│ │ │ ├── t0425
│ │ │ │ └── input.xkb
│ │ │ ├── t0426
│ │ │ │ └── input.xkb
│ │ │ ├── t0427
│ │ │ │ └── input.xkb
│ │ │ ├── t0428
│ │ │ │ └── input.xkb
│ │ │ └── t0429
│ │ │ │ └── input.xkb
│ │ ├── t049
│ │ │ └── t0493
│ │ │ │ └── input.xkb
│ │ └── t043
│ │ │ ├── t0438
│ │ │ └── input.xkb
│ │ │ └── t0434
│ │ │ └── input.xkb
│ ├── t00
│ │ ├── t000
│ │ │ ├── t0001
│ │ │ │ └── input.xkb
│ │ │ ├── t0008
│ │ │ │ └── input.xkb
│ │ │ ├── t0009
│ │ │ │ └── input.xkb
│ │ │ ├── t0002
│ │ │ │ └── keycodes
│ │ │ │ │ ├── a.xkb
│ │ │ │ │ └── b.xkb
│ │ │ ├── t0004
│ │ │ │ ├── compat
│ │ │ │ │ └── a.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0007
│ │ │ │ └── input.xkb
│ │ │ ├── t0005
│ │ │ │ └── input.xkb
│ │ │ └── t0006
│ │ │ │ └── input.xkb
│ │ ├── t009
│ │ │ ├── t0095
│ │ │ │ └── input.xkb
│ │ │ ├── t0093
│ │ │ │ ├── input.xkb
│ │ │ │ └── compat
│ │ │ │ │ └── x.xkb
│ │ │ ├── t0096
│ │ │ │ └── input.xkb
│ │ │ ├── t0099
│ │ │ │ └── input.xkb
│ │ │ ├── t0094
│ │ │ │ └── input.xkb
│ │ │ └── t0092
│ │ │ │ └── compat
│ │ │ │ └── x.xkb
│ │ ├── t001
│ │ │ ├── t0010
│ │ │ │ └── input.xkb
│ │ │ ├── t0013
│ │ │ │ ├── input.xkb
│ │ │ │ └── symbols
│ │ │ │ │ ├── x.xkb
│ │ │ │ │ └── y.xkb
│ │ │ ├── t0014
│ │ │ │ ├── input.xkb
│ │ │ │ └── symbols
│ │ │ │ │ ├── x.xkb
│ │ │ │ │ └── y.xkb
│ │ │ ├── t0015
│ │ │ │ └── input.xkb
│ │ │ ├── t0011
│ │ │ │ └── input.xkb
│ │ │ ├── t0016
│ │ │ │ └── input.xkb
│ │ │ ├── t0017
│ │ │ │ └── input.xkb
│ │ │ ├── t0012
│ │ │ │ └── input.xkb
│ │ │ ├── t0018
│ │ │ │ └── input.xkb
│ │ │ └── t0019
│ │ │ │ └── input.xkb
│ │ ├── t005
│ │ │ ├── t0057
│ │ │ │ └── input.xkb
│ │ │ ├── t0058
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0059
│ │ │ │ ├── input.xkb
│ │ │ │ └── keycodes
│ │ │ │ │ ├── x.xkb
│ │ │ │ │ └── y.xkb
│ │ │ └── t0055
│ │ │ │ └── input.xkb
│ │ ├── t007
│ │ │ ├── t0071
│ │ │ │ └── types
│ │ │ │ │ └── x.xkb
│ │ │ ├── t0072
│ │ │ │ └── types
│ │ │ │ │ └── x.xkb
│ │ │ ├── t0078
│ │ │ │ └── input.xkb
│ │ │ └── t0074
│ │ │ │ └── input.xkb
│ │ ├── t006
│ │ │ ├── t0060
│ │ │ │ ├── input.xkb
│ │ │ │ └── keycodes
│ │ │ │ │ ├── x.xkb
│ │ │ │ │ └── y.xkb
│ │ │ ├── t0066
│ │ │ │ ├── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0065
│ │ │ │ ├── input.xkb
│ │ │ │ └── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ ├── t0064
│ │ │ │ └── input.xkb
│ │ │ ├── t0061
│ │ │ │ └── input.xkb
│ │ │ └── t0062
│ │ │ │ └── input.xkb
│ │ ├── t008
│ │ │ └── t0080
│ │ │ │ └── input.xkb
│ │ ├── t002
│ │ │ └── t0020
│ │ │ │ └── input.xkb
│ │ └── t003
│ │ │ ├── t0032
│ │ │ └── input.xkb
│ │ │ └── t0033
│ │ │ └── input.xkb
│ ├── .gitignore
│ ├── t01
│ │ ├── t010
│ │ │ ├── t0102
│ │ │ │ ├── symbols
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0103
│ │ │ │ ├── symbols
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0109
│ │ │ │ └── input.xkb
│ │ │ └── t0107
│ │ │ │ └── input.xkb
│ │ ├── t015
│ │ │ ├── t0156
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0157
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0152
│ │ │ │ ├── input.xkb
│ │ │ │ └── keycodes
│ │ │ │ │ └── x.xkb
│ │ │ ├── t0154
│ │ │ │ ├── expected.toml
│ │ │ │ ├── input.toml
│ │ │ │ └── rules
│ │ │ │ │ └── evdev
│ │ │ ├── t0158
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0159
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0155
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ └── t0151
│ │ │ │ └── input.xkb
│ │ ├── t012
│ │ │ ├── t0129
│ │ │ │ └── symbols
│ │ │ │ │ └── x.xkb
│ │ │ ├── t0128
│ │ │ │ ├── symbols
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0126
│ │ │ │ └── input.xkb
│ │ │ ├── t0127
│ │ │ │ └── input.xkb
│ │ │ └── t0120
│ │ │ │ └── input.xkb
│ │ ├── t013
│ │ │ ├── t0130
│ │ │ │ ├── input.xkb
│ │ │ │ └── symbols
│ │ │ │ │ └── x.xkb
│ │ │ ├── t0131
│ │ │ │ ├── symbols
│ │ │ │ │ └── x.xkb
│ │ │ │ └── input.xkb
│ │ │ ├── t0134
│ │ │ │ └── input.xkb
│ │ │ ├── t0138
│ │ │ │ └── input.xkb
│ │ │ └── t0133
│ │ │ │ └── input.xkb
│ │ ├── t016
│ │ │ ├── t0162
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0168
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0169
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0163
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0164
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0165
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0166
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0167
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0160
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ └── t0161
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ ├── t017
│ │ │ ├── t0170
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0171
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0172
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0173
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0174
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0175
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0176
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0177
│ │ │ │ └── expected.toml
│ │ │ └── t0179
│ │ │ │ └── expected.toml
│ │ ├── t018
│ │ │ ├── t0184
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0186
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0180
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0182
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0183
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0185
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0187
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0181
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ ├── t0188
│ │ │ │ ├── input.toml
│ │ │ │ └── expected.toml
│ │ │ └── t0189
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ ├── t019
│ │ │ ├── t0190
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0194
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0195
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0196
│ │ │ │ └── expected.toml
│ │ │ ├── t0198
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0191
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0193
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0197
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ ├── t0199
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ │ └── t0192
│ │ │ │ ├── expected.toml
│ │ │ │ └── input.toml
│ │ ├── t011
│ │ │ ├── t0113
│ │ │ │ └── input.xkb
│ │ │ ├── t0112
│ │ │ │ └── input.xkb
│ │ │ ├── t0114
│ │ │ │ └── input.xkb
│ │ │ ├── t0115
│ │ │ │ └── input.xkb
│ │ │ ├── t0116
│ │ │ │ └── input.xkb
│ │ │ ├── t0110
│ │ │ │ └── input.xkb
│ │ │ └── t0117
│ │ │ │ └── input.xkb
│ │ └── t014
│ │ │ ├── t0140
│ │ │ └── input.xkb
│ │ │ ├── t0146
│ │ │ └── input.xkb
│ │ │ ├── t0149
│ │ │ └── input.xkb
│ │ │ ├── t0141
│ │ │ └── input.xkb
│ │ │ └── t0147
│ │ │ └── input.xkb
│ └── t03
│ │ ├── t039
│ │ ├── t0394
│ │ │ ├── symbols
│ │ │ │ └── a.xkb
│ │ │ └── input.xkb
│ │ ├── t0395
│ │ │ └── input.xkb
│ │ ├── t0396
│ │ │ └── input.xkb
│ │ └── t0398
│ │ │ └── input.xkb
│ │ ├── t030
│ │ ├── t0307
│ │ │ └── input.xkb
│ │ ├── t0304
│ │ │ └── input.xkb
│ │ ├── t0306
│ │ │ └── input.xkb
│ │ └── t0305
│ │ │ └── input.xkb
│ │ ├── t034
│ │ └── t0348
│ │ │ └── input.xkb
│ │ ├── t036
│ │ ├── t0360
│ │ │ └── input.xkb
│ │ ├── t0369
│ │ │ └── input.xkb
│ │ ├── t0362
│ │ │ └── input.xkb
│ │ ├── t0363
│ │ │ └── input.xkb
│ │ ├── t0364
│ │ │ └── input.xkb
│ │ ├── t0365
│ │ │ └── input.xkb
│ │ └── t0368
│ │ │ └── input.xkb
│ │ ├── t038
│ │ ├── t0380
│ │ │ └── input.xkb
│ │ ├── t0386
│ │ │ └── input.xkb
│ │ ├── t0383
│ │ │ └── input.xkb
│ │ ├── t0387
│ │ │ └── input.xkb
│ │ └── t0382
│ │ │ └── input.xkb
│ │ ├── t032
│ │ ├── t0322
│ │ │ └── input.xkb
│ │ ├── t0327
│ │ │ └── input.xkb
│ │ ├── t0325
│ │ │ └── input.xkb
│ │ └── t0328
│ │ │ └── input.xkb
│ │ └── t037
│ │ ├── t0370
│ │ ├── input.xkb
│ │ └── symbols
│ │ │ └── a.xkb
│ │ ├── t0378
│ │ └── input.xkb
│ │ └── t0379
│ │ └── input.xkb
├── include-extra
│ └── rules
│ │ └── x
└── include
│ └── rules
│ └── x
├── rustfmt.toml
├── type-tests
└── testcases
│ ├── .gitignore
│ ├── .gitattributes
│ ├── t00
│ ├── t001
│ │ ├── t0019
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0016
│ │ │ └── input.txt
│ │ ├── t0013
│ │ │ └── input.txt
│ │ ├── t0010
│ │ │ └── input.txt
│ │ ├── t0012
│ │ │ └── input.txt
│ │ ├── t0018
│ │ │ └── input.txt
│ │ ├── t0017
│ │ │ └── input.txt
│ │ ├── t0014
│ │ │ └── input.txt
│ │ ├── t0015
│ │ │ └── input.txt
│ │ └── t0011
│ │ │ └── input.txt
│ ├── t007
│ │ ├── t0071
│ │ │ ├── input.txt
│ │ │ ├── expected.txt
│ │ │ └── map.xkb
│ │ ├── t0073
│ │ │ └── input.txt
│ │ ├── t0077
│ │ │ └── input.txt
│ │ ├── t0072
│ │ │ └── input.txt
│ │ ├── t0074
│ │ │ └── input.txt
│ │ ├── t0075
│ │ │ └── input.txt
│ │ ├── t0076
│ │ │ └── input.txt
│ │ ├── t0078
│ │ │ └── input.txt
│ │ ├── t0079
│ │ │ └── input.txt
│ │ └── t0070
│ │ │ └── input.txt
│ ├── t009
│ │ ├── t0094
│ │ │ ├── input.txt
│ │ │ ├── expected.txt
│ │ │ └── map.xkb
│ │ ├── t0095
│ │ │ ├── input.txt
│ │ │ ├── expected.txt
│ │ │ └── map.xkb
│ │ ├── t0090
│ │ │ └── input.txt
│ │ ├── t0091
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0092
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0093
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0096
│ │ │ ├── input.txt
│ │ │ ├── expected.txt
│ │ │ └── map.xkb
│ │ ├── t0098
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0097
│ │ │ └── input.txt
│ │ └── t0099
│ │ │ └── input.txt
│ ├── t000
│ │ ├── t0003
│ │ │ └── input.txt
│ │ ├── t0005
│ │ │ └── input.txt
│ │ ├── t0007
│ │ │ └── input.txt
│ │ ├── t0002
│ │ │ └── input.txt
│ │ ├── t0004
│ │ │ └── input.txt
│ │ ├── t0006
│ │ │ └── input.txt
│ │ ├── t0009
│ │ │ └── input.txt
│ │ ├── t0008
│ │ │ └── input.txt
│ │ └── t0001
│ │ │ └── input.txt
│ ├── t008
│ │ ├── t0089
│ │ │ └── input.txt
│ │ ├── t0085
│ │ │ └── input.txt
│ │ ├── t0083
│ │ │ └── input.txt
│ │ ├── t0081
│ │ │ └── input.txt
│ │ ├── t0080
│ │ │ └── input.txt
│ │ ├── t0082
│ │ │ └── input.txt
│ │ ├── t0088
│ │ │ └── input.txt
│ │ ├── t0087
│ │ │ └── input.txt
│ │ ├── t0086
│ │ │ ├── input.txt
│ │ │ └── map.xkb
│ │ └── t0084
│ │ │ └── input.txt
│ ├── t003
│ │ ├── t0031
│ │ │ └── input.txt
│ │ ├── t0032
│ │ │ └── input.txt
│ │ ├── t0038
│ │ │ └── input.txt
│ │ ├── t0035
│ │ │ └── input.txt
│ │ ├── t0030
│ │ │ └── input.txt
│ │ ├── t0039
│ │ │ └── input.txt
│ │ ├── t0034
│ │ │ └── input.txt
│ │ ├── t0036
│ │ │ └── input.txt
│ │ ├── t0037
│ │ │ └── input.txt
│ │ └── t0033
│ │ │ └── input.txt
│ ├── t002
│ │ ├── t0020
│ │ │ └── input.txt
│ │ ├── t0021
│ │ │ └── input.txt
│ │ ├── t0024
│ │ │ └── input.txt
│ │ ├── t0025
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0026
│ │ │ ├── input.txt
│ │ │ └── expected.txt
│ │ ├── t0028
│ │ │ └── input.txt
│ │ ├── t0029
│ │ │ └── input.txt
│ │ ├── t0027
│ │ │ └── input.txt
│ │ └── t0023
│ │ │ └── input.txt
│ ├── t006
│ │ ├── t0067
│ │ │ └── input.txt
│ │ ├── t0062
│ │ │ └── input.txt
│ │ ├── t0061
│ │ │ └── input.txt
│ │ ├── t0065
│ │ │ └── input.txt
│ │ ├── t0066
│ │ │ └── input.txt
│ │ ├── t0068
│ │ │ └── input.txt
│ │ ├── t0069
│ │ │ └── input.txt
│ │ └── t0063
│ │ │ └── input.txt
│ ├── t004
│ │ ├── t0046
│ │ │ └── input.txt
│ │ ├── t0047
│ │ │ └── input.txt
│ │ ├── t0048
│ │ │ └── input.txt
│ │ ├── t0041
│ │ │ └── input.txt
│ │ ├── t0049
│ │ │ └── input.txt
│ │ ├── t0045
│ │ │ └── input.txt
│ │ ├── t0043
│ │ │ └── input.txt
│ │ ├── t0042
│ │ │ └── input.txt
│ │ ├── t0040
│ │ │ └── input.txt
│ │ └── t0044
│ │ │ └── input.txt
│ └── t005
│ │ ├── t0056
│ │ └── input.txt
│ │ ├── t0057
│ │ └── input.txt
│ │ ├── t0051
│ │ └── input.txt
│ │ ├── t0052
│ │ └── input.txt
│ │ ├── t0050
│ │ └── input.txt
│ │ ├── t0059
│ │ └── input.txt
│ │ └── t0053
│ │ └── input.txt
│ └── t01
│ └── t010
│ ├── t0108
│ ├── input.txt
│ └── expected.txt
│ ├── t0107
│ ├── input.txt
│ └── expected.txt
│ ├── t0104
│ ├── input.txt
│ └── expected.txt
│ ├── t0105
│ ├── input.txt
│ └── expected.txt
│ ├── t0101
│ ├── input.txt
│ └── expected.txt
│ ├── t0100
│ └── input.txt
│ ├── t0102
│ └── input.txt
│ ├── t0103
│ ├── input.txt
│ └── expected.txt
│ └── t0106
│ └── input.txt
├── x11-tests
└── src
│ └── .gitignore
├── kbvm
└── src
│ ├── config.rs
│ ├── xkb
│ └── code_loader
│ │ └── symbols.xkb
│ └── syms.rs
├── kbvm-cli
├── src
│ ├── evdev.rs
│ └── wayland_protocols.rs
└── build.rs
├── .gitignore
├── libxkbcommon-test-linker
└── Cargo.toml
├── integration-test-utils
└── Cargo.toml
└── .gitmodules
/compose-tests/home/XCompose:
--------------------------------------------------------------------------------
1 | : a
2 |
--------------------------------------------------------------------------------
/compose-tests/xlocaledir/%:
--------------------------------------------------------------------------------
1 | : a
2 |
--------------------------------------------------------------------------------
/compile-tests/home/%:
--------------------------------------------------------------------------------
1 | ! include %E/x
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0009/XCompose:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/rustfmt.toml:
--------------------------------------------------------------------------------
1 | imports_granularity = "One"
2 |
--------------------------------------------------------------------------------
/type-tests/testcases/.gitignore:
--------------------------------------------------------------------------------
1 | actual.txt
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0213/input.toml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/compose-tests/testcases/.gitignore:
--------------------------------------------------------------------------------
1 | actual.txt
2 |
--------------------------------------------------------------------------------
/type-tests/testcases/.gitattributes:
--------------------------------------------------------------------------------
1 | * text eol=lf
2 |
--------------------------------------------------------------------------------
/compile-tests/include-extra/rules/x:
--------------------------------------------------------------------------------
1 | ! include %S/x
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/.gitattributes:
--------------------------------------------------------------------------------
1 | * text eol=lf
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/.gitattributes:
--------------------------------------------------------------------------------
1 | * text eol=lf
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0025/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0025/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0026/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0026/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0027/XCompose:
--------------------------------------------------------------------------------
1 | : a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0027/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0027/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0028/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0029/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0030/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0031/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0032/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0033/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0034/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0035/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0035/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0036/XCompose:
--------------------------------------------------------------------------------
1 | Shift
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0036/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0036/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0037/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0038/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0040/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0040/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0041/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0041/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0042/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0042/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0043/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0043/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0045/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0046/input.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0049/input.txt:
--------------------------------------------------------------------------------
1 | d
2 |
--------------------------------------------------------------------------------
/x11-tests/src/.gitignore:
--------------------------------------------------------------------------------
1 | actual.xkb
2 | roundtrip.xkb
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0214/rules/a:
--------------------------------------------------------------------------------
1 | ! include b
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0215/rules/a:
--------------------------------------------------------------------------------
1 | ! include b
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0216/rules/a:
--------------------------------------------------------------------------------
1 | ! include b
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0237/rules/a:
--------------------------------------------------------------------------------
1 | ! include b
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0237/rules/b:
--------------------------------------------------------------------------------
1 | ! include c
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0237/rules/c:
--------------------------------------------------------------------------------
1 | ! include b
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0238/rules/a:
--------------------------------------------------------------------------------
1 | ! include b
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0238/rules/b:
--------------------------------------------------------------------------------
1 | ! include c
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0238/rules/c:
--------------------------------------------------------------------------------
1 | ! include b
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0015/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | B
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0016/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | B
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0017/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | B
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0021/input.txt:
--------------------------------------------------------------------------------
1 | NoSymbol
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0023/input.txt:
--------------------------------------------------------------------------------
1 | a
2 | b
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0024/input.txt:
--------------------------------------------------------------------------------
1 | Multi_key
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0025/XCompose:
--------------------------------------------------------------------------------
1 | a: a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0029/XCompose:
--------------------------------------------------------------------------------
1 | None : a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0030/XCompose:
--------------------------------------------------------------------------------
1 | ! : a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0035/XCompose:
--------------------------------------------------------------------------------
1 | include
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0040/XCompose:
--------------------------------------------------------------------------------
1 | :
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0042/XCompose:
--------------------------------------------------------------------------------
1 | None: a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0043/XCompose:
--------------------------------------------------------------------------------
1 | !: a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0047/input.txt:
--------------------------------------------------------------------------------
1 | a
2 | b
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0048/input.txt:
--------------------------------------------------------------------------------
1 | a
2 | b
3 |
--------------------------------------------------------------------------------
/compile-tests/include/rules/x:
--------------------------------------------------------------------------------
1 | ! model = symbols
2 | a = b
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0234/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0235/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0236/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0237/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0238/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0239/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0240/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0257/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_layout { };
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0404/rules/a:
--------------------------------------------------------------------------------
1 | ! include b c
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t041/t0410/rules/a:
--------------------------------------------------------------------------------
1 | ! include %H/%%
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0006/input.txt:
--------------------------------------------------------------------------------
1 | 7
2 | a
3 | b
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0012/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | B
3 | C
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0013/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | B
3 | C
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0014/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | B
3 | C
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0021/expected.txt:
--------------------------------------------------------------------------------
1 | NoSymbol
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0024/XCompose:
--------------------------------------------------------------------------------
1 | include "%L" v
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0024/expected.txt:
--------------------------------------------------------------------------------
1 | Multi_key
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0031/XCompose:
--------------------------------------------------------------------------------
1 | ~Shift : a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0037/XCompose:
--------------------------------------------------------------------------------
1 | include "%S/%%"
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0039/XCompose:
--------------------------------------------------------------------------------
1 | include "%L"
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0041/XCompose:
--------------------------------------------------------------------------------
1 | : "a"
2 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0019/input.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0071/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both b
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0073/input.txt:
--------------------------------------------------------------------------------
1 | both b
2 | both b
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0094/input.txt:
--------------------------------------------------------------------------------
1 | down b
2 | up b
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0095/input.txt:
--------------------------------------------------------------------------------
1 | down b
2 | up b
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0108/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both b
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0001/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | };
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0234/rules/a:
--------------------------------------------------------------------------------
1 | ! = keycodes
2 | = U
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0256/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_semantics { };
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0001/input.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | space
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0006/expected.txt:
--------------------------------------------------------------------------------
1 | 7
2 | a
3 | b
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0020/input.txt:
--------------------------------------------------------------------------------
1 | dead_acute
2 | A
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0022/input.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | space
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0026/XCompose:
--------------------------------------------------------------------------------
1 | : a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0033/XCompose:
--------------------------------------------------------------------------------
1 | : a
2 | ~ : b
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0038/XCompose:
--------------------------------------------------------------------------------
1 | include "%H/XCompose"
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0039/input.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | space
3 |
--------------------------------------------------------------------------------
/kbvm/src/config.rs:
--------------------------------------------------------------------------------
1 | include!(concat!(env!("OUT_DIR"), "/config.rs"));
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0236/rules/a:
--------------------------------------------------------------------------------
1 | ! include b
2 | ! include b
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0236/rules/b:
--------------------------------------------------------------------------------
1 | ! = keycodes
2 | = +u
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t048/t0484/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap "a\"b" { };
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0003/input.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | dead_tilde
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0008/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | A
3 | C
4 | B
5 | A
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0009/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | A
3 | C
4 | B
5 | A
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0010/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | B
3 | B
4 | A
5 | C
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0018/input.txt:
--------------------------------------------------------------------------------
1 | NoSymbol
2 | Multi_key
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0032/XCompose:
--------------------------------------------------------------------------------
1 | Ctrl Shift Alt Lock : a
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0045/XCompose:
--------------------------------------------------------------------------------
1 | : a
2 | <
3 | : b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t000/t0003/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | down i
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t000/t0005/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | down i
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t000/t0007/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | down i
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0077/input.txt:
--------------------------------------------------------------------------------
1 | down b
2 | both a
3 | up b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0089/input.txt:
--------------------------------------------------------------------------------
1 | both b
2 | both c
3 | both a
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0090/input.txt:
--------------------------------------------------------------------------------
1 | both b
2 | both c
3 | both a
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0091/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | down b
3 | up b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0092/input.txt:
--------------------------------------------------------------------------------
1 | down b
2 | both a
3 | up b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0093/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | down b
3 | up b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0096/input.txt:
--------------------------------------------------------------------------------
1 | both b
2 | down b
3 | up b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0098/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | down b
3 | up b
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t009/t0095/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap "\101" {
2 | };
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0400/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "a"
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0401/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "a"
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0402/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "a"
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0403/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "a"
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0404/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "a"
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t041/t0410/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "a"
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t048/t0483/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap "a\u{22}b" { };
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0009/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | A
3 | C
4 | B
5 | A
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0028/XCompose:
--------------------------------------------------------------------------------
1 | : x
2 | : unknown_keysym
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0034/XCompose:
--------------------------------------------------------------------------------
1 | : a
2 | : b something
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0031/input.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 | both leftshift
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0032/input.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 | both leftshift
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/.gitignore:
--------------------------------------------------------------------------------
1 | round_trip.xkb
2 | actual.xkb
3 | actual.toml
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0214/rules/b:
--------------------------------------------------------------------------------
1 | ! model = symbols
2 | x = y
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0222/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0239/rules/a:
--------------------------------------------------------------------------------
1 | ! = keycodes
2 | = +U
3 | = +U
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0277/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | default xkb_keycodes { } };
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0280/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | default xkb_keycodes { % };
2 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0281/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | default xkb_keymap {
2 | };
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0286/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | default xkb_symbols {
2 | };
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0404/rules/b:
--------------------------------------------------------------------------------
1 | ! model = symbols
2 | * = b
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0406/rules/a:
--------------------------------------------------------------------------------
1 | ! unknown = symbols
2 | a = b
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0408/rules/a:
--------------------------------------------------------------------------------
1 | ! layout = unknown
2 | a = b
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0004/input.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | space
3 | Caps_Lock
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0018/XCompose:
--------------------------------------------------------------------------------
1 | include "%S/en_US.UTF-8/Compose"
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0019/XCompose:
--------------------------------------------------------------------------------
1 | include "%S/en_US.UTF-8/Compose"
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0020/XCompose:
--------------------------------------------------------------------------------
1 | include "%S/en_US.UTF-8/Compose"
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0021/XCompose:
--------------------------------------------------------------------------------
1 | include "%S/en_US.UTF-8/Compose"
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0022/XCOMPOSEFILE:
--------------------------------------------------------------------------------
1 | include "%S/en_US.UTF-8/Compose"
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0028/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | x
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0029/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0030/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0031/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0032/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0033/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0034/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0037/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0038/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0045/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0046/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | X
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0016/input.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 | both rightshift
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0020/input.txt:
--------------------------------------------------------------------------------
1 | both rightshift
2 | both leftshift
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0021/input.txt:
--------------------------------------------------------------------------------
1 | both rightshift
2 | both rightshift
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0024/input.txt:
--------------------------------------------------------------------------------
1 | both rightshift
2 | both leftshift
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0025/input.txt:
--------------------------------------------------------------------------------
1 | down rightshift
2 | down leftshift
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0026/input.txt:
--------------------------------------------------------------------------------
1 | down rightshift
2 | down leftshift
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0028/input.txt:
--------------------------------------------------------------------------------
1 | both rightshift
2 | both leftshift
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0029/input.txt:
--------------------------------------------------------------------------------
1 | both rightshift
2 | both leftshift
3 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t006/t0067/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both capslock
3 | both a
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0072/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | both b
3 | both b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0074/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | both b
3 | both b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0075/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | both b
3 | both b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0076/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | both b
3 | both b
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0085/input.txt:
--------------------------------------------------------------------------------
1 | down b
2 | down leftshift
3 | up b
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0240/rules/a:
--------------------------------------------------------------------------------
1 | ! = symbols keycodes
2 | = +U +V
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0400/rules/a:
--------------------------------------------------------------------------------
1 | ! model = symbols
2 | !
3 | a = b
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0407/rules/a:
--------------------------------------------------------------------------------
1 | ! layout ! = symbols
2 | a = b
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0011/XCompose:
--------------------------------------------------------------------------------
1 | : X
2 | : Y
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0011/input.txt:
--------------------------------------------------------------------------------
1 | A
2 | C
3 | D
4 | A
5 | C
6 | C
7 | D
8 |
--------------------------------------------------------------------------------
/kbvm-cli/src/evdev.rs:
--------------------------------------------------------------------------------
1 | #[rustfmt::skip]
2 | mod generated;
3 |
4 | pub use generated::*;
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t000/t0002/input.txt:
--------------------------------------------------------------------------------
1 | down leftctrl
2 | both i
3 | up leftctrl
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t000/t0004/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | down leftshift
3 | down i
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t000/t0006/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | down rightalt
3 | down i
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t006/t0062/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both z
3 | both minus
4 | both z
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0083/input.txt:
--------------------------------------------------------------------------------
1 | both y
2 | both b
3 | both c
4 | both c
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0097/input.txt:
--------------------------------------------------------------------------------
1 | both b
2 | down b
3 | both a
4 | up b
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0107/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both c
3 | both b
4 | both d
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .*
2 | !.gitignore
3 | !.gitmodules
4 | !.gitattributes
5 | !.github
6 | /target
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t010/t0102/symbols/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | key { };
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0217/rules/b:
--------------------------------------------------------------------------------
1 | 語
2 |
3 | ! model = keycodes
4 | x = y
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0235/rules/a:
--------------------------------------------------------------------------------
1 | ! = keycodes
2 | = +u
3 |
4 | ! include a
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0409/rules/a:
--------------------------------------------------------------------------------
1 | ! layout model = unknown
2 | a ! = b
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0001/XCompose:
--------------------------------------------------------------------------------
1 | : "~" asciitilde # TILDE
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0002/XCompose:
--------------------------------------------------------------------------------
1 | : "~" asciitilde # TILDE
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0002/input.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | space
3 | dead_tilde
4 | space
5 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0018/expected.txt:
--------------------------------------------------------------------------------
1 | NoSymbol
2 | Multi_key
3 | pending
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0047/XCompose:
--------------------------------------------------------------------------------
1 | : "original"
2 | : "replacement"
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0048/XCompose:
--------------------------------------------------------------------------------
1 | : "original"
2 | : "replacement"
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0049/expected.txt:
--------------------------------------------------------------------------------
1 | d
2 | composed
3 | replacement
4 |
--------------------------------------------------------------------------------
/kbvm/src/xkb/code_loader/symbols.xkb:
--------------------------------------------------------------------------------
1 | default xkb_symbols {
2 | key { [ a ] };
3 | };
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0013/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both leftshift
3 | both a
4 | both a
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0046/input.txt:
--------------------------------------------------------------------------------
1 | down leftshift
2 | both leftalt
3 | up leftshift
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0047/input.txt:
--------------------------------------------------------------------------------
1 | down leftalt
2 | both leftshift
3 | up leftalt
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0104/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both a
3 |
4 | both b
5 | both b
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0105/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both a
3 |
4 | both b
5 | both b
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0008/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_types {
2 | virtual_modifiers x;
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0009/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_compat {
2 | virtual_modifiers x;
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0010/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers x;
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0013/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | include "x.xkb+y.xkb"
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0014/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | include "x.xkb|y.xkb"
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t005/t0057/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_compat {
2 | indicator "X" { };
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t007/t0071/types/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_types {
2 | type "X" {
3 | };
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0214/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "x"
3 |
4 | [[groups]]
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0215/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "x"
3 |
4 | [[groups]]
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0216/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "x"
3 |
4 | [[groups]]
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0217/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "x"
3 |
4 | [[groups]]
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0218/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "x"
3 |
4 | [[groups]]
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0219/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "x"
3 |
4 | [[groups]]
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0220/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "x"
3 |
4 | [[groups]]
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0223/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "U"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0225/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "U"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0226/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "U"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0228/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "U"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0229/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "U"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0230/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "U"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0231/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "U"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0232/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "U"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0233/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "U"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0241/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "l"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0241/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = -%i-
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0242/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "l"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0242/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = a%+l
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0243/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "l"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0243/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = a%|l
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0244/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = %(m[1])
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0245/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "X"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0245/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = %(l[11)
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0246/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "X"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0246/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = %(l11])
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0247/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "X"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0247/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = %(l[x])
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0248/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "X"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0249/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "X"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0250/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "X"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0251/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "a"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0464/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "X"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0466/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "X"
5 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0007/input.txt:
--------------------------------------------------------------------------------
1 | Multi_key
2 | apostrophe
3 | 7
4 | 7
5 | Caps_Lock
6 |
--------------------------------------------------------------------------------
/kbvm-cli/src/wayland_protocols.rs:
--------------------------------------------------------------------------------
1 | include!(concat!(env!("OUT_DIR"), "/wayland-protocols/mod.rs"));
2 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t000/t0009/input.txt:
--------------------------------------------------------------------------------
1 | both rightshift
2 | both leftalt
3 | both leftshift
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0010/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | both leftalt
3 | both leftshift
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0012/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | down leftshift
3 | both a
4 | up leftshift
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0018/input.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 | both leftshift
3 | both leftshift
4 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0038/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both e
3 | both l
4 | both l
5 | both o
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t006/t0061/input.txt:
--------------------------------------------------------------------------------
1 | both 5
2 | down rightalt
3 | both 5
4 | up rightalt
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t006/t0065/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | down compose
3 | both a
4 | up compose
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0101/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both b
3 | both c
4 | both a
5 | both a
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0002/keycodes/a.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | indicator 3 = "Z";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0004/compat/a.xkb:
--------------------------------------------------------------------------------
1 | default xkb_compat {
2 | include "b.xkb"
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0015/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers x, y;
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t005/t0058/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | indicator 1 = "X";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t005/t0059/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | augment "x.xkb|y.xkb"
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t005/t0059/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | indicator 1 = "X";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t005/t0059/keycodes/y.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | indicator 1 = "Y";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0060/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | augment "x.xkb+y.xkb"
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0060/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | indicator 1 = "X";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0060/keycodes/y.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | indicator 1 = "Y";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0156/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev"
2 |
3 | [[groups]]
4 | layout = "foo"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0215/rules/b:
--------------------------------------------------------------------------------
1 | ! include a
2 |
3 | ! model = symbols
4 | x = y
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0217/rules/a:
--------------------------------------------------------------------------------
1 | ! include b
2 |
3 | ! model = symbols
4 | x = y
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0218/rules/a:
--------------------------------------------------------------------------------
1 | x = z
2 |
3 | ! model = symbols
4 | x = y
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0223/rules/a:
--------------------------------------------------------------------------------
1 | ! = keycodes
2 | = x
3 |
4 | ! = symbols
5 | = %l[5]
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0228/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = keycodes
2 | * = %-m%-l%_l
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0229/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = keycodes
2 | * = abc%(def
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0230/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = keycodes
2 | * = abc%xdef
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0231/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = keycodes
2 | * = abc%l[def
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0232/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = keycodes
2 | * = abc:%i[1]def
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0233/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = keycodes
2 | * = abc%(l[1)def
3 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0250/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = \
3 | %l
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0253/keycodes/a.xkb:
--------------------------------------------------------------------------------
1 | default XkB_kEyCoDeS {
2 | = 2;
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0259/keycodes/a.xkb:
--------------------------------------------------------------------------------
1 | DEFAULT xkb_keycodes {
2 | = 1;
3 | };
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0008/XCompose:
--------------------------------------------------------------------------------
1 | : "foo" X
2 | : "baz" Y
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0012/XCompose:
--------------------------------------------------------------------------------
1 | : "foo" A
2 | : "bar" B
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0013/XCompose:
--------------------------------------------------------------------------------
1 | : "bar" B
2 | : "foo" A
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0014/XCompose:
--------------------------------------------------------------------------------
1 | : "bar" B
2 | : "bar" B
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0015/XCompose:
--------------------------------------------------------------------------------
1 | : "foo" A
2 | : "bar" B
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0016/XCompose:
--------------------------------------------------------------------------------
1 | : "foo" A
2 | : "foo" B
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0017/XCompose:
--------------------------------------------------------------------------------
1 | : "foo" A
2 | : "bar" A
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0019/input.txt:
--------------------------------------------------------------------------------
1 | Multi_key
2 | Multi_key
3 | Multi_key
4 | Multi_key
5 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0047/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | replacement
4 | b
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0081/input.txt:
--------------------------------------------------------------------------------
1 | both z
2 | both y
3 | down x
4 | down b
5 | up b
6 | up x
7 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0095/expected.txt:
--------------------------------------------------------------------------------
1 | down b
2 | key_down(b)
3 | up b
4 | key_up(b)
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0002/keycodes/b.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | indicator 2 = "alpha";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0013/symbols/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers x = Mod1;
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0013/symbols/y.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers y = Mod2;
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0014/symbols/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers x = Mod1;
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0014/symbols/y.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers x = Mod2;
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t010/t0103/symbols/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | key { [ A ], [ B ] };
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t012/t0129/symbols/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | modmap Mod1 { , };
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0249/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | // * = <
3 | * = %l
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0251/rules/a:
--------------------------------------------------------------------------------
1 | ! $ = a
2 |
3 | ! layout[any] = symbols
4 | $ = X
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0274/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "a" {
2 | indicator 1 = "A";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0275/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "a" {
2 | indicator 1 = "A";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0276/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "a" {
2 | indicator 1 = "B";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0278/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "a" {
2 | indicator 1 = "B";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0279/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "a" {
2 | indicator 1 = "B";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0287/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | default xkb_keycodes {
2 | include "y.xkb"
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t039/t0394/symbols/a.xkb:
--------------------------------------------------------------------------------
1 | default xkb_symbols {
2 | key { [ a ] };
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0401/rules/a:
--------------------------------------------------------------------------------
1 | ! model = symbols
2 | ! model = keycodes =
3 | a = b
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0403/rules/a:
--------------------------------------------------------------------------------
1 | ! $g = a
2 | ! !
3 |
4 | ! model = symbols
5 | $g = b
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0005/XCompose:
--------------------------------------------------------------------------------
1 | : "@" at # COMMERCIAL AT
2 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0006/XCompose:
--------------------------------------------------------------------------------
1 | : "@" at # COMMERCIAL AT
2 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t000/t0008/input.txt:
--------------------------------------------------------------------------------
1 | both i
2 | down rightalt
3 | both i
4 | up rightalt
5 | both i
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0035/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both compose
3 | down leftalt
4 | both h
5 | both h
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t005/t0056/input.txt:
--------------------------------------------------------------------------------
1 | down leftshift
2 | down leftalt
3 | up leftalt
4 | up leftshift
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t005/t0057/input.txt:
--------------------------------------------------------------------------------
1 | down leftalt
2 | down leftshift
3 | up leftshift
4 | up leftalt
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0216/rules/b:
--------------------------------------------------------------------------------
1 | oeauoaeunthoaeunteoh
2 |
3 | ! model = symbols
4 | x = y
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0224/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "V"
3 |
4 | [[groups]]
5 | layout = "U"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0224/rules/a:
--------------------------------------------------------------------------------
1 | ! = keycodes
2 | = x
3 |
4 | ! = symbols
5 | = %l[1]-%m[1]-%m
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0227/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "V"
3 |
4 | [[groups]]
5 | layout = "U"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0244/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "u"
3 |
4 | [[groups]]
5 | layout = "l"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0255/compat/a.xkb:
--------------------------------------------------------------------------------
1 | xkb_compat_map {
2 | indicator "Caps Lock" { };
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0287/keycodes/y.xkb:
--------------------------------------------------------------------------------
1 | default xkb_keycodes {
2 | indicator 1 = "A";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0402/rules/a:
--------------------------------------------------------------------------------
1 | ! $g = a
2 | ! $g b
3 |
4 | ! model = symbols
5 | $g = b
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0005/input.txt:
--------------------------------------------------------------------------------
1 | Multi_key
2 | Shift_L
3 | A
4 | Caps_Lock
5 | Control_L
6 | T
7 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0015/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | pending
3 | B
4 | composed
5 | bar B
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0016/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | pending
3 | B
4 | composed
5 | foo B
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0017/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | pending
3 | B
4 | composed
5 | bar A
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0048/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | both h
3 | both e
4 | both l
5 | both l
6 | both o
7 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t005/t0051/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both e
3 | up capslock
4 | both l
5 | both l
6 | both o
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0066/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | = 1;
3 | = 2;
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t012/t0128/symbols/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | key { };
3 | key { };
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0254/compat/a.xkb:
--------------------------------------------------------------------------------
1 | xkb_compatibility_map {
2 | indicator "Caps Lock" { };
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0467/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l1"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0470/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l2"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0473/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l3"
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0476/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l4"
5 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0012/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | pending
3 | B
4 | composed
5 | bar B
6 | C
7 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0014/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | pending
3 | B
4 | composed
5 | bar B
6 | C
7 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0044/XCompose:
--------------------------------------------------------------------------------
1 | : c
2 | : d
3 | : y
4 | : z
5 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0048/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | pending
3 | b
4 | composed
5 | replacement
6 |
--------------------------------------------------------------------------------
/compose-tests/xlocaledir/locale.alias:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mahkoh/kbvm/HEAD/compose-tests/xlocaledir/locale.alias
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t000/t0001/input.txt:
--------------------------------------------------------------------------------
1 | down i
2 | down leftshift
3 | repeat
4 | up leftshift
5 | repeat
6 | up i
7 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0027/input.txt:
--------------------------------------------------------------------------------
1 | down leftshift
2 | down rightshift
3 | up leftshift
4 | up rightshift
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0030/input.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 | both leftshift
3 | both leftshift
4 | both leftshift
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0099/input.txt:
--------------------------------------------------------------------------------
1 | both b
2 | down a
3 | both b
4 | down b
5 | up a
6 | up b
7 | both b
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0100/input.txt:
--------------------------------------------------------------------------------
1 | both b
2 | down a
3 | both b
4 | down b
5 | up a
6 | up b
7 | both b
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0102/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both b
3 | both c
4 | both a
5 | both a
6 | both b
7 | both b
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0103/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both a
3 |
4 | both b
5 | both b
6 |
7 | both c
8 | both c
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t005/t0058/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | indicator 1 = "Y";
3 | augment "x.xkb"
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0157/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev"
2 | model = "pc104"
3 |
4 | [[groups]]
5 | layout = "foo"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0219/rules/a:
--------------------------------------------------------------------------------
1 | ! model = symbols
2 | x = y
3 |
4 | ! model = keycodes
5 | x z = y
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0274/extra-includes/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "b" {
2 | indicator 2 = "B";
3 | };
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0010/XCompose:
--------------------------------------------------------------------------------
1 | : X
2 | : dollar
3 | : dead_acute
4 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0020/expected.txt:
--------------------------------------------------------------------------------
1 | dead_acute
2 | pending
3 | A
4 | composed
5 | Á Aacute
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0023/expected.txt:
--------------------------------------------------------------------------------
1 | a
2 | composed
3 | a
4 | b
5 | composed
6 | b
7 |
--------------------------------------------------------------------------------
/kbvm-cli/build.rs:
--------------------------------------------------------------------------------
1 | use wl_client_builder::Builder;
2 |
3 | fn main() {
4 | Builder::default().build().unwrap();
5 | }
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0017/input.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 | both rightshift
3 | both rightshift
4 | both rightshift
5 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0078/input.txt:
--------------------------------------------------------------------------------
1 | both z
2 | both y
3 | down x
4 | down b
5 | up b
6 | down b
7 | up b
8 | up x
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0079/input.txt:
--------------------------------------------------------------------------------
1 | both z
2 | both y
3 | down x
4 | down b
5 | up b
6 | down b
7 | up b
8 | up x
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0080/input.txt:
--------------------------------------------------------------------------------
1 | both z
2 | both y
3 | down x
4 | down b
5 | up b
6 | down b
7 | up b
8 | up x
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0082/input.txt:
--------------------------------------------------------------------------------
1 | both z
2 | both y
3 | down x
4 | down b
5 | up b
6 | down b
7 | up b
8 | up x
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0106/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both a
3 |
4 | both a
5 | down a
6 | both b
7 | up a
8 | both a
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0011/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers x;
3 | virtual_modifiers y;
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t007/t0072/types/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_types {
2 | type "Y" {
3 | };
4 | type "X" {
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t009/t0093/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | include "x.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t013/t0130/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | include "x.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t013/t0130/symbols/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | name[Group1] = "X";
3 | name[Group2] = "Y";
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t013/t0131/symbols/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | name[Group1] = "X";
3 | name[Group2] = "Y";
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0220/rules/a:
--------------------------------------------------------------------------------
1 | ! model = symbols
2 | x = y
3 |
4 | ! model = keycodes
5 | x = y z
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0254/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | include "a.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0255/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | include "a.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0271/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[!0] = "1";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0275/extra-includes/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | default xkb_keycodes {
2 | indicator 2 = "B";
3 | };
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0285/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | replace "("
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t005/t0052/input.txt:
--------------------------------------------------------------------------------
1 | both kp1
2 | both numlock
3 | both kp1
4 | both kp2
5 | both numlock
6 | both kp2
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0007/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_types {
3 | virtual_modifiers x;
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0065/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t013/t0131/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | include "x.xkb:3"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0152/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb(a)"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0213/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0214/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "y"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0215/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "y"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0216/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "y"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0217/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "y"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0218/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "y"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0219/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "y"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0220/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "y"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0221/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 | model = "x"
3 | options = ["z"]
4 |
5 | [[groups]]
6 | layout = "y"
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0222/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0223/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "x"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0226/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "x"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0234/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "U"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0235/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "u"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0237/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0238/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0239/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "U"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0240/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "V"
2 | types = ""
3 | compat = ""
4 | symbols = "U"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0241/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "--"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0244/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0245/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0246/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0247/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0248/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "X"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0249/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "X"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0250/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "X"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0251/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0258/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_KEYCODES {
3 | indicator 1 = "A";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0275/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0280/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0281/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0286/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0287/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t030/t0307/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = 2;
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t034/t0348/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | modmap Mod1 { };
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0400/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "b"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0401/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "b"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0402/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "b"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0403/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "b"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0404/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0405/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "d"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0406/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0407/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0408/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0409/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t041/t0410/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "b"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0001/expected.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | pending
3 | space
4 | composed
5 | ~ asciitilde
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0013/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | pending
3 | B
4 | pending
5 | C
6 | composed
7 | foo A
8 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0022/expected.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | pending
3 | space
4 | composed
5 | ~ asciitilde
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t003/t0039/expected.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | pending
3 | space
4 | composed
5 | ~ asciitilde
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0039/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | down leftshift
3 | both e
4 | both l
5 | up leftshift
6 | both l
7 | both o
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0041/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | down leftshift
3 | both e
4 | both l
5 | up rightshift
6 | both l
7 | both o
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0049/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both e
3 | both capslock
4 | both l
5 | both l
6 | both capslock
7 | both o
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t005/t0050/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | down capslock
3 | both e
4 | both l
5 | both l
6 | up capslock
7 | both o
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0088/input.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 | both a
3 | down leftshift
4 | both a
5 | up leftshift
6 | both a
7 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0094/expected.txt:
--------------------------------------------------------------------------------
1 | down b
2 | key_down(b)
3 | controls = 0x00000400
4 | up b
5 | key_up(b)
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0004/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | include "a.xkb+b.xkb(y)"
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0065/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes {
2 | indicator 1 = "X";
3 | indicator 2 = "Y";
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t009/t0096/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "\101";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t009/t0099/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[Group1] = "\101";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0154/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "pc+pc:2"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0221/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "a"
2 | types = ""
3 | compat = "c"
4 | symbols = "b"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0225/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "-:1-"
2 | types = ""
3 | compat = ""
4 | symbols = "-:-"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0227/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "x+VU"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0228/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "-U_U"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0229/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "abc"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0230/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "abcdef"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0231/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "abc"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0233/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "abcdef"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0236/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "u+u"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0242/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "a+l"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0243/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "a|l"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t024/t0248/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = %l
3 | // ^ there is a tab here
4 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t026/t0268/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[5 - 1 - 1] = "3";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t026/t0269/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[8 / 2 / 2] = "2";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0270/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[~0xfffffffd] = "2";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0272/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[Group2[1]] = "2";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0405/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "a"
5 |
6 | [[groups]]
7 | layout = "x"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0406/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "a"
5 |
6 | [[groups]]
7 | layout = "x"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0407/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "a"
5 |
6 | [[groups]]
7 | layout = "x"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0408/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "a"
5 |
6 | [[groups]]
7 | layout = "x"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t040/t0409/input.toml:
--------------------------------------------------------------------------------
1 | rules = "a"
2 |
3 | [[groups]]
4 | layout = "a"
5 |
6 | [[groups]]
7 | layout = "x"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0464/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "xyz"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0466/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = ""
2 | types = ""
3 | compat = ""
4 | symbols = "a^b"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0468/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l1"
5 | variant = "v1"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0469/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l1"
5 | variant = "v2"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0471/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l2"
5 | variant = "v1"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0472/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l2"
5 | variant = "v2"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0474/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l3"
5 | variant = "v1"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0475/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l3"
5 | variant = "v2"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0477/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l4"
5 | variant = "v1"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0478/input.toml:
--------------------------------------------------------------------------------
1 | rules = "extended-wild-cards"
2 |
3 | [[groups]]
4 | layout = "l4"
5 | variant = "v2"
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0003/expected.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | pending
3 | dead_tilde
4 | composed
5 | ~ asciitilde
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0087/input.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 | both a
3 | both leftshift
4 | both a
5 |
6 | both leftshift
7 | both a
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0016/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers x;
3 | augment virtual_modifiers y = Mod1;
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0017/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers x = Mod1;
3 | virtual_modifiers x = Mod2;
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t009/t0093/compat/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_compat {
2 | indicator "B" {
3 | };
4 | indicator "A" {
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0154/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev"
2 |
3 | [[groups]]
4 | layout = "us"
5 |
6 | [[groups]]
7 | layout = "de"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0158/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev"
2 | model = "foo"
3 |
4 | [[groups]]
5 | layout = "ar"
6 | variant = "bar"
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0162/input.toml:
--------------------------------------------------------------------------------
1 | rules = "wildcard"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "a"
6 | variant = "1"
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0224/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "x"
2 | types = ""
3 | compat = ""
4 | symbols = "U-V[1]-V"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t023/t0232/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "abc:1[1]def"
2 | types = ""
3 | compat = ""
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t026/t0262/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | virtual INDICATOR 1 = "A";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0273/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[Group2.Group3] = "2";
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t036/t0360/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_types {
3 | virtual_modifiers a, Shift, b;
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0004/expected.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | pending
3 | space
4 | composed
5 | ~ asciitilde
6 | Caps_Lock
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0012/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_symbols {
2 | virtual_modifiers x = Mod1;
3 | augment virtual_modifiers x = Mod2;
4 | };
5 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t009/t0094/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "\101" {
4 | };
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0170/input.toml:
--------------------------------------------------------------------------------
1 | rules = "special_indexes"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "a"
6 | variant = ""
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0171/input.toml:
--------------------------------------------------------------------------------
1 | rules = "special_indexes"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "a"
6 | variant = "1"
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0282/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "dummy" {
2 | };
3 |
4 | default xkb_keycodes {
5 | indicator 1 = "B";
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0465/symbols/b.xkb:
--------------------------------------------------------------------------------
1 | default xkb_symbols {
2 | key {
3 | symbols[Group1] = [ b ],
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0465/symbols/y.xkb:
--------------------------------------------------------------------------------
1 | default xkb_symbols {
2 | key {
3 | symbols[Group1] = [ y ],
4 | };
5 | };
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0466/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = symbols
2 | * = a
3 |
4 | ! layout[any] = symbols
5 | * = ^b
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t004/t0044/input.txt:
--------------------------------------------------------------------------------
1 | a
2 | b
3 | c
4 |
5 | a
6 | b
7 | d
8 |
9 | a
10 | x
11 | y
12 |
13 | a
14 | x
15 | z
16 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0023/input.txt:
--------------------------------------------------------------------------------
1 | both rightshift
2 | both leftshift
3 | both rightshift
4 | down leftshift
5 | both a
6 | up leftshift
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0168/input.toml:
--------------------------------------------------------------------------------
1 | rules = "special_indexes"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "layout_a"
6 | variant = ""
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0169/input.toml:
--------------------------------------------------------------------------------
1 | rules = "special_indexes"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "layout_e"
6 | variant = ""
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0172/input.toml:
--------------------------------------------------------------------------------
1 | rules = "special_indexes"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "layout_c"
6 | variant = ""
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0173/input.toml:
--------------------------------------------------------------------------------
1 | rules = "special_indexes"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "layout_d"
6 | variant = ""
7 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0007/expected.txt:
--------------------------------------------------------------------------------
1 | Multi_key
2 | pending
3 | apostrophe
4 | pending
5 | 7
6 | aborted
7 | 7
8 | Caps_Lock
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0086/input.txt:
--------------------------------------------------------------------------------
1 | down a
2 | up a
3 | repeat
4 | down a
5 | up a
6 | down a
7 | up a
8 | down a
9 | up a
10 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0104/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(a)
3 | both a
4 |
5 | both b
6 | key_down(b)
7 | both b
8 | key_up(b)
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0105/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(a)
3 | both a
4 |
5 | both b
6 | key_down(b)
7 | both b
8 | key_up(b)
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0005/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | hurr durr;
4 | indicator 1 = "A";
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t013/t0134/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[Group1].x = "X";
4 | name = "Y";
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0154/rules/evdev:
--------------------------------------------------------------------------------
1 | ! layout[1] = symbols
2 | * = pc
3 |
4 | ! layout[later] = symbols
5 | * = +pc:%i
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0163/input.toml:
--------------------------------------------------------------------------------
1 | rules = "wildcard"
2 | model = ""
3 | options = [""]
4 |
5 | [[groups]]
6 | layout = "a"
7 | variant = "1"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0225/rules/a:
--------------------------------------------------------------------------------
1 | ! = symbols
2 | = -:%i-
3 |
4 | ! layout[any] = keycodes
5 | * = -:%i-
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0226/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = keycodes
2 | * = x
3 |
4 | ! layout[any] = keycodes
5 | * = %+m%l[%i]
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0227/rules/a:
--------------------------------------------------------------------------------
1 | ! layout[any] = keycodes
2 | * = x
3 |
4 | ! layout[any] = keycodes
5 | * = %+m%l[%i]
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0252/keycodes/a.xkb:
--------------------------------------------------------------------------------
1 | partial xkb_keycodes {
2 | = 1;
3 | };
4 |
5 | default xkb_keycodes {
6 | = 2;
7 | };
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0014/input.txt:
--------------------------------------------------------------------------------
1 | down leftshift
2 | both a
3 | up leftshift
4 | down a
5 | down leftshift
6 | repeat
7 | up leftshift
8 | up a
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0015/input.txt:
--------------------------------------------------------------------------------
1 | down leftshift
2 | both a
3 | up leftshift
4 | down a
5 | down leftshift
6 | repeat
7 | up leftshift
8 | up a
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0184/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "jp"
7 | variant = ""
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0186/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "es"
7 | variant = ""
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0201/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "olpc"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "us"
7 | variant = ""
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0202/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "olpc"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "jp"
7 | variant = ""
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0274/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb(a)"
4 | include "x.xkb(b)"
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0277/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb"
4 | indicator 1 = "A";
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0279/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | replace "x.xkb(b)"
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0283/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | replace "x.xkb"
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0284/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | replace "x.xkb()"
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0467/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l10:1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0468/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l20:1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0470/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l2:1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0473/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l50:1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0476/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l4:1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0477/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l4(v1):1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0152/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "a" {
2 | include "x.xkb(b)"
3 | };
4 |
5 | xkb_keycodes "b" {
6 | include "x.xkb(a)"
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0162/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+a(1)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0163/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+a(1)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0164/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+a(1)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0165/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "b(2):2"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0166/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+a(1)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0167/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "b(2):2"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0180/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "whatever"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "ar"
7 | variant = ""
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0182/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "ataritt"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "es"
7 | variant = ""
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0183/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "ataritt"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "jp"
7 | variant = ""
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0185/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "jp"
7 | variant = "xxx"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0187/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "es"
7 | variant = "xxx"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0203/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "de"
7 | variant = "neo"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t036/t0369/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 32 = "X";
4 | indicator 33 = "Y";
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t038/t0380/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[Group1] = "abc";
4 | name[Group2] = def;
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0460/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_types {
3 | virtual_modifiers a = 1;
4 | virtual_modifiers a;
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0469/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l30(v2):1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0471/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l40(v1):1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0472/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l40(v2):1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0474/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l50(v1):1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0475/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l50(v2):1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0478/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l4(v20):1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0019/expected.txt:
--------------------------------------------------------------------------------
1 | Multi_key
2 | pending
3 | Multi_key
4 | aborted
5 | Multi_key
6 | pending
7 | Multi_key
8 | aborted
9 |
--------------------------------------------------------------------------------
/kbvm/src/syms.rs:
--------------------------------------------------------------------------------
1 | //! [`Keysym`] constants for well-known keysyms.
2 |
3 | #[allow(unused_imports)]
4 | use crate::Keysym;
5 | pub use crate::keysym::generated::syms::*;
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0064/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "X";
4 | indicator 2 = "X";
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t008/t0080/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator.modifiers = Mod1;
4 | indicator "A" { };
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t026/t0266/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | alternate indicator 1 = "B";
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0283/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "" {
2 | indicator 1 = "C";
3 | };
4 |
5 | default xkb_keycodes {
6 | indicator 1 = "B";
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0284/keycodes/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_keycodes "" {
2 | indicator 1 = "C";
3 | };
4 |
5 | default xkb_keycodes {
6 | indicator 1 = "B";
7 | };
8 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0003/XCompose:
--------------------------------------------------------------------------------
1 | : "~" asciitilde # TILDE
2 | : "~" asciitilde # TILDE
3 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0004/XCompose:
--------------------------------------------------------------------------------
1 | : "~" asciitilde # TILDE
2 | : "~" asciitilde # TILDE
3 |
--------------------------------------------------------------------------------
/libxkbcommon-test-linker/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "libxkbcommon-test-linker"
3 | version = "0.1.0"
4 | edition = "2024"
5 | publish = false
6 |
7 | [dependencies]
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0045/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both e
3 | both compose
4 | both k
5 | both f
6 | both compose
7 | both compose
8 | both compose
9 | both o
10 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t005/t0059/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | down rightalt
3 | both h
4 | up rightalt
5 | both h
6 | down rightalt
7 | both h
8 | up rightalt
9 | both h
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0170/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "a"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0171/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "a(1)"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0181/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "whatever"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "ben"
7 | variant = "probhat"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t029/t0297/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "Caps Lock" {
4 | groups=xyz;
5 | };
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0043/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | down leftshift
3 | both e
4 | down leftshift
5 | both l
6 | up leftshift
7 | both l
8 | up leftshift
9 | both o
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t009/t0092/compat/x.xkb:
--------------------------------------------------------------------------------
1 | xkb_compat {
2 | interpret B {
3 | };
4 | interpret A {
5 | action = SetMods(mods = Mod1);
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0168/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "symbols_A"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0173/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "symbols_D"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0174/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "a+b:2"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0175/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "a+b(c):2"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t029/t0290/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "Caps Lock" {
4 | groups=None+1;
5 | };
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t029/t0293/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "Caps Lock" {
4 | groups=Group99;
5 | };
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t029/t0294/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "Caps Lock" {
4 | groups=Group0;
5 | };
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t029/t0295/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "Caps Lock" {
4 | groups=Group;
5 | };
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t029/t0296/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "Caps Lock" {
4 | groups=GROUP1;
5 | };
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t029/t0298/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "Caps Lock" {
4 | groups=froup1;
5 | };
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t038/t0386/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | virtual_modifiers A = Mod1;
4 | virtual_modifiers B = "Mod1";
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0465/symbols/a.xkb:
--------------------------------------------------------------------------------
1 | default xkb_symbols {
2 | key {
3 | symbols[Group1] = [ a ],
4 | symbols[Group2] = [ a ],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0465/symbols/x.xkb:
--------------------------------------------------------------------------------
1 | default xkb_symbols {
2 | key {
3 | symbols[Group1] = [ x ],
4 | symbols[Group2] = [ x ],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t047/t0479/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l10:1+l20:2+l30(v2):3+l2:4"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0034/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both compose
3 | both h
4 | both h
5 | both scrolllock
6 | both h
7 | both e
8 | both compose
9 | both h
10 | both h
11 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0042/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | down leftshift
3 | both e
4 | down rightshift
5 | both l
6 | up rightshift
7 | both l
8 | up leftshift
9 | both o
10 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0096/expected.txt:
--------------------------------------------------------------------------------
1 | both b
2 | key_down(b)
3 | controls = 0x00000400
4 | key_up(b)
5 | down b
6 | key_down(b)
7 | up b
8 | key_up(b)
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0018/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ A ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t010/t0102/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | include "x.xkb:2"
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t010/t0103/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | include "x.xkb:2"
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t013/t0138/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | modmap Mod1 { };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0159/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat|some:compat"
4 | symbols = ""
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0188/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = ["misc:typo", "misc:apl"]
4 |
5 | [[groups]]
6 | layout = "br"
7 | variant = ""
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0276/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | augment "x.xkb"
5 | replace "x.xkb"
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0282/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | augment "x.xkb"
5 | replace "x.xkb"
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t039/t0394/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | include "a.xkb:1"
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t048/t0481/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l50(v2):1+l4(v20):4+l4:2+l4(v1):3"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0040/input.txt:
--------------------------------------------------------------------------------
1 | down h
2 | repeat
3 | repeat
4 | down leftshift
5 | repeat
6 | repeat
7 | up leftshift
8 | repeat
9 | repeat
10 | up h
11 | both h
12 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t006/t0066/input.txt:
--------------------------------------------------------------------------------
1 | both 2
2 | both 3
3 | both 7
4 | both 8
5 | both slash
6 | down leftctrl
7 | both 2
8 | both 3
9 | both 7
10 | both 8
11 | both slash
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0155/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev"
2 |
3 | model = "my_model"
4 | options = ["my_option"]
5 |
6 | [[groups]]
7 | layout = "my_layout"
8 | variant = "my_variant"
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0156/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "default_symbols"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0157/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "something(pc104)"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "default_symbols"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0158/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "my_symbols+(bar)"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0169/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "symbols_E+layout_e"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0207/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "x:1+x:2+x:3+x:4+x:5"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t021/t0212/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "x:1+x:2+x:3+x:4+x:5"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0252/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "a.xkb"
4 | };
5 | xkb_symbols {
6 | key { [ A ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0253/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "a.xkb"
4 | };
5 | xkb_symbols {
6 | key { [ A ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t025/t0259/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "a.xkb"
4 | };
5 | xkb_symbols {
6 | key { [ A ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0421/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { locks, [ a ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t048/t0480/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+l40(v1):1+l40(v2):2+l50:3+l50(v1):4"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0005/expected.txt:
--------------------------------------------------------------------------------
1 | Multi_key
2 | pending
3 | Shift_L
4 | A
5 | pending
6 | Caps_Lock
7 | Control_L
8 | T
9 | composed
10 | @ at
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t012/t0126/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | augment name[Group1] = "X";
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0155/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "my_keycodes"
2 | types = "my_types"
3 | compat = "my_compat|some:compat"
4 | symbols = "my_symbols+extra_variant"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0172/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "symbols_C:1+symbols_z:1"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0176/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "symbols_e:1+symbols_x:2"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0180/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+ara+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0186/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+es+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t027/t0278/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | augment "x.xkb(a)"
5 | replace "x.xkb(a)"
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0288/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | };
5 | xkb_keycodes {
6 | indicator 1 = "B";
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0422/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { !locks, [ a ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0461/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | indicator 2 = "B";
5 | indicator 1 = "B";
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t049/t0493/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ VoidAction() ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0071/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(a)
3 | sym = a, char = 'a'
4 | key_up(a)
5 | both b
6 | key_down(a)
7 | sym = a, char = 'a'
8 | key_up(a)
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0184/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete+japan"
4 | symbols = "pc+jp+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0187/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+es(xxx)+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0189/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+ara+pt:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0190/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+pt+ara:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0194/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+jp+es:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0195/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+es+jp:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0196/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+jp+es:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0198/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+latin+jp:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t029/t0291/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "Caps Lock" {
4 | controls = SlowKeys + MouseKeys;
5 | };
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0423/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { locks, !locks, [ a ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0424/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { !locks, locks, [ a ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t043/t0438/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { locks[1] = true, [ a ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0181/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+in(ben_probhat)+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0185/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete+japan"
4 | symbols = "pc+jp(xxx)+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t022/t0221/rules/a:
--------------------------------------------------------------------------------
1 | ! $any = x y z
2 |
3 | ! model = keycodes
4 | $any = a
5 |
6 | ! layout = symbols
7 | $any = b
8 |
9 | ! option = compat
10 | $any = c
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t028/t0289/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | };
5 | xkb_keycodes {
6 | augment indicator 1 = "B";
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0420/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ Redirect(mods = Mod1), ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t004/t0044/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | down capslock
3 | both h
4 | down capslock
5 | both h
6 | up capslock
7 | both h
8 | up capslock
9 | both h
10 | both capslock
11 | both h
12 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0086/map.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "generated"
4 | };
5 | xkb_symbols {
6 | key { locks = true, [ a ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0174/input.toml:
--------------------------------------------------------------------------------
1 | rules = "special_indexes"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "a"
6 | variant = ""
7 |
8 | [[groups]]
9 | layout = "b"
10 | variant = ""
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0175/input.toml:
--------------------------------------------------------------------------------
1 | rules = "special_indexes"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "a"
6 | variant = ""
7 |
8 | [[groups]]
9 | layout = "b"
10 | variant = "c"
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0191/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+in(ben_probhat)+gb:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0193/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+in(ben_probhat)+ara:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0197/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+jp(xxx)+es(yyy):2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0199/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+latin(xxx)+jp(yyy):2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0201/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+olpc(olpc)+aliases(qwerty)"
2 | types = "complete"
3 | compat = "olpc"
4 | symbols = "olpc+us(olpc)+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0202/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+olpc(olpc)+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete+japan"
4 | symbols = "olpc+jp+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0204/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+olpc(olpc)+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+jp+es:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0206/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+olpc(olpc)+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+es+jp:2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t038/t0383/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | 1;
7 | key { [ a ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t038/t0387/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator "1" = "A";
4 | indicator 999999999999999999 = "B";
5 | indicator 2 = "C";
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0008/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | composed
3 | foo X
4 | A
5 | composed
6 | foo X
7 | C
8 | B
9 | pending
10 | A
11 | composed
12 | baz Y
13 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0011/input.txt:
--------------------------------------------------------------------------------
1 | both capslock
2 | both leftshift
3 | both capslock
4 | down leftshift
5 | both i
6 | up leftshift
7 | down i
8 | down leftshift
9 | up i
10 | up leftshift
11 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t006/t0068/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both 2
3 | both 3
4 | both 7
5 | both 8
6 | both slash
7 | down leftctrl
8 | both a
9 | both 2
10 | both 3
11 | both 7
12 | both 8
13 | both slash
14 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0103/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(a)
3 | both a
4 |
5 | both b
6 | key_down(b)
7 | both b
8 | key_up(b)
9 |
10 | both c
11 | key_down(c)
12 | both c
13 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t007/t0078/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "A" {
4 | groups = Group1;
5 | whichgroupstate = Locked;
6 | };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t012/t0128/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | = 2;
5 | };
6 | xkb_symbols {
7 | include "x.xkb"
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0182/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "xfree68_vndr/ataritt(us)+es+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t030/t0304/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "A" {
4 | mods = Mod1;
5 | whichModState = All-Latched;
6 | };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t030/t0306/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "A" {
4 | mods = Mod1;
5 | whichModState = All-[Latched];
6 | };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t036/t0362/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "merge_modes"
4 | };
5 | xkb_symbols {
6 | include "merge_modes(new-default)"
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t036/t0363/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "merge_modes"
4 | };
5 | xkb_symbols {
6 | include "merge_modes(new-augment)"
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t036/t0364/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "merge_modes"
4 | };
5 | xkb_symbols {
6 | include "merge_modes(new-override)"
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t036/t0365/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "merge_modes"
4 | };
5 | xkb_symbols {
6 | include "merge_modes(new-replace)"
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0011/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | pending
3 | C
4 | aborted
5 | D
6 | A
7 | pending
8 | C
9 | aborted
10 | C
11 | pending
12 | D
13 | composed
14 | Y
15 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t002/t0023/XCompose:
--------------------------------------------------------------------------------
1 | : a
2 | include "%H/aba8642e-3ce1-4140-b38b-ac1b53ee331f"
3 | include "%L/aba8642e-3ce1-4140-b38b-ac1b53ee331f"
4 | include "%L%X"
5 | include invalid
6 | : b
7 |
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0036/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both compose
3 | both compose
4 | both h
5 | both e
6 | both scrolllock
7 | both h
8 | both e
9 | both compose
10 | both compose
11 | both h
12 | both e
13 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0037/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both compose
3 | both compose
4 | both h
5 | both e
6 | both scrolllock
7 | both h
8 | both e
9 | both compose
10 | both compose
11 | both h
12 | both e
13 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t006/t0069/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both b
3 | down leftshift
4 | both a
5 | both b
6 | up leftshift
7 | both capslock
8 | both a
9 | both b
10 | down leftshift
11 | both a
12 | both b
13 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0107/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(a)
3 | both c
4 | key_down(c)
5 | both b
6 | key_up(a)
7 | key_down(b)
8 | both d
9 | key_up(c)
10 | key_down(d)
11 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0108/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(0xfffe)
3 | sym = a, char = 'a'
4 | key_up(0xfffe)
5 | both b
6 | key_down(0xffff)
7 | sym = b, char = 'b'
8 | key_up(0xffff)
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0159/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev"
2 | options = ["my_option"]
3 |
4 | [[groups]]
5 | layout = "my_layout"
6 | variant = "my_variant"
7 |
8 | [[groups]]
9 | layout = "second_layout"
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0160/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "default_symbols+extra:1+extra:2+extra:3+extra:4"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0161/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev"
2 | model = "my_model"
3 | options = ["option3", "option1", "colon:opt", "option11"]
4 |
5 | [[groups]]
6 | layout = "my_layout"
7 | variant = "my_variant"
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0164/input.toml:
--------------------------------------------------------------------------------
1 | rules = "wildcard"
2 | model = ""
3 | options = [""]
4 |
5 | [[groups]]
6 | layout = "a"
7 | variant = "1"
8 |
9 | [[groups]]
10 | layout = ""
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0165/input.toml:
--------------------------------------------------------------------------------
1 | rules = "wildcard"
2 | model = ""
3 | options = [""]
4 |
5 | [[groups]]
6 | layout = ""
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "b"
11 | variant = "2"
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0166/input.toml:
--------------------------------------------------------------------------------
1 | rules = "wildcard"
2 | model = ""
3 | options = [""]
4 |
5 | [[groups]]
6 | layout = "a"
7 | variant = "1"
8 |
9 | [[groups]]
10 | layout = "b"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0167/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev"
2 | model = ""
3 | options = [""]
4 |
5 | [[groups]]
6 | layout = "a"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "b"
11 | variant = "2"
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0183/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete+japan"
4 | symbols = "xfree68_vndr/ataritt(us)+jp+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0188/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+br+inet(evdev)+apl(level3):1+typo(base):1"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0192/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+gb+in(ben):2+in(ben_probhat):2+inet(evdev)"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t026/t0267/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_symbols {
3 | name[1 + 2 * 3] = "7";
4 | name[(1 + 2) * 3] = "9";
5 | name[((1 + 2) / (3 + 4)) + 5] = "5";
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t030/t0305/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "A" {
4 | mods = Mod1;
5 | whichModState = All-(All-Latched);
6 | };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t043/t0434/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key.locks;
7 | key { [ a ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t000/t0002/expected.txt:
--------------------------------------------------------------------------------
1 | dead_tilde
2 | pending
3 | space
4 | composed
5 | ~ asciitilde
6 | dead_tilde
7 | pending
8 | space
9 | composed
10 | ~ asciitilde
11 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0093/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(a)
3 | controls = 0x00000400
4 | key_up(a)
5 | down b
6 | key_down(b)
7 | up b
8 | key_up(b)
9 | controls = 0x00000000
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t005/t0055/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | virtual_modifiers A = Mod1;
4 |
5 | indicator "X" {
6 | modifiers = A;
7 | };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0061/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | = 1;
5 | };
6 | xkb_symbols {
7 | key {
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0066/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "x.xkb"
4 | };
5 | xkb_symbols {
6 | key { };
7 | key { };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t011/t0113/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ A ] };
7 | key { [ B ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t014/t0140/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 99;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ A ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0176/input.toml:
--------------------------------------------------------------------------------
1 | rules = "special_indexes"
2 | options = []
3 |
4 | [[groups]]
5 | layout = "layout_e"
6 | variant = ""
7 |
8 | [[groups]]
9 | layout = "layout_a"
10 | variant = ""
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t039/t0395/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ a ] };
7 | modmap X { };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t001/t0019/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ A ] };
7 | modmap Mod1 { };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t006/t0062/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | augment = 2;
5 | };
6 | xkb_symbols {
7 | key {
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t010/t0109/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | !groupsWrap,
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t011/t0112/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { };
7 | augment modmap Mod1 { };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t012/t0127/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | name[Group1] = "X";
7 | name[Group1] = "Y";
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0177/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "symbols_a:1+symbols_y:2+layout_c:3+layout_d:4+symbols_z:3"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t018/t0189/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "whatever"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "ar"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "pt"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0190/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "whatever"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "pt"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "ar"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0194/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "ataritt"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "jp"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "es"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0195/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "ataritt"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "es"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "jp"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0198/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "latin"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "jp"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0204/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "olpc"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "jp"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "es"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0205/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "gb"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "de"
11 | variant = "neo"
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0206/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "olpc"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "es"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "jp"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t029/t0292/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_compat {
3 | indicator "Caps Lock" {
4 | mods = Mod1;
5 | whichmodstate = Latched + Locked;
6 | };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t038/t0382/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key."repeat" = false;
7 | key { [ a ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0425/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { };
7 | augment key { locks };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t048/t0489/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { };
7 | modmap Mod1 { "\377", };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compose-tests/testcases/t00/t001/t0010/expected.txt:
--------------------------------------------------------------------------------
1 | A
2 | pending
3 | B
4 | composed
5 | X
6 | B
7 | pending
8 | A
9 | composed
10 | dollar
11 | C
12 | composed
13 | dead_acute
14 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t011/t0114/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ A ] };
7 | augment key { [ B ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t011/t0115/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ A ] };
7 | replace key { [ B ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t013/t0133/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key[0].groupsClamp;
7 | key {
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0197/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "jp"
7 | variant = "xxx"
8 |
9 | [[groups]]
10 | layout = "es"
11 | variant = "yyy"
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t032/t0322/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ SetMods(mods) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t041/t0411/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | = 2;
5 | };
6 | xkb_symbols {
7 | key { [ RedirectKey(key = ) ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t041/t0414/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | = 2;
5 | };
6 | xkb_symbols {
7 | key { [ RedirectKey(key = ) ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0426/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { !locks, };
7 | augment key { locks };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0427/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { locks, };
7 | augment key { !locks };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0428/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { locks, };
7 | override key { !locks };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t042/t0429/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { !locks, };
7 | override key { locks };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/integration-test-utils/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "integration-test-utils"
3 | version = "0.1.0"
4 | edition = "2024"
5 | publish = false
6 |
7 | [dependencies]
8 | kbvm = { path = "../kbvm" }
9 | parking_lot = "0.12.3"
10 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t008/t0084/input.txt:
--------------------------------------------------------------------------------
1 | down a
2 | down b
3 | up b
4 | up a
5 |
6 | down b
7 | down a
8 | up a
9 | up b
10 |
11 | down b
12 | down a
13 | up b
14 | up a
15 |
16 | down a
17 | down b
18 | up a
19 | up b
20 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t010/t0107/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | groupsClamp = true,
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t011/t0116/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ A ], [ B ] };
7 | replace key { [ C ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t017/t0179/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "default_keycodes"
2 | types = "default_types"
3 | compat = "default_compat"
4 | symbols = "symbols_a:1+symbols_y:2+layout_c:3+layout_d:4+layout_e:5+symbols_z:3"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0191/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "whatever"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "ben"
7 | variant = "probhat"
8 |
9 | [[groups]]
10 | layout = "gb"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0192/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "whatever"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "gb"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "ben"
11 | variant = "probhat"
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0193/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "whatever"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "ben"
7 | variant = "probhat"
8 |
9 | [[groups]]
10 | layout = "ar"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t019/t0199/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = []
4 |
5 | [[groups]]
6 | layout = "latin"
7 | variant = "xxx"
8 |
9 | [[groups]]
10 | layout = "jp"
11 | variant = "yyy"
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t032/t0327/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ SetMods(1 + 1) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0070/input.txt:
--------------------------------------------------------------------------------
1 | both a
2 | both x
3 | both a
4 | both a
5 | both x
6 | both x
7 | both a
8 | both x
9 |
10 | both a
11 | both y
12 | both a
13 | both a
14 | both y
15 | both y
16 | both a
17 | both y
18 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0094/map.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "generated"
4 | };
5 | xkb_symbols {
6 | key { [ LockControls(controls = Overlay1, affect = lock) ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0095/map.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "generated"
4 | };
5 | xkb_symbols {
6 | key { [ LockControls(controls = Overlay1, affect = unlock) ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0096/map.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "generated"
4 | };
5 | xkb_symbols {
6 | key { [ LockControls(controls = Overlay1, affect = lock) ] };
7 | };
8 | };
9 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t000/t0006/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | indicator 1 = "A";
4 | };
5 | xkb_keycodes {
6 | indicator 2 = "B";
7 | override indicator 1 = "C";
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t014/t0146/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 99;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ SetGroup(group = +1) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t014/t0149/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 99;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ LatchGroup(group = +1) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t015/t0151/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 99;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ LockGroup(group = +1) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0161/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "my_keycodes"
2 | types = "my_types"
3 | compat = "my_compat+some:compat+group(bla)"
4 | symbols = "my_symbols+extra_variant+compose(foo)+keypad(bar)+altwin(menu)"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t032/t0325/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ NoAction(mods = Mod1) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t032/t0328/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ SetMods(MODS = Mod1) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t036/t0368/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ SetMods(mods = ~0x100) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t037/t0370/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | = 2;
5 | };
6 | xkb_symbols {
7 | include "a.xkb(v)"
8 | include "a.xkb"
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0025/expected.txt:
--------------------------------------------------------------------------------
1 | down rightshift
2 | key_down(rightshift)
3 | group_pressed = 1
4 | group_effective = 1
5 | down leftshift
6 | key_down(leftshift)
7 | group_pressed = 2
8 | group_effective = 2
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t002/t0026/expected.txt:
--------------------------------------------------------------------------------
1 | down rightshift
2 | key_down(rightshift)
3 | group_pressed = 1
4 | group_effective = 1
5 | down leftshift
6 | key_down(leftshift)
7 | group_pressed = 2
8 | group_effective = 2
9 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t005/t0053/input.txt:
--------------------------------------------------------------------------------
1 | both 1
2 | both q
3 | down leftshift
4 | both 1
5 | both q
6 | up leftshift
7 | both v
8 | both capslock
9 | both 1
10 | both v
11 | down rightshift
12 | both v
13 | up rightshift
14 | both v
15 |
--------------------------------------------------------------------------------
/type-tests/testcases/t01/t010/t0101/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(a)
3 | both b
4 | key_up(a)
5 | key_down(b)
6 | both c
7 | key_up(b)
8 | key_down(c)
9 | both a
10 | key_up(c)
11 | key_down(a)
12 | both a
13 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t002/t0020/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | = 2;
5 | };
6 | xkb_symbols {
7 | key { [ A ] };
8 | key { [ A ] };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t012/t0120/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { };
7 | key {
8 | [ A ]
9 | };
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0200/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "evdev+aliases(qwerty)"
2 | types = "complete"
3 | compat = "complete"
4 | symbols = "pc+ca+br:2+inet(evdev)+apl(level3):1+apl(level3):2+typo(base):1+typo(base):2"
5 | geometry = "pc(pc104)"
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0200/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev-modern"
2 | model = "pc104"
3 | options = ["misc:typo", "misc:apl"]
4 |
5 | [[groups]]
6 | layout = "ca"
7 | variant = ""
8 |
9 | [[groups]]
10 | layout = "br"
11 | variant = ""
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t020/t0209/expected.toml:
--------------------------------------------------------------------------------
1 | keycodes = "my_keycodes"
2 | types = "my_types"
3 | compat = "my_compat"
4 | symbols = "base:1+base:2+base:3+base:4+base:5+symbols_a:2+symbols_b:3+default_symbols:4+default_symbols:5"
5 | geometry = ""
6 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t026/t0260/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | !repeats,
8 | [ A ],
9 | };
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t026/t0261/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ A ],
8 | !repeats
9 | };
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t02/t026/t0263/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | !key.repeats;
7 | key {
8 | [ A ],
9 | };
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t037/t0370/symbols/a.xkb:
--------------------------------------------------------------------------------
1 | default xkb_symbols {
2 | key { [ a ] };
3 | };
4 |
5 | default xkb_symbols {
6 | key { [ A ] };
7 | };
8 |
9 | xkb_symbols "v" {
10 | key { [ b ] };
11 | };
12 |
13 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t037/t0378/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | { { { } } };
7 | key {
8 | [ a ],
9 | };
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t037/t0379/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ a b ],
8 | [ c ],
9 | };
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t039/t0396/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | name[Group1];
7 | key {
8 | [ a ],
9 | };
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t003/t0033/input.txt:
--------------------------------------------------------------------------------
1 | both h
2 | both e
3 | down compose
4 | both h
5 | both e
6 | up compose
7 | both scrolllock
8 | both h
9 | both e
10 | down compose
11 | both h
12 | both e
13 | up compose
14 | both h
15 | both e
16 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t006/t0063/input.txt:
--------------------------------------------------------------------------------
1 | both 5
2 | both kp1
3 | both numlock
4 | down leftshift
5 | both kp1
6 | up leftshift
7 | both capslock
8 | both kp1
9 | down leftshift
10 | both kp1
11 | up leftshift
12 | both capslock
13 | both a
14 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0091/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(a)
3 | controls = 0x00000400
4 | key_up(a)
5 | down b
6 | key_down(b)
7 | controls = 0x00000c00
8 | up b
9 | key_up(b)
10 | controls = 0x00000400
11 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0092/expected.txt:
--------------------------------------------------------------------------------
1 | down b
2 | key_down(b)
3 | controls = 0x00000800
4 | both a
5 | key_down(a)
6 | controls = 0x00000c00
7 | key_up(a)
8 | up b
9 | key_up(b)
10 | controls = 0x00000400
11 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t009/t0098/expected.txt:
--------------------------------------------------------------------------------
1 | both a
2 | key_down(a)
3 | controls = 0x00000800
4 | key_up(a)
5 | down b
6 | key_down(b)
7 | controls = 0x00000c00
8 | up b
9 | key_up(b)
10 | controls = 0x00000400
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t003/t0032/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ a, A ],
8 | [ a, A ]
9 | };
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t011/t0110/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { };
7 | modmap Mod1 { };
8 | modmap Mod2 { };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t011/t0117/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key { [ ], [ A ] };
7 | augment key { [ ], [ NoSymbol, B ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t014/t0141/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 99;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ SetMods(mods = Mod1, clearLocks) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t014/t0147/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 99;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ SetGroup(group = +1, clearLocks) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t01/t016/t0160/input.toml:
--------------------------------------------------------------------------------
1 | rules = "evdev"
2 | options = ["some:opt"]
3 |
4 | [[groups]]
5 | layout = "br"
6 |
7 | [[groups]]
8 | layout = "al"
9 |
10 | [[groups]]
11 | layout = "cn"
12 |
13 | [[groups]]
14 | layout = "az"
15 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t03/t039/t0398/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ NoAction(), SetMods(mods = Mod1) ],
8 | };
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t04/t046/t0465/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | = 2;
5 | };
6 | xkb_symbols {
7 | include "a.xkb+b.xkb"
8 | include "x.xkb^y.xkb"
9 | };
10 | };
11 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t001/t0019/expected.txt:
--------------------------------------------------------------------------------
1 | both leftshift
2 | key_down(leftshift)
3 | mods_pressed = 0x00000001
4 | mods_effective = 0x00000001
5 | key_up(leftshift)
6 | mods_pressed = 0x00000000
7 | mods_effective = 0x00000000
8 |
--------------------------------------------------------------------------------
/type-tests/testcases/t00/t007/t0071/map.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | include "generated"
4 | };
5 | xkb_symbols {
6 | key { [ a ] };
7 | key { [ RedirectKey(key = ) ] };
8 | };
9 | };
10 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "libxkbcommon"]
2 | path = libxkbcommon
3 | url = https://github.com/xkbcommon/libxkbcommon.git
4 | [submodule "xkeyboard-config"]
5 | path = xkeyboard-config
6 | url = https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config.git
7 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t003/t0033/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_symbols {
6 | key {
7 | [ a, A ],
8 | };
9 | modmap Mod1 { a };
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/compile-tests/testcases/t00/t007/t0074/input.xkb:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes {
3 | = 1;
4 | };
5 | xkb_compat {
6 | };
7 | xkb_symbols {
8 | key {
9 | [ A ]
10 | };
11 | };
12 | };
13 |
--------------------------------------------------------------------------------