为什么我在没有释放按键的情况下收到 Pygame KEYUP 事件?

2023-12-22

首先,我是一个完全的初学者,所以我没有任何经验,但是我在过去两天搜索了所有可能的地方来解决问题,但找不到它。

我在带有 Raspbian 的 Raspberry PI 3 上使用它。

我正在尝试在 Python 3.6 中构建一个简单的代码,它将执行以下操作: 当按下键盘按键时:

1.如果按下该键,则应打印“press”,而不重复。

(如果按住该键,则应仅打印“按”一次并停止)。

2.如果按键被释放而没有重复,它应该打印“release”。

基本上我想打印一次按键的最后状态,

我遇到的问题是:

按住该键时,即使没有物理释放按键,我也会收到连续的按下/释放按下/释放按下/释放事件,而不是仅获得 1 次“按下”。

下面是我尝试使用的代码。

#!/usr/bin/env python
import pygame
from pygame.locals import *
from time import sleep
import time

pygame.init()
screen = pygame.display.set_mode((800,800))

keys= [False]
last = None
pygame.key.set_repeat()

while True:
        if keys[0]==True and last != 'press': 
            print ('press')
            last = 'press'

        if keys[0]==False and last != 'release':
            print('release')
            last = 'release'

        for event in pygame.event.get():
            if event.type==pygame.QUIT:
                pygame.quit()
                exit(0)

            if event.type == pygame.KEYDOWN:
                if event.key==K_d:
                    keys[0]=True                        

            if event.type == pygame.KEYUP:
                if event.key==K_d:
                    keys[0]=False

问题解决了,这是因为我使用的是VNC,而不是使用直接连接到Raspberry Pi的键盘。

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

为什么我在没有释放按键的情况下收到 Pygame KEYUP 事件? 的相关文章

随机推荐

  • Delphi 中的 System.IsConsole 什么时候为真?

    根据 System pas 它被记录为True if compiled as console app 在System pas中 还有一个赋值 IFDEF LINUX IsConsole True 我有一个奇怪的问题 使用 ShellExec
  • sqlalchemy 中的 python 继承

    所以我对 python 和 sqlalchemy 很陌生 我需要一些继承或混合 而不是继承 方面的帮助 我有一些伪代码 但我还没有真正取得任何进展 Base declarative base class ModelBase Base Bas
  • 给定两个顶点绕中心点旋转线

    我一直在尝试将一堆线旋转 90 度 它们一起形成多段线 每条线包含两个顶点 例如 x1 y1 和 x2 y2 我目前正在尝试做的是绕线的中心点旋转 给定中心点 x1 x2 和 y1 y2 由于某种原因 我不太懂数学 我无法让线条正确旋转 有
  • .NET 4.5 中的内存模型发生了哪些变化?

    我刚刚在 Peter Richtie 博客中读到了这令人费解的一行 我需要帮助才能理解其含义Prior to NET 4 5 you really programmed to the NET memory model http msmvps
  • 在 Flex 中循环元素内的元素

    我在 Flex 4 中有以下功能 protected function initEventHandlers void imageContainer addEventListener DragEvent DRAG ENTER acceptDr
  • 如何序列化/反序列化哈希图?

    我有一个包含数百万个条目的大型哈希图 我想将其持久化到磁盘 这样当再次从磁盘读取它时 我就没有将键值对再次插入到映射中的开销 我正在尝试使用谷物图书馆来做到这一点 但似乎HashMap http hackage haskell org pa
  • Javafx 2 树视图过滤

    如何在 JavaFX 2 中过滤节点TreeView 我有一个TextField我想根据内容过滤所有节点 例如节点标签 TextField Thanks 这是我编写的可重复使用的可过滤树项目类 过滤器应该绑定在谓词属性 你呢must use
  • 根据Text动态获取UILabel的高度对于iOS 7.0和iOS 6.1返回不同的值

    我正在使用此方法动态获取 UILabel 的高度 CGSize GetSizeOfLabelForGivenText UILabel label Font UIFont fontForLabel Size CGSize LabelSize
  • 将文本读取为 UTF-8 编码

    假设我编写一个函数来解析包含德语的输入流 下面是一个玩具示例 以下内容在我的机器上有效 因为 UTF8 是标准 readLines textConnection Z rich readLines textConnection Z u00FC
  • drawRect 和 CGGraphicsContext 如何工作?

    我正在处理 Core Graphic 中的一些内容 并且正在寻找有关几个主题的一些额外说明 绘制矩形 我对此有所了解 并且知道这是 UIView 的所有绘图方面的所在 但我只是不清楚幕后发生的事情 当我创建一个 UIView 并填写 dra
  • 现在有什么好的 Eclipse 持续测试插件吗?

    我用过麻省理工学院持续测试 http groups csail mit edu pag continuoustesting 插件在过去 但它早已过时 并且不再与任何接近现代版本的 Eclipse 兼容 有人有好的替代品吗 免费自然是首选 我
  • 通过 gradle FileTree.include 删除目录

    我想说 clean delete fileTree a include subdir include aFile 删除目录 subdir 和文件 aFile 但 subdir 并没有被删除 我可以明确地列出它 clean delete a
  • ASP.NET Web Api 依赖注入 - 单例与否

    我正在使用 asp net 构建一个 Web api 并使用 UnityContainer 来处理依赖项 例如 我的身份验证控制器可以依赖于身份验证服务 class AuthController ApiController private
  • MVCDonutCaching - 当父项未缓存甜甜圈时,子项操作出现问题

    我正在使用很棒的MVCDonut缓存 http mvcdonutcaching codeplex com 从 Nuget 打包 以便缓存整个页面 同时保留某些部分不缓存 该过程很简单 一切都按预期进行 我缓存如下 DonutOutputCa
  • JDK8 与 -source 1.7 [默认方法]

    我有以下课程 public class ZonedDateTimeToInstant public static void main final String args throws NoSuchMethodException assert
  • 不使用分号的计算表达式

    给定像 68 32 这样的输入表达式 我们必须在程序中不使用分号进行计算 如果它是 if 或 for 循环内的东西 参考 https www spoj pl problems EXPR2 https www spoj pl problems
  • 如何在postgresql的pg_hba.conf文件中指定主机名?

    我们想要创建一条像这样的线 托管所有所有 vs1 nsdp ir md5 在 pg hba conf 文件中 但它不理解这个主机名 它的IP是192 168 1 60 当我们使用IP地址时就可以了 但它不适用于主机名 我们在我们的 dns
  • Django-rest-auth (dj-rest-auth) 自定义用户注册

    我正在使用 dj rest auth https dj rest auth readthedocs io en latest https dj rest auth readthedocs io en latest 并尝试实现自定义注册表单
  • docker反向代理DNS/网络问题

    我会尝试解释并把它画出来 我想要实现的目标 对不起 糟糕的油漆图 现在 如果我从 10 10 10 0 网络访问它 它就可以完美运行 问题是 DNS 将 jenkins network com 解析为 10 10 10 0 网络 我想通过代
  • 为什么我在没有释放按键的情况下收到 Pygame KEYUP 事件?

    首先 我是一个完全的初学者 所以我没有任何经验 但是我在过去两天搜索了所有可能的地方来解决问题 但找不到它 我在带有 Raspbian 的 Raspberry PI 3 上使用它 我正在尝试在 Python 3 6 中构建一个简单的代码 它