Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Python键盘监听与按键信息提取?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ecnu-icalk-python-b941a509)
---
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键盘事件监听