问题标签 [capslock]

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 投票
0 回答
843 浏览

java - How to prevent NumLock from disabling?

I'm making a simple game and I want to control it using numeric keyboard (including NumLock key). A player should be able to press several keys simultaneously, or press and hold any key.

After NumLock key is pressed, I have to turn NumLock back on through Toolkit.getDefaultToolkit().setLockingKeyState(KeyEvent.VK_NUM_LOCK, Boolean.TRUE) so that VK_NUMPADx keys won't stop responding to presses.

The problem with such an approach is that setLockingKeyState seems to emulate VK_NUM_LOCK press. So keyPressed and keyReleased are called twice once for user input and once to turn NumLock on (if needed). When you press and hold NumLock it switches on and off constantly.

How can I avoid such a behaviour and get NumLock to work like any other key?

0 投票
1 回答
2942 浏览

linux - 如何将 Caps Lock 重新映射到 Control,然后在 Linux 上禁用 Left Control?

我是 VIM 用户,我想将 Caps_Lock 键重新映射到 Left_Control,这样可以更轻松地按下 Control。此外,我还想训练我的手指,所以我需要禁用 Left_Control 键,这迫使我按下 Caps_Lock 而不是 Left_Control。

所以这是我xmodmap在 Linux 上使用的方法(我的键盘布局是我们):

首先,我通过运行交换 Caps_Lock 键和 Left_Control:

所以第一步之后,Caps_Lock 键是 Control,Left_Control 键是 Caps_Lock 键。

然后,我通过运行禁用 Left_Control 键:

但这不起作用,我仍然可以使用 Left_Control 作为 Caps_Lock。

有人可以帮我解决这个问题吗?

更新:我找到了Arkadiusz Drabczyk的解决方案。

0 投票
1 回答
293 浏览

macos - 如何在 OSX 上重新映射 CAPSLOCK?

CapsLock 似乎是重新映射的两个最棘手的键之一(另一个是电源按钮)。

我可以全局拦截 NSEvent-s:

但是,我没有为每个键上/下得到一个事件。实际发生的是这样的:

(CapsLock 的初始状态关闭)

Key down: NSSystemDefined: 40a00 NSSystemDefined: 40b00 (此时绿灯亮)

键:NSSystemDefined:40b00

按下键:NSSystemDefined:40a00(此时绿灯熄灭)

上键:(无)

所以我不能在这个级别上映射。

但我想我可以使用 IOKit 在较低级别进行监控,它检测每个键盘按键按下/向上事件,然后在此级别吃 CAPSLOCK 事件(通过返回 NULL):

然而,这并不妨碍 CapsLock 做它的事情(即大写键入的字母)。

我什至尝试从处理程序中的每个键盘事件中删除 CapsLock 修饰符标志:

......但没有运气!

有什么办法可以驯服这个讨厌的 CapsLock 键吗?

编辑:如何在 OS X 中使用 CGEventCreateKeyboardEvent 模拟 Caps Lock 击键

0 投票
1 回答
5537 浏览

javascript - 检测 CAPS LOCK 何时打开

我有此代码用于将按键添加到密码中。如果capslock打开它将触发。我是从How do you tell if caps lock is on using JavaScript? 得到的?

原始代码在 a 中有消息span

我希望它是一条警报消息,但它并没有像我预期的那样运行。加载时它应该提醒消息,但即使capslockon没有显示警报。

如何让它检测密钥并显示警报?

0 投票
4 回答
5693 浏览

javascript - How to detect Caps Lock state on page load (that is, not on keypress) with JavaScript?

So I've been researching solutions for Caps Lock detection for a form, using JavaScript/jQuery. There is a huge thread on stackoverflow offering many solutions. But the only problem is they don't check whether Caps Lock is pressed directly per se. They detect whether a capital letter has been entered and that the shift key has not been depressed. The drawbacks of this is that my Caps Lock warning message will not toggle on/off until the user starts typing into the form, which is hardly optimal. Here is my code.

Is there a better way, that I can trigger a caps lock message, with JavaScript when I press the Caps Lock key? That is, not delay toggling message until I start typing?

Preferably I'd prefer a pure JavaScript solution to JQuery. Although if you think jQuery would be really really really good here say why and I could pressure my colleague to let me include it here ;o

0 投票
1 回答
119 浏览

vim - 切换 CapsLock 和 Escape 保持分离

我已经搜索并尝试过,但我还没有提出解决方案:我曾经xmodmap切换我的EscCapsLock键以便于 Vim 使用。在我的xinitrc文件中,它有:

我的~/.Xmodmap

现在,如果我CapsLock按 ,实际上我必须按两次,因为虽然它充当Esc按钮,但它也充当CapsLock. 所以我第二次击中它是关闭CapsLock,但它与击中两次的效果相同Esc......有点荒谬。 Esc仅作为CapsLock。不知道我做错了什么,谷歌似乎也被难住了。

0 投票
3 回答
1915 浏览

r - 如何使用 R 计算字符串中的 CAPSLOCK

src$Review中,每一行都填充了俄语文本。我想计算每一行中的 CAPSLOCK。例如,在“My apple is GREEN”中,我不仅要计算大写字母的数量,还要计算 CAPSLOCK 的数量(没有“My”,只有“GREEN”)。因此,它仅在至少两个字符以大写形式出现时才有效。

现在我的脚本中有以下代码:

它只计算大写字母的总数。我只需要 CAPSLOCK 中的字符总数,这意味着只有在单词中至少显示 2 个以下字母(例如,“GREEN”中的“GR”)时才会计算这些字符。

先感谢您。

0 投票
1 回答
315 浏览

javascript - 如何在 JavaScript 中检测 CapsLock 和其他非字母数字特殊修饰键?

如果不使用altKey, shiftKey, ctrlKey, 是否可以检测到它们包括CapsLock,TabSpace?

0 投票
3 回答
4082 浏览

javascript - 如何使用 angular.js 检测大写锁定是否打开/关闭

我需要一个帮助。我有一个密码文件验证,它只接受特殊字符。在输入密码时,如果用户输入任何大写字母,将显示大写锁定通知,当它关闭时,消息也应该显示。请在下面检查我现有的代码。

请帮我解决这个问题。

0 投票
2 回答
2941 浏览

python - python 3检测大写锁定状态

我一直在寻找一种方法来识别 Python 3 中 CAPS LOCK 的状态,我发现唯一适用的是Stack Overflow 中的一篇帖子,由 Abhijit 回答,说明:

您可以使用 ctypes 加载 user32.dll,然后使用 nVirtKey = VK_CAPITAL (0x14) 调用 GetKeyState

我已将此应用于我的脚本,但返回的值不是预期的 1/0,而是一个从不重复的长 9 数字序列。我不确定如何使用此值来返回 1/0、T/F 或任何要测试的真实值。

任何想法,无论是基于 Abhijit 的评论还是其他适用于 Python 3 的方法?非常感谢您的帮助,因为这让我发疯。