a „oe¿ã @s&ddlZddlZddlZdZiZiZdddddœZdd „Zeƒd d „Zej ej Bej ej ej ej Bej ej Bej ej Bej ej ej ej ej dd œ Zd d„Zdej fgdej ej Bfdej fdej fgdej ej Bfdej fdej fggZdd„Zdd„Zdd„Zdd„Zdd„Zed k�r"eƒdS)!éNéZescZenterZpgupZpgdn)ÚescapeÚreturnZbackÚnextcCs`dd„tjDƒ}|D]F}tt|ƒ}|dd… ¡}|t|<|tvrRt|}|t|<|t|<qdS)NcSsg|]}| d¡r|‘qS)ZVK_)Ú startswith)Ú.0Úentry©r úCC:\Program Files\Certbot\pkgs\pythonwin\pywin\scintilla\keycodes.pyÚ óz_fillvkmap..é)Úwin32conÚ__dict__ÚgetattrÚlowerÚkey_name_to_vkÚ _better_namesÚkey_code_to_name)ÚnamesÚnameÚcodeÚnr r r Ú _fillvkmaps rcCs–t|ƒdkr„t |¡}|dkr"dSt |¡}t |¡}d}|d@rL|tjO}|d@rd|tjtjBO}|d@r||tj tj BO}||fSt   |  ¡¡dfS)Nééÿÿÿÿ)rrrré)ÚlenÚwin32apiZ VkKeyScanZLOBYTEZHIBYTErÚ SHIFT_PRESSEDÚLEFT_CTRL_PRESSEDÚRIGHT_CTRL_PRESSEDÚLEFT_ALT_PRESSEDÚRIGHT_ALT_PRESSEDrÚgetr)ZchardescÚinfoÚvkÚstateÚ modifiersr r r Úget_vk"s     r)) ZaltZlaltZraltZctrlZctlZcontrolZlctrlZlctlZrctrlZrctlÚshiftÚkeyc Cs°|d}d}}t|ƒ}g}||kr`||dvrV|||…}| | ¡¡|d7}|}|d7}qd}|dd…D]"}t | ¡¡}|durp||O}qpt|dƒ\}} ||| BfS)Nú-rz+-rr)rÚappendrr(r$r)) rÚstartÚposÚmaxZtoksÚtokÚflagsÚmodr&Z this_flagsr r r Úparse_key_nameHs$    r4ZShiftZCtrlZLCtrlZRCtrlZAltZLAltZRAltc CsÒd}g}tD]0}|D]&\}}||@r| |¡||@}q qq ||@rZ| t||@ƒ¡|durn| d¡n@z| t|¡Wn,ty¬t |t¡}| t|ƒ¡Yn0d}||vr¾d}|  dd„|Dƒ¡S)Nrzú+r,cSsg|] }| ¡‘qSr )Ú capitalize)rÚpr r r r Žr z!make_key_name..) Ú_checksr-ÚhexrÚKeyErrorrZ MapVirtualKeyÚMAPVK_VK_TO_CHARÚchrÚjoin) r&r2Z flags_doneÚpartsZmoddatarZ checkflagZscancodeÚsepr r r Ú make_key_namets*     r@cCs,t|ƒ\}}tdt|ƒ|t |¡fƒdS)NzChar %s -> %d -> %s)r)ÚprintÚreprrr$)ÚcharZscZmodsr r r Ú_psc‘s rDcCs(dD] }t|ƒqdD] }t|ƒqdS)NzaA0/?[{}];:'"`~_-+=\|,<.>/?)ZHomeZEndZLeftZRightZUpZDownZMenuZNext)rD)Zchrr r r Útest1–s rEcCs*t|ƒ\}}td|||t||ƒfƒdS)Nz%s -> %s,%s -> %s)r4rAr@)rr&r2r r r Ú_pkn�s rFcCsÄtdƒtdƒtdƒtdƒtdƒtdƒtdƒtdƒtd ƒtd ƒtd ƒtd ƒtd ƒtdƒtdƒtdƒtdƒtdƒtdƒtdƒtdƒtdƒtdƒtdƒdS)Nzctrl+alt-shift+xz ctrl-homezShift-+zShift--zShift+-zShift++zLShift-+zctl+homez ctl+enterz alt+returnzAlt+/zAlt+BadKeyNameÚAÚazShift-AzShift-aú(zCtrl+(z Ctrl+Shift-8zCtrl+*Ú{ú!Ú.)rFr r r r Útest2¢s0rMÚ__main__)rrZwin32uir;rrrrr)r"r#r r!rr(r4r8r@rDrErFrMÚ__name__r r r r ÚsZü     ôÿýý÷