【问题标题】:How can i turn on the CAPS LOCK of a specific usb keyboard when multiple keyboards are connected连接多个键盘时如何打开特定 USB 键盘的 CAPS LOCK
【发布时间】:2013-07-15 00:52:59
【问题描述】:

我的电脑上连接了三个 USB 键盘。我想使用下面的代码激活特定键盘的大写锁定。问题是当我运行代码时,三个键盘的大写锁定都打开了。请帮忙!

import java.io.*;
import java.util.*;
import javax.comm.*;
import java.awt.*;
import java.awt.event.*;

public class TestKeys{

    public static void main(String ted[]){
        TestKeys c = new TestKeys();
        c.capslock(true);
    }

    public boolean capslock(boolean b){
        Toolkit tool = Toolkit.getDefaultToolkit();
        try{
            tool.setLockingKeyState(KeyEvent.VK_CAPS_LOCK,b);
        }
        catch(Exception e){
            return false;
        }
        return true;
    }
}

【问题讨论】:

    标签: java keyboard usb toolkit


    【解决方案1】:

    你不能。 Caps lock、num lock 和 scroll lock 在许多 BIOS 和操作系统上全局设置。

    在 Linux 或 Windows 上进行测试,点击硬件键来切换 caps lock、num lock 和 scroll lock,我的第二个键盘上也会切换它,因此可能无法以这种方式在软件中切换它。

    请注意,您不能禁用键盘或端口,执行此操作,然后重新启用它,因为它会涉及大量特定于操作系统的黑客,需要在 Linux 上使用 JNI 或 devfs。当端口重新启用时,重新连接的键盘仍将处于锁定状态,即使它们的指示灯指示其他情况。

    【讨论】:

    • 对我来说太糟糕了。我不能禁用其他两个键盘的端口/集线器(通过软件),然后运行代码吗?禁用其他端口不会阻止这两个键盘的通信吗?
    • @TedMad 这取决于操作系统。最有可能的是,并非没有很多低级黑客。此外,一旦重新连接键盘,即使他们的灯不接受,它们也会进入大写锁定状态。
    猜你喜欢
    • 2014-03-02
    • 2011-04-01
    • 1970-01-01
    • 2014-01-16
    • 2021-02-22
    • 1970-01-01
    • 2012-02-23
    • 2013-01-26
    相关资源
    最近更新 更多