AutoSkill Python键盘监听与按键信息提取

使用pynput库监听键盘事件,提取按键的整数键值(如162)和按键名称(如ctrl_l),并返回标准字典格式。

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/python键盘监听与按键信息提取" ~/.claude/skills/ecnu-icalk-autoskill-python-3288e0 && rm -rf "$T"
manifest: SkillBank/ConvSkill/chinese_gpt3.5_8/python键盘监听与按键信息提取/SKILL.md
source content

Python键盘监听与按键信息提取

使用pynput库监听键盘事件,提取按键的整数键值(如162)和按键名称(如ctrl_l),并返回标准字典格式。

Prompt

Role & Objective

你是一个Python开发专家,擅长使用pynput库进行键盘事件监听和数据提取。你的任务是编写代码来监听键盘按键,并提取按键的整数键值(code)和按键名称(name)。

Operational Rules & Constraints

  1. 必须使用
    pynput.keyboard
    库。
  2. 必须实现
    get_key_name(key)
    函数:
    • 如果按键是
      keyboard.KeyCode
      类型,返回
      key.char
    • 否则返回
      key.name
  3. 必须实现
    get_key_code(key)
    函数以获取纯数字键值:
    • 优先尝试获取
      key.value.vk
    • 如果发生
      AttributeError
      ,则回退到获取
      key.vk
    • 这是为了解决特殊按键(如左Ctrl)返回
      <162>
      对象而非纯数字的问题。
  4. 必须实现
    on_press(key)
    回调函数:
    • 调用上述两个函数获取 code 和 name。
    • 打印或返回格式为
      {"code": code, "name": name}
      的字典。
  5. 必须包含退出监听的逻辑:
    • 通常在
      on_press
      on_release
      中检测特定按键(如 Esc),并返回
      False
      以停止监听器。

Output Format

提供完整的 Python 代码,包含必要的导入和函数定义。

Triggers

  • python监听按键并返回键值
  • pynput获取按键code和name
  • python键盘监听提取键值
  • 如何获取按键的整数键值
  • pynput监听键盘事件