问题标签 [keyevent]

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 投票
2 回答
303 浏览

java - Java KeyEvent 和语法高亮

我正在用 Java 编写一个语法高亮文本编辑器,但我遇到了一些问题,即我该做什么而不是我想要做什么。基本上 KeyEvent 类给我带来了一些问题:

  1. KeyTyped 不允许我识别密钥是什么,因此它对词法分析毫无用处。
  2. KeyPressed 更好,它允许我在按下每个键时对其进行标识,这对词法分析非常有用,但是它会在键实际放入 JEditorPane 之前触发事件。
  3. KeyReleased 解决了 KeyPressed 和 KeyTyped 的问题,因为它发生在输入字符之后,它允许我实际识别字符是什么。但是,如果我持有 'a' 并放入 50 个 'a',我就完蛋了。

我对这个问题的解决方案是对所有要输入的字符使用 KeyPressed,使用事件,读取应该输入的字符并手动输入它,但是我猜这不是最优雅的解决方案. 我的问题是我还能怎么做?有什么我只是在上釉,还是我找到了解决问题的方法并且应该顺其自然?

0 投票
4 回答
7303 浏览

c#-4.0 - 在 C# 中更新文本字段时按 Enter 触发单击按钮

好的,我希望用户能够在文本框输入期间按 Enter 键来启动单击按钮。

我有以下代码:

但是,当我按 Enter 键时,值会保存,然后 MessageBox 出现大约 4 次“请输入值”。如何使此代码使 button_click 仅在按 Enter 时发生一次?

有没有更简单的方法来做到这一点?

谢谢!

0 投票
3 回答
7346 浏览

java - 如何使 ActionEvent 和 KeyEvent 触发相同的操作?

我正在编写一个小程序,并想弄清楚如何使按钮和键事件覆盖相同的代码位。对于这个问题,我将调用此按钮fireButton。动作事件的代码当然是这样的:

现在,我想按“回车”键来执行动作事件处理的相同代码,但我不想在keyPressed方法中再次重写所有代码。

具体来说,我正在编写一个战舰程序,“开火”按钮从两个文本字段中获取输入,处理异常,并将输入作为参数传递给在网格中特定方格上开火的方法。理想情况下,按下回车键的功能与按下开火按钮的方式相同。有没有办法让某个方法调用一个actionPerformed方法?如果不是,那么解决问题的优雅方法是什么?

0 投票
2 回答
721 浏览

c# - System.Timers.Timer 在释放另一个键后启动问题

我有一个 WinForms 程序,其中有一个动画对象,当我按向上、向下、向左和向右时,它会四处移动。对象的运动在一个计时器内进行动画处理,每 30 毫秒调用一次。计时器在 KeyDown 事件时启动,在 KeyUp 事件时停止。

因此,如果我按住左键,然后在我松开左键并按下另一个键后立即停顿(大约半秒),然后它会朝那个方向移动。没有出现这个问题,如果我按住左,松开它,稍等片刻,然后按右。在这种情况下,它会立即向右移动。如果我按住左键,然后开始按住右键,而我仍然按住左键,它也不会出现。在这种情况下,它也会立即开始向右移动。仅当我释放该键并随后立即按下另一个键时,才会出现问题。

KeyDown 事件:

KeyUp 事件:

定时器事件(动画运动)

0 投票
1 回答
2208 浏览

android - Android KeyEvent 处理 - KeyCode 或 GetUnicodeChar?

我一直在编写一个主要由硬件键盘输入驱动的 Android 应用程序。我正在添加软键盘支持,但还没有完成。但我离题了...

最初,我正在对照 KeyEvent 类中的枚举检查传递给 OnKey 函数的整数 keyCode 值。够简单...

但我需要知道用户是否按下了会生成 > 符号的组合键。因此,我检查了是否同时按下了 ALT 并传入了 X 键码……但事实证明,不同手机上的不同键会生成 > 符号。

现在,相反,我根据 Unicode 字符的已知值检查 KeyEvent 的 getUnicodeChar 方法的值。

我的问题已经解决了——但是有没有一种可接受的方式来进行字符检查?大多数人只是不需要 ALT 符号,还是大多数人使用的是跨设备标准的软件键盘?没有内置的 Unicode 字符枚举表(我知道,无论如何),所以这也使得代码有点难看。只是好奇!

0 投票
2 回答
17731 浏览

jquery - Jquery 在最后一次按键后 2 秒运行代码

我正在为网站开发自动搜索功能。

它使用 ajax 来查询 api。

在输入 3 个字符后,它会在每次按键时搜索。

我想要的是

Case1:
用户输入 tes
2 秒通过搜索执行


Case2:
用户输入 tes
1 秒 pass
用户按 t
2 秒 pass
搜索在 test 上执行

案例 3 :
用户输入 tes
1 秒通过
用户按下 t
1.5 秒通过
用户按下 i
1.5 秒通过
用户按下 n
1.5 秒通过
用户按下 g
2 秒通过
search in 在测试中执行

如您所见,仅在按键后的两秒钟内没有按键(或粘贴等)时才执行搜索操作。

我的基本想法是。

on keydown 调用一个设置超时的函数,该函数还设置一个包含文本框中最后一个条目的变量。当超时到期时,它会检查框中的值以查看它是否与变量中的值匹配。

如果它们匹配,则没有变化。所以做搜索

如果他们不做任何事情,因为随后按键的超时将跟随做同样的检查。

这是唯一/最好的方法吗?

0 投票
2 回答
1468 浏览

android - Android Emulator Power Key Long Press Event

I want to add item in the context menu of Power options, appear after long key press of Power. I have tried to capture event onkeyLongpress but its not working.

0 投票
1 回答
839 浏览

c# - 不同国家(键盘)的 PlatformKeyCode 是否相同?

问题很简单,需要更简单的答案(是或否:)) PlatformKeyCode 在不同国家/地区是否相同(因此键盘布局不同)?

非常感谢。

0 投票
2 回答
883 浏览

winforms - 在拖放期间处理 KeyDown

我需要响应 keydown 事件(O、C、G 键等,而不是修饰键),同时在我的控件上进行 Drag+Drop 操作(即在 DragEnter 和 DragLeave 之间)。但是,在此阶段不调用 KeyDown 事件。

我尝试选择我的控件并专门将焦点设置在 DragEnter 上,但这不起作用。

编辑:

Hans 的回答基本上是正确的,除了我必须使用 GetAsynchKeyState 来获得我想要的行为。

0 投票
3 回答
1334 浏览

java - 跳过 Java KeyEvents

我有一个程序,用户可以在其中按下一个键来执行一个操作。那一个事件需要很短的时间。用户还可以按住该键并连续多次执行该操作。问题是 keyPress() 事件排队的速度比处理事件的速度要快。这意味着在用户释放键后,继续处理从用户之前按住键的队列中排队的事件。我还注意到 keyRelease 事件直到最后的 keyPress 事件被处理后才会发生,而不管键的实际释放时间。我希望能够 1. 检测按键释放事件并忽略未来的按键事件,直到用户再次真正按下按键。2.

有谁知道如何做到这一点?