问题标签 [autorepeat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2126 浏览

delphi - Delphi:如何停止 TAction 快捷键自动重复?

我正在使用 Delphi TActionList,其中包含一些操作的快捷键。

我想防止某些操作被键盘自动重复多次触发,但我不想影响全局的自动重复操作。这样做的最佳方法是什么?

澄清:我仍然需要处理多个快速按键 -我只想忽略自动重复生成的按键。

0 投票
3 回答
4673 浏览

keyboard - 如何在 Windows PC 上实现键盘自动重复?

我希望能够在 Windows 上拦截(并对其进行任意处理)自动重复按键。我想知道键盘自动重复是如何实现的,以便我知道我有哪些选项。即我可以在以下位置拦截:

  • 应用,
  • 设备驱动程序和/或
  • 硬件级别

?

更新:看起来自动重复(很差?)在硬件级别生成,然后被设备驱动程序覆盖(见这里)。

0 投票
10 回答
20966 浏览

java - 如何知道用户何时真正释放了 Java 中的密钥?

(为清楚起见进行了编辑)

我想检测用户何时按下并释放 Java Swing 中的键,忽略键盘自动重复功能。我还想要一个纯 Java 方法在 Linux、Mac OS 和 Windows 上工作。

要求:

  1. 当用户按下某个键时,我想知道那是什么键;
  2. 当用户释放某个键时,我想知道那是什么键;
  3. 我想忽略系统自动重复选项:我希望每次按键只接收一个按键事件,每个按键释放只接收一个按键释放事件;
  4. 如果可能的话,我会使用项目 1 到 3 来了解用户是否一次持有多个键(即,她点击“a”并且没有释放它,她点击“Enter”)。

我在 Java 中面临的问题是,在 Linux 下,当用户按住某个键时,会触发许多 keyPress 和 keyRelease 事件(因为键盘重复功能)。

我尝试了一些没有成功的方法:

  1. 获取最后一次按键事件发生的时间——在 Linux 中,按键重复的次数似乎为零,但在 Mac OS 中则不然;
  2. 仅当当前 keyCode 与上一个不同时才考虑一个​​事件 - 这样用户就不能连续两次击中相同的键;

这是代码的基本(非工作)部分:

当用户持有一个键(即'p')时,系统会显示:

至少在 Linux 下,当一个键被持有时,JVM 会不断地重新发送所有的键事件。为了让事情变得更加困难,在我的系统(Kubuntu 9.04 Core 2 Duo)上,时间戳不断变化。JVM 发送具有相同时间戳的键新版本和新按键。这使得很难知道何时真正释放了密钥。

有任何想法吗?

谢谢

0 投票
6 回答
10969 浏览

keyboard - 忽略 X11 应用程序中的自动重复

如果您在启用AutoRepeat时按住 X11 中的某个键,您将不断收到KeyPressKeyRelease事件。我知道可以使用函数 XAutoRepeatOff() 禁用AutoRepeat 但这会更改整个 X 服务器的设置。有没有办法为单个应用程序禁用AutoRepeat或忽略重复的击键?

我正在寻找的是当一个键被按下时的单个KeyPress事件和一个键被释放时的单个KeyRelease事件,而不会干扰 X 服务器的AutoRepeat设置。

这是一个让您开始的最小示例(主要来自Beginner Xlib 教程):

0 投票
3 回答
606 浏览

php - 自动重复一个 php 脚本

我想问我如何制作一个 php 脚本,它在特定时间(例如 2 分钟后)后重复存储在数据库中的数据的 id。我不想使用 cron 作业或其他调度程序。只是 php或javascript实施。在此先感谢..

0 投票
2 回答
372 浏览

javascript - HTML Keydown 甚至只有一次,即使它被持有它?

我的 HTML 文档中有一个脚本,它检测何时检测到箭头键之一,然后它会更改 iframe 的 URL。释放键时,iframe 将再次更改。

这有效,除非在按住键期间它会不断重复操作以设置 iframe 的 url。

有没有办法,当它被按住时,它只会改变 iframe url 一次?然后当它发布时它会改变网址?

额外: 我创建了一个页面来通过网络控制遥控车。除了这个问题,它工作得很好。基本上,它将 iframe url 更改为 PHP 页面,每个箭头键都有一个不同的 get 变量。然后 PHP 页面使用 PHP Serial 根据从 iframe 发送的变量(使用 GET)将数据发送到串行端口。

谢谢你的帮助!!!

编辑:这是汽车的照片。http://oi41.tinypic.com/21cimms.jpg

编辑 2

继承人 index.html

这是后端.php

0 投票
1 回答
2783 浏览

java - 禁用 setOnKeyPressed 的自动重复 (JavaFX 2.1)

我正在用 JavaFX2.1 做作业,但我的setOnKeyPressed方法有问题。我的程序模拟钢琴,所以每次单击按钮时它都会发出声音:“Q”是“do”,“W”是“re”等等......我还有(现在)鼠标输入,稍后将被禁用,因为我不能同时弹奏多个音符...

我的问题:如果我按住一个键(当然是在键盘上,而不是用鼠标),它的关联事件将在循环中触发......我做了几个测试,注意到只有setOnKeyPressed触发,而不是 setOnKeyReleased。

我做了一些解决方法,但他们没有做我期望的事情:

  • 添加一个布尔值以了解该键是否已被释放,从而禁用一次按下多个键的可能性。
  • 播放完声音后关闭音量(并在释放键时将其恢复到其值)似乎也适用于多个键,但与按住鼠标时相比,声音的持续时间要短得多在同一把钥匙上。

有什么建议么?

0 投票
1 回答
647 浏览

javascript - 触发 Auto-Repeat Javascript keydown 事件

当您按住某个键时,会keydown在该键仍然按下时重复触发 javascript 事件。我想以编程方式模拟这种效果。我已经尝试了以下代码,但它只触发了keydown一次事件:

任何帮助表示赞赏。

0 投票
0 回答
579 浏览

linux-kernel - 如何在运行时启用/禁用 gpio-keys 自动重复

我刚来这地方。我不是专业的程序员。我实际上是HW家伙。最终我不得不处理这些事情。所以我的条款可能不正确或不明确。请理解。

这是关于 Linux 版本 3.10.14 的嵌入式设备。我的设备有两个按钮,我将它们映射到 gpio-keys 或 KEYBOARD_GPIO。

所以似乎在 struct gpio_keys_platform_data 中设置 'rep' 的值将启用或禁用自动重复功能。但是我可以从控制台启用或禁用自动重复功能吗?还是来自用户程序?

刚才我又问了一个问题。我可以为一个键启用自动重复并为另一个禁用它吗?也许将每个键分配给两个不同的 gpio-keys 设备?

谢谢阅读。

0 投票
2 回答
1312 浏览

c++ - X11 按键按下导致按键被按下和释放

当我按住键盘上的一个键时,如何阻止 KeyRelease 事件被发送垃圾邮件?

我搜索了互联网,发现有人建议在循环中放置一个计时器,但我想要一种更有效的方法。

X11中没有可以关闭自动重复的东西吗?