代码拉取完成,页面将自动刷新
同步操作将从 outersky/JingTerm 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
from gi.repository import Gdk
# 键盘事件有关函数,设置易读的快捷键
def get_keyevent_name(key_event):
if key_event.is_modifier != 0:
return ""
key_modifiers = get_key_event_modifiers(key_event)
key_name = get_key_name(key_event.keyval)
if len(key_modifiers) == 0:
return key_name
name = ""
for modifier in key_modifiers:
name += modifier + " + "
name += key_name
return name
def get_key_event_modifiers(key_event):
modifiers = []
if key_event.state & Gdk.ModifierType.CONTROL_MASK != 0:
modifiers.append("Ctrl")
if key_event.state & Gdk.ModifierType.SUPER_MASK != 0:
modifiers.append("Super")
if key_event.state & Gdk.ModifierType.HYPER_MASK != 0:
modifiers.append("Hyper")
if key_event.state & Gdk.ModifierType.MOD1_MASK != 0:
modifiers.append("Alt")
if key_event.state & Gdk.ModifierType.SHIFT_MASK != 0:
modifiers.append("Shift")
return modifiers
def get_key_name(keyval):
key_unicode = Gdk.keyval_to_unicode(Gdk.keyval_to_lower(keyval))
keycode_map = {
8:"Backspace",
9:"Tab",
13:"Enter",
27:"Esc",
32:"Space",
127:"Delete"
}
if key_unicode == 0: # function keys at top line of keyboard
keyname = Gdk.keyval_name(keyval)
# Gdk.keyval_name will return null when user's hardware got KEY_UNKNOWN from hardware.
# So, we need return empty string to protect program won't crash later.
if keyname == None:
return ""
if keyname == "ISO_Left_Tab":
return "Tab"
else:
return keyname
else:
if key_unicode in keycode_map:
return keycode_map[key_unicode]
else:
return chr(key_unicode)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。