Pynput 键盘记录器仅返回 Shift、Command、空格和 Capslock 键

2024-02-23

我希望这个问题没有在之前的帖子中讨论过。我的搜索结果没有返回任何相关内容,但请随时启发我!

我正在编写一个非常基本的 Python 键盘记录器(作为一个更大项目的一部分)。我使用 pynput 来监听击键,并使用日志记录模块将它们写入 txt 文件(见下文)。到目前为止,它似乎可以正常工作,唯一的问题是它只会记录 Shift、命令、空格和大写锁定键。所有其他击键,即字母、数字等均不会记录。

我正在运行 OSX 10.12 (Sierra)、Python 3.5.2。

任何关于为什么会这样(以及可能的解决方案)的建议/想法将不胜感激。

Thanks.

    from pynput.keyboard import Key, Listener
    import logging

    log_dir = ""

    logging.basicConfig(filename=(log_dir + 'key_log.txt'), level=logging.DEBUG, format='%(asctime)s: %(message)s')

    def on_press(key):
        logging.info(str(key))

    with Listener(on_press=on_press) as listener:
        listener.join() 

单字符键和其他键的处理方式不同。尝试一下你的 on_press 函数:

def on_press(key):
    try: logging.info(key.char) # letters, numbers etc
    except: logging.info(key.name) # other keys
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pynput 键盘记录器仅返回 Shift、Command、空格和 Capslock 键 的相关文章

随机推荐

  • 如何使用 $util.error 在 AppSync 中发送自定义错误

    我对 AppSync 错误处理有疑问 我想发送errorInfo对象以及错误响应 我尝试过 util error 根据文件 https docs aws amazon com appsync latest devguide resolver
  • 如何更改 Rails 中的 URL

    我有一个名为 Book 的资源 然后我有如下域 domain com books 272 但我想把它改成 domain com stories 272 仅针对 URL 不需要更改控制器 类等 在我有的路线中 map connect cont
  • 如何在JSP页面中包含angular2/4组件?

    我想在JSP页面中添加角度组件 有哪些可能的方法 描述更多 我在 JSP 中有一个应用程序动态 Web 应用程序 我创建的另一个应用程序是一个执行一些身份验证的角度组件 除了 object embedd 或 iframe 之外 还有其他方法
  • 使用共享库时的 Yarn 工作区最佳实践

    我有一个常见 或不太常见 的场景yarn workspaces并且在网上没有找到适合我的指南 纱线工作区看起来像这样 monorepo packages client admin theme lib Client用作我们的最终用户 它是一个
  • Databricks - Pyspark 与 Pandas

    我有一个 python 脚本 其中使用 pandas 来转换 操作我的数据 我知道我有一些 低效 的代码块 我的问题是 如果 pyspark 应该更快 我可以使用 pyspark 而不是 pandas 替换这些块 还是我需要将所有内容都放在
  • 如何在 C# 中读取 ID3 标签并将其写入 MP3? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个库可以在 C 中读取 ID3 标签并将其写入 MP3 我在搜索时实际上看到了几个 有人使用可
  • 在 Android junit 测试用例中获取测试项目的上下文

    有谁知道如何获得上下文测试项目在 Android junit 测试用例中 扩展 AndroidTestCase 注意 该测试不是仪器测试 注 2 我需要测试项目的上下文 而不是测试的实际应用程序的上下文 我需要它从测试项目的资产中加载一些文
  • 如何找到矩形周长中距离给定点最近的点?

    这是一个与语言无关的问题 给定一个矩形的尺寸l t w h 左 上 宽 高 和一个点x y 如何找到矩形周长上距离该点最近的点 我尝试用 Lua 解决这个问题 但任何其他语言都可以 到目前为止 这是我最大的努力 local function
  • 如何使用“pass”语句?

    我正在学习Python 我已经到达了关于pass陈述 我使用的指南将其定义为通常用作占位符的空语句 我仍然不完全明白这意味着什么 什么是简单 基本的情况 其中pass将使用声明以及为什么需要它 假设您正在设计一个新类 其中包含一些您还不想实
  • 数组语法与指针语法和代码生成?

    在书里 理解和使用 C 指针 作者 理查德 里斯 http shop oreilly com product 0636920028000 do第85页说 int vector 5 1 2 3 4 5 生成的代码是vector i 与生成的代
  • 让 QLineEdit 检测 Tab 键按下事件?

    我在文档中找不到任何内容 我找到了一个使用 PyQt 或其他东西的解决方案 但我宁愿不必使用它 另外 如果有信号就好了 但看起来没有 1 当您按照 Sam 建议安装事件过滤器时 m lineEdit gt installEventFilte
  • 我应该将函数的结果存储到数组中吗?

    我有一个这样的函数 function time elapsed string ptime date time strtotime 1348 10 10 04 30 01 ptime year date Y date time month d
  • 从 ASP.NET MVC 中的 DropDownList 获取默认 NULL 值

    我正在创建一个Trailer对于现有的Driver 可以从下拉列表中选择 Html DropDownListFor x gt x Driver driverID SelectList ViewBag DriverID Please Sele
  • 在 C# 中使用 BCC 不带 TO 通过 SMTP 发送邮件

    我正在尝试使用System Net Mail MailMessageC 中的类来创建一封电子邮件 该电子邮件将通过以下方式发送到电子邮件地址列表BCC 我不想包括TO地址 但似乎我必须这样做 因为如果我使用空字符串作为TO地址在MailMe
  • 在C++中,如何在第一个'system()'结束后才执行第二个'system()'?

    请参阅下面的代码 如果有任何替代系统可以满足我的要求 那就太好了 strcat comando1 start c arquiv 1 winrar rar a D sisbibbkp teste1 strcat comando1 data s
  • 使用 base64 字符串的 C# LinkedResource

    我该怎么说 gt url data image jpeg base64 9j 4AAQSkZJRgABAgEASABIAAD 2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB into new
  • 如何使用! scala 中的运算符?

    我是 Scala 的新手 正在尝试一些基本操作来掌握这门语言 我正在尝试使用逻辑运算符 例如 val a2 0x01 0xFF println a2 我想对a2的值求负然后打印出来 但它给了我一个错误说 value unary is not
  • XML 命名空间“clr-namespace:YYY”中不存在标记“XXX”

    我已经实现了一个转换器 将 Int32 转换为 String 以便能够将属性绑定到文本框 我在命名空间 MyApp Converters 中实现了这个转换器 它被称为 Int32ToStringConverter 然后 在我的 axml 中
  • R:删除向量的最后一个元素

    如何删除动物园系列的最后 100 个元素 我知道名称 元素 符号 但我无法减去整个部分 我喜欢用head因为这样更容易打字 其他方法可能执行得更快 但我很懒 而我的计算机却不是 x lt head x 100 gt head 1 102 1
  • Pynput 键盘记录器仅返回 Shift、Command、空格和 Capslock 键

    我希望这个问题没有在之前的帖子中讨论过 我的搜索结果没有返回任何相关内容 但请随时启发我 我正在编写一个非常基本的 Python 键盘记录器 作为一个更大项目的一部分 我使用 pynput 来监听击键 并使用日志记录模块将它们写入 txt