-1

我需要使用 C++ 获取 CAPS LOCK 的状态。我尝试使用 获取状态XkbGetIndicatorState,但它不起作用。

有人能帮我吗?

4

2 回答 2

0

我在同一个问题上苦苦挣扎,但对于 NUM_LOCK 键状态。我修改了找到的代码,找到 CAPS_LOCK 状态:

这是代码,我希望这会有所帮助:

#include <X11/Xlib.h>


Display *dpy = XOpenDisplay(":0");
XKeyboardState x;
printf("led_mask=%lx\n", x.led_mask);
printf("NumLock is %s\n", (x.led_mask & 2) ? "On" : "Off");
printf("CapsLock is %s\n", (x.led_mask & 1) ? "On" : "Off");
于 2019-02-14T17:38:07.627 回答
-6

试试下面的方法:

if ((GetKeyState(VK_CAPITAL) & 0x0001)!=0)
  cout<<"Caps Lock ON!";
else
  cout<<"Caps Lock OFF!";

或者(参考

Use GetAsyncKeyState with VK_CAPITAL (0x14)
于 2015-04-20T15:03:29.140 回答