diff --git a/LICENSE.gl b/LICENSE.gl
new file mode 100644
--- /dev/null
+++ b/LICENSE.gl
@@ -0,0 +1,31 @@
+Copyright (c) 2014-2015 Edward A. Kmett and Gabríel Arthúr Pétursson
+Copyright (c) 2013 Sven Panne
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Gabríel Arthúr Pétursson nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,40 @@
+import Control.Arrow
+import Distribution.PackageDescription
 import Distribution.Simple
-main = defaultMain
+import Distribution.Simple.LocalBuildInfo
+import Language.Preprocessor.Cpphs
+import System.FilePath
+
+import Text.XkbCommon.ParseDefines
+
+import Module
+import Utils
+
+sourceLoc :: FilePath
+sourceLoc = "./"
+
+main :: IO ()
+main = defaultMainWithHooks simpleUserHooks
+       { buildHook = \p l h f -> generateSource sourceLoc >> buildHook simpleUserHooks p l h f
+       , haddockHook = \p l h f -> generateSource sourceLoc >> haddockHook simpleUserHooks p l h f
+       , sDistHook = \p ml h f -> case ml of
+           Nothing -> fail "No local buildinfo available. configure first"
+           Just l -> do
+             generateSource sourceLoc
+             sDistHook simpleUserHooks p ml h f
+       }
+
+generateSource :: FilePath -> IO ()
+generateSource fp = do
+  parsedDefs <- getKeysymDefs
+  saveModule fp (keysymsModule parsedDefs)
+  return ()
+
+keysymsModule :: [(String,Integer)] -> Module
+keysymsModule defs = Module "Text.XkbCommon.KeysymPatterns" [] $
+                     Import ["Text.XkbCommon.InternalTypes"] :
+                     map (\(name,val) ->
+                           Pattern ("Keysym_" ++ name)
+                                   Nothing
+                                   ("= Keysym " ++ show val))
+                         defs
diff --git a/Text/XkbCommon/KeysymPatterns.hs b/Text/XkbCommon/KeysymPatterns.hs
new file mode 100644
--- /dev/null
+++ b/Text/XkbCommon/KeysymPatterns.hs
@@ -0,0 +1,4805 @@
+-- This file was automatically generated.
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
+module Text.XkbCommon.KeysymPatterns where
+
+import Text.XkbCommon.InternalTypes
+
+pattern Keysym_XF86Launch5 = Keysym 269025093
+
+pattern Keysym_Sinh_lu = Keysym 16780687
+
+pattern Keysym_braille_dots_578 = Keysym 16787664
+
+pattern Keysym_braille_dots_1478 = Keysym 16787657
+
+pattern Keysym_braille_dot_8 = Keysym 65528
+
+pattern Keysym_Ecircumflexhook = Keysym 16785090
+
+pattern Keysym_abrevegrave = Keysym 16785073
+
+pattern Keysym_Armenian_tso = Keysym 16778625
+
+pattern Keysym_Hangul_RieulKiyeog = Keysym 3754
+
+pattern Keysym_hexagram = Keysym 2778
+
+pattern Keysym_Cyrillic_dzhe = Keysym 1711
+
+pattern Keysym_Cyrillic_schwa = Keysym 16778457
+
+pattern Keysym_kana_SA = Keysym 1211
+
+pattern Keysym_dabovedot = Keysym 16784907
+
+pattern Keysym_Gcedilla = Keysym 939
+
+pattern Keysym_tcaron = Keysym 443
+
+pattern Keysym_Uacute = Keysym 218
+
+pattern Keysym_m = Keysym 109
+
+pattern Keysym_3270_PA3 = Keysym 64780
+
+pattern Keysym_dead_psili = Keysym 65124
+
+pattern Keysym_osfUndo = Keysym 268762981
+
+pattern Keysym_SunFA_Grave = Keysym 268828416
+
+pattern Keysym_XF86Prev_VMode = Keysym 269024803
+
+pattern Keysym_braille_dots_2678 = Keysym 16787682
+
+pattern Keysym_braille_dots_12368 = Keysym 16787623
+
+pattern Keysym_braille_dots_1234 = Keysym 16787471
+
+pattern Keysym_ytilde = Keysym 16785145
+
+pattern Keysym_Ocircumflexbelowdot = Keysym 16785112
+
+pattern Keysym_obelowdot = Keysym 16785101
+
+pattern Keysym_Ecircumflexacute = Keysym 16785086
+
+pattern Keysym_Georgian_un = Keysym 16781539
+
+pattern Keysym_Armenian_pyur = Keysym 16778627
+
+pattern Keysym_Armenian_JE = Keysym 16778571
+
+pattern Keysym_Armenian_hi = Keysym 16778613
+
+pattern Keysym_Hangul_SsangJieuj = Keysym 3769
+
+pattern Keysym_Thai_maitri = Keysym 3562
+
+pattern Keysym_Thai_saraaa = Keysym 3538
+
+pattern Keysym_Thai_choching = Keysym 3497
+
+pattern Keysym_toprightparens = Keysym 2221
+
+pattern Keysym_Cyrillic_zhe_descender = Keysym 16778391
+
+pattern Keysym_Arabic_tah = Keysym 1495
+
+pattern Keysym_kana_NA = Keysym 1221
+
+pattern Keysym_Wgrave = Keysym 16785024
+
+pattern Keysym_iogonek = Keysym 999
+
+pattern Keysym_bar = Keysym 124
+
+pattern Keysym_s = Keysym 115
+
+pattern Keysym_osfNextMenu = Keysym 268762972
+
+pattern Keysym_osfLeft = Keysym 268762961
+
+pattern Keysym_SunPowerSwitch = Keysym 268828534
+
+pattern Keysym_SunCut = Keysym 268828533
+
+pattern Keysym_XF86LaunchA = Keysym 269025098
+
+pattern Keysym_XF86ToDoList = Keysym 269025055
+
+pattern Keysym_Sinh_sa = Keysym 16780739
+
+pattern Keysym_braille_dots_4568 = Keysym 16787640
+
+pattern Keysym_braille_dots_13568 = Keysym 16787637
+
+pattern Keysym_braille_dots_56 = Keysym 16787504
+
+pattern Keysym_braille_dots_146 = Keysym 16787497
+
+pattern Keysym_Armenian_ho = Keysym 16778608
+
+pattern Keysym_Thai_wowaen = Keysym 3527
+
+pattern Keysym_leftcaret = Keysym 2979
+
+pattern Keysym_fivesixths = Keysym 2743
+
+pattern Keysym_soliddiamond = Keysym 2528
+
+pattern Keysym_Greek_KAPPA = Keysym 1994
+
+pattern Keysym_Cyrillic_ZE = Keysym 1786
+
+pattern Keysym_Cyrillic_i = Keysym 1737
+
+pattern Keysym_Ukrainian_i = Keysym 1702
+
+pattern Keysym_Utilde = Keysym 989
+
+pattern Keysym_eng = Keysym 959
+
+pattern Keysym_racute = Keysym 480
+
+pattern Keysym_y = Keysym 121
+
+pattern Keysym_KP_End = Keysym 65436
+
+pattern Keysym_BackSpace = Keysym 65288
+
+pattern Keysym_XF86Game = Keysym 269025118
+
+pattern Keysym_Sinh_au2 = Keysym 16780766
+
+pattern Keysym_Sinh_na = Keysym 16780721
+
+pattern Keysym_Ecircumflextilde = Keysym 16785092
+
+pattern Keysym_obarred = Keysym 16777845
+
+pattern Keysym_Ibreve = Keysym 16777516
+
+pattern Keysym_Georgian_man = Keysym 16781531
+
+pattern Keysym_Hangul_Nieun = Keysym 3748
+
+pattern Keysym_Hangul_Banja = Keysym 65337
+
+pattern Keysym_Thai_saraam = Keysym 3539
+
+pattern Keysym_hebrew_dalet = Keysym 3299
+
+pattern Keysym_Greek_PSI = Keysym 2008
+
+pattern Keysym_Cyrillic_SHCHA = Keysym 1789
+
+pattern Keysym_Cyrillic_EF = Keysym 1766
+
+pattern Keysym_Cyrillic_o = Keysym 1743
+
+pattern Keysym_Macedonia_kje = Keysym 1708
+
+pattern Keysym_Cyrillic_u_straight_bar = Keysym 16778417
+
+pattern Keysym_Arabic_sukun = Keysym 1522
+
+pattern Keysym_pabovedot = Keysym 16784983
+
+pattern Keysym_Nacute = Keysym 465
+
+pattern Keysym_copyright = Keysym 169
+
+pattern Keysym_dead_macron = Keysym 65108
+
+pattern Keysym_dead_acute = Keysym 65105
+
+pattern Keysym_ISO_Discontinuous_Underline = Keysym 65073
+
+pattern Keysym_F4 = Keysym 65473
+
+pattern Keysym_KP_Subtract = Keysym 65453
+
+pattern Keysym_Zenkaku_Hankaku = Keysym 65322
+
+pattern Keysym_Hiragana = Keysym 65317
+
+pattern Keysym_hpModelock1 = Keysym 268500808
+
+pattern Keysym_XF86Option = Keysym 269025132
+
+pattern Keysym_Sinh_ttha = Keysym 16780712
+
+pattern Keysym_Sinh_ng = Keysym 16780674
+
+pattern Keysym_braille_dots_468 = Keysym 16787624
+
+pattern Keysym_braille_dots_1368 = Keysym 16787621
+
+pattern Keysym_abrevebelowdot = Keysym 16785079
+
+pattern Keysym_Georgian_tar = Keysym 16781538
+
+pattern Keysym_Thai_maitho = Keysym 3561
+
+pattern Keysym_Thai_thophuthao = Keysym 3506
+
+pattern Keysym_downstile = Keysym 3012
+
+pattern Keysym_overbar = Keysym 3008
+
+pattern Keysym_checkmark = Keysym 2803
+
+pattern Keysym_emopencircle = Keysym 2766
+
+pattern Keysym_punctspace = Keysym 2726
+
+pattern Keysym_leftt = Keysym 2548
+
+pattern Keysym_Greek_horizbar = Keysym 1967
+
+pattern Keysym_Cyrillic_PE = Keysym 1776
+
+pattern Keysym_Cyrillic_EL = Keysym 1772
+
+pattern Keysym_Cyrillic_u = Keysym 1749
+
+pattern Keysym_tabovedot = Keysym 16785003
+
+pattern Keysym_notsign = Keysym 172
+
+pattern Keysym_R15 = Keysym 65504
+
+pattern Keysym_hplira = Keysym 268435631
+
+pattern Keysym_braille_dots_2568 = Keysym 16787634
+
+pattern Keysym_xabovedot = Keysym 16785035
+
+pattern Keysym_Georgian_an = Keysym 16781520
+
+pattern Keysym_Thai_yoyak = Keysym 3522
+
+pattern Keysym_Cyrillic_CHE = Keysym 1790
+
+pattern Keysym_Cyrillic_ER = Keysym 1778
+
+pattern Keysym_Ukranian_YI = Keysym 1719
+
+pattern Keysym_Arabic_kasratan = Keysym 1517
+
+pattern Keysym_Arabic_alefmaksura = Keysym 1513
+
+pattern Keysym_Arabic_tcheh = Keysym 16778886
+
+pattern Keysym_prolongedsound = Keysym 1200
+
+pattern Keysym_Ntilde = Keysym 209
+
+pattern Keysym_registered = Keysym 174
+
+pattern Keysym_dead_semivoiced_sound = Keysym 65119
+
+pattern Keysym_dead_tilde = Keysym 65107
+
+pattern Keysym_L3 = Keysym 65482
+
+pattern Keysym_F10 = Keysym 65479
+
+pattern Keysym_MultipleCandidate = Keysym 65341
+
+pattern Keysym_SunAudioRaiseVolume = Keysym 268828537
+
+pattern Keysym_XF86Switch_VT_6 = Keysym 269024774
+
+pattern Keysym_XF86MenuPB = Keysym 269025126
+
+pattern Keysym_Sinh_a = Keysym 16780677
+
+pattern Keysym_braille_dots_13458 = Keysym 16787613
+
+pattern Keysym_braille_dots_6 = Keysym 16787488
+
+pattern Keysym_braille_dots_15 = Keysym 16787473
+
+pattern Keysym_ohornacute = Keysym 16785115
+
+pattern Keysym_Armenian_ghat = Keysym 16778610
+
+pattern Keysym_threefifths = Keysym 2740
+
+pattern Keysym_twothirds = Keysym 2737
+
+pattern Keysym_uprightcorner = Keysym 2539
+
+pattern Keysym_botleftparens = Keysym 2220
+
+pattern Keysym_Greek_chi = Keysym 2039
+
+pattern Keysym_Cyrillic_SHORTI = Keysym 1770
+
+pattern Keysym_Cyrillic_io = Keysym 1699
+
+pattern Keysym_Arabic_keheh = Keysym 16778921
+
+pattern Keysym_parenright = Keysym 41
+
+pattern Keysym_dollar = Keysym 36
+
+pattern Keysym_Pointer_DfltBtnNext = Keysym 65275
+
+pattern Keysym_L9 = Keysym 65488
+
+pattern Keysym_F16 = Keysym 65485
+
+pattern Keysym_KP_4 = Keysym 65460
+
+pattern Keysym_Scroll_Lock = Keysym 65300
+
+pattern Keysym_mute_asciitilde = Keysym 268435628
+
+pattern Keysym_XF86Paste = Keysym 269025133
+
+pattern Keysym_XF86MenuKB = Keysym 269025125
+
+pattern Keysym_XF86AddFavorite = Keysym 269025081
+
+pattern Keysym_Sinh_aa2 = Keysym 16780751
+
+pattern Keysym_braille_dots_23567 = Keysym 16787574
+
+pattern Keysym_Uhorngrave = Keysym 16785130
+
+pattern Keysym_Armenian_VO = Keysym 16778568
+
+pattern Keysym_Thai_maitaikhu = Keysym 3559
+
+pattern Keysym_hebrew_chet = Keysym 3303
+
+pattern Keysym_hebrew_daleth = Keysym 3299
+
+pattern Keysym_minutes = Keysym 2774
+
+pattern Keysym_signifblank = Keysym 2732
+
+pattern Keysym_Greek_etaaccent = Keysym 1971
+
+pattern Keysym_Serbian_DJE = Keysym 1713
+
+pattern Keysym_amacron = Keysym 992
+
+pattern Keysym_icircumflex = Keysym 238
+
+pattern Keysym_Igrave = Keysym 204
+
+pattern Keysym_2 = Keysym 50
+
+pattern Keysym_percent = Keysym 37
+
+pattern Keysym_3270_Jump = Keysym 64786
+
+pattern Keysym_3270_EraseEOF = Keysym 64774
+
+pattern Keysym_R2 = Keysym 65491
+
+pattern Keysym_XF86Market = Keysym 269025122
+
+pattern Keysym_Sinh_ddha = Keysym 16780714
+
+pattern Keysym_Sinh_nga = Keysym 16780703
+
+pattern Keysym_braille_dots_358 = Keysym 16787604
+
+pattern Keysym_braille_dots_1258 = Keysym 16787603
+
+pattern Keysym_onesubscript = Keysym 16785537
+
+pattern Keysym_ohorntilde = Keysym 16785121
+
+pattern Keysym_Armenian_KEN = Keysym 16778559
+
+pattern Keysym_Armenian_exclam = Keysym 16778588
+
+pattern Keysym_Hangul_YeorinHieuh = Keysym 3829
+
+pattern Keysym_Hangul_Khieuq = Keysym 3771
+
+pattern Keysym_Hangul_SsangDikeud = Keysym 3752
+
+pattern Keysym_enopensquarebullet = Keysym 2785
+
+pattern Keysym_Cyrillic_I_macron = Keysym 16778466
+
+pattern Keysym_Arabic_beh = Keysym 1480
+
+pattern Keysym_wcircumflex = Keysym 16777589
+
+pattern Keysym_THORN = Keysym 222
+
+pattern Keysym_threesuperior = Keysym 179
+
+pattern Keysym_8 = Keysym 56
+
+pattern Keysym_R8 = Keysym 65497
+
+pattern Keysym_Sinh_sha = Keysym 16780737
+
+pattern Keysym_braille_dots_2458 = Keysym 16787610
+
+pattern Keysym_braille_dots_13467 = Keysym 16787565
+
+pattern Keysym_braille_dots_24 = Keysym 16787466
+
+pattern Keysym_sixsuperior = Keysym 16785526
+
+pattern Keysym_zerosuperior = Keysym 16785520
+
+pattern Keysym_EcuSign = Keysym 16785568
+
+pattern Keysym_Hangul_J_PanSios = Keysym 3832
+
+pattern Keysym_hebrew_mem = Keysym 3310
+
+pattern Keysym_telephonerecorder = Keysym 2810
+
+pattern Keysym_leftsinglequotemark = Keysym 2768
+
+pattern Keysym_topvertsummationconnector = Keysym 2227
+
+pattern Keysym_Arabic_fullstop = Keysym 16778964
+
+pattern Keysym_Arabic_rreh = Keysym 16778897
+
+pattern Keysym_kana_KE = Keysym 1209
+
+pattern Keysym_ydiaeresis = Keysym 255
+
+pattern Keysym_F25 = Keysym 65494
+
+pattern Keysym_osfCopy = Keysym 268762882
+
+pattern Keysym_braille_dots_345678 = Keysym 16787708
+
+pattern Keysym_braille_dots_1245678 = Keysym 16787707
+
+pattern Keysym_CruzeiroSign = Keysym 16785570
+
+pattern Keysym_Hangul_J_PieubSios = Keysym 3813
+
+pattern Keysym_Thai_leksong = Keysym 3570
+
+pattern Keysym_Thai_maichattawa = Keysym 3563
+
+pattern Keysym_Thai_paiyannoi = Keysym 3535
+
+pattern Keysym_Thai_phosamphao = Keysym 3520
+
+pattern Keysym_Hebrew_switch = Keysym 65406
+
+pattern Keysym_femalesymbol = Keysym 2808
+
+pattern Keysym_diamond = Keysym 2797
+
+pattern Keysym_filledrectbullet = Keysym 2779
+
+pattern Keysym_lowrightcorner = Keysym 2538
+
+pattern Keysym_toprightsummation = Keysym 2229
+
+pattern Keysym_Cyrillic_GHE = Keysym 1767
+
+pattern Keysym_Cyrillic_en = Keysym 1742
+
+pattern Keysym_Cyrillic_ka = Keysym 1739
+
+pattern Keysym_Arabic_3 = Keysym 16778851
+
+pattern Keysym_D = Keysym 68
+
+pattern Keysym_3270_DeleteWord = Keysym 64794
+
+pattern Keysym_dead_belowcircumflex = Keysym 65129
+
+pattern Keysym_Up = Keysym 65362
+
+pattern Keysym_guilder = Keysym 268435646
+
+pattern Keysym_XF86WebCam = Keysym 269025167
+
+pattern Keysym_braille_dots_367 = Keysym 16787556
+
+pattern Keysym_braille_dots_1267 = Keysym 16787555
+
+pattern Keysym_braille_dots_23457 = Keysym 16787550
+
+pattern Keysym_braille_dots_12345 = Keysym 16787487
+
+pattern Keysym_FFrancSign = Keysym 16785571
+
+pattern Keysym_Georgian_las = Keysym 16781530
+
+pattern Keysym_Hangul_J_Tieut = Keysym 3820
+
+pattern Keysym_Hangul_Dikeud = Keysym 3751
+
+pattern Keysym_Hangul_PreviousCandidate = Keysym 65342
+
+pattern Keysym_thinspace = Keysym 2727
+
+pattern Keysym_intersection = Keysym 2268
+
+pattern Keysym_Greek_upsilondieresis = Keysym 1977
+
+pattern Keysym_Cyrillic_shorti = Keysym 1738
+
+pattern Keysym_Arabic_ghain = Keysym 1498
+
+pattern Keysym_Arabic_9 = Keysym 16778857
+
+pattern Keysym_kana_N = Keysym 1245
+
+pattern Keysym_ccedilla = Keysym 231
+
+pattern Keysym_J = Keysym 74
+
+pattern Keysym_dead_invertedbreve = Keysym 65133
+
+pattern Keysym_dead_voiced_sound = Keysym 65118
+
+pattern Keysym_dead_iota = Keysym 65117
+
+pattern Keysym_ISO_Partial_Line_Up = Keysym 65059
+
+pattern Keysym_KP_F2 = Keysym 65426
+
+pattern Keysym_osfDown = Keysym 268762964
+
+pattern Keysym_XF86Next_VMode = Keysym 269024802
+
+pattern Keysym_XF86TouchpadOn = Keysym 269025200
+
+pattern Keysym_XF86TaskPane = Keysym 269025151
+
+pattern Keysym_braille_dots_134678 = Keysym 16787693
+
+pattern Keysym_braille_dots_248 = Keysym 16787594
+
+pattern Keysym_braille_dots_2467 = Keysym 16787562
+
+pattern Keysym_braille_dots_123 = Keysym 16787463
+
+pattern Keysym_foursuperior = Keysym 16785524
+
+pattern Keysym_abrevehook = Keysym 16785075
+
+pattern Keysym_Hangul_J_KkogjiDalrinIeung = Keysym 3833
+
+pattern Keysym_ellipsis = Keysym 2734
+
+pattern Keysym_enspace = Keysym 2722
+
+pattern Keysym_Greek_UPSILONdieresis = Keysym 1961
+
+pattern Keysym_Cyrillic_o_bar = Keysym 16778473
+
+pattern Keysym_Arabic_ain = Keysym 1497
+
+pattern Keysym_Jcircumflex = Keysym 684
+
+pattern Keysym_odiaeresis = Keysym 246
+
+pattern Keysym_twosuperior = Keysym 178
+
+pattern Keysym_P = Keysym 80
+
+pattern Keysym_Next_Virtual_Screen = Keysym 65234
+
+pattern Keysym_F34 = Keysym 65503
+
+pattern Keysym_End = Keysym 65367
+
+pattern Keysym_mute_acute = Keysym 268435624
+
+pattern Keysym_osfCancel = Keysym 268762985
+
+pattern Keysym_XF86ApplicationLeft = Keysym 269025104
+
+pattern Keysym_Sinh_i2 = Keysym 16780754
+
+pattern Keysym_Sinh_bha = Keysym 16780727
+
+pattern Keysym_Sinh_dhha = Keysym 16780720
+
+pattern Keysym_Sinh_ae = Keysym 16780679
+
+pattern Keysym_braille_dots_2348 = Keysym 16787598
+
+pattern Keysym_braille_dots_234567 = Keysym 16787582
+
+pattern Keysym_Hangul_WE = Keysym 3790
+
+pattern Keysym_Ukranian_je = Keysym 1700
+
+pattern Keysym_Arabic_feh = Keysym 1505
+
+pattern Keysym_Arabic_hamzaonwaw = Keysym 1476
+
+pattern Keysym_ubreve = Keysym 765
+
+pattern Keysym_zacute = Keysym 444
+
+pattern Keysym_V = Keysym 86
+
+pattern Keysym_Pointer_Drag5 = Keysym 65277
+
+pattern Keysym_osfPrevMenu = Keysym 268762971
+
+pattern Keysym_XF86Red = Keysym 269025187
+
+pattern Keysym_XF86RockerDown = Keysym 269025060
+
+pattern Keysym_Sinh_ndda = Keysym 16780716
+
+pattern Keysym_braille_dots_34578 = Keysym 16787676
+
+pattern Keysym_braille_dots_124578 = Keysym 16787675
+
+pattern Keysym_braille_dots_1345 = Keysym 16787485
+
+pattern Keysym_Arabic_dad = Keysym 1494
+
+pattern Keysym_Arabic_jeem = Keysym 1484
+
+pattern Keysym_Farsi_5 = Keysym 16778997
+
+pattern Keysym_imacron = Keysym 1007
+
+pattern Keysym_sterling = Keysym 163
+
+pattern Keysym_XF86LogOff = Keysym 269025121
+
+pattern Keysym_XF86KbdBrightnessDown = Keysym 269025030
+
+pattern Keysym_XF86MonBrightnessUp = Keysym 269025026
+
+pattern Keysym_Sinh_kunddaliya = Keysym 16780788
+
+pattern Keysym_braille_dots_257 = Keysym 16787538
+
+pattern Keysym_squareroot = Keysym 16785946
+
+pattern Keysym_Armenian_DA = Keysym 16778548
+
+pattern Keysym_Armenian_paruyk = Keysym 16778590
+
+pattern Keysym_Hangul_RieulSios = Keysym 3757
+
+pattern Keysym_Thai_lu = Keysym 3526
+
+pattern Keysym_club = Keysym 2796
+
+pattern Keysym_includes = Keysym 2267
+
+pattern Keysym_Greek_psi = Keysym 2040
+
+pattern Keysym_Cyrillic_YA = Keysym 1777
+
+pattern Keysym_Serbian_TSHE = Keysym 1723
+
+pattern Keysym_Cyrillic_O_bar = Keysym 16778472
+
+pattern Keysym_kana_RI = Keysym 1240
+
+pattern Keysym_kana_WO = Keysym 1190
+
+pattern Keysym_ediaeresis = Keysym 235
+
+pattern Keysym_masculine = Keysym 186
+
+pattern Keysym_b = Keysym 98
+
+pattern Keysym_at = Keysym 64
+
+pattern Keysym_dead_I = Keysym 65157
+
+pattern Keysym_ISO_First_Group = Keysym 65036
+
+pattern Keysym_SingleCandidate = Keysym 65340
+
+pattern Keysym_osfEndData = Keysym 268762969
+
+pattern Keysym_hpBackTab = Keysym 268500852
+
+pattern Keysym_XF86Launch0 = Keysym 269025088
+
+pattern Keysym_braille_dots_134568 = Keysym 16787645
+
+pattern Keysym_braille_dots_48 = Keysym 16787592
+
+pattern Keysym_braille_dots_138 = Keysym 16787589
+
+pattern Keysym_braille_dots_2357 = Keysym 16787542
+
+pattern Keysym_braille_dots_123456 = Keysym 16787519
+
+pattern Keysym_braille_dot_3 = Keysym 65523
+
+pattern Keysym_Armenian_KHE = Keysym 16778557
+
+pattern Keysym_Hangul_SsangKiyeog = Keysym 3746
+
+pattern Keysym_Greek_omega = Keysym 2041
+
+pattern Keysym_Cyrillic_CHE_descender = Keysym 16778422
+
+pattern Keysym_kana_RO = Keysym 1243
+
+pattern Keysym_kana_MI = Keysym 1232
+
+pattern Keysym_Kcedilla = Keysym 979
+
+pattern Keysym_hstroke = Keysym 689
+
+pattern Keysym_sacute = Keysym 438
+
+pattern Keysym_paragraph = Keysym 182
+
+pattern Keysym_h = Keysym 104
+
+pattern Keysym_dead_O = Keysym 65159
+
+pattern Keysym_Break = Keysym 65387
+
+pattern Keysym_IO = Keysym 268435694
+
+pattern Keysym_XF86Launch6 = Keysym 269025094
+
+pattern Keysym_Sinh_ng2 = Keysym 16780702
+
+pattern Keysym_Sinh_ri = Keysym 16780685
+
+pattern Keysym_braille_dots_25678 = Keysym 16787698
+
+pattern Keysym_braille_dot_9 = Keysym 65529
+
+pattern Keysym_Hangul_KkogjiDalrinIeung = Keysym 3827
+
+pattern Keysym_Thai_phinthu = Keysym 3546
+
+pattern Keysym_hebrew_zade = Keysym 3318
+
+pattern Keysym_Greek_epsilon = Keysym 2021
+
+pattern Keysym_Cyrillic_che = Keysym 1758
+
+pattern Keysym_Serbian_LJE = Keysym 1721
+
+pattern Keysym_kana_RU = Keysym 1241
+
+pattern Keysym_kana_MO = Keysym 1235
+
+pattern Keysym_kana_HI = Keysym 1227
+
+pattern Keysym_kana_openingbracket = Keysym 1186
+
+pattern Keysym_Cabovedot = Keysym 709
+
+pattern Keysym_ncaron = Keysym 498
+
+pattern Keysym_ugrave = Keysym 249
+
+pattern Keysym_Oacute = Keysym 211
+
+pattern Keysym_n = Keysym 110
+
+pattern Keysym_question = Keysym 63
+
+pattern Keysym_Pointer_DblClick1 = Keysym 65263
+
+pattern Keysym_Overlay1_Enable = Keysym 65144
+
+pattern Keysym_dead_U = Keysym 65161
+
+pattern Keysym_Mode_switch = Keysym 65406
+
+pattern Keysym_hpmute_grave = Keysym 268435625
+
+pattern Keysym_braille_dots_1235 = Keysym 16787479
+
+pattern Keysym_braille_blank = Keysym 16787456
+
+pattern Keysym_Armenian_O = Keysym 16778581
+
+pattern Keysym_quad = Keysym 3020
+
+pattern Keysym_onefifth = Keysym 2738
+
+pattern Keysym_doubbaselinedot = Keysym 2735
+
+pattern Keysym_botrightparens = Keysym 2222
+
+pattern Keysym_Greek_DELTA = Keysym 1988
+
+pattern Keysym_Greek_omegaaccent = Keysym 1979
+
+pattern Keysym_Arabic_jeh = Keysym 16778904
+
+pattern Keysym_Arabic_semicolon = Keysym 1467
+
+pattern Keysym_kana_MU = Keysym 1233
+
+pattern Keysym_kana_HO = Keysym 1230
+
+pattern Keysym_Gabovedot = Keysym 725
+
+pattern Keysym_Odoubleacute = Keysym 469
+
+pattern Keysym_t = Keysym 116
+
+pattern Keysym_quoteleft = Keysym 96
+
+pattern Keysym_3270_Enter = Keysym 64798
+
+pattern Keysym_dead_belowdot = Keysym 65120
+
+pattern Keysym_KP_Divide = Keysym 65455
+
+pattern Keysym_Mae_Koho = Keysym 65342
+
+pattern Keysym_Kanji = Keysym 65313
+
+pattern Keysym_XF86ClearGrab = Keysym 269024801
+
+pattern Keysym_XF86LaunchB = Keysym 269025099
+
+pattern Keysym_XF86AudioLowerVolume = Keysym 269025041
+
+pattern Keysym_braille_dots_57 = Keysym 16787536
+
+pattern Keysym_braille_dots_147 = Keysym 16787529
+
+pattern Keysym_Hangul_Kiyeog = Keysym 3745
+
+pattern Keysym_Hangul_Jeonja = Keysym 65336
+
+pattern Keysym_Thai_chochan = Keysym 3496
+
+pattern Keysym_hebrew_nun = Keysym 3312
+
+pattern Keysym_horizlinescan1 = Keysym 2543
+
+pattern Keysym_Greek_lamda = Keysym 2027
+
+pattern Keysym_Greek_SIGMA = Keysym 2002
+
+pattern Keysym_Greek_alphaaccent = Keysym 1969
+
+pattern Keysym_Cyrillic_TSE = Keysym 1763
+
+pattern Keysym_Serbian_dje = Keysym 1697
+
+pattern Keysym_Cyrillic_u_straight = Keysym 16778415
+
+pattern Keysym_kana_YA = Keysym 1236
+
+pattern Keysym_kana_HU = Keysym 1228
+
+pattern Keysym_Gcircumflex = Keysym 728
+
+pattern Keysym_gbreve = Keysym 699
+
+pattern Keysym_lacute = Keysym 485
+
+pattern Keysym_Otilde = Keysym 213
+
+pattern Keysym_section = Keysym 167
+
+pattern Keysym_z = Keysym 122
+
+pattern Keysym_underscore = Keysym 95
+
+pattern Keysym_Ch = Keysym 65185
+
+pattern Keysym_Pointer_Right = Keysym 65249
+
+pattern Keysym_AccessX_Feedback_Enable = Keysym 65137
+
+pattern Keysym_dead_a = Keysym 65152
+
+pattern Keysym_ISO_Fast_Cursor_Left = Keysym 65068
+
+pattern Keysym_Kana_Shift = Keysym 65326
+
+pattern Keysym_hpDeleteLine = Keysym 268500849
+
+pattern Keysym_XF86Ungrab = Keysym 269024800
+
+pattern Keysym_XF86WLAN = Keysym 269025173
+
+pattern Keysym_XF86ScrollDown = Keysym 269025145
+
+pattern Keysym_braille_dots_23678 = Keysym 16787686
+
+pattern Keysym_ihook = Keysym 16785097
+
+pattern Keysym_Acircumflexhook = Keysym 16785064
+
+pattern Keysym_gcaron = Keysym 16777703
+
+pattern Keysym_Georgian_fi = Keysym 16781558
+
+pattern Keysym_Armenian_PE = Keysym 16778570
+
+pattern Keysym_Armenian_ken = Keysym 16778607
+
+pattern Keysym_Hangul_SunkyeongeumPieub = Keysym 3825
+
+pattern Keysym_Hangul_YI = Keysym 3794
+
+pattern Keysym_marker = Keysym 2751
+
+pattern Keysym_careof = Keysym 2744
+
+pattern Keysym_fourfifths = Keysym 2741
+
+pattern Keysym_twofifths = Keysym 2739
+
+pattern Keysym_horizlinescan7 = Keysym 2546
+
+pattern Keysym_radical = Keysym 2262
+
+pattern Keysym_Greek_PI = Keysym 2000
+
+pattern Keysym_Cyrillic_ka_vertstroke = Keysym 16778397
+
+pattern Keysym_kana_TA = Keysym 1216
+
+pattern Keysym_Lcedilla = Keysym 934
+
+pattern Keysym_Eogonek = Keysym 458
+
+pattern Keysym_Ucircumflex = Keysym 219
+
+pattern Keysym_space = Keysym 32
+
+pattern Keysym_Pointer_Button_Dflt = Keysym 65256
+
+pattern Keysym_StickyKeys_Enable = Keysym 65141
+
+pattern Keysym_dead_currency = Keysym 65135
+
+pattern Keysym_dead_abovecomma = Keysym 65124
+
+pattern Keysym_Control_L = Keysym 65507
+
+pattern Keysym_R10 = Keysym 65499
+
+pattern Keysym_F5 = Keysym 65474
+
+pattern Keysym_hpmute_diaeresis = Keysym 268435627
+
+pattern Keysym_hpSystem = Keysym 268500845
+
+pattern Keysym_hpModelock2 = Keysym 268500809
+
+pattern Keysym_hpInsertChar = Keysym 268500850
+
+pattern Keysym_Sinh_ya = Keysym 16780730
+
+pattern Keysym_braille_dots_12378 = Keysym 16787655
+
+pattern Keysym_approxeq = Keysym 16785992
+
+pattern Keysym_NairaSign = Keysym 16785574
+
+pattern Keysym_Armenian_KE = Keysym 16778580
+
+pattern Keysym_Hangul_J_Pieub = Keysym 3812
+
+pattern Keysym_Hangul_YO = Keysym 3787
+
+pattern Keysym_Hangul_E = Keysym 3780
+
+pattern Keysym_Thai_thothahan = Keysym 3511
+
+pattern Keysym_Thai_thothan = Keysym 3504
+
+pattern Keysym_lefttack = Keysym 3036
+
+pattern Keysym_rightanglebracket = Keysym 2750
+
+pattern Keysym_cr = Keysym 2532
+
+pattern Keysym_Greek_alpha = Keysym 2017
+
+pattern Keysym_Greek_upsilonaccent = Keysym 1976
+
+pattern Keysym_Cyrillic_YERU = Keysym 1785
+
+pattern Keysym_Cyrillic_EM = Keysym 1773
+
+pattern Keysym_Arabic_yeh_baree = Keysym 16778962
+
+pattern Keysym_Arabic_heh_doachashmee = Keysym 16778942
+
+pattern Keysym_Sabovedot = Keysym 16784992
+
+pattern Keysym_Tslash = Keysym 940
+
+pattern Keysym_ccircumflex = Keysym 742
+
+pattern Keysym_Ccaron = Keysym 456
+
+pattern Keysym_currency = Keysym 164
+
+pattern Keysym_3270_Copy = Keysym 64789
+
+pattern Keysym_Overlay2_Enable = Keysym 65145
+
+pattern Keysym_Shift_Lock = Keysym 65510
+
+pattern Keysym_Control_R = Keysym 65508
+
+pattern Keysym_Prior = Keysym 65365
+
+pattern Keysym_Kana_Lock = Keysym 65325
+
+pattern Keysym_User = Keysym 268500846
+
+pattern Keysym_osfPaste = Keysym 268762884
+
+pattern Keysym_SunAudioMute = Keysym 268828536
+
+pattern Keysym_XF86Switch_VT_10 = Keysym 269024778
+
+pattern Keysym_XF86Switch_VT_1 = Keysym 269024769
+
+pattern Keysym_XF86AudioMicMute = Keysym 269025202
+
+pattern Keysym_XF86Forward = Keysym 269025063
+
+pattern Keysym_braille_dots_4578 = Keysym 16787672
+
+pattern Keysym_braille_dots_13578 = Keysym 16787669
+
+pattern Keysym_braille_dots_156 = Keysym 16787505
+
+pattern Keysym_braille_dots_1 = Keysym 16787457
+
+pattern Keysym_ninesuperior = Keysym 16785529
+
+pattern Keysym_Armenian_FE = Keysym 16778582
+
+pattern Keysym_Armenian_nu = Keysym 16778614
+
+pattern Keysym_Armenian_BEN = Keysym 16778546
+
+pattern Keysym_Hangul_SunkyeongeumPhieuf = Keysym 3828
+
+pattern Keysym_Hangul_YU = Keysym 3792
+
+pattern Keysym_Thai_sorusi = Keysym 3529
+
+pattern Keysym_jot = Keysym 3018
+
+pattern Keysym_threeeighths = Keysym 2756
+
+pattern Keysym_Greek_BETA = Keysym 1986
+
+pattern Keysym_Cyrillic_ES = Keysym 1779
+
+pattern Keysym_Cyrillic_ghe = Keysym 1735
+
+pattern Keysym_Ukrainian_yi = Keysym 1703
+
+pattern Keysym_uring = Keysym 505
+
+pattern Keysym_eacute = Keysym 233
+
+pattern Keysym_3270_Reset = Keysym 64776
+
+pattern Keysym_L4 = Keysym 65483
+
+pattern Keysym_F11 = Keysym 65480
+
+pattern Keysym_XF86Switch_VT_7 = Keysym 269024775
+
+pattern Keysym_XF86Green = Keysym 269025188
+
+pattern Keysym_XF86Phone = Keysym 269025134
+
+pattern Keysym_Sinh_tta = Keysym 16780711
+
+pattern Keysym_Sinh_jha = Keysym 16780707
+
+pattern Keysym_braille_dots_7 = Keysym 16787520
+
+pattern Keysym_braille_dots_16 = Keysym 16787489
+
+pattern Keysym_threesubscript = Keysym 16785539
+
+pattern Keysym_Uhornhook = Keysym 16785132
+
+pattern Keysym_Ihook = Keysym 16785096
+
+pattern Keysym_Armenian_za = Keysym 16778598
+
+pattern Keysym_Thai_sarauee = Keysym 3543
+
+pattern Keysym_emfilledcircle = Keysym 2782
+
+pattern Keysym_leftdoublequotemark = Keysym 2770
+
+pattern Keysym_rightopentriangle = Keysym 2765
+
+pattern Keysym_rightmiddlecurlybrace = Keysym 2224
+
+pattern Keysym_Cyrillic_VE = Keysym 1783
+
+pattern Keysym_Aacute = Keysym 193
+
+pattern Keysym_F17 = Keysym 65486
+
+pattern Keysym_KP_5 = Keysym 65461
+
+pattern Keysym_block = Keysym 268435708
+
+pattern Keysym_osfPrevField = Keysym 268762973
+
+pattern Keysym_SunStop = Keysym 65385
+
+pattern Keysym_Sinh_ja = Keysym 16780706
+
+pattern Keysym_braille_dots_1345678 = Keysym 16787709
+
+pattern Keysym_braille_dots_478 = Keysym 16787656
+
+pattern Keysym_braille_dots_1378 = Keysym 16787653
+
+pattern Keysym_braille_dots_23568 = Keysym 16787638
+
+pattern Keysym_braille_dots_3456 = Keysym 16787516
+
+pattern Keysym_braille_dots_12456 = Keysym 16787515
+
+pattern Keysym_ocircumflexgrave = Keysym 16785107
+
+pattern Keysym_etilde = Keysym 16785085
+
+pattern Keysym_Armenian_YECH = Keysym 16778549
+
+pattern Keysym_Hangul = Keysym 65329
+
+pattern Keysym_Thai_maiek = Keysym 3560
+
+pattern Keysym_Thai_thonangmontho = Keysym 3505
+
+pattern Keysym_seconds = Keysym 2775
+
+pattern Keysym_vertconnector = Keysym 2214
+
+pattern Keysym_Greek_IOTA = Keysym 1993
+
+pattern Keysym_Cyrillic_hardsign = Keysym 1759
+
+pattern Keysym_Cyrillic_yu = Keysym 1728
+
+pattern Keysym_Serbian_DZE = Keysym 1727
+
+pattern Keysym_Cyrillic_SHHA = Keysym 16778426
+
+pattern Keysym_3 = Keysym 51
+
+pattern Keysym_BounceKeys_Enable = Keysym 65140
+
+pattern Keysym_Hyper_L = Keysym 65517
+
+pattern Keysym_R3 = Keysym 65492
+
+pattern Keysym_SunProps = Keysym 268828528
+
+pattern Keysym_XF86ScrollClick = Keysym 269025146
+
+pattern Keysym_XF86DOS = Keysym 269025114
+
+pattern Keysym_braille_dots_2578 = Keysym 16787666
+
+pattern Keysym_braille_dots_234 = Keysym 16787470
+
+pattern Keysym_ecircumflexbelowdot = Keysym 16785095
+
+pattern Keysym_Armenian_vyun = Keysym 16778626
+
+pattern Keysym_Hangul_J_Jieuj = Keysym 3817
+
+pattern Keysym_Hangul_EO = Keysym 3779
+
+pattern Keysym_Hangul_switch = Keysym 65406
+
+pattern Keysym_Thai_leknung = Keysym 3569
+
+pattern Keysym_hebrew_beth = Keysym 3297
+
+pattern Keysym_cursor = Keysym 2815
+
+pattern Keysym_leftmiddlecurlybrace = Keysym 2223
+
+pattern Keysym_Greek_OMICRON = Keysym 1999
+
+pattern Keysym_cabovedot = Keysym 741
+
+pattern Keysym_Uring = Keysym 473
+
+pattern Keysym_Atilde = Keysym 195
+
+pattern Keysym_onequarter = Keysym 188
+
+pattern Keysym_9 = Keysym 57
+
+pattern Keysym_dead_capital_schwa = Keysym 65163
+
+pattern Keysym_Hyper_R = Keysym 65518
+
+pattern Keysym_R9 = Keysym 65498
+
+pattern Keysym_F20 = Keysym 65489
+
+pattern Keysym_Next = Keysym 65366
+
+pattern Keysym_osfMenu = Keysym 268762983
+
+pattern Keysym_DRemove = Keysym 268500736
+
+pattern Keysym_XF86Pictures = Keysym 269025169
+
+pattern Keysym_braille_dots_234678 = Keysym 16787694
+
+pattern Keysym_braille_dots_13468 = Keysym 16787629
+
+pattern Keysym_braille_dots_25 = Keysym 16787474
+
+pattern Keysym_Korean_Won = Keysym 3839
+
+pattern Keysym_Hangul_EU = Keysym 3793
+
+pattern Keysym_Thai_leksam = Keysym 3571
+
+pattern Keysym_Thai_dodek = Keysym 3508
+
+pattern Keysym_hebrew_finalkaph = Keysym 3306
+
+pattern Keysym_Arabic_farsi_yeh = Keysym 16778956
+
+pattern Keysym_Arabic_madda_above = Keysym 16778835
+
+pattern Keysym_Arabic_hamza = Keysym 1473
+
+pattern Keysym_kana_fullstop = Keysym 1185
+
+pattern Keysym_gabovedot = Keysym 757
+
+pattern Keysym_ETH = Keysym 208
+
+pattern Keysym_3270_Play = Keysym 64790
+
+pattern Keysym_Pointer_EnableKeys = Keysym 65273
+
+pattern Keysym_MouseKeys_Enable = Keysym 65142
+
+pattern Keysym_F26 = Keysym 65495
+
+pattern Keysym_Home = Keysym 65360
+
+pattern Keysym_XF86Sleep = Keysym 269025071
+
+pattern Keysym_braille_dots_1234567 = Keysym 16787583
+
+pattern Keysym_braille_dots_1456 = Keysym 16787513
+
+pattern Keysym_abreveacute = Keysym 16785071
+
+pattern Keysym_Hangul_WAE = Keysym 3785
+
+pattern Keysym_Hangul_YEO = Keysym 3781
+
+pattern Keysym_hebrew_samech = Keysym 3313
+
+pattern Keysym_identical = Keysym 2255
+
+pattern Keysym_Greek_GAMMA = Keysym 1987
+
+pattern Keysym_Cyrillic_BE = Keysym 1762
+
+pattern Keysym_Cyrillic_GHE_bar = Keysym 16778386
+
+pattern Keysym_Arabic_shadda = Keysym 1521
+
+pattern Keysym_Arabic_4 = Keysym 16778852
+
+pattern Keysym_voicedsound = Keysym 1246
+
+pattern Keysym_kana_I = Keysym 1202
+
+pattern Keysym_kana_yo = Keysym 1198
+
+pattern Keysym_gcedilla = Keysym 955
+
+pattern Keysym_E = Keysym 69
+
+pattern Keysym_Pointer_Up = Keysym 65250
+
+pattern Keysym_SunFA_Acute = Keysym 268828419
+
+pattern Keysym_XF86Open = Keysym 269025131
+
+pattern Keysym_XF86AudioRewind = Keysym 269025086
+
+pattern Keysym_XF86KbdBrightnessUp = Keysym 269025029
+
+pattern Keysym_Sinh_uu2 = Keysym 16780758
+
+pattern Keysym_braille_dots_368 = Keysym 16787620
+
+pattern Keysym_braille_dots_1268 = Keysym 16787619
+
+pattern Keysym_braille_dots_23458 = Keysym 16787614
+
+pattern Keysym_braille_dots_12346 = Keysym 16787503
+
+pattern Keysym_Armenian_tyun = Keysym 16778623
+
+pattern Keysym_Armenian_khe = Keysym 16778605
+
+pattern Keysym_Hangul_RieulYeorinHieuh = Keysym 3823
+
+pattern Keysym_Thai_sarai = Keysym 3540
+
+pattern Keysym_downtack = Keysym 3010
+
+pattern Keysym_similarequal = Keysym 2249
+
+pattern Keysym_Arabic_khah = Keysym 1486
+
+pattern Keysym_kana_O = Keysym 1205
+
+pattern Keysym_kana_yu = Keysym 1197
+
+pattern Keysym_Wacute = Keysym 16785026
+
+pattern Keysym_Ncedilla = Keysym 977
+
+pattern Keysym_breve = Keysym 418
+
+pattern Keysym_K = Keysym 75
+
+pattern Keysym_dead_cedilla = Keysym 65115
+
+pattern Keysym_ISO_First_Group_Lock = Keysym 65037
+
+pattern Keysym_KP_F3 = Keysym 65427
+
+pattern Keysym_osfExtend = Keysym 268762996
+
+pattern Keysym_hpmute_asciicircum = Keysym 268435626
+
+pattern Keysym_SunUndo = Keysym 65381
+
+pattern Keysym_SunAltGraph = Keysym 65406
+
+pattern Keysym_XF86Word = Keysym 269025161
+
+pattern Keysym_XF86New = Keysym 269025128
+
+pattern Keysym_braille_dots_2468 = Keysym 16787626
+
+pattern Keysym_braille_dots_123567 = Keysym 16787575
+
+pattern Keysym_braille_dots_34 = Keysym 16787468
+
+pattern Keysym_braille_dots_124 = Keysym 16787467
+
+pattern Keysym_partdifferential = Keysym 16785922
+
+pattern Keysym_Ohorngrave = Keysym 16785116
+
+pattern Keysym_abrevetilde = Keysym 16785077
+
+pattern Keysym_Zstroke = Keysym 16777653
+
+pattern Keysym_Georgian_hie = Keysym 16781554
+
+pattern Keysym_Armenian_HI = Keysym 16778565
+
+pattern Keysym_Hangul_AraeAE = Keysym 3831
+
+pattern Keysym_Thai_sarao = Keysym 3554
+
+pattern Keysym_maltesecross = Keysym 2800
+
+pattern Keysym_Cyrillic_A = Keysym 1761
+
+pattern Keysym_Serbian_lje = Keysym 1705
+
+pattern Keysym_kana_U = Keysym 1203
+
+pattern Keysym_kana_tu = Keysym 1199
+
+pattern Keysym_Ygrave = Keysym 16785138
+
+pattern Keysym_sabovedot = Keysym 16784993
+
+pattern Keysym_Rcaron = Keysym 472
+
+pattern Keysym_caron = Keysym 439
+
+pattern Keysym_Q = Keysym 81
+
+pattern Keysym_dead_belowbreve = Keysym 65131
+
+pattern Keysym_ISO_Fast_Cursor_Down = Keysym 65071
+
+pattern Keysym_F35 = Keysym 65504
+
+pattern Keysym_Help = Keysym 65386
+
+pattern Keysym_SunFA_Tilde = Keysym 268828418
+
+pattern Keysym_XF86Reload = Keysym 269025139
+
+pattern Keysym_braille_dots_234568 = Keysym 16787646
+
+pattern Keysym_Armenian_HO = Keysym 16778560
+
+pattern Keysym_Thai_sarau = Keysym 3544
+
+pattern Keysym_Thai_khokhai = Keysym 3490
+
+pattern Keysym_underbar = Keysym 3014
+
+pattern Keysym_figdash = Keysym 2747
+
+pattern Keysym_Greek_IOTAdiaeresis = Keysym 1957
+
+pattern Keysym_Ukrainian_GHE_WITH_UPTURN = Keysym 1725
+
+pattern Keysym_Arabic_noon_ghunna = Keysym 16778938
+
+pattern Keysym_Farsi_0 = Keysym 16778992
+
+pattern Keysym_W = Keysym 87
+
+pattern Keysym_C_h = Keysym 65188
+
+pattern Keysym_Pointer_Accelerate = Keysym 65274
+
+pattern Keysym_Eisu_Shift = Keysym 65327
+
+pattern Keysym_Katakana = Keysym 65318
+
+pattern Keysym_XF86Battery = Keysym 269025171
+
+pattern Keysym_XF86Explorer = Keysym 269025117
+
+pattern Keysym_Sinh_al = Keysym 16780746
+
+pattern Keysym_braille_dots_23467 = Keysym 16787566
+
+pattern Keysym_braille_dots_1346 = Keysym 16787501
+
+pattern Keysym_uhornhook = Keysym 16785133
+
+pattern Keysym_ocaron = Keysym 16777682
+
+pattern Keysym_Hangul_Sios = Keysym 3765
+
+pattern Keysym_Thai_lekhok = Keysym 3574
+
+pattern Keysym_fiveeighths = Keysym 2757
+
+pattern Keysym_vt = Keysym 2537
+
+pattern Keysym_infinity = Keysym 2242
+
+pattern Keysym_Greek_upsilon = Keysym 2037
+
+pattern Keysym_Cyrillic_tse = Keysym 1731
+
+pattern Keysym_Cyrillic_LJE = Keysym 1721
+
+pattern Keysym_Farsi_6 = Keysym 16778998
+
+pattern Keysym_kana_a = Keysym 1191
+
+pattern Keysym_Pointer_Button1 = Keysym 65257
+
+pattern Keysym_ISO_Continuous_Underline = Keysym 65072
+
+pattern Keysym_ISO_Last_Group_Lock = Keysym 65039
+
+pattern Keysym_Reset = Keysym 268500844
+
+pattern Keysym_XF86Refresh = Keysym 269025065
+
+pattern Keysym_XF86Calculator = Keysym 269025053
+
+pattern Keysym_Sinh_o2 = Keysym 16780764
+
+pattern Keysym_braille_dots_258 = Keysym 16787602
+
+pattern Keysym_elementof = Keysym 16785928
+
+pattern Keysym_eightsubscript = Keysym 16785544
+
+pattern Keysym_Armenian_re = Keysym 16778624
+
+pattern Keysym_hebrew_taw = Keysym 3322
+
+pattern Keysym_caret = Keysym 2812
+
+pattern Keysym_malesymbol = Keysym 2807
+
+pattern Keysym_ballotcross = Keysym 2804
+
+pattern Keysym_rightt = Keysym 2549
+
+pattern Keysym_leftarrow = Keysym 2299
+
+pattern Keysym_botvertsummationconnector = Keysym 2228
+
+pattern Keysym_Ukrainian_ghe_with_upturn = Keysym 1709
+
+pattern Keysym_Arabic_thal = Keysym 1488
+
+pattern Keysym_c = Keysym 99
+
+pattern Keysym_grave = Keysym 96
+
+pattern Keysym_plus = Keysym 43
+
+pattern Keysym_dead_hook = Keysym 65121
+
+pattern Keysym_dead_diaeresis = Keysym 65111
+
+pattern Keysym_Kanji_Bangou = Keysym 65335
+
+pattern Keysym_System = Keysym 268500845
+
+pattern Keysym_SunFind = Keysym 65384
+
+pattern Keysym_XF86Close = Keysym 269025110
+
+pattern Keysym_XF86Clear = Keysym 269025109
+
+pattern Keysym_XF86Launch1 = Keysym 269025089
+
+pattern Keysym_XF86ScreenSaver = Keysym 269025069
+
+pattern Keysym_XF86Mail = Keysym 269025049
+
+pattern Keysym_XF86AudioMute = Keysym 269025042
+
+pattern Keysym_Sinh_mba = Keysym 16780729
+
+pattern Keysym_braille_dots_2358 = Keysym 16787606
+
+pattern Keysym_braille_dots_123457 = Keysym 16787551
+
+pattern Keysym_braille_dot_4 = Keysym 65524
+
+pattern Keysym_ehook = Keysym 16785083
+
+pattern Keysym_Georgian_rae = Keysym 16781536
+
+pattern Keysym_Hangul_J_Rieul = Keysym 3803
+
+pattern Keysym_hebrew_finalzadi = Keysym 3317
+
+pattern Keysym_permille = Keysym 2773
+
+pattern Keysym_Arabic_veh = Keysym 16778916
+
+pattern Keysym_Emacron = Keysym 938
+
+pattern Keysym_Acircumflex = Keysym 194
+
+pattern Keysym_asciitilde = Keysym 126
+
+pattern Keysym_i = Keysym 105
+
+pattern Keysym_minus = Keysym 45
+
+pattern Keysym_ISO_Release_Margin_Left = Keysym 65065
+
+pattern Keysym_KP_Separator = Keysym 65452
+
+pattern Keysym_Cancel = Keysym 65385
+
+pattern Keysym_hpblock = Keysym 268435708
+
+pattern Keysym_XF86Calculater = Keysym 269025108
+
+pattern Keysym_XF86Launch7 = Keysym 269025095
+
+pattern Keysym_XF86OpenURL = Keysym 269025080
+
+pattern Keysym_XF86AudioStop = Keysym 269025045
+
+pattern Keysym_Sinh_e2 = Keysym 16780761
+
+pattern Keysym_braille_dots_14567 = Keysym 16787577
+
+pattern Keysym_containsas = Keysym 16785931
+
+pattern Keysym_Uhornacute = Keysym 16785128
+
+pattern Keysym_Ocircumflexgrave = Keysym 16785106
+
+pattern Keysym_Georgian_shin = Keysym 16781544
+
+pattern Keysym_Armenian_ben = Keysym 16778594
+
+pattern Keysym_Hangul_J_SsangSios = Keysym 3815
+
+pattern Keysym_Hangul_RieulTieut = Keysym 3758
+
+pattern Keysym_Hangul_Hanja = Keysym 65332
+
+pattern Keysym_Thai_maihanakat_maitho = Keysym 3550
+
+pattern Keysym_Thai_sarauu = Keysym 3545
+
+pattern Keysym_Thai_ru = Keysym 3524
+
+pattern Keysym_downcaret = Keysym 2984
+
+pattern Keysym_Cyrillic_IO = Keysym 1715
+
+pattern Keysym_Arabic_maddaonalef = Keysym 1474
+
+pattern Keysym_Uogonek = Keysym 985
+
+pattern Keysym_ograve = Keysym 242
+
+pattern Keysym_idiaeresis = Keysym 239
+
+pattern Keysym_Ocircumflex = Keysym 212
+
+pattern Keysym_Iacute = Keysym 205
+
+pattern Keysym_o = Keysym 111
+
+pattern Keysym_numbersign = Keysym 35
+
+pattern Keysym_Pointer_DblClick2 = Keysym 65264
+
+pattern Keysym_dead_dasia = Keysym 65125
+
+pattern Keysym_ISO_Partial_Space_Right = Keysym 65062
+
+pattern Keysym_Shift_L = Keysym 65505
+
+pattern Keysym_KP_BackTab = Keysym 268500853
+
+pattern Keysym_Ddiaeresis = Keysym 268500514
+
+pattern Keysym_XF86WheelButton = Keysym 269025160
+
+pattern Keysym_XF86Start = Keysym 269025050
+
+pattern Keysym_braille_dots_267 = Keysym 16787554
+
+pattern Keysym_braille_dots_1236 = Keysym 16787495
+
+pattern Keysym_Armenian_amanak = Keysym 16778588
+
+pattern Keysym_Hangul_Tieut = Keysym 3772
+
+pattern Keysym_Thai_thanthakhat = Keysym 3564
+
+pattern Keysym_uptack = Keysym 3022
+
+pattern Keysym_topleftradical = Keysym 2210
+
+pattern Keysym_Greek_mu = Keysym 2028
+
+pattern Keysym_Cyrillic_e = Keysym 1756
+
+pattern Keysym_Cyrillic_i_macron = Keysym 16778467
+
+pattern Keysym_Dstroke = Keysym 464
+
+pattern Keysym_Dcaron = Keysym 463
+
+pattern Keysym_u = Keysym 117
+
+pattern Keysym_3270_Quit = Keysym 64777
+
+pattern Keysym_Shift_R = Keysym 65506
+
+pattern Keysym_Print = Keysym 65377
+
+pattern Keysym_XF86LaunchC = Keysym 269025100
+
+pattern Keysym_braille_dots_134578 = Keysym 16787677
+
+pattern Keysym_braille_dots_58 = Keysym 16787600
+
+pattern Keysym_braille_dots_148 = Keysym 16787593
+
+pattern Keysym_braille_dots_2367 = Keysym 16787558
+
+pattern Keysym_Uhorntilde = Keysym 16785134
+
+pattern Keysym_Ecircumflexbelowdot = Keysym 16785094
+
+pattern Keysym_Ehook = Keysym 16785082
+
+pattern Keysym_Hangul_PostHanja = Keysym 65339
+
+pattern Keysym_hebrew_qoph = Keysym 3319
+
+pattern Keysym_upstile = Keysym 3027
+
+pattern Keysym_hairspace = Keysym 2728
+
+pattern Keysym_variation = Keysym 2241
+
+pattern Keysym_Cyrillic_DZHE = Keysym 1727
+
+pattern Keysym_Macedonia_DSE = Keysym 1717
+
+pattern Keysym_Serbian_dze = Keysym 1711
+
+pattern Keysym_Serbian_je = Keysym 1704
+
+pattern Keysym_kana_NI = Keysym 1222
+
+pattern Keysym_kana_SO = Keysym 1215
+
+pattern Keysym_Itilde = Keysym 933
+
+pattern Keysym_abreve = Keysym 483
+
+pattern Keysym_DeleteChar = Keysym 268500851
+
+pattern Keysym_XF86Suspend = Keysym 269025191
+
+pattern Keysym_XF86AudioMedia = Keysym 269025074
+
+pattern Keysym_braille_dots_3567 = Keysym 16787572
+
+pattern Keysym_braille_dots_12567 = Keysym 16787571
+
+pattern Keysym_Georgian_tan = Keysym 16781527
+
+pattern Keysym_Armenian_PYUR = Keysym 16778579
+
+pattern Keysym_Armenian_accent = Keysym 16778587
+
+pattern Keysym_Armenian_full_stop = Keysym 16778633
+
+pattern Keysym_lessthanequal = Keysym 2236
+
+pattern Keysym_topleftparens = Keysym 2219
+
+pattern Keysym_Cyrillic_softsign = Keysym 1752
+
+pattern Keysym_Cyrillic_CHE_vertstroke = Keysym 16778424
+
+pattern Keysym_kana_NO = Keysym 1225
+
+pattern Keysym_kana_SU = Keysym 1213
+
+pattern Keysym_ycircumflex = Keysym 16777591
+
+pattern Keysym_ISO_Release_Margin_Right = Keysym 65066
+
+pattern Keysym_R11 = Keysym 65500
+
+pattern Keysym_F6 = Keysym 65475
+
+pattern Keysym_KP_Next = Keysym 65435
+
+pattern Keysym_SunCopy = Keysym 268828530
+
+pattern Keysym_XF86FrameForward = Keysym 269025182
+
+pattern Keysym_braille_dots_345 = Keysym 16787484
+
+pattern Keysym_braille_dots_1245 = Keysym 16787483
+
+pattern Keysym_PesetaSign = Keysym 16785575
+
+pattern Keysym_Hangul_J_RieulTieut = Keysym 3808
+
+pattern Keysym_Thai_lekpaet = Keysym 3576
+
+pattern Keysym_rightpointer = Keysym 2795
+
+pattern Keysym_emdash = Keysym 2729
+
+pattern Keysym_nl = Keysym 2536
+
+pattern Keysym_Cyrillic_EN = Keysym 1774
+
+pattern Keysym_Cyrillic_KA = Keysym 1771
+
+pattern Keysym_Cyrillic_ie = Keysym 1733
+
+pattern Keysym_Ukrainian_ie = Keysym 1700
+
+pattern Keysym_Cyrillic_U_straight_bar = Keysym 16778416
+
+pattern Keysym_kana_NU = Keysym 1223
+
+pattern Keysym_kra = Keysym 930
+
+pattern Keysym_eth = Keysym 240
+
+pattern Keysym_3270_ExSelect = Keysym 64795
+
+pattern Keysym_KP_Home = Keysym 65429
+
+pattern Keysym_mute_diaeresis = Keysym 268435627
+
+pattern Keysym_XF86Switch_VT_11 = Keysym 269024779
+
+pattern Keysym_XF86Switch_VT_2 = Keysym 269024770
+
+pattern Keysym_XF86CD = Keysym 269025107
+
+pattern Keysym_XF86Community = Keysym 269025085
+
+pattern Keysym_XF86AudioPrev = Keysym 269025046
+
+pattern Keysym_Sinh_ii = Keysym 16780682
+
+pattern Keysym_braille_dots_35678 = Keysym 16787700
+
+pattern Keysym_braille_dots_125678 = Keysym 16787699
+
+pattern Keysym_braille_dots_67 = Keysym 16787552
+
+pattern Keysym_braille_dots_157 = Keysym 16787537
+
+pattern Keysym_braille_dots_2 = Keysym 16787458
+
+pattern Keysym_LiraSign = Keysym 16785572
+
+pattern Keysym_Abrevebelowdot = Keysym 16785078
+
+pattern Keysym_acircumflexbelowdot = Keysym 16785069
+
+pattern Keysym_Georgian_jhan = Keysym 16781551
+
+pattern Keysym_Armenian_CHA = Keysym 16778569
+
+pattern Keysym_Hangul_Codeinput = Keysym 65335
+
+pattern Keysym_Thai_leksun = Keysym 3568
+
+pattern Keysym_botintegral = Keysym 2213
+
+pattern Keysym_Greek_RHO = Keysym 2001
+
+pattern Keysym_Cyrillic_de = Keysym 1732
+
+pattern Keysym_numerosign = Keysym 1712
+
+pattern Keysym_Cyrillic_SCHWA = Keysym 16778456
+
+pattern Keysym_Farsi_yeh = Keysym 16778956
+
+pattern Keysym_Arabic_qaf = Keysym 1506
+
+pattern Keysym_Arabic_comma = Keysym 1452
+
+pattern Keysym_idotless = Keysym 697
+
+pattern Keysym_semicolon = Keysym 59
+
+pattern Keysym_3270_FieldMark = Keysym 64770
+
+pattern Keysym_ISO_Partial_Line_Down = Keysym 65060
+
+pattern Keysym_L5 = Keysym 65484
+
+pattern Keysym_F12 = Keysym 65481
+
+pattern Keysym_KP_0 = Keysym 65456
+
+pattern Keysym_Redo = Keysym 65382
+
+pattern Keysym_Henkan_Mode = Keysym 65315
+
+pattern Keysym_osfMenuBar = Keysym 268762949
+
+pattern Keysym_SunPageDown = Keysym 65366
+
+pattern Keysym_XF86Switch_VT_8 = Keysym 269024776
+
+pattern Keysym_XF86TopMenu = Keysym 269025186
+
+pattern Keysym_XF86Favorites = Keysym 269025072
+
+pattern Keysym_braille_dots_1234678 = Keysym 16787695
+
+pattern Keysym_braille_dots_8 = Keysym 16787584
+
+pattern Keysym_braille_dots_1567 = Keysym 16787569
+
+pattern Keysym_braille_dots_17 = Keysym 16787521
+
+pattern Keysym_fivesubscript = Keysym 16785541
+
+pattern Keysym_Abelowdot = Keysym 16785056
+
+pattern Keysym_Armenian_lyun = Keysym 16778604
+
+pattern Keysym_Armenian_to = Keysym 16778601
+
+pattern Keysym_Armenian_AYB = Keysym 16778545
+
+pattern Keysym_Hangul_SunkyeongeumMieum = Keysym 3824
+
+pattern Keysym_Hangul_J_Ieung = Keysym 3816
+
+pattern Keysym_Thai_lekha = Keysym 3573
+
+pattern Keysym_Greek_theta = Keysym 2024
+
+pattern Keysym_Greek_OMICRONaccent = Keysym 1959
+
+pattern Keysym_oe = Keysym 5053
+
+pattern Keysym_Zcaron = Keysym 430
+
+pattern Keysym_agrave = Keysym 224
+
+pattern Keysym_Udiaeresis = Keysym 220
+
+pattern Keysym_Pointer_DownLeft = Keysym 65254
+
+pattern Keysym_Meta_L = Keysym 65511
+
+pattern Keysym_F18 = Keysym 65487
+
+pattern Keysym_KP_6 = Keysym 65462
+
+pattern Keysym_InsertLine = Keysym 268500848
+
+pattern Keysym_XF86Q = Keysym 269025136
+
+pattern Keysym_Sinh_i = Keysym 16780681
+
+pattern Keysym_braille_dots_3457 = Keysym 16787548
+
+pattern Keysym_braille_dots_12457 = Keysym 16787547
+
+pattern Keysym_notidentical = Keysym 16786018
+
+pattern Keysym_Ebelowdot = Keysym 16785080
+
+pattern Keysym_Abrevegrave = Keysym 16785072
+
+pattern Keysym_acircumflexgrave = Keysym 16785063
+
+pattern Keysym_Georgian_can = Keysym 16781546
+
+pattern Keysym_Armenian_shesht = Keysym 16778587
+
+pattern Keysym_Hangul_J_Phieuf = Keysym 3821
+
+pattern Keysym_Hangul_J_Mieum = Keysym 3811
+
+pattern Keysym_Thai_lekchet = Keysym 3575
+
+pattern Keysym_Ukranian_JE = Keysym 1716
+
+pattern Keysym_4 = Keysym 52
+
+pattern Keysym_Meta_R = Keysym 65512
+
+pattern Keysym_R4 = Keysym 65493
+
+pattern Keysym_BackTab = Keysym 268500852
+
+pattern Keysym_hpReset = Keysym 268500844
+
+pattern Keysym_XF86Go = Keysym 269025119
+
+pattern Keysym_Sinh_lu2 = Keysym 16780767
+
+pattern Keysym_Sinh_o = Keysym 16780692
+
+pattern Keysym_braille_dots_123678 = Keysym 16787687
+
+pattern Keysym_braille_dots_235 = Keysym 16787478
+
+pattern Keysym_sixsubscript = Keysym 16785542
+
+pattern Keysym_zerosubscript = Keysym 16785536
+
+pattern Keysym_sevensuperior = Keysym 16785527
+
+pattern Keysym_Uhornbelowdot = Keysym 16785136
+
+pattern Keysym_Ibelowdot = Keysym 16785098
+
+pattern Keysym_ecircumflexhook = Keysym 16785091
+
+pattern Keysym_Georgian_xan = Keysym 16781550
+
+pattern Keysym_Armenian_tche = Keysym 16778611
+
+pattern Keysym_Armenian_GHAT = Keysym 16778562
+
+pattern Keysym_Hangul_MultipleCandidate = Keysym 65341
+
+pattern Keysym_filledtribulletdown = Keysym 2793
+
+pattern Keysym_openrectbullet = Keysym 2786
+
+pattern Keysym_lowleftcorner = Keysym 2541
+
+pattern Keysym_kana_KA = Keysym 1206
+
+pattern Keysym_Babovedot = Keysym 16784898
+
+pattern Keysym_Lstroke = Keysym 419
+
+pattern Keysym_parenleft = Keysym 40
+
+pattern Keysym_3270_CursorSelect = Keysym 64796
+
+pattern Keysym_dead_horn = Keysym 65122
+
+pattern Keysym_ISO_Left_Tab = Keysym 65056
+
+pattern Keysym_F21 = Keysym 65490
+
+pattern Keysym_Sinh_pa = Keysym 16780724
+
+pattern Keysym_Sinh_u = Keysym 16780683
+
+pattern Keysym_braille_dots_26 = Keysym 16787490
+
+pattern Keysym_notapproxeq = Keysym 16785991
+
+pattern Keysym_leftshoe = Keysym 3034
+
+pattern Keysym_enfilledsqbullet = Keysym 2791
+
+pattern Keysym_ifonlyif = Keysym 2253
+
+pattern Keysym_Cyrillic_lje = Keysym 1705
+
+pattern Keysym_Fabovedot = Keysym 16784926
+
+pattern Keysym_kcedilla = Keysym 1011
+
+pattern Keysym_hcircumflex = Keysym 694
+
+pattern Keysym_Scaron = Keysym 425
+
+pattern Keysym_F27 = Keysym 65496
+
+pattern Keysym_osfQuickPaste = Keysym 268762931
+
+pattern Keysym_XF86Time = Keysym 269025183
+
+pattern Keysym_XF86AudioCycleTrack = Keysym 269025179
+
+pattern Keysym_XF86RotateWindows = Keysym 269025140
+
+pattern Keysym_XF86Shop = Keysym 269025078
+
+pattern Keysym_XF86PowerOff = Keysym 269025066
+
+pattern Keysym_Sinh_ka = Keysym 16780698
+
+pattern Keysym_braille_dots_23578 = Keysym 16787670
+
+pattern Keysym_braille_dots_1234568 = Keysym 16787647
+
+pattern Keysym_braille_dots_1457 = Keysym 16787545
+
+pattern Keysym_dintegral = Keysym 16785964
+
+pattern Keysym_Hangul_RieulPieub = Keysym 3756
+
+pattern Keysym_Thai_moma = Keysym 3521
+
+pattern Keysym_Arabic_theh = Keysym 1483
+
+pattern Keysym_Arabic_5 = Keysym 16778853
+
+pattern Keysym_Rcedilla = Keysym 931
+
+pattern Keysym_ogonek = Keysym 434
+
+pattern Keysym_uacute = Keysym 250
+
+pattern Keysym_questiondown = Keysym 191
+
+pattern Keysym_threequarters = Keysym 190
+
+pattern Keysym_cedilla = Keysym 184
+
+pattern Keysym_F = Keysym 70
+
+pattern Keysym_3270_Record = Keysym 64792
+
+pattern Keysym_ISO_Move_Line_Down = Keysym 65058
+
+pattern Keysym_osfBeginData = Keysym 268762970
+
+pattern Keysym_hpmute_acute = Keysym 268435624
+
+pattern Keysym_XF86AudioForward = Keysym 269025175
+
+pattern Keysym_XF86ZoomIn = Keysym 269025163
+
+pattern Keysym_Sinh_fa = Keysym 16780742
+
+pattern Keysym_Sinh_aee = Keysym 16780680
+
+pattern Keysym_braille_dots_12347 = Keysym 16787535
+
+pattern Keysym_emptyset = Keysym 16785925
+
+pattern Keysym_Ubelowdot = Keysym 16785124
+
+pattern Keysym_EZH = Keysym 16777655
+
+pattern Keysym_Hangul_Pieub = Keysym 3762
+
+pattern Keysym_Thai_sosua = Keysym 3530
+
+pattern Keysym_Thai_chochoe = Keysym 3500
+
+pattern Keysym_Greek_ETAaccent = Keysym 1955
+
+pattern Keysym_wgrave = Keysym 16785025
+
+pattern Keysym_guillemotleft = Keysym 171
+
+pattern Keysym_L = Keysym 76
+
+pattern Keysym_ampersand = Keysym 38
+
+pattern Keysym_dead_abovedot = Keysym 65110
+
+pattern Keysym_ISO_Enter = Keysym 65076
+
+pattern Keysym_F30 = Keysym 65499
+
+pattern Keysym_KP_F4 = Keysym 65428
+
+pattern Keysym_Hiragana_Katakana = Keysym 65319
+
+pattern Keysym_XF86Bluetooth = Keysym 269025172
+
+pattern Keysym_XF86Tools = Keysym 269025153
+
+pattern Keysym_XF86Search = Keysym 269025051
+
+pattern Keysym_Sinh_aa = Keysym 16780678
+
+pattern Keysym_braille_dots_13478 = Keysym 16787661
+
+pattern Keysym_braille_dots_123568 = Keysym 16787639
+
+pattern Keysym_braille_dots_35 = Keysym 16787476
+
+pattern Keysym_braille_dots_125 = Keysym 16787475
+
+pattern Keysym_notelementof = Keysym 16785929
+
+pattern Keysym_Ybelowdot = Keysym 16785140
+
+pattern Keysym_Ohornbelowdot = Keysym 16785122
+
+pattern Keysym_ahook = Keysym 16785059
+
+pattern Keysym_Georgian_gan = Keysym 16781522
+
+pattern Keysym_Hangul_WA = Keysym 3784
+
+pattern Keysym_Thai_maiyamok = Keysym 3558
+
+pattern Keysym_hebrew_taf = Keysym 3322
+
+pattern Keysym_hebrew_het = Keysym 3303
+
+pattern Keysym_partialderivative = Keysym 2287
+
+pattern Keysym_botrightsqbracket = Keysym 2218
+
+pattern Keysym_Greek_OMEGAaccent = Keysym 1963
+
+pattern Keysym_Cyrillic_KA_vertstroke = Keysym 16778396
+
+pattern Keysym_utilde = Keysym 1021
+
+pattern Keysym_abovedot = Keysym 511
+
+pattern Keysym_Lcaron = Keysym 421
+
+pattern Keysym_multiply = Keysym 215
+
+pattern Keysym_Adiaeresis = Keysym 196
+
+pattern Keysym_cent = Keysym 162
+
+pattern Keysym_R = Keysym 82
+
+pattern Keysym_Pointer_Drag1 = Keysym 65269
+
+pattern Keysym_dead_greek = Keysym 65164
+
+pattern Keysym_dead_small_schwa = Keysym 65162
+
+pattern Keysym_lira = Keysym 268435631
+
+pattern Keysym_osfEscape = Keysym 268762907
+
+pattern Keysym_Sinh_nna = Keysym 16780715
+
+pattern Keysym_braille_dots_5678 = Keysym 16787696
+
+pattern Keysym_braille_dots_14678 = Keysym 16787689
+
+pattern Keysym_ibreve = Keysym 16777517
+
+pattern Keysym_Georgian_nar = Keysym 16781532
+
+pattern Keysym_Hangul_PieubSios = Keysym 3764
+
+pattern Keysym_Thai_rorua = Keysym 3523
+
+pattern Keysym_Thai_bobaimai = Keysym 3514
+
+pattern Keysym_oneeighth = Keysym 2755
+
+pattern Keysym_Greek_ALPHAaccent = Keysym 1953
+
+pattern Keysym_Cyrillic_en_descender = Keysym 16778403
+
+pattern Keysym_Cyrillic_ka_descender = Keysym 16778395
+
+pattern Keysym_Farsi_1 = Keysym 16778993
+
+pattern Keysym_Umacron = Keysym 990
+
+pattern Keysym_lcedilla = Keysym 950
+
+pattern Keysym_odoubleacute = Keysym 501
+
+pattern Keysym_nacute = Keysym 497
+
+pattern Keysym_X = Keysym 88
+
+pattern Keysym_KP_Prior = Keysym 65434
+
+pattern Keysym_Begin = Keysym 65368
+
+pattern Keysym_osfClear = Keysym 268762891
+
+pattern Keysym_XF86TouchpadToggle = Keysym 269025193
+
+pattern Keysym_braille_dots_378 = Keysym 16787652
+
+pattern Keysym_braille_dots_1278 = Keysym 16787651
+
+pattern Keysym_braille_dots_23468 = Keysym 16787630
+
+pattern Keysym_braille_dots_1347 = Keysym 16787533
+
+pattern Keysym_braille_dots_12356 = Keysym 16787511
+
+pattern Keysym_tintegral = Keysym 16785965
+
+pattern Keysym_abelowdot = Keysym 16785057
+
+pattern Keysym_Georgian_hoe = Keysym 16781557
+
+pattern Keysym_Georgian_vin = Keysym 16781525
+
+pattern Keysym_Armenian_at = Keysym 16778600
+
+pattern Keysym_Hangul_J_Hieuh = Keysym 3822
+
+pattern Keysym_Hangul_J_RieulPieub = Keysym 3806
+
+pattern Keysym_hebrew_pe = Keysym 3316
+
+pattern Keysym_horizconnector = Keysym 2211
+
+pattern Keysym_Macedonia_dse = Keysym 1701
+
+pattern Keysym_Farsi_7 = Keysym 16778999
+
+pattern Keysym_kana_RE = Keysym 1242
+
+pattern Keysym_kana_CHI = Keysym 1217
+
+pattern Keysym_eogonek = Keysym 490
+
+pattern Keysym_Zabovedot = Keysym 431
+
+pattern Keysym_Scedilla = Keysym 426
+
+pattern Keysym_Icircumflex = Keysym 206
+
+pattern Keysym_onehalf = Keysym 189
+
+pattern Keysym_3270_Duplicate = Keysym 64769
+
+pattern Keysym_Pointer_Button2 = Keysym 65258
+
+pattern Keysym_Pointer_Left = Keysym 65248
+
+pattern Keysym_dead_E = Keysym 65155
+
+pattern Keysym_script_switch = Keysym 65406
+
+pattern Keysym_Zen_Koho = Keysym 65341
+
+pattern Keysym_Codeinput = Keysym 65335
+
+pattern Keysym_osfDelete = Keysym 268763135
+
+pattern Keysym_SunPaste = Keysym 268828532
+
+pattern Keysym_XF86RockerEnter = Keysym 269025061
+
+pattern Keysym_braille_dots_2478 = Keysym 16787658
+
+pattern Keysym_braille_dots_134 = Keysym 16787469
+
+pattern Keysym_fourthroot = Keysym 16785948
+
+pattern Keysym_ebelowdot = Keysym 16785081
+
+pattern Keysym_Ahook = Keysym 16785058
+
+pattern Keysym_Hangul_J_RieulPhieuf = Keysym 3809
+
+pattern Keysym_Hangul_Jieuj = Keysym 3768
+
+pattern Keysym_Hangul_KiyeogSios = Keysym 3747
+
+pattern Keysym_Thai_nonu = Keysym 3513
+
+pattern Keysym_includedin = Keysym 2266
+
+pattern Keysym_Arabic_dal = Keysym 1487
+
+pattern Keysym_Arabic_superscript_alef = Keysym 16778864
+
+pattern Keysym_kana_ME = Keysym 1234
+
+pattern Keysym_Wcircumflex = Keysym 16777588
+
+pattern Keysym_Ecaron = Keysym 460
+
+pattern Keysym_ntilde = Keysym 241
+
+pattern Keysym_d = Keysym 100
+
+pattern Keysym_KP_Space = Keysym 65408
+
+pattern Keysym_Execute = Keysym 65378
+
+pattern Keysym_XF86Display = Keysym 269025113
+
+pattern Keysym_XF86Launch2 = Keysym 269025090
+
+pattern Keysym_Sinh_ruu2 = Keysym 16780786
+
+pattern Keysym_braille_dots_3678 = Keysym 16787684
+
+pattern Keysym_braille_dots_12678 = Keysym 16787683
+
+pattern Keysym_braille_dots_234578 = Keysym 16787678
+
+pattern Keysym_braille_dots_123458 = Keysym 16787615
+
+pattern Keysym_braille_dot_5 = Keysym 65525
+
+pattern Keysym_ibelowdot = Keysym 16785099
+
+pattern Keysym_Acircumflexbelowdot = Keysym 16785068
+
+pattern Keysym_Armenian_NU = Keysym 16778566
+
+pattern Keysym_Armenian_INI = Keysym 16778555
+
+pattern Keysym_Armenian_E = Keysym 16778551
+
+pattern Keysym_Thai_lekkao = Keysym 3577
+
+pattern Keysym_downshoe = Keysym 3030
+
+pattern Keysym_function = Keysym 2294
+
+pattern Keysym_greaterthanequal = Keysym 2238
+
+pattern Keysym_Greek_switch = Keysym 65406
+
+pattern Keysym_Greek_ETA = Keysym 1991
+
+pattern Keysym_Ukrainian_YI = Keysym 1719
+
+pattern Keysym_Cyrillic_che_descender = Keysym 16778423
+
+pattern Keysym_Arabic_hamzaunderalef = Keysym 1477
+
+pattern Keysym_kana_HE = Keysym 1229
+
+pattern Keysym_wdiaeresis = Keysym 16785029
+
+pattern Keysym_babovedot = Keysym 16784899
+
+pattern Keysym_ecircumflex = Keysym 234
+
+pattern Keysym_j = Keysym 106
+
+pattern Keysym_ISO_Group_Lock = Keysym 65031
+
+pattern Keysym_ISO_Group_Latch = Keysym 65030
+
+pattern Keysym_ISO_Level3_Lock = Keysym 65029
+
+pattern Keysym_ISO_Level3_Latch = Keysym 65028
+
+pattern Keysym_XF86FrameBack = Keysym 269025181
+
+pattern Keysym_XF86MailForward = Keysym 269025168
+
+pattern Keysym_XF86Launch8 = Keysym 269025096
+
+pattern Keysym_Sinh_u2 = Keysym 16780756
+
+pattern Keysym_braille_dots_12345678 = Keysym 16787711
+
+pattern Keysym_braille_dots_14568 = Keysym 16787641
+
+pattern Keysym_braille_dots_456 = Keysym 16787512
+
+pattern Keysym_braille_dots_1356 = Keysym 16787509
+
+pattern Keysym_eightsuperior = Keysym 16785528
+
+pattern Keysym_Ocircumflexhook = Keysym 16785108
+
+pattern Keysym_ocircumflexacute = Keysym 16785105
+
+pattern Keysym_ohook = Keysym 16785103
+
+pattern Keysym_Acircumflexgrave = Keysym 16785062
+
+pattern Keysym_Georgian_kan = Keysym 16781529
+
+pattern Keysym_Armenian_cha = Keysym 16778617
+
+pattern Keysym_Armenian_ZA = Keysym 16778550
+
+pattern Keysym_Hangul_J_Sios = Keysym 3814
+
+pattern Keysym_Thai_phophung = Keysym 3516
+
+pattern Keysym_Thai_khokhwai = Keysym 3492
+
+pattern Keysym_emopenrectangle = Keysym 2767
+
+pattern Keysym_Greek_rho = Keysym 2033
+
+pattern Keysym_Greek_xi = Keysym 2030
+
+pattern Keysym_Greek_zeta = Keysym 2022
+
+pattern Keysym_Greek_IOTAdieresis = Keysym 1957
+
+pattern Keysym_Cyrillic_ha = Keysym 1736
+
+pattern Keysym_Ukranian_I = Keysym 1718
+
+pattern Keysym_Arabic_ddal = Keysym 16778888
+
+pattern Keysym_fabovedot = Keysym 16784927
+
+pattern Keysym_scircumflex = Keysym 766
+
+pattern Keysym_Cacute = Keysym 454
+
+pattern Keysym_igrave = Keysym 236
+
+pattern Keysym_diaeresis = Keysym 168
+
+pattern Keysym_braceright = Keysym 125
+
+pattern Keysym_p = Keysym 112
+
+pattern Keysym_colon = Keysym 58
+
+pattern Keysym_Pointer_DblClick3 = Keysym 65265
+
+pattern Keysym_osfPageRight = Keysym 268762947
+
+pattern Keysym_Sinh_oo2 = Keysym 16780765
+
+pattern Keysym_braille_dots_268 = Keysym 16787618
+
+pattern Keysym_braille_dots_1237 = Keysym 16787527
+
+pattern Keysym_RupeeSign = Keysym 16785576
+
+pattern Keysym_schwa = Keysym 16777817
+
+pattern Keysym_Armenian_se = Keysym 16778621
+
+pattern Keysym_Armenian_ayb = Keysym 16778593
+
+pattern Keysym_Armenian_but = Keysym 16778589
+
+pattern Keysym_hebrew_zayin = Keysym 3302
+
+pattern Keysym_hebrew_gimmel = Keysym 3298
+
+pattern Keysym_prescription = Keysym 2772
+
+pattern Keysym_Greek_EPSILONaccent = Keysym 1954
+
+pattern Keysym_Cyrillic_YU = Keysym 1760
+
+pattern Keysym_kappa = Keysym 930
+
+pattern Keysym_Tcedilla = Keysym 478
+
+pattern Keysym_Ooblique = Keysym 216
+
+pattern Keysym_Oslash = Keysym 216
+
+pattern Keysym_Egrave = Keysym 200
+
+pattern Keysym_v = Keysym 118
+
+pattern Keysym_asciicircum = Keysym 94
+
+pattern Keysym_Pointer_DfltBtnPrev = Keysym 65276
+
+pattern Keysym_Prev_Virtual_Screen = Keysym 65233
+
+pattern Keysym_KP_Up = Keysym 65431
+
+pattern Keysym_XF86LaunchD = Keysym 269025101
+
+pattern Keysym_XF86Eject = Keysym 269025068
+
+pattern Keysym_XF86AudioPlay = Keysym 269025044
+
+pattern Keysym_braille_dots_1678 = Keysym 16787681
+
+pattern Keysym_braille_dots_2368 = Keysym 16787622
+
+pattern Keysym_braille_dots_123467 = Keysym 16787567
+
+pattern Keysym_ubelowdot = Keysym 16785125
+
+pattern Keysym_ocircumflextilde = Keysym 16785111
+
+pattern Keysym_Armenian_TSA = Keysym 16778558
+
+pattern Keysym_Hangul_J_KiyeogSios = Keysym 3798
+
+pattern Keysym_Hangul_YE = Keysym 3782
+
+pattern Keysym_trademark = Keysym 2761
+
+pattern Keysym_horizlinescan3 = Keysym 2544
+
+pattern Keysym_botleftsqbracket = Keysym 2216
+
+pattern Keysym_3270_AltCursor = Keysym 64784
+
+pattern Keysym_ch = Keysym 65184
+
+pattern Keysym_dead_belowverticalline = Keysym 65170
+
+pattern Keysym_ISO_Prev_Group_Lock = Keysym 65035
+
+pattern Keysym_F1 = Keysym 65470
+
+pattern Keysym_osfRight = Keysym 268762963
+
+pattern Keysym_XF86Video = Keysym 269025159
+
+pattern Keysym_braille_dots_3568 = Keysym 16787636
+
+pattern Keysym_braille_dots_12568 = Keysym 16787635
+
+pattern Keysym_ybelowdot = Keysym 16785141
+
+pattern Keysym_Ohook = Keysym 16785102
+
+pattern Keysym_Hangul_A = Keysym 3775
+
+pattern Keysym_Thai_thothung = Keysym 3510
+
+pattern Keysym_hebrew_aleph = Keysym 3296
+
+pattern Keysym_enopencircbullet = Keysym 2784
+
+pattern Keysym_horizlinescan9 = Keysym 2547
+
+pattern Keysym_ht = Keysym 2530
+
+pattern Keysym_Greek_TAU = Keysym 2004
+
+pattern Keysym_dead_i = Keysym 65156
+
+pattern Keysym_R12 = Keysym 65501
+
+pattern Keysym_F7 = Keysym 65476
+
+pattern Keysym_KP_Enter = Keysym 65421
+
+pattern Keysym_Henkan = Keysym 65315
+
+pattern Keysym_XF86Travel = Keysym 269025154
+
+pattern Keysym_Sinh_lla = Keysym 16780741
+
+pattern Keysym_braille_dots_346 = Keysym 16787500
+
+pattern Keysym_braille_dots_1246 = Keysym 16787499
+
+pattern Keysym_Georgian_khar = Keysym 16781541
+
+pattern Keysym_Hangul_J_Cieuc = Keysym 3818
+
+pattern Keysym_Hangul_OE = Keysym 3786
+
+pattern Keysym_enfilledcircbullet = Keysym 2790
+
+pattern Keysym_Greek_nu = Keysym 2029
+
+pattern Keysym_Greek_OMEGA = Keysym 2009
+
+pattern Keysym_kana_YO = Keysym 1238
+
+pattern Keysym_kana_TI = Keysym 1217
+
+pattern Keysym_ncedilla = Keysym 1009
+
+pattern Keysym_Udoubleacute = Keysym 475
+
+pattern Keysym_braceleft = Keysym 123
+
+pattern Keysym_quoteright = Keysym 39
+
+pattern Keysym_3270_ChangeScreen = Keysym 64793
+
+pattern Keysym_dead_o = Keysym 65158
+
+pattern Keysym_KP_Page_Up = Keysym 65434
+
+pattern Keysym_KP_Tab = Keysym 65417
+
+pattern Keysym_XF86Switch_VT_12 = Keysym 269024780
+
+pattern Keysym_XF86Switch_VT_3 = Keysym 269024771
+
+pattern Keysym_XF86LightBulb = Keysym 269025077
+
+pattern Keysym_braille_dots_68 = Keysym 16787616
+
+pattern Keysym_braille_dots_158 = Keysym 16787601
+
+pattern Keysym_braille_dots_24567 = Keysym 16787578
+
+pattern Keysym_braille_dots_3 = Keysym 16787460
+
+pattern Keysym_braille_dots_12 = Keysym 16787459
+
+pattern Keysym_Ohornacute = Keysym 16785114
+
+pattern Keysym_Thai_khorakhang = Keysym 3494
+
+pattern Keysym_hebrew_kuf = Keysym 3319
+
+pattern Keysym_filledrighttribullet = Keysym 2781
+
+pattern Keysym_Cyrillic_te = Keysym 1748
+
+pattern Keysym_Cyrillic_U_macron = Keysym 16778478
+
+pattern Keysym_kana_YU = Keysym 1237
+
+pattern Keysym_kana_TO = Keysym 1220
+
+pattern Keysym_zabovedot = Keysym 447
+
+pattern Keysym_Yacute = Keysym 221
+
+pattern Keysym_periodcentered = Keysym 183
+
+pattern Keysym_dead_u = Keysym 65160
+
+pattern Keysym_L6 = Keysym 65485
+
+pattern Keysym_F13 = Keysym 65482
+
+pattern Keysym_KP_1 = Keysym 65457
+
+pattern Keysym_osfPageUp = Keysym 268762945
+
+pattern Keysym_XF86Switch_VT_9 = Keysym 269024777
+
+pattern Keysym_XF86UserPB = Keysym 269025156
+
+pattern Keysym_XF86RotationPB = Keysym 269025141
+
+pattern Keysym_XF86Cut = Keysym 269025112
+
+pattern Keysym_braille_dots_1568 = Keysym 16787633
+
+pattern Keysym_braille_dots_18 = Keysym 16787585
+
+pattern Keysym_ezh = Keysym 16777874
+
+pattern Keysym_zstroke = Keysym 16777654
+
+pattern Keysym_Armenian_o = Keysym 16778629
+
+pattern Keysym_Hangul_J_Khieuq = Keysym 3819
+
+pattern Keysym_Hangul_Rieul = Keysym 3753
+
+pattern Keysym_Hangul_NieunJieuj = Keysym 3749
+
+pattern Keysym_Thai_nonen = Keysym 3507
+
+pattern Keysym_upshoe = Keysym 3011
+
+pattern Keysym_dagger = Keysym 2801
+
+pattern Keysym_opentribulletdown = Keysym 2788
+
+pattern Keysym_emfilledrect = Keysym 2783
+
+pattern Keysym_Arabic_heh_goal = Keysym 16778945
+
+pattern Keysym_kana_TU = Keysym 1218
+
+pattern Keysym_Tcaron = Keysym 427
+
+pattern Keysym_macron = Keysym 175
+
+pattern Keysym_F19 = Keysym 65488
+
+pattern Keysym_KP_7 = Keysym 65463
+
+pattern Keysym_Dgrave_accent = Keysym 268500576
+
+pattern Keysym_SunAudioLowerVolume = Keysym 268828535
+
+pattern Keysym_XF86LogGrabInfo = Keysym 269024805
+
+pattern Keysym_XF86Blue = Keysym 269025190
+
+pattern Keysym_XF86Subtitle = Keysym 269025178
+
+pattern Keysym_XF86RotationKB = Keysym 269025142
+
+pattern Keysym_braille_dots_3458 = Keysym 16787612
+
+pattern Keysym_braille_dots_12458 = Keysym 16787611
+
+pattern Keysym_Ytilde = Keysym 16785144
+
+pattern Keysym_uhorngrave = Keysym 16785131
+
+pattern Keysym_Ohorntilde = Keysym 16785120
+
+pattern Keysym_Georgian_chin = Keysym 16781545
+
+pattern Keysym_Thai_lochula = Keysym 3532
+
+pattern Keysym_Greek_omicron = Keysym 2031
+
+pattern Keysym_Greek_LAMDA = Keysym 1995
+
+pattern Keysym_Cyrillic_SHA = Keysym 1787
+
+pattern Keysym_Cyrillic_je = Keysym 1704
+
+pattern Keysym_Arabic_sad = Keysym 1493
+
+pattern Keysym_kana_conjunctive = Keysym 1189
+
+pattern Keysym_5 = Keysym 53
+
+pattern Keysym_Pointer_Down = Keysym 65251
+
+pattern Keysym_R5 = Keysym 65494
+
+pattern Keysym_KP_Delete = Keysym 65439
+
+pattern Keysym_osfCut = Keysym 268762883
+
+pattern Keysym_XF86Stop = Keysym 269025064
+
+pattern Keysym_Sinh_luu2 = Keysym 16780787
+
+pattern Keysym_Sinh_oo = Keysym 16780693
+
+pattern Keysym_braille_dots_167 = Keysym 16787553
+
+pattern Keysym_braille_dots_236 = Keysym 16787494
+
+pattern Keysym_Armenian_SHA = Keysym 16778567
+
+pattern Keysym_Hangul_PreHanja = Keysym 65338
+
+pattern Keysym_hebrew_doublelowline = Keysym 3295
+
+pattern Keysym_botrightsummation = Keysym 2230
+
+pattern Keysym_Cyrillic_ZHE = Keysym 1782
+
+pattern Keysym_Cyrillic_EN_descender = Keysym 16778402
+
+pattern Keysym_Cyrillic_KA_descender = Keysym 16778394
+
+pattern Keysym_Arabic_zah = Keysym 1496
+
+pattern Keysym_Arabic_tteh = Keysym 16778873
+
+pattern Keysym_Ydiaeresis = Keysym 5054
+
+pattern Keysym_Racute = Keysym 448
+
+pattern Keysym_acute = Keysym 180
+
+pattern Keysym_period = Keysym 46
+
+pattern Keysym_3270_Test = Keysym 64781
+
+pattern Keysym_F22 = Keysym 65491
+
+pattern Keysym_osfHelp = Keysym 268762986
+
+pattern Keysym_XF86Terminal = Keysym 269025152
+
+pattern Keysym_braille_dots_27 = Keysym 16787522
+
+pattern Keysym_Armenian_RE = Keysym 16778576
+
+pattern Keysym_Armenian_ZHE = Keysym 16778554
+
+pattern Keysym_Hangul_J_Dikeud = Keysym 3802
+
+pattern Keysym_Hangul_Romaja = Keysym 65334
+
+pattern Keysym_endash = Keysym 2730
+
+pattern Keysym_logicalor = Keysym 2271
+
+pattern Keysym_Greek_ALPHA = Keysym 1985
+
+pattern Keysym_Greek_IOTAaccent = Keysym 1956
+
+pattern Keysym_Arabic_switch = Keysym 65406
+
+pattern Keysym_Arabic_fatha = Keysym 1518
+
+pattern Keysym_Arabic_meem = Keysym 1509
+
+pattern Keysym_Arabic_0 = Keysym 16778848
+
+pattern Keysym_kana_E = Keysym 1204
+
+pattern Keysym_A = Keysym 65
+
+pattern Keysym_MouseKeys_Accel_Enable = Keysym 65143
+
+pattern Keysym_F28 = Keysym 65497
+
+pattern Keysym_XF86Music = Keysym 269025170
+
+pattern Keysym_XF86Documents = Keysym 269025115
+
+pattern Keysym_XF86ApplicationRight = Keysym 269025105
+
+pattern Keysym_braille_dots_45678 = Keysym 16787704
+
+pattern Keysym_braille_dots_135678 = Keysym 16787701
+
+pattern Keysym_braille_dots_1458 = Keysym 16787609
+
+pattern Keysym_braille_dots_3467 = Keysym 16787564
+
+pattern Keysym_braille_dots_12467 = Keysym 16787563
+
+pattern Keysym_ohorn = Keysym 16777633
+
+pattern Keysym_Ocircumflexacute = Keysym 16785104
+
+pattern Keysym_Georgian_san = Keysym 16781537
+
+pattern Keysym_Armenian_VYUN = Keysym 16778578
+
+pattern Keysym_Armenian_MEN = Keysym 16778564
+
+pattern Keysym_Hangul_J_NieunJieuj = Keysym 3800
+
+pattern Keysym_Thai_sarae = Keysym 3552
+
+pattern Keysym_hebrew_tet = Keysym 3304
+
+pattern Keysym_hebrew_waw = Keysym 3301
+
+pattern Keysym_seveneighths = Keysym 2758
+
+pattern Keysym_Arabic_6 = Keysym 16778854
+
+pattern Keysym_emacron = Keysym 954
+
+pattern Keysym_oacute = Keysym 243
+
+pattern Keysym_G = Keysym 71
+
+pattern Keysym_osfSelectAll = Keysym 268762993
+
+pattern Keysym_Dring_accent = Keysym 268500656
+
+pattern Keysym_Sinh_va = Keysym 16780736
+
+pattern Keysym_braille_dots_12348 = Keysym 16787599
+
+pattern Keysym_braille_dots_245 = Keysym 16787482
+
+pattern Keysym_Abrevehook = Keysym 16785074
+
+pattern Keysym_acircumflexhook = Keysym 16785065
+
+pattern Keysym_Armenian_ini = Keysym 16778603
+
+pattern Keysym_hebrew_shin = Keysym 3321
+
+pattern Keysym_rightcaret = Keysym 2982
+
+pattern Keysym_Greek_eta = Keysym 2023
+
+pattern Keysym_Arabic_yeh = Keysym 1514
+
+pattern Keysym_uogonek = Keysym 1017
+
+pattern Keysym_Ccircumflex = Keysym 710
+
+pattern Keysym_Odiaeresis = Keysym 214
+
+pattern Keysym_ordfeminine = Keysym 170
+
+pattern Keysym_M = Keysym 77
+
+pattern Keysym_asterisk = Keysym 42
+
+pattern Keysym_dead_belowtilde = Keysym 65130
+
+pattern Keysym_F31 = Keysym 65500
+
+pattern Keysym_Page_Up = Keysym 65365
+
+pattern Keysym_mute_asciicircum = Keysym 268435626
+
+pattern Keysym_osfEndLine = Keysym 268762967
+
+pattern Keysym_osfActivate = Keysym 268762948
+
+pattern Keysym_XF86History = Keysym 269025079
+
+pattern Keysym_XF86Calendar = Keysym 269025056
+
+pattern Keysym_braille_dots_36 = Keysym 16787492
+
+pattern Keysym_braille_dots_126 = Keysym 16787491
+
+pattern Keysym_braille_dots_2345 = Keysym 16787486
+
+pattern Keysym_because = Keysym 16785973
+
+pattern Keysym_sevensubscript = Keysym 16785543
+
+pattern Keysym_DongSign = Keysym 16785579
+
+pattern Keysym_Ocircumflextilde = Keysym 16785110
+
+pattern Keysym_Greek_MU = Keysym 1996
+
+pattern Keysym_dstroke = Keysym 496
+
+pattern Keysym_otilde = Keysym 245
+
+pattern Keysym_ae = Keysym 230
+
+pattern Keysym_guillemotright = Keysym 187
+
+pattern Keysym_S = Keysym 83
+
+pattern Keysym_Pointer_Drag2 = Keysym 65270
+
+pattern Keysym_L10 = Keysym 65489
+
+pattern Keysym_SunFA_Cedilla = Keysym 268828421
+
+pattern Keysym_XF86Save = Keysym 269025143
+
+pattern Keysym_XF86VendorHome = Keysym 269025076
+
+pattern Keysym_XF86Back = Keysym 269025062
+
+pattern Keysym_Sinh_la = Keysym 16780733
+
+pattern Keysym_braille_dots_1234578 = Keysym 16787679
+
+pattern Keysym_braille_dots_567 = Keysym 16787568
+
+pattern Keysym_braille_dots_1467 = Keysym 16787561
+
+pattern Keysym_WonSign = Keysym 16785577
+
+pattern Keysym_Ohorn = Keysym 16777632
+
+pattern Keysym_Georgian_in = Keysym 16781528
+
+pattern Keysym_Armenian_TYUN = Keysym 16778575
+
+pattern Keysym_Armenian_question = Keysym 16778590
+
+pattern Keysym_Hangul_Ieung = Keysym 3767
+
+pattern Keysym_Hangul_RieulMieum = Keysym 3755
+
+pattern Keysym_Thai_baht = Keysym 3551
+
+pattern Keysym_Thai_ngongu = Keysym 3495
+
+pattern Keysym_openstar = Keysym 2789
+
+pattern Keysym_downarrow = Keysym 2302
+
+pattern Keysym_Greek_kappa = Keysym 2026
+
+pattern Keysym_Cyrillic_I = Keysym 1769
+
+pattern Keysym_Serbian_JE = Keysym 1720
+
+pattern Keysym_Ukrainian_I = Keysym 1718
+
+pattern Keysym_Arabic_tehmarbuta = Keysym 1481
+
+pattern Keysym_Farsi_2 = Keysym 16778994
+
+pattern Keysym_kana_TSU = Keysym 1218
+
+pattern Keysym_degree = Keysym 176
+
+pattern Keysym_Y = Keysym 89
+
+pattern Keysym_SunPageUp = Keysym 65365
+
+pattern Keysym_Sinh_nya = Keysym 16780708
+
+pattern Keysym_Sinh_ga = Keysym 16780700
+
+pattern Keysym_braille_dots_1348 = Keysym 16787597
+
+pattern Keysym_braille_dots_12357 = Keysym 16787543
+
+pattern Keysym_ecircumflexgrave = Keysym 16785089
+
+pattern Keysym_Georgian_ban = Keysym 16781521
+
+pattern Keysym_Armenian_ra = Keysym 16778620
+
+pattern Keysym_Armenian_tsa = Keysym 16778606
+
+pattern Keysym_Hangul_Mieum = Keysym 3761
+
+pattern Keysym_Thai_saraue = Keysym 3542
+
+pattern Keysym_crossinglines = Keysym 2542
+
+pattern Keysym_Cyrillic_HARDSIGN = Keysym 1791
+
+pattern Keysym_Cyrillic_O = Keysym 1775
+
+pattern Keysym_Cyrillic_shcha = Keysym 1757
+
+pattern Keysym_Farsi_8 = Keysym 16779000
+
+pattern Keysym_semivoicedsound = Keysym 1247
+
+pattern Keysym_kana_middledot = Keysym 1189
+
+pattern Keysym_tslash = Keysym 956
+
+pattern Keysym_ccaron = Keysym 488
+
+pattern Keysym_Ediaeresis = Keysym 203
+
+pattern Keysym_less = Keysym 60
+
+pattern Keysym_3270_EraseInput = Keysym 64775
+
+pattern Keysym_Pointer_Button3 = Keysym 65259
+
+pattern Keysym_dead_aboveverticalline = Keysym 65169
+
+pattern Keysym_ISO_Set_Margin_Right = Keysym 65064
+
+pattern Keysym_ISO_Group_Shift = Keysym 65406
+
+pattern Keysym_ISO_Level3_Shift = Keysym 65027
+
+pattern Keysym_Clear = Keysym 65291
+
+pattern Keysym_Tab = Keysym 65289
+
+pattern Keysym_ClearLine = Keysym 268500847
+
+pattern Keysym_osfRestore = Keysym 268763000
+
+pattern Keysym_osfBackTab = Keysym 268762887
+
+pattern Keysym_XF86WakeUp = Keysym 269025067
+
+pattern Keysym_Sinh_ai2 = Keysym 16780763
+
+pattern Keysym_Sinh_ba = Keysym 16780726
+
+pattern Keysym_Sinh_dha = Keysym 16780719
+
+pattern Keysym_braille_dots_123578 = Keysym 16787671
+
+pattern Keysym_braille_dots_45 = Keysym 16787480
+
+pattern Keysym_braille_dots_135 = Keysym 16787477
+
+pattern Keysym_Georgian_cil = Keysym 16781548
+
+pattern Keysym_Armenian_GIM = Keysym 16778547
+
+pattern Keysym_Thai_nikhahit = Keysym 3565
+
+pattern Keysym_Thai_fofa = Keysym 3517
+
+pattern Keysym_hebrew_finalzade = Keysym 3317
+
+pattern Keysym_circle = Keysym 3023
+
+pattern Keysym_upcaret = Keysym 2985
+
+pattern Keysym_logicaland = Keysym 2270
+
+pattern Keysym_union = Keysym 2269
+
+pattern Keysym_botleftsummation = Keysym 2226
+
+pattern Keysym_Greek_tau = Keysym 2036
+
+pattern Keysym_Cyrillic_U = Keysym 1781
+
+pattern Keysym_Cyrillic_IE = Keysym 1765
+
+pattern Keysym_Byelorussian_SHORTU = Keysym 1726
+
+pattern Keysym_Ukrainian_IE = Keysym 1716
+
+pattern Keysym_Arabic_heh = Keysym 1511
+
+pattern Keysym_kana_i = Keysym 1192
+
+pattern Keysym_e = Keysym 101
+
+pattern Keysym_Super_L = Keysym 65515
+
+pattern Keysym_KP_Page_Down = Keysym 65435
+
+pattern Keysym_osfInsert = Keysym 268762979
+
+pattern Keysym_hpKP_BackTab = Keysym 268500853
+
+pattern Keysym_Dtilde = Keysym 268500606
+
+pattern Keysym_XF86OfficeHome = Keysym 269025130
+
+pattern Keysym_XF86Launch3 = Keysym 269025091
+
+pattern Keysym_braille_dot_6 = Keysym 65526
+
+pattern Keysym_Georgian_char = Keysym 16781549
+
+pattern Keysym_Cyrillic_DE = Keysym 1764
+
+pattern Keysym_kana_o = Keysym 1195
+
+pattern Keysym_Omacron = Keysym 978
+
+pattern Keysym_Aogonek = Keysym 417
+
+pattern Keysym_aacute = Keysym 225
+
+pattern Keysym_yen = Keysym 165
+
+pattern Keysym_k = Keysym 107
+
+pattern Keysym_equal = Keysym 61
+
+pattern Keysym_3270_PA1 = Keysym 64778
+
+pattern Keysym_ISO_Prev_Group = Keysym 65034
+
+pattern Keysym_Super_R = Keysym 65516
+
+pattern Keysym_Zenkaku = Keysym 65320
+
+pattern Keysym_Escape = Keysym 65307
+
+pattern Keysym_osfUp = Keysym 268762962
+
+pattern Keysym_XF86Launch9 = Keysym 269025097
+
+pattern Keysym_XF86Memo = Keysym 269025054
+
+pattern Keysym_XF86AudioRaiseVolume = Keysym 269025043
+
+pattern Keysym_Sinh_nja = Keysym 16780710
+
+pattern Keysym_braille_dots_23478 = Keysym 16787662
+
+pattern Keysym_braille_dots_457 = Keysym 16787544
+
+pattern Keysym_braille_dots_1357 = Keysym 16787541
+
+pattern Keysym_Abreveacute = Keysym 16785070
+
+pattern Keysym_acircumflexacute = Keysym 16785061
+
+pattern Keysym_Lbelowdot = Keysym 16784950
+
+pattern Keysym_Armenian_TO = Keysym 16778553
+
+pattern Keysym_Hangul_J_RieulMieum = Keysym 3805
+
+pattern Keysym_Hangul_J_Kiyeog = Keysym 3796
+
+pattern Keysym_Hangul_End = Keysym 65331
+
+pattern Keysym_Thai_dochada = Keysym 3502
+
+pattern Keysym_hebrew_finalpe = Keysym 3315
+
+pattern Keysym_hebrew_zain = Keysym 3302
+
+pattern Keysym_Cyrillic_a = Keysym 1729
+
+pattern Keysym_Cyrillic_ZHE_descender = Keysym 16778390
+
+pattern Keysym_Arabic_seen = Keysym 1491
+
+pattern Keysym_kana_SE = Keysym 1214
+
+pattern Keysym_kana_SHI = Keysym 1212
+
+pattern Keysym_kana_u = Keysym 1193
+
+pattern Keysym_OE = Keysym 5052
+
+pattern Keysym_Eabovedot = Keysym 972
+
+pattern Keysym_q = Keysym 113
+
+pattern Keysym_3270_BackTab = Keysym 64773
+
+pattern Keysym_Pointer_DblClick4 = Keysym 65266
+
+pattern Keysym_ISO_Next_Group_Lock = Keysym 65033
+
+pattern Keysym_Page_Down = Keysym 65366
+
+pattern Keysym_hpmute_asciitilde = Keysym 268435628
+
+pattern Keysym_hpDeleteChar = Keysym 268500851
+
+pattern Keysym_XF86Book = Keysym 269025106
+
+pattern Keysym_XF86PowerDown = Keysym 269025057
+
+pattern Keysym_XF86MonBrightnessDown = Keysym 269025027
+
+pattern Keysym_braille_dots_24678 = Keysym 16787690
+
+pattern Keysym_braille_dots_1238 = Keysym 16787591
+
+pattern Keysym_yhook = Keysym 16785143
+
+pattern Keysym_Thai_saraae = Keysym 3553
+
+pattern Keysym_filledlefttribullet = Keysym 2780
+
+pattern Keysym_Cyrillic_U_straight = Keysym 16778414
+
+pattern Keysym_Arabic_hamza_above = Keysym 16778836
+
+pattern Keysym_Arabic_ra = Keysym 1489
+
+pattern Keysym_kana_switch = Keysym 65406
+
+pattern Keysym_kana_NE = Keysym 1224
+
+pattern Keysym_Iabovedot = Keysym 681
+
+pattern Keysym_atilde = Keysym 227
+
+pattern Keysym_plusminus = Keysym 177
+
+pattern Keysym_exclamdown = Keysym 161
+
+pattern Keysym_w = Keysym 119
+
+pattern Keysym_greater = Keysym 62
+
+pattern Keysym_comma = Keysym 44
+
+pattern Keysym_Pointer_DownRight = Keysym 65255
+
+pattern Keysym_dead_doublegrave = Keysym 65126
+
+pattern Keysym_dead_stroke = Keysym 65123
+
+pattern Keysym_Delete = Keysym 65535
+
+pattern Keysym_longminus = Keysym 268435702
+
+pattern Keysym_Dcedilla_accent = Keysym 268500524
+
+pattern Keysym_XF86Xfer = Keysym 269025162
+
+pattern Keysym_XF86SplitScreen = Keysym 269025149
+
+pattern Keysym_XF86LaunchE = Keysym 269025102
+
+pattern Keysym_XF86AudioPause = Keysym 269025073
+
+pattern Keysym_Sinh_luu = Keysym 16780688
+
+pattern Keysym_braille_dots_123468 = Keysym 16787631
+
+pattern Keysym_braille_dot_10 = Keysym 65530
+
+pattern Keysym_Abrevetilde = Keysym 16785076
+
+pattern Keysym_acircumflextilde = Keysym 16785067
+
+pattern Keysym_latincross = Keysym 2777
+
+pattern Keysym_Cyrillic_sha = Keysym 1755
+
+pattern Keysym_Serbian_NJE = Keysym 1722
+
+pattern Keysym_Mabovedot = Keysym 16784960
+
+pattern Keysym_Ubreve = Keysym 733
+
+pattern Keysym_lstroke = Keysym 435
+
+pattern Keysym_Zacute = Keysym 428
+
+pattern Keysym_thorn = Keysym 254
+
+pattern Keysym_mu = Keysym 181
+
+pattern Keysym_3270_Setup = Keysym 64791
+
+pattern Keysym_c_h = Keysym 65187
+
+pattern Keysym_dead_belowcomma = Keysym 65134
+
+pattern Keysym_dead_circumflex = Keysym 65106
+
+pattern Keysym_F2 = Keysym 65471
+
+pattern Keysym_osfPageLeft = Keysym 268762944
+
+pattern Keysym_XF86HotLinks = Keysym 269025082
+
+pattern Keysym_braille_dots_14578 = Keysym 16787673
+
+pattern Keysym_Georgian_hae = Keysym 16781552
+
+pattern Keysym_Armenian_sha = Keysym 16778615
+
+pattern Keysym_Hangul_SsangSios = Keysym 3766
+
+pattern Keysym_Hangul_RieulHieuh = Keysym 3760
+
+pattern Keysym_Hangul_Special = Keysym 65343
+
+pattern Keysym_hebrew_yod = Keysym 3305
+
+pattern Keysym_doublelowquotemark = Keysym 2814
+
+pattern Keysym_musicalflat = Keysym 2806
+
+pattern Keysym_musicalsharp = Keysym 2805
+
+pattern Keysym_nabla = Keysym 2245
+
+pattern Keysym_Cyrillic_zhe = Keysym 1750
+
+pattern Keysym_Byelorussian_shortu = Keysym 1710
+
+pattern Keysym_Arabic_ha = Keysym 1511
+
+pattern Keysym_rcedilla = Keysym 947
+
+pattern Keysym_onesuperior = Keysym 185
+
+pattern Keysym_R13 = Keysym 65502
+
+pattern Keysym_F8 = Keysym 65477
+
+pattern Keysym_Undo = Keysym 65381
+
+pattern Keysym_Right = Keysym 65363
+
+pattern Keysym_Hankaku = Keysym 65321
+
+pattern Keysym_hpIO = Keysym 268435694
+
+pattern Keysym_SunSys_Req = Keysym 268828512
+
+pattern Keysym_XF86Hibernate = Keysym 269025192
+
+pattern Keysym_XF86BrightnessAdjust = Keysym 269025083
+
+pattern Keysym_braille_dots_278 = Keysym 16787650
+
+pattern Keysym_braille_dots_347 = Keysym 16787532
+
+pattern Keysym_braille_dots_1247 = Keysym 16787531
+
+pattern Keysym_Yhook = Keysym 16785142
+
+pattern Keysym_Ohornhook = Keysym 16785118
+
+pattern Keysym_Armenian_apostrophe = Keysym 16778586
+
+pattern Keysym_Armenian_DZA = Keysym 16778561
+
+pattern Keysym_Armenian_zhe = Keysym 16778602
+
+pattern Keysym_Armenian_ligature_ew = Keysym 16778631
+
+pattern Keysym_Hangul_Hieuh = Keysym 3774
+
+pattern Keysym_righttack = Keysym 3068
+
+pattern Keysym_filledtribulletup = Keysym 2792
+
+pattern Keysym_Arabic_hamza_below = Keysym 16778837
+
+pattern Keysym_wacute = Keysym 16785027
+
+pattern Keysym_jcircumflex = Keysym 700
+
+pattern Keysym_ssharp = Keysym 223
+
+pattern Keysym_L1 = Keysym 65480
+
+pattern Keysym_Left = Keysym 65361
+
+pattern Keysym_Pause = Keysym 65299
+
+pattern Keysym_osfSelect = Keysym 268762976
+
+pattern Keysym_hpInsertLine = Keysym 268500848
+
+pattern Keysym_hpClearLine = Keysym 268500847
+
+pattern Keysym_Dcircumflex_accent = Keysym 268500574
+
+pattern Keysym_SunVideoDegauss = Keysym 268828538
+
+pattern Keysym_XF86Switch_VT_4 = Keysym 269024772
+
+pattern Keysym_XF86Copy = Keysym 269025111
+
+pattern Keysym_braille_dots_2378 = Keysym 16787654
+
+pattern Keysym_braille_dots_24568 = Keysym 16787642
+
+pattern Keysym_braille_dots_13456 = Keysym 16787517
+
+pattern Keysym_braille_dots_4 = Keysym 16787464
+
+pattern Keysym_braille_dots_13 = Keysym 16787461
+
+pattern Keysym_NewSheqelSign = Keysym 16785578
+
+pattern Keysym_Armenian_men = Keysym 16778612
+
+pattern Keysym_Armenian_yentamna = Keysym 16778634
+
+pattern Keysym_Thai_sosala = Keysym 3528
+
+pattern Keysym_Thai_popla = Keysym 3515
+
+pattern Keysym_decimalpoint = Keysym 2749
+
+pattern Keysym_topt = Keysym 2551
+
+pattern Keysym_Greek_iotaaccent = Keysym 1972
+
+pattern Keysym_ygrave = Keysym 16785139
+
+pattern Keysym_rcaron = Keysym 504
+
+pattern Keysym_Sacute = Keysym 422
+
+pattern Keysym_Thorn = Keysym 222
+
+pattern Keysym_apostrophe = Keysym 39
+
+pattern Keysym_dead_breve = Keysym 65109
+
+pattern Keysym_L7 = Keysym 65486
+
+pattern Keysym_F14 = Keysym 65483
+
+pattern Keysym_KP_2 = Keysym 65458
+
+pattern Keysym_KP_Begin = Keysym 65437
+
+pattern Keysym_XF86Standby = Keysym 269025040
+
+pattern Keysym_Sinh_e = Keysym 16780689
+
+pattern Keysym_braille_dots_3578 = Keysym 16787668
+
+pattern Keysym_braille_dots_12578 = Keysym 16787667
+
+pattern Keysym_Georgian_zen = Keysym 16781526
+
+pattern Keysym_Armenian_je = Keysym 16778619
+
+pattern Keysym_Hangul_RieulPhieuf = Keysym 3759
+
+pattern Keysym_Thai_phophan = Keysym 3518
+
+pattern Keysym_opentribulletup = Keysym 2787
+
+pattern Keysym_onesixth = Keysym 2742
+
+pattern Keysym_Greek_iotaaccentdieresis = Keysym 1974
+
+pattern Keysym_Iogonek = Keysym 967
+
+pattern Keysym_Ncaron = Keysym 466
+
+pattern Keysym_Ugrave = Keysym 217
+
+pattern Keysym_0 = Keysym 48
+
+pattern Keysym_First_Virtual_Screen = Keysym 65232
+
+pattern Keysym_dead_caron = Keysym 65114
+
+pattern Keysym_ISO_Fast_Cursor_Right = Keysym 65069
+
+pattern Keysym_ISO_Release_Both_Margins = Keysym 65067
+
+pattern Keysym_KP_8 = Keysym 65464
+
+pattern Keysym_SunAgain = Keysym 65382
+
+pattern Keysym_XF86User2KB = Keysym 269025158
+
+pattern Keysym_XF86RockerUp = Keysym 269025059
+
+pattern Keysym_braille_dots_235678 = Keysym 16787702
+
+pattern Keysym_braille_dots_356 = Keysym 16787508
+
+pattern Keysym_braille_dots_1256 = Keysym 16787507
+
+pattern Keysym_Ecircumflexgrave = Keysym 16785088
+
+pattern Keysym_Hangul_J_RieulHieuh = Keysym 3810
+
+pattern Keysym_Hangul_WEO = Keysym 3789
+
+pattern Keysym_Thai_saraaimaimuan = Keysym 3555
+
+pattern Keysym_checkerboard = Keysym 2529
+
+pattern Keysym_blank = Keysym 2527
+
+pattern Keysym_Greek_UPSILONaccent = Keysym 1960
+
+pattern Keysym_Cyrillic_ze = Keysym 1754
+
+pattern Keysym_umacron = Keysym 1022
+
+pattern Keysym_scedilla = Keysym 442
+
+pattern Keysym_division = Keysym 247
+
+pattern Keysym_6 = Keysym 54
+
+pattern Keysym_dead_lowline = Keysym 65168
+
+pattern Keysym_R6 = Keysym 65495
+
+pattern Keysym_Find = Keysym 65384
+
+pattern Keysym_PreviousCandidate = Keysym 65342
+
+pattern Keysym_XF86CycleAngle = Keysym 269025180
+
+pattern Keysym_Sinh_ii2 = Keysym 16780755
+
+pattern Keysym_braille_dots_78 = Keysym 16787648
+
+pattern Keysym_braille_dots_168 = Keysym 16787617
+
+pattern Keysym_braille_dots_237 = Keysym 16787526
+
+pattern Keysym_braille_dots_2456 = Keysym 16787514
+
+pattern Keysym_lbelowdot = Keysym 16784951
+
+pattern Keysym_Obarred = Keysym 16777631
+
+pattern Keysym_Georgian_qar = Keysym 16781543
+
+pattern Keysym_Armenian_LYUN = Keysym 16778556
+
+pattern Keysym_Armenian_AT = Keysym 16778552
+
+pattern Keysym_Hangul_J_RieulKiyeog = Keysym 3804
+
+pattern Keysym_Cyrillic_ef = Keysym 1734
+
+pattern Keysym_Arabic_lam = Keysym 1508
+
+pattern Keysym_Arabic_peh = Keysym 16778878
+
+pattern Keysym_kana_tsu = Keysym 1199
+
+pattern Keysym_eabovedot = Keysym 1004
+
+pattern Keysym_Gbreve = Keysym 683
+
+pattern Keysym_Lacute = Keysym 453
+
+pattern Keysym_dead_belowmacron = Keysym 65128
+
+pattern Keysym_dead_belowring = Keysym 65127
+
+pattern Keysym_F23 = Keysym 65492
+
+pattern Keysym_KP_Insert = Keysym 65438
+
+pattern Keysym_hplongminus = Keysym 268435702
+
+pattern Keysym_braille_dots_678 = Keysym 16787680
+
+pattern Keysym_braille_dots_1578 = Keysym 16787665
+
+pattern Keysym_braille_dots_28 = Keysym 16787586
+
+pattern Keysym_cuberoot = Keysym 16785947
+
+pattern Keysym_EuroSign = Keysym 8364
+
+pattern Keysym_Gcaron = Keysym 16777702
+
+pattern Keysym_em3space = Keysym 2723
+
+pattern Keysym_topleftsqbracket = Keysym 2215
+
+pattern Keysym_Cyrillic_pe = Keysym 1744
+
+pattern Keysym_Cyrillic_el = Keysym 1740
+
+pattern Keysym_Cyrillic_che_vertstroke = Keysym 16778425
+
+pattern Keysym_Arabic_gaf = Keysym 16778927
+
+pattern Keysym_Arabic_hamzaonalef = Keysym 1475
+
+pattern Keysym_Arabic_1 = Keysym 16778849
+
+pattern Keysym_kana_KI = Keysym 1207
+
+pattern Keysym_B = Keysym 66
+
+pattern Keysym_AudibleBell_Enable = Keysym 65146
+
+pattern Keysym_Last_Virtual_Screen = Keysym 65236
+
+pattern Keysym_dead_grave = Keysym 65104
+
+pattern Keysym_ISO_Fast_Cursor_Up = Keysym 65070
+
+pattern Keysym_ISO_Set_Margin_Left = Keysym 65063
+
+pattern Keysym_ISO_Level5_Latch = Keysym 65042
+
+pattern Keysym_F29 = Keysym 65498
+
+pattern Keysym_SunVideoLowerBrightness = Keysym 268828539
+
+pattern Keysym_braille_dots_3468 = Keysym 16787628
+
+pattern Keysym_braille_dots_12468 = Keysym 16787627
+
+pattern Keysym_braille_dots_34567 = Keysym 16787580
+
+pattern Keysym_braille_dots_124567 = Keysym 16787579
+
+pattern Keysym_fivesuperior = Keysym 16785525
+
+pattern Keysym_Acircumflexacute = Keysym 16785060
+
+pattern Keysym_Armenian_TCHE = Keysym 16778563
+
+pattern Keysym_Armenian_gim = Keysym 16778595
+
+pattern Keysym_Hangul_AraeA = Keysym 3830
+
+pattern Keysym_Hangul_AE = Keysym 3776
+
+pattern Keysym_Hangul_Jamo = Keysym 65333
+
+pattern Keysym_hebrew_kaph = Keysym 3307
+
+pattern Keysym_rightsinglequotemark = Keysym 2769
+
+pattern Keysym_signaturemark = Keysym 2762
+
+pattern Keysym_implies = Keysym 2254
+
+pattern Keysym_Cyrillic_SOFTSIGN = Keysym 1784
+
+pattern Keysym_Cyrillic_er = Keysym 1746
+
+pattern Keysym_Ukranian_yi = Keysym 1703
+
+pattern Keysym_Arabic_7 = Keysym 16778855
+
+pattern Keysym_kana_KO = Keysym 1210
+
+pattern Keysym_mabovedot = Keysym 16784961
+
+pattern Keysym_Ycircumflex = Keysym 16777590
+
+pattern Keysym_iacute = Keysym 237
+
+pattern Keysym_H = Keysym 72
+
+pattern Keysym_quotedbl = Keysym 34
+
+pattern Keysym_ISO_Next_Group = Keysym 65032
+
+pattern Keysym_ISO_Level5_Lock = Keysym 65043
+
+pattern Keysym_osfAddMode = Keysym 268762929
+
+pattern Keysym_SunPrint_Screen = Keysym 65377
+
+pattern Keysym_Sinh_uu = Keysym 16780684
+
+pattern Keysym_braille_dots_246 = Keysym 16787498
+
+pattern Keysym_Hangul_J_RieulSios = Keysym 3807
+
+pattern Keysym_Hangul_Cieuc = Keysym 3770
+
+pattern Keysym_bott = Keysym 2550
+
+pattern Keysym_upleftcorner = Keysym 2540
+
+pattern Keysym_ff = Keysym 2531
+
+pattern Keysym_Greek_XI = Keysym 1998
+
+pattern Keysym_Greek_THETA = Keysym 1992
+
+pattern Keysym_Cyrillic_HA = Keysym 1768
+
+pattern Keysym_Cyrillic_ha_descender = Keysym 16778419
+
+pattern Keysym_kana_KU = Keysym 1208
+
+pattern Keysym_gcircumflex = Keysym 760
+
+pattern Keysym_tcedilla = Keysym 510
+
+pattern Keysym_dcaron = Keysym 495
+
+pattern Keysym_ooblique = Keysym 248
+
+pattern Keysym_Eacute = Keysym 201
+
+pattern Keysym_N = Keysym 78
+
+pattern Keysym_ISO_Move_Line_Up = Keysym 65057
+
+pattern Keysym_F32 = Keysym 65501
+
+pattern Keysym_XF86Meeting = Keysym 269025123
+
+pattern Keysym_Sinh_ssha = Keysym 16780738
+
+pattern Keysym_braille_dots_37 = Keysym 16787524
+
+pattern Keysym_braille_dots_127 = Keysym 16787523
+
+pattern Keysym_braille_dots_2346 = Keysym 16787502
+
+pattern Keysym_ohornhook = Keysym 16785119
+
+pattern Keysym_ohorngrave = Keysym 16785117
+
+pattern Keysym_Acircumflextilde = Keysym 16785066
+
+pattern Keysym_Armenian_SE = Keysym 16778573
+
+pattern Keysym_Armenian_vo = Keysym 16778616
+
+pattern Keysym_Hangul_J_Nieun = Keysym 3799
+
+pattern Keysym_Hangul_YAE = Keysym 3778
+
+pattern Keysym_Hangul_NieunHieuh = Keysym 3750
+
+pattern Keysym_Greek_delta = Keysym 2020
+
+pattern Keysym_Serbian_tshe = Keysym 1707
+
+pattern Keysym_kana_WA = Keysym 1244
+
+pattern Keysym_kana_FU = Keysym 1228
+
+pattern Keysym_Amacron = Keysym 960
+
+pattern Keysym_itilde = Keysym 949
+
+pattern Keysym_ucircumflex = Keysym 251
+
+pattern Keysym_nobreakspace = Keysym 160
+
+pattern Keysym_T = Keysym 84
+
+pattern Keysym_3270_CursorBlink = Keysym 64783
+
+pattern Keysym_Pointer_Drag3 = Keysym 65271
+
+pattern Keysym_Terminate_Server = Keysym 65237
+
+pattern Keysym_Linefeed = Keysym 65290
+
+pattern Keysym_osfPageDown = Keysym 268762946
+
+pattern Keysym_osfBackSpace = Keysym 268762888
+
+pattern Keysym_hpUser = Keysym 268500846
+
+pattern Keysym_SunF36 = Keysym 268828432
+
+pattern Keysym_Sinh_pha = Keysym 16780725
+
+pattern Keysym_Sinh_ai = Keysym 16780691
+
+pattern Keysym_braille_dots_568 = Keysym 16787632
+
+pattern Keysym_braille_dots_1468 = Keysym 16787625
+
+pattern Keysym_ColonSign = Keysym 16785569
+
+pattern Keysym_Etilde = Keysym 16785084
+
+pattern Keysym_Hangul_WI = Keysym 3791
+
+pattern Keysym_Thai_maihanakat = Keysym 3537
+
+pattern Keysym_Greek_sigma = Keysym 2034
+
+pattern Keysym_Arabic_teh = Keysym 1482
+
+pattern Keysym_Arabic_question_mark = Keysym 1471
+
+pattern Keysym_Farsi_3 = Keysym 16778995
+
+pattern Keysym_kana_RA = Keysym 1239
+
+pattern Keysym_hyphen = Keysym 173
+
+pattern Keysym_backslash = Keysym 92
+
+pattern Keysym_Z = Keysym 90
+
+pattern Keysym_CH = Keysym 65186
+
+pattern Keysym_Pointer_Drag_Dflt = Keysym 65268
+
+pattern Keysym_AccessX_Enable = Keysym 65136
+
+pattern Keysym_dead_A = Keysym 65153
+
+pattern Keysym_Massyo = Keysym 65324
+
+pattern Keysym_SunVideoRaiseBrightness = Keysym 268828540
+
+pattern Keysym_XF86News = Keysym 269025129
+
+pattern Keysym_XF86MyComputer = Keysym 269025075
+
+pattern Keysym_braille_dots_12358 = Keysym 16787607
+
+pattern Keysym_uhook = Keysym 16785127
+
+pattern Keysym_Armenian_VEV = Keysym 16778574
+
+pattern Keysym_Thai_hohip = Keysym 3531
+
+pattern Keysym_hebrew_resh = Keysym 3320
+
+pattern Keysym_Serbian_nje = Keysym 1706
+
+pattern Keysym_Arabic_damma = Keysym 1519
+
+pattern Keysym_Arabic_fathatan = Keysym 1515
+
+pattern Keysym_Arabic_kaf = Keysym 1507
+
+pattern Keysym_Arabic_zain = Keysym 1490
+
+pattern Keysym_Farsi_9 = Keysym 16779001
+
+pattern Keysym_kana_MA = Keysym 1231
+
+pattern Keysym_kana_comma = Keysym 1188
+
+pattern Keysym_Pointer_Button4 = Keysym 65260
+
+pattern Keysym_dead_belowdiaeresis = Keysym 65132
+
+pattern Keysym_Down = Keysym 65364
+
+pattern Keysym_XF86Support = Keysym 269025150
+
+pattern Keysym_Sinh_ra = Keysym 16780731
+
+pattern Keysym_Sinh_au = Keysym 16780694
+
+pattern Keysym_braille_dots_145678 = Keysym 16787705
+
+pattern Keysym_braille_dots_46 = Keysym 16787496
+
+pattern Keysym_braille_dots_136 = Keysym 16787493
+
+pattern Keysym_braille_dot_1 = Keysym 65521
+
+pattern Keysym_Georgian_zhar = Keysym 16781535
+
+pattern Keysym_Georgian_on = Keysym 16781533
+
+pattern Keysym_Hangul_Start = Keysym 65330
+
+pattern Keysym_Thai_totao = Keysym 3509
+
+pattern Keysym_Thai_topatak = Keysym 3503
+
+pattern Keysym_Greek_NU = Keysym 1997
+
+pattern Keysym_Cyrillic_u_macron = Keysym 16778479
+
+pattern Keysym_Arabic_waw = Keysym 1512
+
+pattern Keysym_kana_HA = Keysym 1226
+
+pattern Keysym_f = Keysym 102
+
+pattern Keysym_Num_Lock = Keysym 65407
+
+pattern Keysym_Return = Keysym 65293
+
+pattern Keysym_XF86Launch4 = Keysym 269025092
+
+pattern Keysym_XF86ContrastAdjust = Keysym 269025058
+
+pattern Keysym_Sinh_ma = Keysym 16780728
+
+pattern Keysym_braille_dot_7 = Keysym 65527
+
+pattern Keysym_Armenian_dza = Keysym 16778609
+
+pattern Keysym_Hangul_J_YeorinHieuh = Keysym 3834
+
+pattern Keysym_Hangul_J_NieunHieuh = Keysym 3801
+
+pattern Keysym_Thai_khokhuat = Keysym 3491
+
+pattern Keysym_phonographcopyright = Keysym 2811
+
+pattern Keysym_doubledagger = Keysym 2802
+
+pattern Keysym_Cyrillic_TE = Keysym 1780
+
+pattern Keysym_Cyrillic_NJE = Keysym 1722
+
+pattern Keysym_Arabic_tatweel = Keysym 1504
+
+pattern Keysym_Hcircumflex = Keysym 678
+
+pattern Keysym_udoubleacute = Keysym 507
+
+pattern Keysym_zcaron = Keysym 446
+
+pattern Keysym_Idiaeresis = Keysym 207
+
+pattern Keysym_l = Keysym 108
+
+pattern Keysym_3270_PA2 = Keysym 64779
+
+pattern Keysym_dead_abovering = Keysym 65112
+
+pattern Keysym_KP_Left = Keysym 65430
+
+pattern Keysym_SunFront = Keysym 268828529
+
+pattern Keysym_XF86TouchpadOff = Keysym 269025201
+
+pattern Keysym_XF86Excel = Keysym 269025116
+
+pattern Keysym_Sinh_ha = Keysym 16780740
+
+pattern Keysym_braille_dots_458 = Keysym 16787608
+
+pattern Keysym_braille_dots_1358 = Keysym 16787605
+
+pattern Keysym_braille_dots_12367 = Keysym 16787559
+
+pattern Keysym_uhornacute = Keysym 16785129
+
+pattern Keysym_Uhook = Keysym 16785126
+
+pattern Keysym_Georgian_en = Keysym 16781524
+
+pattern Keysym_hebrew_zadi = Keysym 3318
+
+pattern Keysym_hebrew_ayin = Keysym 3314
+
+pattern Keysym_hebrew_lamed = Keysym 3308
+
+pattern Keysym_Greek_EPSILON = Keysym 1989
+
+pattern Keysym_Arabic_percent = Keysym 16778858
+
+pattern Keysym_Ccedilla = Keysym 199
+
+pattern Keysym_r = Keysym 114
+
+pattern Keysym_Pointer_DblClick5 = Keysym 65267
+
+pattern Keysym_RepeatKeys_Enable = Keysym 65138
+
+pattern Keysym_ISO_Center_Object = Keysym 65075
+
+pattern Keysym_Touroku = Keysym 65323
+
+pattern Keysym_hpguilder = Keysym 268435646
+
+pattern Keysym_XF86LogWindowTree = Keysym 269024804
+
+pattern Keysym_XF86View = Keysym 269025185
+
+pattern Keysym_Sinh_tha = Keysym 16780717
+
+pattern Keysym_Sinh_ca = Keysym 16780704
+
+pattern Keysym_braille_dots_4567 = Keysym 16787576
+
+pattern Keysym_braille_dots_13567 = Keysym 16787573
+
+pattern Keysym_braille_dots_145 = Keysym 16787481
+
+pattern Keysym_Hangul_YA = Keysym 3777
+
+pattern Keysym_hebrew_samekh = Keysym 3313
+
+pattern Keysym_hebrew_finalmem = Keysym 3309
+
+pattern Keysym_Greek_PHI = Keysym 2006
+
+pattern Keysym_Cyrillic_yeru = Keysym 1753
+
+pattern Keysym_Cyrillic_JE = Keysym 1720
+
+pattern Keysym_Arabic_dammatan = Keysym 1516
+
+pattern Keysym_Arabic_noon = Keysym 1510
+
+pattern Keysym_x = Keysym 120
+
+pattern Keysym_ISO_Partial_Space_Left = Keysym 65061
+
+pattern Keysym_Alt_L = Keysym 65513
+
+pattern Keysym_mute_grave = Keysym 268435625
+
+pattern Keysym_XF86LaunchF = Keysym 269025103
+
+pattern Keysym_Sinh_ae2 = Keysym 16780752
+
+pattern Keysym_Sinh_dda = Keysym 16780713
+
+pattern Keysym_ninesubscript = Keysym 16785545
+
+pattern Keysym_uhorntilde = Keysym 16785135
+
+pattern Keysym_Thai_loling = Keysym 3525
+
+pattern Keysym_horizlinescan5 = Keysym 2545
+
+pattern Keysym_notequal = Keysym 2237
+
+pattern Keysym_Greek_beta = Keysym 2018
+
+pattern Keysym_Greek_ZETA = Keysym 1990
+
+pattern Keysym_Greek_omicronaccent = Keysym 1975
+
+pattern Keysym_Macedonia_GJE = Keysym 1714
+
+pattern Keysym_Arabic_hah = Keysym 1485
+
+pattern Keysym_kana_closingbracket = Keysym 1187
+
+pattern Keysym_Imacron = Keysym 975
+
+pattern Keysym_doubleacute = Keysym 445
+
+pattern Keysym_scaron = Keysym 441
+
+pattern Keysym_aring = Keysym 229
+
+pattern Keysym_3270_Left2 = Keysym 64772
+
+pattern Keysym_SlowKeys_Enable = Keysym 65139
+
+pattern Keysym_dead_e = Keysym 65154
+
+pattern Keysym_ISO_Level2_Latch = Keysym 65026
+
+pattern Keysym_Alt_R = Keysym 65514
+
+pattern Keysym_F3 = Keysym 65472
+
+pattern Keysym_Insert = Keysym 65379
+
+pattern Keysym_Ext16bit_L = Keysym 268500854
+
+pattern Keysym_XF86BackForward = Keysym 269025087
+
+pattern Keysym_Sinh_rii = Keysym 16780686
+
+pattern Keysym_braille_dots_2345678 = Keysym 16787710
+
+pattern Keysym_braille_dots_467 = Keysym 16787560
+
+pattern Keysym_braille_dots_1367 = Keysym 16787557
+
+pattern Keysym_uhornbelowdot = Keysym 16785137
+
+pattern Keysym_Ocaron = Keysym 16777681
+
+pattern Keysym_Armenian_da = Keysym 16778596
+
+pattern Keysym_Armenian_separation_mark = Keysym 16778589
+
+pattern Keysym_Armenian_verjaket = Keysym 16778633
+
+pattern Keysym_Hangul_PanSios = Keysym 3826
+
+pattern Keysym_Thai_honokhuk = Keysym 3534
+
+pattern Keysym_therefore = Keysym 2240
+
+pattern Keysym_Cyrillic_ya = Keysym 1745
+
+pattern Keysym_kana_TE = Keysym 1219
+
+pattern Keysym_dead_perispomeni = Keysym 65107
+
+pattern Keysym_R14 = Keysym 65503
+
+pattern Keysym_F9 = Keysym 65478
+
+pattern Keysym_KP_Multiply = Keysym 65450
+
+pattern Keysym_Ext16bit_R = Keysym 268500855
+
+pattern Keysym_DeleteLine = Keysym 268500849
+
+pattern Keysym_XF86AudioRandomPlay = Keysym 269025177
+
+pattern Keysym_XF86Away = Keysym 269025165
+
+pattern Keysym_XF86iTouch = Keysym 269025120
+
+pattern Keysym_Sinh_aee2 = Keysym 16780753
+
+pattern Keysym_braille_dots_1235678 = Keysym 16787703
+
+pattern Keysym_braille_dots_348 = Keysym 16787596
+
+pattern Keysym_braille_dots_1248 = Keysym 16787595
+
+pattern Keysym_braille_dots_2567 = Keysym 16787570
+
+pattern Keysym_Armenian_TSO = Keysym 16778577
+
+pattern Keysym_Armenian_e = Keysym 16778599
+
+pattern Keysym_Armenian_yech = Keysym 16778597
+
+pattern Keysym_Hangul_I = Keysym 3795
+
+pattern Keysym_hebrew_bet = Keysym 3297
+
+pattern Keysym_Greek_iota = Keysym 2025
+
+pattern Keysym_Greek_gamma = Keysym 2019
+
+pattern Keysym_Cyrillic_shha = Keysym 16778427
+
+pattern Keysym_Hstroke = Keysym 673
+
+pattern Keysym_brokenbar = Keysym 166
+
+pattern Keysym_bracketleft = Keysym 91
+
+pattern Keysym_3270_Ident = Keysym 64787
+
+pattern Keysym_Pointer_UpLeft = Keysym 65252
+
+pattern Keysym_L2 = Keysym 65481
+
+pattern Keysym_InsertChar = Keysym 268500850
+
+pattern Keysym_XF86Switch_VT_5 = Keysym 269024773
+
+pattern Keysym_XF86ModeLock = Keysym 269025025
+
+pattern Keysym_Sinh_thha = Keysym 16780718
+
+pattern Keysym_Sinh_cha = Keysym 16780705
+
+pattern Keysym_braille_dots_123478 = Keysym 16787663
+
+pattern Keysym_braille_dots_13457 = Keysym 16787549
+
+pattern Keysym_braille_dots_5 = Keysym 16787472
+
+pattern Keysym_braille_dots_14 = Keysym 16787465
+
+pattern Keysym_Georgian_har = Keysym 16781556
+
+pattern Keysym_Georgian_we = Keysym 16781555
+
+pattern Keysym_Hangul_O = Keysym 3783
+
+pattern Keysym_Thai_saraaimaimalai = Keysym 3556
+
+pattern Keysym_Thai_soso = Keysym 3499
+
+pattern Keysym_hebrew_he = Keysym 3300
+
+pattern Keysym_integral = Keysym 2239
+
+pattern Keysym_topleftsummation = Keysym 2225
+
+pattern Keysym_Greek_accentdieresis = Keysym 1966
+
+pattern Keysym_Ukranian_i = Keysym 1702
+
+pattern Keysym_lcaron = Keysym 437
+
+pattern Keysym_Aring = Keysym 197
+
+pattern Keysym_3270_Right2 = Keysym 64771
+
+pattern Keysym_L8 = Keysym 65487
+
+pattern Keysym_F15 = Keysym 65484
+
+pattern Keysym_KP_3 = Keysym 65459
+
+pattern Keysym_hpYdiaeresis = Keysym 268435694
+
+pattern Keysym_XF86Select = Keysym 269025184
+
+pattern Keysym_XF86KbdLightOnOff = Keysym 269025028
+
+pattern Keysym_braille_dots_34678 = Keysym 16787692
+
+pattern Keysym_braille_dots_124678 = Keysym 16787691
+
+pattern Keysym_stricteq = Keysym 16786019
+
+pattern Keysym_ocircumflexbelowdot = Keysym 16785113
+
+pattern Keysym_SCHWA = Keysym 16777615
+
+pattern Keysym_Hangul_U = Keysym 3788
+
+pattern Keysym_em4space = Keysym 2724
+
+pattern Keysym_Greek_finalsmallsigma = Keysym 2035
+
+pattern Keysym_Cyrillic_HA_descender = Keysym 16778418
+
+pattern Keysym_Arabic_kasra = Keysym 1520
+
+pattern Keysym_ENG = Keysym 957
+
+pattern Keysym_udiaeresis = Keysym 252
+
+pattern Keysym_Ograve = Keysym 210
+
+pattern Keysym_Ecircumflex = Keysym 202
+
+pattern Keysym_AE = Keysym 198
+
+pattern Keysym_bracketright = Keysym 93
+
+pattern Keysym_1 = Keysym 49
+
+pattern Keysym_3270_Rule = Keysym 64788
+
+pattern Keysym_Pointer_DblClick_Dflt = Keysym 65262
+
+pattern Keysym_Pointer_UpRight = Keysym 65253
+
+pattern Keysym_dead_ogonek = Keysym 65116
+
+pattern Keysym_R1 = Keysym 65490
+
+pattern Keysym_KP_9 = Keysym 65465
+
+pattern Keysym_osfReselect = Keysym 268762995
+
+pattern Keysym_osfDeselectAll = Keysym 268762994
+
+pattern Keysym_osfBeginLine = Keysym 268762968
+
+pattern Keysym_osfPrimaryPaste = Keysym 268762930
+
+pattern Keysym_Sinh_ee2 = Keysym 16780762
+
+pattern Keysym_braille_dots_357 = Keysym 16787540
+
+pattern Keysym_braille_dots_1257 = Keysym 16787539
+
+pattern Keysym_uhorn = Keysym 16777648
+
+pattern Keysym_ohornbelowdot = Keysym 16785123
+
+pattern Keysym_ecircumflexacute = Keysym 16785087
+
+pattern Keysym_Hangul_J_SsangKiyeog = Keysym 3797
+
+pattern Keysym_Thai_chochang = Keysym 3498
+
+pattern Keysym_Thai_khokhon = Keysym 3493
+
+pattern Keysym_rightdoublequotemark = Keysym 2771
+
+pattern Keysym_trademarkincircle = Keysym 2763
+
+pattern Keysym_rightarrow = Keysym 2301
+
+pattern Keysym_Macedonia_KJE = Keysym 1724
+
+pattern Keysym_kana_ya = Keysym 1196
+
+pattern Keysym_overline = Keysym 1150
+
+pattern Keysym_Scircumflex = Keysym 734
+
+pattern Keysym_7 = Keysym 55
+
+pattern Keysym_C_H = Keysym 65189
+
+pattern Keysym_ISO_Level5_Shift = Keysym 65041
+
+pattern Keysym_R7 = Keysym 65496
+
+pattern Keysym_XF86Spell = Keysym 269025148
+
+pattern Keysym_Sinh_ee = Keysym 16780690
+
+pattern Keysym_braille_dots_24578 = Keysym 16787674
+
+pattern Keysym_braille_dots_238 = Keysym 16787590
+
+pattern Keysym_braille_dots_2457 = Keysym 16787546
+
+pattern Keysym_braille_dots_23 = Keysym 16787462
+
+pattern Keysym_ocircumflexhook = Keysym 16785109
+
+pattern Keysym_Georgian_he = Keysym 16781553
+
+pattern Keysym_Armenian_RA = Keysym 16778572
+
+pattern Keysym_Armenian_pe = Keysym 16778618
+
+pattern Keysym_Hangul_Phieuf = Keysym 3773
+
+pattern Keysym_Thai_leksi = Keysym 3572
+
+pattern Keysym_leftpointer = Keysym 2794
+
+pattern Keysym_vertbar = Keysym 2552
+
+pattern Keysym_rightmiddlesummation = Keysym 2231
+
+pattern Keysym_Greek_pi = Keysym 2032
+
+pattern Keysym_Greek_LAMBDA = Keysym 1995
+
+pattern Keysym_Arabic_hamzaonyeh = Keysym 1478
+
+pattern Keysym_kana_A = Keysym 1201
+
+pattern Keysym_Dabovedot = Keysym 16784906
+
+pattern Keysym_ecaron = Keysym 492
+
+pattern Keysym_Abreve = Keysym 451
+
+pattern Keysym_acircumflex = Keysym 226
+
+pattern Keysym_ISO_Lock = Keysym 65025
+
+pattern Keysym_F24 = Keysym 65493
+
+pattern Keysym_Select = Keysym 65376
+
+pattern Keysym_SunOpen = Keysym 268828531
+
+pattern Keysym_XF86UWB = Keysym 269025174
+
+pattern Keysym_XF86Send = Keysym 269025147
+
+pattern Keysym_XF86MySites = Keysym 269025127
+
+pattern Keysym_XF86AudioNext = Keysym 269025047
+
+pattern Keysym_Sinh_ndha = Keysym 16780723
+
+pattern Keysym_Sinh_h2 = Keysym 16780675
+
+pattern Keysym_Obelowdot = Keysym 16785100
+
+pattern Keysym_ecircumflextilde = Keysym 16785093
+
+pattern Keysym_Georgian_ghan = Keysym 16781542
+
+pattern Keysym_Armenian_ke = Keysym 16778628
+
+pattern Keysym_Armenian_vev = Keysym 16778622
+
+pattern Keysym_Armenian_hyphen = Keysym 16778634
+
+pattern Keysym_Hangul_SingleCandidate = Keysym 65340
+
+pattern Keysym_Thai_saraa = Keysym 3536
+
+pattern Keysym_Thai_fofan = Keysym 3519
+
+pattern Keysym_rightshoe = Keysym 3032
+
+pattern Keysym_Cyrillic_em = Keysym 1741
+
+pattern Keysym_Arabic_alef = Keysym 1479
+
+pattern Keysym_Arabic_2 = Keysym 16778850
+
+pattern Keysym_ocircumflex = Keysym 244
+
+pattern Keysym_C = Keysym 67
+
+pattern Keysym_slash = Keysym 47
+
+pattern Keysym_KP_Down = Keysym 65433
+
+pattern Keysym_Romaji = Keysym 65316
+
+pattern Keysym_XF86Reply = Keysym 269025138
+
+pattern Keysym_XF86AudioRecord = Keysym 269025052
+
+pattern Keysym_Sinh_gha = Keysym 16780701
+
+pattern Keysym_braille_dots_34568 = Keysym 16787644
+
+pattern Keysym_braille_dots_124568 = Keysym 16787643
+
+pattern Keysym_braille_dots_23456 = Keysym 16787518
+
+pattern Keysym_Uhorn = Keysym 16777647
+
+pattern Keysym_Georgian_don = Keysym 16781523
+
+pattern Keysym_Armenian_fe = Keysym 16778630
+
+pattern Keysym_Thai_saraii = Keysym 3541
+
+pattern Keysym_Thai_oang = Keysym 3533
+
+pattern Keysym_Greek_CHI = Keysym 2007
+
+pattern Keysym_Cyrillic_es = Keysym 1747
+
+pattern Keysym_Arabic_8 = Keysym 16778856
+
+pattern Keysym_omacron = Keysym 1010
+
+pattern Keysym_cacute = Keysym 486
+
+pattern Keysym_aogonek = Keysym 433
+
+pattern Keysym_I = Keysym 73
+
+pattern Keysym_3270_PrintScreen = Keysym 64797
+
+pattern Keysym_KP_Decimal = Keysym 65454
+
+pattern Keysym_KP_F1 = Keysym 65425
+
+pattern Keysym_SunFA_Circum = Keysym 268828417
+
+pattern Keysym_XF86Yellow = Keysym 269025189
+
+pattern Keysym_XF86AudioRepeat = Keysym 269025176
+
+pattern Keysym_XF86ZoomOut = Keysym 269025164
+
+pattern Keysym_XF86ScrollUp = Keysym 269025144
+
+pattern Keysym_XF86Finance = Keysym 269025084
+
+pattern Keysym_braille_dots_15678 = Keysym 16787697
+
+pattern Keysym_braille_dots_178 = Keysym 16787649
+
+pattern Keysym_braille_dots_247 = Keysym 16787530
+
+pattern Keysym_hebrew_finalnun = Keysym 3311
+
+pattern Keysym_singlelowquotemark = Keysym 2813
+
+pattern Keysym_leftanglebracket = Keysym 2748
+
+pattern Keysym_uparrow = Keysym 2300
+
+pattern Keysym_Cyrillic_ve = Keysym 1751
+
+pattern Keysym_Cyrillic_nje = Keysym 1706
+
+pattern Keysym_Cyrillic_ghe_bar = Keysym 16778387
+
+pattern Keysym_Pabovedot = Keysym 16784982
+
+pattern Keysym_oslash = Keysym 248
+
+pattern Keysym_egrave = Keysym 232
+
+pattern Keysym_O = Keysym 79
+
+pattern Keysym_exclam = Keysym 33
+
+pattern Keysym_dead_doubleacute = Keysym 65113
+
+pattern Keysym_ISO_Emphasize = Keysym 65074
+
+pattern Keysym_Caps_Lock = Keysym 65509
+
+pattern Keysym_F33 = Keysym 65502
+
+pattern Keysym_KP_Equal = Keysym 65469
+
+pattern Keysym_Menu = Keysym 65383
+
+pattern Keysym_Eisu_toggle = Keysym 65328
+
+pattern Keysym_Muhenkan = Keysym 65314
+
+pattern Keysym_braille_dots_245678 = Keysym 16787706
+
+pattern Keysym_braille_dots_38 = Keysym 16787588
+
+pattern Keysym_braille_dots_128 = Keysym 16787587
+
+pattern Keysym_braille_dots_2347 = Keysym 16787534
+
+pattern Keysym_Thai_lakkhangyao = Keysym 3557
+
+pattern Keysym_Thai_thothong = Keysym 3512
+
+pattern Keysym_telephone = Keysym 2809
+
+pattern Keysym_heart = Keysym 2798
+
+pattern Keysym_onethird = Keysym 2736
+
+pattern Keysym_topintegral = Keysym 2212
+
+pattern Keysym_Greek_upsilonaccentdieresis = Keysym 1978
+
+pattern Keysym_Cyrillic_E = Keysym 1788
+
+pattern Keysym_Tabovedot = Keysym 16785002
+
+pattern Keysym_adiaeresis = Keysym 228
+
+pattern Keysym_Agrave = Keysym 192
+
+pattern Keysym_U = Keysym 85
+
+pattern Keysym_Pointer_Drag4 = Keysym 65272
+
+pattern Keysym_KP_Right = Keysym 65432
+
+pattern Keysym_SunPowerSwitchShift = Keysym 268828541
+
+pattern Keysym_SunF37 = Keysym 268828433
+
+pattern Keysym_braille_dots_3478 = Keysym 16787660
+
+pattern Keysym_braille_dots_12478 = Keysym 16787659
+
+pattern Keysym_Xabovedot = Keysym 16785034
+
+pattern Keysym_Georgian_phar = Keysym 16781540
+
+pattern Keysym_Hangul_SsangPieub = Keysym 3763
+
+pattern Keysym_Thai_yoying = Keysym 3501
+
+pattern Keysym_leftopentriangle = Keysym 2764
+
+pattern Keysym_digitspace = Keysym 2725
+
+pattern Keysym_lf = Keysym 2533
+
+pattern Keysym_toprightsqbracket = Keysym 2217
+
+pattern Keysym_leftradical = Keysym 2209
+
+pattern Keysym_Greek_phi = Keysym 2038
+
+pattern Keysym_Greek_lambda = Keysym 2027
+
+pattern Keysym_Greek_iotadieresis = Keysym 1973
+
+pattern Keysym_Farsi_4 = Keysym 16778996
+
+pattern Keysym_3270_KeyClick = Keysym 64785
+
+pattern Keysym_dead_longsolidusoverlay = Keysym 65171
+
+pattern Keysym_dead_abovereversedcomma = Keysym 65125
+
+pattern Keysym_ISO_Last_Group = Keysym 65038
+
+pattern Keysym_Multi_key = Keysym 65312
+
+pattern Keysym_Sys_Req = Keysym 65301
+
+pattern Keysym_osfNextField = Keysym 268762974
+
+pattern Keysym_XF86User1KB = Keysym 269025157
+
+pattern Keysym_Sinh_jnya = Keysym 16780709
+
+pattern Keysym_braille_dots_4678 = Keysym 16787688
+
+pattern Keysym_braille_dots_13678 = Keysym 16787685
+
+pattern Keysym_braille_dots_256 = Keysym 16787506
+
+pattern Keysym_foursubscript = Keysym 16785540
+
+pattern Keysym_twosubscript = Keysym 16785538
+
+pattern Keysym_hebrew_teth = Keysym 3304
+
+pattern Keysym_hebrew_gimel = Keysym 3298
+
+pattern Keysym_emspace = Keysym 2721
+
+pattern Keysym_approximate = Keysym 2248
+
+pattern Keysym_Greek_UPSILON = Keysym 2005
+
+pattern Keysym_Greek_epsilonaccent = Keysym 1970
+
+pattern Keysym_Macedonia_gje = Keysym 1698
+
+pattern Keysym_Arabic_sheen = Keysym 1492
+
+pattern Keysym_kana_e = Keysym 1194
+
+pattern Keysym_Eth = Keysym 208
+
+pattern Keysym_a = Keysym 97
+
+pattern Keysym_Pointer_Button5 = Keysym 65261
+
+pattern Keysym_Dacute_accent = Keysym 268500519
+
+pattern Keysym_SunCompose = Keysym 65312
+
+pattern Keysym_SunFA_Diaeresis = Keysym 268828420
+
+pattern Keysym_XF86Messenger = Keysym 269025166
+
+pattern Keysym_XF86WWW = Keysym 269025070
+
+pattern Keysym_XF86HomePage = Keysym 269025048
+
+pattern Keysym_Sinh_ru2 = Keysym 16780760
+
+pattern Keysym_Sinh_kha = Keysym 16780699
+
+pattern Keysym_braille_dots_134567 = Keysym 16787581
+
+pattern Keysym_braille_dots_47 = Keysym 16787528
+
+pattern Keysym_braille_dots_137 = Keysym 16787525
+
+pattern Keysym_braille_dots_2356 = Keysym 16787510
+
+pattern Keysym_braille_dot_2 = Keysym 65522
+
+pattern Keysym_MillSign = Keysym 16785573
+
+pattern Keysym_Georgian_jil = Keysym 16781547
+
+pattern Keysym_Georgian_par = Keysym 16781534
+
+pattern Keysym_Thai_kokai = Keysym 3489
+
+pattern Keysym_Cyrillic_be = Keysym 1730
+
+pattern Keysym_Wdiaeresis = Keysym 16785028
+
+pattern Keysym_yacute = Keysym 253
+
+pattern Keysym_g = Keysym 103
+
+pattern Keysym_3270_Attn = Keysym 64782
+
+pattern Keysym_KP_Add = Keysym 65451
diff --git a/Text/XkbCommon/ParseDefines.hs b/Text/XkbCommon/ParseDefines.hs
--- a/Text/XkbCommon/ParseDefines.hs
+++ b/Text/XkbCommon/ParseDefines.hs
@@ -1,5 +1,5 @@
 module Text.XkbCommon.ParseDefines
-   ( readHeader, genKeysyms, genKeycodes, genModnames ) where
+   ( readHeader, getKeysymDefs, genKeysyms, genKeycodes, genModnames ) where
 
 import Language.Haskell.TH
 import Language.Preprocessor.Cpphs
@@ -18,17 +18,21 @@
    header <- readFile headerfile
    return (headerfile, header)
 
+getKeysymDefs :: IO [(String,Integer)]
+getKeysymDefs = do
+  (headerFilename, keysyms_header) <- readHeader "xkbcommon/xkbcommon-keysyms.h"
+  (_, defs) <- macroPassReturningSymTab [] defaultBoolOptions [(newfile headerFilename, keysyms_header)]
+  let exclude_defs = ["XKB_KEY_VoidSymbol", "XKB_KEY_NoSymbol"]
+  let filtered_defs = filter (\ (name, _) -> isPrefixOf "XKB_KEY" name && notElem name exclude_defs) defs
+  let parsed_defs = map (drop 8 *** read) filtered_defs
+  return parsed_defs
+
 genKeysyms :: IO [Dec]
 genKeysyms = do
-   (headerFilename, keysyms_header) <- readHeader "xkbcommon/xkbcommon-keysyms.h"
-   (_, defs) <- macroPassReturningSymTab [] defaultBoolOptions [(newfile headerFilename, keysyms_header)]
-   let exclude_defs = ["XKB_KEY_VoidSymbol", "XKB_KEY_NoSymbol"]
-   let filtered_defs = filter (\ (name, _) -> isPrefixOf "XKB_KEY" name && notElem name exclude_defs) defs
-   let parsed_defs = map (drop 8 *** read) filtered_defs
+   parsed_defs <- getKeysymDefs
    return $ map (\ (name, val) -> ValD (VarP $ mkName ("keysym_" ++ name)) (NormalB (AppE (VarE $ mkName "toKeysym") (AppE (ConE $ mkName "CKeysym") $ LitE (IntegerL val)))) []) parsed_defs
 
 genKeycodes :: IO [Dec]
--- genKeycodes = return []
 genKeycodes = do
    (headerFilename, keysyms_header) <- readHeader "linux/input.h"
    (_, defs) <- macroPassReturningSymTab [] defaultBoolOptions [(newfile headerFilename, keysyms_header)]
diff --git a/xkbcommon.cabal b/xkbcommon.cabal
--- a/xkbcommon.cabal
+++ b/xkbcommon.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                xkbcommon
-version:             0.0.1
+version:             0.0.2
 synopsis:            Haskell bindings for libxkbcommon
 description:
   Wrapper library for libxkbcommon, which is the new alternative for the X11 XKB.h keyboard input
@@ -27,11 +27,11 @@
   compile time using TH, and similarly keycodes from the Linux header files.
   These should be present for correct compilation.
 license:             MIT
-license-file:        LICENSE
+license-files:       LICENSE LICENSE.gl
 author:              Auke Booij
 maintainer:          auke@tulcod.com
 category:            Text
-build-type:          Simple
+build-type:          Custom
 cabal-version:       >=1.8
 
 source-repository head
@@ -42,6 +42,7 @@
   exposed-modules:
     Text.XkbCommon,
     Text.XkbCommon.KeysymList,
+    Text.XkbCommon.KeysymPatterns,
     Text.XkbCommon.KeycodeList,
     Text.XkbCommon.ModList,
     Text.XkbCommon.Constants,
