我需要使用C ++获取CAPS LOCK的状态。我试图使用XkbGetIndicatorState
获得状态,但它不起作用。
有人能帮我吗?
我正在努力解决同样的问题,但是对于NUM_LOCK Key状态。我修改了找到的代码,找到了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!";
或者(reference)
Use GetAsyncKeyState with VK_CAPITAL (0x14)