问题标签 [keyboard-events]

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 投票
1 回答
619 浏览

winforms - 两个连续的 KeyDown 事件之间的延迟较长

我在写一个小游戏引擎——纯粹是为了了解这些引擎是如何从内部工作的。我目前不想弄乱 OpenGL 或 DirectX,所以我坚持使用 GDI+ 和所有 WinForms 的东西在控件上绘图。

显然,我需要处理输入。更具体地说,键盘事件。然而,这带来了一个问题:

这段代码(即使在控制面板的键盘小程序中设置了最短的重复延迟)会产生以下结果:

如您所见,有 0.25 秒。前两个事件之间的延迟。很明显,这会导致屏幕上的对象移动缓慢:它首先稍微向右移动,然后暂停一段时间,然后继续。

我该如何解决这个问题?这可以在纯 WinForms 中完成,还是我应该使用 DirectInput(或者现在的犹太洁食方式?)路线?

0 投票
2 回答
1640 浏览

java - 某些软件正在运行时,Java Robot 密钥活动似乎停止工作

我正在编写一个 Java 应用程序,以便在一夜之间自动完成在线游戏中的角色动作(具体来说,它在最终幻想 XI 中捕鱼)。该应用程序大量使用 java 的 Robot 类来模拟用户键盘输入和检测屏幕某些部分的颜色变化。它还使用多线程和摆动 GUI。

当我在没有运行游戏的情况下对其进行测试时,该应用程序似乎可以完美运行,只需使用屏幕截图触发应用程序响应到记事本中。但由于某种原因,当我真正启动 FFXI 并启动程序时,我所有的键盘和鼠标操作都完全停止工作。程序仍在运行,Robot 类仍然能够读取像素颜色。但是 Robot.keyPress、Robot.keyRelease、Robot.mouseMove、Robot.mousePress 和 Robot.mouseRelease 什么都不做。这是最奇怪的事情——为了测试它,我写了一个简单的循环,它只是不停地输入字母,并专注于记事本。然后我会开始游戏,重新调整记事本的焦点,它什么也不做。然后我会退出游戏,它会立即重新开始工作。

有没有其他人遇到过这样的事情,特定的软件会阻止java的某些功能工作?

此外,为了让这更有趣——去年我编写了一个非常相似的程序,使用相同的类和编程技术来自动治疗游戏中的一方,因为他们正在战斗。去年,该计划运行良好。遇到这些问题后,我挖出了那个旧程序,没有做任何更改就运行它,发现它也有同样的问题。现在和它工作时的唯一区别:我运行的是 Windows Vista,现在我运行的是 Windows 7,并且已经发布了几个新的 Java 版本以及 FFXI 版本。

这到底是怎么回事?(如果有人需要查看我的源代码,请通过 mikejturley@gmail.com 给我发电子邮件。我正在努力保密。)

0 投票
2 回答
4340 浏览

android - 如何挂钩关键事件

我想限制 EditText 小部件的文本长度,如果用户键入的字符多于限制长度,我想显示一种警告弹出窗口,但是我无法显示弹出窗口。

问题是我们不能在打字时显示弹出窗口,可能很多人都想到了一种利用 OnKeyListener 或 OnKeyDown 的方法。但是,当单词正在组合时,OnKeyListener 或 OnKeyDown 没有任何内容,因此,我们无法在需要时显示弹出窗口。

有没有人有聪明的想法来解决这个问题?

0 投票
2 回答
5555 浏览

android - 如何使用 OnKeyboardActionListener?

简单地说,有没有关于“OnKeyboardActionListener”的例子?

每当用户在键盘上键入任何字符时,我都想调用我的方法。撰写单词时不会调用 OnKeyListener 或 OnKeyDown。<-这是个问题。所以,我正在尝试使用“OnKeyboardActionListener”来解决上述问题。

0 投票
4 回答
757 浏览

actionscript-3 - 字符数仅从第二个字符开始计数?

我有一个函数可以计算用户可以输入的剩余字符数,但我不知道为什么它只从第二个字符开始计数。意味着最后我将能够从我设置的最大数量中输入一个额外的字符。

w输入功能:

0 投票
6 回答
3022 浏览

c# - C# KeyEvent 不记录输入/返回键

我一直在用 C# 制作这个登录表单,我想在用户单击提交或按下回车键后立即“提交”所有数据。

我一直在用 KeyEvents 进行一些测试,但到目前为止没有任何效果。

上面的代码首先是为了测试事件是否有效。它工作得很好,当我按“d”时,它显示“d”,当我按“8”时,它显示“8”,但按 Enter 没有任何作用。

所以我认为这是因为 enter 并没有真正绑定到一个字符,但它确实显示了退格,它工作得很好,所以它让我对它为什么没有注册我的 enter 键感到困惑。

所以问题是: 如何记录回车键?为什么它现在不像它应该那样记录按键?

注意:我已将事件放在文本框中

因此,当在选择文本框时按下回车按钮时它会触发(当然这是整个时间),这可能与代码的执行有关。

0 投票
2 回答
1044 浏览

actionscript-3 - ActionScript shiftKey 在全屏模式下不起作用?

我绘制了一个椭圆精灵并将其添加到容器的显示列表中,该容器被添加到舞台的显示列表中。要使用键盘箭头移动精灵,当舞台的显示状态设置为全屏时,我的 shiftModifier:Number 变量似乎不起作用。当舞台的显示状态设置为正常时,shiftModifier 会正常工作。

全屏在 Safari 和 Firefox 中进行了测试。

0 投票
1 回答
1300 浏览

javascript - document.onkeyup triggers when it shouldn't

So I have the following code, which should append 'true' to the div "test" every 25ms as long as key 68 (the d key) is being pressed, right?

Save the code, load it in a browser and hold down on the d key. If I'm not crazy, you'll see that it occasionally appends 'false' even though the d key was never released. (I've tried this in FF and Chrome in Linux and Vista). Anybody happen to know why, or have a workaround?

Edit: It seems to behave as expected in FF running in OS X.

0 投票
3 回答
37558 浏览

c# - 缺少 WinForms 文本框的“KeyPress”事件?

我正在尝试在文本框(WinForm)中添加“KeyPress”事件

这是在'CheckKeys'里面:

这里的想法是,一旦文本框成为焦点并按下“Enter”按钮,就会发生一些事情......

但是,我的机器找不到“KeyPress”事件。我的代码有问题吗?

更新:

我还尝试使用 KeyDown 而不是 KeyPress:

虽然还是不行...

0 投票
4 回答
2977 浏览

c# - 来自键盘的多个输入 C# WPF

我正在 WPF 中编写俄罗斯方块克隆。如果我按住右箭头键,则当前片段向右移动。为了可玩性,我想让用户按下另一个键(即 F 键)并旋转移动块,而不必先松开右箭头键。目前,当我这样做时,这件作品停止移动。

我在这方面的第一个基本尝试是挂钩

然后向控制器层发送消息。

如何构建我的输入侦听代码以允许这样做?

我当前的代码在这里