标签: capslock

如何在没有按键的情况下更改大写锁定状态

我正在使用按下Caps Lock键时激活的python程序,我希望能够在程序处于活动状态时打开/关闭大写锁定状态.

我尝试使用virtkey发送密钥,但它显然不起作用,因为密钥只是激活应用程序而不更改大写锁定状态.那么用python实现这一目标的最佳方法是什么?

我正在使用Ubuntu

python keyboard capslock

12
推荐指数
2
解决办法
7563
查看次数

如果尚未获得Caps Lock状态,并将其设置为on,我该怎么办?

我想就如何打开大写锁定一个具体的例子,如果它是关闭的.

我知道如何切换密钥,我一直在使用这个:

toolkit.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, Boolean.TRUE);
Run Code Online (Sandbox Code Playgroud)

这将改变键的状态,无论它是打开还是关闭.但我想确保它在应用程序开始时处于启用状态.

(最终目标是让键盘LED以某些顺序闪烁,如果我有一定的起始状态,效果会更好.)

java toggle capslock

10
推荐指数
1
解决办法
1万
查看次数

如何使用xset点亮Caps Lock指示灯?

我写了一个小fetchmail脚本来检查远程服务器并在我收到新邮件时播放音频文件.当邮件可用时我还想点亮我的一个键盘灯,但我遇到了问题.我可以点亮滚动锁定灯:

/usr/bin/xset led named "Scroll Lock"
Run Code Online (Sandbox Code Playgroud)

但我不能以同样的方式点亮Caps Lock:

/usr/bin/xset led named "Caps Lock"
Run Code Online (Sandbox Code Playgroud)

我尝试用数字(1-6)指定键,但尽管改变了神秘的'LED掩码'(用'xset q'可见),我看到灯没有变化.

这是否因为我将Caps Lock键映射为另一个Ctrl而被打破?

在〜/ .Xmodmap中我得到了:

keycode 66 = Control_L
clear Lock
add Control = Control_L
Run Code Online (Sandbox Code Playgroud)

我不想切换大写锁,只是光.有没有办法做到这一点?

进一步说明

这是在x86 kubuntu清晰机器上,但我稍后将迁移到debian.我在python守护程序中以非特权用户身份运行脚本.以root身份运行相同的脚本将不起作用,因为fetchmail是为我自己配置​​为用户的.最后,这都是在tmux会话中运行的.

当我开始这个过程时,我读到了关于setleds但它似乎仅限于非x会话中的终端.

以root身份登录并运行'setleds -D + caps </ dev/tty7'可以正常工作,但运行'sudo setleds -D + caps </ dev/tty7'会给我一个权限被拒绝错误.

xset命令似乎非常适合我的应用程序,它只是拒绝更改Caps Lock指示灯.

keyboard xserver capslock

9
推荐指数
1
解决办法
6516
查看次数

如何在Vimrc函数中检测大写锁定

在Vim中编辑代码时,我会在ALL CAPS中编写内容时使用大写锁定.但是,当我完成大写部分时,我常常忘记关闭大写锁定.这导致没有痛苦的结束(因为,即j向下移动,但J将当前行与下面的行连接).

通常,我想在退出插入模式时关闭大写锁定.如何在我的.vimrc中添加一些内容,以便在退出插入模式时关闭大写锁定?或者,如果我在退出插入模式时有大写锁定,我怎么能在我的.vimrc中添加一些内容以便它会提醒我(状态行?嘟嘟声?任何警报都没问题)?

谢谢!

vim capslock

8
推荐指数
1
解决办法
1913
查看次数

如何检查是否按下了大写锁定键?

好吧,在此之前被标记为可能重复,我已经尝试了以下代码:

Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK)
Run Code Online (Sandbox Code Playgroud)

它总是对我不利[见下文].有人可以确认这是否应该有效,我是在滥用它,或者它是否已被破坏?如果它实际上已经坏了,有没有人有更好的使用方法?

编辑:

好吧,刚刚发现了更多的东西.它似乎只是返回我的程序启动时的状态.如果我用它启动程序,它会打开,反之亦然.这是我的代码:

while (true) {
    boolean isOn = Toolkit.getDefaultToolkit().getLockingKeyState(
        KeyEvent.VK_CAPS_LOCK);
    System.out.println("Caps lock is now: " + (isOn ? "ON" : "off"));
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
    }
}
Run Code Online (Sandbox Code Playgroud)

而这总是打印出它开始的任何东西

(例如,如果我开始大写锁定,即使我立即将其关闭,它也会打印出来:

大写锁定现在是:开

大写锁定现在是:开

大写锁定现在是:开

大写锁定现在是:开

等等,如果我从它开始,它将打印出来,无论如何)

java capslock

8
推荐指数
1
解决办法
4359
查看次数

WinAPI:如何获得大写锁定状态?

如何开启或关闭Caps Lock?我试图搜索它,但我发现的是如何切换或打开/关闭它与我正在寻找的完全相反.

我试图在C++和Delphi中都这样做.
请帮忙

winapi state capslock

8
推荐指数
2
解决办法
2万
查看次数

如何防止用户使用大写锁定写入?

我真的不喜欢用Caps Lock写的人.除了厌恶之外,它还污损了整个应用程序.我想知道如何防止用户使用大写锁定编写所有字符.由于特殊名称和缩写,我无法强制所有文本为小写.我应该使用什么逻辑?

algorithm lowercase capslock

7
推荐指数
1
解决办法
401
查看次数

如何劫持Caps Lock键以进行剪切,复制,粘贴键盘操作

这是我想要完成的:

  1. 要复制,请按下并释放Caps LockONCE
  2. 要粘贴Caps Lock,请快速按下并释放TWICE
  3. 要剪切,请按Ctrl+Caps Lock

我想要这样做的原因通常是我发现自己向下看按下正确的X/C/V键,因为它们彼此相邻(至少在QWERTY键盘上).

如何在标准键盘(使用Windows)上执行此操作,以便它适用于整个系统,并且对所有应用程序(包括Windows资源管理器)都是透明的?如果使用标准键盘无法实现,您认为可以使用任何"可编程数字键盘"吗?

在上面,"透明"我的意思是"应用程序永远不应该知道这个键击被翻译.它只获得常规的Ctrl+ X/ C/ V代码,因此它没有任何问题".

PS.不确定所有适合此问题的标记,因此可以随意添加更多标记.

解决了.更新:感谢@Jonno_FTW向我介绍AutoHotKey.我通过在My Documents文件夹中的默认AutoHotKey.ahk文件中添加以下AHK脚本来管理所有这三个要求:

Ctrl & CapsLock::
  Send ^x
Return      
CapsLock::
If (A_PriorHotKey = A_ThisHotKey and A_TimeSincePriorHotkey < 1000)
  Send ^v
Else
  Send ^c
Return
Run Code Online (Sandbox Code Playgroud)

那很简单!

没有完全解决.更新: 上述工作在记事本中,但不在资源管理器(例如复制文件)或MS Office(甚至文本复制不起作用).因此,我需要更多地了解AutoHotKey或其他解决方案.当我找到解决方案时,会在这里发布解决方案 在此期间,如果有人可以让AutoHotKey为我需要的一切工作,请回复!

全部解决了.更新: 我所要做的就是将大写"C"/ X/Z改为小写"c"/ x/z.所以发送^ C成为发送^ c.它现在适用于包含Windows资源管理器的所有程序!修复上面的代码以反映此更改.

windows keyboard hook hotkeys capslock

6
推荐指数
1
解决办法
7248
查看次数

在页面加载(或类似)时检测大写锁定状态

在我的研究中,我发现了如何在按下大写键时检测大写锁定。但是,即使在未触摸键的情况下,我也想知道大写状态。

示例:alert(ui.Keyboard.capslock) // 将返回 true 或 false;

谢谢!

javascript keyboard capslock

6
推荐指数
1
解决办法
6221
查看次数

如何在 mac os x 中将 ESCAPE 键映射到 CAPS LOCK?

许多帖子询问如何将 CAPS LOCK 键映射到 ESC。我知道该怎么做,但是当我这样做时,我会失去大写锁定功能,因为 ESC 仍然映射到转义。我想将转义键交换为大写锁定键(按大写锁定键转义并按转义键大写锁定)。

没有通过 设置重新映射转义键:

keyboard macos escaping capslock

6
推荐指数
1
解决办法
1766
查看次数