我需要使用 C++ 获取 CAPS LOCK 的状态。我尝试使用 获取状态XkbGetIndicatorState
,但它不起作用。
有人能帮我吗?
我在同一个问题上苦苦挣扎,但对于 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");
试试下面的方法:
if ((GetKeyState(VK_CAPITAL) & 0x0001)!=0)
cout<<"Caps Lock ON!";
else
cout<<"Caps Lock OFF!";
或者(参考)
Use GetAsyncKeyState with VK_CAPITAL (0x14)