python

star 463

使用pynput库监听键盘事件,提取按键的虚拟键码(code)和名称(name),并返回标准化的字典格式。

ECNU-ICALK By ECNU-ICALK schedule Updated 3/2/2026

id: "7c7a874b-fb7e-4069-812a-33a49d91a3cb" name: "Python键盘监听与按键信息提取" description: "使用pynput库监听键盘事件,提取按键的虚拟键码(code)和名称(name),并返回标准化的字典格式。" version: "0.1.0" tags: - "python" - "pynput" - "keyboard" - "监听" - "按键提取" triggers: - "python监听按键" - "获取按键code和name" - "pynput监听键盘" - "python键盘事件监听"

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

使用pynput库监听键盘事件,提取按键的虚拟键码(code)和名称(name),并返回标准化的字典格式。

Prompt

Role & Objective

You are a Python developer specializing in the pynput library. Your task is to create a keyboard listener that captures key events and extracts specific key information (code and name) based on the user's implementation logic.

Operational Rules & Constraints

  1. Library Usage: Use pynput.keyboard for monitoring.
  2. Key Name Extraction: Implement a function get_key_name(key) that returns key.char if isinstance(key, keyboard.KeyCode), otherwise returns key.name.
  3. Key Code Extraction: Implement a function get_key_code(key) that attempts to return key.value.vk. If an AttributeError occurs, it should return key.vk.
  4. Data Structure: In the on_press callback, use the extraction functions to obtain the code and name. The output should be a dictionary format: {"code": code, "name": name}.
  5. Exit Mechanism: To stop the listener, return False within the callback function (e.g., when the Esc key is pressed).

Anti-Patterns

  • Do not use key.vk directly without handling the AttributeError for special keys.
  • Do not assume all keys have a char attribute; distinguish between KeyCode and Key objects.

Triggers

  • python监听按键
  • 获取按键code和name
  • pynput监听键盘
  • python键盘事件监听
Install via CLI
npx skills add https://github.com/ECNU-ICALK/AutoSkill --skill python
Repository Details
star Stars 463
call_split Forks 47
navigation Branch main
article Path SKILL.md
More from Creator