1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
// Take a look at the license at the top of the repository in the LICENSE file.

use glib::translate::*;
use glib::GString;
use libc::c_uint;
use std::mem;

#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct Key(u32);

impl ::std::ops::Deref for Key {
    type Target = u32;

    fn deref(&self) -> &u32 {
        &self.0
    }
}

impl ::std::ops::DerefMut for Key {
    fn deref_mut(&mut self) -> &mut u32 {
        &mut self.0
    }
}

impl ::std::convert::From<u32> for Key {
    fn from(value: u32) -> Self {
        skip_assert_initialized!();
        Self(value)
    }
}

impl FromGlib<u32> for Key {
    unsafe fn from_glib(value: u32) -> Self {
        skip_assert_initialized!();
        Self(value)
    }
}

impl IntoGlib for Key {
    type GlibType = u32;

    fn into_glib(self) -> u32 {
        *self
    }
}

impl Key {
    #[doc(alias = "gdk_keyval_from_name")]
    pub fn from_name(keyval_name: &str) -> Self {
        skip_assert_initialized!();
        Self(unsafe { ffi::gdk_keyval_from_name(keyval_name.to_glib_none().0) })
    }

    #[doc(alias = "gdk_unicode_to_keyval")]
    pub fn from_unicode(c: char) -> Self {
        skip_assert_initialized!();
        Self(unsafe { ffi::gdk_unicode_to_keyval(u32::from(c)) })
    }

    #[doc(alias = "gdk_keyval_to_unicode")]
    pub fn to_unicode(&self) -> Option<char> {
        skip_assert_initialized!();
        unsafe { ::std::char::from_u32(ffi::gdk_keyval_to_unicode(**self)).filter(|x| *x != '\0') }
    }

    #[doc(alias = "gdk_keyval_name")]
    pub fn name(&self) -> Option<GString> {
        skip_assert_initialized!();
        unsafe { from_glib_none(ffi::gdk_keyval_name(**self as c_uint)) }
    }

    #[doc(alias = "gdk_keyval_is_upper")]
    pub fn is_upper(&self) -> bool {
        skip_assert_initialized!();
        unsafe { from_glib(ffi::gdk_keyval_is_upper(**self)) }
    }

    #[doc(alias = "gdk_keyval_is_lower")]
    pub fn is_lower(&self) -> bool {
        skip_assert_initialized!();
        unsafe { from_glib(ffi::gdk_keyval_is_lower(**self)) }
    }

    #[doc(alias = "gdk_keyval_to_upper")]
    pub fn to_upper(&self) -> Self {
        skip_assert_initialized!();
        unsafe { ffi::gdk_keyval_to_upper(**self) }.into()
    }

    #[doc(alias = "gdk_keyval_to_lower")]
    pub fn to_lower(&self) -> Self {
        skip_assert_initialized!();
        unsafe { ffi::gdk_keyval_to_lower(**self) }.into()
    }

    #[doc(alias = "gdk_keyval_convert_case")]
    pub fn convert_case(&self) -> (Self, Self) {
        skip_assert_initialized!();
        unsafe {
            let mut lower = mem::MaybeUninit::uninit();
            let mut upper = mem::MaybeUninit::uninit();
            ffi::gdk_keyval_convert_case(self.0, lower.as_mut_ptr(), upper.as_mut_ptr());
            let lower = lower.assume_init();
            let upper = upper.assume_init();
            (Self(lower), Self(upper))
        }
    }
}

impl ::std::fmt::Display for Key {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        write!(f, "Key({})", self.0)
    }
}

#[allow(non_upper_case_globals)]
pub mod constants {
    use super::Key;

    pub const VoidSymbol: Key = Key(ffi::GDK_KEY_VoidSymbol as u32);
    pub const BackSpace: Key = Key(ffi::GDK_KEY_BackSpace as u32);
    pub const Tab: Key = Key(ffi::GDK_KEY_Tab as u32);
    pub const Linefeed: Key = Key(ffi::GDK_KEY_Linefeed as u32);
    pub const Clear: Key = Key(ffi::GDK_KEY_Clear as u32);
    pub const Return: Key = Key(ffi::GDK_KEY_Return as u32);
    pub const Pause: Key = Key(ffi::GDK_KEY_Pause as u32);
    pub const Scroll_Lock: Key = Key(ffi::GDK_KEY_Scroll_Lock as u32);
    pub const Sys_Req: Key = Key(ffi::GDK_KEY_Sys_Req as u32);
    pub const Escape: Key = Key(ffi::GDK_KEY_Escape as u32);
    pub const Delete: Key = Key(ffi::GDK_KEY_Delete as u32);
    pub const Multi_key: Key = Key(ffi::GDK_KEY_Multi_key as u32);
    pub const Codeinput: Key = Key(ffi::GDK_KEY_Codeinput as u32);
    pub const SingleCandidate: Key = Key(ffi::GDK_KEY_SingleCandidate as u32);
    pub const MultipleCandidate: Key = Key(ffi::GDK_KEY_MultipleCandidate as u32);
    pub const PreviousCandidate: Key = Key(ffi::GDK_KEY_PreviousCandidate as u32);
    pub const Kanji: Key = Key(ffi::GDK_KEY_Kanji as u32);
    pub const Muhenkan: Key = Key(ffi::GDK_KEY_Muhenkan as u32);
    pub const Henkan_Mode: Key = Key(ffi::GDK_KEY_Henkan_Mode as u32);
    pub const Henkan: Key = Key(ffi::GDK_KEY_Henkan as u32);
    pub const Romaji: Key = Key(ffi::GDK_KEY_Romaji as u32);
    pub const Hiragana: Key = Key(ffi::GDK_KEY_Hiragana as u32);
    pub const Katakana: Key = Key(ffi::GDK_KEY_Katakana as u32);
    pub const Hiragana_Katakana: Key = Key(ffi::GDK_KEY_Hiragana_Katakana as u32);
    pub const Zenkaku: Key = Key(ffi::GDK_KEY_Zenkaku as u32);
    pub const Hankaku: Key = Key(ffi::GDK_KEY_Hankaku as u32);
    pub const Zenkaku_Hankaku: Key = Key(ffi::GDK_KEY_Zenkaku_Hankaku as u32);
    pub const Touroku: Key = Key(ffi::GDK_KEY_Touroku as u32);
    pub const Massyo: Key = Key(ffi::GDK_KEY_Massyo as u32);
    pub const Kana_Lock: Key = Key(ffi::GDK_KEY_Kana_Lock as u32);
    pub const Kana_Shift: Key = Key(ffi::GDK_KEY_Kana_Shift as u32);
    pub const Eisu_Shift: Key = Key(ffi::GDK_KEY_Eisu_Shift as u32);
    pub const Eisu_toggle: Key = Key(ffi::GDK_KEY_Eisu_toggle as u32);
    pub const Kanji_Bangou: Key = Key(ffi::GDK_KEY_Kanji_Bangou as u32);
    pub const Zen_Koho: Key = Key(ffi::GDK_KEY_Zen_Koho as u32);
    pub const Mae_Koho: Key = Key(ffi::GDK_KEY_Mae_Koho as u32);
    pub const Home: Key = Key(ffi::GDK_KEY_Home as u32);
    pub const Left: Key = Key(ffi::GDK_KEY_Left as u32);
    pub const Up: Key = Key(ffi::GDK_KEY_Up as u32);
    pub const Right: Key = Key(ffi::GDK_KEY_Right as u32);
    pub const Down: Key = Key(ffi::GDK_KEY_Down as u32);
    pub const Prior: Key = Key(ffi::GDK_KEY_Prior as u32);
    pub const Page_Up: Key = Key(ffi::GDK_KEY_Page_Up as u32);
    pub const Next: Key = Key(ffi::GDK_KEY_Next as u32);
    pub const Page_Down: Key = Key(ffi::GDK_KEY_Page_Down as u32);
    pub const End: Key = Key(ffi::GDK_KEY_End as u32);
    pub const Begin: Key = Key(ffi::GDK_KEY_Begin as u32);
    pub const Select: Key = Key(ffi::GDK_KEY_Select as u32);
    pub const Print: Key = Key(ffi::GDK_KEY_Print as u32);
    pub const Execute: Key = Key(ffi::GDK_KEY_Execute as u32);
    pub const Insert: Key = Key(ffi::GDK_KEY_Insert as u32);
    pub const Undo: Key = Key(ffi::GDK_KEY_Undo as u32);
    pub const Redo: Key = Key(ffi::GDK_KEY_Redo as u32);
    pub const Menu: Key = Key(ffi::GDK_KEY_Menu as u32);
    pub const Find: Key = Key(ffi::GDK_KEY_Find as u32);
    pub const Cancel: Key = Key(ffi::GDK_KEY_Cancel as u32);
    pub const Help: Key = Key(ffi::GDK_KEY_Help as u32);
    pub const Break: Key = Key(ffi::GDK_KEY_Break as u32);
    pub const Mode_switch: Key = Key(ffi::GDK_KEY_Mode_switch as u32);
    pub const script_switch: Key = Key(ffi::GDK_KEY_script_switch as u32);
    pub const Num_Lock: Key = Key(ffi::GDK_KEY_Num_Lock as u32);
    pub const KP_Space: Key = Key(ffi::GDK_KEY_KP_Space as u32);
    pub const KP_Tab: Key = Key(ffi::GDK_KEY_KP_Tab as u32);
    pub const KP_Enter: Key = Key(ffi::GDK_KEY_KP_Enter as u32);
    pub const KP_F1: Key = Key(ffi::GDK_KEY_KP_F1 as u32);
    pub const KP_F2: Key = Key(ffi::GDK_KEY_KP_F2 as u32);
    pub const KP_F3: Key = Key(ffi::GDK_KEY_KP_F3 as u32);
    pub const KP_F4: Key = Key(ffi::GDK_KEY_KP_F4 as u32);
    pub const KP_Home: Key = Key(ffi::GDK_KEY_KP_Home as u32);
    pub const KP_Left: Key = Key(ffi::GDK_KEY_KP_Left as u32);
    pub const KP_Up: Key = Key(ffi::GDK_KEY_KP_Up as u32);
    pub const KP_Right: Key = Key(ffi::GDK_KEY_KP_Right as u32);
    pub const KP_Down: Key = Key(ffi::GDK_KEY_KP_Down as u32);
    pub const KP_Prior: Key = Key(ffi::GDK_KEY_KP_Prior as u32);
    pub const KP_Page_Up: Key = Key(ffi::GDK_KEY_KP_Page_Up as u32);
    pub const KP_Next: Key = Key(ffi::GDK_KEY_KP_Next as u32);
    pub const KP_Page_Down: Key = Key(ffi::GDK_KEY_KP_Page_Down as u32);
    pub const KP_End: Key = Key(ffi::GDK_KEY_KP_End as u32);
    pub const KP_Begin: Key = Key(ffi::GDK_KEY_KP_Begin as u32);
    pub const KP_Insert: Key = Key(ffi::GDK_KEY_KP_Insert as u32);
    pub const KP_Delete: Key = Key(ffi::GDK_KEY_KP_Delete as u32);
    pub const KP_Equal: Key = Key(ffi::GDK_KEY_KP_Equal as u32);
    pub const KP_Multiply: Key = Key(ffi::GDK_KEY_KP_Multiply as u32);
    pub const KP_Add: Key = Key(ffi::GDK_KEY_KP_Add as u32);
    pub const KP_Separator: Key = Key(ffi::GDK_KEY_KP_Separator as u32);
    pub const KP_Subtract: Key = Key(ffi::GDK_KEY_KP_Subtract as u32);
    pub const KP_Decimal: Key = Key(ffi::GDK_KEY_KP_Decimal as u32);
    pub const KP_Divide: Key = Key(ffi::GDK_KEY_KP_Divide as u32);
    pub const KP_0: Key = Key(ffi::GDK_KEY_KP_0 as u32);
    pub const KP_1: Key = Key(ffi::GDK_KEY_KP_1 as u32);
    pub const KP_2: Key = Key(ffi::GDK_KEY_KP_2 as u32);
    pub const KP_3: Key = Key(ffi::GDK_KEY_KP_3 as u32);
    pub const KP_4: Key = Key(ffi::GDK_KEY_KP_4 as u32);
    pub const KP_5: Key = Key(ffi::GDK_KEY_KP_5 as u32);
    pub const KP_6: Key = Key(ffi::GDK_KEY_KP_6 as u32);
    pub const KP_7: Key = Key(ffi::GDK_KEY_KP_7 as u32);
    pub const KP_8: Key = Key(ffi::GDK_KEY_KP_8 as u32);
    pub const KP_9: Key = Key(ffi::GDK_KEY_KP_9 as u32);
    pub const F1: Key = Key(ffi::GDK_KEY_F1 as u32);
    pub const F2: Key = Key(ffi::GDK_KEY_F2 as u32);
    pub const F3: Key = Key(ffi::GDK_KEY_F3 as u32);
    pub const F4: Key = Key(ffi::GDK_KEY_F4 as u32);
    pub const F5: Key = Key(ffi::GDK_KEY_F5 as u32);
    pub const F6: Key = Key(ffi::GDK_KEY_F6 as u32);
    pub const F7: Key = Key(ffi::GDK_KEY_F7 as u32);
    pub const F8: Key = Key(ffi::GDK_KEY_F8 as u32);
    pub const F9: Key = Key(ffi::GDK_KEY_F9 as u32);
    pub const F10: Key = Key(ffi::GDK_KEY_F10 as u32);
    pub const F11: Key = Key(ffi::GDK_KEY_F11 as u32);
    pub const L1: Key = Key(ffi::GDK_KEY_L1 as u32);
    pub const F12: Key = Key(ffi::GDK_KEY_F12 as u32);
    pub const L2: Key = Key(ffi::GDK_KEY_L2 as u32);
    pub const F13: Key = Key(ffi::GDK_KEY_F13 as u32);
    pub const L3: Key = Key(ffi::GDK_KEY_L3 as u32);
    pub const F14: Key = Key(ffi::GDK_KEY_F14 as u32);
    pub const L4: Key = Key(ffi::GDK_KEY_L4 as u32);
    pub const F15: Key = Key(ffi::GDK_KEY_F15 as u32);
    pub const L5: Key = Key(ffi::GDK_KEY_L5 as u32);
    pub const F16: Key = Key(ffi::GDK_KEY_F16 as u32);
    pub const L6: Key = Key(ffi::GDK_KEY_L6 as u32);
    pub const F17: Key = Key(ffi::GDK_KEY_F17 as u32);
    pub const L7: Key = Key(ffi::GDK_KEY_L7 as u32);
    pub const F18: Key = Key(ffi::GDK_KEY_F18 as u32);
    pub const L8: Key = Key(ffi::GDK_KEY_L8 as u32);
    pub const F19: Key = Key(ffi::GDK_KEY_F19 as u32);
    pub const L9: Key = Key(ffi::GDK_KEY_L9 as u32);
    pub const F20: Key = Key(ffi::GDK_KEY_F20 as u32);
    pub const L10: Key = Key(ffi::GDK_KEY_L10 as u32);
    pub const F21: Key = Key(ffi::GDK_KEY_F21 as u32);
    pub const R1: Key = Key(ffi::GDK_KEY_R1 as u32);
    pub const F22: Key = Key(ffi::GDK_KEY_F22 as u32);
    pub const R2: Key = Key(ffi::GDK_KEY_R2 as u32);
    pub const F23: Key = Key(ffi::GDK_KEY_F23 as u32);
    pub const R3: Key = Key(ffi::GDK_KEY_R3 as u32);
    pub const F24: Key = Key(ffi::GDK_KEY_F24 as u32);
    pub const R4: Key = Key(ffi::GDK_KEY_R4 as u32);
    pub const F25: Key = Key(ffi::GDK_KEY_F25 as u32);
    pub const R5: Key = Key(ffi::GDK_KEY_R5 as u32);
    pub const F26: Key = Key(ffi::GDK_KEY_F26 as u32);
    pub const R6: Key = Key(ffi::GDK_KEY_R6 as u32);
    pub const F27: Key = Key(ffi::GDK_KEY_F27 as u32);
    pub const R7: Key = Key(ffi::GDK_KEY_R7 as u32);
    pub const F28: Key = Key(ffi::GDK_KEY_F28 as u32);
    pub const R8: Key = Key(ffi::GDK_KEY_R8 as u32);
    pub const F29: Key = Key(ffi::GDK_KEY_F29 as u32);
    pub const R9: Key = Key(ffi::GDK_KEY_R9 as u32);
    pub const F30: Key = Key(ffi::GDK_KEY_F30 as u32);
    pub const R10: Key = Key(ffi::GDK_KEY_R10 as u32);
    pub const F31: Key = Key(ffi::GDK_KEY_F31 as u32);
    pub const R11: Key = Key(ffi::GDK_KEY_R11 as u32);
    pub const F32: Key = Key(ffi::GDK_KEY_F32 as u32);
    pub const R12: Key = Key(ffi::GDK_KEY_R12 as u32);
    pub const F33: Key = Key(ffi::GDK_KEY_F33 as u32);
    pub const R13: Key = Key(ffi::GDK_KEY_R13 as u32);
    pub const F34: Key = Key(ffi::GDK_KEY_F34 as u32);
    pub const R14: Key = Key(ffi::GDK_KEY_R14 as u32);
    pub const F35: Key = Key(ffi::GDK_KEY_F35 as u32);
    pub const R15: Key = Key(ffi::GDK_KEY_R15 as u32);
    pub const Shift_L: Key = Key(ffi::GDK_KEY_Shift_L as u32);
    pub const Shift_R: Key = Key(ffi::GDK_KEY_Shift_R as u32);
    pub const Control_L: Key = Key(ffi::GDK_KEY_Control_L as u32);
    pub const Control_R: Key = Key(ffi::GDK_KEY_Control_R as u32);
    pub const Caps_Lock: Key = Key(ffi::GDK_KEY_Caps_Lock as u32);
    pub const Shift_Lock: Key = Key(ffi::GDK_KEY_Shift_Lock as u32);
    pub const Meta_L: Key = Key(ffi::GDK_KEY_Meta_L as u32);
    pub const Meta_R: Key = Key(ffi::GDK_KEY_Meta_R as u32);
    pub const Alt_L: Key = Key(ffi::GDK_KEY_Alt_L as u32);
    pub const Alt_R: Key = Key(ffi::GDK_KEY_Alt_R as u32);
    pub const Super_L: Key = Key(ffi::GDK_KEY_Super_L as u32);
    pub const Super_R: Key = Key(ffi::GDK_KEY_Super_R as u32);
    pub const Hyper_L: Key = Key(ffi::GDK_KEY_Hyper_L as u32);
    pub const Hyper_R: Key = Key(ffi::GDK_KEY_Hyper_R as u32);
    pub const ISO_Lock: Key = Key(ffi::GDK_KEY_ISO_Lock as u32);
    pub const ISO_Level2_Latch: Key = Key(ffi::GDK_KEY_ISO_Level2_Latch as u32);
    pub const ISO_Level3_Shift: Key = Key(ffi::GDK_KEY_ISO_Level3_Shift as u32);
    pub const ISO_Level3_Latch: Key = Key(ffi::GDK_KEY_ISO_Level3_Latch as u32);
    pub const ISO_Level3_Lock: Key = Key(ffi::GDK_KEY_ISO_Level3_Lock as u32);
    pub const ISO_Level5_Shift: Key = Key(ffi::GDK_KEY_ISO_Level5_Shift as u32);
    pub const ISO_Level5_Latch: Key = Key(ffi::GDK_KEY_ISO_Level5_Latch as u32);
    pub const ISO_Level5_Lock: Key = Key(ffi::GDK_KEY_ISO_Level5_Lock as u32);
    pub const ISO_Group_Shift: Key = Key(ffi::GDK_KEY_ISO_Group_Shift as u32);
    pub const ISO_Group_Latch: Key = Key(ffi::GDK_KEY_ISO_Group_Latch as u32);
    pub const ISO_Group_Lock: Key = Key(ffi::GDK_KEY_ISO_Group_Lock as u32);
    pub const ISO_Next_Group: Key = Key(ffi::GDK_KEY_ISO_Next_Group as u32);
    pub const ISO_Next_Group_Lock: Key = Key(ffi::GDK_KEY_ISO_Next_Group_Lock as u32);
    pub const ISO_Prev_Group: Key = Key(ffi::GDK_KEY_ISO_Prev_Group as u32);
    pub const ISO_Prev_Group_Lock: Key = Key(ffi::GDK_KEY_ISO_Prev_Group_Lock as u32);
    pub const ISO_First_Group: Key = Key(ffi::GDK_KEY_ISO_First_Group as u32);
    pub const ISO_First_Group_Lock: Key = Key(ffi::GDK_KEY_ISO_First_Group_Lock as u32);
    pub const ISO_Last_Group: Key = Key(ffi::GDK_KEY_ISO_Last_Group as u32);
    pub const ISO_Last_Group_Lock: Key = Key(ffi::GDK_KEY_ISO_Last_Group_Lock as u32);
    pub const ISO_Left_Tab: Key = Key(ffi::GDK_KEY_ISO_Left_Tab as u32);
    pub const ISO_Move_Line_Up: Key = Key(ffi::GDK_KEY_ISO_Move_Line_Up as u32);
    pub const ISO_Move_Line_Down: Key = Key(ffi::GDK_KEY_ISO_Move_Line_Down as u32);
    pub const ISO_Partial_Line_Up: Key = Key(ffi::GDK_KEY_ISO_Partial_Line_Up as u32);
    pub const ISO_Partial_Line_Down: Key = Key(ffi::GDK_KEY_ISO_Partial_Line_Down as u32);
    pub const ISO_Partial_Space_Left: Key = Key(ffi::GDK_KEY_ISO_Partial_Space_Left as u32);
    pub const ISO_Partial_Space_Right: Key = Key(ffi::GDK_KEY_ISO_Partial_Space_Right as u32);
    pub const ISO_Set_Margin_Left: Key = Key(ffi::GDK_KEY_ISO_Set_Margin_Left as u32);
    pub const ISO_Set_Margin_Right: Key = Key(ffi::GDK_KEY_ISO_Set_Margin_Right as u32);
    pub const ISO_Release_Margin_Left: Key = Key(ffi::GDK_KEY_ISO_Release_Margin_Left as u32);
    pub const ISO_Release_Margin_Right: Key = Key(ffi::GDK_KEY_ISO_Release_Margin_Right as u32);
    pub const ISO_Release_Both_Margins: Key = Key(ffi::GDK_KEY_ISO_Release_Both_Margins as u32);
    pub const ISO_Fast_Cursor_Left: Key = Key(ffi::GDK_KEY_ISO_Fast_Cursor_Left as u32);
    pub const ISO_Fast_Cursor_Right: Key = Key(ffi::GDK_KEY_ISO_Fast_Cursor_Right as u32);
    pub const ISO_Fast_Cursor_Up: Key = Key(ffi::GDK_KEY_ISO_Fast_Cursor_Up as u32);
    pub const ISO_Fast_Cursor_Down: Key = Key(ffi::GDK_KEY_ISO_Fast_Cursor_Down as u32);
    pub const ISO_Continuous_Underline: Key = Key(ffi::GDK_KEY_ISO_Continuous_Underline as u32);
    pub const ISO_Discontinuous_Underline: Key =
        Key(ffi::GDK_KEY_ISO_Discontinuous_Underline as u32);
    pub const ISO_Emphasize: Key = Key(ffi::GDK_KEY_ISO_Emphasize as u32);
    pub const ISO_Center_Object: Key = Key(ffi::GDK_KEY_ISO_Center_Object as u32);
    pub const ISO_Enter: Key = Key(ffi::GDK_KEY_ISO_Enter as u32);
    pub const dead_grave: Key = Key(ffi::GDK_KEY_dead_grave as u32);
    pub const dead_acute: Key = Key(ffi::GDK_KEY_dead_acute as u32);
    pub const dead_circumflex: Key = Key(ffi::GDK_KEY_dead_circumflex as u32);
    pub const dead_tilde: Key = Key(ffi::GDK_KEY_dead_tilde as u32);
    pub const dead_perispomeni: Key = Key(ffi::GDK_KEY_dead_perispomeni as u32);
    pub const dead_macron: Key = Key(ffi::GDK_KEY_dead_macron as u32);
    pub const dead_breve: Key = Key(ffi::GDK_KEY_dead_breve as u32);
    pub const dead_abovedot: Key = Key(ffi::GDK_KEY_dead_abovedot as u32);
    pub const dead_diaeresis: Key = Key(ffi::GDK_KEY_dead_diaeresis as u32);
    pub const dead_abovering: Key = Key(ffi::GDK_KEY_dead_abovering as u32);
    pub const dead_doubleacute: Key = Key(ffi::GDK_KEY_dead_doubleacute as u32);
    pub const dead_caron: Key = Key(ffi::GDK_KEY_dead_caron as u32);
    pub const dead_cedilla: Key = Key(ffi::GDK_KEY_dead_cedilla as u32);
    pub const dead_ogonek: Key = Key(ffi::GDK_KEY_dead_ogonek as u32);
    pub const dead_iota: Key = Key(ffi::GDK_KEY_dead_iota as u32);
    pub const dead_voiced_sound: Key = Key(ffi::GDK_KEY_dead_voiced_sound as u32);
    pub const dead_semivoiced_sound: Key = Key(ffi::GDK_KEY_dead_semivoiced_sound as u32);
    pub const dead_belowdot: Key = Key(ffi::GDK_KEY_dead_belowdot as u32);
    pub const dead_hook: Key = Key(ffi::GDK_KEY_dead_hook as u32);
    pub const dead_horn: Key = Key(ffi::GDK_KEY_dead_horn as u32);
    pub const dead_stroke: Key = Key(ffi::GDK_KEY_dead_stroke as u32);
    pub const dead_abovecomma: Key = Key(ffi::GDK_KEY_dead_abovecomma as u32);
    pub const dead_psili: Key = Key(ffi::GDK_KEY_dead_psili as u32);
    pub const dead_abovereversedcomma: Key = Key(ffi::GDK_KEY_dead_abovereversedcomma as u32);
    pub const dead_dasia: Key = Key(ffi::GDK_KEY_dead_dasia as u32);
    pub const dead_doublegrave: Key = Key(ffi::GDK_KEY_dead_doublegrave as u32);
    pub const dead_belowring: Key = Key(ffi::GDK_KEY_dead_belowring as u32);
    pub const dead_belowmacron: Key = Key(ffi::GDK_KEY_dead_belowmacron as u32);
    pub const dead_belowcircumflex: Key = Key(ffi::GDK_KEY_dead_belowcircumflex as u32);
    pub const dead_belowtilde: Key = Key(ffi::GDK_KEY_dead_belowtilde as u32);
    pub const dead_belowbreve: Key = Key(ffi::GDK_KEY_dead_belowbreve as u32);
    pub const dead_belowdiaeresis: Key = Key(ffi::GDK_KEY_dead_belowdiaeresis as u32);
    pub const dead_invertedbreve: Key = Key(ffi::GDK_KEY_dead_invertedbreve as u32);
    pub const dead_belowcomma: Key = Key(ffi::GDK_KEY_dead_belowcomma as u32);
    pub const dead_currency: Key = Key(ffi::GDK_KEY_dead_currency as u32);
    pub const dead_a: Key = Key(ffi::GDK_KEY_dead_a as u32);
    pub const dead_A: Key = Key(ffi::GDK_KEY_dead_A as u32);
    pub const dead_e: Key = Key(ffi::GDK_KEY_dead_e as u32);
    pub const dead_E: Key = Key(ffi::GDK_KEY_dead_E as u32);
    pub const dead_i: Key = Key(ffi::GDK_KEY_dead_i as u32);
    pub const dead_I: Key = Key(ffi::GDK_KEY_dead_I as u32);
    pub const dead_o: Key = Key(ffi::GDK_KEY_dead_o as u32);
    pub const dead_O: Key = Key(ffi::GDK_KEY_dead_O as u32);
    pub const dead_u: Key = Key(ffi::GDK_KEY_dead_u as u32);
    pub const dead_U: Key = Key(ffi::GDK_KEY_dead_U as u32);
    pub const dead_small_schwa: Key = Key(ffi::GDK_KEY_dead_small_schwa as u32);
    pub const dead_capital_schwa: Key = Key(ffi::GDK_KEY_dead_capital_schwa as u32);
    pub const dead_greek: Key = Key(ffi::GDK_KEY_dead_greek as u32);
    pub const First_Virtual_Screen: Key = Key(ffi::GDK_KEY_First_Virtual_Screen as u32);
    pub const Prev_Virtual_Screen: Key = Key(ffi::GDK_KEY_Prev_Virtual_Screen as u32);
    pub const Next_Virtual_Screen: Key = Key(ffi::GDK_KEY_Next_Virtual_Screen as u32);
    pub const Last_Virtual_Screen: Key = Key(ffi::GDK_KEY_Last_Virtual_Screen as u32);
    pub const Terminate_Server: Key = Key(ffi::GDK_KEY_Terminate_Server as u32);
    pub const AccessX_Enable: Key = Key(ffi::GDK_KEY_AccessX_Enable as u32);
    pub const AccessX_Feedback_Enable: Key = Key(ffi::GDK_KEY_AccessX_Feedback_Enable as u32);
    pub const RepeatKeys_Enable: Key = Key(ffi::GDK_KEY_RepeatKeys_Enable as u32);
    pub const SlowKeys_Enable: Key = Key(ffi::GDK_KEY_SlowKeys_Enable as u32);
    pub const BounceKeys_Enable: Key = Key(ffi::GDK_KEY_BounceKeys_Enable as u32);
    pub const StickyKeys_Enable: Key = Key(ffi::GDK_KEY_StickyKeys_Enable as u32);
    pub const MouseKeys_Enable: Key = Key(ffi::GDK_KEY_MouseKeys_Enable as u32);
    pub const MouseKeys_Accel_Enable: Key = Key(ffi::GDK_KEY_MouseKeys_Accel_Enable as u32);
    pub const Overlay1_Enable: Key = Key(ffi::GDK_KEY_Overlay1_Enable as u32);
    pub const Overlay2_Enable: Key = Key(ffi::GDK_KEY_Overlay2_Enable as u32);
    pub const AudibleBell_Enable: Key = Key(ffi::GDK_KEY_AudibleBell_Enable as u32);
    pub const Pointer_Left: Key = Key(ffi::GDK_KEY_Pointer_Left as u32);
    pub const Pointer_Right: Key = Key(ffi::GDK_KEY_Pointer_Right as u32);
    pub const Pointer_Up: Key = Key(ffi::GDK_KEY_Pointer_Up as u32);
    pub const Pointer_Down: Key = Key(ffi::GDK_KEY_Pointer_Down as u32);
    pub const Pointer_UpLeft: Key = Key(ffi::GDK_KEY_Pointer_UpLeft as u32);
    pub const Pointer_UpRight: Key = Key(ffi::GDK_KEY_Pointer_UpRight as u32);
    pub const Pointer_DownLeft: Key = Key(ffi::GDK_KEY_Pointer_DownLeft as u32);
    pub const Pointer_DownRight: Key = Key(ffi::GDK_KEY_Pointer_DownRight as u32);
    pub const Pointer_Button_Dflt: Key = Key(ffi::GDK_KEY_Pointer_Button_Dflt as u32);
    pub const Pointer_Button1: Key = Key(ffi::GDK_KEY_Pointer_Button1 as u32);
    pub const Pointer_Button2: Key = Key(ffi::GDK_KEY_Pointer_Button2 as u32);
    pub const Pointer_Button3: Key = Key(ffi::GDK_KEY_Pointer_Button3 as u32);
    pub const Pointer_Button4: Key = Key(ffi::GDK_KEY_Pointer_Button4 as u32);
    pub const Pointer_Button5: Key = Key(ffi::GDK_KEY_Pointer_Button5 as u32);
    pub const Pointer_DblClick_Dflt: Key = Key(ffi::GDK_KEY_Pointer_DblClick_Dflt as u32);
    pub const Pointer_DblClick1: Key = Key(ffi::GDK_KEY_Pointer_DblClick1 as u32);
    pub const Pointer_DblClick2: Key = Key(ffi::GDK_KEY_Pointer_DblClick2 as u32);
    pub const Pointer_DblClick3: Key = Key(ffi::GDK_KEY_Pointer_DblClick3 as u32);
    pub const Pointer_DblClick4: Key = Key(ffi::GDK_KEY_Pointer_DblClick4 as u32);
    pub const Pointer_DblClick5: Key = Key(ffi::GDK_KEY_Pointer_DblClick5 as u32);
    pub const Pointer_Drag_Dflt: Key = Key(ffi::GDK_KEY_Pointer_Drag_Dflt as u32);
    pub const Pointer_Drag1: Key = Key(ffi::GDK_KEY_Pointer_Drag1 as u32);
    pub const Pointer_Drag2: Key = Key(ffi::GDK_KEY_Pointer_Drag2 as u32);
    pub const Pointer_Drag3: Key = Key(ffi::GDK_KEY_Pointer_Drag3 as u32);
    pub const Pointer_Drag4: Key = Key(ffi::GDK_KEY_Pointer_Drag4 as u32);
    pub const Pointer_Drag5: Key = Key(ffi::GDK_KEY_Pointer_Drag5 as u32);
    pub const Pointer_EnableKeys: Key = Key(ffi::GDK_KEY_Pointer_EnableKeys as u32);
    pub const Pointer_Accelerate: Key = Key(ffi::GDK_KEY_Pointer_Accelerate as u32);
    pub const Pointer_DfltBtnNext: Key = Key(ffi::GDK_KEY_Pointer_DfltBtnNext as u32);
    pub const Pointer_DfltBtnPrev: Key = Key(ffi::GDK_KEY_Pointer_DfltBtnPrev as u32);
    pub const ch: Key = Key(ffi::GDK_KEY_ch as u32);
    pub const Ch: Key = Key(ffi::GDK_KEY_Ch as u32);
    pub const CH: Key = Key(ffi::GDK_KEY_CH as u32);
    pub const c_h: Key = Key(ffi::GDK_KEY_c_h as u32);
    pub const C_h: Key = Key(ffi::GDK_KEY_C_h as u32);
    pub const C_H: Key = Key(ffi::GDK_KEY_C_H as u32);
    pub const _3270_Duplicate: Key = Key(ffi::GDK_KEY_3270_Duplicate as u32);
    pub const _3270_FieldMark: Key = Key(ffi::GDK_KEY_3270_FieldMark as u32);
    pub const _3270_Right2: Key = Key(ffi::GDK_KEY_3270_Right2 as u32);
    pub const _3270_Left2: Key = Key(ffi::GDK_KEY_3270_Left2 as u32);
    pub const _3270_BackTab: Key = Key(ffi::GDK_KEY_3270_BackTab as u32);
    pub const _3270_EraseEOF: Key = Key(ffi::GDK_KEY_3270_EraseEOF as u32);
    pub const _3270_EraseInput: Key = Key(ffi::GDK_KEY_3270_EraseInput as u32);
    pub const _3270_Reset: Key = Key(ffi::GDK_KEY_3270_Reset as u32);
    pub const _3270_Quit: Key = Key(ffi::GDK_KEY_3270_Quit as u32);
    pub const _3270_PA1: Key = Key(ffi::GDK_KEY_3270_PA1 as u32);
    pub const _3270_PA2: Key = Key(ffi::GDK_KEY_3270_PA2 as u32);
    pub const _3270_PA3: Key = Key(ffi::GDK_KEY_3270_PA3 as u32);
    pub const _3270_Test: Key = Key(ffi::GDK_KEY_3270_Test as u32);
    pub const _3270_Attn: Key = Key(ffi::GDK_KEY_3270_Attn as u32);
    pub const _3270_CursorBlink: Key = Key(ffi::GDK_KEY_3270_CursorBlink as u32);
    pub const _3270_AltCursor: Key = Key(ffi::GDK_KEY_3270_AltCursor as u32);
    pub const _3270_KeyClick: Key = Key(ffi::GDK_KEY_3270_KeyClick as u32);
    pub const _3270_Jump: Key = Key(ffi::GDK_KEY_3270_Jump as u32);
    pub const _3270_Ident: Key = Key(ffi::GDK_KEY_3270_Ident as u32);
    pub const _3270_Rule: Key = Key(ffi::GDK_KEY_3270_Rule as u32);
    pub const _3270_Copy: Key = Key(ffi::GDK_KEY_3270_Copy as u32);
    pub const _3270_Play: Key = Key(ffi::GDK_KEY_3270_Play as u32);
    pub const _3270_Setup: Key = Key(ffi::GDK_KEY_3270_Setup as u32);
    pub const _3270_Record: Key = Key(ffi::GDK_KEY_3270_Record as u32);
    pub const _3270_ChangeScreen: Key = Key(ffi::GDK_KEY_3270_ChangeScreen as u32);
    pub const _3270_DeleteWord: Key = Key(ffi::GDK_KEY_3270_DeleteWord as u32);
    pub const _3270_ExSelect: Key = Key(ffi::GDK_KEY_3270_ExSelect as u32);
    pub const _3270_CursorSelect: Key = Key(ffi::GDK_KEY_3270_CursorSelect as u32);
    pub const _3270_PrintScreen: Key = Key(ffi::GDK_KEY_3270_PrintScreen as u32);
    pub const _3270_Enter: Key = Key(ffi::GDK_KEY_3270_Enter as u32);
    pub const space: Key = Key(ffi::GDK_KEY_space as u32);
    pub const exclam: Key = Key(ffi::GDK_KEY_exclam as u32);
    pub const quotedbl: Key = Key(ffi::GDK_KEY_quotedbl as u32);
    pub const numbersign: Key = Key(ffi::GDK_KEY_numbersign as u32);
    pub const dollar: Key = Key(ffi::GDK_KEY_dollar as u32);
    pub const percent: Key = Key(ffi::GDK_KEY_percent as u32);
    pub const ampersand: Key = Key(ffi::GDK_KEY_ampersand as u32);
    pub const apostrophe: Key = Key(ffi::GDK_KEY_apostrophe as u32);
    pub const quoteright: Key = Key(ffi::GDK_KEY_quoteright as u32);
    pub const parenleft: Key = Key(ffi::GDK_KEY_parenleft as u32);
    pub const parenright: Key = Key(ffi::GDK_KEY_parenright as u32);
    pub const asterisk: Key = Key(ffi::GDK_KEY_asterisk as u32);
    pub const plus: Key = Key(ffi::GDK_KEY_plus as u32);
    pub const comma: Key = Key(ffi::GDK_KEY_comma as u32);
    pub const minus: Key = Key(ffi::GDK_KEY_minus as u32);
    pub const period: Key = Key(ffi::GDK_KEY_period as u32);
    pub const slash: Key = Key(ffi::GDK_KEY_slash as u32);
    pub const _0: Key = Key(ffi::GDK_KEY_0 as u32); // equivalent to keypad '0'
    pub const _1: Key = Key(ffi::GDK_KEY_1 as u32); // equivalent to keypad '1'
    pub const _2: Key = Key(ffi::GDK_KEY_2 as u32); // equivalent to keypad '2'
    pub const _3: Key = Key(ffi::GDK_KEY_3 as u32); // equivalent to keypad '3'
    pub const _4: Key = Key(ffi::GDK_KEY_4 as u32); // equivalent to keypad '4'
    pub const _5: Key = Key(ffi::GDK_KEY_5 as u32); // equivalent to keypad '5'
    pub const _6: Key = Key(ffi::GDK_KEY_6 as u32); // equivalent to keypad '6'
    pub const _7: Key = Key(ffi::GDK_KEY_7 as u32); // equivalent to keypad '7'
    pub const _8: Key = Key(ffi::GDK_KEY_8 as u32); // equivalent to keypad '8'
    pub const _9: Key = Key(ffi::GDK_KEY_9 as u32); // equivalent to keypad '9'
    pub const colon: Key = Key(ffi::GDK_KEY_colon as u32);
    pub const semicolon: Key = Key(ffi::GDK_KEY_semicolon as u32);
    pub const less: Key = Key(ffi::GDK_KEY_less as u32);
    pub const equal: Key = Key(ffi::GDK_KEY_equal as u32);
    pub const greater: Key = Key(ffi::GDK_KEY_greater as u32);
    pub const question: Key = Key(ffi::GDK_KEY_question as u32);
    pub const at: Key = Key(ffi::GDK_KEY_at as u32);
    pub const A: Key = Key(ffi::GDK_KEY_A as u32);
    pub const B: Key = Key(ffi::GDK_KEY_B as u32);
    pub const C: Key = Key(ffi::GDK_KEY_C as u32);
    pub const D: Key = Key(ffi::GDK_KEY_D as u32);
    pub const E: Key = Key(ffi::GDK_KEY_E as u32);
    pub const F: Key = Key(ffi::GDK_KEY_F as u32);
    pub const G: Key = Key(ffi::GDK_KEY_G as u32);
    pub const H: Key = Key(ffi::GDK_KEY_H as u32);
    pub const I: Key = Key(ffi::GDK_KEY_I as u32);
    pub const J: Key = Key(ffi::GDK_KEY_J as u32);
    pub const K: Key = Key(ffi::GDK_KEY_K as u32);
    pub const L: Key = Key(ffi::GDK_KEY_L as u32);
    pub const M: Key = Key(ffi::GDK_KEY_M as u32);
    pub const N: Key = Key(ffi::GDK_KEY_N as u32);
    pub const O: Key = Key(ffi::GDK_KEY_O as u32);
    pub const P: Key = Key(ffi::GDK_KEY_P as u32);
    pub const Q: Key = Key(ffi::GDK_KEY_Q as u32);
    pub const R: Key = Key(ffi::GDK_KEY_R as u32);
    pub const S: Key = Key(ffi::GDK_KEY_S as u32);
    pub const T: Key = Key(ffi::GDK_KEY_T as u32);
    pub const U: Key = Key(ffi::GDK_KEY_U as u32);
    pub const V: Key = Key(ffi::GDK_KEY_V as u32);
    pub const W: Key = Key(ffi::GDK_KEY_W as u32);
    pub const X: Key = Key(ffi::GDK_KEY_X as u32);
    pub const Y: Key = Key(ffi::GDK_KEY_Y as u32);
    pub const Z: Key = Key(ffi::GDK_KEY_Z as u32);
    pub const bracketleft: Key = Key(ffi::GDK_KEY_bracketleft as u32);
    pub const backslash: Key = Key(ffi::GDK_KEY_backslash as u32);
    pub const bracketright: Key = Key(ffi::GDK_KEY_bracketright as u32);
    pub const asciicircum: Key = Key(ffi::GDK_KEY_asciicircum as u32);
    pub const underscore: Key = Key(ffi::GDK_KEY_underscore as u32);
    pub const grave: Key = Key(ffi::GDK_KEY_grave as u32);
    pub const quoteleft: Key = Key(ffi::GDK_KEY_quoteleft as u32);
    pub const a: Key = Key(ffi::GDK_KEY_a as u32);
    pub const b: Key = Key(ffi::GDK_KEY_b as u32);
    pub const c: Key = Key(ffi::GDK_KEY_c as u32);
    pub const d: Key = Key(ffi::GDK_KEY_d as u32);
    pub const e: Key = Key(ffi::GDK_KEY_e as u32);
    pub const f: Key = Key(ffi::GDK_KEY_f as u32);
    pub const g: Key = Key(ffi::GDK_KEY_g as u32);
    pub const h: Key = Key(ffi::GDK_KEY_h as u32);
    pub const i: Key = Key(ffi::GDK_KEY_i as u32);
    pub const j: Key = Key(ffi::GDK_KEY_j as u32);
    pub const k: Key = Key(ffi::GDK_KEY_k as u32);
    pub const l: Key = Key(ffi::GDK_KEY_l as u32);
    pub const m: Key = Key(ffi::GDK_KEY_m as u32);
    pub const n: Key = Key(ffi::GDK_KEY_n as u32);
    pub const o: Key = Key(ffi::GDK_KEY_o as u32);
    pub const p: Key = Key(ffi::GDK_KEY_p as u32);
    pub const q: Key = Key(ffi::GDK_KEY_q as u32);
    pub const r: Key = Key(ffi::GDK_KEY_r as u32);
    pub const s: Key = Key(ffi::GDK_KEY_s as u32);
    pub const t: Key = Key(ffi::GDK_KEY_t as u32);
    pub const u: Key = Key(ffi::GDK_KEY_u as u32);
    pub const v: Key = Key(ffi::GDK_KEY_v as u32);
    pub const w: Key = Key(ffi::GDK_KEY_w as u32);
    pub const x: Key = Key(ffi::GDK_KEY_x as u32);
    pub const y: Key = Key(ffi::GDK_KEY_y as u32);
    pub const z: Key = Key(ffi::GDK_KEY_z as u32);
    pub const braceleft: Key = Key(ffi::GDK_KEY_braceleft as u32);
    pub const bar: Key = Key(ffi::GDK_KEY_bar as u32);
    pub const braceright: Key = Key(ffi::GDK_KEY_braceright as u32);
    pub const asciitilde: Key = Key(ffi::GDK_KEY_asciitilde as u32);
    pub const nobreakspace: Key = Key(ffi::GDK_KEY_nobreakspace as u32);
    pub const exclamdown: Key = Key(ffi::GDK_KEY_exclamdown as u32);
    pub const cent: Key = Key(ffi::GDK_KEY_cent as u32);
    pub const sterling: Key = Key(ffi::GDK_KEY_sterling as u32);
    pub const currency: Key = Key(ffi::GDK_KEY_currency as u32);
    pub const yen: Key = Key(ffi::GDK_KEY_yen as u32);
    pub const brokenbar: Key = Key(ffi::GDK_KEY_brokenbar as u32);
    pub const section: Key = Key(ffi::GDK_KEY_section as u32);
    pub const diaeresis: Key = Key(ffi::GDK_KEY_diaeresis as u32);
    pub const copyright: Key = Key(ffi::GDK_KEY_copyright as u32);
    pub const ordfeminine: Key = Key(ffi::GDK_KEY_ordfeminine as u32);
    pub const guillemotleft: Key = Key(ffi::GDK_KEY_guillemotleft as u32);
    pub const notsign: Key = Key(ffi::GDK_KEY_notsign as u32);
    pub const hyphen: Key = Key(ffi::GDK_KEY_hyphen as u32);
    pub const registered: Key = Key(ffi::GDK_KEY_registered as u32);
    pub const macron: Key = Key(ffi::GDK_KEY_macron as u32);
    pub const degree: Key = Key(ffi::GDK_KEY_degree as u32);
    pub const plusminus: Key = Key(ffi::GDK_KEY_plusminus as u32);
    pub const twosuperior: Key = Key(ffi::GDK_KEY_twosuperior as u32);
    pub const threesuperior: Key = Key(ffi::GDK_KEY_threesuperior as u32);
    pub const acute: Key = Key(ffi::GDK_KEY_acute as u32);
    pub const mu: Key = Key(ffi::GDK_KEY_mu as u32);
    pub const paragraph: Key = Key(ffi::GDK_KEY_paragraph as u32);
    pub const periodcentered: Key = Key(ffi::GDK_KEY_periodcentered as u32);
    pub const cedilla: Key = Key(ffi::GDK_KEY_cedilla as u32);
    pub const onesuperior: Key = Key(ffi::GDK_KEY_onesuperior as u32);
    pub const masculine: Key = Key(ffi::GDK_KEY_masculine as u32);
    pub const guillemotright: Key = Key(ffi::GDK_KEY_guillemotright as u32);
    pub const onequarter: Key = Key(ffi::GDK_KEY_onequarter as u32);
    pub const onehalf: Key = Key(ffi::GDK_KEY_onehalf as u32);
    pub const threequarters: Key = Key(ffi::GDK_KEY_threequarters as u32);
    pub const questiondown: Key = Key(ffi::GDK_KEY_questiondown as u32);
    pub const Agrave: Key = Key(ffi::GDK_KEY_Agrave as u32);
    pub const Aacute: Key = Key(ffi::GDK_KEY_Aacute as u32);
    pub const Acircumflex: Key = Key(ffi::GDK_KEY_Acircumflex as u32);
    pub const Atilde: Key = Key(ffi::GDK_KEY_Atilde as u32);
    pub const Adiaeresis: Key = Key(ffi::GDK_KEY_Adiaeresis as u32);
    pub const Aring: Key = Key(ffi::GDK_KEY_Aring as u32);
    pub const AE: Key = Key(ffi::GDK_KEY_AE as u32);
    pub const Ccedilla: Key = Key(ffi::GDK_KEY_Ccedilla as u32);
    pub const Egrave: Key = Key(ffi::GDK_KEY_Egrave as u32);
    pub const Eacute: Key = Key(ffi::GDK_KEY_Eacute as u32);
    pub const Ecircumflex: Key = Key(ffi::GDK_KEY_Ecircumflex as u32);
    pub const Ediaeresis: Key = Key(ffi::GDK_KEY_Ediaeresis as u32);
    pub const Igrave: Key = Key(ffi::GDK_KEY_Igrave as u32);
    pub const Iacute: Key = Key(ffi::GDK_KEY_Iacute as u32);
    pub const Icircumflex: Key = Key(ffi::GDK_KEY_Icircumflex as u32);
    pub const Idiaeresis: Key = Key(ffi::GDK_KEY_Idiaeresis as u32);
    pub const ETH: Key = Key(ffi::GDK_KEY_ETH as u32);
    pub const Eth: Key = Key(ffi::GDK_KEY_Eth as u32);
    pub const Ntilde: Key = Key(ffi::GDK_KEY_Ntilde as u32);
    pub const Ograve: Key = Key(ffi::GDK_KEY_Ograve as u32);
    pub const Oacute: Key = Key(ffi::GDK_KEY_Oacute as u32);
    pub const Ocircumflex: Key = Key(ffi::GDK_KEY_Ocircumflex as u32);
    pub const Otilde: Key = Key(ffi::GDK_KEY_Otilde as u32);
    pub const Odiaeresis: Key = Key(ffi::GDK_KEY_Odiaeresis as u32);
    pub const multiply: Key = Key(ffi::GDK_KEY_multiply as u32);
    pub const Oslash: Key = Key(ffi::GDK_KEY_Oslash as u32);
    pub const Ooblique: Key = Key(ffi::GDK_KEY_Ooblique as u32);
    pub const Ugrave: Key = Key(ffi::GDK_KEY_Ugrave as u32);
    pub const Uacute: Key = Key(ffi::GDK_KEY_Uacute as u32);
    pub const Ucircumflex: Key = Key(ffi::GDK_KEY_Ucircumflex as u32);
    pub const Udiaeresis: Key = Key(ffi::GDK_KEY_Udiaeresis as u32);
    pub const Yacute: Key = Key(ffi::GDK_KEY_Yacute as u32);
    pub const THORN: Key = Key(ffi::GDK_KEY_THORN as u32);
    pub const Thorn: Key = Key(ffi::GDK_KEY_Thorn as u32);
    pub const ssharp: Key = Key(ffi::GDK_KEY_ssharp as u32);
    pub const agrave: Key = Key(ffi::GDK_KEY_agrave as u32);
    pub const aacute: Key = Key(ffi::GDK_KEY_aacute as u32);
    pub const acircumflex: Key = Key(ffi::GDK_KEY_acircumflex as u32);
    pub const atilde: Key = Key(ffi::GDK_KEY_atilde as u32);
    pub const adiaeresis: Key = Key(ffi::GDK_KEY_adiaeresis as u32);
    pub const aring: Key = Key(ffi::GDK_KEY_aring as u32);
    pub const ae: Key = Key(ffi::GDK_KEY_ae as u32);
    pub const ccedilla: Key = Key(ffi::GDK_KEY_ccedilla as u32);
    pub const egrave: Key = Key(ffi::GDK_KEY_egrave as u32);
    pub const eacute: Key = Key(ffi::GDK_KEY_eacute as u32);
    pub const ecircumflex: Key = Key(ffi::GDK_KEY_ecircumflex as u32);
    pub const ediaeresis: Key = Key(ffi::GDK_KEY_ediaeresis as u32);
    pub const igrave: Key = Key(ffi::GDK_KEY_igrave as u32);
    pub const iacute: Key = Key(ffi::GDK_KEY_iacute as u32);
    pub const icircumflex: Key = Key(ffi::GDK_KEY_icircumflex as u32);
    pub const idiaeresis: Key = Key(ffi::GDK_KEY_idiaeresis as u32);
    pub const eth: Key = Key(ffi::GDK_KEY_eth as u32);
    pub const ntilde: Key = Key(ffi::GDK_KEY_ntilde as u32);
    pub const ograve: Key = Key(ffi::GDK_KEY_ograve as u32);
    pub const oacute: Key = Key(ffi::GDK_KEY_oacute as u32);
    pub const ocircumflex: Key = Key(ffi::GDK_KEY_ocircumflex as u32);
    pub const otilde: Key = Key(ffi::GDK_KEY_otilde as u32);
    pub const odiaeresis: Key = Key(ffi::GDK_KEY_odiaeresis as u32);
    pub const division: Key = Key(ffi::GDK_KEY_division as u32);
    pub const oslash: Key = Key(ffi::GDK_KEY_oslash as u32);
    pub const ooblique: Key = Key(ffi::GDK_KEY_ooblique as u32);
    pub const ugrave: Key = Key(ffi::GDK_KEY_ugrave as u32);
    pub const uacute: Key = Key(ffi::GDK_KEY_uacute as u32);
    pub const ucircumflex: Key = Key(ffi::GDK_KEY_ucircumflex as u32);
    pub const udiaeresis: Key = Key(ffi::GDK_KEY_udiaeresis as u32);
    pub const yacute: Key = Key(ffi::GDK_KEY_yacute as u32);
    pub const thorn: Key = Key(ffi::GDK_KEY_thorn as u32);
    pub const ydiaeresis: Key = Key(ffi::GDK_KEY_ydiaeresis as u32);
    pub const Aogonek: Key = Key(ffi::GDK_KEY_Aogonek as u32);
    pub const breve: Key = Key(ffi::GDK_KEY_breve as u32);
    pub const Lstroke: Key = Key(ffi::GDK_KEY_Lstroke as u32);
    pub const Lcaron: Key = Key(ffi::GDK_KEY_Lcaron as u32);
    pub const Sacute: Key = Key(ffi::GDK_KEY_Sacute as u32);
    pub const Scaron: Key = Key(ffi::GDK_KEY_Scaron as u32);
    pub const Scedilla: Key = Key(ffi::GDK_KEY_Scedilla as u32);
    pub const Tcaron: Key = Key(ffi::GDK_KEY_Tcaron as u32);
    pub const Zacute: Key = Key(ffi::GDK_KEY_Zacute as u32);
    pub const Zcaron: Key = Key(ffi::GDK_KEY_Zcaron as u32);
    pub const Zabovedot: Key = Key(ffi::GDK_KEY_Zabovedot as u32);
    pub const aogonek: Key = Key(ffi::GDK_KEY_aogonek as u32);
    pub const ogonek: Key = Key(ffi::GDK_KEY_ogonek as u32);
    pub const lstroke: Key = Key(ffi::GDK_KEY_lstroke as u32);
    pub const lcaron: Key = Key(ffi::GDK_KEY_lcaron as u32);
    pub const sacute: Key = Key(ffi::GDK_KEY_sacute as u32);
    pub const caron: Key = Key(ffi::GDK_KEY_caron as u32);
    pub const scaron: Key = Key(ffi::GDK_KEY_scaron as u32);
    pub const scedilla: Key = Key(ffi::GDK_KEY_scedilla as u32);
    pub const tcaron: Key = Key(ffi::GDK_KEY_tcaron as u32);
    pub const zacute: Key = Key(ffi::GDK_KEY_zacute as u32);
    pub const doubleacute: Key = Key(ffi::GDK_KEY_doubleacute as u32);
    pub const zcaron: Key = Key(ffi::GDK_KEY_zcaron as u32);
    pub const zabovedot: Key = Key(ffi::GDK_KEY_zabovedot as u32);
    pub const Racute: Key = Key(ffi::GDK_KEY_Racute as u32);
    pub const Abreve: Key = Key(ffi::GDK_KEY_Abreve as u32);
    pub const Lacute: Key = Key(ffi::GDK_KEY_Lacute as u32);
    pub const Cacute: Key = Key(ffi::GDK_KEY_Cacute as u32);
    pub const Ccaron: Key = Key(ffi::GDK_KEY_Ccaron as u32);
    pub const Eogonek: Key = Key(ffi::GDK_KEY_Eogonek as u32);
    pub const Ecaron: Key = Key(ffi::GDK_KEY_Ecaron as u32);
    pub const Dcaron: Key = Key(ffi::GDK_KEY_Dcaron as u32);
    pub const Dstroke: Key = Key(ffi::GDK_KEY_Dstroke as u32);
    pub const Nacute: Key = Key(ffi::GDK_KEY_Nacute as u32);
    pub const Ncaron: Key = Key(ffi::GDK_KEY_Ncaron as u32);
    pub const Odoubleacute: Key = Key(ffi::GDK_KEY_Odoubleacute as u32);
    pub const Rcaron: Key = Key(ffi::GDK_KEY_Rcaron as u32);
    pub const Uring: Key = Key(ffi::GDK_KEY_Uring as u32);
    pub const Udoubleacute: Key = Key(ffi::GDK_KEY_Udoubleacute as u32);
    pub const Tcedilla: Key = Key(ffi::GDK_KEY_Tcedilla as u32);
    pub const racute: Key = Key(ffi::GDK_KEY_racute as u32);
    pub const abreve: Key = Key(ffi::GDK_KEY_abreve as u32);
    pub const lacute: Key = Key(ffi::GDK_KEY_lacute as u32);
    pub const cacute: Key = Key(ffi::GDK_KEY_cacute as u32);
    pub const ccaron: Key = Key(ffi::GDK_KEY_ccaron as u32);
    pub const eogonek: Key = Key(ffi::GDK_KEY_eogonek as u32);
    pub const ecaron: Key = Key(ffi::GDK_KEY_ecaron as u32);
    pub const dcaron: Key = Key(ffi::GDK_KEY_dcaron as u32);
    pub const dstroke: Key = Key(ffi::GDK_KEY_dstroke as u32);
    pub const nacute: Key = Key(ffi::GDK_KEY_nacute as u32);
    pub const ncaron: Key = Key(ffi::GDK_KEY_ncaron as u32);
    pub const odoubleacute: Key = Key(ffi::GDK_KEY_odoubleacute as u32);
    pub const rcaron: Key = Key(ffi::GDK_KEY_rcaron as u32);
    pub const uring: Key = Key(ffi::GDK_KEY_uring as u32);
    pub const udoubleacute: Key = Key(ffi::GDK_KEY_udoubleacute as u32);
    pub const tcedilla: Key = Key(ffi::GDK_KEY_tcedilla as u32);
    pub const abovedot: Key = Key(ffi::GDK_KEY_abovedot as u32);
    pub const Hstroke: Key = Key(ffi::GDK_KEY_Hstroke as u32);
    pub const Hcircumflex: Key = Key(ffi::GDK_KEY_Hcircumflex as u32);
    pub const Iabovedot: Key = Key(ffi::GDK_KEY_Iabovedot as u32);
    pub const Gbreve: Key = Key(ffi::GDK_KEY_Gbreve as u32);
    pub const Jcircumflex: Key = Key(ffi::GDK_KEY_Jcircumflex as u32);
    pub const hstroke: Key = Key(ffi::GDK_KEY_hstroke as u32);
    pub const hcircumflex: Key = Key(ffi::GDK_KEY_hcircumflex as u32);
    pub const idotless: Key = Key(ffi::GDK_KEY_idotless as u32);
    pub const gbreve: Key = Key(ffi::GDK_KEY_gbreve as u32);
    pub const jcircumflex: Key = Key(ffi::GDK_KEY_jcircumflex as u32);
    pub const Cabovedot: Key = Key(ffi::GDK_KEY_Cabovedot as u32);
    pub const Ccircumflex: Key = Key(ffi::GDK_KEY_Ccircumflex as u32);
    pub const Gabovedot: Key = Key(ffi::GDK_KEY_Gabovedot as u32);
    pub const Gcircumflex: Key = Key(ffi::GDK_KEY_Gcircumflex as u32);
    pub const Ubreve: Key = Key(ffi::GDK_KEY_Ubreve as u32);
    pub const Scircumflex: Key = Key(ffi::GDK_KEY_Scircumflex as u32);
    pub const cabovedot: Key = Key(ffi::GDK_KEY_cabovedot as u32);
    pub const ccircumflex: Key = Key(ffi::GDK_KEY_ccircumflex as u32);
    pub const gabovedot: Key = Key(ffi::GDK_KEY_gabovedot as u32);
    pub const gcircumflex: Key = Key(ffi::GDK_KEY_gcircumflex as u32);
    pub const ubreve: Key = Key(ffi::GDK_KEY_ubreve as u32);
    pub const scircumflex: Key = Key(ffi::GDK_KEY_scircumflex as u32);
    pub const kra: Key = Key(ffi::GDK_KEY_kra as u32);
    pub const kappa: Key = Key(ffi::GDK_KEY_kappa as u32);
    pub const Rcedilla: Key = Key(ffi::GDK_KEY_Rcedilla as u32);
    pub const Itilde: Key = Key(ffi::GDK_KEY_Itilde as u32);
    pub const Lcedilla: Key = Key(ffi::GDK_KEY_Lcedilla as u32);
    pub const Emacron: Key = Key(ffi::GDK_KEY_Emacron as u32);
    pub const Gcedilla: Key = Key(ffi::GDK_KEY_Gcedilla as u32);
    pub const Tslash: Key = Key(ffi::GDK_KEY_Tslash as u32);
    pub const rcedilla: Key = Key(ffi::GDK_KEY_rcedilla as u32);
    pub const itilde: Key = Key(ffi::GDK_KEY_itilde as u32);
    pub const lcedilla: Key = Key(ffi::GDK_KEY_lcedilla as u32);
    pub const emacron: Key = Key(ffi::GDK_KEY_emacron as u32);
    pub const gcedilla: Key = Key(ffi::GDK_KEY_gcedilla as u32);
    pub const tslash: Key = Key(ffi::GDK_KEY_tslash as u32);
    pub const ENG: Key = Key(ffi::GDK_KEY_ENG as u32);
    pub const eng: Key = Key(ffi::GDK_KEY_eng as u32);
    pub const Amacron: Key = Key(ffi::GDK_KEY_Amacron as u32);
    pub const Iogonek: Key = Key(ffi::GDK_KEY_Iogonek as u32);
    pub const Eabovedot: Key = Key(ffi::GDK_KEY_Eabovedot as u32);
    pub const Imacron: Key = Key(ffi::GDK_KEY_Imacron as u32);
    pub const Ncedilla: Key = Key(ffi::GDK_KEY_Ncedilla as u32);
    pub const Omacron: Key = Key(ffi::GDK_KEY_Omacron as u32);
    pub const Kcedilla: Key = Key(ffi::GDK_KEY_Kcedilla as u32);
    pub const Uogonek: Key = Key(ffi::GDK_KEY_Uogonek as u32);
    pub const Utilde: Key = Key(ffi::GDK_KEY_Utilde as u32);
    pub const Umacron: Key = Key(ffi::GDK_KEY_Umacron as u32);
    pub const amacron: Key = Key(ffi::GDK_KEY_amacron as u32);
    pub const iogonek: Key = Key(ffi::GDK_KEY_iogonek as u32);
    pub const eabovedot: Key = Key(ffi::GDK_KEY_eabovedot as u32);
    pub const imacron: Key = Key(ffi::GDK_KEY_imacron as u32);
    pub const ncedilla: Key = Key(ffi::GDK_KEY_ncedilla as u32);
    pub const omacron: Key = Key(ffi::GDK_KEY_omacron as u32);
    pub const kcedilla: Key = Key(ffi::GDK_KEY_kcedilla as u32);
    pub const uogonek: Key = Key(ffi::GDK_KEY_uogonek as u32);
    pub const utilde: Key = Key(ffi::GDK_KEY_utilde as u32);
    pub const umacron: Key = Key(ffi::GDK_KEY_umacron as u32);
    pub const Wcircumflex: Key = Key(ffi::GDK_KEY_Wcircumflex as u32);
    pub const wcircumflex: Key = Key(ffi::GDK_KEY_wcircumflex as u32);
    pub const Ycircumflex: Key = Key(ffi::GDK_KEY_Ycircumflex as u32);
    pub const ycircumflex: Key = Key(ffi::GDK_KEY_ycircumflex as u32);
    pub const Babovedot: Key = Key(ffi::GDK_KEY_Babovedot as u32);
    pub const babovedot: Key = Key(ffi::GDK_KEY_babovedot as u32);
    pub const Dabovedot: Key = Key(ffi::GDK_KEY_Dabovedot as u32);
    pub const dabovedot: Key = Key(ffi::GDK_KEY_dabovedot as u32);
    pub const Fabovedot: Key = Key(ffi::GDK_KEY_Fabovedot as u32);
    pub const fabovedot: Key = Key(ffi::GDK_KEY_fabovedot as u32);
    pub const Mabovedot: Key = Key(ffi::GDK_KEY_Mabovedot as u32);
    pub const mabovedot: Key = Key(ffi::GDK_KEY_mabovedot as u32);
    pub const Pabovedot: Key = Key(ffi::GDK_KEY_Pabovedot as u32);
    pub const pabovedot: Key = Key(ffi::GDK_KEY_pabovedot as u32);
    pub const Sabovedot: Key = Key(ffi::GDK_KEY_Sabovedot as u32);
    pub const sabovedot: Key = Key(ffi::GDK_KEY_sabovedot as u32);
    pub const Tabovedot: Key = Key(ffi::GDK_KEY_Tabovedot as u32);
    pub const tabovedot: Key = Key(ffi::GDK_KEY_tabovedot as u32);
    pub const Wgrave: Key = Key(ffi::GDK_KEY_Wgrave as u32);
    pub const wgrave: Key = Key(ffi::GDK_KEY_wgrave as u32);
    pub const Wacute: Key = Key(ffi::GDK_KEY_Wacute as u32);
    pub const wacute: Key = Key(ffi::GDK_KEY_wacute as u32);
    pub const Wdiaeresis: Key = Key(ffi::GDK_KEY_Wdiaeresis as u32);
    pub const wdiaeresis: Key = Key(ffi::GDK_KEY_wdiaeresis as u32);
    pub const Ygrave: Key = Key(ffi::GDK_KEY_Ygrave as u32);
    pub const ygrave: Key = Key(ffi::GDK_KEY_ygrave as u32);
    pub const OE: Key = Key(ffi::GDK_KEY_OE as u32);
    pub const oe: Key = Key(ffi::GDK_KEY_oe as u32);
    pub const Ydiaeresis: Key = Key(ffi::GDK_KEY_Ydiaeresis as u32);
    pub const overline: Key = Key(ffi::GDK_KEY_overline as u32);
    pub const kana_fullstop: Key = Key(ffi::GDK_KEY_kana_fullstop as u32);
    pub const kana_openingbracket: Key = Key(ffi::GDK_KEY_kana_openingbracket as u32);
    pub const kana_closingbracket: Key = Key(ffi::GDK_KEY_kana_closingbracket as u32);
    pub const kana_comma: Key = Key(ffi::GDK_KEY_kana_comma as u32);
    pub const kana_conjunctive: Key = Key(ffi::GDK_KEY_kana_conjunctive as u32);
    pub const kana_middledot: Key = Key(ffi::GDK_KEY_kana_middledot as u32);
    pub const kana_WO: Key = Key(ffi::GDK_KEY_kana_WO as u32);
    pub const kana_a: Key = Key(ffi::GDK_KEY_kana_a as u32);
    pub const kana_i: Key = Key(ffi::GDK_KEY_kana_i as u32);
    pub const kana_u: Key = Key(ffi::GDK_KEY_kana_u as u32);
    pub const kana_e: Key = Key(ffi::GDK_KEY_kana_e as u32);
    pub const kana_o: Key = Key(ffi::GDK_KEY_kana_o as u32);
    pub const kana_ya: Key = Key(ffi::GDK_KEY_kana_ya as u32);
    pub const kana_yu: Key = Key(ffi::GDK_KEY_kana_yu as u32);
    pub const kana_yo: Key = Key(ffi::GDK_KEY_kana_yo as u32);
    pub const kana_tsu: Key = Key(ffi::GDK_KEY_kana_tsu as u32);
    pub const kana_tu: Key = Key(ffi::GDK_KEY_kana_tu as u32);
    pub const prolongedsound: Key = Key(ffi::GDK_KEY_prolongedsound as u32);
    pub const kana_A: Key = Key(ffi::GDK_KEY_kana_A as u32);
    pub const kana_I: Key = Key(ffi::GDK_KEY_kana_I as u32);
    pub const kana_U: Key = Key(ffi::GDK_KEY_kana_U as u32);
    pub const kana_E: Key = Key(ffi::GDK_KEY_kana_E as u32);
    pub const kana_O: Key = Key(ffi::GDK_KEY_kana_O as u32);
    pub const kana_KA: Key = Key(ffi::GDK_KEY_kana_KA as u32);
    pub const kana_KI: Key = Key(ffi::GDK_KEY_kana_KI as u32);
    pub const kana_KU: Key = Key(ffi::GDK_KEY_kana_KU as u32);
    pub const kana_KE: Key = Key(ffi::GDK_KEY_kana_KE as u32);
    pub const kana_KO: Key = Key(ffi::GDK_KEY_kana_KO as u32);
    pub const kana_SA: Key = Key(ffi::GDK_KEY_kana_SA as u32);
    pub const kana_SHI: Key = Key(ffi::GDK_KEY_kana_SHI as u32);
    pub const kana_SU: Key = Key(ffi::GDK_KEY_kana_SU as u32);
    pub const kana_SE: Key = Key(ffi::GDK_KEY_kana_SE as u32);
    pub const kana_SO: Key = Key(ffi::GDK_KEY_kana_SO as u32);
    pub const kana_TA: Key = Key(ffi::GDK_KEY_kana_TA as u32);
    pub const kana_CHI: Key = Key(ffi::GDK_KEY_kana_CHI as u32);
    pub const kana_TI: Key = Key(ffi::GDK_KEY_kana_TI as u32);
    pub const kana_TSU: Key = Key(ffi::GDK_KEY_kana_TSU as u32);
    pub const kana_TU: Key = Key(ffi::GDK_KEY_kana_TU as u32);
    pub const kana_TE: Key = Key(ffi::GDK_KEY_kana_TE as u32);
    pub const kana_TO: Key = Key(ffi::GDK_KEY_kana_TO as u32);
    pub const kana_NA: Key = Key(ffi::GDK_KEY_kana_NA as u32);
    pub const kana_NI: Key = Key(ffi::GDK_KEY_kana_NI as u32);
    pub const kana_NU: Key = Key(ffi::GDK_KEY_kana_NU as u32);
    pub const kana_NE: Key = Key(ffi::GDK_KEY_kana_NE as u32);
    pub const kana_NO: Key = Key(ffi::GDK_KEY_kana_NO as u32);
    pub const kana_HA: Key = Key(ffi::GDK_KEY_kana_HA as u32);
    pub const kana_HI: Key = Key(ffi::GDK_KEY_kana_HI as u32);
    pub const kana_FU: Key = Key(ffi::GDK_KEY_kana_FU as u32);
    pub const kana_HU: Key = Key(ffi::GDK_KEY_kana_HU as u32);
    pub const kana_HE: Key = Key(ffi::GDK_KEY_kana_HE as u32);
    pub const kana_HO: Key = Key(ffi::GDK_KEY_kana_HO as u32);
    pub const kana_MA: Key = Key(ffi::GDK_KEY_kana_MA as u32);
    pub const kana_MI: Key = Key(ffi::GDK_KEY_kana_MI as u32);
    pub const kana_MU: Key = Key(ffi::GDK_KEY_kana_MU as u32);
    pub const kana_ME: Key = Key(ffi::GDK_KEY_kana_ME as u32);
    pub const kana_MO: Key = Key(ffi::GDK_KEY_kana_MO as u32);
    pub const kana_YA: Key = Key(ffi::GDK_KEY_kana_YA as u32);
    pub const kana_YU: Key = Key(ffi::GDK_KEY_kana_YU as u32);
    pub const kana_YO: Key = Key(ffi::GDK_KEY_kana_YO as u32);
    pub const kana_RA: Key = Key(ffi::GDK_KEY_kana_RA as u32);
    pub const kana_RI: Key = Key(ffi::GDK_KEY_kana_RI as u32);
    pub const kana_RU: Key = Key(ffi::GDK_KEY_kana_RU as u32);
    pub const kana_RE: Key = Key(ffi::GDK_KEY_kana_RE as u32);
    pub const kana_RO: Key = Key(ffi::GDK_KEY_kana_RO as u32);
    pub const kana_WA: Key = Key(ffi::GDK_KEY_kana_WA as u32);
    pub const kana_N: Key = Key(ffi::GDK_KEY_kana_N as u32);
    pub const voicedsound: Key = Key(ffi::GDK_KEY_voicedsound as u32);
    pub const semivoicedsound: Key = Key(ffi::GDK_KEY_semivoicedsound as u32);
    pub const kana_switch: Key = Key(ffi::GDK_KEY_kana_switch as u32);
    pub const Farsi_0: Key = Key(ffi::GDK_KEY_Farsi_0 as u32);
    pub const Farsi_1: Key = Key(ffi::GDK_KEY_Farsi_1 as u32);
    pub const Farsi_2: Key = Key(ffi::GDK_KEY_Farsi_2 as u32);
    pub const Farsi_3: Key = Key(ffi::GDK_KEY_Farsi_3 as u32);
    pub const Farsi_4: Key = Key(ffi::GDK_KEY_Farsi_4 as u32);
    pub const Farsi_5: Key = Key(ffi::GDK_KEY_Farsi_5 as u32);
    pub const Farsi_6: Key = Key(ffi::GDK_KEY_Farsi_6 as u32);
    pub const Farsi_7: Key = Key(ffi::GDK_KEY_Farsi_7 as u32);
    pub const Farsi_8: Key = Key(ffi::GDK_KEY_Farsi_8 as u32);
    pub const Farsi_9: Key = Key(ffi::GDK_KEY_Farsi_9 as u32);
    pub const Arabic_percent: Key = Key(ffi::GDK_KEY_Arabic_percent as u32);
    pub const Arabic_superscript_alef: Key = Key(ffi::GDK_KEY_Arabic_superscript_alef as u32);
    pub const Arabic_tteh: Key = Key(ffi::GDK_KEY_Arabic_tteh as u32);
    pub const Arabic_peh: Key = Key(ffi::GDK_KEY_Arabic_peh as u32);
    pub const Arabic_tcheh: Key = Key(ffi::GDK_KEY_Arabic_tcheh as u32);
    pub const Arabic_ddal: Key = Key(ffi::GDK_KEY_Arabic_ddal as u32);
    pub const Arabic_rreh: Key = Key(ffi::GDK_KEY_Arabic_rreh as u32);
    pub const Arabic_comma: Key = Key(ffi::GDK_KEY_Arabic_comma as u32);
    pub const Arabic_fullstop: Key = Key(ffi::GDK_KEY_Arabic_fullstop as u32);
    pub const Arabic_0: Key = Key(ffi::GDK_KEY_Arabic_0 as u32);
    pub const Arabic_1: Key = Key(ffi::GDK_KEY_Arabic_1 as u32);
    pub const Arabic_2: Key = Key(ffi::GDK_KEY_Arabic_2 as u32);
    pub const Arabic_3: Key = Key(ffi::GDK_KEY_Arabic_3 as u32);
    pub const Arabic_4: Key = Key(ffi::GDK_KEY_Arabic_4 as u32);
    pub const Arabic_5: Key = Key(ffi::GDK_KEY_Arabic_5 as u32);
    pub const Arabic_6: Key = Key(ffi::GDK_KEY_Arabic_6 as u32);
    pub const Arabic_7: Key = Key(ffi::GDK_KEY_Arabic_7 as u32);
    pub const Arabic_8: Key = Key(ffi::GDK_KEY_Arabic_8 as u32);
    pub const Arabic_9: Key = Key(ffi::GDK_KEY_Arabic_9 as u32);
    pub const Arabic_semicolon: Key = Key(ffi::GDK_KEY_Arabic_semicolon as u32);
    pub const Arabic_question_mark: Key = Key(ffi::GDK_KEY_Arabic_question_mark as u32);
    pub const Arabic_hamza: Key = Key(ffi::GDK_KEY_Arabic_hamza as u32);
    pub const Arabic_maddaonalef: Key = Key(ffi::GDK_KEY_Arabic_maddaonalef as u32);
    pub const Arabic_hamzaonalef: Key = Key(ffi::GDK_KEY_Arabic_hamzaonalef as u32);
    pub const Arabic_hamzaonwaw: Key = Key(ffi::GDK_KEY_Arabic_hamzaonwaw as u32);
    pub const Arabic_hamzaunderalef: Key = Key(ffi::GDK_KEY_Arabic_hamzaunderalef as u32);
    pub const Arabic_hamzaonyeh: Key = Key(ffi::GDK_KEY_Arabic_hamzaonyeh as u32);
    pub const Arabic_alef: Key = Key(ffi::GDK_KEY_Arabic_alef as u32);
    pub const Arabic_beh: Key = Key(ffi::GDK_KEY_Arabic_beh as u32);
    pub const Arabic_tehmarbuta: Key = Key(ffi::GDK_KEY_Arabic_tehmarbuta as u32);
    pub const Arabic_teh: Key = Key(ffi::GDK_KEY_Arabic_teh as u32);
    pub const Arabic_theh: Key = Key(ffi::GDK_KEY_Arabic_theh as u32);
    pub const Arabic_jeem: Key = Key(ffi::GDK_KEY_Arabic_jeem as u32);
    pub const Arabic_hah: Key = Key(ffi::GDK_KEY_Arabic_hah as u32);
    pub const Arabic_khah: Key = Key(ffi::GDK_KEY_Arabic_khah as u32);
    pub const Arabic_dal: Key = Key(ffi::GDK_KEY_Arabic_dal as u32);
    pub const Arabic_thal: Key = Key(ffi::GDK_KEY_Arabic_thal as u32);
    pub const Arabic_ra: Key = Key(ffi::GDK_KEY_Arabic_ra as u32);
    pub const Arabic_zain: Key = Key(ffi::GDK_KEY_Arabic_zain as u32);
    pub const Arabic_seen: Key = Key(ffi::GDK_KEY_Arabic_seen as u32);
    pub const Arabic_sheen: Key = Key(ffi::GDK_KEY_Arabic_sheen as u32);
    pub const Arabic_sad: Key = Key(ffi::GDK_KEY_Arabic_sad as u32);
    pub const Arabic_dad: Key = Key(ffi::GDK_KEY_Arabic_dad as u32);
    pub const Arabic_tah: Key = Key(ffi::GDK_KEY_Arabic_tah as u32);
    pub const Arabic_zah: Key = Key(ffi::GDK_KEY_Arabic_zah as u32);
    pub const Arabic_ain: Key = Key(ffi::GDK_KEY_Arabic_ain as u32);
    pub const Arabic_ghain: Key = Key(ffi::GDK_KEY_Arabic_ghain as u32);
    pub const Arabic_tatweel: Key = Key(ffi::GDK_KEY_Arabic_tatweel as u32);
    pub const Arabic_feh: Key = Key(ffi::GDK_KEY_Arabic_feh as u32);
    pub const Arabic_qaf: Key = Key(ffi::GDK_KEY_Arabic_qaf as u32);
    pub const Arabic_kaf: Key = Key(ffi::GDK_KEY_Arabic_kaf as u32);
    pub const Arabic_lam: Key = Key(ffi::GDK_KEY_Arabic_lam as u32);
    pub const Arabic_meem: Key = Key(ffi::GDK_KEY_Arabic_meem as u32);
    pub const Arabic_noon: Key = Key(ffi::GDK_KEY_Arabic_noon as u32);
    pub const Arabic_ha: Key = Key(ffi::GDK_KEY_Arabic_ha as u32);
    pub const Arabic_heh: Key = Key(ffi::GDK_KEY_Arabic_heh as u32);
    pub const Arabic_waw: Key = Key(ffi::GDK_KEY_Arabic_waw as u32);
    pub const Arabic_alefmaksura: Key = Key(ffi::GDK_KEY_Arabic_alefmaksura as u32);
    pub const Arabic_yeh: Key = Key(ffi::GDK_KEY_Arabic_yeh as u32);
    pub const Arabic_fathatan: Key = Key(ffi::GDK_KEY_Arabic_fathatan as u32);
    pub const Arabic_dammatan: Key = Key(ffi::GDK_KEY_Arabic_dammatan as u32);
    pub const Arabic_kasratan: Key = Key(ffi::GDK_KEY_Arabic_kasratan as u32);
    pub const Arabic_fatha: Key = Key(ffi::GDK_KEY_Arabic_fatha as u32);
    pub const Arabic_damma: Key = Key(ffi::GDK_KEY_Arabic_damma as u32);
    pub const Arabic_kasra: Key = Key(ffi::GDK_KEY_Arabic_kasra as u32);
    pub const Arabic_shadda: Key = Key(ffi::GDK_KEY_Arabic_shadda as u32);
    pub const Arabic_sukun: Key = Key(ffi::GDK_KEY_Arabic_sukun as u32);
    pub const Arabic_madda_above: Key = Key(ffi::GDK_KEY_Arabic_madda_above as u32);
    pub const Arabic_hamza_above: Key = Key(ffi::GDK_KEY_Arabic_hamza_above as u32);
    pub const Arabic_hamza_below: Key = Key(ffi::GDK_KEY_Arabic_hamza_below as u32);
    pub const Arabic_jeh: Key = Key(ffi::GDK_KEY_Arabic_jeh as u32);
    pub const Arabic_veh: Key = Key(ffi::GDK_KEY_Arabic_veh as u32);
    pub const Arabic_keheh: Key = Key(ffi::GDK_KEY_Arabic_keheh as u32);
    pub const Arabic_gaf: Key = Key(ffi::GDK_KEY_Arabic_gaf as u32);
    pub const Arabic_noon_ghunna: Key = Key(ffi::GDK_KEY_Arabic_noon_ghunna as u32);
    pub const Arabic_heh_doachashmee: Key = Key(ffi::GDK_KEY_Arabic_heh_doachashmee as u32);
    pub const Farsi_yeh: Key = Key(ffi::GDK_KEY_Farsi_yeh as u32);
    pub const Arabic_farsi_yeh: Key = Key(ffi::GDK_KEY_Arabic_farsi_yeh as u32);
    pub const Arabic_yeh_baree: Key = Key(ffi::GDK_KEY_Arabic_yeh_baree as u32);
    pub const Arabic_heh_goal: Key = Key(ffi::GDK_KEY_Arabic_heh_goal as u32);
    pub const Arabic_switch: Key = Key(ffi::GDK_KEY_Arabic_switch as u32);
    pub const Cyrillic_GHE_bar: Key = Key(ffi::GDK_KEY_Cyrillic_GHE_bar as u32);
    pub const Cyrillic_ghe_bar: Key = Key(ffi::GDK_KEY_Cyrillic_ghe_bar as u32);
    pub const Cyrillic_ZHE_descender: Key = Key(ffi::GDK_KEY_Cyrillic_ZHE_descender as u32);
    pub const Cyrillic_zhe_descender: Key = Key(ffi::GDK_KEY_Cyrillic_zhe_descender as u32);
    pub const Cyrillic_KA_descender: Key = Key(ffi::GDK_KEY_Cyrillic_KA_descender as u32);
    pub const Cyrillic_ka_descender: Key = Key(ffi::GDK_KEY_Cyrillic_ka_descender as u32);
    pub const Cyrillic_KA_vertstroke: Key = Key(ffi::GDK_KEY_Cyrillic_KA_vertstroke as u32);
    pub const Cyrillic_ka_vertstroke: Key = Key(ffi::GDK_KEY_Cyrillic_ka_vertstroke as u32);
    pub const Cyrillic_EN_descender: Key = Key(ffi::GDK_KEY_Cyrillic_EN_descender as u32);
    pub const Cyrillic_en_descender: Key = Key(ffi::GDK_KEY_Cyrillic_en_descender as u32);
    pub const Cyrillic_U_straight: Key = Key(ffi::GDK_KEY_Cyrillic_U_straight as u32);
    pub const Cyrillic_u_straight: Key = Key(ffi::GDK_KEY_Cyrillic_u_straight as u32);
    pub const Cyrillic_U_straight_bar: Key = Key(ffi::GDK_KEY_Cyrillic_U_straight_bar as u32);
    pub const Cyrillic_u_straight_bar: Key = Key(ffi::GDK_KEY_Cyrillic_u_straight_bar as u32);
    pub const Cyrillic_HA_descender: Key = Key(ffi::GDK_KEY_Cyrillic_HA_descender as u32);
    pub const Cyrillic_ha_descender: Key = Key(ffi::GDK_KEY_Cyrillic_ha_descender as u32);
    pub const Cyrillic_CHE_descender: Key = Key(ffi::GDK_KEY_Cyrillic_CHE_descender as u32);
    pub const Cyrillic_che_descender: Key = Key(ffi::GDK_KEY_Cyrillic_che_descender as u32);
    pub const Cyrillic_CHE_vertstroke: Key = Key(ffi::GDK_KEY_Cyrillic_CHE_vertstroke as u32);
    pub const Cyrillic_che_vertstroke: Key = Key(ffi::GDK_KEY_Cyrillic_che_vertstroke as u32);
    pub const Cyrillic_SHHA: Key = Key(ffi::GDK_KEY_Cyrillic_SHHA as u32);
    pub const Cyrillic_shha: Key = Key(ffi::GDK_KEY_Cyrillic_shha as u32);
    pub const Cyrillic_SCHWA: Key = Key(ffi::GDK_KEY_Cyrillic_SCHWA as u32);
    pub const Cyrillic_schwa: Key = Key(ffi::GDK_KEY_Cyrillic_schwa as u32);
    pub const Cyrillic_I_macron: Key = Key(ffi::GDK_KEY_Cyrillic_I_macron as u32);
    pub const Cyrillic_i_macron: Key = Key(ffi::GDK_KEY_Cyrillic_i_macron as u32);
    pub const Cyrillic_O_bar: Key = Key(ffi::GDK_KEY_Cyrillic_O_bar as u32);
    pub const Cyrillic_o_bar: Key = Key(ffi::GDK_KEY_Cyrillic_o_bar as u32);
    pub const Cyrillic_U_macron: Key = Key(ffi::GDK_KEY_Cyrillic_U_macron as u32);
    pub const Cyrillic_u_macron: Key = Key(ffi::GDK_KEY_Cyrillic_u_macron as u32);
    pub const Serbian_dje: Key = Key(ffi::GDK_KEY_Serbian_dje as u32);
    pub const Macedonia_gje: Key = Key(ffi::GDK_KEY_Macedonia_gje as u32);
    pub const Cyrillic_io: Key = Key(ffi::GDK_KEY_Cyrillic_io as u32);
    pub const Ukrainian_ie: Key = Key(ffi::GDK_KEY_Ukrainian_ie as u32);
    pub const Ukranian_je: Key = Key(ffi::GDK_KEY_Ukranian_je as u32);
    pub const Macedonia_dse: Key = Key(ffi::GDK_KEY_Macedonia_dse as u32);
    pub const Ukrainian_i: Key = Key(ffi::GDK_KEY_Ukrainian_i as u32);
    pub const Ukranian_i: Key = Key(ffi::GDK_KEY_Ukranian_i as u32);
    pub const Ukrainian_yi: Key = Key(ffi::GDK_KEY_Ukrainian_yi as u32);
    pub const Ukranian_yi: Key = Key(ffi::GDK_KEY_Ukranian_yi as u32);
    pub const Cyrillic_je: Key = Key(ffi::GDK_KEY_Cyrillic_je as u32);
    pub const Serbian_je: Key = Key(ffi::GDK_KEY_Serbian_je as u32);
    pub const Cyrillic_lje: Key = Key(ffi::GDK_KEY_Cyrillic_lje as u32);
    pub const Serbian_lje: Key = Key(ffi::GDK_KEY_Serbian_lje as u32);
    pub const Cyrillic_nje: Key = Key(ffi::GDK_KEY_Cyrillic_nje as u32);
    pub const Serbian_nje: Key = Key(ffi::GDK_KEY_Serbian_nje as u32);
    pub const Serbian_tshe: Key = Key(ffi::GDK_KEY_Serbian_tshe as u32);
    pub const Macedonia_kje: Key = Key(ffi::GDK_KEY_Macedonia_kje as u32);
    pub const Ukrainian_ghe_with_upturn: Key = Key(ffi::GDK_KEY_Ukrainian_ghe_with_upturn as u32);
    pub const Byelorussian_shortu: Key = Key(ffi::GDK_KEY_Byelorussian_shortu as u32);
    pub const Cyrillic_dzhe: Key = Key(ffi::GDK_KEY_Cyrillic_dzhe as u32);
    pub const Serbian_dze: Key = Key(ffi::GDK_KEY_Serbian_dze as u32);
    pub const numerosign: Key = Key(ffi::GDK_KEY_numerosign as u32);
    pub const Serbian_DJE: Key = Key(ffi::GDK_KEY_Serbian_DJE as u32);
    pub const Macedonia_GJE: Key = Key(ffi::GDK_KEY_Macedonia_GJE as u32);
    pub const Cyrillic_IO: Key = Key(ffi::GDK_KEY_Cyrillic_IO as u32);
    pub const Ukrainian_IE: Key = Key(ffi::GDK_KEY_Ukrainian_IE as u32);
    pub const Ukranian_JE: Key = Key(ffi::GDK_KEY_Ukranian_JE as u32);
    pub const Macedonia_DSE: Key = Key(ffi::GDK_KEY_Macedonia_DSE as u32);
    pub const Ukrainian_I: Key = Key(ffi::GDK_KEY_Ukrainian_I as u32);
    pub const Ukranian_I: Key = Key(ffi::GDK_KEY_Ukranian_I as u32);
    pub const Ukrainian_YI: Key = Key(ffi::GDK_KEY_Ukrainian_YI as u32);
    pub const Ukranian_YI: Key = Key(ffi::GDK_KEY_Ukranian_YI as u32);
    pub const Cyrillic_JE: Key = Key(ffi::GDK_KEY_Cyrillic_JE as u32);
    pub const Serbian_JE: Key = Key(ffi::GDK_KEY_Serbian_JE as u32);
    pub const Cyrillic_LJE: Key = Key(ffi::GDK_KEY_Cyrillic_LJE as u32);
    pub const Serbian_LJE: Key = Key(ffi::GDK_KEY_Serbian_LJE as u32);
    pub const Cyrillic_NJE: Key = Key(ffi::GDK_KEY_Cyrillic_NJE as u32);
    pub const Serbian_NJE: Key = Key(ffi::GDK_KEY_Serbian_NJE as u32);
    pub const Serbian_TSHE: Key = Key(ffi::GDK_KEY_Serbian_TSHE as u32);
    pub const Macedonia_KJE: Key = Key(ffi::GDK_KEY_Macedonia_KJE as u32);
    pub const Ukrainian_GHE_WITH_UPTURN: Key = Key(ffi::GDK_KEY_Ukrainian_GHE_WITH_UPTURN as u32);
    pub const Byelorussian_SHORTU: Key = Key(ffi::GDK_KEY_Byelorussian_SHORTU as u32);
    pub const Cyrillic_DZHE: Key = Key(ffi::GDK_KEY_Cyrillic_DZHE as u32);
    pub const Serbian_DZE: Key = Key(ffi::GDK_KEY_Serbian_DZE as u32);
    pub const Cyrillic_yu: Key = Key(ffi::GDK_KEY_Cyrillic_yu as u32);
    pub const Cyrillic_a: Key = Key(ffi::GDK_KEY_Cyrillic_a as u32);
    pub const Cyrillic_be: Key = Key(ffi::GDK_KEY_Cyrillic_be as u32);
    pub const Cyrillic_tse: Key = Key(ffi::GDK_KEY_Cyrillic_tse as u32);
    pub const Cyrillic_de: Key = Key(ffi::GDK_KEY_Cyrillic_de as u32);
    pub const Cyrillic_ie: Key = Key(ffi::GDK_KEY_Cyrillic_ie as u32);
    pub const Cyrillic_ef: Key = Key(ffi::GDK_KEY_Cyrillic_ef as u32);
    pub const Cyrillic_ghe: Key = Key(ffi::GDK_KEY_Cyrillic_ghe as u32);
    pub const Cyrillic_ha: Key = Key(ffi::GDK_KEY_Cyrillic_ha as u32);
    pub const Cyrillic_i: Key = Key(ffi::GDK_KEY_Cyrillic_i as u32);
    pub const Cyrillic_shorti: Key = Key(ffi::GDK_KEY_Cyrillic_shorti as u32);
    pub const Cyrillic_ka: Key = Key(ffi::GDK_KEY_Cyrillic_ka as u32);
    pub const Cyrillic_el: Key = Key(ffi::GDK_KEY_Cyrillic_el as u32);
    pub const Cyrillic_em: Key = Key(ffi::GDK_KEY_Cyrillic_em as u32);
    pub const Cyrillic_en: Key = Key(ffi::GDK_KEY_Cyrillic_en as u32);
    pub const Cyrillic_o: Key = Key(ffi::GDK_KEY_Cyrillic_o as u32);
    pub const Cyrillic_pe: Key = Key(ffi::GDK_KEY_Cyrillic_pe as u32);
    pub const Cyrillic_ya: Key = Key(ffi::GDK_KEY_Cyrillic_ya as u32);
    pub const Cyrillic_er: Key = Key(ffi::GDK_KEY_Cyrillic_er as u32);
    pub const Cyrillic_es: Key = Key(ffi::GDK_KEY_Cyrillic_es as u32);
    pub const Cyrillic_te: Key = Key(ffi::GDK_KEY_Cyrillic_te as u32);
    pub const Cyrillic_u: Key = Key(ffi::GDK_KEY_Cyrillic_u as u32);
    pub const Cyrillic_zhe: Key = Key(ffi::GDK_KEY_Cyrillic_zhe as u32);
    pub const Cyrillic_ve: Key = Key(ffi::GDK_KEY_Cyrillic_ve as u32);
    pub const Cyrillic_softsign: Key = Key(ffi::GDK_KEY_Cyrillic_softsign as u32);
    pub const Cyrillic_yeru: Key = Key(ffi::GDK_KEY_Cyrillic_yeru as u32);
    pub const Cyrillic_ze: Key = Key(ffi::GDK_KEY_Cyrillic_ze as u32);
    pub const Cyrillic_sha: Key = Key(ffi::GDK_KEY_Cyrillic_sha as u32);
    pub const Cyrillic_e: Key = Key(ffi::GDK_KEY_Cyrillic_e as u32);
    pub const Cyrillic_shcha: Key = Key(ffi::GDK_KEY_Cyrillic_shcha as u32);
    pub const Cyrillic_che: Key = Key(ffi::GDK_KEY_Cyrillic_che as u32);
    pub const Cyrillic_hardsign: Key = Key(ffi::GDK_KEY_Cyrillic_hardsign as u32);
    pub const Cyrillic_YU: Key = Key(ffi::GDK_KEY_Cyrillic_YU as u32);
    pub const Cyrillic_A: Key = Key(ffi::GDK_KEY_Cyrillic_A as u32);
    pub const Cyrillic_BE: Key = Key(ffi::GDK_KEY_Cyrillic_BE as u32);
    pub const Cyrillic_TSE: Key = Key(ffi::GDK_KEY_Cyrillic_TSE as u32);
    pub const Cyrillic_DE: Key = Key(ffi::GDK_KEY_Cyrillic_DE as u32);
    pub const Cyrillic_IE: Key = Key(ffi::GDK_KEY_Cyrillic_IE as u32);
    pub const Cyrillic_EF: Key = Key(ffi::GDK_KEY_Cyrillic_EF as u32);
    pub const Cyrillic_GHE: Key = Key(ffi::GDK_KEY_Cyrillic_GHE as u32);
    pub const Cyrillic_HA: Key = Key(ffi::GDK_KEY_Cyrillic_HA as u32);
    pub const Cyrillic_I: Key = Key(ffi::GDK_KEY_Cyrillic_I as u32);
    pub const Cyrillic_SHORTI: Key = Key(ffi::GDK_KEY_Cyrillic_SHORTI as u32);
    pub const Cyrillic_KA: Key = Key(ffi::GDK_KEY_Cyrillic_KA as u32);
    pub const Cyrillic_EL: Key = Key(ffi::GDK_KEY_Cyrillic_EL as u32);
    pub const Cyrillic_EM: Key = Key(ffi::GDK_KEY_Cyrillic_EM as u32);
    pub const Cyrillic_EN: Key = Key(ffi::GDK_KEY_Cyrillic_EN as u32);
    pub const Cyrillic_O: Key = Key(ffi::GDK_KEY_Cyrillic_O as u32);
    pub const Cyrillic_PE: Key = Key(ffi::GDK_KEY_Cyrillic_PE as u32);
    pub const Cyrillic_YA: Key = Key(ffi::GDK_KEY_Cyrillic_YA as u32);
    pub const Cyrillic_ER: Key = Key(ffi::GDK_KEY_Cyrillic_ER as u32);
    pub const Cyrillic_ES: Key = Key(ffi::GDK_KEY_Cyrillic_ES as u32);
    pub const Cyrillic_TE: Key = Key(ffi::GDK_KEY_Cyrillic_TE as u32);
    pub const Cyrillic_U: Key = Key(ffi::GDK_KEY_Cyrillic_U as u32);
    pub const Cyrillic_ZHE: Key = Key(ffi::GDK_KEY_Cyrillic_ZHE as u32);
    pub const Cyrillic_VE: Key = Key(ffi::GDK_KEY_Cyrillic_VE as u32);
    pub const Cyrillic_SOFTSIGN: Key = Key(ffi::GDK_KEY_Cyrillic_SOFTSIGN as u32);
    pub const Cyrillic_YERU: Key = Key(ffi::GDK_KEY_Cyrillic_YERU as u32);
    pub const Cyrillic_ZE: Key = Key(ffi::GDK_KEY_Cyrillic_ZE as u32);
    pub const Cyrillic_SHA: Key = Key(ffi::GDK_KEY_Cyrillic_SHA as u32);
    pub const Cyrillic_E: Key = Key(ffi::GDK_KEY_Cyrillic_E as u32);
    pub const Cyrillic_SHCHA: Key = Key(ffi::GDK_KEY_Cyrillic_SHCHA as u32);
    pub const Cyrillic_CHE: Key = Key(ffi::GDK_KEY_Cyrillic_CHE as u32);
    pub const Cyrillic_HARDSIGN: Key = Key(ffi::GDK_KEY_Cyrillic_HARDSIGN as u32);
    pub const Greek_ALPHAaccent: Key = Key(ffi::GDK_KEY_Greek_ALPHAaccent as u32);
    pub const Greek_EPSILONaccent: Key = Key(ffi::GDK_KEY_Greek_EPSILONaccent as u32);
    pub const Greek_ETAaccent: Key = Key(ffi::GDK_KEY_Greek_ETAaccent as u32);
    pub const Greek_IOTAaccent: Key = Key(ffi::GDK_KEY_Greek_IOTAaccent as u32);
    pub const Greek_IOTAdieresis: Key = Key(ffi::GDK_KEY_Greek_IOTAdieresis as u32);
    pub const Greek_IOTAdiaeresis: Key = Key(ffi::GDK_KEY_Greek_IOTAdiaeresis as u32);
    pub const Greek_OMICRONaccent: Key = Key(ffi::GDK_KEY_Greek_OMICRONaccent as u32);
    pub const Greek_UPSILONaccent: Key = Key(ffi::GDK_KEY_Greek_UPSILONaccent as u32);
    pub const Greek_UPSILONdieresis: Key = Key(ffi::GDK_KEY_Greek_UPSILONdieresis as u32);
    pub const Greek_OMEGAaccent: Key = Key(ffi::GDK_KEY_Greek_OMEGAaccent as u32);
    pub const Greek_accentdieresis: Key = Key(ffi::GDK_KEY_Greek_accentdieresis as u32);
    pub const Greek_horizbar: Key = Key(ffi::GDK_KEY_Greek_horizbar as u32);
    pub const Greek_alphaaccent: Key = Key(ffi::GDK_KEY_Greek_alphaaccent as u32);
    pub const Greek_epsilonaccent: Key = Key(ffi::GDK_KEY_Greek_epsilonaccent as u32);
    pub const Greek_etaaccent: Key = Key(ffi::GDK_KEY_Greek_etaaccent as u32);
    pub const Greek_iotaaccent: Key = Key(ffi::GDK_KEY_Greek_iotaaccent as u32);
    pub const Greek_iotadieresis: Key = Key(ffi::GDK_KEY_Greek_iotadieresis as u32);
    pub const Greek_iotaaccentdieresis: Key = Key(ffi::GDK_KEY_Greek_iotaaccentdieresis as u32);
    pub const Greek_omicronaccent: Key = Key(ffi::GDK_KEY_Greek_omicronaccent as u32);
    pub const Greek_upsilonaccent: Key = Key(ffi::GDK_KEY_Greek_upsilonaccent as u32);
    pub const Greek_upsilondieresis: Key = Key(ffi::GDK_KEY_Greek_upsilondieresis as u32);
    pub const Greek_upsilonaccentdieresis: Key =
        Key(ffi::GDK_KEY_Greek_upsilonaccentdieresis as u32);
    pub const Greek_omegaaccent: Key = Key(ffi::GDK_KEY_Greek_omegaaccent as u32);
    pub const Greek_ALPHA: Key = Key(ffi::GDK_KEY_Greek_ALPHA as u32);
    pub const Greek_BETA: Key = Key(ffi::GDK_KEY_Greek_BETA as u32);
    pub const Greek_GAMMA: Key = Key(ffi::GDK_KEY_Greek_GAMMA as u32);
    pub const Greek_DELTA: Key = Key(ffi::GDK_KEY_Greek_DELTA as u32);
    pub const Greek_EPSILON: Key = Key(ffi::GDK_KEY_Greek_EPSILON as u32);
    pub const Greek_ZETA: Key = Key(ffi::GDK_KEY_Greek_ZETA as u32);
    pub const Greek_ETA: Key = Key(ffi::GDK_KEY_Greek_ETA as u32);
    pub const Greek_THETA: Key = Key(ffi::GDK_KEY_Greek_THETA as u32);
    pub const Greek_IOTA: Key = Key(ffi::GDK_KEY_Greek_IOTA as u32);
    pub const Greek_KAPPA: Key = Key(ffi::GDK_KEY_Greek_KAPPA as u32);
    pub const Greek_LAMDA: Key = Key(ffi::GDK_KEY_Greek_LAMDA as u32);
    pub const Greek_LAMBDA: Key = Key(ffi::GDK_KEY_Greek_LAMBDA as u32);
    pub const Greek_MU: Key = Key(ffi::GDK_KEY_Greek_MU as u32);
    pub const Greek_NU: Key = Key(ffi::GDK_KEY_Greek_NU as u32);
    pub const Greek_XI: Key = Key(ffi::GDK_KEY_Greek_XI as u32);
    pub const Greek_OMICRON: Key = Key(ffi::GDK_KEY_Greek_OMICRON as u32);
    pub const Greek_PI: Key = Key(ffi::GDK_KEY_Greek_PI as u32);
    pub const Greek_RHO: Key = Key(ffi::GDK_KEY_Greek_RHO as u32);
    pub const Greek_SIGMA: Key = Key(ffi::GDK_KEY_Greek_SIGMA as u32);
    pub const Greek_TAU: Key = Key(ffi::GDK_KEY_Greek_TAU as u32);
    pub const Greek_UPSILON: Key = Key(ffi::GDK_KEY_Greek_UPSILON as u32);
    pub const Greek_PHI: Key = Key(ffi::GDK_KEY_Greek_PHI as u32);
    pub const Greek_CHI: Key = Key(ffi::GDK_KEY_Greek_CHI as u32);
    pub const Greek_PSI: Key = Key(ffi::GDK_KEY_Greek_PSI as u32);
    pub const Greek_OMEGA: Key = Key(ffi::GDK_KEY_Greek_OMEGA as u32);
    pub const Greek_alpha: Key = Key(ffi::GDK_KEY_Greek_alpha as u32);
    pub const Greek_beta: Key = Key(ffi::GDK_KEY_Greek_beta as u32);
    pub const Greek_gamma: Key = Key(ffi::GDK_KEY_Greek_gamma as u32);
    pub const Greek_delta: Key = Key(ffi::GDK_KEY_Greek_delta as u32);
    pub const Greek_epsilon: Key = Key(ffi::GDK_KEY_Greek_epsilon as u32);
    pub const Greek_zeta: Key = Key(ffi::GDK_KEY_Greek_zeta as u32);
    pub const Greek_eta: Key = Key(ffi::GDK_KEY_Greek_eta as u32);
    pub const Greek_theta: Key = Key(ffi::GDK_KEY_Greek_theta as u32);
    pub const Greek_iota: Key = Key(ffi::GDK_KEY_Greek_iota as u32);
    pub const Greek_kappa: Key = Key(ffi::GDK_KEY_Greek_kappa as u32);
    pub const Greek_lamda: Key = Key(ffi::GDK_KEY_Greek_lamda as u32);
    pub const Greek_lambda: Key = Key(ffi::GDK_KEY_Greek_lambda as u32);
    pub const Greek_mu: Key = Key(ffi::GDK_KEY_Greek_mu as u32);
    pub const Greek_nu: Key = Key(ffi::GDK_KEY_Greek_nu as u32);
    pub const Greek_xi: Key = Key(ffi::GDK_KEY_Greek_xi as u32);
    pub const Greek_omicron: Key = Key(ffi::GDK_KEY_Greek_omicron as u32);
    pub const Greek_pi: Key = Key(ffi::GDK_KEY_Greek_pi as u32);
    pub const Greek_rho: Key = Key(ffi::GDK_KEY_Greek_rho as u32);
    pub const Greek_sigma: Key = Key(ffi::GDK_KEY_Greek_sigma as u32);
    pub const Greek_finalsmallsigma: Key = Key(ffi::GDK_KEY_Greek_finalsmallsigma as u32);
    pub const Greek_tau: Key = Key(ffi::GDK_KEY_Greek_tau as u32);
    pub const Greek_upsilon: Key = Key(ffi::GDK_KEY_Greek_upsilon as u32);
    pub const Greek_phi: Key = Key(ffi::GDK_KEY_Greek_phi as u32);
    pub const Greek_chi: Key = Key(ffi::GDK_KEY_Greek_chi as u32);
    pub const Greek_psi: Key = Key(ffi::GDK_KEY_Greek_psi as u32);
    pub const Greek_omega: Key = Key(ffi::GDK_KEY_Greek_omega as u32);
    pub const Greek_switch: Key = Key(ffi::GDK_KEY_Greek_switch as u32);
    pub const leftradical: Key = Key(ffi::GDK_KEY_leftradical as u32);
    pub const topleftradical: Key = Key(ffi::GDK_KEY_topleftradical as u32);
    pub const horizconnector: Key = Key(ffi::GDK_KEY_horizconnector as u32);
    pub const topintegral: Key = Key(ffi::GDK_KEY_topintegral as u32);
    pub const botintegral: Key = Key(ffi::GDK_KEY_botintegral as u32);
    pub const vertconnector: Key = Key(ffi::GDK_KEY_vertconnector as u32);
    pub const topleftsqbracket: Key = Key(ffi::GDK_KEY_topleftsqbracket as u32);
    pub const botleftsqbracket: Key = Key(ffi::GDK_KEY_botleftsqbracket as u32);
    pub const toprightsqbracket: Key = Key(ffi::GDK_KEY_toprightsqbracket as u32);
    pub const botrightsqbracket: Key = Key(ffi::GDK_KEY_botrightsqbracket as u32);
    pub const topleftparens: Key = Key(ffi::GDK_KEY_topleftparens as u32);
    pub const botleftparens: Key = Key(ffi::GDK_KEY_botleftparens as u32);
    pub const toprightparens: Key = Key(ffi::GDK_KEY_toprightparens as u32);
    pub const botrightparens: Key = Key(ffi::GDK_KEY_botrightparens as u32);
    pub const leftmiddlecurlybrace: Key = Key(ffi::GDK_KEY_leftmiddlecurlybrace as u32);
    pub const rightmiddlecurlybrace: Key = Key(ffi::GDK_KEY_rightmiddlecurlybrace as u32);
    pub const topleftsummation: Key = Key(ffi::GDK_KEY_topleftsummation as u32);
    pub const botleftsummation: Key = Key(ffi::GDK_KEY_botleftsummation as u32);
    pub const topvertsummationconnector: Key = Key(ffi::GDK_KEY_topvertsummationconnector as u32);
    pub const botvertsummationconnector: Key = Key(ffi::GDK_KEY_botvertsummationconnector as u32);
    pub const toprightsummation: Key = Key(ffi::GDK_KEY_toprightsummation as u32);
    pub const botrightsummation: Key = Key(ffi::GDK_KEY_botrightsummation as u32);
    pub const rightmiddlesummation: Key = Key(ffi::GDK_KEY_rightmiddlesummation as u32);
    pub const lessthanequal: Key = Key(ffi::GDK_KEY_lessthanequal as u32);
    pub const notequal: Key = Key(ffi::GDK_KEY_notequal as u32);
    pub const greaterthanequal: Key = Key(ffi::GDK_KEY_greaterthanequal as u32);
    pub const integral: Key = Key(ffi::GDK_KEY_integral as u32);
    pub const therefore: Key = Key(ffi::GDK_KEY_therefore as u32);
    pub const variation: Key = Key(ffi::GDK_KEY_variation as u32);
    pub const infinity: Key = Key(ffi::GDK_KEY_infinity as u32);
    pub const nabla: Key = Key(ffi::GDK_KEY_nabla as u32);
    pub const approximate: Key = Key(ffi::GDK_KEY_approximate as u32);
    pub const similarequal: Key = Key(ffi::GDK_KEY_similarequal as u32);
    pub const ifonlyif: Key = Key(ffi::GDK_KEY_ifonlyif as u32);
    pub const implies: Key = Key(ffi::GDK_KEY_implies as u32);
    pub const identical: Key = Key(ffi::GDK_KEY_identical as u32);
    pub const radical: Key = Key(ffi::GDK_KEY_radical as u32);
    pub const includedin: Key = Key(ffi::GDK_KEY_includedin as u32);
    pub const includes: Key = Key(ffi::GDK_KEY_includes as u32);
    pub const intersection: Key = Key(ffi::GDK_KEY_intersection as u32);
    pub const union: Key = Key(ffi::GDK_KEY_union as u32);
    pub const logicaland: Key = Key(ffi::GDK_KEY_logicaland as u32);
    pub const logicalor: Key = Key(ffi::GDK_KEY_logicalor as u32);
    pub const partialderivative: Key = Key(ffi::GDK_KEY_partialderivative as u32);
    pub const function: Key = Key(ffi::GDK_KEY_function as u32);
    pub const leftarrow: Key = Key(ffi::GDK_KEY_leftarrow as u32);
    pub const uparrow: Key = Key(ffi::GDK_KEY_uparrow as u32);
    pub const rightarrow: Key = Key(ffi::GDK_KEY_rightarrow as u32);
    pub const downarrow: Key = Key(ffi::GDK_KEY_downarrow as u32);
    pub const blank: Key = Key(ffi::GDK_KEY_blank as u32);
    pub const soliddiamond: Key = Key(ffi::GDK_KEY_soliddiamond as u32);
    pub const checkerboard: Key = Key(ffi::GDK_KEY_checkerboard as u32);
    pub const ht: Key = Key(ffi::GDK_KEY_ht as u32);
    pub const ff: Key = Key(ffi::GDK_KEY_ff as u32);
    pub const cr: Key = Key(ffi::GDK_KEY_cr as u32);
    pub const lf: Key = Key(ffi::GDK_KEY_lf as u32);
    pub const nl: Key = Key(ffi::GDK_KEY_nl as u32);
    pub const vt: Key = Key(ffi::GDK_KEY_vt as u32);
    pub const lowrightcorner: Key = Key(ffi::GDK_KEY_lowrightcorner as u32);
    pub const uprightcorner: Key = Key(ffi::GDK_KEY_uprightcorner as u32);
    pub const upleftcorner: Key = Key(ffi::GDK_KEY_upleftcorner as u32);
    pub const lowleftcorner: Key = Key(ffi::GDK_KEY_lowleftcorner as u32);
    pub const crossinglines: Key = Key(ffi::GDK_KEY_crossinglines as u32);
    pub const horizlinescan1: Key = Key(ffi::GDK_KEY_horizlinescan1 as u32);
    pub const horizlinescan3: Key = Key(ffi::GDK_KEY_horizlinescan3 as u32);
    pub const horizlinescan5: Key = Key(ffi::GDK_KEY_horizlinescan5 as u32);
    pub const horizlinescan7: Key = Key(ffi::GDK_KEY_horizlinescan7 as u32);
    pub const horizlinescan9: Key = Key(ffi::GDK_KEY_horizlinescan9 as u32);
    pub const leftt: Key = Key(ffi::GDK_KEY_leftt as u32);
    pub const rightt: Key = Key(ffi::GDK_KEY_rightt as u32);
    pub const bott: Key = Key(ffi::GDK_KEY_bott as u32);
    pub const topt: Key = Key(ffi::GDK_KEY_topt as u32);
    pub const vertbar: Key = Key(ffi::GDK_KEY_vertbar as u32);
    pub const emspace: Key = Key(ffi::GDK_KEY_emspace as u32);
    pub const enspace: Key = Key(ffi::GDK_KEY_enspace as u32);
    pub const em3space: Key = Key(ffi::GDK_KEY_em3space as u32);
    pub const em4space: Key = Key(ffi::GDK_KEY_em4space as u32);
    pub const digitspace: Key = Key(ffi::GDK_KEY_digitspace as u32);
    pub const punctspace: Key = Key(ffi::GDK_KEY_punctspace as u32);
    pub const thinspace: Key = Key(ffi::GDK_KEY_thinspace as u32);
    pub const hairspace: Key = Key(ffi::GDK_KEY_hairspace as u32);
    pub const emdash: Key = Key(ffi::GDK_KEY_emdash as u32);
    pub const endash: Key = Key(ffi::GDK_KEY_endash as u32);
    pub const signifblank: Key = Key(ffi::GDK_KEY_signifblank as u32);
    pub const ellipsis: Key = Key(ffi::GDK_KEY_ellipsis as u32);
    pub const doubbaselinedot: Key = Key(ffi::GDK_KEY_doubbaselinedot as u32);
    pub const onethird: Key = Key(ffi::GDK_KEY_onethird as u32);
    pub const twothirds: Key = Key(ffi::GDK_KEY_twothirds as u32);
    pub const onefifth: Key = Key(ffi::GDK_KEY_onefifth as u32);
    pub const twofifths: Key = Key(ffi::GDK_KEY_twofifths as u32);
    pub const threefifths: Key = Key(ffi::GDK_KEY_threefifths as u32);
    pub const fourfifths: Key = Key(ffi::GDK_KEY_fourfifths as u32);
    pub const onesixth: Key = Key(ffi::GDK_KEY_onesixth as u32);
    pub const fivesixths: Key = Key(ffi::GDK_KEY_fivesixths as u32);
    pub const careof: Key = Key(ffi::GDK_KEY_careof as u32);
    pub const figdash: Key = Key(ffi::GDK_KEY_figdash as u32);
    pub const leftanglebracket: Key = Key(ffi::GDK_KEY_leftanglebracket as u32);
    pub const decimalpoint: Key = Key(ffi::GDK_KEY_decimalpoint as u32);
    pub const rightanglebracket: Key = Key(ffi::GDK_KEY_rightanglebracket as u32);
    pub const marker: Key = Key(ffi::GDK_KEY_marker as u32);
    pub const oneeighth: Key = Key(ffi::GDK_KEY_oneeighth as u32);
    pub const threeeighths: Key = Key(ffi::GDK_KEY_threeeighths as u32);
    pub const fiveeighths: Key = Key(ffi::GDK_KEY_fiveeighths as u32);
    pub const seveneighths: Key = Key(ffi::GDK_KEY_seveneighths as u32);
    pub const trademark: Key = Key(ffi::GDK_KEY_trademark as u32);
    pub const signaturemark: Key = Key(ffi::GDK_KEY_signaturemark as u32);
    pub const trademarkincircle: Key = Key(ffi::GDK_KEY_trademarkincircle as u32);
    pub const leftopentriangle: Key = Key(ffi::GDK_KEY_leftopentriangle as u32);
    pub const rightopentriangle: Key = Key(ffi::GDK_KEY_rightopentriangle as u32);
    pub const emopencircle: Key = Key(ffi::GDK_KEY_emopencircle as u32);
    pub const emopenrectangle: Key = Key(ffi::GDK_KEY_emopenrectangle as u32);
    pub const leftsinglequotemark: Key = Key(ffi::GDK_KEY_leftsinglequotemark as u32);
    pub const rightsinglequotemark: Key = Key(ffi::GDK_KEY_rightsinglequotemark as u32);
    pub const leftdoublequotemark: Key = Key(ffi::GDK_KEY_leftdoublequotemark as u32);
    pub const rightdoublequotemark: Key = Key(ffi::GDK_KEY_rightdoublequotemark as u32);
    pub const prescription: Key = Key(ffi::GDK_KEY_prescription as u32);
    pub const permille: Key = Key(ffi::GDK_KEY_permille as u32);
    pub const minutes: Key = Key(ffi::GDK_KEY_minutes as u32);
    pub const seconds: Key = Key(ffi::GDK_KEY_seconds as u32);
    pub const latincross: Key = Key(ffi::GDK_KEY_latincross as u32);
    pub const hexagram: Key = Key(ffi::GDK_KEY_hexagram as u32);
    pub const filledrectbullet: Key = Key(ffi::GDK_KEY_filledrectbullet as u32);
    pub const filledlefttribullet: Key = Key(ffi::GDK_KEY_filledlefttribullet as u32);
    pub const filledrighttribullet: Key = Key(ffi::GDK_KEY_filledrighttribullet as u32);
    pub const emfilledcircle: Key = Key(ffi::GDK_KEY_emfilledcircle as u32);
    pub const emfilledrect: Key = Key(ffi::GDK_KEY_emfilledrect as u32);
    pub const enopencircbullet: Key = Key(ffi::GDK_KEY_enopencircbullet as u32);
    pub const enopensquarebullet: Key = Key(ffi::GDK_KEY_enopensquarebullet as u32);
    pub const openrectbullet: Key = Key(ffi::GDK_KEY_openrectbullet as u32);
    pub const opentribulletup: Key = Key(ffi::GDK_KEY_opentribulletup as u32);
    pub const opentribulletdown: Key = Key(ffi::GDK_KEY_opentribulletdown as u32);
    pub const openstar: Key = Key(ffi::GDK_KEY_openstar as u32);
    pub const enfilledcircbullet: Key = Key(ffi::GDK_KEY_enfilledcircbullet as u32);
    pub const enfilledsqbullet: Key = Key(ffi::GDK_KEY_enfilledsqbullet as u32);
    pub const filledtribulletup: Key = Key(ffi::GDK_KEY_filledtribulletup as u32);
    pub const filledtribulletdown: Key = Key(ffi::GDK_KEY_filledtribulletdown as u32);
    pub const leftpointer: Key = Key(ffi::GDK_KEY_leftpointer as u32);
    pub const rightpointer: Key = Key(ffi::GDK_KEY_rightpointer as u32);
    pub const club: Key = Key(ffi::GDK_KEY_club as u32);
    pub const diamond: Key = Key(ffi::GDK_KEY_diamond as u32);
    pub const heart: Key = Key(ffi::GDK_KEY_heart as u32);
    pub const maltesecross: Key = Key(ffi::GDK_KEY_maltesecross as u32);
    pub const dagger: Key = Key(ffi::GDK_KEY_dagger as u32);
    pub const doubledagger: Key = Key(ffi::GDK_KEY_doubledagger as u32);
    pub const checkmark: Key = Key(ffi::GDK_KEY_checkmark as u32);
    pub const ballotcross: Key = Key(ffi::GDK_KEY_ballotcross as u32);
    pub const musicalsharp: Key = Key(ffi::GDK_KEY_musicalsharp as u32);
    pub const musicalflat: Key = Key(ffi::GDK_KEY_musicalflat as u32);
    pub const malesymbol: Key = Key(ffi::GDK_KEY_malesymbol as u32);
    pub const femalesymbol: Key = Key(ffi::GDK_KEY_femalesymbol as u32);
    pub const telephone: Key = Key(ffi::GDK_KEY_telephone as u32);
    pub const telephonerecorder: Key = Key(ffi::GDK_KEY_telephonerecorder as u32);
    pub const phonographcopyright: Key = Key(ffi::GDK_KEY_phonographcopyright as u32);
    pub const caret: Key = Key(ffi::GDK_KEY_caret as u32);
    pub const singlelowquotemark: Key = Key(ffi::GDK_KEY_singlelowquotemark as u32);
    pub const doublelowquotemark: Key = Key(ffi::GDK_KEY_doublelowquotemark as u32);
    pub const cursor: Key = Key(ffi::GDK_KEY_cursor as u32);
    pub const leftcaret: Key = Key(ffi::GDK_KEY_leftcaret as u32);
    pub const rightcaret: Key = Key(ffi::GDK_KEY_rightcaret as u32);
    pub const downcaret: Key = Key(ffi::GDK_KEY_downcaret as u32);
    pub const upcaret: Key = Key(ffi::GDK_KEY_upcaret as u32);
    pub const overbar: Key = Key(ffi::GDK_KEY_overbar as u32);
    pub const downtack: Key = Key(ffi::GDK_KEY_downtack as u32);
    pub const upshoe: Key = Key(ffi::GDK_KEY_upshoe as u32);
    pub const downstile: Key = Key(ffi::GDK_KEY_downstile as u32);
    pub const underbar: Key = Key(ffi::GDK_KEY_underbar as u32);
    pub const jot: Key = Key(ffi::GDK_KEY_jot as u32);
    pub const quad: Key = Key(ffi::GDK_KEY_quad as u32);
    pub const uptack: Key = Key(ffi::GDK_KEY_uptack as u32);
    pub const circle: Key = Key(ffi::GDK_KEY_circle as u32);
    pub const upstile: Key = Key(ffi::GDK_KEY_upstile as u32);
    pub const downshoe: Key = Key(ffi::GDK_KEY_downshoe as u32);
    pub const rightshoe: Key = Key(ffi::GDK_KEY_rightshoe as u32);
    pub const leftshoe: Key = Key(ffi::GDK_KEY_leftshoe as u32);
    pub const lefttack: Key = Key(ffi::GDK_KEY_lefttack as u32);
    pub const righttack: Key = Key(ffi::GDK_KEY_righttack as u32);
    pub const hebrew_doublelowline: Key = Key(ffi::GDK_KEY_hebrew_doublelowline as u32);
    pub const hebrew_aleph: Key = Key(ffi::GDK_KEY_hebrew_aleph as u32);
    pub const hebrew_bet: Key = Key(ffi::GDK_KEY_hebrew_bet as u32);
    pub const hebrew_beth: Key = Key(ffi::GDK_KEY_hebrew_beth as u32);
    pub const hebrew_gimel: Key = Key(ffi::GDK_KEY_hebrew_gimel as u32);
    pub const hebrew_gimmel: Key = Key(ffi::GDK_KEY_hebrew_gimmel as u32);
    pub const hebrew_dalet: Key = Key(ffi::GDK_KEY_hebrew_dalet as u32);
    pub const hebrew_daleth: Key = Key(ffi::GDK_KEY_hebrew_daleth as u32);
    pub const hebrew_he: Key = Key(ffi::GDK_KEY_hebrew_he as u32);
    pub const hebrew_waw: Key = Key(ffi::GDK_KEY_hebrew_waw as u32);
    pub const hebrew_zain: Key = Key(ffi::GDK_KEY_hebrew_zain as u32);
    pub const hebrew_zayin: Key = Key(ffi::GDK_KEY_hebrew_zayin as u32);
    pub const hebrew_chet: Key = Key(ffi::GDK_KEY_hebrew_chet as u32);
    pub const hebrew_het: Key = Key(ffi::GDK_KEY_hebrew_het as u32);
    pub const hebrew_tet: Key = Key(ffi::GDK_KEY_hebrew_tet as u32);
    pub const hebrew_teth: Key = Key(ffi::GDK_KEY_hebrew_teth as u32);
    pub const hebrew_yod: Key = Key(ffi::GDK_KEY_hebrew_yod as u32);
    pub const hebrew_finalkaph: Key = Key(ffi::GDK_KEY_hebrew_finalkaph as u32);
    pub const hebrew_kaph: Key = Key(ffi::GDK_KEY_hebrew_kaph as u32);
    pub const hebrew_lamed: Key = Key(ffi::GDK_KEY_hebrew_lamed as u32);
    pub const hebrew_finalmem: Key = Key(ffi::GDK_KEY_hebrew_finalmem as u32);
    pub const hebrew_mem: Key = Key(ffi::GDK_KEY_hebrew_mem as u32);
    pub const hebrew_finalnun: Key = Key(ffi::GDK_KEY_hebrew_finalnun as u32);
    pub const hebrew_nun: Key = Key(ffi::GDK_KEY_hebrew_nun as u32);
    pub const hebrew_samech: Key = Key(ffi::GDK_KEY_hebrew_samech as u32);
    pub const hebrew_samekh: Key = Key(ffi::GDK_KEY_hebrew_samekh as u32);
    pub const hebrew_ayin: Key = Key(ffi::GDK_KEY_hebrew_ayin as u32);
    pub const hebrew_finalpe: Key = Key(ffi::GDK_KEY_hebrew_finalpe as u32);
    pub const hebrew_pe: Key = Key(ffi::GDK_KEY_hebrew_pe as u32);
    pub const hebrew_finalzade: Key = Key(ffi::GDK_KEY_hebrew_finalzade as u32);
    pub const hebrew_finalzadi: Key = Key(ffi::GDK_KEY_hebrew_finalzadi as u32);
    pub const hebrew_zade: Key = Key(ffi::GDK_KEY_hebrew_zade as u32);
    pub const hebrew_zadi: Key = Key(ffi::GDK_KEY_hebrew_zadi as u32);
    pub const hebrew_qoph: Key = Key(ffi::GDK_KEY_hebrew_qoph as u32);
    pub const hebrew_kuf: Key = Key(ffi::GDK_KEY_hebrew_kuf as u32);
    pub const hebrew_resh: Key = Key(ffi::GDK_KEY_hebrew_resh as u32);
    pub const hebrew_shin: Key = Key(ffi::GDK_KEY_hebrew_shin as u32);
    pub const hebrew_taw: Key = Key(ffi::GDK_KEY_hebrew_taw as u32);
    pub const hebrew_taf: Key = Key(ffi::GDK_KEY_hebrew_taf as u32);
    pub const Hebrew_switch: Key = Key(ffi::GDK_KEY_Hebrew_switch as u32);
    pub const Thai_kokai: Key = Key(ffi::GDK_KEY_Thai_kokai as u32);
    pub const Thai_khokhai: Key = Key(ffi::GDK_KEY_Thai_khokhai as u32);
    pub const Thai_khokhuat: Key = Key(ffi::GDK_KEY_Thai_khokhuat as u32);
    pub const Thai_khokhwai: Key = Key(ffi::GDK_KEY_Thai_khokhwai as u32);
    pub const Thai_khokhon: Key = Key(ffi::GDK_KEY_Thai_khokhon as u32);
    pub const Thai_khorakhang: Key = Key(ffi::GDK_KEY_Thai_khorakhang as u32);
    pub const Thai_ngongu: Key = Key(ffi::GDK_KEY_Thai_ngongu as u32);
    pub const Thai_chochan: Key = Key(ffi::GDK_KEY_Thai_chochan as u32);
    pub const Thai_choching: Key = Key(ffi::GDK_KEY_Thai_choching as u32);
    pub const Thai_chochang: Key = Key(ffi::GDK_KEY_Thai_chochang as u32);
    pub const Thai_soso: Key = Key(ffi::GDK_KEY_Thai_soso as u32);
    pub const Thai_chochoe: Key = Key(ffi::GDK_KEY_Thai_chochoe as u32);
    pub const Thai_yoying: Key = Key(ffi::GDK_KEY_Thai_yoying as u32);
    pub const Thai_dochada: Key = Key(ffi::GDK_KEY_Thai_dochada as u32);
    pub const Thai_topatak: Key = Key(ffi::GDK_KEY_Thai_topatak as u32);
    pub const Thai_thothan: Key = Key(ffi::GDK_KEY_Thai_thothan as u32);
    pub const Thai_thonangmontho: Key = Key(ffi::GDK_KEY_Thai_thonangmontho as u32);
    pub const Thai_thophuthao: Key = Key(ffi::GDK_KEY_Thai_thophuthao as u32);
    pub const Thai_nonen: Key = Key(ffi::GDK_KEY_Thai_nonen as u32);
    pub const Thai_dodek: Key = Key(ffi::GDK_KEY_Thai_dodek as u32);
    pub const Thai_totao: Key = Key(ffi::GDK_KEY_Thai_totao as u32);
    pub const Thai_thothung: Key = Key(ffi::GDK_KEY_Thai_thothung as u32);
    pub const Thai_thothahan: Key = Key(ffi::GDK_KEY_Thai_thothahan as u32);
    pub const Thai_thothong: Key = Key(ffi::GDK_KEY_Thai_thothong as u32);
    pub const Thai_nonu: Key = Key(ffi::GDK_KEY_Thai_nonu as u32);
    pub const Thai_bobaimai: Key = Key(ffi::GDK_KEY_Thai_bobaimai as u32);
    pub const Thai_popla: Key = Key(ffi::GDK_KEY_Thai_popla as u32);
    pub const Thai_phophung: Key = Key(ffi::GDK_KEY_Thai_phophung as u32);
    pub const Thai_fofa: Key = Key(ffi::GDK_KEY_Thai_fofa as u32);
    pub const Thai_phophan: Key = Key(ffi::GDK_KEY_Thai_phophan as u32);
    pub const Thai_fofan: Key = Key(ffi::GDK_KEY_Thai_fofan as u32);
    pub const Thai_phosamphao: Key = Key(ffi::GDK_KEY_Thai_phosamphao as u32);
    pub const Thai_moma: Key = Key(ffi::GDK_KEY_Thai_moma as u32);
    pub const Thai_yoyak: Key = Key(ffi::GDK_KEY_Thai_yoyak as u32);
    pub const Thai_rorua: Key = Key(ffi::GDK_KEY_Thai_rorua as u32);
    pub const Thai_ru: Key = Key(ffi::GDK_KEY_Thai_ru as u32);
    pub const Thai_loling: Key = Key(ffi::GDK_KEY_Thai_loling as u32);
    pub const Thai_lu: Key = Key(ffi::GDK_KEY_Thai_lu as u32);
    pub const Thai_wowaen: Key = Key(ffi::GDK_KEY_Thai_wowaen as u32);
    pub const Thai_sosala: Key = Key(ffi::GDK_KEY_Thai_sosala as u32);
    pub const Thai_sorusi: Key = Key(ffi::GDK_KEY_Thai_sorusi as u32);
    pub const Thai_sosua: Key = Key(ffi::GDK_KEY_Thai_sosua as u32);
    pub const Thai_hohip: Key = Key(ffi::GDK_KEY_Thai_hohip as u32);
    pub const Thai_lochula: Key = Key(ffi::GDK_KEY_Thai_lochula as u32);
    pub const Thai_oang: Key = Key(ffi::GDK_KEY_Thai_oang as u32);
    pub const Thai_honokhuk: Key = Key(ffi::GDK_KEY_Thai_honokhuk as u32);
    pub const Thai_paiyannoi: Key = Key(ffi::GDK_KEY_Thai_paiyannoi as u32);
    pub const Thai_saraa: Key = Key(ffi::GDK_KEY_Thai_saraa as u32);
    pub const Thai_maihanakat: Key = Key(ffi::GDK_KEY_Thai_maihanakat as u32);
    pub const Thai_saraaa: Key = Key(ffi::GDK_KEY_Thai_saraaa as u32);
    pub const Thai_saraam: Key = Key(ffi::GDK_KEY_Thai_saraam as u32);
    pub const Thai_sarai: Key = Key(ffi::GDK_KEY_Thai_sarai as u32);
    pub const Thai_saraii: Key = Key(ffi::GDK_KEY_Thai_saraii as u32);
    pub const Thai_saraue: Key = Key(ffi::GDK_KEY_Thai_saraue as u32);
    pub const Thai_sarauee: Key = Key(ffi::GDK_KEY_Thai_sarauee as u32);
    pub const Thai_sarau: Key = Key(ffi::GDK_KEY_Thai_sarau as u32);
    pub const Thai_sarauu: Key = Key(ffi::GDK_KEY_Thai_sarauu as u32);
    pub const Thai_phinthu: Key = Key(ffi::GDK_KEY_Thai_phinthu as u32);
    pub const Thai_maihanakat_maitho: Key = Key(ffi::GDK_KEY_Thai_maihanakat_maitho as u32);
    pub const Thai_baht: Key = Key(ffi::GDK_KEY_Thai_baht as u32);
    pub const Thai_sarae: Key = Key(ffi::GDK_KEY_Thai_sarae as u32);
    pub const Thai_saraae: Key = Key(ffi::GDK_KEY_Thai_saraae as u32);
    pub const Thai_sarao: Key = Key(ffi::GDK_KEY_Thai_sarao as u32);
    pub const Thai_saraaimaimuan: Key = Key(ffi::GDK_KEY_Thai_saraaimaimuan as u32);
    pub const Thai_saraaimaimalai: Key = Key(ffi::GDK_KEY_Thai_saraaimaimalai as u32);
    pub const Thai_lakkhangyao: Key = Key(ffi::GDK_KEY_Thai_lakkhangyao as u32);
    pub const Thai_maiyamok: Key = Key(ffi::GDK_KEY_Thai_maiyamok as u32);
    pub const Thai_maitaikhu: Key = Key(ffi::GDK_KEY_Thai_maitaikhu as u32);
    pub const Thai_maiek: Key = Key(ffi::GDK_KEY_Thai_maiek as u32);
    pub const Thai_maitho: Key = Key(ffi::GDK_KEY_Thai_maitho as u32);
    pub const Thai_maitri: Key = Key(ffi::GDK_KEY_Thai_maitri as u32);
    pub const Thai_maichattawa: Key = Key(ffi::GDK_KEY_Thai_maichattawa as u32);
    pub const Thai_thanthakhat: Key = Key(ffi::GDK_KEY_Thai_thanthakhat as u32);
    pub const Thai_nikhahit: Key = Key(ffi::GDK_KEY_Thai_nikhahit as u32);
    pub const Thai_leksun: Key = Key(ffi::GDK_KEY_Thai_leksun as u32);
    pub const Thai_leknung: Key = Key(ffi::GDK_KEY_Thai_leknung as u32);
    pub const Thai_leksong: Key = Key(ffi::GDK_KEY_Thai_leksong as u32);
    pub const Thai_leksam: Key = Key(ffi::GDK_KEY_Thai_leksam as u32);
    pub const Thai_leksi: Key = Key(ffi::GDK_KEY_Thai_leksi as u32);
    pub const Thai_lekha: Key = Key(ffi::GDK_KEY_Thai_lekha as u32);
    pub const Thai_lekhok: Key = Key(ffi::GDK_KEY_Thai_lekhok as u32);
    pub const Thai_lekchet: Key = Key(ffi::GDK_KEY_Thai_lekchet as u32);
    pub const Thai_lekpaet: Key = Key(ffi::GDK_KEY_Thai_lekpaet as u32);
    pub const Thai_lekkao: Key = Key(ffi::GDK_KEY_Thai_lekkao as u32);
    pub const Hangul: Key = Key(ffi::GDK_KEY_Hangul as u32);
    pub const Hangul_Start: Key = Key(ffi::GDK_KEY_Hangul_Start as u32);
    pub const Hangul_End: Key = Key(ffi::GDK_KEY_Hangul_End as u32);
    pub const Hangul_Hanja: Key = Key(ffi::GDK_KEY_Hangul_Hanja as u32);
    pub const Hangul_Jamo: Key = Key(ffi::GDK_KEY_Hangul_Jamo as u32);
    pub const Hangul_Romaja: Key = Key(ffi::GDK_KEY_Hangul_Romaja as u32);
    pub const Hangul_Codeinput: Key = Key(ffi::GDK_KEY_Hangul_Codeinput as u32);
    pub const Hangul_Jeonja: Key = Key(ffi::GDK_KEY_Hangul_Jeonja as u32);
    pub const Hangul_Banja: Key = Key(ffi::GDK_KEY_Hangul_Banja as u32);
    pub const Hangul_PreHanja: Key = Key(ffi::GDK_KEY_Hangul_PreHanja as u32);
    pub const Hangul_PostHanja: Key = Key(ffi::GDK_KEY_Hangul_PostHanja as u32);
    pub const Hangul_SingleCandidate: Key = Key(ffi::GDK_KEY_Hangul_SingleCandidate as u32);
    pub const Hangul_MultipleCandidate: Key = Key(ffi::GDK_KEY_Hangul_MultipleCandidate as u32);
    pub const Hangul_PreviousCandidate: Key = Key(ffi::GDK_KEY_Hangul_PreviousCandidate as u32);
    pub const Hangul_Special: Key = Key(ffi::GDK_KEY_Hangul_Special as u32);
    pub const Hangul_switch: Key = Key(ffi::GDK_KEY_Hangul_switch as u32);
    pub const Hangul_Kiyeog: Key = Key(ffi::GDK_KEY_Hangul_Kiyeog as u32);
    pub const Hangul_SsangKiyeog: Key = Key(ffi::GDK_KEY_Hangul_SsangKiyeog as u32);
    pub const Hangul_KiyeogSios: Key = Key(ffi::GDK_KEY_Hangul_KiyeogSios as u32);
    pub const Hangul_Nieun: Key = Key(ffi::GDK_KEY_Hangul_Nieun as u32);
    pub const Hangul_NieunJieuj: Key = Key(ffi::GDK_KEY_Hangul_NieunJieuj as u32);
    pub const Hangul_NieunHieuh: Key = Key(ffi::GDK_KEY_Hangul_NieunHieuh as u32);
    pub const Hangul_Dikeud: Key = Key(ffi::GDK_KEY_Hangul_Dikeud as u32);
    pub const Hangul_SsangDikeud: Key = Key(ffi::GDK_KEY_Hangul_SsangDikeud as u32);
    pub const Hangul_Rieul: Key = Key(ffi::GDK_KEY_Hangul_Rieul as u32);
    pub const Hangul_RieulKiyeog: Key = Key(ffi::GDK_KEY_Hangul_RieulKiyeog as u32);
    pub const Hangul_RieulMieum: Key = Key(ffi::GDK_KEY_Hangul_RieulMieum as u32);
    pub const Hangul_RieulPieub: Key = Key(ffi::GDK_KEY_Hangul_RieulPieub as u32);
    pub const Hangul_RieulSios: Key = Key(ffi::GDK_KEY_Hangul_RieulSios as u32);
    pub const Hangul_RieulTieut: Key = Key(ffi::GDK_KEY_Hangul_RieulTieut as u32);
    pub const Hangul_RieulPhieuf: Key = Key(ffi::GDK_KEY_Hangul_RieulPhieuf as u32);
    pub const Hangul_RieulHieuh: Key = Key(ffi::GDK_KEY_Hangul_RieulHieuh as u32);
    pub const Hangul_Mieum: Key = Key(ffi::GDK_KEY_Hangul_Mieum as u32);
    pub const Hangul_Pieub: Key = Key(ffi::GDK_KEY_Hangul_Pieub as u32);
    pub const Hangul_SsangPieub: Key = Key(ffi::GDK_KEY_Hangul_SsangPieub as u32);
    pub const Hangul_PieubSios: Key = Key(ffi::GDK_KEY_Hangul_PieubSios as u32);
    pub const Hangul_Sios: Key = Key(ffi::GDK_KEY_Hangul_Sios as u32);
    pub const Hangul_SsangSios: Key = Key(ffi::GDK_KEY_Hangul_SsangSios as u32);
    pub const Hangul_Ieung: Key = Key(ffi::GDK_KEY_Hangul_Ieung as u32);
    pub const Hangul_Jieuj: Key = Key(ffi::GDK_KEY_Hangul_Jieuj as u32);
    pub const Hangul_SsangJieuj: Key = Key(ffi::GDK_KEY_Hangul_SsangJieuj as u32);
    pub const Hangul_Cieuc: Key = Key(ffi::GDK_KEY_Hangul_Cieuc as u32);
    pub const Hangul_Khieuq: Key = Key(ffi::GDK_KEY_Hangul_Khieuq as u32);
    pub const Hangul_Tieut: Key = Key(ffi::GDK_KEY_Hangul_Tieut as u32);
    pub const Hangul_Phieuf: Key = Key(ffi::GDK_KEY_Hangul_Phieuf as u32);
    pub const Hangul_Hieuh: Key = Key(ffi::GDK_KEY_Hangul_Hieuh as u32);
    pub const Hangul_A: Key = Key(ffi::GDK_KEY_Hangul_A as u32);
    pub const Hangul_AE: Key = Key(ffi::GDK_KEY_Hangul_AE as u32);
    pub const Hangul_YA: Key = Key(ffi::GDK_KEY_Hangul_YA as u32);
    pub const Hangul_YAE: Key = Key(ffi::GDK_KEY_Hangul_YAE as u32);
    pub const Hangul_EO: Key = Key(ffi::GDK_KEY_Hangul_EO as u32);
    pub const Hangul_E: Key = Key(ffi::GDK_KEY_Hangul_E as u32);
    pub const Hangul_YEO: Key = Key(ffi::GDK_KEY_Hangul_YEO as u32);
    pub const Hangul_YE: Key = Key(ffi::GDK_KEY_Hangul_YE as u32);
    pub const Hangul_O: Key = Key(ffi::GDK_KEY_Hangul_O as u32);
    pub const Hangul_WA: Key = Key(ffi::GDK_KEY_Hangul_WA as u32);
    pub const Hangul_WAE: Key = Key(ffi::GDK_KEY_Hangul_WAE as u32);
    pub const Hangul_OE: Key = Key(ffi::GDK_KEY_Hangul_OE as u32);
    pub const Hangul_YO: Key = Key(ffi::GDK_KEY_Hangul_YO as u32);
    pub const Hangul_U: Key = Key(ffi::GDK_KEY_Hangul_U as u32);
    pub const Hangul_WEO: Key = Key(ffi::GDK_KEY_Hangul_WEO as u32);
    pub const Hangul_WE: Key = Key(ffi::GDK_KEY_Hangul_WE as u32);
    pub const Hangul_WI: Key = Key(ffi::GDK_KEY_Hangul_WI as u32);
    pub const Hangul_YU: Key = Key(ffi::GDK_KEY_Hangul_YU as u32);
    pub const Hangul_EU: Key = Key(ffi::GDK_KEY_Hangul_EU as u32);
    pub const Hangul_YI: Key = Key(ffi::GDK_KEY_Hangul_YI as u32);
    pub const Hangul_I: Key = Key(ffi::GDK_KEY_Hangul_I as u32);
    pub const Hangul_J_Kiyeog: Key = Key(ffi::GDK_KEY_Hangul_J_Kiyeog as u32);
    pub const Hangul_J_SsangKiyeog: Key = Key(ffi::GDK_KEY_Hangul_J_SsangKiyeog as u32);
    pub const Hangul_J_KiyeogSios: Key = Key(ffi::GDK_KEY_Hangul_J_KiyeogSios as u32);
    pub const Hangul_J_Nieun: Key = Key(ffi::GDK_KEY_Hangul_J_Nieun as u32);
    pub const Hangul_J_NieunJieuj: Key = Key(ffi::GDK_KEY_Hangul_J_NieunJieuj as u32);
    pub const Hangul_J_NieunHieuh: Key = Key(ffi::GDK_KEY_Hangul_J_NieunHieuh as u32);
    pub const Hangul_J_Dikeud: Key = Key(ffi::GDK_KEY_Hangul_J_Dikeud as u32);
    pub const Hangul_J_Rieul: Key = Key(ffi::GDK_KEY_Hangul_J_Rieul as u32);
    pub const Hangul_J_RieulKiyeog: Key = Key(ffi::GDK_KEY_Hangul_J_RieulKiyeog as u32);
    pub const Hangul_J_RieulMieum: Key = Key(ffi::GDK_KEY_Hangul_J_RieulMieum as u32);
    pub const Hangul_J_RieulPieub: Key = Key(ffi::GDK_KEY_Hangul_J_RieulPieub as u32);
    pub const Hangul_J_RieulSios: Key = Key(ffi::GDK_KEY_Hangul_J_RieulSios as u32);
    pub const Hangul_J_RieulTieut: Key = Key(ffi::GDK_KEY_Hangul_J_RieulTieut as u32);
    pub const Hangul_J_RieulPhieuf: Key = Key(ffi::GDK_KEY_Hangul_J_RieulPhieuf as u32);
    pub const Hangul_J_RieulHieuh: Key = Key(ffi::GDK_KEY_Hangul_J_RieulHieuh as u32);
    pub const Hangul_J_Mieum: Key = Key(ffi::GDK_KEY_Hangul_J_Mieum as u32);
    pub const Hangul_J_Pieub: Key = Key(ffi::GDK_KEY_Hangul_J_Pieub as u32);
    pub const Hangul_J_PieubSios: Key = Key(ffi::GDK_KEY_Hangul_J_PieubSios as u32);
    pub const Hangul_J_Sios: Key = Key(ffi::GDK_KEY_Hangul_J_Sios as u32);
    pub const Hangul_J_SsangSios: Key = Key(ffi::GDK_KEY_Hangul_J_SsangSios as u32);
    pub const Hangul_J_Ieung: Key = Key(ffi::GDK_KEY_Hangul_J_Ieung as u32);
    pub const Hangul_J_Jieuj: Key = Key(ffi::GDK_KEY_Hangul_J_Jieuj as u32);
    pub const Hangul_J_Cieuc: Key = Key(ffi::GDK_KEY_Hangul_J_Cieuc as u32);
    pub const Hangul_J_Khieuq: Key = Key(ffi::GDK_KEY_Hangul_J_Khieuq as u32);
    pub const Hangul_J_Tieut: Key = Key(ffi::GDK_KEY_Hangul_J_Tieut as u32);
    pub const Hangul_J_Phieuf: Key = Key(ffi::GDK_KEY_Hangul_J_Phieuf as u32);
    pub const Hangul_J_Hieuh: Key = Key(ffi::GDK_KEY_Hangul_J_Hieuh as u32);
    pub const Hangul_RieulYeorinHieuh: Key = Key(ffi::GDK_KEY_Hangul_RieulYeorinHieuh as u32);
    pub const Hangul_SunkyeongeumMieum: Key = Key(ffi::GDK_KEY_Hangul_SunkyeongeumMieum as u32);
    pub const Hangul_SunkyeongeumPieub: Key = Key(ffi::GDK_KEY_Hangul_SunkyeongeumPieub as u32);
    pub const Hangul_PanSios: Key = Key(ffi::GDK_KEY_Hangul_PanSios as u32);
    pub const Hangul_KkogjiDalrinIeung: Key = Key(ffi::GDK_KEY_Hangul_KkogjiDalrinIeung as u32);
    pub const Hangul_SunkyeongeumPhieuf: Key = Key(ffi::GDK_KEY_Hangul_SunkyeongeumPhieuf as u32);
    pub const Hangul_YeorinHieuh: Key = Key(ffi::GDK_KEY_Hangul_YeorinHieuh as u32);
    pub const Hangul_AraeA: Key = Key(ffi::GDK_KEY_Hangul_AraeA as u32);
    pub const Hangul_AraeAE: Key = Key(ffi::GDK_KEY_Hangul_AraeAE as u32);
    pub const Hangul_J_PanSios: Key = Key(ffi::GDK_KEY_Hangul_J_PanSios as u32);
    pub const Hangul_J_KkogjiDalrinIeung: Key = Key(ffi::GDK_KEY_Hangul_J_KkogjiDalrinIeung as u32);
    pub const Hangul_J_YeorinHieuh: Key = Key(ffi::GDK_KEY_Hangul_J_YeorinHieuh as u32);
    pub const Korean_Won: Key = Key(ffi::GDK_KEY_Korean_Won as u32);
    pub const Armenian_ligature_ew: Key = Key(ffi::GDK_KEY_Armenian_ligature_ew as u32);
    pub const Armenian_full_stop: Key = Key(ffi::GDK_KEY_Armenian_full_stop as u32);
    pub const Armenian_verjaket: Key = Key(ffi::GDK_KEY_Armenian_verjaket as u32);
    pub const Armenian_separation_mark: Key = Key(ffi::GDK_KEY_Armenian_separation_mark as u32);
    pub const Armenian_but: Key = Key(ffi::GDK_KEY_Armenian_but as u32);
    pub const Armenian_hyphen: Key = Key(ffi::GDK_KEY_Armenian_hyphen as u32);
    pub const Armenian_yentamna: Key = Key(ffi::GDK_KEY_Armenian_yentamna as u32);
    pub const Armenian_exclam: Key = Key(ffi::GDK_KEY_Armenian_exclam as u32);
    pub const Armenian_amanak: Key = Key(ffi::GDK_KEY_Armenian_amanak as u32);
    pub const Armenian_accent: Key = Key(ffi::GDK_KEY_Armenian_accent as u32);
    pub const Armenian_shesht: Key = Key(ffi::GDK_KEY_Armenian_shesht as u32);
    pub const Armenian_question: Key = Key(ffi::GDK_KEY_Armenian_question as u32);
    pub const Armenian_paruyk: Key = Key(ffi::GDK_KEY_Armenian_paruyk as u32);
    pub const Armenian_AYB: Key = Key(ffi::GDK_KEY_Armenian_AYB as u32);
    pub const Armenian_ayb: Key = Key(ffi::GDK_KEY_Armenian_ayb as u32);
    pub const Armenian_BEN: Key = Key(ffi::GDK_KEY_Armenian_BEN as u32);
    pub const Armenian_ben: Key = Key(ffi::GDK_KEY_Armenian_ben as u32);
    pub const Armenian_GIM: Key = Key(ffi::GDK_KEY_Armenian_GIM as u32);
    pub const Armenian_gim: Key = Key(ffi::GDK_KEY_Armenian_gim as u32);
    pub const Armenian_DA: Key = Key(ffi::GDK_KEY_Armenian_DA as u32);
    pub const Armenian_da: Key = Key(ffi::GDK_KEY_Armenian_da as u32);
    pub const Armenian_YECH: Key = Key(ffi::GDK_KEY_Armenian_YECH as u32);
    pub const Armenian_yech: Key = Key(ffi::GDK_KEY_Armenian_yech as u32);
    pub const Armenian_ZA: Key = Key(ffi::GDK_KEY_Armenian_ZA as u32);
    pub const Armenian_za: Key = Key(ffi::GDK_KEY_Armenian_za as u32);
    pub const Armenian_E: Key = Key(ffi::GDK_KEY_Armenian_E as u32);
    pub const Armenian_e: Key = Key(ffi::GDK_KEY_Armenian_e as u32);
    pub const Armenian_AT: Key = Key(ffi::GDK_KEY_Armenian_AT as u32);
    pub const Armenian_at: Key = Key(ffi::GDK_KEY_Armenian_at as u32);
    pub const Armenian_TO: Key = Key(ffi::GDK_KEY_Armenian_TO as u32);
    pub const Armenian_to: Key = Key(ffi::GDK_KEY_Armenian_to as u32);
    pub const Armenian_ZHE: Key = Key(ffi::GDK_KEY_Armenian_ZHE as u32);
    pub const Armenian_zhe: Key = Key(ffi::GDK_KEY_Armenian_zhe as u32);
    pub const Armenian_INI: Key = Key(ffi::GDK_KEY_Armenian_INI as u32);
    pub const Armenian_ini: Key = Key(ffi::GDK_KEY_Armenian_ini as u32);
    pub const Armenian_LYUN: Key = Key(ffi::GDK_KEY_Armenian_LYUN as u32);
    pub const Armenian_lyun: Key = Key(ffi::GDK_KEY_Armenian_lyun as u32);
    pub const Armenian_KHE: Key = Key(ffi::GDK_KEY_Armenian_KHE as u32);
    pub const Armenian_khe: Key = Key(ffi::GDK_KEY_Armenian_khe as u32);
    pub const Armenian_TSA: Key = Key(ffi::GDK_KEY_Armenian_TSA as u32);
    pub const Armenian_tsa: Key = Key(ffi::GDK_KEY_Armenian_tsa as u32);
    pub const Armenian_KEN: Key = Key(ffi::GDK_KEY_Armenian_KEN as u32);
    pub const Armenian_ken: Key = Key(ffi::GDK_KEY_Armenian_ken as u32);
    pub const Armenian_HO: Key = Key(ffi::GDK_KEY_Armenian_HO as u32);
    pub const Armenian_ho: Key = Key(ffi::GDK_KEY_Armenian_ho as u32);
    pub const Armenian_DZA: Key = Key(ffi::GDK_KEY_Armenian_DZA as u32);
    pub const Armenian_dza: Key = Key(ffi::GDK_KEY_Armenian_dza as u32);
    pub const Armenian_GHAT: Key = Key(ffi::GDK_KEY_Armenian_GHAT as u32);
    pub const Armenian_ghat: Key = Key(ffi::GDK_KEY_Armenian_ghat as u32);
    pub const Armenian_TCHE: Key = Key(ffi::GDK_KEY_Armenian_TCHE as u32);
    pub const Armenian_tche: Key = Key(ffi::GDK_KEY_Armenian_tche as u32);
    pub const Armenian_MEN: Key = Key(ffi::GDK_KEY_Armenian_MEN as u32);
    pub const Armenian_men: Key = Key(ffi::GDK_KEY_Armenian_men as u32);
    pub const Armenian_HI: Key = Key(ffi::GDK_KEY_Armenian_HI as u32);
    pub const Armenian_hi: Key = Key(ffi::GDK_KEY_Armenian_hi as u32);
    pub const Armenian_NU: Key = Key(ffi::GDK_KEY_Armenian_NU as u32);
    pub const Armenian_nu: Key = Key(ffi::GDK_KEY_Armenian_nu as u32);
    pub const Armenian_SHA: Key = Key(ffi::GDK_KEY_Armenian_SHA as u32);
    pub const Armenian_sha: Key = Key(ffi::GDK_KEY_Armenian_sha as u32);
    pub const Armenian_VO: Key = Key(ffi::GDK_KEY_Armenian_VO as u32);
    pub const Armenian_vo: Key = Key(ffi::GDK_KEY_Armenian_vo as u32);
    pub const Armenian_CHA: Key = Key(ffi::GDK_KEY_Armenian_CHA as u32);
    pub const Armenian_cha: Key = Key(ffi::GDK_KEY_Armenian_cha as u32);
    pub const Armenian_PE: Key = Key(ffi::GDK_KEY_Armenian_PE as u32);
    pub const Armenian_pe: Key = Key(ffi::GDK_KEY_Armenian_pe as u32);
    pub const Armenian_JE: Key = Key(ffi::GDK_KEY_Armenian_JE as u32);
    pub const Armenian_je: Key = Key(ffi::GDK_KEY_Armenian_je as u32);
    pub const Armenian_RA: Key = Key(ffi::GDK_KEY_Armenian_RA as u32);
    pub const Armenian_ra: Key = Key(ffi::GDK_KEY_Armenian_ra as u32);
    pub const Armenian_SE: Key = Key(ffi::GDK_KEY_Armenian_SE as u32);
    pub const Armenian_se: Key = Key(ffi::GDK_KEY_Armenian_se as u32);
    pub const Armenian_VEV: Key = Key(ffi::GDK_KEY_Armenian_VEV as u32);
    pub const Armenian_vev: Key = Key(ffi::GDK_KEY_Armenian_vev as u32);
    pub const Armenian_TYUN: Key = Key(ffi::GDK_KEY_Armenian_TYUN as u32);
    pub const Armenian_tyun: Key = Key(ffi::GDK_KEY_Armenian_tyun as u32);
    pub const Armenian_RE: Key = Key(ffi::GDK_KEY_Armenian_RE as u32);
    pub const Armenian_re: Key = Key(ffi::GDK_KEY_Armenian_re as u32);
    pub const Armenian_TSO: Key = Key(ffi::GDK_KEY_Armenian_TSO as u32);
    pub const Armenian_tso: Key = Key(ffi::GDK_KEY_Armenian_tso as u32);
    pub const Armenian_VYUN: Key = Key(ffi::GDK_KEY_Armenian_VYUN as u32);
    pub const Armenian_vyun: Key = Key(ffi::GDK_KEY_Armenian_vyun as u32);
    pub const Armenian_PYUR: Key = Key(ffi::GDK_KEY_Armenian_PYUR as u32);
    pub const Armenian_pyur: Key = Key(ffi::GDK_KEY_Armenian_pyur as u32);
    pub const Armenian_KE: Key = Key(ffi::GDK_KEY_Armenian_KE as u32);
    pub const Armenian_ke: Key = Key(ffi::GDK_KEY_Armenian_ke as u32);
    pub const Armenian_O: Key = Key(ffi::GDK_KEY_Armenian_O as u32);
    pub const Armenian_o: Key = Key(ffi::GDK_KEY_Armenian_o as u32);
    pub const Armenian_FE: Key = Key(ffi::GDK_KEY_Armenian_FE as u32);
    pub const Armenian_fe: Key = Key(ffi::GDK_KEY_Armenian_fe as u32);
    pub const Armenian_apostrophe: Key = Key(ffi::GDK_KEY_Armenian_apostrophe as u32);
    pub const Georgian_an: Key = Key(ffi::GDK_KEY_Georgian_an as u32);
    pub const Georgian_ban: Key = Key(ffi::GDK_KEY_Georgian_ban as u32);
    pub const Georgian_gan: Key = Key(ffi::GDK_KEY_Georgian_gan as u32);
    pub const Georgian_don: Key = Key(ffi::GDK_KEY_Georgian_don as u32);
    pub const Georgian_en: Key = Key(ffi::GDK_KEY_Georgian_en as u32);
    pub const Georgian_vin: Key = Key(ffi::GDK_KEY_Georgian_vin as u32);
    pub const Georgian_zen: Key = Key(ffi::GDK_KEY_Georgian_zen as u32);
    pub const Georgian_tan: Key = Key(ffi::GDK_KEY_Georgian_tan as u32);
    pub const Georgian_in: Key = Key(ffi::GDK_KEY_Georgian_in as u32);
    pub const Georgian_kan: Key = Key(ffi::GDK_KEY_Georgian_kan as u32);
    pub const Georgian_las: Key = Key(ffi::GDK_KEY_Georgian_las as u32);
    pub const Georgian_man: Key = Key(ffi::GDK_KEY_Georgian_man as u32);
    pub const Georgian_nar: Key = Key(ffi::GDK_KEY_Georgian_nar as u32);
    pub const Georgian_on: Key = Key(ffi::GDK_KEY_Georgian_on as u32);
    pub const Georgian_par: Key = Key(ffi::GDK_KEY_Georgian_par as u32);
    pub const Georgian_zhar: Key = Key(ffi::GDK_KEY_Georgian_zhar as u32);
    pub const Georgian_rae: Key = Key(ffi::GDK_KEY_Georgian_rae as u32);
    pub const Georgian_san: Key = Key(ffi::GDK_KEY_Georgian_san as u32);
    pub const Georgian_tar: Key = Key(ffi::GDK_KEY_Georgian_tar as u32);
    pub const Georgian_un: Key = Key(ffi::GDK_KEY_Georgian_un as u32);
    pub const Georgian_phar: Key = Key(ffi::GDK_KEY_Georgian_phar as u32);
    pub const Georgian_khar: Key = Key(ffi::GDK_KEY_Georgian_khar as u32);
    pub const Georgian_ghan: Key = Key(ffi::GDK_KEY_Georgian_ghan as u32);
    pub const Georgian_qar: Key = Key(ffi::GDK_KEY_Georgian_qar as u32);
    pub const Georgian_shin: Key = Key(ffi::GDK_KEY_Georgian_shin as u32);
    pub const Georgian_chin: Key = Key(ffi::GDK_KEY_Georgian_chin as u32);
    pub const Georgian_can: Key = Key(ffi::GDK_KEY_Georgian_can as u32);
    pub const Georgian_jil: Key = Key(ffi::GDK_KEY_Georgian_jil as u32);
    pub const Georgian_cil: Key = Key(ffi::GDK_KEY_Georgian_cil as u32);
    pub const Georgian_char: Key = Key(ffi::GDK_KEY_Georgian_char as u32);
    pub const Georgian_xan: Key = Key(ffi::GDK_KEY_Georgian_xan as u32);
    pub const Georgian_jhan: Key = Key(ffi::GDK_KEY_Georgian_jhan as u32);
    pub const Georgian_hae: Key = Key(ffi::GDK_KEY_Georgian_hae as u32);
    pub const Georgian_he: Key = Key(ffi::GDK_KEY_Georgian_he as u32);
    pub const Georgian_hie: Key = Key(ffi::GDK_KEY_Georgian_hie as u32);
    pub const Georgian_we: Key = Key(ffi::GDK_KEY_Georgian_we as u32);
    pub const Georgian_har: Key = Key(ffi::GDK_KEY_Georgian_har as u32);
    pub const Georgian_hoe: Key = Key(ffi::GDK_KEY_Georgian_hoe as u32);
    pub const Georgian_fi: Key = Key(ffi::GDK_KEY_Georgian_fi as u32);
    pub const Xabovedot: Key = Key(ffi::GDK_KEY_Xabovedot as u32);
    pub const Ibreve: Key = Key(ffi::GDK_KEY_Ibreve as u32);
    pub const Zstroke: Key = Key(ffi::GDK_KEY_Zstroke as u32);
    pub const Gcaron: Key = Key(ffi::GDK_KEY_Gcaron as u32);
    pub const Ocaron: Key = Key(ffi::GDK_KEY_Ocaron as u32);
    pub const Obarred: Key = Key(ffi::GDK_KEY_Obarred as u32);
    pub const xabovedot: Key = Key(ffi::GDK_KEY_xabovedot as u32);
    pub const ibreve: Key = Key(ffi::GDK_KEY_ibreve as u32);
    pub const zstroke: Key = Key(ffi::GDK_KEY_zstroke as u32);
    pub const gcaron: Key = Key(ffi::GDK_KEY_gcaron as u32);
    pub const ocaron: Key = Key(ffi::GDK_KEY_ocaron as u32);
    pub const obarred: Key = Key(ffi::GDK_KEY_obarred as u32);
    pub const SCHWA: Key = Key(ffi::GDK_KEY_SCHWA as u32);
    pub const schwa: Key = Key(ffi::GDK_KEY_schwa as u32);
    pub const EZH: Key = Key(ffi::GDK_KEY_EZH as u32);
    pub const ezh: Key = Key(ffi::GDK_KEY_ezh as u32);
    pub const Lbelowdot: Key = Key(ffi::GDK_KEY_Lbelowdot as u32);
    pub const lbelowdot: Key = Key(ffi::GDK_KEY_lbelowdot as u32);
    pub const Abelowdot: Key = Key(ffi::GDK_KEY_Abelowdot as u32);
    pub const abelowdot: Key = Key(ffi::GDK_KEY_abelowdot as u32);
    pub const Ahook: Key = Key(ffi::GDK_KEY_Ahook as u32);
    pub const ahook: Key = Key(ffi::GDK_KEY_ahook as u32);
    pub const Acircumflexacute: Key = Key(ffi::GDK_KEY_Acircumflexacute as u32);
    pub const acircumflexacute: Key = Key(ffi::GDK_KEY_acircumflexacute as u32);
    pub const Acircumflexgrave: Key = Key(ffi::GDK_KEY_Acircumflexgrave as u32);
    pub const acircumflexgrave: Key = Key(ffi::GDK_KEY_acircumflexgrave as u32);
    pub const Acircumflexhook: Key = Key(ffi::GDK_KEY_Acircumflexhook as u32);
    pub const acircumflexhook: Key = Key(ffi::GDK_KEY_acircumflexhook as u32);
    pub const Acircumflextilde: Key = Key(ffi::GDK_KEY_Acircumflextilde as u32);
    pub const acircumflextilde: Key = Key(ffi::GDK_KEY_acircumflextilde as u32);
    pub const Acircumflexbelowdot: Key = Key(ffi::GDK_KEY_Acircumflexbelowdot as u32);
    pub const acircumflexbelowdot: Key = Key(ffi::GDK_KEY_acircumflexbelowdot as u32);
    pub const Abreveacute: Key = Key(ffi::GDK_KEY_Abreveacute as u32);
    pub const abreveacute: Key = Key(ffi::GDK_KEY_abreveacute as u32);
    pub const Abrevegrave: Key = Key(ffi::GDK_KEY_Abrevegrave as u32);
    pub const abrevegrave: Key = Key(ffi::GDK_KEY_abrevegrave as u32);
    pub const Abrevehook: Key = Key(ffi::GDK_KEY_Abrevehook as u32);
    pub const abrevehook: Key = Key(ffi::GDK_KEY_abrevehook as u32);
    pub const Abrevetilde: Key = Key(ffi::GDK_KEY_Abrevetilde as u32);
    pub const abrevetilde: Key = Key(ffi::GDK_KEY_abrevetilde as u32);
    pub const Abrevebelowdot: Key = Key(ffi::GDK_KEY_Abrevebelowdot as u32);
    pub const abrevebelowdot: Key = Key(ffi::GDK_KEY_abrevebelowdot as u32);
    pub const Ebelowdot: Key = Key(ffi::GDK_KEY_Ebelowdot as u32);
    pub const ebelowdot: Key = Key(ffi::GDK_KEY_ebelowdot as u32);
    pub const Ehook: Key = Key(ffi::GDK_KEY_Ehook as u32);
    pub const ehook: Key = Key(ffi::GDK_KEY_ehook as u32);
    pub const Etilde: Key = Key(ffi::GDK_KEY_Etilde as u32);
    pub const etilde: Key = Key(ffi::GDK_KEY_etilde as u32);
    pub const Ecircumflexacute: Key = Key(ffi::GDK_KEY_Ecircumflexacute as u32);
    pub const ecircumflexacute: Key = Key(ffi::GDK_KEY_ecircumflexacute as u32);
    pub const Ecircumflexgrave: Key = Key(ffi::GDK_KEY_Ecircumflexgrave as u32);
    pub const ecircumflexgrave: Key = Key(ffi::GDK_KEY_ecircumflexgrave as u32);
    pub const Ecircumflexhook: Key = Key(ffi::GDK_KEY_Ecircumflexhook as u32);
    pub const ecircumflexhook: Key = Key(ffi::GDK_KEY_ecircumflexhook as u32);
    pub const Ecircumflextilde: Key = Key(ffi::GDK_KEY_Ecircumflextilde as u32);
    pub const ecircumflextilde: Key = Key(ffi::GDK_KEY_ecircumflextilde as u32);
    pub const Ecircumflexbelowdot: Key = Key(ffi::GDK_KEY_Ecircumflexbelowdot as u32);
    pub const ecircumflexbelowdot: Key = Key(ffi::GDK_KEY_ecircumflexbelowdot as u32);
    pub const Ihook: Key = Key(ffi::GDK_KEY_Ihook as u32);
    pub const ihook: Key = Key(ffi::GDK_KEY_ihook as u32);
    pub const Ibelowdot: Key = Key(ffi::GDK_KEY_Ibelowdot as u32);
    pub const ibelowdot: Key = Key(ffi::GDK_KEY_ibelowdot as u32);
    pub const Obelowdot: Key = Key(ffi::GDK_KEY_Obelowdot as u32);
    pub const obelowdot: Key = Key(ffi::GDK_KEY_obelowdot as u32);
    pub const Ohook: Key = Key(ffi::GDK_KEY_Ohook as u32);
    pub const ohook: Key = Key(ffi::GDK_KEY_ohook as u32);
    pub const Ocircumflexacute: Key = Key(ffi::GDK_KEY_Ocircumflexacute as u32);
    pub const ocircumflexacute: Key = Key(ffi::GDK_KEY_ocircumflexacute as u32);
    pub const Ocircumflexgrave: Key = Key(ffi::GDK_KEY_Ocircumflexgrave as u32);
    pub const ocircumflexgrave: Key = Key(ffi::GDK_KEY_ocircumflexgrave as u32);
    pub const Ocircumflexhook: Key = Key(ffi::GDK_KEY_Ocircumflexhook as u32);
    pub const ocircumflexhook: Key = Key(ffi::GDK_KEY_ocircumflexhook as u32);
    pub const Ocircumflextilde: Key = Key(ffi::GDK_KEY_Ocircumflextilde as u32);
    pub const ocircumflextilde: Key = Key(ffi::GDK_KEY_ocircumflextilde as u32);
    pub const Ocircumflexbelowdot: Key = Key(ffi::GDK_KEY_Ocircumflexbelowdot as u32);
    pub const ocircumflexbelowdot: Key = Key(ffi::GDK_KEY_ocircumflexbelowdot as u32);
    pub const Ohornacute: Key = Key(ffi::GDK_KEY_Ohornacute as u32);
    pub const ohornacute: Key = Key(ffi::GDK_KEY_ohornacute as u32);
    pub const Ohorngrave: Key = Key(ffi::GDK_KEY_Ohorngrave as u32);
    pub const ohorngrave: Key = Key(ffi::GDK_KEY_ohorngrave as u32);
    pub const Ohornhook: Key = Key(ffi::GDK_KEY_Ohornhook as u32);
    pub const ohornhook: Key = Key(ffi::GDK_KEY_ohornhook as u32);
    pub const Ohorntilde: Key = Key(ffi::GDK_KEY_Ohorntilde as u32);
    pub const ohorntilde: Key = Key(ffi::GDK_KEY_ohorntilde as u32);
    pub const Ohornbelowdot: Key = Key(ffi::GDK_KEY_Ohornbelowdot as u32);
    pub const ohornbelowdot: Key = Key(ffi::GDK_KEY_ohornbelowdot as u32);
    pub const Ubelowdot: Key = Key(ffi::GDK_KEY_Ubelowdot as u32);
    pub const ubelowdot: Key = Key(ffi::GDK_KEY_ubelowdot as u32);
    pub const Uhook: Key = Key(ffi::GDK_KEY_Uhook as u32);
    pub const uhook: Key = Key(ffi::GDK_KEY_uhook as u32);
    pub const Uhornacute: Key = Key(ffi::GDK_KEY_Uhornacute as u32);
    pub const uhornacute: Key = Key(ffi::GDK_KEY_uhornacute as u32);
    pub const Uhorngrave: Key = Key(ffi::GDK_KEY_Uhorngrave as u32);
    pub const uhorngrave: Key = Key(ffi::GDK_KEY_uhorngrave as u32);
    pub const Uhornhook: Key = Key(ffi::GDK_KEY_Uhornhook as u32);
    pub const uhornhook: Key = Key(ffi::GDK_KEY_uhornhook as u32);
    pub const Uhorntilde: Key = Key(ffi::GDK_KEY_Uhorntilde as u32);
    pub const uhorntilde: Key = Key(ffi::GDK_KEY_uhorntilde as u32);
    pub const Uhornbelowdot: Key = Key(ffi::GDK_KEY_Uhornbelowdot as u32);
    pub const uhornbelowdot: Key = Key(ffi::GDK_KEY_uhornbelowdot as u32);
    pub const Ybelowdot: Key = Key(ffi::GDK_KEY_Ybelowdot as u32);
    pub const ybelowdot: Key = Key(ffi::GDK_KEY_ybelowdot as u32);
    pub const Yhook: Key = Key(ffi::GDK_KEY_Yhook as u32);
    pub const yhook: Key = Key(ffi::GDK_KEY_yhook as u32);
    pub const Ytilde: Key = Key(ffi::GDK_KEY_Ytilde as u32);
    pub const ytilde: Key = Key(ffi::GDK_KEY_ytilde as u32);
    pub const Ohorn: Key = Key(ffi::GDK_KEY_Ohorn as u32);
    pub const ohorn: Key = Key(ffi::GDK_KEY_ohorn as u32);
    pub const Uhorn: Key = Key(ffi::GDK_KEY_Uhorn as u32);
    pub const uhorn: Key = Key(ffi::GDK_KEY_uhorn as u32);
    pub const EcuSign: Key = Key(ffi::GDK_KEY_EcuSign as u32);
    pub const ColonSign: Key = Key(ffi::GDK_KEY_ColonSign as u32);
    pub const CruzeiroSign: Key = Key(ffi::GDK_KEY_CruzeiroSign as u32);
    pub const FFrancSign: Key = Key(ffi::GDK_KEY_FFrancSign as u32);
    pub const LiraSign: Key = Key(ffi::GDK_KEY_LiraSign as u32);
    pub const MillSign: Key = Key(ffi::GDK_KEY_MillSign as u32);
    pub const NairaSign: Key = Key(ffi::GDK_KEY_NairaSign as u32);
    pub const PesetaSign: Key = Key(ffi::GDK_KEY_PesetaSign as u32);
    pub const RupeeSign: Key = Key(ffi::GDK_KEY_RupeeSign as u32);
    pub const WonSign: Key = Key(ffi::GDK_KEY_WonSign as u32);
    pub const NewSheqelSign: Key = Key(ffi::GDK_KEY_NewSheqelSign as u32);
    pub const DongSign: Key = Key(ffi::GDK_KEY_DongSign as u32);
    pub const EuroSign: Key = Key(ffi::GDK_KEY_EuroSign as u32);
    pub const zerosuperior: Key = Key(ffi::GDK_KEY_zerosuperior as u32);
    pub const foursuperior: Key = Key(ffi::GDK_KEY_foursuperior as u32);
    pub const fivesuperior: Key = Key(ffi::GDK_KEY_fivesuperior as u32);
    pub const sixsuperior: Key = Key(ffi::GDK_KEY_sixsuperior as u32);
    pub const sevensuperior: Key = Key(ffi::GDK_KEY_sevensuperior as u32);
    pub const eightsuperior: Key = Key(ffi::GDK_KEY_eightsuperior as u32);
    pub const ninesuperior: Key = Key(ffi::GDK_KEY_ninesuperior as u32);
    pub const zerosubscript: Key = Key(ffi::GDK_KEY_zerosubscript as u32);
    pub const onesubscript: Key = Key(ffi::GDK_KEY_onesubscript as u32);
    pub const twosubscript: Key = Key(ffi::GDK_KEY_twosubscript as u32);
    pub const threesubscript: Key = Key(ffi::GDK_KEY_threesubscript as u32);
    pub const foursubscript: Key = Key(ffi::GDK_KEY_foursubscript as u32);
    pub const fivesubscript: Key = Key(ffi::GDK_KEY_fivesubscript as u32);
    pub const sixsubscript: Key = Key(ffi::GDK_KEY_sixsubscript as u32);
    pub const sevensubscript: Key = Key(ffi::GDK_KEY_sevensubscript as u32);
    pub const eightsubscript: Key = Key(ffi::GDK_KEY_eightsubscript as u32);
    pub const ninesubscript: Key = Key(ffi::GDK_KEY_ninesubscript as u32);
    pub const partdifferential: Key = Key(ffi::GDK_KEY_partdifferential as u32);
    pub const emptyset: Key = Key(ffi::GDK_KEY_emptyset as u32);
    pub const elementof: Key = Key(ffi::GDK_KEY_elementof as u32);
    pub const notelementof: Key = Key(ffi::GDK_KEY_notelementof as u32);
    pub const containsas: Key = Key(ffi::GDK_KEY_containsas as u32);
    pub const squareroot: Key = Key(ffi::GDK_KEY_squareroot as u32);
    pub const cuberoot: Key = Key(ffi::GDK_KEY_cuberoot as u32);
    pub const fourthroot: Key = Key(ffi::GDK_KEY_fourthroot as u32);
    pub const dintegral: Key = Key(ffi::GDK_KEY_dintegral as u32);
    pub const tintegral: Key = Key(ffi::GDK_KEY_tintegral as u32);
    pub const because: Key = Key(ffi::GDK_KEY_because as u32);
    pub const approxeq: Key = Key(ffi::GDK_KEY_approxeq as u32);
    pub const notapproxeq: Key = Key(ffi::GDK_KEY_notapproxeq as u32);
    pub const notidentical: Key = Key(ffi::GDK_KEY_notidentical as u32);
    pub const stricteq: Key = Key(ffi::GDK_KEY_stricteq as u32);
    pub const braille_dot_1: Key = Key(ffi::GDK_KEY_braille_dot_1 as u32);
    pub const braille_dot_2: Key = Key(ffi::GDK_KEY_braille_dot_2 as u32);
    pub const braille_dot_3: Key = Key(ffi::GDK_KEY_braille_dot_3 as u32);
    pub const braille_dot_4: Key = Key(ffi::GDK_KEY_braille_dot_4 as u32);
    pub const braille_dot_5: Key = Key(ffi::GDK_KEY_braille_dot_5 as u32);
    pub const braille_dot_6: Key = Key(ffi::GDK_KEY_braille_dot_6 as u32);
    pub const braille_dot_7: Key = Key(ffi::GDK_KEY_braille_dot_7 as u32);
    pub const braille_dot_8: Key = Key(ffi::GDK_KEY_braille_dot_8 as u32);
    pub const braille_dot_9: Key = Key(ffi::GDK_KEY_braille_dot_9 as u32);
    pub const braille_dot_10: Key = Key(ffi::GDK_KEY_braille_dot_10 as u32);
    pub const braille_blank: Key = Key(ffi::GDK_KEY_braille_blank as u32);
    pub const braille_dots_1: Key = Key(ffi::GDK_KEY_braille_dots_1 as u32);
    pub const braille_dots_2: Key = Key(ffi::GDK_KEY_braille_dots_2 as u32);
    pub const braille_dots_12: Key = Key(ffi::GDK_KEY_braille_dots_12 as u32);
    pub const braille_dots_3: Key = Key(ffi::GDK_KEY_braille_dots_3 as u32);
    pub const braille_dots_13: Key = Key(ffi::GDK_KEY_braille_dots_13 as u32);
    pub const braille_dots_23: Key = Key(ffi::GDK_KEY_braille_dots_23 as u32);
    pub const braille_dots_123: Key = Key(ffi::GDK_KEY_braille_dots_123 as u32);
    pub const braille_dots_4: Key = Key(ffi::GDK_KEY_braille_dots_4 as u32);
    pub const braille_dots_14: Key = Key(ffi::GDK_KEY_braille_dots_14 as u32);
    pub const braille_dots_24: Key = Key(ffi::GDK_KEY_braille_dots_24 as u32);
    pub const braille_dots_124: Key = Key(ffi::GDK_KEY_braille_dots_124 as u32);
    pub const braille_dots_34: Key = Key(ffi::GDK_KEY_braille_dots_34 as u32);
    pub const braille_dots_134: Key = Key(ffi::GDK_KEY_braille_dots_134 as u32);
    pub const braille_dots_234: Key = Key(ffi::GDK_KEY_braille_dots_234 as u32);
    pub const braille_dots_1234: Key = Key(ffi::GDK_KEY_braille_dots_1234 as u32);
    pub const braille_dots_5: Key = Key(ffi::GDK_KEY_braille_dots_5 as u32);
    pub const braille_dots_15: Key = Key(ffi::GDK_KEY_braille_dots_15 as u32);
    pub const braille_dots_25: Key = Key(ffi::GDK_KEY_braille_dots_25 as u32);
    pub const braille_dots_125: Key = Key(ffi::GDK_KEY_braille_dots_125 as u32);
    pub const braille_dots_35: Key = Key(ffi::GDK_KEY_braille_dots_35 as u32);
    pub const braille_dots_135: Key = Key(ffi::GDK_KEY_braille_dots_135 as u32);
    pub const braille_dots_235: Key = Key(ffi::GDK_KEY_braille_dots_235 as u32);
    pub const braille_dots_1235: Key = Key(ffi::GDK_KEY_braille_dots_1235 as u32);
    pub const braille_dots_45: Key = Key(ffi::GDK_KEY_braille_dots_45 as u32);
    pub const braille_dots_145: Key = Key(ffi::GDK_KEY_braille_dots_145 as u32);
    pub const braille_dots_245: Key = Key(ffi::GDK_KEY_braille_dots_245 as u32);
    pub const braille_dots_1245: Key = Key(ffi::GDK_KEY_braille_dots_1245 as u32);
    pub const braille_dots_345: Key = Key(ffi::GDK_KEY_braille_dots_345 as u32);
    pub const braille_dots_1345: Key = Key(ffi::GDK_KEY_braille_dots_1345 as u32);
    pub const braille_dots_2345: Key = Key(ffi::GDK_KEY_braille_dots_2345 as u32);
    pub const braille_dots_12345: Key = Key(ffi::GDK_KEY_braille_dots_12345 as u32);
    pub const braille_dots_6: Key = Key(ffi::GDK_KEY_braille_dots_6 as u32);
    pub const braille_dots_16: Key = Key(ffi::GDK_KEY_braille_dots_16 as u32);
    pub const braille_dots_26: Key = Key(ffi::GDK_KEY_braille_dots_26 as u32);
    pub const braille_dots_126: Key = Key(ffi::GDK_KEY_braille_dots_126 as u32);
    pub const braille_dots_36: Key = Key(ffi::GDK_KEY_braille_dots_36 as u32);
    pub const braille_dots_136: Key = Key(ffi::GDK_KEY_braille_dots_136 as u32);
    pub const braille_dots_236: Key = Key(ffi::GDK_KEY_braille_dots_236 as u32);
    pub const braille_dots_1236: Key = Key(ffi::GDK_KEY_braille_dots_1236 as u32);
    pub const braille_dots_46: Key = Key(ffi::GDK_KEY_braille_dots_46 as u32);
    pub const braille_dots_146: Key = Key(ffi::GDK_KEY_braille_dots_146 as u32);
    pub const braille_dots_246: Key = Key(ffi::GDK_KEY_braille_dots_246 as u32);
    pub const braille_dots_1246: Key = Key(ffi::GDK_KEY_braille_dots_1246 as u32);
    pub const braille_dots_346: Key = Key(ffi::GDK_KEY_braille_dots_346 as u32);
    pub const braille_dots_1346: Key = Key(ffi::GDK_KEY_braille_dots_1346 as u32);
    pub const braille_dots_2346: Key = Key(ffi::GDK_KEY_braille_dots_2346 as u32);
    pub const braille_dots_12346: Key = Key(ffi::GDK_KEY_braille_dots_12346 as u32);
    pub const braille_dots_56: Key = Key(ffi::GDK_KEY_braille_dots_56 as u32);
    pub const braille_dots_156: Key = Key(ffi::GDK_KEY_braille_dots_156 as u32);
    pub const braille_dots_256: Key = Key(ffi::GDK_KEY_braille_dots_256 as u32);
    pub const braille_dots_1256: Key = Key(ffi::GDK_KEY_braille_dots_1256 as u32);
    pub const braille_dots_356: Key = Key(ffi::GDK_KEY_braille_dots_356 as u32);
    pub const braille_dots_1356: Key = Key(ffi::GDK_KEY_braille_dots_1356 as u32);
    pub const braille_dots_2356: Key = Key(ffi::GDK_KEY_braille_dots_2356 as u32);
    pub const braille_dots_12356: Key = Key(ffi::GDK_KEY_braille_dots_12356 as u32);
    pub const braille_dots_456: Key = Key(ffi::GDK_KEY_braille_dots_456 as u32);
    pub const braille_dots_1456: Key = Key(ffi::GDK_KEY_braille_dots_1456 as u32);
    pub const braille_dots_2456: Key = Key(ffi::GDK_KEY_braille_dots_2456 as u32);
    pub const braille_dots_12456: Key = Key(ffi::GDK_KEY_braille_dots_12456 as u32);
    pub const braille_dots_3456: Key = Key(ffi::GDK_KEY_braille_dots_3456 as u32);
    pub const braille_dots_13456: Key = Key(ffi::GDK_KEY_braille_dots_13456 as u32);
    pub const braille_dots_23456: Key = Key(ffi::GDK_KEY_braille_dots_23456 as u32);
    pub const braille_dots_123456: Key = Key(ffi::GDK_KEY_braille_dots_123456 as u32);
    pub const braille_dots_7: Key = Key(ffi::GDK_KEY_braille_dots_7 as u32);
    pub const braille_dots_17: Key = Key(ffi::GDK_KEY_braille_dots_17 as u32);
    pub const braille_dots_27: Key = Key(ffi::GDK_KEY_braille_dots_27 as u32);
    pub const braille_dots_127: Key = Key(ffi::GDK_KEY_braille_dots_127 as u32);
    pub const braille_dots_37: Key = Key(ffi::GDK_KEY_braille_dots_37 as u32);
    pub const braille_dots_137: Key = Key(ffi::GDK_KEY_braille_dots_137 as u32);
    pub const braille_dots_237: Key = Key(ffi::GDK_KEY_braille_dots_237 as u32);
    pub const braille_dots_1237: Key = Key(ffi::GDK_KEY_braille_dots_1237 as u32);
    pub const braille_dots_47: Key = Key(ffi::GDK_KEY_braille_dots_47 as u32);
    pub const braille_dots_147: Key = Key(ffi::GDK_KEY_braille_dots_147 as u32);
    pub const braille_dots_247: Key = Key(ffi::GDK_KEY_braille_dots_247 as u32);
    pub const braille_dots_1247: Key = Key(ffi::GDK_KEY_braille_dots_1247 as u32);
    pub const braille_dots_347: Key = Key(ffi::GDK_KEY_braille_dots_347 as u32);
    pub const braille_dots_1347: Key = Key(ffi::GDK_KEY_braille_dots_1347 as u32);
    pub const braille_dots_2347: Key = Key(ffi::GDK_KEY_braille_dots_2347 as u32);
    pub const braille_dots_12347: Key = Key(ffi::GDK_KEY_braille_dots_12347 as u32);
    pub const braille_dots_57: Key = Key(ffi::GDK_KEY_braille_dots_57 as u32);
    pub const braille_dots_157: Key = Key(ffi::GDK_KEY_braille_dots_157 as u32);
    pub const braille_dots_257: Key = Key(ffi::GDK_KEY_braille_dots_257 as u32);
    pub const braille_dots_1257: Key = Key(ffi::GDK_KEY_braille_dots_1257 as u32);
    pub const braille_dots_357: Key = Key(ffi::GDK_KEY_braille_dots_357 as u32);
    pub const braille_dots_1357: Key = Key(ffi::GDK_KEY_braille_dots_1357 as u32);
    pub const braille_dots_2357: Key = Key(ffi::GDK_KEY_braille_dots_2357 as u32);
    pub const braille_dots_12357: Key = Key(ffi::GDK_KEY_braille_dots_12357 as u32);
    pub const braille_dots_457: Key = Key(ffi::GDK_KEY_braille_dots_457 as u32);
    pub const braille_dots_1457: Key = Key(ffi::GDK_KEY_braille_dots_1457 as u32);
    pub const braille_dots_2457: Key = Key(ffi::GDK_KEY_braille_dots_2457 as u32);
    pub const braille_dots_12457: Key = Key(ffi::GDK_KEY_braille_dots_12457 as u32);
    pub const braille_dots_3457: Key = Key(ffi::GDK_KEY_braille_dots_3457 as u32);
    pub const braille_dots_13457: Key = Key(ffi::GDK_KEY_braille_dots_13457 as u32);
    pub const braille_dots_23457: Key = Key(ffi::GDK_KEY_braille_dots_23457 as u32);
    pub const braille_dots_123457: Key = Key(ffi::GDK_KEY_braille_dots_123457 as u32);
    pub const braille_dots_67: Key = Key(ffi::GDK_KEY_braille_dots_67 as u32);
    pub const braille_dots_167: Key = Key(ffi::GDK_KEY_braille_dots_167 as u32);
    pub const braille_dots_267: Key = Key(ffi::GDK_KEY_braille_dots_267 as u32);
    pub const braille_dots_1267: Key = Key(ffi::GDK_KEY_braille_dots_1267 as u32);
    pub const braille_dots_367: Key = Key(ffi::GDK_KEY_braille_dots_367 as u32);
    pub const braille_dots_1367: Key = Key(ffi::GDK_KEY_braille_dots_1367 as u32);
    pub const braille_dots_2367: Key = Key(ffi::GDK_KEY_braille_dots_2367 as u32);
    pub const braille_dots_12367: Key = Key(ffi::GDK_KEY_braille_dots_12367 as u32);
    pub const braille_dots_467: Key = Key(ffi::GDK_KEY_braille_dots_467 as u32);
    pub const braille_dots_1467: Key = Key(ffi::GDK_KEY_braille_dots_1467 as u32);
    pub const braille_dots_2467: Key = Key(ffi::GDK_KEY_braille_dots_2467 as u32);
    pub const braille_dots_12467: Key = Key(ffi::GDK_KEY_braille_dots_12467 as u32);
    pub const braille_dots_3467: Key = Key(ffi::GDK_KEY_braille_dots_3467 as u32);
    pub const braille_dots_13467: Key = Key(ffi::GDK_KEY_braille_dots_13467 as u32);
    pub const braille_dots_23467: Key = Key(ffi::GDK_KEY_braille_dots_23467 as u32);
    pub const braille_dots_123467: Key = Key(ffi::GDK_KEY_braille_dots_123467 as u32);
    pub const braille_dots_567: Key = Key(ffi::GDK_KEY_braille_dots_567 as u32);
    pub const braille_dots_1567: Key = Key(ffi::GDK_KEY_braille_dots_1567 as u32);
    pub const braille_dots_2567: Key = Key(ffi::GDK_KEY_braille_dots_2567 as u32);
    pub const braille_dots_12567: Key = Key(ffi::GDK_KEY_braille_dots_12567 as u32);
    pub const braille_dots_3567: Key = Key(ffi::GDK_KEY_braille_dots_3567 as u32);
    pub const braille_dots_13567: Key = Key(ffi::GDK_KEY_braille_dots_13567 as u32);
    pub const braille_dots_23567: Key = Key(ffi::GDK_KEY_braille_dots_23567 as u32);
    pub const braille_dots_123567: Key = Key(ffi::GDK_KEY_braille_dots_123567 as u32);
    pub const braille_dots_4567: Key = Key(ffi::GDK_KEY_braille_dots_4567 as u32);
    pub const braille_dots_14567: Key = Key(ffi::GDK_KEY_braille_dots_14567 as u32);
    pub const braille_dots_24567: Key = Key(ffi::GDK_KEY_braille_dots_24567 as u32);
    pub const braille_dots_124567: Key = Key(ffi::GDK_KEY_braille_dots_124567 as u32);
    pub const braille_dots_34567: Key = Key(ffi::GDK_KEY_braille_dots_34567 as u32);
    pub const braille_dots_134567: Key = Key(ffi::GDK_KEY_braille_dots_134567 as u32);
    pub const braille_dots_234567: Key = Key(ffi::GDK_KEY_braille_dots_234567 as u32);
    pub const braille_dots_1234567: Key = Key(ffi::GDK_KEY_braille_dots_1234567 as u32);
    pub const braille_dots_8: Key = Key(ffi::GDK_KEY_braille_dots_8 as u32);
    pub const braille_dots_18: Key = Key(ffi::GDK_KEY_braille_dots_18 as u32);
    pub const braille_dots_28: Key = Key(ffi::GDK_KEY_braille_dots_28 as u32);
    pub const braille_dots_128: Key = Key(ffi::GDK_KEY_braille_dots_128 as u32);
    pub const braille_dots_38: Key = Key(ffi::GDK_KEY_braille_dots_38 as u32);
    pub const braille_dots_138: Key = Key(ffi::GDK_KEY_braille_dots_138 as u32);
    pub const braille_dots_238: Key = Key(ffi::GDK_KEY_braille_dots_238 as u32);
    pub const braille_dots_1238: Key = Key(ffi::GDK_KEY_braille_dots_1238 as u32);
    pub const braille_dots_48: Key = Key(ffi::GDK_KEY_braille_dots_48 as u32);
    pub const braille_dots_148: Key = Key(ffi::GDK_KEY_braille_dots_148 as u32);
    pub const braille_dots_248: Key = Key(ffi::GDK_KEY_braille_dots_248 as u32);
    pub const braille_dots_1248: Key = Key(ffi::GDK_KEY_braille_dots_1248 as u32);
    pub const braille_dots_348: Key = Key(ffi::GDK_KEY_braille_dots_348 as u32);
    pub const braille_dots_1348: Key = Key(ffi::GDK_KEY_braille_dots_1348 as u32);
    pub const braille_dots_2348: Key = Key(ffi::GDK_KEY_braille_dots_2348 as u32);
    pub const braille_dots_12348: Key = Key(ffi::GDK_KEY_braille_dots_12348 as u32);
    pub const braille_dots_58: Key = Key(ffi::GDK_KEY_braille_dots_58 as u32);
    pub const braille_dots_158: Key = Key(ffi::GDK_KEY_braille_dots_158 as u32);
    pub const braille_dots_258: Key = Key(ffi::GDK_KEY_braille_dots_258 as u32);
    pub const braille_dots_1258: Key = Key(ffi::GDK_KEY_braille_dots_1258 as u32);
    pub const braille_dots_358: Key = Key(ffi::GDK_KEY_braille_dots_358 as u32);
    pub const braille_dots_1358: Key = Key(ffi::GDK_KEY_braille_dots_1358 as u32);
    pub const braille_dots_2358: Key = Key(ffi::GDK_KEY_braille_dots_2358 as u32);
    pub const braille_dots_12358: Key = Key(ffi::GDK_KEY_braille_dots_12358 as u32);
    pub const braille_dots_458: Key = Key(ffi::GDK_KEY_braille_dots_458 as u32);
    pub const braille_dots_1458: Key = Key(ffi::GDK_KEY_braille_dots_1458 as u32);
    pub const braille_dots_2458: Key = Key(ffi::GDK_KEY_braille_dots_2458 as u32);
    pub const braille_dots_12458: Key = Key(ffi::GDK_KEY_braille_dots_12458 as u32);
    pub const braille_dots_3458: Key = Key(ffi::GDK_KEY_braille_dots_3458 as u32);
    pub const braille_dots_13458: Key = Key(ffi::GDK_KEY_braille_dots_13458 as u32);
    pub const braille_dots_23458: Key = Key(ffi::GDK_KEY_braille_dots_23458 as u32);
    pub const braille_dots_123458: Key = Key(ffi::GDK_KEY_braille_dots_123458 as u32);
    pub const braille_dots_68: Key = Key(ffi::GDK_KEY_braille_dots_68 as u32);
    pub const braille_dots_168: Key = Key(ffi::GDK_KEY_braille_dots_168 as u32);
    pub const braille_dots_268: Key = Key(ffi::GDK_KEY_braille_dots_268 as u32);
    pub const braille_dots_1268: Key = Key(ffi::GDK_KEY_braille_dots_1268 as u32);
    pub const braille_dots_368: Key = Key(ffi::GDK_KEY_braille_dots_368 as u32);
    pub const braille_dots_1368: Key = Key(ffi::GDK_KEY_braille_dots_1368 as u32);
    pub const braille_dots_2368: Key = Key(ffi::GDK_KEY_braille_dots_2368 as u32);
    pub const braille_dots_12368: Key = Key(ffi::GDK_KEY_braille_dots_12368 as u32);
    pub const braille_dots_468: Key = Key(ffi::GDK_KEY_braille_dots_468 as u32);
    pub const braille_dots_1468: Key = Key(ffi::GDK_KEY_braille_dots_1468 as u32);
    pub const braille_dots_2468: Key = Key(ffi::GDK_KEY_braille_dots_2468 as u32);
    pub const braille_dots_12468: Key = Key(ffi::GDK_KEY_braille_dots_12468 as u32);
    pub const braille_dots_3468: Key = Key(ffi::GDK_KEY_braille_dots_3468 as u32);
    pub const braille_dots_13468: Key = Key(ffi::GDK_KEY_braille_dots_13468 as u32);
    pub const braille_dots_23468: Key = Key(ffi::GDK_KEY_braille_dots_23468 as u32);
    pub const braille_dots_123468: Key = Key(ffi::GDK_KEY_braille_dots_123468 as u32);
    pub const braille_dots_568: Key = Key(ffi::GDK_KEY_braille_dots_568 as u32);
    pub const braille_dots_1568: Key = Key(ffi::GDK_KEY_braille_dots_1568 as u32);
    pub const braille_dots_2568: Key = Key(ffi::GDK_KEY_braille_dots_2568 as u32);
    pub const braille_dots_12568: Key = Key(ffi::GDK_KEY_braille_dots_12568 as u32);
    pub const braille_dots_3568: Key = Key(ffi::GDK_KEY_braille_dots_3568 as u32);
    pub const braille_dots_13568: Key = Key(ffi::GDK_KEY_braille_dots_13568 as u32);
    pub const braille_dots_23568: Key = Key(ffi::GDK_KEY_braille_dots_23568 as u32);
    pub const braille_dots_123568: Key = Key(ffi::GDK_KEY_braille_dots_123568 as u32);
    pub const braille_dots_4568: Key = Key(ffi::GDK_KEY_braille_dots_4568 as u32);
    pub const braille_dots_14568: Key = Key(ffi::GDK_KEY_braille_dots_14568 as u32);
    pub const braille_dots_24568: Key = Key(ffi::GDK_KEY_braille_dots_24568 as u32);
    pub const braille_dots_124568: Key = Key(ffi::GDK_KEY_braille_dots_124568 as u32);
    pub const braille_dots_34568: Key = Key(ffi::GDK_KEY_braille_dots_34568 as u32);
    pub const braille_dots_134568: Key = Key(ffi::GDK_KEY_braille_dots_134568 as u32);
    pub const braille_dots_234568: Key = Key(ffi::GDK_KEY_braille_dots_234568 as u32);
    pub const braille_dots_1234568: Key = Key(ffi::GDK_KEY_braille_dots_1234568 as u32);
    pub const braille_dots_78: Key = Key(ffi::GDK_KEY_braille_dots_78 as u32);
    pub const braille_dots_178: Key = Key(ffi::GDK_KEY_braille_dots_178 as u32);
    pub const braille_dots_278: Key = Key(ffi::GDK_KEY_braille_dots_278 as u32);
    pub const braille_dots_1278: Key = Key(ffi::GDK_KEY_braille_dots_1278 as u32);
    pub const braille_dots_378: Key = Key(ffi::GDK_KEY_braille_dots_378 as u32);
    pub const braille_dots_1378: Key = Key(ffi::GDK_KEY_braille_dots_1378 as u32);
    pub const braille_dots_2378: Key = Key(ffi::GDK_KEY_braille_dots_2378 as u32);
    pub const braille_dots_12378: Key = Key(ffi::GDK_KEY_braille_dots_12378 as u32);
    pub const braille_dots_478: Key = Key(ffi::GDK_KEY_braille_dots_478 as u32);
    pub const braille_dots_1478: Key = Key(ffi::GDK_KEY_braille_dots_1478 as u32);
    pub const braille_dots_2478: Key = Key(ffi::GDK_KEY_braille_dots_2478 as u32);
    pub const braille_dots_12478: Key = Key(ffi::GDK_KEY_braille_dots_12478 as u32);
    pub const braille_dots_3478: Key = Key(ffi::GDK_KEY_braille_dots_3478 as u32);
    pub const braille_dots_13478: Key = Key(ffi::GDK_KEY_braille_dots_13478 as u32);
    pub const braille_dots_23478: Key = Key(ffi::GDK_KEY_braille_dots_23478 as u32);
    pub const braille_dots_123478: Key = Key(ffi::GDK_KEY_braille_dots_123478 as u32);
    pub const braille_dots_578: Key = Key(ffi::GDK_KEY_braille_dots_578 as u32);
    pub const braille_dots_1578: Key = Key(ffi::GDK_KEY_braille_dots_1578 as u32);
    pub const braille_dots_2578: Key = Key(ffi::GDK_KEY_braille_dots_2578 as u32);
    pub const braille_dots_12578: Key = Key(ffi::GDK_KEY_braille_dots_12578 as u32);
    pub const braille_dots_3578: Key = Key(ffi::GDK_KEY_braille_dots_3578 as u32);
    pub const braille_dots_13578: Key = Key(ffi::GDK_KEY_braille_dots_13578 as u32);
    pub const braille_dots_23578: Key = Key(ffi::GDK_KEY_braille_dots_23578 as u32);
    pub const braille_dots_123578: Key = Key(ffi::GDK_KEY_braille_dots_123578 as u32);
    pub const braille_dots_4578: Key = Key(ffi::GDK_KEY_braille_dots_4578 as u32);
    pub const braille_dots_14578: Key = Key(ffi::GDK_KEY_braille_dots_14578 as u32);
    pub const braille_dots_24578: Key = Key(ffi::GDK_KEY_braille_dots_24578 as u32);
    pub const braille_dots_124578: Key = Key(ffi::GDK_KEY_braille_dots_124578 as u32);
    pub const braille_dots_34578: Key = Key(ffi::GDK_KEY_braille_dots_34578 as u32);
    pub const braille_dots_134578: Key = Key(ffi::GDK_KEY_braille_dots_134578 as u32);
    pub const braille_dots_234578: Key = Key(ffi::GDK_KEY_braille_dots_234578 as u32);
    pub const braille_dots_1234578: Key = Key(ffi::GDK_KEY_braille_dots_1234578 as u32);
    pub const braille_dots_678: Key = Key(ffi::GDK_KEY_braille_dots_678 as u32);
    pub const braille_dots_1678: Key = Key(ffi::GDK_KEY_braille_dots_1678 as u32);
    pub const braille_dots_2678: Key = Key(ffi::GDK_KEY_braille_dots_2678 as u32);
    pub const braille_dots_12678: Key = Key(ffi::GDK_KEY_braille_dots_12678 as u32);
    pub const braille_dots_3678: Key = Key(ffi::GDK_KEY_braille_dots_3678 as u32);
    pub const braille_dots_13678: Key = Key(ffi::GDK_KEY_braille_dots_13678 as u32);
    pub const braille_dots_23678: Key = Key(ffi::GDK_KEY_braille_dots_23678 as u32);
    pub const braille_dots_123678: Key = Key(ffi::GDK_KEY_braille_dots_123678 as u32);
    pub const braille_dots_4678: Key = Key(ffi::GDK_KEY_braille_dots_4678 as u32);
    pub const braille_dots_14678: Key = Key(ffi::GDK_KEY_braille_dots_14678 as u32);
    pub const braille_dots_24678: Key = Key(ffi::GDK_KEY_braille_dots_24678 as u32);
    pub const braille_dots_124678: Key = Key(ffi::GDK_KEY_braille_dots_124678 as u32);
    pub const braille_dots_34678: Key = Key(ffi::GDK_KEY_braille_dots_34678 as u32);
    pub const braille_dots_134678: Key = Key(ffi::GDK_KEY_braille_dots_134678 as u32);
    pub const braille_dots_234678: Key = Key(ffi::GDK_KEY_braille_dots_234678 as u32);
    pub const braille_dots_1234678: Key = Key(ffi::GDK_KEY_braille_dots_1234678 as u32);
    pub const braille_dots_5678: Key = Key(ffi::GDK_KEY_braille_dots_5678 as u32);
    pub const braille_dots_15678: Key = Key(ffi::GDK_KEY_braille_dots_15678 as u32);
    pub const braille_dots_25678: Key = Key(ffi::GDK_KEY_braille_dots_25678 as u32);
    pub const braille_dots_125678: Key = Key(ffi::GDK_KEY_braille_dots_125678 as u32);
    pub const braille_dots_35678: Key = Key(ffi::GDK_KEY_braille_dots_35678 as u32);
    pub const braille_dots_135678: Key = Key(ffi::GDK_KEY_braille_dots_135678 as u32);
    pub const braille_dots_235678: Key = Key(ffi::GDK_KEY_braille_dots_235678 as u32);
    pub const braille_dots_1235678: Key = Key(ffi::GDK_KEY_braille_dots_1235678 as u32);
    pub const braille_dots_45678: Key = Key(ffi::GDK_KEY_braille_dots_45678 as u32);
    pub const braille_dots_145678: Key = Key(ffi::GDK_KEY_braille_dots_145678 as u32);
    pub const braille_dots_245678: Key = Key(ffi::GDK_KEY_braille_dots_245678 as u32);
    pub const braille_dots_1245678: Key = Key(ffi::GDK_KEY_braille_dots_1245678 as u32);
    pub const braille_dots_345678: Key = Key(ffi::GDK_KEY_braille_dots_345678 as u32);
    pub const braille_dots_1345678: Key = Key(ffi::GDK_KEY_braille_dots_1345678 as u32);
    pub const braille_dots_2345678: Key = Key(ffi::GDK_KEY_braille_dots_2345678 as u32);
    pub const braille_dots_12345678: Key = Key(ffi::GDK_KEY_braille_dots_12345678 as u32);
    pub const Sinh_ng: Key = Key(ffi::GDK_KEY_Sinh_ng as u32);
    pub const Sinh_h2: Key = Key(ffi::GDK_KEY_Sinh_h2 as u32);
    pub const Sinh_a: Key = Key(ffi::GDK_KEY_Sinh_a as u32);
    pub const Sinh_aa: Key = Key(ffi::GDK_KEY_Sinh_aa as u32);
    pub const Sinh_ae: Key = Key(ffi::GDK_KEY_Sinh_ae as u32);
    pub const Sinh_aee: Key = Key(ffi::GDK_KEY_Sinh_aee as u32);
    pub const Sinh_i: Key = Key(ffi::GDK_KEY_Sinh_i as u32);
    pub const Sinh_ii: Key = Key(ffi::GDK_KEY_Sinh_ii as u32);
    pub const Sinh_u: Key = Key(ffi::GDK_KEY_Sinh_u as u32);
    pub const Sinh_uu: Key = Key(ffi::GDK_KEY_Sinh_uu as u32);
    pub const Sinh_ri: Key = Key(ffi::GDK_KEY_Sinh_ri as u32);
    pub const Sinh_rii: Key = Key(ffi::GDK_KEY_Sinh_rii as u32);
    pub const Sinh_lu: Key = Key(ffi::GDK_KEY_Sinh_lu as u32);
    pub const Sinh_luu: Key = Key(ffi::GDK_KEY_Sinh_luu as u32);
    pub const Sinh_e: Key = Key(ffi::GDK_KEY_Sinh_e as u32);
    pub const Sinh_ee: Key = Key(ffi::GDK_KEY_Sinh_ee as u32);
    pub const Sinh_ai: Key = Key(ffi::GDK_KEY_Sinh_ai as u32);
    pub const Sinh_o: Key = Key(ffi::GDK_KEY_Sinh_o as u32);
    pub const Sinh_oo: Key = Key(ffi::GDK_KEY_Sinh_oo as u32);
    pub const Sinh_au: Key = Key(ffi::GDK_KEY_Sinh_au as u32);
    pub const Sinh_ka: Key = Key(ffi::GDK_KEY_Sinh_ka as u32);
    pub const Sinh_kha: Key = Key(ffi::GDK_KEY_Sinh_kha as u32);
    pub const Sinh_ga: Key = Key(ffi::GDK_KEY_Sinh_ga as u32);
    pub const Sinh_gha: Key = Key(ffi::GDK_KEY_Sinh_gha as u32);
    pub const Sinh_ng2: Key = Key(ffi::GDK_KEY_Sinh_ng2 as u32);
    pub const Sinh_nga: Key = Key(ffi::GDK_KEY_Sinh_nga as u32);
    pub const Sinh_ca: Key = Key(ffi::GDK_KEY_Sinh_ca as u32);
    pub const Sinh_cha: Key = Key(ffi::GDK_KEY_Sinh_cha as u32);
    pub const Sinh_ja: Key = Key(ffi::GDK_KEY_Sinh_ja as u32);
    pub const Sinh_jha: Key = Key(ffi::GDK_KEY_Sinh_jha as u32);
    pub const Sinh_nya: Key = Key(ffi::GDK_KEY_Sinh_nya as u32);
    pub const Sinh_jnya: Key = Key(ffi::GDK_KEY_Sinh_jnya as u32);
    pub const Sinh_nja: Key = Key(ffi::GDK_KEY_Sinh_nja as u32);
    pub const Sinh_tta: Key = Key(ffi::GDK_KEY_Sinh_tta as u32);
    pub const Sinh_ttha: Key = Key(ffi::GDK_KEY_Sinh_ttha as u32);
    pub const Sinh_dda: Key = Key(ffi::GDK_KEY_Sinh_dda as u32);
    pub const Sinh_ddha: Key = Key(ffi::GDK_KEY_Sinh_ddha as u32);
    pub const Sinh_nna: Key = Key(ffi::GDK_KEY_Sinh_nna as u32);
    pub const Sinh_ndda: Key = Key(ffi::GDK_KEY_Sinh_ndda as u32);
    pub const Sinh_tha: Key = Key(ffi::GDK_KEY_Sinh_tha as u32);
    pub const Sinh_thha: Key = Key(ffi::GDK_KEY_Sinh_thha as u32);
    pub const Sinh_dha: Key = Key(ffi::GDK_KEY_Sinh_dha as u32);
    pub const Sinh_dhha: Key = Key(ffi::GDK_KEY_Sinh_dhha as u32);
    pub const Sinh_na: Key = Key(ffi::GDK_KEY_Sinh_na as u32);
    pub const Sinh_ndha: Key = Key(ffi::GDK_KEY_Sinh_ndha as u32);
    pub const Sinh_pa: Key = Key(ffi::GDK_KEY_Sinh_pa as u32);
    pub const Sinh_pha: Key = Key(ffi::GDK_KEY_Sinh_pha as u32);
    pub const Sinh_ba: Key = Key(ffi::GDK_KEY_Sinh_ba as u32);
    pub const Sinh_bha: Key = Key(ffi::GDK_KEY_Sinh_bha as u32);
    pub const Sinh_ma: Key = Key(ffi::GDK_KEY_Sinh_ma as u32);
    pub const Sinh_mba: Key = Key(ffi::GDK_KEY_Sinh_mba as u32);
    pub const Sinh_ya: Key = Key(ffi::GDK_KEY_Sinh_ya as u32);
    pub const Sinh_ra: Key = Key(ffi::GDK_KEY_Sinh_ra as u32);
    pub const Sinh_la: Key = Key(ffi::GDK_KEY_Sinh_la as u32);
    pub const Sinh_va: Key = Key(ffi::GDK_KEY_Sinh_va as u32);
    pub const Sinh_sha: Key = Key(ffi::GDK_KEY_Sinh_sha as u32);
    pub const Sinh_ssha: Key = Key(ffi::GDK_KEY_Sinh_ssha as u32);
    pub const Sinh_sa: Key = Key(ffi::GDK_KEY_Sinh_sa as u32);
    pub const Sinh_ha: Key = Key(ffi::GDK_KEY_Sinh_ha as u32);
    pub const Sinh_lla: Key = Key(ffi::GDK_KEY_Sinh_lla as u32);
    pub const Sinh_fa: Key = Key(ffi::GDK_KEY_Sinh_fa as u32);
    pub const Sinh_al: Key = Key(ffi::GDK_KEY_Sinh_al as u32);
    pub const Sinh_aa2: Key = Key(ffi::GDK_KEY_Sinh_aa2 as u32);
    pub const Sinh_ae2: Key = Key(ffi::GDK_KEY_Sinh_ae2 as u32);
    pub const Sinh_aee2: Key = Key(ffi::GDK_KEY_Sinh_aee2 as u32);
    pub const Sinh_i2: Key = Key(ffi::GDK_KEY_Sinh_i2 as u32);
    pub const Sinh_ii2: Key = Key(ffi::GDK_KEY_Sinh_ii2 as u32);
    pub const Sinh_u2: Key = Key(ffi::GDK_KEY_Sinh_u2 as u32);
    pub const Sinh_uu2: Key = Key(ffi::GDK_KEY_Sinh_uu2 as u32);
    pub const Sinh_ru2: Key = Key(ffi::GDK_KEY_Sinh_ru2 as u32);
    pub const Sinh_e2: Key = Key(ffi::GDK_KEY_Sinh_e2 as u32);
    pub const Sinh_ee2: Key = Key(ffi::GDK_KEY_Sinh_ee2 as u32);
    pub const Sinh_ai2: Key = Key(ffi::GDK_KEY_Sinh_ai2 as u32);
    pub const Sinh_o2: Key = Key(ffi::GDK_KEY_Sinh_o2 as u32);
    pub const Sinh_oo2: Key = Key(ffi::GDK_KEY_Sinh_oo2 as u32);
    pub const Sinh_au2: Key = Key(ffi::GDK_KEY_Sinh_au2 as u32);
    pub const Sinh_lu2: Key = Key(ffi::GDK_KEY_Sinh_lu2 as u32);
    pub const Sinh_ruu2: Key = Key(ffi::GDK_KEY_Sinh_ruu2 as u32);
    pub const Sinh_luu2: Key = Key(ffi::GDK_KEY_Sinh_luu2 as u32);
    pub const Sinh_kunddaliya: Key = Key(ffi::GDK_KEY_Sinh_kunddaliya as u32);
    pub const ModeLock: Key = Key(ffi::GDK_KEY_ModeLock as u32);
    pub const MonBrightnessUp: Key = Key(ffi::GDK_KEY_MonBrightnessUp as u32);
    pub const MonBrightnessDown: Key = Key(ffi::GDK_KEY_MonBrightnessDown as u32);
    pub const KbdLightOnOff: Key = Key(ffi::GDK_KEY_KbdLightOnOff as u32);
    pub const KbdBrightnessUp: Key = Key(ffi::GDK_KEY_KbdBrightnessUp as u32);
    pub const KbdBrightnessDown: Key = Key(ffi::GDK_KEY_KbdBrightnessDown as u32);
    pub const Standby: Key = Key(ffi::GDK_KEY_Standby as u32);
    pub const AudioLowerVolume: Key = Key(ffi::GDK_KEY_AudioLowerVolume as u32);
    pub const AudioMute: Key = Key(ffi::GDK_KEY_AudioMute as u32);
    pub const AudioRaiseVolume: Key = Key(ffi::GDK_KEY_AudioRaiseVolume as u32);
    pub const AudioPlay: Key = Key(ffi::GDK_KEY_AudioPlay as u32);
    pub const AudioStop: Key = Key(ffi::GDK_KEY_AudioStop as u32);
    pub const AudioPrev: Key = Key(ffi::GDK_KEY_AudioPrev as u32);
    pub const AudioNext: Key = Key(ffi::GDK_KEY_AudioNext as u32);
    pub const HomePage: Key = Key(ffi::GDK_KEY_HomePage as u32);
    pub const Mail: Key = Key(ffi::GDK_KEY_Mail as u32);
    pub const Start: Key = Key(ffi::GDK_KEY_Start as u32);
    pub const Search: Key = Key(ffi::GDK_KEY_Search as u32);
    pub const AudioRecord: Key = Key(ffi::GDK_KEY_AudioRecord as u32);
    pub const Calculator: Key = Key(ffi::GDK_KEY_Calculator as u32);
    pub const Memo: Key = Key(ffi::GDK_KEY_Memo as u32);
    pub const ToDoList: Key = Key(ffi::GDK_KEY_ToDoList as u32);
    pub const Calendar: Key = Key(ffi::GDK_KEY_Calendar as u32);
    pub const PowerDown: Key = Key(ffi::GDK_KEY_PowerDown as u32);
    pub const ContrastAdjust: Key = Key(ffi::GDK_KEY_ContrastAdjust as u32);
    pub const RockerUp: Key = Key(ffi::GDK_KEY_RockerUp as u32);
    pub const RockerDown: Key = Key(ffi::GDK_KEY_RockerDown as u32);
    pub const RockerEnter: Key = Key(ffi::GDK_KEY_RockerEnter as u32);
    pub const Back: Key = Key(ffi::GDK_KEY_Back as u32);
    pub const Forward: Key = Key(ffi::GDK_KEY_Forward as u32);
    pub const Stop: Key = Key(ffi::GDK_KEY_Stop as u32);
    pub const Refresh: Key = Key(ffi::GDK_KEY_Refresh as u32);
    pub const PowerOff: Key = Key(ffi::GDK_KEY_PowerOff as u32);
    pub const WakeUp: Key = Key(ffi::GDK_KEY_WakeUp as u32);
    pub const Eject: Key = Key(ffi::GDK_KEY_Eject as u32);
    pub const ScreenSaver: Key = Key(ffi::GDK_KEY_ScreenSaver as u32);
    pub const WWW: Key = Key(ffi::GDK_KEY_WWW as u32);
    pub const Sleep: Key = Key(ffi::GDK_KEY_Sleep as u32);
    pub const Favorites: Key = Key(ffi::GDK_KEY_Favorites as u32);
    pub const AudioPause: Key = Key(ffi::GDK_KEY_AudioPause as u32);
    pub const AudioMedia: Key = Key(ffi::GDK_KEY_AudioMedia as u32);
    pub const MyComputer: Key = Key(ffi::GDK_KEY_MyComputer as u32);
    pub const VendorHome: Key = Key(ffi::GDK_KEY_VendorHome as u32);
    pub const LightBulb: Key = Key(ffi::GDK_KEY_LightBulb as u32);
    pub const Shop: Key = Key(ffi::GDK_KEY_Shop as u32);
    pub const History: Key = Key(ffi::GDK_KEY_History as u32);
    pub const OpenURL: Key = Key(ffi::GDK_KEY_OpenURL as u32);
    pub const AddFavorite: Key = Key(ffi::GDK_KEY_AddFavorite as u32);
    pub const HotLinks: Key = Key(ffi::GDK_KEY_HotLinks as u32);
    pub const BrightnessAdjust: Key = Key(ffi::GDK_KEY_BrightnessAdjust as u32);
    pub const Finance: Key = Key(ffi::GDK_KEY_Finance as u32);
    pub const Community: Key = Key(ffi::GDK_KEY_Community as u32);
    pub const AudioRewind: Key = Key(ffi::GDK_KEY_AudioRewind as u32);
    pub const BackForward: Key = Key(ffi::GDK_KEY_BackForward as u32);
    pub const Launch0: Key = Key(ffi::GDK_KEY_Launch0 as u32);
    pub const Launch1: Key = Key(ffi::GDK_KEY_Launch1 as u32);
    pub const Launch2: Key = Key(ffi::GDK_KEY_Launch2 as u32);
    pub const Launch3: Key = Key(ffi::GDK_KEY_Launch3 as u32);
    pub const Launch4: Key = Key(ffi::GDK_KEY_Launch4 as u32);
    pub const Launch5: Key = Key(ffi::GDK_KEY_Launch5 as u32);
    pub const Launch6: Key = Key(ffi::GDK_KEY_Launch6 as u32);
    pub const Launch7: Key = Key(ffi::GDK_KEY_Launch7 as u32);
    pub const Launch8: Key = Key(ffi::GDK_KEY_Launch8 as u32);
    pub const Launch9: Key = Key(ffi::GDK_KEY_Launch9 as u32);
    pub const LaunchA: Key = Key(ffi::GDK_KEY_LaunchA as u32);
    pub const LaunchB: Key = Key(ffi::GDK_KEY_LaunchB as u32);
    pub const LaunchC: Key = Key(ffi::GDK_KEY_LaunchC as u32);
    pub const LaunchD: Key = Key(ffi::GDK_KEY_LaunchD as u32);
    pub const LaunchE: Key = Key(ffi::GDK_KEY_LaunchE as u32);
    pub const LaunchF: Key = Key(ffi::GDK_KEY_LaunchF as u32);
    pub const ApplicationLeft: Key = Key(ffi::GDK_KEY_ApplicationLeft as u32);
    pub const ApplicationRight: Key = Key(ffi::GDK_KEY_ApplicationRight as u32);
    pub const Book: Key = Key(ffi::GDK_KEY_Book as u32);
    pub const CD: Key = Key(ffi::GDK_KEY_CD as u32);
    pub const WindowClear: Key = Key(ffi::GDK_KEY_WindowClear as u32);
    pub const Close: Key = Key(ffi::GDK_KEY_Close as u32);
    pub const Copy: Key = Key(ffi::GDK_KEY_Copy as u32);
    pub const Cut: Key = Key(ffi::GDK_KEY_Cut as u32);
    pub const Display: Key = Key(ffi::GDK_KEY_Display as u32);
    pub const DOS: Key = Key(ffi::GDK_KEY_DOS as u32);
    pub const Documents: Key = Key(ffi::GDK_KEY_Documents as u32);
    pub const Excel: Key = Key(ffi::GDK_KEY_Excel as u32);
    pub const Explorer: Key = Key(ffi::GDK_KEY_Explorer as u32);
    pub const Game: Key = Key(ffi::GDK_KEY_Game as u32);
    pub const Go: Key = Key(ffi::GDK_KEY_Go as u32);
    pub const iTouch: Key = Key(ffi::GDK_KEY_iTouch as u32);
    pub const LogOff: Key = Key(ffi::GDK_KEY_LogOff as u32);
    pub const Market: Key = Key(ffi::GDK_KEY_Market as u32);
    pub const Meeting: Key = Key(ffi::GDK_KEY_Meeting as u32);
    pub const MenuKB: Key = Key(ffi::GDK_KEY_MenuKB as u32);
    pub const MenuPB: Key = Key(ffi::GDK_KEY_MenuPB as u32);
    pub const MySites: Key = Key(ffi::GDK_KEY_MySites as u32);
    pub const New: Key = Key(ffi::GDK_KEY_New as u32);
    pub const News: Key = Key(ffi::GDK_KEY_News as u32);
    pub const OfficeHome: Key = Key(ffi::GDK_KEY_OfficeHome as u32);
    pub const Open: Key = Key(ffi::GDK_KEY_Open as u32);
    pub const Option: Key = Key(ffi::GDK_KEY_Option as u32);
    pub const Paste: Key = Key(ffi::GDK_KEY_Paste as u32);
    pub const Phone: Key = Key(ffi::GDK_KEY_Phone as u32);
    pub const Reply: Key = Key(ffi::GDK_KEY_Reply as u32);
    pub const Reload: Key = Key(ffi::GDK_KEY_Reload as u32);
    pub const RotateWindows: Key = Key(ffi::GDK_KEY_RotateWindows as u32);
    pub const RotationPB: Key = Key(ffi::GDK_KEY_RotationPB as u32);
    pub const RotationKB: Key = Key(ffi::GDK_KEY_RotationKB as u32);
    pub const Save: Key = Key(ffi::GDK_KEY_Save as u32);
    pub const ScrollUp: Key = Key(ffi::GDK_KEY_ScrollUp as u32);
    pub const ScrollDown: Key = Key(ffi::GDK_KEY_ScrollDown as u32);
    pub const ScrollClick: Key = Key(ffi::GDK_KEY_ScrollClick as u32);
    pub const Send: Key = Key(ffi::GDK_KEY_Send as u32);
    pub const Spell: Key = Key(ffi::GDK_KEY_Spell as u32);
    pub const SplitScreen: Key = Key(ffi::GDK_KEY_SplitScreen as u32);
    pub const Support: Key = Key(ffi::GDK_KEY_Support as u32);
    pub const TaskPane: Key = Key(ffi::GDK_KEY_TaskPane as u32);
    pub const Terminal: Key = Key(ffi::GDK_KEY_Terminal as u32);
    pub const Tools: Key = Key(ffi::GDK_KEY_Tools as u32);
    pub const Travel: Key = Key(ffi::GDK_KEY_Travel as u32);
    pub const UserPB: Key = Key(ffi::GDK_KEY_UserPB as u32);
    pub const User1KB: Key = Key(ffi::GDK_KEY_User1KB as u32);
    pub const User2KB: Key = Key(ffi::GDK_KEY_User2KB as u32);
    pub const Video: Key = Key(ffi::GDK_KEY_Video as u32);
    pub const WheelButton: Key = Key(ffi::GDK_KEY_WheelButton as u32);
    pub const Word: Key = Key(ffi::GDK_KEY_Word as u32);
    pub const Xfer: Key = Key(ffi::GDK_KEY_Xfer as u32);
    pub const ZoomIn: Key = Key(ffi::GDK_KEY_ZoomIn as u32);
    pub const ZoomOut: Key = Key(ffi::GDK_KEY_ZoomOut as u32);
    pub const Away: Key = Key(ffi::GDK_KEY_Away as u32);
    pub const Messenger: Key = Key(ffi::GDK_KEY_Messenger as u32);
    pub const WebCam: Key = Key(ffi::GDK_KEY_WebCam as u32);
    pub const MailForward: Key = Key(ffi::GDK_KEY_MailForward as u32);
    pub const Pictures: Key = Key(ffi::GDK_KEY_Pictures as u32);
    pub const Music: Key = Key(ffi::GDK_KEY_Music as u32);
    pub const Battery: Key = Key(ffi::GDK_KEY_Battery as u32);
    pub const Bluetooth: Key = Key(ffi::GDK_KEY_Bluetooth as u32);
    pub const WLAN: Key = Key(ffi::GDK_KEY_WLAN as u32);
    pub const UWB: Key = Key(ffi::GDK_KEY_UWB as u32);
    pub const AudioForward: Key = Key(ffi::GDK_KEY_AudioForward as u32);
    pub const AudioRepeat: Key = Key(ffi::GDK_KEY_AudioRepeat as u32);
    pub const AudioRandomPlay: Key = Key(ffi::GDK_KEY_AudioRandomPlay as u32);
    pub const Subtitle: Key = Key(ffi::GDK_KEY_Subtitle as u32);
    pub const AudioCycleTrack: Key = Key(ffi::GDK_KEY_AudioCycleTrack as u32);
    pub const CycleAngle: Key = Key(ffi::GDK_KEY_CycleAngle as u32);
    pub const FrameBack: Key = Key(ffi::GDK_KEY_FrameBack as u32);
    pub const FrameForward: Key = Key(ffi::GDK_KEY_FrameForward as u32);
    pub const Time: Key = Key(ffi::GDK_KEY_Time as u32);
    pub const SelectButton: Key = Key(ffi::GDK_KEY_SelectButton as u32);
    pub const View: Key = Key(ffi::GDK_KEY_View as u32);
    pub const TopMenu: Key = Key(ffi::GDK_KEY_TopMenu as u32);
    pub const Red: Key = Key(ffi::GDK_KEY_Red as u32);
    pub const Green: Key = Key(ffi::GDK_KEY_Green as u32);
    pub const Yellow: Key = Key(ffi::GDK_KEY_Yellow as u32);
    pub const Blue: Key = Key(ffi::GDK_KEY_Blue as u32);
    pub const Suspend: Key = Key(ffi::GDK_KEY_Suspend as u32);
    pub const Hibernate: Key = Key(ffi::GDK_KEY_Hibernate as u32);
    pub const TouchpadToggle: Key = Key(ffi::GDK_KEY_TouchpadToggle as u32);
    pub const TouchpadOn: Key = Key(ffi::GDK_KEY_TouchpadOn as u32);
    pub const TouchpadOff: Key = Key(ffi::GDK_KEY_TouchpadOff as u32);
    pub const AudioMicMute: Key = Key(ffi::GDK_KEY_AudioMicMute as u32);
    pub const Switch_VT_1: Key = Key(ffi::GDK_KEY_Switch_VT_1 as u32);
    pub const Switch_VT_2: Key = Key(ffi::GDK_KEY_Switch_VT_2 as u32);
    pub const Switch_VT_3: Key = Key(ffi::GDK_KEY_Switch_VT_3 as u32);
    pub const Switch_VT_4: Key = Key(ffi::GDK_KEY_Switch_VT_4 as u32);
    pub const Switch_VT_5: Key = Key(ffi::GDK_KEY_Switch_VT_5 as u32);
    pub const Switch_VT_6: Key = Key(ffi::GDK_KEY_Switch_VT_6 as u32);
    pub const Switch_VT_7: Key = Key(ffi::GDK_KEY_Switch_VT_7 as u32);
    pub const Switch_VT_8: Key = Key(ffi::GDK_KEY_Switch_VT_8 as u32);
    pub const Switch_VT_9: Key = Key(ffi::GDK_KEY_Switch_VT_9 as u32);
    pub const Switch_VT_10: Key = Key(ffi::GDK_KEY_Switch_VT_10 as u32);
    pub const Switch_VT_11: Key = Key(ffi::GDK_KEY_Switch_VT_11 as u32);
    pub const Switch_VT_12: Key = Key(ffi::GDK_KEY_Switch_VT_12 as u32);
    pub const Ungrab: Key = Key(ffi::GDK_KEY_Ungrab as u32);
    pub const ClearGrab: Key = Key(ffi::GDK_KEY_ClearGrab as u32);
    pub const Next_VMode: Key = Key(ffi::GDK_KEY_Next_VMode as u32);
    pub const Prev_VMode: Key = Key(ffi::GDK_KEY_Prev_VMode as u32);
    pub const LogWindowTree: Key = Key(ffi::GDK_KEY_LogWindowTree as u32);
    pub const LogGrabInfo: Key = Key(ffi::GDK_KEY_LogGrabInfo as u32);
}