问题标签 [modifier-key]

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 回答
4263 浏览

delphi - 仅按下 CTRL 键时移位值?

创建一个 VCL Forms 应用程序并在主窗体的OnMouseDown事件处理程序中写入:

然后运行应用程序,按住 CTRL 键,不使用其他修饰键,然后单击表单。不显示任何消息。为什么现在?

那么Shift在这种情况下,当只按下 CTRL 键时,哪个值有呢?

0 投票
1 回答
250 浏览

javascript - 在 Javascript 中检测类似 Windows 或类似 Mac 的键盘

我的网络应用程序有一个功能,用户可以按住 Ctrl (Windows, ctrlKey) 或 Cmd (Mac, metaKey)。我想提供帮助文本,告诉用户他们可以做到这一点。

检测类似 Mac 的键盘的可靠方法是什么?够navigator.platform.match(/mac/i)安全吗?

0 投票
1 回答
121 浏览

vb.net - 检测到多个未组合的修饰键(ctrl 和 alt)

如何检测超过 1 个修饰键?( Alt& Ctrl)?

我有这个工作代码:

如果我将其更改为:
If ModifierKeys = (Keys.Control Or Keys.Alt) Then 停止工作。我怎样才能检测到两个键,但不结合?

0 投票
5 回答
4380 浏览

windows-10 - AutoHotkey 导致控制键卡住

当我的控制键卡住时,我有几种情况,并且仅在我运行 AutoHotkey 时才会发生。这发生在多个不同的修饰键上,包括控制 (^)、窗口 (#) 和 alt (!) 键。

类似的问题之前已经发过好几次了: 1 , 2 , 3。存在一些解决方案,这里建议的解决方案部分帮助了我(降低了问题的频率),但控制键仍然偶尔卡住。我尝试过的事情包括#InstallKeybdHook

我有两个问题:

  1. 有没有可能防止这个问题?
  2. 有没有一种好方法可以让 AutoHotkey 在按键被卡住时进行监控(例如,当按键被按住超过 10 秒时自动通知)并在发生时立即修复它?

我已经尝试了上面建议的所有内容,并创建了我自己的 StuckKeyUp 函数版本(如此处所建议)

0 投票
1 回答
1262 浏览

c++ - c++ - SendInput() 不能正确管理 Alt 代码

在我正在开发的程序中,我必须模拟击键,为此我使用该SendInput()方法,将包含作为击键一部分的输入的向量作为参数传递。我当前的代码似乎适用于我正在测试的所有组合,除了 Alt 代码。

这就是我目前所做的:

push_backs 是在一个循环中完成的for,这就是为什么我input每次都完全重新定义变量。

这种方法似乎适用于除 Alt 代码之外的所有组合。我怎样才能让它们也工作?谢谢你。

PS:如您所见,dwFlags从不声明ALT (VK_LMENU)为 ExtendedKey,因为据我了解,只有VK_RMENU(而不是VK_LMENU)是这样的。这个 MSDN 页面似乎证实了这一点。

0 投票
0 回答
80 浏览

javascript - 在 google maps JS API 中的数据功能点击事件上捕获修饰键(control/ctrl、shift、alt)

我有一个使用 Google Maps JS API 的项目,我正在使用该loadGeoJSON方法将数据加载到它上面。我还向地图的数据对象添加了一个点击监听器。

在该单击侦听器处理程序中,我提取了 mouseEvent,它告诉我用户单击的 x、y 以及他们是否按住 shift/alt/ctrl。不过最近发生了一些变化,因为我再也无法检测到 shift/alt/ctrl。他们总是假的。

任何帮助将不胜感激。这个小提琴应该更清楚地显示我在说什么,只需点击一个“谷歌”字母。

小提琴

0 投票
1 回答
188 浏览

javafx - 如果按下键,则不会触发鼠标交互的 JavaFX 事件

如果按下 CTRL 或 SHIFT 之类的修饰键,JavaFX 不会执行诸如ActionEventforButton或之类的事件。CheckBox据我了解,这种行为是在其中实现的ButtonBehavior(例如,请注意! keyDown该类中以下方法中的表达式):

首先,我真的不明白这是为什么。如果按下键,不触发按钮的目的是什么?

这是我的用例:我想实现一个可以正常选中/取消选中的复选框。它将切换模型中的某些状态。但它应该有一个附加功能:如果用户在使用鼠标选中/取消选中时按下了某个键,例如 CTRL,则应在模型中设置一个称为“锁定”或“保护”的附加标志,这将防止状态可以被被应用程序的一些其他逻辑覆盖。

这应该对用例有所了解,但如果不是,这对我的实际问题并不重要:即使用户按下修饰符,我如何才能使 aCheckBox仍然可以切换(或被按下)Button钥匙?

谢谢你的帮助!

0 投票
1 回答
312 浏览

ios - iOS:如何检测外部键盘上的修饰键状态变化?

我的应用程序有一个可选的用户体验,让用户按住外部键盘上的修饰键(shift、option、command)来引发一些特定的行为。(当未连接键盘时,也会在屏幕上提供这种体验。)

UIKeyCommand需要输入字符串,并在按下组合键时触发一次。当用户按下/释放它们时,我想跟踪修改键随时间的状态变化。

是否有 iOS API 可以让我跟踪外部键盘上修饰键的状态?

0 投票
0 回答
83 浏览

ios - IOS 蓝牙键盘 - 浏览器中的特殊键(ctrl、shift、箭头)

是否有支持正确向网页发送 ctrl、shift 等键的浏览器应用程序(或键盘应用程序?)?您可以通过http://keycode.info对其进行测试。ios 上的 Safari 不像其他平台那样处理 ctrl、shift、alt 和箭头键。我希望在使用 repl.it 等网站时获得更好的体验。然而,即使我的 iPad 上有蓝牙键盘,我仍然遇到很多问题,比如无法使用箭头键导航光标。我认为如果该浏览器存在可以解决我的问题。

0 投票
0 回答
363 浏览

c++ - PostMessage / SendMessage 不受修饰键干扰

我正在尝试在不受修饰键(ctrl、alt、shift)干扰的情况下向某个 hwnd 发布/发送消息。

基本上我想在按下 ctrl(如示例 2)但使用 SendMessage\PostMessage 时将 F1 消息(不带 ctrl)发送到 hwnd。

我尝试使用SendInput设置 CTRL 键,发布消息并重新设置 CTRL 键,但 50% 的时间都失败了。

示例 1:带有 SendMessageA 的代码:

从理论上讲,这段代码可以解决问题,但它有时会在按下 CTRL 的情况下发送消息,有时则不会。

示例 2:与 SendInput 相同的代码(但这些工作正常)