aboutsummaryrefslogtreecommitdiff
path: root/Python/venv1/Lib/site-packages/keyboard/_canonical_names.py
diff options
context:
space:
mode:
authorSyndamia <kami02882@gmail.com>2019-07-29 11:46:36 +0300
committerSyndamia <kami02882@gmail.com>2019-07-29 11:46:36 +0300
commitbc09da5a7b65b08b5d5dcd1e90173ad3b6081c23 (patch)
treec66cebc02aac30ff859c06ca462f3dd58b6809b0 /Python/venv1/Lib/site-packages/keyboard/_canonical_names.py
parent65edf7296baf48aad1b4e0c09b57f1a7f48791a8 (diff)
downloadSelf-learning-bc09da5a7b65b08b5d5dcd1e90173ad3b6081c23.tar
Self-learning-bc09da5a7b65b08b5d5dcd1e90173ad3b6081c23.tar.gz
Self-learning-bc09da5a7b65b08b5d5dcd1e90173ad3b6081c23.zip
Did some more work in Python and started officially learning Java
Diffstat (limited to 'Python/venv1/Lib/site-packages/keyboard/_canonical_names.py')
-rw-r--r--Python/venv1/Lib/site-packages/keyboard/_canonical_names.py1246
1 files changed, 1246 insertions, 0 deletions
diff --git a/Python/venv1/Lib/site-packages/keyboard/_canonical_names.py b/Python/venv1/Lib/site-packages/keyboard/_canonical_names.py
new file mode 100644
index 0000000..003fd3b
--- /dev/null
+++ b/Python/venv1/Lib/site-packages/keyboard/_canonical_names.py
@@ -0,0 +1,1246 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+try:
+ basestring
+except NameError:
+ basestring = str
+
+import platform
+
+# Defaults to Windows canonical names (platform-specific overrides below)
+canonical_names = {
+ 'escape': 'esc',
+ 'return': 'enter',
+ 'del': 'delete',
+ 'control': 'ctrl',
+
+ 'left arrow': 'left',
+ 'up arrow': 'up',
+ 'down arrow': 'down',
+ 'right arrow': 'right',
+
+ ' ': 'space', # Prefer to spell out keys that would be hard to read.
+ '\x1b': 'esc',
+ '\x08': 'backspace',
+ '\n': 'enter',
+ '\t': 'tab',
+ '\r': 'enter',
+
+ 'scrlk': 'scroll lock',
+ 'prtscn': 'print screen',
+ 'prnt scrn': 'print screen',
+ 'snapshot': 'print screen',
+ 'ins': 'insert',
+ 'pause break': 'pause',
+ 'ctrll lock': 'caps lock',
+ 'capslock': 'caps lock',
+ 'number lock': 'num lock',
+ 'numlock': 'num lock',
+ 'space bar': 'space',
+ 'spacebar': 'space',
+ 'linefeed': 'enter',
+ 'win': 'windows',
+
+ # Mac keys
+ 'command': 'windows',
+ 'cmd': 'windows',
+ 'control': 'ctrl',
+ 'option': 'alt',
+
+ 'app': 'menu',
+ 'apps': 'menu',
+ 'application': 'menu',
+ 'applications': 'menu',
+
+ 'pagedown': 'page down',
+ 'pageup': 'page up',
+ 'pgdown': 'page down',
+ 'pgup': 'page up',
+
+ 'play/pause': 'play/pause media',
+
+ 'num multiply': '*',
+ 'num divide': '/',
+ 'num add': '+',
+ 'num plus': '+',
+ 'num minus': '-',
+ 'num sub': '-',
+ 'num enter': 'enter',
+ 'num 0': '0',
+ 'num 1': '1',
+ 'num 2': '2',
+ 'num 3': '3',
+ 'num 4': '4',
+ 'num 5': '5',
+ 'num 6': '6',
+ 'num 7': '7',
+ 'num 8': '8',
+ 'num 9': '9',
+
+ 'left win': 'left windows',
+ 'right win': 'right windows',
+ 'left control': 'left ctrl',
+ 'right control': 'right ctrl',
+ 'left menu': 'left alt', # Windows...
+ 'altgr': 'alt gr',
+
+ # https://www.x.org/releases/X11R7.6/doc/libX11/Compose/en_US.UTF-8.html
+ # https://svn.apache.org/repos/asf/xmlgraphics/commons/tags/commons-1_0/src/java/org/apache/xmlgraphics/fonts/Glyphs.java
+ # Note this list has plenty of uppercase letters that are not being used
+ # at the moment, as normalization forces names to be lowercase.
+ "Aacute": "Á",
+ "aacute": "á",
+ "Aacutesmall": "",
+ "abovedot": "˙",
+ "Abreve": "Ă",
+ "abreve": "ă",
+ "Abreveacute": "Ắ",
+ "abreveacute": "ắ",
+ "Abrevebelowdot": "Ặ",
+ "abrevebelowdot": "ặ",
+ "Abrevegrave": "Ằ",
+ "abrevegrave": "ằ",
+ "Abrevehook": "Ẳ",
+ "abrevehook": "ẳ",
+ "Abrevetilde": "Ẵ",
+ "abrevetilde": "ẵ",
+ "Acircumflex": "Â",
+ "acircumflex": "â",
+ "Acircumflexacute": "Ấ",
+ "acircumflexacute": "ấ",
+ "Acircumflexbelowdot": "Ậ",
+ "acircumflexbelowdot": "ậ",
+ "Acircumflexgrave": "Ầ",
+ "acircumflexgrave": "ầ",
+ "Acircumflexhook": "Ẩ",
+ "acircumflexhook": "ẩ",
+ "Acircumflexsmall": "",
+ "Acircumflextilde": "Ẫ",
+ "acircumflextilde": "ẫ",
+ "acute": "´",
+ "Acute": "",
+ "acutecomb": "́",
+ "Acutesmall": "",
+ "add": "+",
+ "Adiaeresis": "Ä",
+ "adiaeresis": "ä",
+ "Adieresis": "Ä",
+ "adieresis": "ä",
+ "Adieresissmall": "",
+ "ae": "æ",
+ "AE": "Æ",
+ "AEacute": "Ǽ",
+ "aeacute": "ǽ",
+ "AEsmall": "",
+ "afii00208": "―",
+ "afii10017": "А",
+ "afii10018": "Б",
+ "afii10019": "В",
+ "afii10020": "Г",
+ "afii10021": "Д",
+ "afii10022": "Е",
+ "afii10023": "Ё",
+ "afii10024": "Ж",
+ "afii10025": "З",
+ "afii10026": "И",
+ "afii10027": "Й",
+ "afii10028": "К",
+ "afii10029": "Л",
+ "afii10030": "М",
+ "afii10031": "Н",
+ "afii10032": "О",
+ "afii10033": "П",
+ "afii10034": "Р",
+ "afii10035": "С",
+ "afii10036": "Т",
+ "afii10037": "У",
+ "afii10038": "Ф",
+ "afii10039": "Х",
+ "afii10040": "Ц",
+ "afii10041": "Ч",
+ "afii10042": "Ш",
+ "afii10043": "Щ",
+ "afii10044": "Ъ",
+ "afii10045": "Ы",
+ "afii10046": "Ь",
+ "afii10047": "Э",
+ "afii10048": "Ю",
+ "afii10049": "Я",
+ "afii10050": "Ґ",
+ "afii10051": "Ђ",
+ "afii10052": "Ѓ",
+ "afii10053": "Є",
+ "afii10054": "Ѕ",
+ "afii10055": "І",
+ "afii10056": "Ї",
+ "afii10057": "Ј",
+ "afii10058": "Љ",
+ "afii10059": "Њ",
+ "afii10060": "Ћ",
+ "afii10061": "Ќ",
+ "afii10062": "Ў",
+ "afii10063": "",
+ "afii10064": "",
+ "afii10065": "а",
+ "afii10066": "б",
+ "afii10067": "в",
+ "afii10068": "г",
+ "afii10069": "д",
+ "afii10070": "е",
+ "afii10071": "ё",
+ "afii10072": "ж",
+ "afii10073": "з",
+ "afii10074": "и",
+ "afii10075": "й",
+ "afii10076": "к",
+ "afii10077": "л",
+ "afii10078": "м",
+ "afii10079": "н",
+ "afii10080": "о",
+ "afii10081": "п",
+ "afii10082": "р",
+ "afii10083": "с",
+ "afii10084": "т",
+ "afii10085": "у",
+ "afii10086": "ф",
+ "afii10087": "х",
+ "afii10088": "ц",
+ "afii10089": "ч",
+ "afii10090": "ш",
+ "afii10091": "щ",
+ "afii10092": "ъ",
+ "afii10093": "ы",
+ "afii10094": "ь",
+ "afii10095": "э",
+ "afii10096": "ю",
+ "afii10097": "я",
+ "afii10098": "ґ",
+ "afii10099": "ђ",
+ "afii10100": "ѓ",
+ "afii10101": "є",
+ "afii10102": "ѕ",
+ "afii10103": "і",
+ "afii10104": "ї",
+ "afii10105": "ј",
+ "afii10106": "љ",
+ "afii10107": "њ",
+ "afii10108": "ћ",
+ "afii10109": "ќ",
+ "afii10110": "ў",
+ "afii10145": "Џ",
+ "afii10146": "Ѣ",
+ "afii10147": "Ѳ",
+ "afii10148": "Ѵ",
+ "afii10192": "",
+ "afii10193": "џ",
+ "afii10194": "ѣ",
+ "afii10195": "ѳ",
+ "afii10196": "ѵ",
+ "afii10831": "",
+ "afii10832": "",
+ "afii10846": "ә",
+ "afii299": "‎",
+ "afii300": "‏",
+ "afii301": "‍",
+ "afii57381": "٪",
+ "afii57388": "،",
+ "afii57392": "٠",
+ "afii57393": "١",
+ "afii57394": "٢",
+ "afii57395": "٣",
+ "afii57396": "٤",
+ "afii57397": "٥",
+ "afii57398": "٦",
+ "afii57399": "٧",
+ "afii57400": "٨",
+ "afii57401": "٩",
+ "afii57403": "؛",
+ "afii57407": "؟",
+ "afii57409": "ء",
+ "afii57410": "آ",
+ "afii57411": "أ",
+ "afii57412": "ؤ",
+ "afii57413": "إ",
+ "afii57414": "ئ",
+ "afii57415": "ا",
+ "afii57416": "ب",
+ "afii57417": "ة",
+ "afii57418": "ت",
+ "afii57419": "ث",
+ "afii57420": "ج",
+ "afii57421": "ح",
+ "afii57422": "خ",
+ "afii57423": "د",
+ "afii57424": "ذ",
+ "afii57425": "ر",
+ "afii57426": "ز",
+ "afii57427": "س",
+ "afii57428": "ش",
+ "afii57429": "ص",
+ "afii57430": "ض",
+ "afii57431": "ط",
+ "afii57432": "ظ",
+ "afii57433": "ع",
+ "afii57434": "غ",
+ "afii57440": "ـ",
+ "afii57441": "ف",
+ "afii57442": "ق",
+ "afii57443": "ك",
+ "afii57444": "ل",
+ "afii57445": "م",
+ "afii57446": "ن",
+ "afii57448": "و",
+ "afii57449": "ى",
+ "afii57450": "ي",
+ "afii57451": "ً",
+ "afii57452": "ٌ",
+ "afii57453": "ٍ",
+ "afii57454": "َ",
+ "afii57455": "ُ",
+ "afii57456": "ِ",
+ "afii57457": "ّ",
+ "afii57458": "ْ",
+ "afii57470": "ه",
+ "afii57505": "ڤ",
+ "afii57506": "پ",
+ "afii57507": "چ",
+ "afii57508": "ژ",
+ "afii57509": "گ",
+ "afii57511": "ٹ",
+ "afii57512": "ڈ",
+ "afii57513": "ڑ",
+ "afii57514": "ں",
+ "afii57519": "ے",
+ "afii57534": "ە",
+ "afii57636": "₪",
+ "afii57645": "־",
+ "afii57658": "׃",
+ "afii57664": "א",
+ "afii57665": "ב",
+ "afii57666": "ג",
+ "afii57667": "ד",
+ "afii57668": "ה",
+ "afii57669": "ו",
+ "afii57670": "ז",
+ "afii57671": "ח",
+ "afii57672": "ט",
+ "afii57673": "י",
+ "afii57674": "ך",
+ "afii57675": "כ",
+ "afii57676": "ל",
+ "afii57677": "ם",
+ "afii57678": "מ",
+ "afii57679": "ן",
+ "afii57680": "נ",
+ "afii57681": "ס",
+ "afii57682": "ע",
+ "afii57683": "ף",
+ "afii57684": "פ",
+ "afii57685": "ץ",
+ "afii57686": "צ",
+ "afii57687": "ק",
+ "afii57688": "ר",
+ "afii57689": "ש",
+ "afii57690": "ת",
+ "afii57694": "שׁ",
+ "afii57695": "שׂ",
+ "afii57700": "וֹ",
+ "afii57705": "ײַ",
+ "afii57716": "װ",
+ "afii57717": "ױ",
+ "afii57718": "ײ",
+ "afii57723": "וּ",
+ "afii57793": "ִ",
+ "afii57794": "ֵ",
+ "afii57795": "ֶ",
+ "afii57796": "ֻ",
+ "afii57797": "ָ",
+ "afii57798": "ַ",
+ "afii57799": "ְ",
+ "afii57800": "ֲ",
+ "afii57801": "ֱ",
+ "afii57802": "ֳ",
+ "afii57803": "ׂ",
+ "afii57804": "ׁ",
+ "afii57806": "ֹ",
+ "afii57807": "ּ",
+ "afii57839": "ֽ",
+ "afii57841": "ֿ",
+ "afii57842": "׀",
+ "afii57929": "ʼ",
+ "afii61248": "℅",
+ "afii61289": "ℓ",
+ "afii61352": "№",
+ "afii61573": "‬",
+ "afii61574": "‭",
+ "afii61575": "‮",
+ "afii61664": "‌",
+ "afii63167": "٭",
+ "afii64937": "ʽ",
+ "Agrave": "À",
+ "agrave": "à",
+ "Agravesmall": "",
+ "agudo": "´",
+ "aleph": "ℵ",
+ "Alpha": "Α",
+ "alpha": "α",
+ "Alphatonos": "Ά",
+ "alphatonos": "ά",
+ "Amacron": "Ā",
+ "amacron": "ā",
+ "ampersand": "&",
+ "ampersandsmall": "",
+ "angle": "∠",
+ "angleleft": "〈",
+ "angleright": "〉",
+ "anoteleia": "·",
+ "Aogonek": "Ą",
+ "aogonek": "ą",
+ "apostrophe": "'",
+ "approxequal": "≈",
+ "Aring": "Å",
+ "aring": "å",
+ "Aringacute": "Ǻ",
+ "aringacute": "ǻ",
+ "Aringsmall": "",
+ "arrowboth": "↔",
+ "arrowdblboth": "⇔",
+ "arrowdbldown": "⇓",
+ "arrowdblleft": "⇐",
+ "arrowdblright": "⇒",
+ "arrowdblup": "⇑",
+ "arrowdown": "↓",
+ "arrowhorizex": "",
+ "arrowleft": "←",
+ "arrowright": "→",
+ "arrowup": "↑",
+ "arrowupdn": "↕",
+ "arrowupdnbse": "↨",
+ "arrowvertex": "",
+ "asciicircum": "^",
+ "asciitilde": "~",
+ "Asmall": "",
+ "asterisk": "*",
+ "asteriskmath": "∗",
+ "asuperior": "",
+ "at": "@",
+ "Atilde": "Ã",
+ "atilde": "ã",
+ "Atildesmall": "",
+ "backslash": "\\",
+ "bar": "|",
+ "Beta": "Β",
+ "beta": "β",
+ "block": "█",
+ "braceex": "",
+ "braceleft": "{",
+ "braceleftbt": "",
+ "braceleftmid": "",
+ "bracelefttp": "",
+ "braceright": "}",
+ "bracerightbt": "",
+ "bracerightmid": "",
+ "bracerighttp": "",
+ "bracketleft": "[",
+ "bracketleftbt": "",
+ "bracketleftex": "",
+ "bracketlefttp": "",
+ "bracketright": "]",
+ "bracketrightbt": "",
+ "bracketrightex": "",
+ "bracketrighttp": "",
+ "breve": "˘",
+ "Brevesmall": "",
+ "brokenbar": "¦",
+ "Bsmall": "",
+ "bsuperior": "",
+ "bullet": "•",
+ "Cacute": "Ć",
+ "cacute": "ć",
+ "caron": "ˇ",
+ "Caron": "",
+ "Caronsmall": "",
+ "carriagereturn": "↵",
+ "Ccaron": "Č",
+ "ccaron": "č",
+ "Ccedilla": "Ç",
+ "ccedilla": "ç",
+ "Ccedillasmall": "",
+ "Ccircumflex": "Ĉ",
+ "ccircumflex": "ĉ",
+ "Cdotaccent": "Ċ",
+ "cdotaccent": "ċ",
+ "cedilla": "¸",
+ "Cedillasmall": "",
+ "cent": "¢",
+ "centinferior": "",
+ "centoldstyle": "",
+ "centsuperior": "",
+ "Chi": "Χ",
+ "chi": "χ",
+ "circle": "○",
+ "circlemultiply": "⊗",
+ "circleplus": "⊕",
+ "circumflex": "^",
+ "circumflex": "ˆ",
+ "Circumflexsmall": "",
+ "club": "♣",
+ "colon": ":",
+ "colonmonetary": "₡",
+ "ColonSign": "₡",
+ "comma": ",",
+ "commaaccent": "",
+ "commainferior": "",
+ "commasuperior": "",
+ "congruent": "≅",
+ "copyright": "©",
+ "copyrightsans": "",
+ "copyrightserif": "",
+ "CruzeiroSign": "₢",
+ "Csmall": "",
+ "currency": "¤",
+ "cyrBreve": "",
+ "cyrbreve": "",
+ "cyrFlex": "",
+ "cyrflex": "",
+ "dagger": "†",
+ "daggerdbl": "‡",
+ "dblGrave": "",
+ "dblgrave": "",
+ "Dcaron": "Ď",
+ "dcaron": "ď",
+ "Dcroat": "Đ",
+ "dcroat": "đ",
+ "degree": "°",
+ "Delta": "Δ",
+ "delta": "δ",
+ "diaeresis": "¨",
+ "diamond": "♦",
+ "dieresis": "¨",
+ "Dieresis": "",
+ "DieresisAcute": "",
+ "dieresisacute": "",
+ "DieresisGrave": "",
+ "dieresisgrave": "",
+ "Dieresissmall": "",
+ "dieresistonos": "΅",
+ "divide": "/",
+ "divide": "÷",
+ "division": "÷",
+ "dkshade": "▓",
+ "dnblock": "▄",
+ "dollar": "$",
+ "dollarinferior": "",
+ "dollaroldstyle": "",
+ "dollarsuperior": "",
+ "dong": "₫",
+ "DongSign": "₫",
+ "dot": ".",
+ "dotaccent": "˙",
+ "Dotaccentsmall": "",
+ "dotbelowcomb": "̣",
+ "dotlessi": "ı",
+ "dotlessj": "",
+ "dotmath": "⋅",
+ "Dsmall": "",
+ "dstroke": "đ",
+ "Dstroke": "Đ",
+ "dsuperior": "",
+ "Eacute": "É",
+ "eacute": "é",
+ "Eacutesmall": "",
+ "Ebreve": "Ĕ",
+ "ebreve": "ĕ",
+ "Ecaron": "Ě",
+ "ecaron": "ě",
+ "Ecircumflex": "Ê",
+ "ecircumflex": "ê",
+ "Ecircumflexacute": "Ế",
+ "ecircumflexacute": "ế",
+ "Ecircumflexbelowdot": "Ệ",
+ "ecircumflexbelowdot": "ệ",
+ "Ecircumflexgrave": "Ề",
+ "ecircumflexgrave": "ề",
+ "Ecircumflexhook": "Ể",
+ "ecircumflexhook": "ể",
+ "Ecircumflexsmall": "",
+ "Ecircumflextilde": "Ễ",
+ "ecircumflextilde": "ễ",
+ "EcuSign": "₠",
+ "Ediaeresis": "Ë",
+ "ediaeresis": "ë",
+ "Edieresis": "Ë",
+ "edieresis": "ë",
+ "Edieresissmall": "",
+ "Edotaccent": "Ė",
+ "edotaccent": "ė",
+ "Egrave": "È",
+ "egrave": "è",
+ "Egravesmall": "",
+ "eight": "8",
+ "eightinferior": "₈",
+ "eightoldstyle": "",
+ "eightsubscript": "₈",
+ "eightsuperior": "⁸",
+ "element": "∈",
+ "ellipsis": "…",
+ "Emacron": "Ē",
+ "emacron": "ē",
+ "emdash": "—",
+ "emptyset": "∅",
+ "endash": "–",
+ "enfilledcircbullet": "•",
+ "Eng": "Ŋ",
+ "eng": "ŋ",
+ "Eogonek": "Ę",
+ "eogonek": "ę",
+ "Epsilon": "Ε",
+ "epsilon": "ε",
+ "Epsilontonos": "Έ",
+ "epsilontonos": "έ",
+ "equal": "=",
+ "equivalence": "≡",
+ "Esmall": "",
+ "estimated": "℮",
+ "esuperior": "",
+ "Eta": "Η",
+ "eta": "η",
+ "Etatonos": "Ή",
+ "etatonos": "ή",
+ "ETH": "Ð",
+ "eth": "ð",
+ "Eth": "Ð",
+ "Ethsmall": "",
+ "euro": "€",
+ "Euro": "€",
+ "EuroSign": "€",
+ "exclam": "!",
+ "exclamdbl": "‼",
+ "exclamdown": "¡",
+ "exclamdownsmall": "",
+ "exclamsmall": "",
+ "existential": "∃",
+ "female": "♀",
+ "ff": "ff",
+ "ffi": "ffi",
+ "ffl": "ffl",
+ "FFrancSign": "₣",
+ "fi": "fi",
+ "figuredash": "‒",
+ "filledbox": "■",
+ "filledrect": "▬",
+ "five": "5",
+ "fiveeighths": "⅝",
+ "fiveinferior": "₅",
+ "fiveoldstyle": "",
+ "fivesubscript": "₅",
+ "fivesuperior": "⁵",
+ "fl": "fl",
+ "florin": "ƒ",
+ "four": "4",
+ "fourinferior": "₄",
+ "fouroldstyle": "",
+ "foursubscript": "₄",
+ "foursuperior": "⁴",
+ "fraction": "∕",
+ "franc": "₣",
+ "Fsmall": "",
+ "function": "ƒ",
+ "Gamma": "Γ",
+ "gamma": "γ",
+ "Gbreve": "Ğ",
+ "gbreve": "ğ",
+ "Gcaron": "Ǧ",
+ "gcaron": "ǧ",
+ "Gcircumflex": "Ĝ",
+ "gcircumflex": "ĝ",
+ "Gcommaaccent": "Ģ",
+ "gcommaaccent": "ģ",
+ "Gdotaccent": "Ġ",
+ "gdotaccent": "ġ",
+ "germandbls": "ß",
+ "gradient": "∇",
+ "grave": "`",
+ "Grave": "",
+ "gravecomb": "̀",
+ "Gravesmall": "",
+ "greater": ">",
+ "greaterequal": "≥",
+ "Gsmall": "",
+ "guillemotleft": "«",
+ "guillemotright": "»",
+ "guilsinglleft": "‹",
+ "guilsinglright": "›",
+ "H18533": "●",
+ "H18543": "▪",
+ "H18551": "▫",
+ "H22073": "□",
+ "hash": "#",
+ "hashtag": "#",
+ "Hbar": "Ħ",
+ "hbar": "ħ",
+ "Hcircumflex": "Ĥ",
+ "hcircumflex": "ĥ",
+ "heart": "♥",
+ "hookabovecomb": "̉",
+ "house": "⌂",
+ "Hsmall": "",
+ "hungarumlaut": "˝",
+ "Hungarumlaut": "",
+ "Hungarumlautsmall": "",
+ "hyphen": "­",
+ "hypheninferior": "",
+ "hyphensuperior": "",
+ "Iacute": "Í",
+ "iacute": "í",
+ "Iacutesmall": "",
+ "Ibreve": "Ĭ",
+ "ibreve": "ĭ",
+ "Icircumflex": "Î",
+ "icircumflex": "î",
+ "Icircumflexsmall": "",
+ "Idiaeresis": "Ï",
+ "idiaeresis": "ï",
+ "Idieresis": "Ï",
+ "idieresis": "ï",
+ "Idieresissmall": "",
+ "Idotaccent": "İ",
+ "Ifraktur": "ℑ",
+ "Igrave": "Ì",
+ "igrave": "ì",
+ "Igravesmall": "",
+ "IJ": "IJ",
+ "ij": "ij",
+ "Imacron": "Ī",
+ "imacron": "ī",
+ "infinity": "∞",
+ "integral": "∫",
+ "integralbt": "⌡",
+ "integralex": "",
+ "integraltp": "⌠",
+ "intersection": "∩",
+ "invbullet": "◘",
+ "invcircle": "◙",
+ "invsmileface": "☻",
+ "Iogonek": "Į",
+ "iogonek": "į",
+ "Iota": "Ι",
+ "iota": "ι",
+ "Iotadieresis": "Ϊ",
+ "iotadieresis": "ϊ",
+ "iotadieresistonos": "ΐ",
+ "Iotatonos": "Ί",
+ "iotatonos": "ί",
+ "Ismall": "",
+ "isuperior": "",
+ "Itilde": "Ĩ",
+ "itilde": "ĩ",
+ "Jcircumflex": "Ĵ",
+ "jcircumflex": "ĵ",
+ "Jsmall": "",
+ "Kappa": "Κ",
+ "kappa": "κ",
+ "Kcommaaccent": "Ķ",
+ "kcommaaccent": "ķ",
+ "kgreenlandic": "ĸ",
+ "Ksmall": "",
+ "Lacute": "Ĺ",
+ "lacute": "ĺ",
+ "Lambda": "Λ",
+ "lambda": "λ",
+ "Lcaron": "Ľ",
+ "lcaron": "ľ",
+ "Lcommaaccent": "Ļ",
+ "lcommaaccent": "ļ",
+ "Ldot": "Ŀ",
+ "ldot": "ŀ",
+ "less": "<",
+ "lessequal": "≤",
+ "lfblock": "▌",
+ "lira": "₤",
+ "LiraSign": "₤",
+ "LL": "",
+ "ll": "",
+ "logicaland": "∧",
+ "logicalnot": "¬",
+ "logicalor": "∨",
+ "longs": "ſ",
+ "lozenge": "◊",
+ "Lslash": "Ł",
+ "lslash": "ł",
+ "Lslashsmall": "",
+ "Lsmall": "",
+ "lsuperior": "",
+ "ltshade": "░",
+ "macron": "¯",
+ "macron": "ˉ",
+ "Macron": "",
+ "Macronsmall": "",
+ "male": "♂",
+ "masculine": "º",
+ "MillSign": "₥",
+ "minplus": "+",
+ "minus": "-",
+ "minus": "−",
+ "minute": "′",
+ "Msmall": "",
+ "msuperior": "",
+ "mu": "µ",
+ "Mu": "Μ",
+ "mu": "μ",
+ "multiply": "*",
+ "multiply": "×",
+ "musicalnote": "♪",
+ "musicalnotedbl": "♫",
+ "Nacute": "Ń",
+ "nacute": "ń",
+ "NairaSign": "₦",
+ "napostrophe": "ʼn",
+ "Ncaron": "Ň",
+ "ncaron": "ň",
+ "Ncommaaccent": "Ņ",
+ "ncommaaccent": "ņ",
+ "NewSheqelSign": "₪",
+ "nine": "9",
+ "nineinferior": "₉",
+ "nineoldstyle": "",
+ "ninesubscript": "₉",
+ "ninesuperior": "⁹",
+ "nobreakspace": " ",
+ "notelement": "∉",
+ "notequal": "≠",
+ "notsign": "¬",
+ "notsubset": "⊄",
+ "Nsmall": "",
+ "nsuperior": "ⁿ",
+ "Ntilde": "Ñ",
+ "ntilde": "ñ",
+ "Ntildesmall": "",
+ "Nu": "Ν",
+ "nu": "ν",
+ "numbersign": "#",
+ "numerosign": "№",
+ "Oacute": "Ó",
+ "oacute": "ó",
+ "Oacutesmall": "",
+ "Obreve": "Ŏ",
+ "obreve": "ŏ",
+ "Ocircumflex": "Ô",
+ "ocircumflex": "ô",
+ "Ocircumflexacute": "Ố",
+ "ocircumflexacute": "ố",
+ "Ocircumflexbelowdot": "Ộ",
+ "ocircumflexbelowdot": "ộ",
+ "Ocircumflexgrave": "Ồ",
+ "ocircumflexgrave": "ồ",
+ "Ocircumflexhook": "Ổ",
+ "ocircumflexhook": "ổ",
+ "Ocircumflexsmall": "",
+ "Ocircumflextilde": "Ỗ",
+ "ocircumflextilde": "ỗ",
+ "Odiaeresis": "Ö",
+ "odiaeresis": "ö",
+ "Odieresis": "Ö",
+ "odieresis": "ö",
+ "Odieresissmall": "",
+ "oe": "œ",
+ "OE": "Œ",
+ "OEsmall": "",
+ "ogonek": "˛",
+ "Ogoneksmall": "",
+ "Ograve": "Ò",
+ "ograve": "ò",
+ "Ogravesmall": "",
+ "Ohorn": "Ơ",
+ "ohorn": "ơ",
+ "Ohornacute": "Ớ",
+ "ohornacute": "ớ",
+ "Ohornbelowdot": "Ợ",
+ "ohornbelowdot": "ợ",
+ "Ohorngrave": "Ờ",
+ "ohorngrave": "ờ",
+ "Ohornhook": "Ở",
+ "ohornhook": "ở",
+ "Ohorntilde": "Ỡ",
+ "ohorntilde": "ỡ",
+ "Ohungarumlaut": "Ő",
+ "ohungarumlaut": "ő",
+ "Omacron": "Ō",
+ "omacron": "ō",
+ "Omega": "Ω",
+ "omega": "ω",
+ "omega1": "ϖ",
+ "Omegatonos": "Ώ",
+ "omegatonos": "ώ",
+ "Omicron": "Ο",
+ "omicron": "ο",
+ "Omicrontonos": "Ό",
+ "omicrontonos": "ό",
+ "one": "1",
+ "onedotenleader": "․",
+ "oneeighth": "⅛",
+ "onefitted": "",
+ "onehalf": "½",
+ "oneinferior": "₁",
+ "oneoldstyle": "",
+ "onequarter": "¼",
+ "onesubscript": "₁",
+ "onesuperior": "¹",
+ "onethird": "⅓",
+ "openbullet": "◦",
+ "ordfeminine": "ª",
+ "ordmasculine": "º",
+ "orthogonal": "∟",
+ "Oslash": "Ø",
+ "oslash": "ø",
+ "Oslashacute": "Ǿ",
+ "oslashacute": "ǿ",
+ "Oslashsmall": "",
+ "Osmall": "",
+ "osuperior": "",
+ "Otilde": "Õ",
+ "otilde": "õ",
+ "Otildesmall": "",
+ "paragraph": "¶",
+ "parenleft": "(",
+ "parenleftbt": "",
+ "parenleftex": "",
+ "parenleftinferior": "₍",
+ "parenleftsuperior": "⁽",
+ "parenlefttp": "",
+ "parenright": ")",
+ "parenrightbt": "",
+ "parenrightex": "",
+ "parenrightinferior": "₎",
+ "parenrightsuperior": "⁾",
+ "parenrighttp": "",
+ "partialdiff": "∂",
+ "percent": "%",
+ "period": ".",
+ "periodcentered": "·",
+ "periodcentered": "∙",
+ "periodinferior": "",
+ "periodsuperior": "",
+ "perpendicular": "⊥",
+ "perthousand": "‰",
+ "peseta": "₧",
+ "PesetaSign": "₧",
+ "Phi": "Φ",
+ "phi": "φ",
+ "phi1": "ϕ",
+ "Pi": "Π",
+ "pi": "π",
+ "plus": "+",
+ "plusminus": "±",
+ "pound": "£",
+ "prescription": "℞",
+ "product": "∏",
+ "propersubset": "⊂",
+ "propersuperset": "⊃",
+ "proportional": "∝",
+ "Psi": "Ψ",
+ "psi": "ψ",
+ "Psmall": "",
+ "Qsmall": "",
+ "question": "?",
+ "questiondown": "¿",
+ "questiondownsmall": "",
+ "questionsmall": "",
+ "quotedbl": "\"",
+ "quotedblbase": "„",
+ "quotedblleft": "“",
+ "quotedblright": "”",
+ "quoteleft": "‘",
+ "quotereversed": "‛",
+ "quoteright": "’",
+ "quotesinglbase": "‚",
+ "quotesingle": "'",
+ "Racute": "Ŕ",
+ "racute": "ŕ",
+ "radical": "√",
+ "radicalex": "",
+ "Rcaron": "Ř",
+ "rcaron": "ř",
+ "Rcommaaccent": "Ŗ",
+ "rcommaaccent": "ŗ",
+ "reflexsubset": "⊆",
+ "reflexsuperset": "⊇",
+ "registered": "®",
+ "registersans": "",
+ "registerserif": "",
+ "revlogicalnot": "⌐",
+ "Rfraktur": "ℜ",
+ "Rho": "Ρ",
+ "rho": "ρ",
+ "ring": "˚",
+ "Ringsmall": "",
+ "Rsmall": "",
+ "rsuperior": "",
+ "rtblock": "▐",
+ "RupeeSign": "₨",
+ "rupiah": "",
+ "Sacute": "Ś",
+ "sacute": "ś",
+ "Scaron": "Š",
+ "scaron": "š",
+ "Scaronsmall": "",
+ "Scedilla": "",
+ "scedilla": "",
+ "Scircumflex": "Ŝ",
+ "scircumflex": "ŝ",
+ "Scommaaccent": "Ș",
+ "scommaaccent": "ș",
+ "second": "″",
+ "section": "§",
+ "semicolon": ";",
+ "seven": "7",
+ "seveneighths": "⅞",
+ "seveninferior": "₇",
+ "sevenoldstyle": "",
+ "sevensubscript": "₇",
+ "sevensuperior": "⁷",
+ "SF010000": "┌",
+ "SF020000": "└",
+ "SF030000": "┐",
+ "SF040000": "┘",
+ "SF050000": "┼",
+ "SF060000": "┬",
+ "SF070000": "┴",
+ "SF080000": "├",
+ "SF090000": "┤",
+ "SF100000": "─",
+ "SF110000": "│",
+ "SF190000": "╡",
+ "SF200000": "╢",
+ "SF210000": "╖",
+ "SF220000": "╕",
+ "SF230000": "╣",
+ "SF240000": "║",
+ "SF250000": "╗",
+ "SF260000": "╝",
+ "SF270000": "╜",
+ "SF280000": "╛",
+ "SF360000": "╞",
+ "SF370000": "╟",
+ "SF380000": "╚",
+ "SF390000": "╔",
+ "SF400000": "╩",
+ "SF410000": "╦",
+ "SF420000": "╠",
+ "SF430000": "═",
+ "SF440000": "╬",
+ "SF450000": "╧",
+ "SF460000": "╨",
+ "SF470000": "╤",
+ "SF480000": "╥",
+ "SF490000": "╙",
+ "SF500000": "╘",
+ "SF510000": "╒",
+ "SF520000": "╓",
+ "SF530000": "╫",
+ "SF540000": "╪",
+ "shade": "▒",
+ "Sigma": "Σ",
+ "sigma": "σ",
+ "sigma1": "ς",
+ "similar": "∼",
+ "similarequal": "≃",
+ "six": "6",
+ "sixinferior": "₆",
+ "sixoldstyle": "",
+ "sixsubscript": "₆",
+ "sixsuperior": "⁶",
+ "slash": "/",
+ "smileface": "☺",
+ "spade": "♠",
+ "ssharp": "§",
+ "ssharp": "ß",
+ "Ssharp": "ẞ",
+ "Ssmall": "",
+ "ssuperior": "",
+ "sterling": "£",
+ "subtract": "-",
+ "suchthat": "∋",
+ "summation": "∑",
+ "sun": "☼",
+ "Tau": "Τ",
+ "tau": "τ",
+ "Tbar": "Ŧ",
+ "tbar": "ŧ",
+ "Tcaron": "Ť",
+ "tcaron": "ť",
+ "Tcommaaccent": "Ț",
+ "tcommaaccent": "ț",
+ "Thai_baht": "฿",
+ "therefore": "∴",
+ "Theta": "Θ",
+ "theta": "θ",
+ "theta1": "ϑ",
+ "THORN": "Þ",
+ "thorn": "þ",
+ "Thorn": "Þ",
+ "Thornsmall": "",
+ "three": "3",
+ "threeeighths": "⅜",
+ "threeinferior": "₃",
+ "threeoldstyle": "",
+ "threequarters": "¾",
+ "threequartersemdash": "",
+ "threesubscript": "₃",
+ "threesuperior": "³",
+ "til": "~",
+ "tilde": "~",
+ "tilde": "˜",
+ "tildecomb": "̃",
+ "Tildesmall": "",
+ "tonos": "΄",
+ "trademark": "™",
+ "trademarksans": "",
+ "trademarkserif": "",
+ "triagdn": "▼",
+ "triaglf": "◄",
+ "triagrt": "►",
+ "triagup": "▲",
+ "Tsmall": "",
+ "tsuperior": "",
+ "two": "2",
+ "twodotenleader": "‥",
+ "twoinferior": "₂",
+ "twooldstyle": "",
+ "twosubscript": "₂",
+ "twosuperior": "²",
+ "twothirds": "⅔",
+ "Uacute": "Ú",
+ "uacute": "ú",
+ "Uacutesmall": "",
+ "Ubreve": "Ŭ",
+ "ubreve": "ŭ",
+ "Ucircumflex": "Û",
+ "ucircumflex": "û",
+ "Ucircumflexsmall": "",
+ "Udiaeresis": "Ü",
+ "udiaeresis": "ü",
+ "Udieresis": "Ü",
+ "udieresis": "ü",
+ "Udieresissmall": "",
+ "Ugrave": "Ù",
+ "ugrave": "ù",
+ "Ugravesmall": "",
+ "Uhorn": "Ư",
+ "uhorn": "ư",
+ "Uhornacute": "Ứ",
+ "uhornacute": "ứ",
+ "Uhornbelowdot": "Ự",
+ "uhornbelowdot": "ự",
+ "Uhorngrave": "Ừ",
+ "uhorngrave": "ừ",
+ "Uhornhook": "Ử",
+ "uhornhook": "ử",
+ "Uhorntilde": "Ữ",
+ "uhorntilde": "ữ",
+ "Uhungarumlaut": "Ű",
+ "uhungarumlaut": "ű",
+ "Umacron": "Ū",
+ "umacron": "ū",
+ "underscore": "_",
+ "underscoredbl": "‗",
+ "union": "∪",
+ "universal": "∀",
+ "Uogonek": "Ų",
+ "uogonek": "ų",
+ "upblock": "▀",
+ "Upsilon": "Υ",
+ "upsilon": "υ",
+ "Upsilon1": "ϒ",
+ "Upsilondieresis": "Ϋ",
+ "upsilondieresis": "ϋ",
+ "upsilondieresistonos": "ΰ",
+ "Upsilontonos": "Ύ",
+ "upsilontonos": "ύ",
+ "Uring": "Ů",
+ "uring": "ů",
+ "Usmall": "",
+ "Utilde": "Ũ",
+ "utilde": "ũ",
+ "Vsmall": "",
+ "Wacute": "Ẃ",
+ "wacute": "ẃ",
+ "Wcircumflex": "Ŵ",
+ "wcircumflex": "ŵ",
+ "Wdieresis": "Ẅ",
+ "wdieresis": "ẅ",
+ "weierstrass": "℘",
+ "Wgrave": "Ẁ",
+ "wgrave": "ẁ",
+ "WonSign": "₩",
+ "Wsmall": "",
+ "Xi": "Ξ",
+ "xi": "ξ",
+ "Xsmall": "",
+ "Yacute": "Ý",
+ "yacute": "ý",
+ "Yacutesmall": "",
+ "Ycircumflex": "Ŷ",
+ "ycircumflex": "ŷ",
+ "ydiaeresis": "ÿ",
+ "Ydieresis": "Ÿ",
+ "ydieresis": "ÿ",
+ "Ydieresissmall": "",
+ "yen": "¥",
+ "Ygrave": "Ỳ",
+ "ygrave": "ỳ",
+ "Ysmall": "",
+ "Zacute": "Ź",
+ "zacute": "ź",
+ "Zcaron": "Ž",
+ "zcaron": "ž",
+ "Zcaronsmall": "",
+ "Zdotaccent": "Ż",
+ "zdotaccent": "ż",
+ "zero": "0",
+ "zeroinferior": "₀",
+ "zerooldstyle": "",
+ "zerosubscript": "₀",
+ "zerosuperior": "⁰",
+ "zeta": "ζ",
+ "Zeta": "Ζ",
+ "Zsmall": "",
+}
+sided_modifiers = {'ctrl', 'alt', 'shift', 'windows'}
+all_modifiers = {'alt', 'alt gr', 'ctrl', 'shift', 'windows'} | set('left ' + n for n in sided_modifiers) | set('right ' + n for n in sided_modifiers)
+
+# Platform-specific canonical overrides
+
+if platform.system() == 'Darwin':
+ canonical_names.update({
+ "command": "command",
+ "windows": "command",
+ "cmd": "command",
+ "win": "command",
+ "backspace": "delete",
+ 'alt gr': 'alt' # Issue #117
+ })
+ all_modifiers = {'alt', 'ctrl', 'shift', 'windows'}
+if platform.system() == 'Linux':
+ canonical_names.update({
+ "select": "end",
+ "find": "home",
+ 'next': 'page down',
+ 'prior': 'page up',
+ })
+
+def normalize_name(name):
+ """
+ Given a key name (e.g. "LEFT CONTROL"), clean up the string and convert to
+ the canonical representation (e.g. "left ctrl") if one is known.
+ """
+ if not name or not isinstance(name, basestring):
+ raise ValueError('Can only normalize non-empty string names. Unexpected '+ repr(name))
+
+ if len(name) > 1:
+ name = name.lower()
+ if name != '_' and '_' in name:
+ name = name.replace('_', ' ')
+
+ return canonical_names.get(name, name)